Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 1,981 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Claim Multiple R... | 21467676 | 98 days ago | IN | 0 ETH | 0.0022217 | ||||
Claim Multiple R... | 21467670 | 98 days ago | IN | 0 ETH | 0.0033137 | ||||
Claim Multiple R... | 21467659 | 98 days ago | IN | 0 ETH | 0.00375886 | ||||
Claim Multiple R... | 20251122 | 268 days ago | IN | 0 ETH | 0.00010919 | ||||
Claim Multiple R... | 19140862 | 424 days ago | IN | 0 ETH | 0.00246079 | ||||
Claim Multiple R... | 17016407 | 722 days ago | IN | 0 ETH | 0.00350679 | ||||
Claim Multiple R... | 16705343 | 766 days ago | IN | 0 ETH | 0.00205821 | ||||
Claim Multiple R... | 16670456 | 770 days ago | IN | 0 ETH | 0.00374268 | ||||
Claim Multiple R... | 16603258 | 780 days ago | IN | 0 ETH | 0.0015069 | ||||
Claim Multiple R... | 16462419 | 800 days ago | IN | 0 ETH | 0.00136936 | ||||
Claim Multiple R... | 16431100 | 804 days ago | IN | 0 ETH | 0.00181021 | ||||
Claim Multiple R... | 16400813 | 808 days ago | IN | 0 ETH | 0.0008871 | ||||
Claim Multiple R... | 16400813 | 808 days ago | IN | 0 ETH | 0.00683688 | ||||
Claim Multiple R... | 16351094 | 815 days ago | IN | 0 ETH | 0.00254368 | ||||
Claim Multiple R... | 15964023 | 869 days ago | IN | 0 ETH | 0.00232311 | ||||
Claim Multiple R... | 15897815 | 878 days ago | IN | 0 ETH | 0.0019953 | ||||
Claim Multiple R... | 15559268 | 926 days ago | IN | 0 ETH | 0.00019853 | ||||
Claim Multiple R... | 15292133 | 968 days ago | IN | 0 ETH | 0.00131464 | ||||
Claim Multiple R... | 15281899 | 970 days ago | IN | 0 ETH | 0.00193742 | ||||
Claim Multiple R... | 15280998 | 970 days ago | IN | 0 ETH | 0.00084891 | ||||
Claim Multiple R... | 15072766 | 1002 days ago | IN | 0 ETH | 0.00244439 | ||||
Claim Multiple R... | 14994804 | 1016 days ago | IN | 0 ETH | 0.00198538 | ||||
Claim Multiple R... | 14991726 | 1016 days ago | IN | 0 ETH | 0.00198538 | ||||
Claim Multiple R... | 14859978 | 1039 days ago | IN | 0 ETH | 0.00152874 | ||||
Claim Multiple R... | 14858391 | 1039 days ago | IN | 0 ETH | 0.00393721 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
MultipleEpochRewardsClaimer
Compiler Version
v0.6.6+commit.6c089d02
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2020-10-09 */ // File: contracts/IEpochUtils.sol pragma solidity 0.6.6; interface IEpochUtils { function epochPeriodInSeconds() external view returns (uint256); function firstEpochStartTimestamp() external view returns (uint256); function getCurrentEpochNumber() external view returns (uint256); function getEpochNumber(uint256 timestamp) external view returns (uint256); } // File: contracts/IKyberDao.sol pragma solidity 0.6.6; interface IKyberDao is IEpochUtils { event Voted(address indexed staker, uint indexed epoch, uint indexed campaignID, uint option); function getLatestNetworkFeeDataWithCache() external returns (uint256 feeInBps, uint256 expiryTimestamp); function getLatestBRRDataWithCache() external returns ( uint256 burnInBps, uint256 rewardInBps, uint256 rebateInBps, uint256 epoch, uint256 expiryTimestamp ); function handleWithdrawal(address staker, uint256 penaltyAmount) external; function vote(uint256 campaignID, uint256 option) external; function getLatestNetworkFeeData() external view returns (uint256 feeInBps, uint256 expiryTimestamp); function shouldBurnRewardForEpoch(uint256 epoch) external view returns (bool); /** * @dev return staker's reward percentage in precision for a past epoch only * fee handler should call this function when a staker wants to claim reward * return 0 if staker has no votes or stakes */ function getPastEpochRewardPercentageInPrecision(address staker, uint256 epoch) external view returns (uint256); /** * @dev return staker's reward percentage in precision for the current epoch * reward percentage is not finalized until the current epoch is ended */ function getCurrentEpochRewardPercentageInPrecision(address staker) external view returns (uint256); } // File: @kyber.network/utils-sc/contracts/IERC20.sol pragma solidity 0.6.6; interface IERC20 { event Approval(address indexed _owner, address indexed _spender, uint256 _value); function approve(address _spender, uint256 _value) external returns (bool success); function transfer(address _to, uint256 _value) external returns (bool success); function transferFrom( address _from, address _to, uint256 _value ) external returns (bool success); function allowance(address _owner, address _spender) external view returns (uint256 remaining); function balanceOf(address _owner) external view returns (uint256 balance); function decimals() external view returns (uint8 digits); function totalSupply() external view returns (uint256 supply); } // to support backward compatible contract name -- so function signature remains same abstract contract ERC20 is IERC20 { } // File: contracts/IERC20.sol pragma solidity 0.6.6; // File: contracts/IKyberFeeHandler.sol pragma solidity 0.6.6; interface IKyberFeeHandler { event RewardPaid(address indexed staker, uint256 indexed epoch, IERC20 indexed token, uint256 amount); event RebatePaid(address indexed rebateWallet, IERC20 indexed token, uint256 amount); event PlatformFeePaid(address indexed platformWallet, IERC20 indexed token, uint256 amount); event KncBurned(uint256 kncTWei, IERC20 indexed token, uint256 amount); function handleFees( IERC20 token, address[] calldata eligibleWallets, uint256[] calldata rebatePercentages, address platformWallet, uint256 platformFee, uint256 networkFee ) external payable; function claimReserveRebate(address rebateWallet) external returns (uint256); function claimPlatformFee(address platformWallet) external returns (uint256); function claimStakerReward( address staker, uint256 epoch ) external returns(uint amount); } // File: contracts/wrappers/IMultipleEpochRewardsClaimer.sol pragma solidity 0.6.6; interface IFeeHandler is IKyberFeeHandler { function hasClaimedReward(address, uint256) external view returns (bool); } interface IMultipleEpochRewardsClaimer { function claimMultipleRewards( IFeeHandler feeHandler, uint256[] calldata unclaimedEpochs ) external; function getUnclaimedEpochs(IFeeHandler feeHandler, address staker) external view returns (uint256[] memory unclaimedEpochs); } // File: @kyber.network/utils-sc/contracts/PermissionGroups.sol pragma solidity 0.6.6; contract PermissionGroups { uint256 internal constant MAX_GROUP_SIZE = 50; address public admin; address public pendingAdmin; mapping(address => bool) internal operators; mapping(address => bool) internal alerters; address[] internal operatorsGroup; address[] internal alertersGroup; event AdminClaimed(address newAdmin, address previousAdmin); event TransferAdminPending(address pendingAdmin); event OperatorAdded(address newOperator, bool isAdd); event AlerterAdded(address newAlerter, bool isAdd); constructor(address _admin) public { require(_admin != address(0), "admin 0"); admin = _admin; } modifier onlyAdmin() { require(msg.sender == admin, "only admin"); _; } modifier onlyOperator() { require(operators[msg.sender], "only operator"); _; } modifier onlyAlerter() { require(alerters[msg.sender], "only alerter"); _; } function getOperators() external view returns (address[] memory) { return operatorsGroup; } function getAlerters() external view returns (address[] memory) { return alertersGroup; } /** * @dev Allows the current admin to set the pendingAdmin address. * @param newAdmin The address to transfer ownership to. */ function transferAdmin(address newAdmin) public onlyAdmin { require(newAdmin != address(0), "new admin 0"); emit TransferAdminPending(newAdmin); pendingAdmin = newAdmin; } /** * @dev Allows the current admin to set the admin in one tx. Useful initial deployment. * @param newAdmin The address to transfer ownership to. */ function transferAdminQuickly(address newAdmin) public onlyAdmin { require(newAdmin != address(0), "admin 0"); emit TransferAdminPending(newAdmin); emit AdminClaimed(newAdmin, admin); admin = newAdmin; } /** * @dev Allows the pendingAdmin address to finalize the change admin process. */ function claimAdmin() public { require(pendingAdmin == msg.sender, "not pending"); emit AdminClaimed(pendingAdmin, admin); admin = pendingAdmin; pendingAdmin = address(0); } function addAlerter(address newAlerter) public onlyAdmin { require(!alerters[newAlerter], "alerter exists"); // prevent duplicates. require(alertersGroup.length < MAX_GROUP_SIZE, "max alerters"); emit AlerterAdded(newAlerter, true); alerters[newAlerter] = true; alertersGroup.push(newAlerter); } function removeAlerter(address alerter) public onlyAdmin { require(alerters[alerter], "not alerter"); alerters[alerter] = false; for (uint256 i = 0; i < alertersGroup.length; ++i) { if (alertersGroup[i] == alerter) { alertersGroup[i] = alertersGroup[alertersGroup.length - 1]; alertersGroup.pop(); emit AlerterAdded(alerter, false); break; } } } function addOperator(address newOperator) public onlyAdmin { require(!operators[newOperator], "operator exists"); // prevent duplicates. require(operatorsGroup.length < MAX_GROUP_SIZE, "max operators"); emit OperatorAdded(newOperator, true); operators[newOperator] = true; operatorsGroup.push(newOperator); } function removeOperator(address operator) public onlyAdmin { require(operators[operator], "not operator"); operators[operator] = false; for (uint256 i = 0; i < operatorsGroup.length; ++i) { if (operatorsGroup[i] == operator) { operatorsGroup[i] = operatorsGroup[operatorsGroup.length - 1]; operatorsGroup.pop(); emit OperatorAdded(operator, false); break; } } } } // File: @kyber.network/utils-sc/contracts/Withdrawable.sol pragma solidity 0.6.6; contract Withdrawable is PermissionGroups { event TokenWithdraw(IERC20 token, uint256 amount, address sendTo); event EtherWithdraw(uint256 amount, address sendTo); constructor(address _admin) public PermissionGroups(_admin) {} /** * @dev Withdraw all IERC20 compatible tokens * @param token IERC20 The address of the token contract */ function withdrawToken( IERC20 token, uint256 amount, address sendTo ) external onlyAdmin { token.transfer(sendTo, amount); emit TokenWithdraw(token, amount, sendTo); } /** * @dev Withdraw Ethers */ function withdrawEther(uint256 amount, address payable sendTo) external onlyAdmin { (bool success, ) = sendTo.call{value: amount}(""); require(success, "withdraw failed"); emit EtherWithdraw(amount, sendTo); } } // File: contracts/wrappers/MultipleEpochRewardsClaimer.sol pragma solidity 0.6.6; contract MultipleEpochRewardsClaimer is IMultipleEpochRewardsClaimer, Withdrawable { IKyberDao public immutable kyberDao; constructor(IKyberDao _kyberDao, address _admin) public Withdrawable(_admin) { kyberDao = _kyberDao; } /// @dev unclaimedEpochs is asusumed to be of reasonable length /// otherwise txns might run out of gas function claimMultipleRewards( IFeeHandler feeHandler, uint256[] calldata unclaimedEpochs ) external override { for (uint256 i = 0; i < unclaimedEpochs.length; i++) { feeHandler.claimStakerReward(msg.sender, unclaimedEpochs[i]); } } function getUnclaimedEpochs(IFeeHandler feeHandler, address staker) external view override returns (uint256[] memory unclaimedEpochs) { uint256 currentEpoch = kyberDao.getCurrentEpochNumber(); uint256[] memory tempArray = new uint256[](currentEpoch); uint256 i; uint256 j; // full array size is expected to be of reasonable length // for the next 1-2 years // we thus start iterating from epoch 0 for (i = 0; i < currentEpoch; i++) { if ( !feeHandler.hasClaimedReward(staker, i) && kyberDao.getPastEpochRewardPercentageInPrecision(staker, i) != 0 ) { tempArray[j]= i; j++; } } unclaimedEpochs = new uint256[](j); for (i = 0; i < j; i++) { unclaimedEpochs[i] = tempArray[i]; } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"contract IKyberDao","name":"_kyberDao","type":"address"},{"internalType":"address","name":"_admin","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newAdmin","type":"address"},{"indexed":false,"internalType":"address","name":"previousAdmin","type":"address"}],"name":"AdminClaimed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newAlerter","type":"address"},{"indexed":false,"internalType":"bool","name":"isAdd","type":"bool"}],"name":"AlerterAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"address","name":"sendTo","type":"address"}],"name":"EtherWithdraw","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOperator","type":"address"},{"indexed":false,"internalType":"bool","name":"isAdd","type":"bool"}],"name":"OperatorAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"contract IERC20","name":"token","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"address","name":"sendTo","type":"address"}],"name":"TokenWithdraw","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"pendingAdmin","type":"address"}],"name":"TransferAdminPending","type":"event"},{"inputs":[{"internalType":"address","name":"newAlerter","type":"address"}],"name":"addAlerter","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOperator","type":"address"}],"name":"addOperator","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"admin","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"claimAdmin","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IFeeHandler","name":"feeHandler","type":"address"},{"internalType":"uint256[]","name":"unclaimedEpochs","type":"uint256[]"}],"name":"claimMultipleRewards","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getAlerters","outputs":[{"internalType":"address[]","name":"","type":"address[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOperators","outputs":[{"internalType":"address[]","name":"","type":"address[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract IFeeHandler","name":"feeHandler","type":"address"},{"internalType":"address","name":"staker","type":"address"}],"name":"getUnclaimedEpochs","outputs":[{"internalType":"uint256[]","name":"unclaimedEpochs","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"kyberDao","outputs":[{"internalType":"contract IKyberDao","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pendingAdmin","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"alerter","type":"address"}],"name":"removeAlerter","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"}],"name":"removeOperator","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newAdmin","type":"address"}],"name":"transferAdmin","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newAdmin","type":"address"}],"name":"transferAdminQuickly","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"address payable","name":"sendTo","type":"address"}],"name":"withdrawEther","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IERC20","name":"token","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"address","name":"sendTo","type":"address"}],"name":"withdrawToken","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
60a060405234801561001057600080fd5b50604051611dd2380380611dd28339818101604052604081101561003357600080fd5b50805160209091015180806001600160a01b038116610083576040805162461bcd60e51b8152602060048201526007602482015266061646d696e20360cc1b604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b03928316178155606085901b6001600160601b031916608052931692611cfb92506100d791503980610bfe5280610c265280610dc55250611cfb6000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c806377f50f9711610097578063ac8a584a11610066578063ac8a584a14610325578063c285a4ae14610358578063ce56c454146103e5578063f851a4401461041e57610100565b806377f50f97146102af5780637acc8678146102b75780637c423f54146102ea5780639870d7fe146102f257610100565b8063408ee7fe116100d3578063408ee7fe146102065780634d8f510514610239578063559cb71e1461024157806375829def1461027c57610100565b806301a12fd314610105578063267822471461013a57806327a099d81461016b5780633ccdbb28146101c3575b600080fd5b6101386004803603602081101561011b57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610426565b005b610142610756565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b610173610772565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156101af578181015183820152602001610197565b505050509050019250505060405180910390f35b610138600480360360608110156101d957600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135811691602081013591604090910135166107e1565b6101386004803603602081101561021c57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610976565b610142610bfc565b6101736004803603604081101561025757600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610c20565b6101386004803603602081101561029257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610f54565b6101386110ec565b610138600480360360208110156102cd57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611217565b610173611404565b6101386004803603602081101561030857600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611471565b6101386004803603602081101561033b57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166116f7565b6101386004803603604081101561036e57600080fd5b73ffffffffffffffffffffffffffffffffffffffff82351691908101906040810160208201356401000000008111156103a657600080fd5b8201836020820111156103b857600080fd5b803590602001918460208302840111640100000000831117156103da57600080fd5b509092509050611a23565b610138600480360360408110156103fb57600080fd5b508035906020013573ffffffffffffffffffffffffffffffffffffffff16611b01565b610142611ca9565b60005473ffffffffffffffffffffffffffffffffffffffff1633146104ac57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f6f6e6c792061646d696e00000000000000000000000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff811660009081526003602052604090205460ff1661054057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f6e6f7420616c6572746572000000000000000000000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8116600090815260036020526040812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690555b600554811015610752578173ffffffffffffffffffffffffffffffffffffffff16600582815481106105ba57fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16141561074a57600580547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff810190811061061257fe5b6000918252602090912001546005805473ffffffffffffffffffffffffffffffffffffffff909216918390811061064557fe5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600580548061069857fe5b6000828152602080822083017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001690559092019092556040805173ffffffffffffffffffffffffffffffffffffffff861681529182019290925281517f5611bf3e417d124f97bf2c788843ea8bb502b66079fbee02158ef30b172cb762929181900390910190a1610752565b60010161058c565b5050565b60015473ffffffffffffffffffffffffffffffffffffffff1681565b606060048054806020026020016040519081016040528092919081815260200182805480156107d757602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff1681526001909101906020018083116107ac575b5050505050905090565b60005473ffffffffffffffffffffffffffffffffffffffff16331461086757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f6f6e6c792061646d696e00000000000000000000000000000000000000000000604482015290519081900360640190fd5b8273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb82846040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156108ee57600080fd5b505af1158015610902573d6000803e3d6000fd5b505050506040513d602081101561091857600080fd5b50506040805173ffffffffffffffffffffffffffffffffffffffff80861682526020820185905283168183015290517f72cb8a894ddb372ceec3d2a7648d86f17d5a15caae0e986c53109b8a9a9385e69181900360600190a1505050565b60005473ffffffffffffffffffffffffffffffffffffffff1633146109fc57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f6f6e6c792061646d696e00000000000000000000000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff811660009081526003602052604090205460ff1615610a9157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f616c657274657220657869737473000000000000000000000000000000000000604482015290519081900360640190fd5b600554603211610b0257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f6d617820616c6572746572730000000000000000000000000000000000000000604482015290519081900360640190fd5b6040805173ffffffffffffffffffffffffffffffffffffffff831681526001602082015281517f5611bf3e417d124f97bf2c788843ea8bb502b66079fbee02158ef30b172cb762929181900390910190a173ffffffffffffffffffffffffffffffffffffffff16600081815260036020526040812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660019081179091556005805491820181559091527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db00180547fffffffffffffffffffffffff0000000000000000000000000000000000000000169091179055565b7f000000000000000000000000000000000000000000000000000000000000000081565b606060007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16634408d2ba6040518163ffffffff1660e01b815260040160206040518083038186803b158015610c8a57600080fd5b505afa158015610c9e573d6000803e3d6000fd5b505050506040513d6020811015610cb457600080fd5b5051905060608167ffffffffffffffff81118015610cd157600080fd5b50604051908082528060200260200182016040528015610cfb578160200160208202803683370190505b5090506000805b83821015610ec3578673ffffffffffffffffffffffffffffffffffffffff16637c36010187846040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060206040518083038186803b158015610d8f57600080fd5b505afa158015610da3573d6000803e3d6000fd5b505050506040513d6020811015610db957600080fd5b5051158015610e9757507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166399e30ba887846040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060206040518083038186803b158015610e6857600080fd5b505afa158015610e7c573d6000803e3d6000fd5b505050506040513d6020811015610e9257600080fd5b505115155b15610eb85781838281518110610ea957fe5b60209081029190910101526001015b600190910190610d02565b8067ffffffffffffffff81118015610eda57600080fd5b50604051908082528060200260200182016040528015610f04578160200160208202803683370190505b509450600091505b80821015610f4a57828281518110610f2057fe5b6020026020010151858381518110610f3457fe5b6020908102919091010152600190910190610f0c565b5050505092915050565b60005473ffffffffffffffffffffffffffffffffffffffff163314610fda57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f6f6e6c792061646d696e00000000000000000000000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff811661105c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f6e65772061646d696e2030000000000000000000000000000000000000000000604482015290519081900360640190fd5b6040805173ffffffffffffffffffffffffffffffffffffffff8316815290517f3b81caf78fa51ecbc8acb482fd7012a277b428d9b80f9d156e8a54107496cc409181900360200190a1600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60015473ffffffffffffffffffffffffffffffffffffffff16331461117257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f6e6f742070656e64696e67000000000000000000000000000000000000000000604482015290519081900360640190fd5b6001546000546040805173ffffffffffffffffffffffffffffffffffffffff938416815292909116602083015280517f65da1cfc2c2e81576ad96afb24a581f8e109b7a403b35cbd3243a1c99efdb9ed9281900390910190a160018054600080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811673ffffffffffffffffffffffffffffffffffffffff841617909155169055565b60005473ffffffffffffffffffffffffffffffffffffffff16331461129d57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f6f6e6c792061646d696e00000000000000000000000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff811661131f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f61646d696e203000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b6040805173ffffffffffffffffffffffffffffffffffffffff8316815290517f3b81caf78fa51ecbc8acb482fd7012a277b428d9b80f9d156e8a54107496cc409181900360200190a16000546040805173ffffffffffffffffffffffffffffffffffffffff8085168252909216602083015280517f65da1cfc2c2e81576ad96afb24a581f8e109b7a403b35cbd3243a1c99efdb9ed9281900390910190a1600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b606060058054806020026020016040519081016040528092919081815260200182805480156107d75760200282019190600052602060002090815473ffffffffffffffffffffffffffffffffffffffff1681526001909101906020018083116107ac575050505050905090565b60005473ffffffffffffffffffffffffffffffffffffffff1633146114f757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f6f6e6c792061646d696e00000000000000000000000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff811660009081526002602052604090205460ff161561158c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f6f70657261746f72206578697374730000000000000000000000000000000000604482015290519081900360640190fd5b6004546032116115fd57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600d60248201527f6d6178206f70657261746f727300000000000000000000000000000000000000604482015290519081900360640190fd5b6040805173ffffffffffffffffffffffffffffffffffffffff831681526001602082015281517f091a7a4b85135fdd7e8dbc18b12fabe5cc191ea867aa3c2e1a24a102af61d58b929181900390910190a173ffffffffffffffffffffffffffffffffffffffff16600081815260026020526040812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660019081179091556004805491820181559091527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b0180547fffffffffffffffffffffffff0000000000000000000000000000000000000000169091179055565b60005473ffffffffffffffffffffffffffffffffffffffff16331461177d57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f6f6e6c792061646d696e00000000000000000000000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff811660009081526002602052604090205460ff1661181157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f6e6f74206f70657261746f720000000000000000000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8116600090815260026020526040812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690555b600454811015610752578173ffffffffffffffffffffffffffffffffffffffff166004828154811061188b57fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff161415611a1b57600480547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81019081106118e357fe5b6000918252602090912001546004805473ffffffffffffffffffffffffffffffffffffffff909216918390811061191657fe5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600480548061196957fe5b6000828152602080822083017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001690559092019092556040805173ffffffffffffffffffffffffffffffffffffffff861681529182019290925281517f091a7a4b85135fdd7e8dbc18b12fabe5cc191ea867aa3c2e1a24a102af61d58b929181900390910190a1610752565b60010161185d565b60005b81811015611afb578373ffffffffffffffffffffffffffffffffffffffff166353fa2eb733858585818110611a5757fe5b905060200201356040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015611ac757600080fd5b505af1158015611adb573d6000803e3d6000fd5b505050506040513d6020811015611af157600080fd5b5050600101611a26565b50505050565b60005473ffffffffffffffffffffffffffffffffffffffff163314611b8757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f6f6e6c792061646d696e00000000000000000000000000000000000000000000604482015290519081900360640190fd5b60405160009073ffffffffffffffffffffffffffffffffffffffff83169084908381818185875af1925050503d8060008114611bdf576040519150601f19603f3d011682016040523d82523d6000602084013e611be4565b606091505b5050905080611c5457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f7769746864726177206661696c65640000000000000000000000000000000000604482015290519081900360640190fd5b6040805184815273ffffffffffffffffffffffffffffffffffffffff8416602082015281517fec47e7ed86c86774d1a72c19f35c639911393fe7c1a34031fdbd260890da90de929181900390910190a1505050565b60005473ffffffffffffffffffffffffffffffffffffffff168156fea2646970667358221220a3e676eb676fa22e688bfbedfa9b0aa45cf0d8ba82075b1c1b445492e18005e964736f6c6343000606003300000000000000000000000049bdd8854481005bba4acebabf6e06cd5f6312e9000000000000000000000000bdd33f411da0b40018922a3bc69001b458227f5c
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106101005760003560e01c806377f50f9711610097578063ac8a584a11610066578063ac8a584a14610325578063c285a4ae14610358578063ce56c454146103e5578063f851a4401461041e57610100565b806377f50f97146102af5780637acc8678146102b75780637c423f54146102ea5780639870d7fe146102f257610100565b8063408ee7fe116100d3578063408ee7fe146102065780634d8f510514610239578063559cb71e1461024157806375829def1461027c57610100565b806301a12fd314610105578063267822471461013a57806327a099d81461016b5780633ccdbb28146101c3575b600080fd5b6101386004803603602081101561011b57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610426565b005b610142610756565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b610173610772565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156101af578181015183820152602001610197565b505050509050019250505060405180910390f35b610138600480360360608110156101d957600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135811691602081013591604090910135166107e1565b6101386004803603602081101561021c57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610976565b610142610bfc565b6101736004803603604081101561025757600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610c20565b6101386004803603602081101561029257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610f54565b6101386110ec565b610138600480360360208110156102cd57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611217565b610173611404565b6101386004803603602081101561030857600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611471565b6101386004803603602081101561033b57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166116f7565b6101386004803603604081101561036e57600080fd5b73ffffffffffffffffffffffffffffffffffffffff82351691908101906040810160208201356401000000008111156103a657600080fd5b8201836020820111156103b857600080fd5b803590602001918460208302840111640100000000831117156103da57600080fd5b509092509050611a23565b610138600480360360408110156103fb57600080fd5b508035906020013573ffffffffffffffffffffffffffffffffffffffff16611b01565b610142611ca9565b60005473ffffffffffffffffffffffffffffffffffffffff1633146104ac57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f6f6e6c792061646d696e00000000000000000000000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff811660009081526003602052604090205460ff1661054057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f6e6f7420616c6572746572000000000000000000000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8116600090815260036020526040812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690555b600554811015610752578173ffffffffffffffffffffffffffffffffffffffff16600582815481106105ba57fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16141561074a57600580547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff810190811061061257fe5b6000918252602090912001546005805473ffffffffffffffffffffffffffffffffffffffff909216918390811061064557fe5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600580548061069857fe5b6000828152602080822083017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001690559092019092556040805173ffffffffffffffffffffffffffffffffffffffff861681529182019290925281517f5611bf3e417d124f97bf2c788843ea8bb502b66079fbee02158ef30b172cb762929181900390910190a1610752565b60010161058c565b5050565b60015473ffffffffffffffffffffffffffffffffffffffff1681565b606060048054806020026020016040519081016040528092919081815260200182805480156107d757602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff1681526001909101906020018083116107ac575b5050505050905090565b60005473ffffffffffffffffffffffffffffffffffffffff16331461086757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f6f6e6c792061646d696e00000000000000000000000000000000000000000000604482015290519081900360640190fd5b8273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb82846040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156108ee57600080fd5b505af1158015610902573d6000803e3d6000fd5b505050506040513d602081101561091857600080fd5b50506040805173ffffffffffffffffffffffffffffffffffffffff80861682526020820185905283168183015290517f72cb8a894ddb372ceec3d2a7648d86f17d5a15caae0e986c53109b8a9a9385e69181900360600190a1505050565b60005473ffffffffffffffffffffffffffffffffffffffff1633146109fc57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f6f6e6c792061646d696e00000000000000000000000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff811660009081526003602052604090205460ff1615610a9157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f616c657274657220657869737473000000000000000000000000000000000000604482015290519081900360640190fd5b600554603211610b0257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f6d617820616c6572746572730000000000000000000000000000000000000000604482015290519081900360640190fd5b6040805173ffffffffffffffffffffffffffffffffffffffff831681526001602082015281517f5611bf3e417d124f97bf2c788843ea8bb502b66079fbee02158ef30b172cb762929181900390910190a173ffffffffffffffffffffffffffffffffffffffff16600081815260036020526040812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660019081179091556005805491820181559091527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db00180547fffffffffffffffffffffffff0000000000000000000000000000000000000000169091179055565b7f00000000000000000000000049bdd8854481005bba4acebabf6e06cd5f6312e981565b606060007f00000000000000000000000049bdd8854481005bba4acebabf6e06cd5f6312e973ffffffffffffffffffffffffffffffffffffffff16634408d2ba6040518163ffffffff1660e01b815260040160206040518083038186803b158015610c8a57600080fd5b505afa158015610c9e573d6000803e3d6000fd5b505050506040513d6020811015610cb457600080fd5b5051905060608167ffffffffffffffff81118015610cd157600080fd5b50604051908082528060200260200182016040528015610cfb578160200160208202803683370190505b5090506000805b83821015610ec3578673ffffffffffffffffffffffffffffffffffffffff16637c36010187846040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060206040518083038186803b158015610d8f57600080fd5b505afa158015610da3573d6000803e3d6000fd5b505050506040513d6020811015610db957600080fd5b5051158015610e9757507f00000000000000000000000049bdd8854481005bba4acebabf6e06cd5f6312e973ffffffffffffffffffffffffffffffffffffffff166399e30ba887846040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060206040518083038186803b158015610e6857600080fd5b505afa158015610e7c573d6000803e3d6000fd5b505050506040513d6020811015610e9257600080fd5b505115155b15610eb85781838281518110610ea957fe5b60209081029190910101526001015b600190910190610d02565b8067ffffffffffffffff81118015610eda57600080fd5b50604051908082528060200260200182016040528015610f04578160200160208202803683370190505b509450600091505b80821015610f4a57828281518110610f2057fe5b6020026020010151858381518110610f3457fe5b6020908102919091010152600190910190610f0c565b5050505092915050565b60005473ffffffffffffffffffffffffffffffffffffffff163314610fda57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f6f6e6c792061646d696e00000000000000000000000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff811661105c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f6e65772061646d696e2030000000000000000000000000000000000000000000604482015290519081900360640190fd5b6040805173ffffffffffffffffffffffffffffffffffffffff8316815290517f3b81caf78fa51ecbc8acb482fd7012a277b428d9b80f9d156e8a54107496cc409181900360200190a1600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60015473ffffffffffffffffffffffffffffffffffffffff16331461117257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f6e6f742070656e64696e67000000000000000000000000000000000000000000604482015290519081900360640190fd5b6001546000546040805173ffffffffffffffffffffffffffffffffffffffff938416815292909116602083015280517f65da1cfc2c2e81576ad96afb24a581f8e109b7a403b35cbd3243a1c99efdb9ed9281900390910190a160018054600080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811673ffffffffffffffffffffffffffffffffffffffff841617909155169055565b60005473ffffffffffffffffffffffffffffffffffffffff16331461129d57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f6f6e6c792061646d696e00000000000000000000000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff811661131f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f61646d696e203000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b6040805173ffffffffffffffffffffffffffffffffffffffff8316815290517f3b81caf78fa51ecbc8acb482fd7012a277b428d9b80f9d156e8a54107496cc409181900360200190a16000546040805173ffffffffffffffffffffffffffffffffffffffff8085168252909216602083015280517f65da1cfc2c2e81576ad96afb24a581f8e109b7a403b35cbd3243a1c99efdb9ed9281900390910190a1600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b606060058054806020026020016040519081016040528092919081815260200182805480156107d75760200282019190600052602060002090815473ffffffffffffffffffffffffffffffffffffffff1681526001909101906020018083116107ac575050505050905090565b60005473ffffffffffffffffffffffffffffffffffffffff1633146114f757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f6f6e6c792061646d696e00000000000000000000000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff811660009081526002602052604090205460ff161561158c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f6f70657261746f72206578697374730000000000000000000000000000000000604482015290519081900360640190fd5b6004546032116115fd57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600d60248201527f6d6178206f70657261746f727300000000000000000000000000000000000000604482015290519081900360640190fd5b6040805173ffffffffffffffffffffffffffffffffffffffff831681526001602082015281517f091a7a4b85135fdd7e8dbc18b12fabe5cc191ea867aa3c2e1a24a102af61d58b929181900390910190a173ffffffffffffffffffffffffffffffffffffffff16600081815260026020526040812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660019081179091556004805491820181559091527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b0180547fffffffffffffffffffffffff0000000000000000000000000000000000000000169091179055565b60005473ffffffffffffffffffffffffffffffffffffffff16331461177d57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f6f6e6c792061646d696e00000000000000000000000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff811660009081526002602052604090205460ff1661181157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f6e6f74206f70657261746f720000000000000000000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8116600090815260026020526040812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690555b600454811015610752578173ffffffffffffffffffffffffffffffffffffffff166004828154811061188b57fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff161415611a1b57600480547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81019081106118e357fe5b6000918252602090912001546004805473ffffffffffffffffffffffffffffffffffffffff909216918390811061191657fe5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600480548061196957fe5b6000828152602080822083017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001690559092019092556040805173ffffffffffffffffffffffffffffffffffffffff861681529182019290925281517f091a7a4b85135fdd7e8dbc18b12fabe5cc191ea867aa3c2e1a24a102af61d58b929181900390910190a1610752565b60010161185d565b60005b81811015611afb578373ffffffffffffffffffffffffffffffffffffffff166353fa2eb733858585818110611a5757fe5b905060200201356040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015611ac757600080fd5b505af1158015611adb573d6000803e3d6000fd5b505050506040513d6020811015611af157600080fd5b5050600101611a26565b50505050565b60005473ffffffffffffffffffffffffffffffffffffffff163314611b8757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f6f6e6c792061646d696e00000000000000000000000000000000000000000000604482015290519081900360640190fd5b60405160009073ffffffffffffffffffffffffffffffffffffffff83169084908381818185875af1925050503d8060008114611bdf576040519150601f19603f3d011682016040523d82523d6000602084013e611be4565b606091505b5050905080611c5457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f7769746864726177206661696c65640000000000000000000000000000000000604482015290519081900360640190fd5b6040805184815273ffffffffffffffffffffffffffffffffffffffff8416602082015281517fec47e7ed86c86774d1a72c19f35c639911393fe7c1a34031fdbd260890da90de929181900390910190a1505050565b60005473ffffffffffffffffffffffffffffffffffffffff168156fea2646970667358221220a3e676eb676fa22e688bfbedfa9b0aa45cf0d8ba82075b1c1b445492e18005e964736f6c63430006060033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000049bdd8854481005bba4acebabf6e06cd5f6312e9000000000000000000000000bdd33f411da0b40018922a3bc69001b458227f5c
-----Decoded View---------------
Arg [0] : _kyberDao (address): 0x49bdd8854481005bBa4aCEbaBF6e06cD5F6312e9
Arg [1] : _admin (address): 0xbDd33F411DA0B40018922a3BC69001B458227f5c
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 00000000000000000000000049bdd8854481005bba4acebabf6e06cd5f6312e9
Arg [1] : 000000000000000000000000bdd33f411da0b40018922a3bc69001b458227f5c
Deployed Bytecode Sourcemap
9957:1625:0:-:0;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;9957:1625:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12:1:-1;9;2:12;7494:482:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;7494:482:0;;;;:::i;:::-;;4900:27;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5805:105;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;5805:105:0;;;;;;;;;;;;;;;;;9334:223;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;9334:223:0;;;;;;;;;;;;;;;;;;:::i;7139:347::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;7139:347:0;;;;:::i;10047:35::-;;;:::i;10628:951::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;10628:951:0;;;;;;;;;;;:::i;6180:203::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;6180:203:0;;;;:::i;6917:214::-;;;:::i;6564:244::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;6564:244:0;;;;:::i;5918:103::-;;;:::i;7984:360::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;7984:360:0;;;;:::i;8352:498::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;8352:498:0;;;;:::i;10329:291::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;10329:291:0;;;;;;;;;;;;;;;;27:11:-1;11:28;;8:2;;;52:1;49;42:12;8:2;10329:291:0;;41:9:-1;34:4;18:14;14:25;11:40;8:2;;;64:1;61;54:12;8:2;10329:291:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;-1:-1;10329:291:0;;-1:-1:-1;10329:291:0;-1:-1:-1;10329:291:0;:::i;9612:241::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;9612:241:0;;;;;;;;;:::i;4873:20::-;;;:::i;7494:482::-;5540:5;;;;5526:10;:19;5518:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7570:17:::1;::::0;::::1;;::::0;;;:8:::1;:17;::::0;;;;;::::1;;7562:41;;;::::0;;::::1;::::0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;7614:17;::::0;::::1;7634:5;7614:17:::0;;;:8:::1;:17;::::0;;;;:25;;;::::1;::::0;;7652:317:::1;7676:13;:20:::0;7672:24;::::1;7652:317;;;7742:7;7722:27;;:13;7736:1;7722:16;;;;;;;;;::::0;;;::::1;::::0;;;::::1;::::0;::::1;;:27;7718:240;;;7789:13;7803:20:::0;;:24;;;;7789:39;::::1;;;;;;::::0;;;::::1;::::0;;;::::1;::::0;7770:13:::1;:16:::0;;7789:39:::1;::::0;;::::1;::::0;7784:1;;7770:16;::::1;;;;;;;;;;;;;:58;;;;;;;;;;;;;;;;;;7847:13;:19;;;;;;;;::::0;;;::::1;::::0;;;;;;;;;;;;::::1;::::0;;;;;;;;7890:28:::1;::::0;;7847:19:::1;7890:28:::0;::::1;::::0;;;;::::1;::::0;;;;;;::::1;::::0;;;;;;;;;::::1;7937:5;;7718:240;7698:3;;7652:317;;;;7494:482:::0;:::o;4900:27::-;;;;;;:::o;5805:105::-;5852:16;5888:14;5881:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5805:105;:::o;9334:223::-;5540:5;;;;5526:10;:19;5518:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9467:5:::1;:14;;;9482:6;9490;9467:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24::::0;17:12:::1;2:2;9467:30:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;9467:30:0;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28::::0;21:12:::1;4:2;-1:-1:::0;;9513:36:0::1;::::0;;::::1;::::0;;::::1;::::0;;9467:30:::1;9513:36:::0;::::1;::::0;;;;::::1;::::0;;;;;;::::1;::::0;;;;;;;::::1;9334:223:::0;;;:::o;7139:347::-;5540:5;;;;5526:10;:19;5518:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7216:20:::1;::::0;::::1;;::::0;;;:8:::1;:20;::::0;;;;;::::1;;7215:21;7207:48;;;::::0;;::::1;::::0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;7297:13;:20:::0;4862:2:::1;-1:-1:-1::0;7289:62:0::1;;;::::0;;::::1;::::0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;7369:30;::::0;;::::1;::::0;::::1;::::0;;7394:4:::1;7369:30;::::0;::::1;::::0;;;::::1;::::0;;;;;;;;;::::1;7410:20;;;::::0;;;:8:::1;:20;::::0;;;;:27;;;::::1;7433:4;7410:27:::0;;::::1;::::0;;;7448:13:::1;27:10:-1::0;;23:18;;::::1;45:23:::0;;7448:30:0;;;;::::1;::::0;;;::::1;::::0;;::::1;::::0;;7139:347::o;10047:35::-;;;:::o;10628:951::-;10764:32;10814:20;10837:8;:30;;;:32;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;10837:32:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10837:32:0;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;10837:32:0;;-1:-1:-1;10880:26:0;10837:32;10909:27;;;2:2:-1;;;;27:1;24;17:12;2:2;10909:27:0;;;;;;;;;;;;;;;;;;;;;;;29:2:-1;21:6;17:15;125:4;109:14;101:6;88:42;144:17;;-1:-1;10909:27:0;-1:-1:-1;10880:56:0;-1:-1:-1;10947:9:0;;11138:295;11154:12;11150:1;:16;11138:295;;;11211:10;:27;;;11239:6;11247:1;11211:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;11211:38:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11211:38:0;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;11211:38:0;11210:39;:124;;;;;11270:8;:48;;;11319:6;11327:1;11270:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;11270:59:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11270:59:0;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;11270:59:0;:64;;11210:124;11188:234;;;11383:1;11369:9;11379:1;11369:12;;;;;;;;;;;;;;;;;:15;11403:3;;11188:234;11168:3;;;;;11138:295;;;11475:1;11461:16;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;11461:16:0;;;;;;;;;;;;;;;;;;;;;;;29:2:-1;21:6;17:15;125:4;109:14;101:6;88:42;144:17;;-1:-1;11461:16:0;;11443:34;;11497:1;11493:5;;11488:84;11504:1;11500;:5;11488:84;;;11548:9;11558:1;11548:12;;;;;;;;;;;;;;11527:15;11543:1;11527:18;;;;;;;;;;;;;;;;;:33;11507:3;;;;;11488:84;;;10628:951;;;;;;;;:::o;6180:203::-;5540:5;;;;5526:10;:19;5518:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6257:22:::1;::::0;::::1;6249:46;;;::::0;;::::1;::::0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;6311:30;::::0;;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;::::1;::::0;;::::1;6352:12;:23:::0;;;::::1;;::::0;;;::::1;::::0;;;::::1;::::0;;6180:203::o;6917:214::-;6965:12;;:26;:12;6981:10;6965:26;6957:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7036:12;;;7050:5;7023:33;;;7036:12;;;;7023:33;;7050:5;;;;7023:33;;;;;;;;;;;;;;;;7075:12;;;;7067:20;;;;;;7075:12;;;7067:20;;;;7098:25;;;6917:214::o;6564:244::-;5540:5;;;;5526:10;:19;5518:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6648:22:::1;::::0;::::1;6640:42;;;::::0;;::::1;::::0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;6698:30;::::0;;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;::::1;::::0;;::::1;6767:5;::::0;6744:29:::1;::::0;;6767:5:::1;6744:29:::0;;::::1;::::0;;6767:5;;::::1;6744:29;::::0;::::1;::::0;;;::::1;::::0;;;;;;;;::::1;6784:5;:16:::0;;;::::1;;::::0;;;::::1;::::0;;;::::1;::::0;;6564:244::o;5918:103::-;5964:16;6000:13;5993:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5918:103;:::o;7984:360::-;5540:5;;;;5526:10;:19;5518:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8063:22:::1;::::0;::::1;;::::0;;;:9:::1;:22;::::0;;;;;::::1;;8062:23;8054:51;;;::::0;;::::1;::::0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;8147:14;:21:::0;4862:2:::1;-1:-1:-1::0;8139:64:0::1;;;::::0;;::::1;::::0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;8221:32;::::0;;::::1;::::0;::::1;::::0;;8248:4:::1;8221:32;::::0;::::1;::::0;;;::::1;::::0;;;;;;;;;::::1;8264:22;;;::::0;;;:9:::1;:22;::::0;;;;:29;;;::::1;8289:4;8264:29:::0;;::::1;::::0;;;8304:14:::1;27:10:-1::0;;23:18;;::::1;45:23:::0;;8304:32:0;;;;::::1;::::0;;;::::1;::::0;;::::1;::::0;;7984:360::o;8352:498::-;5540:5;;;;5526:10;:19;5518:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8430:19:::1;::::0;::::1;;::::0;;;:9:::1;:19;::::0;;;;;::::1;;8422:44;;;::::0;;::::1;::::0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;8477:19;::::0;::::1;8499:5;8477:19:::0;;;:9:::1;:19;::::0;;;;:27;;;::::1;::::0;;8517:326:::1;8541:14;:21:::0;8537:25;::::1;8517:326;;;8609:8;8588:29;;:14;8603:1;8588:17;;;;;;;;;::::0;;;::::1;::::0;;;::::1;::::0;::::1;;:29;8584:248;;;8658:14;8673:21:::0;;:25;;;;8658:41;::::1;;;;;;::::0;;;::::1;::::0;;;::::1;::::0;8638:14:::1;:17:::0;;8658:41:::1;::::0;;::::1;::::0;8653:1;;8638:17;::::1;;;;;;;;;;;;;:61;;;;;;;;;;;;;;;;;;8718:14;:20;;;;;;;;::::0;;;::::1;::::0;;;;;;;;;;;;::::1;::::0;;;;;;;;8762:30:::1;::::0;;8718:20:::1;8762:30:::0;::::1;::::0;;;;::::1;::::0;;;;;;::::1;::::0;;;;;;;;;::::1;8811:5;;8584:248;8564:3;;8517:326;;10329:291:::0;10478:9;10473:140;10493:26;;;10473:140;;;10541:10;:28;;;10570:10;10582:15;;10598:1;10582:18;;;;;;;;;;;;;10541:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;10541:60:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10541:60:0;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;10521:3:0;;10473:140;;;;10329:291;;;:::o;9612:241::-;5540:5;;;;5526:10;:19;5518:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9724:30:::1;::::0;9706:12:::1;::::0;9724:11:::1;::::0;::::1;::::0;9743:6;;9706:12;9724:30;9706:12;9724:30;9743:6;9724:11;:30:::1;;;;;;;12:1:-1;19;14:27;;;;67:4;61:11;56:16;;134:4;130:9;123:4;105:16;101:27;97:43;94:1;90:51;84:4;77:65;157:16;154:1;147:27;211:16;208:1;201:4;198:1;194:12;179:49;5:228;;14:27;32:4;27:9;;5:228;;9705:49:0;;;9773:7;9765:35;;;::::0;;::::1;::::0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;9816:29;::::0;;;;;::::1;::::0;::::1;;::::0;::::1;::::0;;;::::1;::::0;;;;;;;;;::::1;5571:1;9612:241:::0;;:::o;4873:20::-;;;;;;:::o
Swarm Source
ipfs://a3e676eb676fa22e688bfbedfa9b0aa45cf0d8ba82075b1c1b445492e18005e9
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 35 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.