My Name Tag:
Not Available, login to update
[ Download CSV Export ]
Latest 1 internal transaction
Parent Txn Hash | Block | From | To | Value | |||
---|---|---|---|---|---|---|---|
0xd5cd39cdd597679b063a92bf6db37c1d566a501144d353aadb31dc84deb3990a | 36653882 | 291 days 22 hrs ago | Rubik Finance: Deployer | Contract Creation | 0 FTM |
[ Download CSV Export ]
Contract Name:
RebateTreasury
Compiler Version
v0.8.7+commit.e28d00a7
Contract Source Code (Solidity)
/** *Submitted for verification at FtmScan.com on 2022-04-21 */ // SPDX-License-Identifier: MIT // OpenZeppelin Contracts v4.4.1 (utils/Context.sol) pragma solidity ^0.8.0; /** * @dev Provides information about the current execution context, including the * sender of the transaction and its data. While these are generally available * via msg.sender and msg.data, they should not be accessed in such a direct * manner, since when dealing with meta-transactions the account sending and * paying for execution may not be the actual sender (as far as an application * is concerned). * * This contract is only required for intermediate, library-like contracts. */ abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } } // OpenZeppelin Contracts v4.4.1 (access/Ownable.sol) pragma solidity ^0.8.0; /** * @dev Contract module which provides a basic access control mechanism, where * there is an account (an owner) that can be granted exclusive access to * specific functions. * * By default, the owner account will be the one that deploys the contract. This * can later be changed with {transferOwnership}. * * This module is used through inheritance. It will make available the modifier * `onlyOwner`, which can be applied to your functions to restrict their use to * the owner. */ abstract contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev Initializes the contract setting the deployer as the initial owner. */ constructor() { _transferOwnership(_msgSender()); } /** * @dev Returns the address of the current owner. */ function owner() public view virtual returns (address) { return _owner; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(owner() == _msgSender(), "Ownable: caller is not the owner"); _; } /** * @dev Leaves the contract without owner. It will not be possible to call * `onlyOwner` functions anymore. Can only be called by the current owner. * * NOTE: Renouncing ownership will leave the contract without an owner, * thereby removing any functionality that is only available to the owner. */ function renounceOwnership() public virtual onlyOwner { _transferOwnership(address(0)); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Can only be called by the current owner. */ function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); _transferOwnership(newOwner); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Internal function without access restriction. */ function _transferOwnership(address newOwner) internal virtual { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } } // OpenZeppelin Contracts v4.4.1 (token/ERC20/IERC20.sol) pragma solidity ^0.8.0; /** * @dev Interface of the ERC20 standard as defined in the EIP. */ interface IERC20 { /** * @dev Returns the amount of tokens in existence. */ function totalSupply() external view returns (uint256); /** * @dev Returns the amount of tokens owned by `account`. */ function balanceOf(address account) external view returns (uint256); /** * @dev Moves `amount` tokens from the caller's account to `recipient`. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transfer(address recipient, uint256 amount) external returns (bool); /** * @dev Returns the remaining number of tokens that `spender` will be * allowed to spend on behalf of `owner` through {transferFrom}. This is * zero by default. * * This value changes when {approve} or {transferFrom} are called. */ function allowance(address owner, address spender) external view returns (uint256); /** * @dev Sets `amount` as the allowance of `spender` over the caller's tokens. * * Returns a boolean value indicating whether the operation succeeded. * * IMPORTANT: Beware that changing an allowance with this method brings the risk * that someone may use both the old and the new allowance by unfortunate * transaction ordering. One possible solution to mitigate this race * condition is to first reduce the spender's allowance to 0 and set the * desired value afterwards: * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * * Emits an {Approval} event. */ function approve(address spender, uint256 amount) external returns (bool); /** * @dev Moves `amount` tokens from `sender` to `recipient` using the * allowance mechanism. `amount` is then deducted from the caller's * allowance. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transferFrom( address sender, address recipient, uint256 amount ) external returns (bool); /** * @dev Emitted when `value` tokens are moved from one account (`from`) to * another (`to`). * * Note that `value` may be zero. */ event Transfer(address indexed from, address indexed to, uint256 value); /** * @dev Emitted when the allowance of a `spender` for an `owner` is set by * a call to {approve}. `value` is the new allowance. */ event Approval(address indexed owner, address indexed spender, uint256 value); } pragma solidity ^0.8.7; interface IOracle { function update() external; function consult(address _token, uint256 _amountIn) external view returns (uint144 amountOut); function twap(address _token, uint256 _amountIn) external view returns (uint144 _amountOut); } interface ITreasury { function epoch() external view returns (uint256); } interface IUniswapV2Pair { event Approval(address indexed owner, address indexed spender, uint value); event Transfer(address indexed from, address indexed to, uint value); function name() external pure returns (string memory); function symbol() external pure returns (string memory); function decimals() external pure returns (uint8); function totalSupply() external view returns (uint); function balanceOf(address owner) external view returns (uint); function allowance(address owner, address spender) external view returns (uint); function approve(address spender, uint value) external returns (bool); function transfer(address to, uint value) external returns (bool); function transferFrom(address from, address to, uint value) external returns (bool); function DOMAIN_SEPARATOR() external view returns (bytes32); function PERMIT_TYPEHASH() external pure returns (bytes32); function nonces(address owner) external view returns (uint); function permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s) external; event Mint(address indexed sender, uint amount0, uint amount1); event Burn(address indexed sender, uint amount0, uint amount1, address indexed to); event Swap( address indexed sender, uint amount0In, uint amount1In, uint amount0Out, uint amount1Out, address indexed to ); event Sync(uint112 reserve0, uint112 reserve1); function MINIMUM_LIQUIDITY() external pure returns (uint); function factory() external view returns (address); function token0() external view returns (address); function token1() external view returns (address); function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast); function price0CumulativeLast() external view returns (uint); function price1CumulativeLast() external view returns (uint); function kLast() external view returns (uint); function mint(address to) external returns (uint liquidity); function burn(address to) external returns (uint amount0, uint amount1); function swap(uint amount0Out, uint amount1Out, address to, bytes calldata data) external; function skim(address to) external; function sync() external; function initialize(address, address) external; } contract RebateTreasury is Ownable { struct Asset { bool isAdded; uint256 multiplier; address oracle; bool isLP; address pair; } struct VestingSchedule { uint256 amount; uint256 period; uint256 end; uint256 claimed; uint256 lastClaimed; } IERC20 public Rubik; IOracle public RubikOracle; ITreasury public Treasury; mapping (address => Asset) public assets; mapping (address => VestingSchedule) public vesting; uint256 public bondThreshold = 20 * 1e4; uint256 public bondFactor = 80 * 1e4; uint256 public secondaryThreshold = 70 * 1e4; uint256 public secondaryFactor = 15 * 1e4; uint256 public bondVesting = 3 days; uint256 public totalVested = 0; uint256 public lastBuyback; uint256 public buybackAmount = 100 * 1e4; address public constant WFTM = 0x21be370D5312f44cB42ce377BC9b8a0cEF1A4C83; uint256 public constant DENOMINATOR = 1e6; /* * --------- * MODIFIERS * --------- */ // Only allow a function to be called with a bondable asset modifier onlyAsset(address token) { require(assets[token].isAdded, "RebateTreasury: token is not a bondable asset"); _; } /* * ------------------ * EXTERNAL FUNCTIONS * ------------------ */ // Initialize parameters constructor(address rubik, address rubikOracle, address treasury) { Rubik = IERC20(rubik); RubikOracle = IOracle(rubikOracle); Treasury = ITreasury(treasury); } // Bond asset for discounted Rubik at bond rate function bond(address token, uint256 amount) external onlyAsset(token) { require(amount > 0, "RebateTreasury: invalid bond amount"); uint256 rubikAmount = getRubikReturn(token, amount); require(rubikAmount <= Rubik.balanceOf(address(this)) - totalVested, "RebateTreasury: insufficient rubik balance"); IERC20(token).transferFrom(msg.sender, address(this), amount); _claimVested(msg.sender); VestingSchedule storage schedule = vesting[msg.sender]; schedule.amount = schedule.amount - schedule.claimed + rubikAmount; schedule.period = bondVesting; schedule.end = block.timestamp + bondVesting; schedule.claimed = 0; schedule.lastClaimed = block.timestamp; totalVested += rubikAmount; } // Claim available Rubik rewards from bonding function claimRewards() external { _claimVested(msg.sender); } /* * -------------------- * RESTRICTED FUNCTIONS * -------------------- */ // Set Rubik token function setRubik(address rubik) external onlyOwner { Rubik = IERC20(rubik); } // Set Rubik oracle function setRubikOracle(address oracle) external onlyOwner { RubikOracle = IOracle(oracle); } // Set Rubik treasury function setTreasury(address treasury) external onlyOwner { Treasury = ITreasury(treasury); } // Set bonding parameters of token function setAsset( address token, bool isAdded, uint256 multiplier, address oracle, bool isLP, address pair ) external onlyOwner { assets[token].isAdded = isAdded; assets[token].multiplier = multiplier; assets[token].oracle = oracle; assets[token].isLP = isLP; assets[token].pair = pair; } // Set bond pricing parameters function setBondParameters( uint256 primaryThreshold, uint256 primaryFactor, uint256 secondThreshold, uint256 secondFactor, uint256 vestingPeriod ) external onlyOwner { bondThreshold = primaryThreshold; bondFactor = primaryFactor; secondaryThreshold = secondThreshold; secondaryFactor = secondFactor; bondVesting = vestingPeriod; } // Redeem assets for buyback under peg function redeemAssetsForBuyback(address[] calldata tokens) external onlyOwner { uint256 epoch = Treasury.epoch(); require(lastBuyback != epoch, "RebateTreasury: already bought back"); lastBuyback = epoch; for (uint256 t = 0; t < tokens.length; t ++) { require(assets[tokens[t]].isAdded, "RebateTreasury: invalid token"); IERC20 Token = IERC20(tokens[t]); Token.transfer(owner(), Token.balanceOf(address(this)) * buybackAmount / DENOMINATOR); } } /* * ------------------ * INTERNAL FUNCTIONS * ------------------ */ function _claimVested(address account) internal { VestingSchedule storage schedule = vesting[account]; if (schedule.amount == 0 || schedule.amount == schedule.claimed) return; if (block.timestamp <= schedule.lastClaimed || schedule.lastClaimed >= schedule.end) return; uint256 duration = (block.timestamp > schedule.end ? schedule.end : block.timestamp) - schedule.lastClaimed; uint256 claimable = schedule.amount * duration / schedule.period; if (claimable == 0) return; schedule.claimed += claimable; schedule.lastClaimed = block.timestamp > schedule.end ? schedule.end : block.timestamp; totalVested -= claimable; Rubik.transfer(account, claimable); } /* * -------------- * VIEW FUNCTIONS * -------------- */ // Calculate Rubik return of bonding amount of token function getRubikReturn(address token, uint256 amount) public view onlyAsset(token) returns (uint256) { uint256 rubikPrice = getRubikPrice(); uint256 tokenPrice = getTokenPrice(token); uint256 bondPremium = getBondPremium(); return amount * tokenPrice * (bondPremium + DENOMINATOR) * assets[token].multiplier / (DENOMINATOR * DENOMINATOR) / rubikPrice; } // Calculate premium for bonds based on bonding curve function getBondPremium() public view returns (uint256) { uint256 rubikPrice = getRubikPrice(); if (rubikPrice < 1e18) return 0; uint256 rubikPremium = rubikPrice * DENOMINATOR / 1e18 - DENOMINATOR; if (rubikPremium < bondThreshold) return 0; if (rubikPremium <= secondaryThreshold) { return (rubikPremium - bondThreshold) * bondFactor / DENOMINATOR; } else { uint256 primaryPremium = (secondaryThreshold - bondThreshold) * bondFactor / DENOMINATOR; return primaryPremium + (rubikPremium - secondaryThreshold) * secondaryFactor / DENOMINATOR; } } // Get REBEL price from Oracle function getRubikPrice() public view returns (uint256) { return RubikOracle.consult(address(Rubik), 1e18); } // Get token price from Oracle function getTokenPrice(address token) public view onlyAsset(token) returns (uint256) { Asset memory asset = assets[token]; IOracle Oracle = IOracle(asset.oracle); if (!asset.isLP) { return Oracle.consult(token, 1e18); } IUniswapV2Pair Pair = IUniswapV2Pair(asset.pair); uint256 totalPairSupply = Pair.totalSupply(); address token0 = Pair.token0(); address token1 = Pair.token1(); (uint256 reserve0, uint256 reserve1,) = Pair.getReserves(); if (token1 == WFTM) { uint256 tokenPrice = Oracle.consult(token0, 1e18); return tokenPrice * reserve0 / totalPairSupply + reserve1 * 1e18 / totalPairSupply; } else { uint256 tokenPrice = Oracle.consult(token1, 1e18); return tokenPrice * reserve1 / totalPairSupply + reserve0 * 1e18 / totalPairSupply; } } // Get claimable vested Rubik for account function claimableRubik(address account) external view returns (uint256) { VestingSchedule memory schedule = vesting[account]; if (block.timestamp <= schedule.lastClaimed || schedule.lastClaimed >= schedule.end) return 0; uint256 duration = (block.timestamp > schedule.end ? schedule.end : block.timestamp) - schedule.lastClaimed; return schedule.amount * duration / schedule.period; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"rubik","type":"address"},{"internalType":"address","name":"rubikOracle","type":"address"},{"internalType":"address","name":"treasury","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"inputs":[],"name":"DENOMINATOR","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"Rubik","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"RubikOracle","outputs":[{"internalType":"contract IOracle","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"Treasury","outputs":[{"internalType":"contract ITreasury","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"WFTM","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"assets","outputs":[{"internalType":"bool","name":"isAdded","type":"bool"},{"internalType":"uint256","name":"multiplier","type":"uint256"},{"internalType":"address","name":"oracle","type":"address"},{"internalType":"bool","name":"isLP","type":"bool"},{"internalType":"address","name":"pair","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"bond","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"bondFactor","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"bondThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"bondVesting","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buybackAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"claimRewards","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"claimableRubik","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getBondPremium","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getRubikPrice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"getRubikReturn","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"getTokenPrice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lastBuyback","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"tokens","type":"address[]"}],"name":"redeemAssetsForBuyback","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"secondaryFactor","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"secondaryThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"bool","name":"isAdded","type":"bool"},{"internalType":"uint256","name":"multiplier","type":"uint256"},{"internalType":"address","name":"oracle","type":"address"},{"internalType":"bool","name":"isLP","type":"bool"},{"internalType":"address","name":"pair","type":"address"}],"name":"setAsset","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"primaryThreshold","type":"uint256"},{"internalType":"uint256","name":"primaryFactor","type":"uint256"},{"internalType":"uint256","name":"secondThreshold","type":"uint256"},{"internalType":"uint256","name":"secondFactor","type":"uint256"},{"internalType":"uint256","name":"vestingPeriod","type":"uint256"}],"name":"setBondParameters","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"rubik","type":"address"}],"name":"setRubik","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"oracle","type":"address"}],"name":"setRubikOracle","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"treasury","type":"address"}],"name":"setTreasury","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"totalVested","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"vesting","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"period","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"},{"internalType":"uint256","name":"claimed","type":"uint256"},{"internalType":"uint256","name":"lastClaimed","type":"uint256"}],"stateMutability":"view","type":"function"}]
Contract Creation Code
608060405262030d40600655620c3500600755620aae60600855620249f06009556203f480600a556000600b55620f4240600d553480156200004057600080fd5b5060405162001c9038038062001c9083398101604081905262000063916200011e565b6200006e33620000b1565b600180546001600160a01b039485166001600160a01b03199182161790915560028054938516938216939093179092556003805491909316911617905562000168565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80516001600160a01b03811681146200011957600080fd5b919050565b6000806000606084860312156200013457600080fd5b6200013f8462000101565b92506200014f6020850162000101565b91506200015f6040850162000101565b90509250925092565b611b1880620001786000396000f3fe608060405234801561001057600080fd5b50600436106101e55760003560e01c806392bc9a6c1161010f578063d02641a0116100a2578063e388c42311610071578063e388c42314610399578063f0f44260146103fe578063f11b818814610411578063f2fde38b1461049a57600080fd5b8063d02641a014610361578063d411401d14610374578063d688763d1461037d578063db0a9c3d1461039057600080fd5b8063a515366a116100de578063a515366a1461032b578063b26df41c1461033e578063bf855e8714610351578063c31cbdeb1461035957600080fd5b806392bc9a6c146102df57806399a2faaf146102f25780639f882bd514610305578063a3a82e291461031857600080fd5b80635f390ec011610187578063715018a611610156578063715018a6146102b35780638da5cb5b146102bb578063918f8674146102cc5780639235f197146102d657600080fd5b80635f390ec01461027b578063613e98711461028e57806363fd7f49146102a157806367f77e9b146102aa57600080fd5b806333920e29116101c357806333920e291461024e578063372500ab146102575780633dd788a11461025f578063563df32f1461026857600080fd5b8063199cbc54146101ea57806321dbe8761461020657806324d17e3b14610239575b600080fd5b6101f3600b5481565b6040519081526020015b60405180910390f35b6102217321be370d5312f44cb42ce377bc9b8a0cef1a4c8381565b6040516001600160a01b0390911681526020016101fd565b61024c610247366004611741565b6104ad565b005b6101f3600a5481565b61024c610502565b6101f3600c5481565b600354610221906001600160a01b031681565b61024c610289366004611827565b61050d565b6101f361029c366004611741565b610831565b6101f360065481565b6101f360095481565b61024c6108fa565b6000546001600160a01b0316610221565b6101f3620f424081565b6101f360085481565b600254610221906001600160a01b031681565b61024c61030036600461194b565b61092e565b61024c610313366004611782565b61096f565b6101f36103263660046117fb565b610a0b565b61024c6103393660046117fb565b610ade565b61024c61034c366004611741565b610d72565b6101f3610dbe565b6101f3610ec8565b6101f361036f366004611741565b610f68565b6101f360075481565b600154610221906001600160a01b031681565b6101f3600d5481565b6103d66103a7366004611741565b600560205260009081526040902080546001820154600283015460038401546004909401549293919290919085565b604080519586526020860194909452928401919091526060830152608082015260a0016101fd565b61024c61040c366004611741565b611463565b61046261041f366004611741565b600460205260009081526040902080546001820154600283015460039093015460ff9283169391926001600160a01b0380841693600160a01b9004909116911685565b60408051951515865260208601949094526001600160a01b03928316938501939093521515606084015216608082015260a0016101fd565b61024c6104a8366004611741565b6114af565b6000546001600160a01b031633146104e05760405162461bcd60e51b81526004016104d7906119d3565b60405180910390fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b61050b3361154a565b565b6000546001600160a01b031633146105375760405162461bcd60e51b81526004016104d7906119d3565b6003546040805163900cf0cf60e01b815290516000926001600160a01b03169163900cf0cf916004808301926020929190829003018186803b15801561057c57600080fd5b505afa158015610590573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105b49190611932565b905080600c5414156106145760405162461bcd60e51b815260206004820152602360248201527f52656261746554726561737572793a20616c726561647920626f75676874206260448201526261636b60e81b60648201526084016104d7565b600c81905560005b8281101561082b576004600085858481811061063a5761063a611aa9565b905060200201602081019061064f9190611741565b6001600160a01b0316815260208101919091526040016000205460ff166106b85760405162461bcd60e51b815260206004820152601d60248201527f52656261746554726561737572793a20696e76616c696420746f6b656e00000060448201526064016104d7565b60008484838181106106cc576106cc611aa9565b90506020020160208101906106e19190611741565b9050806001600160a01b031663a9059cbb6107046000546001600160a01b031690565b600d546040516370a0823160e01b8152306004820152620f424091906001600160a01b038716906370a082319060240160206040518083038186803b15801561074c57600080fd5b505afa158015610760573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107849190611932565b61078e9190611a42565b6107989190611a20565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401602060405180830381600087803b1580156107de57600080fd5b505af11580156107f2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610816919061189c565b5050808061082390611a78565b91505061061c565b50505050565b6001600160a01b0381166000908152600560209081526040808320815160a081018352815481526001820154938101939093526002810154918301919091526003810154606083015260040154608082018190524211158061089b57508060400151816080015110155b156108a95750600092915050565b60008160800151826040015142116108c157426108c7565b82604001515b6108d19190611a61565b905081602001518183600001516108e89190611a42565b6108f29190611a20565b949350505050565b6000546001600160a01b031633146109245760405162461bcd60e51b81526004016104d7906119d3565b61050b60006116d5565b6000546001600160a01b031633146109585760405162461bcd60e51b81526004016104d7906119d3565b600694909455600792909255600855600955600a55565b6000546001600160a01b031633146109995760405162461bcd60e51b81526004016104d7906119d3565b6001600160a01b039586166000908152600460205260409020805460ff191695151595909517855560018501939093556002840180549286166001600160a81b031990931692909217600160a01b91151591909102179055600390910180546001600160a01b03191691909216179055565b6001600160a01b038216600090815260046020526040812054839060ff16610a455760405162461bcd60e51b81526004016104d790611986565b6000610a4f610ec8565b90506000610a5c86610f68565b90506000610a68610dbe565b905082610a78620f424080611a42565b6001600160a01b038916600090815260046020526040902060010154610aa1620f424085611a08565b610aab868b611a42565b610ab59190611a42565b610abf9190611a42565b610ac99190611a20565b610ad39190611a20565b979650505050505050565b6001600160a01b038216600090815260046020526040902054829060ff16610b185760405162461bcd60e51b81526004016104d790611986565b60008211610b745760405162461bcd60e51b815260206004820152602360248201527f52656261746554726561737572793a20696e76616c696420626f6e6420616d6f6044820152621d5b9d60ea1b60648201526084016104d7565b6000610b808484610a0b565b600b546001546040516370a0823160e01b815230600482015292935090916001600160a01b03909116906370a082319060240160206040518083038186803b158015610bcb57600080fd5b505afa158015610bdf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c039190611932565b610c0d9190611a61565b811115610c6f5760405162461bcd60e51b815260206004820152602a60248201527f52656261746554726561737572793a20696e73756666696369656e7420727562604482015269696b2062616c616e636560b01b60648201526084016104d7565b6040516323b872dd60e01b8152336004820152306024820152604481018490526001600160a01b038516906323b872dd90606401602060405180830381600087803b158015610cbd57600080fd5b505af1158015610cd1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cf5919061189c565b50610cff3361154a565b336000908152600560205260409020600381015481548391610d2091611a61565b610d2a9190611a08565b8155600a5460018201819055610d409042611a08565b6002820155600060038201819055426004830155600b8054849290610d66908490611a08565b90915550505050505050565b6000546001600160a01b03163314610d9c5760405162461bcd60e51b81526004016104d7906119d3565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b600080610dc9610ec8565b9050670de0b6b3a7640000811015610de357600091505090565b6000620f4240670de0b6b3a7640000610dfc8285611a42565b610e069190611a20565b610e109190611a61565b9050600654811015610e255760009250505090565b6008548111610e5e57620f424060075460065483610e439190611a61565b610e4d9190611a42565b610e579190611a20565b9250505090565b6000620f4240600754600654600854610e779190611a61565b610e819190611a42565b610e8b9190611a20565b9050620f424060095460085484610ea29190611a61565b610eac9190611a42565b610eb69190611a20565b610ec09082611a08565b935050505090565b600254600154604051633ddac95360e01b81526001600160a01b039182166004820152670de0b6b3a764000060248201526000929190911690633ddac9539060440160206040518083038186803b158015610f2257600080fd5b505afa158015610f36573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f5a9190611909565b6001600160901b0316905090565b6001600160a01b038116600090815260046020526040812054829060ff16610fa25760405162461bcd60e51b81526004016104d790611986565b6001600160a01b03808416600090815260046020908152604091829020825160a081018452815460ff908116151582526001830154938201939093526002820154808616948201859052600160a01b90049092161515606083018190526003909101549093166080820152916110ab57604051633ddac95360e01b81526001600160a01b038681166004830152670de0b6b3a76400006024830152821690633ddac9539060440160206040518083038186803b15801561106157600080fd5b505afa158015611075573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110999190611909565b6001600160901b03169350505061145d565b6000826080015190506000816001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b1580156110ef57600080fd5b505afa158015611103573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111279190611932565b90506000826001600160a01b0316630dfe16816040518163ffffffff1660e01b815260040160206040518083038186803b15801561116457600080fd5b505afa158015611178573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061119c9190611765565b90506000836001600160a01b031663d21220a76040518163ffffffff1660e01b815260040160206040518083038186803b1580156111d957600080fd5b505afa1580156111ed573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112119190611765565b9050600080856001600160a01b0316630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b15801561124f57600080fd5b505afa158015611263573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061128791906118b9565b506001600160701b0391821693501690506001600160a01b0383167321be370d5312f44cb42ce377bc9b8a0cef1a4c83141561139f57604051633ddac95360e01b81526001600160a01b038581166004830152670de0b6b3a7640000602483015260009190891690633ddac9539060440160206040518083038186803b15801561131057600080fd5b505afa158015611324573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113489190611909565b6001600160901b031690508561136683670de0b6b3a7640000611a42565b6113709190611a20565b8661137b8584611a42565b6113859190611a20565b61138f9190611a08565b9a5050505050505050505061145d565b604051633ddac95360e01b81526001600160a01b038481166004830152670de0b6b3a7640000602483015260009190891690633ddac9539060440160206040518083038186803b1580156113f257600080fd5b505afa158015611406573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061142a9190611909565b6001600160901b031690508561144884670de0b6b3a7640000611a42565b6114529190611a20565b8661137b8484611a42565b50919050565b6000546001600160a01b0316331461148d5760405162461bcd60e51b81526004016104d7906119d3565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146114d95760405162461bcd60e51b81526004016104d7906119d3565b6001600160a01b03811661153e5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016104d7565b611547816116d5565b50565b6001600160a01b038116600090815260056020526040902080541580611574575060038101548154145b1561157d575050565b80600401544211158061159857508060020154816004015410155b156115a1575050565b60008160040154826002015442116115b957426115bf565b82600201545b6115c99190611a61565b9050600082600101548284600001546115e29190611a42565b6115ec9190611a20565b9050806115f95750505050565b8083600301600082825461160d9190611a08565b9091555050600283015442116116235742611629565b82600201545b836004018190555080600b60008282546116439190611a61565b909155505060015460405163a9059cbb60e01b81526001600160a01b038681166004830152602482018490529091169063a9059cbb90604401602060405180830381600087803b15801561169657600080fd5b505af11580156116aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116ce919061189c565b5050505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80516001600160701b038116811461173c57600080fd5b919050565b60006020828403121561175357600080fd5b813561175e81611abf565b9392505050565b60006020828403121561177757600080fd5b815161175e81611abf565b60008060008060008060c0878903121561179b57600080fd5b86356117a681611abf565b955060208701356117b681611ad4565b94506040870135935060608701356117cd81611abf565b925060808701356117dd81611ad4565b915060a08701356117ed81611abf565b809150509295509295509295565b6000806040838503121561180e57600080fd5b823561181981611abf565b946020939093013593505050565b6000806020838503121561183a57600080fd5b823567ffffffffffffffff8082111561185257600080fd5b818501915085601f83011261186657600080fd5b81358181111561187557600080fd5b8660208260051b850101111561188a57600080fd5b60209290920196919550909350505050565b6000602082840312156118ae57600080fd5b815161175e81611ad4565b6000806000606084860312156118ce57600080fd5b6118d784611725565b92506118e560208501611725565b9150604084015163ffffffff811681146118fe57600080fd5b809150509250925092565b60006020828403121561191b57600080fd5b81516001600160901b038116811461175e57600080fd5b60006020828403121561194457600080fd5b5051919050565b600080600080600060a0868803121561196357600080fd5b505083359560208501359550604085013594606081013594506080013592509050565b6020808252602d908201527f52656261746554726561737572793a20746f6b656e206973206e6f742061206260408201526c1bdb9918589b1948185cdcd95d609a1b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60008219821115611a1b57611a1b611a93565b500190565b600082611a3d57634e487b7160e01b600052601260045260246000fd5b500490565b6000816000190483118215151615611a5c57611a5c611a93565b500290565b600082821015611a7357611a73611a93565b500390565b6000600019821415611a8c57611a8c611a93565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6001600160a01b038116811461154757600080fd5b801515811461154757600080fdfea264697066735822122051200a7868216227c51acacd761d481a38334006f9add372f07faf7bfd64cf9764736f6c63430008070033000000000000000000000000a4db7f3b07c7bf1b5e8283bf9e8aa889569fc2e70000000000000000000000000e0d5e5f7411737ad598ad1553b7b811485822e500000000000000000000000065767a3eb149fefb9af0dc91d79983b7bb6a3cb0
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000a4db7f3b07c7bf1b5e8283bf9e8aa889569fc2e70000000000000000000000000e0d5e5f7411737ad598ad1553b7b811485822e500000000000000000000000065767a3eb149fefb9af0dc91d79983b7bb6a3cb0
-----Decoded View---------------
Arg [0] : rubik (address): 0xa4db7f3b07c7bf1b5e8283bf9e8aa889569fc2e7
Arg [1] : rubikOracle (address): 0x0e0d5e5f7411737ad598ad1553b7b811485822e5
Arg [2] : treasury (address): 0x65767a3eb149fefb9af0dc91d79983b7bb6a3cb0
-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 000000000000000000000000a4db7f3b07c7bf1b5e8283bf9e8aa889569fc2e7
Arg [1] : 0000000000000000000000000e0d5e5f7411737ad598ad1553b7b811485822e5
Arg [2] : 00000000000000000000000065767a3eb149fefb9af0dc91d79983b7bb6a3cb0
Deployed ByteCode Sourcemap
9005:8518:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9797:30;;;;;;;;;9488:25:1;;;9476:2;9461:18;9797:30:0;;;;;;;;9918:73;;9949:42;9918:73;;;;;-1:-1:-1;;;;;4361:32:1;;;4343:51;;4331:2;4316:18;9918:73:0;4197:203:1;11816:92:0;;;;;;:::i;:::-;;:::i;:::-;;9755:35;;;;;;11596:76;;;:::i;9836:26::-;;;;;;9424:25;;;;;-1:-1:-1;;;;;9424:25:0;;;13181:538;;;;;;:::i;:::-;;:::i;17092:426::-;;;;;;:::i;:::-;;:::i;9565:39::-;;;;;;9705:41;;;;;;2532:103;;;:::i;1881:87::-;1927:7;1954:6;-1:-1:-1;;;;;1954:6:0;1881:87;;9998:41;;10036:3;9998:41;;9654:44;;;;;;9391:26;;;;;-1:-1:-1;;;;;9391:26:0;;;12696:431;;;;;;:::i;:::-;;:::i;12252:398::-;;;;;;:::i;:::-;;:::i;14736:395::-;;;;;;:::i;:::-;;:::i;10735:800::-;;;;;;:::i;:::-;;:::i;11943:107::-;;;;;;:::i;:::-;;:::i;15200:655::-;;;:::i;15901:122::-;;;:::i;16069:966::-;;;;;;:::i;:::-;;:::i;9611:36::-;;;;;;9365:19;;;;;-1:-1:-1;;;;;9365:19:0;;;9869:40;;;;;;9505:51;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9783:25:1;;;9839:2;9824:18;;9817:34;;;;9867:18;;;9860:34;;;;9925:2;9910:18;;9903:34;9968:3;9953:19;;9946:35;9770:3;9755:19;9505:51:0;9524:463:1;12087:107:0;;;;;;:::i;:::-;;:::i;9458:40::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9458:40:0;;;;-1:-1:-1;;;9458:40:0;;;;;;;;;;;;;5641:14:1;;5634:22;5616:41;;5688:2;5673:18;;5666:34;;;;-1:-1:-1;;;;;5774:15:1;;;5754:18;;;5747:43;;;;5833:14;5826:22;5821:2;5806:18;;5799:50;5886:15;5880:3;5865:19;;5858:44;5603:3;5588:19;9458:40:0;5369:539:1;2790:201:0;;;;;;:::i;:::-;;:::i;11816:92::-;1927:7;1954:6;-1:-1:-1;;;;;1954:6:0;740:10;2101:23;2093:68;;;;-1:-1:-1;;;2093:68:0;;;;;;;:::i;:::-;;;;;;;;;11879:5:::1;:21:::0;;-1:-1:-1;;;;;;11879:21:0::1;-1:-1:-1::0;;;;;11879:21:0;;;::::1;::::0;;;::::1;::::0;;11816:92::o;11596:76::-;11640:24;11653:10;11640:12;:24::i;:::-;11596:76::o;13181:538::-;1927:7;1954:6;-1:-1:-1;;;;;1954:6:0;740:10;2101:23;2093:68;;;;-1:-1:-1;;;2093:68:0;;;;;;;:::i;:::-;13288:8:::1;::::0;:16:::1;::::0;;-1:-1:-1;;;13288:16:0;;;;13272:13:::1;::::0;-1:-1:-1;;;;;13288:8:0::1;::::0;:14:::1;::::0;:16:::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;:8;:16;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13272:32;;13338:5;13323:11;;:20;;13315:68;;;::::0;-1:-1:-1;;;13315:68:0;;8375:2:1;13315:68:0::1;::::0;::::1;8357:21:1::0;8414:2;8394:18;;;8387:30;8453:34;8433:18;;;8426:62;-1:-1:-1;;;8504:18:1;;;8497:33;8547:19;;13315:68:0::1;8173:399:1::0;13315:68:0::1;13394:11;:19:::0;;;13431:9:::1;13426:286;13446:17:::0;;::::1;13426:286;;;13494:6;:17;13501:6;;13508:1;13501:9;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;13494:17:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;13494:17:0;:25;::::1;;13486:67;;;::::0;-1:-1:-1;;;13486:67:0;;7192:2:1;13486:67:0::1;::::0;::::1;7174:21:1::0;7231:2;7211:18;;;7204:30;7270:31;7250:18;;;7243:59;7319:18;;13486:67:0::1;6990:353:1::0;13486:67:0::1;13568:12;13590:6;;13597:1;13590:9;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;13568:32;;13615:5;-1:-1:-1::0;;;;;13615:14:0::1;;13630:7;1927::::0;1954:6;-1:-1:-1;;;;;1954:6:0;;1881:87;13630:7:::1;13672:13;::::0;13639:30:::1;::::0;-1:-1:-1;;;13639:30:0;;13663:4:::1;13639:30;::::0;::::1;4343:51:1::0;10036:3:0::1;::::0;13672:13;-1:-1:-1;;;;;13639:15:0;::::1;::::0;::::1;::::0;4316:18:1;;13639:30:0::1;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:46;;;;:::i;:::-;:60;;;;:::i;:::-;13615:85;::::0;-1:-1:-1;;;;;;13615:85:0::1;::::0;;;;;;-1:-1:-1;;;;;5003:32:1;;;13615:85:0::1;::::0;::::1;4985:51:1::0;5052:18;;;5045:34;4958:18;;13615:85:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;13471:241;13465:4;;;;;:::i;:::-;;;;13426:286;;;;13259:460;13181:538:::0;;:::o;17092:426::-;-1:-1:-1;;;;;17210:16:0;;17156:7;17210:16;;;:7;:16;;;;;;;;17176:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17241:15;:39;;;:79;;;17308:8;:12;;;17284:8;:20;;;:36;;17241:79;17237:93;;;-1:-1:-1;17329:1:0;;17092:426;-1:-1:-1;;17092:426:0:o;17237:93::-;17341:16;17428:8;:20;;;17379:8;:12;;;17361:15;:30;:63;;17409:15;17361:63;;;17394:8;:12;;;17361:63;17360:88;;;;:::i;:::-;17341:107;;17495:8;:15;;;17484:8;17466;:15;;;:26;;;;:::i;:::-;:44;;;;:::i;:::-;17459:51;17092:426;-1:-1:-1;;;;17092:426:0:o;2532:103::-;1927:7;1954:6;-1:-1:-1;;;;;1954:6:0;740:10;2101:23;2093:68;;;;-1:-1:-1;;;2093:68:0;;;;;;;:::i;:::-;2597:30:::1;2624:1;2597:18;:30::i;12696:431::-:0;1927:7;1954:6;-1:-1:-1;;;;;1954:6:0;740:10;2101:23;2093:68;;;;-1:-1:-1;;;2093:68:0;;;;;;;:::i;:::-;12924:13:::1;:32:::0;;;;12967:10:::1;:26:::0;;;;13004:18:::1;:36:::0;13051:15:::1;:30:::0;13092:11:::1;:27:::0;12696:431::o;12252:398::-;1927:7;1954:6;-1:-1:-1;;;;;1954:6:0;740:10;2101:23;2093:68;;;;-1:-1:-1;;;2093:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;12451:13:0;;::::1;;::::0;;;:6:::1;:13;::::0;;;;:31;;-1:-1:-1;;12451:31:0::1;::::0;::::1;;::::0;;;::::1;::::0;;-1:-1:-1;12493:24:0;::::1;:37:::0;;;;12541:20:::1;::::0;::::1;:29:::0;;;;::::1;-1:-1:-1::0;;;;;;12581:25:0;;;;;;;-1:-1:-1;;;12581:25:0;::::1;;::::0;;;::::1;;::::0;;12617:18:::1;::::0;;::::1;:25:::0;;-1:-1:-1;;;;;;12617:25:0::1;::::0;;;::::1;;::::0;;12252:398::o;14736:395::-;-1:-1:-1;;;;;10245:13:0;;14829:7;10245:13;;;:6;:13;;;;;:21;14813:5;;10245:21;;10237:79;;;;-1:-1:-1;;;10237:79:0;;;;;;;:::i;:::-;14849:18:::1;14870:15;:13;:15::i;:::-;14849:36;;14896:18;14917:20;14931:5;14917:13;:20::i;:::-;14896:41;;14948:19;14970:16;:14;:16::i;:::-;14948:38:::0;-1:-1:-1;15113:10:0;15084:25:::1;10036:3;::::0;15084:25:::1;:::i;:::-;-1:-1:-1::0;;;;;15056:13:0;::::1;;::::0;;;:6:::1;:13;::::0;;;;:24:::1;;::::0;15027:25:::1;10036:3;15027:11:::0;:25:::1;:::i;:::-;15004:19;15013:10:::0;15004:6;:19:::1;:::i;:::-;:49;;;;:::i;:::-;:76;;;;:::i;:::-;:106;;;;:::i;:::-;:119;;;;:::i;:::-;14997:126:::0;14736:395;-1:-1:-1;;;;;;;14736:395:0:o;10735:800::-;-1:-1:-1;;;;;10245:13:0;;;;;;:6;:13;;;;;:21;10799:5;;10245:21;;10237:79;;;;-1:-1:-1;;;10237:79:0;;;;;;;:::i;:::-;10834:1:::1;10825:6;:10;10817:58;;;::::0;-1:-1:-1;;;10817:58:0;;9140:2:1;10817:58:0::1;::::0;::::1;9122:21:1::0;9179:2;9159:18;;;9152:30;9218:34;9198:18;;;9191:62;-1:-1:-1;;;9269:18:1;;;9262:33;9312:19;;10817:58:0::1;8938:399:1::0;10817:58:0::1;10886:19;10908:29;10923:5;10930:6;10908:14;:29::i;:::-;11004:11;::::0;10971:5:::1;::::0;:30:::1;::::0;-1:-1:-1;;;10971:30:0;;10995:4:::1;10971:30;::::0;::::1;4343:51:1::0;10886::0;;-1:-1:-1;11004:11:0;;-1:-1:-1;;;;;10971:5:0;;::::1;::::0;:15:::1;::::0;4316:18:1;;10971:30:0::1;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:44;;;;:::i;:::-;10956:11;:59;;10948:114;;;::::0;-1:-1:-1;;;10948:114:0;;7964:2:1;10948:114:0::1;::::0;::::1;7946:21:1::0;8003:2;7983:18;;;7976:30;8042:34;8022:18;;;8015:62;-1:-1:-1;;;8093:18:1;;;8086:40;8143:19;;10948:114:0::1;7762:406:1::0;10948:114:0::1;11075:61;::::0;-1:-1:-1;;;11075:61:0;;11102:10:::1;11075:61;::::0;::::1;4645:34:1::0;11122:4:0::1;4695:18:1::0;;;4688:43;4747:18;;;4740:34;;;-1:-1:-1;;;;;11075:26:0;::::1;::::0;::::1;::::0;4580:18:1;;11075:61:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;11147:24;11160:10;11147:12;:24::i;:::-;11227:10;11184:32;11219:19:::0;;;:7:::1;:19;::::0;;;;11285:16:::1;::::0;::::1;::::0;11267:15;;11304:11;;11267:34:::1;::::0;::::1;:::i;:::-;:48;;;;:::i;:::-;11249:66:::0;;11344:11:::1;::::0;11326:15:::1;::::0;::::1;:29:::0;;;11381::::1;::::0;:15:::1;:29;:::i;:::-;11366:12;::::0;::::1;:44:::0;11440:1:::1;11421:16;::::0;::::1;:20:::0;;;11475:15:::1;11452:20;::::0;::::1;:38:::0;11501:11:::1;:26:::0;;11516:11;;11440:1;11501:26:::1;::::0;11516:11;;11501:26:::1;:::i;:::-;::::0;;;-1:-1:-1;;;;;;;10735:800:0:o;11943:107::-;1927:7;1954:6;-1:-1:-1;;;;;1954:6:0;740:10;2101:23;2093:68;;;;-1:-1:-1;;;2093:68:0;;;;;;;:::i;:::-;12013:11:::1;:29:::0;;-1:-1:-1;;;;;;12013:29:0::1;-1:-1:-1::0;;;;;12013:29:0;;;::::1;::::0;;;::::1;::::0;;11943:107::o;15200:655::-;15247:7;15267:18;15288:15;:13;:15::i;:::-;15267:36;;15331:4;15318:10;:17;15314:31;;;15344:1;15337:8;;;15200:655;:::o;15314:31::-;15358:20;10036:3;15408:4;15381:24;10036:3;15381:10;:24;:::i;:::-;:31;;;;:::i;:::-;:45;;;;:::i;:::-;15358:68;;15456:13;;15441:12;:28;15437:42;;;15478:1;15471:8;;;;15200:655;:::o;15437:42::-;15510:18;;15494:12;:34;15490:358;;10036:3;15585:10;;15568:13;;15553:12;:28;;;;:::i;:::-;15552:43;;;;:::i;:::-;:57;;;;:::i;:::-;15545:64;;;;15200:655;:::o;15490:358::-;15642:22;10036:3;15706:10;;15689:13;;15668:18;;:34;;;;:::i;:::-;15667:49;;;;:::i;:::-;:63;;;;:::i;:::-;15642:88;;10036:3;15807:15;;15785:18;;15770:12;:33;;;;:::i;:::-;15769:53;;;;:::i;:::-;:67;;;;:::i;:::-;15752:84;;:14;:84;:::i;:::-;15745:91;;;;;15200:655;:::o;15901:122::-;15974:11;;;16002:5;15974:41;;-1:-1:-1;;;15974:41:0;;-1:-1:-1;;;;;16002:5:0;;;15974:41;;;4985:51:1;16010:4:0;5052:18:1;;;5045:34;15947:7:0;;15974:11;;;;;:19;;4958:18:1;;15974:41:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;15967:48:0;;;15901:122;:::o;16069:966::-;-1:-1:-1;;;;;10245:13:0;;16145:7;10245:13;;;:6;:13;;;;;:21;16129:5;;10245:21;;10237:79;;;;-1:-1:-1;;;10237:79:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;16186:13:0;;::::1;16165:18;16186:13:::0;;;:6:::1;:13;::::0;;;;;;;;16165:34;;::::1;::::0;::::1;::::0;;;;::::1;::::0;;::::1;;;::::0;;;;::::1;::::0;;;::::1;::::0;;;;::::1;::::0;::::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;;;16165:34:0;::::1;::::0;;::::1;;;::::0;;;;;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;;;16259:78:::1;;16298:27;::::0;-1:-1:-1;;;16298:27:0;;-1:-1:-1;;;;;5003:32:1;;;16298:27:0::1;::::0;::::1;4985:51:1::0;16320:4:0::1;5052:18:1::0;;;5045:34;16298:14:0;::::1;::::0;::::1;::::0;4958:18:1;;16298:27:0::1;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;16291:34:0::1;;;;;;;16259:78;16349:19;16386:5;:10;;;16349:48;;16408:23;16434:4;-1:-1:-1::0;;;;;16434:16:0::1;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16408:44;;16463:14;16480:4;-1:-1:-1::0;;;;;16480:11:0::1;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16463:30;;16504:14;16521:4;-1:-1:-1::0;;;;;16521:11:0::1;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16504:30;;16546:16;16564::::0;16585:4:::1;-1:-1:-1::0;;;;;16585:16:0::1;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;;16545:58:0;;::::1;::::0;-1:-1:-1;16545:58:0::1;::::0;-1:-1:-1;;;;;;16620:14:0;::::1;9949:42;16620:14;16616:412;;;16672:28;::::0;-1:-1:-1;;;16672:28:0;;-1:-1:-1;;;;;5003:32:1;;;16672:28:0::1;::::0;::::1;4985:51:1::0;16695:4:0::1;5052:18:1::0;;;5045:34;16651:18:0::1;::::0;16672:14;;::::1;::::0;::::1;::::0;4958:18:1;;16672:28:0::1;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;16651:49:0::1;::::0;-1:-1:-1;16802:15:0;16784::::1;:8:::0;16795:4:::1;16784:15;:::i;:::-;:33;;;;:::i;:::-;16746:15:::0;16722:21:::1;16735:8:::0;16722:10;:21:::1;:::i;:::-;:39;;;;:::i;:::-;:95;;;;:::i;:::-;16715:102;;;;;;;;;;;;;16616:412;16871:28;::::0;-1:-1:-1;;;16871:28:0;;-1:-1:-1;;;;;5003:32:1;;;16871:28:0::1;::::0;::::1;4985:51:1::0;16894:4:0::1;5052:18:1::0;;;5045:34;16850:18:0::1;::::0;16871:14;;::::1;::::0;::::1;::::0;4958:18:1;;16871:28:0::1;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;16850:49:0::1;::::0;-1:-1:-1;17001:15:0;16983::::1;:8:::0;16994:4:::1;16983:15;:::i;:::-;:33;;;;:::i;:::-;16945:15:::0;16921:21:::1;16934:8:::0;16921:10;:21:::1;:::i;10327:1::-;16069:966:::0;;;;:::o;12087:107::-;1927:7;1954:6;-1:-1:-1;;;;;1954:6:0;740:10;2101:23;2093:68;;;;-1:-1:-1;;;2093:68:0;;;;;;;:::i;:::-;12156:8:::1;:30:::0;;-1:-1:-1;;;;;;12156:30:0::1;-1:-1:-1::0;;;;;12156:30:0;;;::::1;::::0;;;::::1;::::0;;12087:107::o;2790:201::-;1927:7;1954:6;-1:-1:-1;;;;;1954:6:0;740:10;2101:23;2093:68;;;;-1:-1:-1;;;2093:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;2879:22:0;::::1;2871:73;;;::::0;-1:-1:-1;;;2871:73:0;;6785:2:1;2871:73:0::1;::::0;::::1;6767:21:1::0;6824:2;6804:18;;;6797:30;6863:34;6843:18;;;6836:62;-1:-1:-1;;;6914:18:1;;;6907:36;6960:19;;2871:73:0::1;6583:402:1::0;2871:73:0::1;2955:28;2974:8;2955:18;:28::i;:::-;2790:201:::0;:::o;13827:753::-;-1:-1:-1;;;;;13921:16:0;;13886:32;13921:16;;;:7;:16;;;;;13952:15;;:20;;:59;;-1:-1:-1;13995:16:0;;;;13976:15;;:35;13952:59;13948:72;;;14013:7;13827:753;:::o;13948:72::-;14053:8;:20;;;14034:15;:39;;:79;;;;14101:8;:12;;;14077:8;:20;;;:36;;14034:79;14030:92;;;14115:7;13827:753;:::o;14030:92::-;14134:16;14221:8;:20;;;14172:8;:12;;;14154:15;:30;:63;;14202:15;14154:63;;;14187:8;:12;;;14154:63;14153:88;;;;:::i;:::-;14134:107;;14252:17;14301:8;:15;;;14290:8;14272;:15;;;:26;;;;:::i;:::-;:44;;;;:::i;:::-;14252:64;-1:-1:-1;14331:14:0;14327:27;;14347:7;;;13827:753;:::o;14327:27::-;14386:9;14366:8;:16;;;:29;;;;;;;:::i;:::-;;;;-1:-1:-1;;14447:12:0;;;;14429:15;:30;:63;;14477:15;14429:63;;;14462:8;:12;;;14429:63;14406:8;:20;;:86;;;;14518:9;14503:11;;:24;;;;;;;:::i;:::-;;;;-1:-1:-1;;14538:5:0;;:34;;-1:-1:-1;;;14538:34:0;;-1:-1:-1;;;;;5003:32:1;;;14538:34:0;;;4985:51:1;5052:18;;;5045:34;;;14538:5:0;;;;:14;;4958:18:1;;14538:34:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;13875:705;;;13827:753;:::o;3151:191::-;3225:16;3244:6;;-1:-1:-1;;;;;3261:17:0;;;-1:-1:-1;;;;;;3261:17:0;;;;;;3294:40;;3244:6;;;;;;;3294:40;;3225:16;3294:40;3214:128;3151:191;:::o;14:188:1:-;93:13;;-1:-1:-1;;;;;135:42:1;;125:53;;115:81;;192:1;189;182:12;115:81;14:188;;;:::o;207:247::-;266:6;319:2;307:9;298:7;294:23;290:32;287:52;;;335:1;332;325:12;287:52;374:9;361:23;393:31;418:5;393:31;:::i;:::-;443:5;207:247;-1:-1:-1;;;207:247:1:o;459:251::-;529:6;582:2;570:9;561:7;557:23;553:32;550:52;;;598:1;595;588:12;550:52;630:9;624:16;649:31;674:5;649:31;:::i;715:870::-;813:6;821;829;837;845;853;906:3;894:9;885:7;881:23;877:33;874:53;;;923:1;920;913:12;874:53;962:9;949:23;981:31;1006:5;981:31;:::i;:::-;1031:5;-1:-1:-1;1088:2:1;1073:18;;1060:32;1101:30;1060:32;1101:30;:::i;:::-;1150:7;-1:-1:-1;1204:2:1;1189:18;;1176:32;;-1:-1:-1;1260:2:1;1245:18;;1232:32;1273:33;1232:32;1273:33;:::i;:::-;1325:7;-1:-1:-1;1384:3:1;1369:19;;1356:33;1398:30;1356:33;1398:30;:::i;:::-;1447:7;-1:-1:-1;1506:3:1;1491:19;;1478:33;1520;1478;1520;:::i;:::-;1572:7;1562:17;;;715:870;;;;;;;;:::o;1590:315::-;1658:6;1666;1719:2;1707:9;1698:7;1694:23;1690:32;1687:52;;;1735:1;1732;1725:12;1687:52;1774:9;1761:23;1793:31;1818:5;1793:31;:::i;:::-;1843:5;1895:2;1880:18;;;;1867:32;;-1:-1:-1;;;1590:315:1:o;1910:615::-;1996:6;2004;2057:2;2045:9;2036:7;2032:23;2028:32;2025:52;;;2073:1;2070;2063:12;2025:52;2113:9;2100:23;2142:18;2183:2;2175:6;2172:14;2169:34;;;2199:1;2196;2189:12;2169:34;2237:6;2226:9;2222:22;2212:32;;2282:7;2275:4;2271:2;2267:13;2263:27;2253:55;;2304:1;2301;2294:12;2253:55;2344:2;2331:16;2370:2;2362:6;2359:14;2356:34;;;2386:1;2383;2376:12;2356:34;2439:7;2434:2;2424:6;2421:1;2417:14;2413:2;2409:23;2405:32;2402:45;2399:65;;;2460:1;2457;2450:12;2399:65;2491:2;2483:11;;;;;2513:6;;-1:-1:-1;1910:615:1;;-1:-1:-1;;;;1910:615:1:o;2530:245::-;2597:6;2650:2;2638:9;2629:7;2625:23;2621:32;2618:52;;;2666:1;2663;2656:12;2618:52;2698:9;2692:16;2717:28;2739:5;2717:28;:::i;2780:450::-;2867:6;2875;2883;2936:2;2924:9;2915:7;2911:23;2907:32;2904:52;;;2952:1;2949;2942:12;2904:52;2975:40;3005:9;2975:40;:::i;:::-;2965:50;;3034:49;3079:2;3068:9;3064:18;3034:49;:::i;:::-;3024:59;;3126:2;3115:9;3111:18;3105:25;3170:10;3163:5;3159:22;3152:5;3149:33;3139:61;;3196:1;3193;3186:12;3139:61;3219:5;3209:15;;;2780:450;;;;;:::o;3235:309::-;3305:6;3358:2;3346:9;3337:7;3333:23;3329:32;3326:52;;;3374:1;3371;3364:12;3326:52;3406:9;3400:16;-1:-1:-1;;;;;3449:5:1;3445:50;3438:5;3435:61;3425:89;;3510:1;3507;3500:12;3549:184;3619:6;3672:2;3660:9;3651:7;3647:23;3643:32;3640:52;;;3688:1;3685;3678:12;3640:52;-1:-1:-1;3711:16:1;;3549:184;-1:-1:-1;3549:184:1:o;3738:454::-;3833:6;3841;3849;3857;3865;3918:3;3906:9;3897:7;3893:23;3889:33;3886:53;;;3935:1;3932;3925:12;3886:53;-1:-1:-1;;3958:23:1;;;4028:2;4013:18;;4000:32;;-1:-1:-1;4079:2:1;4064:18;;4051:32;;4130:2;4115:18;;4102:32;;-1:-1:-1;4181:3:1;4166:19;4153:33;;-1:-1:-1;3738:454:1;-1:-1:-1;3738:454:1:o;7348:409::-;7550:2;7532:21;;;7589:2;7569:18;;;7562:30;7628:34;7623:2;7608:18;;7601:62;-1:-1:-1;;;7694:2:1;7679:18;;7672:43;7747:3;7732:19;;7348:409::o;8577:356::-;8779:2;8761:21;;;8798:18;;;8791:30;8857:34;8852:2;8837:18;;8830:62;8924:2;8909:18;;8577:356::o;9992:128::-;10032:3;10063:1;10059:6;10056:1;10053:13;10050:39;;;10069:18;;:::i;:::-;-1:-1:-1;10105:9:1;;9992:128::o;10125:217::-;10165:1;10191;10181:132;;10235:10;10230:3;10226:20;10223:1;10216:31;10270:4;10267:1;10260:15;10298:4;10295:1;10288:15;10181:132;-1:-1:-1;10327:9:1;;10125:217::o;10347:168::-;10387:7;10453:1;10449;10445:6;10441:14;10438:1;10435:21;10430:1;10423:9;10416:17;10412:45;10409:71;;;10460:18;;:::i;:::-;-1:-1:-1;10500:9:1;;10347:168::o;10520:125::-;10560:4;10588:1;10585;10582:8;10579:34;;;10593:18;;:::i;:::-;-1:-1:-1;10630:9:1;;10520:125::o;10650:135::-;10689:3;-1:-1:-1;;10710:17:1;;10707:43;;;10730:18;;:::i;:::-;-1:-1:-1;10777:1:1;10766:13;;10650:135::o;10790:127::-;10851:10;10846:3;10842:20;10839:1;10832:31;10882:4;10879:1;10872:15;10906:4;10903:1;10896:15;10922:127;10983:10;10978:3;10974:20;10971:1;10964:31;11014:4;11011:1;11004:15;11038:4;11035:1;11028:15;11054:131;-1:-1:-1;;;;;11129:31:1;;11119:42;;11109:70;;11175:1;11172;11165:12;11190:118;11276:5;11269:13;11262:21;11255:5;11252:32;11242:60;;11298:1;11295;11288:12
Swarm Source
ipfs://51200a7868216227c51acacd761d481a38334006f9add372f07faf7bfd64cf97
Age | Block | Fee Address | BC Fee Address | Voting Power | Jailed | Incoming |
---|
Validator ID :
0 FTM
Amount Staked
0
Amount Delegated
0
Staking Total
0
Staking Start Epoch
0
Staking Start Time
0
Proof of Importance
0
Origination Score
0
Validation Score
0
Active
0
Online
0
Downtime
0 s
Address | Amount | claimed Rewards | Created On Epoch | Created On |
---|
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.