More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 1,454 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Claim Tokens | 20913222 | 20 hrs ago | IN | 0 ETH | 0.00053566 | ||||
Claim Tokens | 20912566 | 22 hrs ago | IN | 0 ETH | 0.00082655 | ||||
Claim Tokens | 20907124 | 40 hrs ago | IN | 0 ETH | 0.00141586 | ||||
Claim Tokens | 20907120 | 40 hrs ago | IN | 0 ETH | 0.00150567 | ||||
Claim Tokens | 20898821 | 2 days ago | IN | 0 ETH | 0.0008173 | ||||
Claim Tokens | 20898813 | 2 days ago | IN | 0 ETH | 0.00076675 | ||||
Claim Tokens | 20879809 | 5 days ago | IN | 0 ETH | 0.00295721 | ||||
Claim Tokens | 20871107 | 6 days ago | IN | 0 ETH | 0.00253841 | ||||
Claim Tokens | 20871101 | 6 days ago | IN | 0 ETH | 0.00242503 | ||||
Claim Tokens | 20869595 | 6 days ago | IN | 0 ETH | 0.00090014 | ||||
Claim Tokens | 20869516 | 6 days ago | IN | 0 ETH | 0.00135936 | ||||
Claim Tokens | 20866315 | 7 days ago | IN | 0 ETH | 0.00084909 | ||||
Claim Tokens | 20866307 | 7 days ago | IN | 0 ETH | 0.00031694 | ||||
Claim Tokens | 20866305 | 7 days ago | IN | 0 ETH | 0.00058784 | ||||
Claim Tokens | 20866253 | 7 days ago | IN | 0 ETH | 0.00068874 | ||||
Claim Tokens | 20864901 | 7 days ago | IN | 0 ETH | 0.0011665 | ||||
Claim Tokens | 20864182 | 7 days ago | IN | 0 ETH | 0.0017581 | ||||
Claim Tokens | 20861477 | 8 days ago | IN | 0 ETH | 0.00047526 | ||||
Claim Tokens | 20848352 | 9 days ago | IN | 0 ETH | 0.00073801 | ||||
Claim Tokens | 20840482 | 10 days ago | IN | 0 ETH | 0.00037262 | ||||
Claim Tokens | 20840473 | 10 days ago | IN | 0 ETH | 0.00074037 | ||||
Claim Tokens | 20840416 | 11 days ago | IN | 0 ETH | 0.00086951 | ||||
Claim Tokens | 20833456 | 11 days ago | IN | 0 ETH | 0.00101529 | ||||
Claim Tokens | 20821465 | 13 days ago | IN | 0 ETH | 0.00147871 | ||||
Claim Tokens | 20813653 | 14 days ago | IN | 0 ETH | 0.00184688 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
TokenVesting
Compiler Version
v0.8.7+commit.e28d00a7
Contract Source Code (Solidity Multiple files format)
// SPDX-License-Identifier: UNLICENSED pragma solidity ^0.8.7; // TODO: There is an issue where the sum of all vestingSchedule totalTokens is less than totalVestingsTokens. // NOTE: Excess of totalVestingsTokens, after paying out all totalTokens, requires awkward immediate vesting schedule to withdraw. import { IERC20Like } from "./Interfaces.sol"; import { ITokenVesting } from "./ITokenVesting.sol"; contract TokenVesting is ITokenVesting { address public override owner; address public override pendingOwner; address public override token; uint256 public override totalVestingsTokens; mapping(address => VestingSchedule) public override vestingScheduleOf; /** * @dev Constructor. * @param token_ The address of an erc20 token. */ constructor(address token_) { owner = msg.sender; token = token_; } /**************************/ /*** Contract Ownership ***/ /**************************/ modifier onlyOwner() { require(owner == msg.sender, "TV:NOT_OWNER"); _; } function renounceOwnership() external override onlyOwner { pendingOwner = owner = address(0); emit OwnershipTransferred(msg.sender, address(0)); } function transferOwnership(address newOwner_) external override onlyOwner { pendingOwner = newOwner_; emit OwnershipTransferPending(msg.sender, newOwner_); } function acceptOwnership() external override { require(pendingOwner == msg.sender, "TV:NOT_PENDING_OWNER"); emit OwnershipTransferred(owner, msg.sender); owner = msg.sender; pendingOwner = address(0); } /*********************/ /*** Token Vesting ***/ /*********************/ function setVestingSchedules(address[] calldata receivers_, VestingSchedule[] calldata vestingSchedules_) external override onlyOwner { for (uint256 i; i < vestingSchedules_.length; ++i) { address receiver = receivers_[i]; vestingScheduleOf[receiver] = vestingSchedules_[i]; emit VestingScheduleSet(receiver); } } function fundVesting(uint256 totalTokens_) external override onlyOwner { require(totalVestingsTokens == uint256(0), "TV:ALREADY_FUNDED"); _safeTransferFrom(token, msg.sender, address(this), totalTokens_); totalVestingsTokens = totalTokens_; emit VestingFunded(totalTokens_); } function changeReceiver(address oldReceiver_, address newReceiver_) external override onlyOwner { // Swap old and new receivers' vesting schedule, using address(0) as a scratch space. // This is done to not overwrite an active vesting schedule. vestingScheduleOf[address(0)] = vestingScheduleOf[oldReceiver_]; vestingScheduleOf[oldReceiver_] = vestingScheduleOf[newReceiver_]; vestingScheduleOf[newReceiver_] = vestingScheduleOf[address(0)]; delete vestingScheduleOf[address(0)]; emit ReceiverChanged(oldReceiver_, newReceiver_); } function claimableTokens(address receiver_) public view override returns (uint256 claimableTokens_) { VestingSchedule storage vestingSchedule = vestingScheduleOf[receiver_]; uint256 totalPeriods = vestingSchedule.totalPeriods; if (totalPeriods == uint256(0)) return uint256(0); uint256 timePassed = block.timestamp - vestingSchedule.startTime; uint256 cliff = vestingSchedule.cliff; if (timePassed <= cliff) return uint256(0); uint256 multiplier = (timePassed - cliff) / vestingSchedule.timePerPeriod; return ( ( ( multiplier > totalPeriods ? totalPeriods : multiplier ) * vestingSchedule.totalTokens ) / totalPeriods ) - vestingSchedule.tokensClaimed; } function claimTokens(address destination_) external override { require(totalVestingsTokens > uint256(0), "TV:NOT_FUNDED"); VestingSchedule storage vestingSchedule = vestingScheduleOf[msg.sender]; uint256 tokensToClaim = claimableTokens(msg.sender); require(tokensToClaim > uint256(0), "TV:NO_CLAIMABLE"); // NOTE: Setting tokensClaimed before transfer will result in no additional transfer on a reentrance. vestingSchedule.tokensClaimed += tokensToClaim; _safeTransfer(token, destination_, tokensToClaim); emit TokensClaimed(msg.sender, tokensToClaim, destination_); } function killVesting(address receiver_, address destination_) external override onlyOwner { VestingSchedule storage vestingSchedule = vestingScheduleOf[receiver_]; uint256 totalTokens = vestingSchedule.totalTokens; uint256 tokensToClaim = totalTokens - vestingSchedule.tokensClaimed; // NOTE: Setting tokensClaimed before transfer will result in no additional transfer on a reentrance. vestingScheduleOf[receiver_].tokensClaimed = totalTokens; _safeTransfer(token, destination_, tokensToClaim); emit VestingKilled(receiver_, tokensToClaim, destination_); } /*********************/ /*** Miscellaneous ***/ /*********************/ function recoverToken(address token_, address destination_) external override onlyOwner { require(token_ != token, "TV:CANNOT_RECOVER_VESTING_TOKEN"); uint256 amount = IERC20Like(token_).balanceOf(address(this)); require(amount > uint256(0), "TV:NO_TOKEN"); _safeTransfer(token_, destination_, amount); emit RecoveredToken(token_, amount, destination_); } /******************/ /*** Safe ERC20 ***/ /******************/ function _safeTransfer(address token_, address to_, uint256 amount_) internal { ( bool success, bytes memory data ) = token_.call(abi.encodeWithSelector(IERC20Like.transfer.selector, to_, amount_)); require(success && (data.length == uint256(0) || abi.decode(data, (bool))), 'TV:SAFE_TRANSFER_FAILED'); } function _safeTransferFrom(address token_, address from_, address to_, uint256 amount_) internal { ( bool success, bytes memory data ) = token_.call(abi.encodeWithSelector(IERC20Like.transferFrom.selector, from_, to_, amount_)); require(success && (data.length == uint256(0) || abi.decode(data, (bool))), 'TV:SAFE_TRANSFER_FROM_FAILED'); } }
// SPDX-License-Identifier: UNLICENSED pragma solidity ^0.8.7; interface IERC20Like { function balanceOf(address account_) external view returns (uint256 balance_); function transfer(address recipient_, uint256 amount_) external returns (bool success_); function allowance(address owner_, address spender_) external view returns (uint256 allowance_); function approve(address spender_, uint256 amount_) external returns (bool success_); function transferFrom(address sender_, address recipient_, uint256 amount_) external returns (bool success_); }
// SPDX-License-Identifier: UNLICENSED pragma solidity ^0.8.7; interface ITokenVesting { /**************************/ /*** Contract Ownership ***/ /**************************/ event OwnershipTransferPending(address indexed owner, address indexed pendingOwner); event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /// @dev Returns the owner of the contract. function owner() external view returns (address owner_); /// @dev Returns the pending owner of the contract. function pendingOwner() external view returns (address pendingOwner_); /// @dev Leaves the contract without owner, and clears the pendingOwner, if any. function renounceOwnership() external; /// @dev Allows a new account to take ownership of the contract. function transferOwnership(address newOwner_) external; /// @dev Takes ownership of the contract. function acceptOwnership() external; /*********************/ /*** Token Vesting ***/ /*********************/ /** * @dev Is emitted when a token vesting schedule is set for a receiver. * @param receiver_ The receiver of a token vesting schedule. */ event VestingScheduleSet(address indexed receiver_); /** * @dev Is emitted when the contract is funded for vesting. * @param totalTokens_ The total amount of tokens to be vested. */ event VestingFunded(uint256 totalTokens_); /** * @dev Is emitted when the receiver of a token vesting schedule is changed. * @param oldReceiver The old receiver of the token vesting schedule. * @param newReceiver The new receiver of the token vesting schedule. */ event ReceiverChanged(address indexed oldReceiver, address indexed newReceiver); /** * @dev Is emitted when the token vesting schedule for a receiver is killed. * @param receiver_ The receiver that had its token vesting schedule killed. * @param tokensClaimed_ The amount of tokens claimed. * @param destination_ The destination the token have been sent to. */ event VestingKilled(address indexed receiver_, uint256 tokensClaimed_, address indexed destination_); /** * @dev Is emitted when a receiver claims tokens from its vesting schedule. * @param receiver_ The receiver of a token vesting schedule. * @param tokensClaimed_ The amount of tokens claimed. * @param destination_ The destination the claimed tokens have been sent to. */ event TokensClaimed(address indexed receiver_, uint256 tokensClaimed_, address indexed destination_); struct VestingSchedule { uint256 startTime; uint256 cliff; uint256 totalPeriods; uint256 timePerPeriod; uint256 totalTokens; uint256 tokensClaimed; } /// @dev The vesting token. function token() external returns (address token_); /// @dev The total amount of tokens being vested. function totalVestingsTokens() external returns (uint256 totalVestingsTokens_); /** * @dev Returns the vesting schedule of a receiver. * @param receiver_ The receiver of a vesting schedule. */ function vestingScheduleOf(address receiver_) external returns ( uint256 startTime_, uint256 cliff_, uint256 totalPeriods_, uint256 timePerPeriod_, uint256 totalTokens_, uint256 tokensClaimed_ ); /** * @dev Set the vesting schedules for some receivers, respectively. * @param receivers_ An array of receivers of vesting schedules. * @param vestings_ An array of vesting schedules. */ function setVestingSchedules(address[] calldata receivers_, VestingSchedule[] calldata vestings_) external; /** * @dev Fund the contact with tokens that will be vested. * @param totalTokens_ The amount of tokens that will be supplied to this contract. */ function fundVesting(uint256 totalTokens_) external; /** * @dev Change the receiver of an existing vesting schedule. * @param oldReceiver_ The old receiver address. * @param newReceiver_ The new receiver address. */ function changeReceiver(address oldReceiver_, address newReceiver_) external; /** * @dev Returns the amount of claimable tokens for a receiver of a vesting schedule. * @param receiver_ The receiver address. * @return claimableTokens_ The amount of claimable tokens. */ function claimableTokens(address receiver_) external view returns (uint256 claimableTokens_); /** * @dev Claim the callers tokens of a vesting schedule. * @param destination_ The destination to send the tokens. */ function claimTokens(address destination_) external; /** * @dev Kill the vesting schedule for a receiver. * @param receiver_ The receiver address. * @param destination_ The destination to send the tokens. */ function killVesting(address receiver_, address destination_) external; /*********************/ /*** Miscellaneous ***/ /*********************/ /** * @dev Is emitted when some ERC20 token is recovered from the contract. * @param token The address of the token. * @param amount The amount of token recovered. * @param destination The destination the token was sent to. */ event RecoveredToken(address indexed token, uint256 amount, address indexed destination); /** * @dev Recover tokens owned by the contract. * @param token_ The token address. * @param destination_ The destination to send the ETH. */ function recoverToken(address token_, address destination_) external; }
// SPDX-License-Identifier: AGPL-3.0-only pragma solidity ^0.8.7; contract MockERC20 { string public name; string public symbol; uint8 public immutable decimals; uint256 public totalSupply; mapping(address => uint256) public balanceOf; mapping(address => mapping(address => uint256)) public allowance; constructor(string memory name_, string memory symbol_, uint8 decimals_) { name = name_; symbol = symbol_; decimals = decimals_; } function approve(address spender_, uint256 amount_) external returns (bool success_) { _approve(msg.sender, spender_, amount_); return true; } function transfer(address to_, uint256 amount_) external returns (bool success_) { _transfer(msg.sender, to_, amount_); return true; } function transferFrom(address owner_, address recipient_, uint256 amount_) external returns (bool success_) { _approve(owner_, msg.sender, allowance[owner_][msg.sender] - amount_); _transfer(owner_, recipient_, amount_); return true; } function mint(address recipient_, uint256 amount_) external returns (bool success_) { _mint(recipient_, amount_); return true; } function burn(address owner_, uint256 amount_) internal returns (bool success_) { _burn(owner_, amount_); return true; } function _approve(address owner_, address spender_, uint256 amount_) internal { allowance[owner_][spender_] = amount_; } function _transfer(address owner_, address recipient_, uint256 amount_) internal { balanceOf[owner_] -= amount_; balanceOf[recipient_] += amount_; } function _mint(address recipient_, uint256 amount_) internal { totalSupply += amount_; balanceOf[recipient_] += amount_; } function _burn(address owner_, uint256 amount_) internal { balanceOf[owner_] -= amount_; totalSupply -= amount_; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"token_","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"pendingOwner","type":"address"}],"name":"OwnershipTransferPending","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"oldReceiver","type":"address"},{"indexed":true,"internalType":"address","name":"newReceiver","type":"address"}],"name":"ReceiverChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"token","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":true,"internalType":"address","name":"destination","type":"address"}],"name":"RecoveredToken","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"receiver_","type":"address"},{"indexed":false,"internalType":"uint256","name":"tokensClaimed_","type":"uint256"},{"indexed":true,"internalType":"address","name":"destination_","type":"address"}],"name":"TokensClaimed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"totalTokens_","type":"uint256"}],"name":"VestingFunded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"receiver_","type":"address"},{"indexed":false,"internalType":"uint256","name":"tokensClaimed_","type":"uint256"},{"indexed":true,"internalType":"address","name":"destination_","type":"address"}],"name":"VestingKilled","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"receiver_","type":"address"}],"name":"VestingScheduleSet","type":"event"},{"inputs":[],"name":"acceptOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"oldReceiver_","type":"address"},{"internalType":"address","name":"newReceiver_","type":"address"}],"name":"changeReceiver","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"destination_","type":"address"}],"name":"claimTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"receiver_","type":"address"}],"name":"claimableTokens","outputs":[{"internalType":"uint256","name":"claimableTokens_","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"totalTokens_","type":"uint256"}],"name":"fundVesting","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"receiver_","type":"address"},{"internalType":"address","name":"destination_","type":"address"}],"name":"killVesting","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pendingOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"token_","type":"address"},{"internalType":"address","name":"destination_","type":"address"}],"name":"recoverToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"receivers_","type":"address[]"},{"components":[{"internalType":"uint256","name":"startTime","type":"uint256"},{"internalType":"uint256","name":"cliff","type":"uint256"},{"internalType":"uint256","name":"totalPeriods","type":"uint256"},{"internalType":"uint256","name":"timePerPeriod","type":"uint256"},{"internalType":"uint256","name":"totalTokens","type":"uint256"},{"internalType":"uint256","name":"tokensClaimed","type":"uint256"}],"internalType":"struct ITokenVesting.VestingSchedule[]","name":"vestingSchedules_","type":"tuple[]"}],"name":"setVestingSchedules","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"token","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalVestingsTokens","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":"vestingScheduleOf","outputs":[{"internalType":"uint256","name":"startTime","type":"uint256"},{"internalType":"uint256","name":"cliff","type":"uint256"},{"internalType":"uint256","name":"totalPeriods","type":"uint256"},{"internalType":"uint256","name":"timePerPeriod","type":"uint256"},{"internalType":"uint256","name":"totalTokens","type":"uint256"},{"internalType":"uint256","name":"tokensClaimed","type":"uint256"}],"stateMutability":"view","type":"function"}]
Contract Creation Code
608060405234801561001057600080fd5b5060405161125138038061125183398101604081905261002f91610062565b60008054336001600160a01b031991821617909155600280549091166001600160a01b0392909216919091179055610092565b60006020828403121561007457600080fd5b81516001600160a01b038116811461008b57600080fd5b9392505050565b6111b0806100a16000396000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c806384d2422611610097578063e30c397811610066578063e30c397814610235578063f2fde38b14610248578063fc0c546a1461025b578063feaea5861461026e57600080fd5b806384d24226146101d15780638da5cb5b146101e4578063a52b2e821461020f578063df8de3e71461022257600080fd5b8063715018a6116100d3578063715018a61461013e57806373913545146101465780637828f8a71461015957806379ba5097146101c957600080fd5b80634c69ec93146100fa578063537658581461010f57806362ecef4214610122575b600080fd5b61010d610108366004610f13565b610281565b005b61010d61011d366004610f13565b6104eb565b61012b60035481565b6040519081526020015b60405180910390f35b61010d6105cb565b61010d610154366004611030565b61063c565b61019c610167366004610ef1565b600460208190526000918252604090912080546001820154600283015460038401549484015460059094015492949193909286565b604080519687526020870195909552938501929092526060840152608083015260a082015260c001610135565b61010d6106fd565b61012b6101df366004610ef1565b6107a6565b6000546101f7906001600160a01b031681565b6040516001600160a01b039091168152602001610135565b61010d61021d366004610f46565b61085d565b61010d610230366004610ef1565b610980565b6001546101f7906001600160a01b031681565b61010d610256366004610ef1565b610a95565b6002546101f7906001600160a01b031681565b61010d61027c366004610f13565b610b0b565b6000546001600160a01b031633146102b45760405162461bcd60e51b81526004016102ab9061109d565b60405180910390fd5b60046000836001600160a01b03166001600160a01b0316815260200190815260200160002060046000806001600160a01b03166001600160a01b0316815260200190815260200160002060008201548160000155600182015481600101556002820154816002015560038201548160030155600482015481600401556005820154816005015590505060046000826001600160a01b03166001600160a01b0316815260200190815260200160002060046000846001600160a01b03166001600160a01b0316815260200190815260200160002060008201548160000155600182015481600101556002820154816002015560038201548160030155600482015481600401556005820154816005015590505060046000806001600160a01b03166001600160a01b0316815260200190815260200160002060046000836001600160a01b03166001600160a01b0316815260200190815260200160002060008201548160000155600182015481600101556002820154816002015560038201548160030155600482015481600401556005820154816005015590505060046000806001600160a01b03166001600160a01b03168152602001908152602001600020600080820160009055600182016000905560028201600090556003820160009055600482016000905560058201600090555050806001600160a01b0316826001600160a01b03167fd36aafedb017e43b79d3cf6aa1987d3fbb9fff33e1738c71dbf6b2abaadbded060405160405180910390a35050565b6000546001600160a01b031633146105155760405162461bcd60e51b81526004016102ab9061109d565b6001600160a01b0382166000908152600460208190526040822090810154600582015491929091610546908361111c565b6001600160a01b03808716600090815260046020526040902060050184905560025491925061057791168583610c9d565b836001600160a01b0316856001600160a01b03167f1c74d9d52cde9d0f15138d3131a914ca474348a0e89fd7d8a1599039c1e18e40836040516105bc91815260200190565b60405180910390a35050505050565b6000546001600160a01b031633146105f55760405162461bcd60e51b81526004016102ab9061109d565b600080546001600160a01b0319908116825560018054909116905560405133907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3565b6000546001600160a01b031633146106665760405162461bcd60e51b81526004016102ab9061109d565b600354156106aa5760405162461bcd60e51b815260206004820152601160248201527015158e9053149150511657d19553911151607a1b60448201526064016102ab565b6002546106c2906001600160a01b0316333084610db1565b60038190556040518181527f3677c9434f5ab443cebe570bd0549adb7149a47c57a250985034f42dbea50e469060200160405180910390a150565b6001546001600160a01b0316331461074e5760405162461bcd60e51b81526020600482015260146024820152732a2b1d2727aa2fa822a72224a723afa7aba722a960611b60448201526064016102ab565b6000805460405133926001600160a01b03909216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b03199081163317909155600180549091169055565b6001600160a01b03811660009081526004602052604081206002810154806107d2575060009392505050565b81546000906107e1904261111c565b60018401549091508082116107fc5750600095945050505050565b600384015460009061080e838561111c565b61081891906110db565b905084600501548486600401548684116108325783610834565b865b61083e91906110fd565b61084891906110db565b610852919061111c565b979650505050505050565b6000546001600160a01b031633146108875760405162461bcd60e51b81526004016102ab9061109d565b60005b818110156109795760008585838181106108a6576108a6611164565b90506020020160208101906108bb9190610ef1565b90508383838181106108cf576108cf611164565b6001600160a01b038416600090815260046020526040902060c0909102929092019190506109328282813581556020820135600182015560408201356002820155606082013560038201556080820135600482015560a082013560058201555050565b50506040516001600160a01b038216907fad6c90e26411f59c32b869505ebb4f0298425b4e9dd8aa92c7a9b13442f1fc9590600090a25061097281611133565b905061088a565b5050505050565b6000600354116109c25760405162461bcd60e51b815260206004820152600d60248201526c15158e9393d517d19553911151609a1b60448201526064016102ab565b336000818152600460205260408120916109db906107a6565b905060008111610a1f5760405162461bcd60e51b815260206004820152600f60248201526e54563a4e4f5f434c41494d41424c4560881b60448201526064016102ab565b80826005016000828254610a3391906110c3565b9091555050600254610a4f906001600160a01b03168483610c9d565b6040518181526001600160a01b0384169033907fa96ccbd516e1bb3e6dad792a13a75e8afcf013d3ff446f07416945f5efd46062906020015b60405180910390a3505050565b6000546001600160a01b03163314610abf5760405162461bcd60e51b81526004016102ab9061109d565b600180546001600160a01b0319166001600160a01b03831690811790915560405133907f8573d4aae9f7fb051c6b88d7440011a1c12376acda6603a45f45bad36a8db4ce90600090a350565b6000546001600160a01b03163314610b355760405162461bcd60e51b81526004016102ab9061109d565b6002546001600160a01b0383811691161415610b935760405162461bcd60e51b815260206004820152601f60248201527f54563a43414e4e4f545f5245434f5645525f56455354494e475f544f4b454e0060448201526064016102ab565b6040516370a0823160e01b81523060048201526000906001600160a01b038416906370a082319060240160206040518083038186803b158015610bd557600080fd5b505afa158015610be9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c0d9190611049565b905060008111610c4d5760405162461bcd60e51b815260206004820152600b60248201526a2a2b1d2727afaa27a5a2a760a91b60448201526064016102ab565b610c58838383610c9d565b816001600160a01b0316836001600160a01b03167f06fbbb545a0f80e8f0fe29d731148729a130754066a48802b5999c11acdf52ce83604051610a8891815260200190565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b1790529151600092839290871691610cf99190611062565b6000604051808303816000865af19150503d8060008114610d36576040519150601f19603f3d011682016040523d82523d6000602084013e610d3b565b606091505b5091509150818015610d65575080511580610d65575080806020019051810190610d65919061100e565b6109795760405162461bcd60e51b815260206004820152601760248201527f54563a534146455f5452414e534645525f4641494c454400000000000000000060448201526064016102ab565b604080516001600160a01b0385811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180516001600160e01b03166323b872dd60e01b1790529151600092839290881691610e159190611062565b6000604051808303816000865af19150503d8060008114610e52576040519150601f19603f3d011682016040523d82523d6000602084013e610e57565b606091505b5091509150818015610e81575080511580610e81575080806020019051810190610e81919061100e565b610ecd5760405162461bcd60e51b815260206004820152601c60248201527f54563a534146455f5452414e534645525f46524f4d5f4641494c45440000000060448201526064016102ab565b505050505050565b80356001600160a01b0381168114610eec57600080fd5b919050565b600060208284031215610f0357600080fd5b610f0c82610ed5565b9392505050565b60008060408385031215610f2657600080fd5b610f2f83610ed5565b9150610f3d60208401610ed5565b90509250929050565b60008060008060408587031215610f5c57600080fd5b843567ffffffffffffffff80821115610f7457600080fd5b818701915087601f830112610f8857600080fd5b813581811115610f9757600080fd5b8860208260051b8501011115610fac57600080fd5b602092830196509450908601359080821115610fc757600080fd5b818701915087601f830112610fdb57600080fd5b813581811115610fea57600080fd5b88602060c083028501011115610fff57600080fd5b95989497505060200194505050565b60006020828403121561102057600080fd5b81518015158114610f0c57600080fd5b60006020828403121561104257600080fd5b5035919050565b60006020828403121561105b57600080fd5b5051919050565b6000825160005b818110156110835760208186018101518583015201611069565b81811115611092576000828501525b509190910192915050565b6020808252600c908201526b2a2b1d2727aa2fa7aba722a960a11b604082015260600190565b600082198211156110d6576110d661114e565b500190565b6000826110f857634e487b7160e01b600052601260045260246000fd5b500490565b60008160001904831182151516156111175761111761114e565b500290565b60008282101561112e5761112e61114e565b500390565b60006000198214156111475761114761114e565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fdfea26469706673582212200a7e41f1fad3425402689cc124e4aa986f30dace2948c3a804f2a0491906c01764736f6c6343000807003300000000000000000000000072b886d09c117654ab7da13a14d603001de0b777
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100f55760003560e01c806384d2422611610097578063e30c397811610066578063e30c397814610235578063f2fde38b14610248578063fc0c546a1461025b578063feaea5861461026e57600080fd5b806384d24226146101d15780638da5cb5b146101e4578063a52b2e821461020f578063df8de3e71461022257600080fd5b8063715018a6116100d3578063715018a61461013e57806373913545146101465780637828f8a71461015957806379ba5097146101c957600080fd5b80634c69ec93146100fa578063537658581461010f57806362ecef4214610122575b600080fd5b61010d610108366004610f13565b610281565b005b61010d61011d366004610f13565b6104eb565b61012b60035481565b6040519081526020015b60405180910390f35b61010d6105cb565b61010d610154366004611030565b61063c565b61019c610167366004610ef1565b600460208190526000918252604090912080546001820154600283015460038401549484015460059094015492949193909286565b604080519687526020870195909552938501929092526060840152608083015260a082015260c001610135565b61010d6106fd565b61012b6101df366004610ef1565b6107a6565b6000546101f7906001600160a01b031681565b6040516001600160a01b039091168152602001610135565b61010d61021d366004610f46565b61085d565b61010d610230366004610ef1565b610980565b6001546101f7906001600160a01b031681565b61010d610256366004610ef1565b610a95565b6002546101f7906001600160a01b031681565b61010d61027c366004610f13565b610b0b565b6000546001600160a01b031633146102b45760405162461bcd60e51b81526004016102ab9061109d565b60405180910390fd5b60046000836001600160a01b03166001600160a01b0316815260200190815260200160002060046000806001600160a01b03166001600160a01b0316815260200190815260200160002060008201548160000155600182015481600101556002820154816002015560038201548160030155600482015481600401556005820154816005015590505060046000826001600160a01b03166001600160a01b0316815260200190815260200160002060046000846001600160a01b03166001600160a01b0316815260200190815260200160002060008201548160000155600182015481600101556002820154816002015560038201548160030155600482015481600401556005820154816005015590505060046000806001600160a01b03166001600160a01b0316815260200190815260200160002060046000836001600160a01b03166001600160a01b0316815260200190815260200160002060008201548160000155600182015481600101556002820154816002015560038201548160030155600482015481600401556005820154816005015590505060046000806001600160a01b03166001600160a01b03168152602001908152602001600020600080820160009055600182016000905560028201600090556003820160009055600482016000905560058201600090555050806001600160a01b0316826001600160a01b03167fd36aafedb017e43b79d3cf6aa1987d3fbb9fff33e1738c71dbf6b2abaadbded060405160405180910390a35050565b6000546001600160a01b031633146105155760405162461bcd60e51b81526004016102ab9061109d565b6001600160a01b0382166000908152600460208190526040822090810154600582015491929091610546908361111c565b6001600160a01b03808716600090815260046020526040902060050184905560025491925061057791168583610c9d565b836001600160a01b0316856001600160a01b03167f1c74d9d52cde9d0f15138d3131a914ca474348a0e89fd7d8a1599039c1e18e40836040516105bc91815260200190565b60405180910390a35050505050565b6000546001600160a01b031633146105f55760405162461bcd60e51b81526004016102ab9061109d565b600080546001600160a01b0319908116825560018054909116905560405133907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3565b6000546001600160a01b031633146106665760405162461bcd60e51b81526004016102ab9061109d565b600354156106aa5760405162461bcd60e51b815260206004820152601160248201527015158e9053149150511657d19553911151607a1b60448201526064016102ab565b6002546106c2906001600160a01b0316333084610db1565b60038190556040518181527f3677c9434f5ab443cebe570bd0549adb7149a47c57a250985034f42dbea50e469060200160405180910390a150565b6001546001600160a01b0316331461074e5760405162461bcd60e51b81526020600482015260146024820152732a2b1d2727aa2fa822a72224a723afa7aba722a960611b60448201526064016102ab565b6000805460405133926001600160a01b03909216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b03199081163317909155600180549091169055565b6001600160a01b03811660009081526004602052604081206002810154806107d2575060009392505050565b81546000906107e1904261111c565b60018401549091508082116107fc5750600095945050505050565b600384015460009061080e838561111c565b61081891906110db565b905084600501548486600401548684116108325783610834565b865b61083e91906110fd565b61084891906110db565b610852919061111c565b979650505050505050565b6000546001600160a01b031633146108875760405162461bcd60e51b81526004016102ab9061109d565b60005b818110156109795760008585838181106108a6576108a6611164565b90506020020160208101906108bb9190610ef1565b90508383838181106108cf576108cf611164565b6001600160a01b038416600090815260046020526040902060c0909102929092019190506109328282813581556020820135600182015560408201356002820155606082013560038201556080820135600482015560a082013560058201555050565b50506040516001600160a01b038216907fad6c90e26411f59c32b869505ebb4f0298425b4e9dd8aa92c7a9b13442f1fc9590600090a25061097281611133565b905061088a565b5050505050565b6000600354116109c25760405162461bcd60e51b815260206004820152600d60248201526c15158e9393d517d19553911151609a1b60448201526064016102ab565b336000818152600460205260408120916109db906107a6565b905060008111610a1f5760405162461bcd60e51b815260206004820152600f60248201526e54563a4e4f5f434c41494d41424c4560881b60448201526064016102ab565b80826005016000828254610a3391906110c3565b9091555050600254610a4f906001600160a01b03168483610c9d565b6040518181526001600160a01b0384169033907fa96ccbd516e1bb3e6dad792a13a75e8afcf013d3ff446f07416945f5efd46062906020015b60405180910390a3505050565b6000546001600160a01b03163314610abf5760405162461bcd60e51b81526004016102ab9061109d565b600180546001600160a01b0319166001600160a01b03831690811790915560405133907f8573d4aae9f7fb051c6b88d7440011a1c12376acda6603a45f45bad36a8db4ce90600090a350565b6000546001600160a01b03163314610b355760405162461bcd60e51b81526004016102ab9061109d565b6002546001600160a01b0383811691161415610b935760405162461bcd60e51b815260206004820152601f60248201527f54563a43414e4e4f545f5245434f5645525f56455354494e475f544f4b454e0060448201526064016102ab565b6040516370a0823160e01b81523060048201526000906001600160a01b038416906370a082319060240160206040518083038186803b158015610bd557600080fd5b505afa158015610be9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c0d9190611049565b905060008111610c4d5760405162461bcd60e51b815260206004820152600b60248201526a2a2b1d2727afaa27a5a2a760a91b60448201526064016102ab565b610c58838383610c9d565b816001600160a01b0316836001600160a01b03167f06fbbb545a0f80e8f0fe29d731148729a130754066a48802b5999c11acdf52ce83604051610a8891815260200190565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b1790529151600092839290871691610cf99190611062565b6000604051808303816000865af19150503d8060008114610d36576040519150601f19603f3d011682016040523d82523d6000602084013e610d3b565b606091505b5091509150818015610d65575080511580610d65575080806020019051810190610d65919061100e565b6109795760405162461bcd60e51b815260206004820152601760248201527f54563a534146455f5452414e534645525f4641494c454400000000000000000060448201526064016102ab565b604080516001600160a01b0385811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180516001600160e01b03166323b872dd60e01b1790529151600092839290881691610e159190611062565b6000604051808303816000865af19150503d8060008114610e52576040519150601f19603f3d011682016040523d82523d6000602084013e610e57565b606091505b5091509150818015610e81575080511580610e81575080806020019051810190610e81919061100e565b610ecd5760405162461bcd60e51b815260206004820152601c60248201527f54563a534146455f5452414e534645525f46524f4d5f4641494c45440000000060448201526064016102ab565b505050505050565b80356001600160a01b0381168114610eec57600080fd5b919050565b600060208284031215610f0357600080fd5b610f0c82610ed5565b9392505050565b60008060408385031215610f2657600080fd5b610f2f83610ed5565b9150610f3d60208401610ed5565b90509250929050565b60008060008060408587031215610f5c57600080fd5b843567ffffffffffffffff80821115610f7457600080fd5b818701915087601f830112610f8857600080fd5b813581811115610f9757600080fd5b8860208260051b8501011115610fac57600080fd5b602092830196509450908601359080821115610fc757600080fd5b818701915087601f830112610fdb57600080fd5b813581811115610fea57600080fd5b88602060c083028501011115610fff57600080fd5b95989497505060200194505050565b60006020828403121561102057600080fd5b81518015158114610f0c57600080fd5b60006020828403121561104257600080fd5b5035919050565b60006020828403121561105b57600080fd5b5051919050565b6000825160005b818110156110835760208186018101518583015201611069565b81811115611092576000828501525b509190910192915050565b6020808252600c908201526b2a2b1d2727aa2fa7aba722a960a11b604082015260600190565b600082198211156110d6576110d661114e565b500190565b6000826110f857634e487b7160e01b600052601260045260246000fd5b500490565b60008160001904831182151516156111175761111761114e565b500290565b60008282101561112e5761112e61114e565b500390565b60006000198214156111475761114761114e565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fdfea26469706673582212200a7e41f1fad3425402689cc124e4aa986f30dace2948c3a804f2a0491906c01764736f6c63430008070033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000072b886d09c117654ab7da13a14d603001de0b777
-----Decoded View---------------
Arg [0] : token_ (address): 0x72B886d09C117654aB7dA13A14d603001dE0B777
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 00000000000000000000000072b886d09c117654ab7da13a14d603001de0b777
Deployed Bytecode Sourcemap
407:6097:3:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2465:593;;;;;;:::i;:::-;;:::i;:::-;;4614:620;;;;;;:::i;:::-;;:::i;566:43::-;;;;;;;;;7025:25:4;;;7013:2;6998:18;566:43:3;;;;;;;;1079:167;;;:::i;2144:315::-;;;;;;:::i;:::-;;:::i;616:69::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7348:25:4;;;7404:2;7389:18;;7382:34;;;;7432:18;;;7425:34;;;;7490:2;7475:18;;7468:34;7533:3;7518:19;;7511:35;7577:3;7562:19;;7555:35;7335:3;7320:19;616:69:3;7061:535:4;1436:240:3;;;:::i;3064:896::-;;;;;;:::i;:::-;;:::i;453:29::-;;;;;-1:-1:-1;;;;;453:29:3;;;;;;-1:-1:-1;;;;;3045:32:4;;;3027:51;;3015:2;3000:18;453:29:3;2881:203:4;1767:371:3;;;;;;:::i;:::-;;:::i;3966:642::-;;;;;;:::i;:::-;;:::i;488:36::-;;;;;-1:-1:-1;;;;;488:36:3;;;1252:178;;;;;;:::i;:::-;;:::i;531:29::-;;;;;-1:-1:-1;;;;;531:29:3;;;5325:403;;;;;;:::i;:::-;;:::i;2465:593::-;1019:5;;-1:-1:-1;;;;;1019:5:3;1028:10;1019:19;1011:44;;;;-1:-1:-1;;;1011:44:3;;;;;;;:::i;:::-;;;;;;;;;2766:17:::1;:31;2784:12;-1:-1:-1::0;;;;;2766:31:3::1;-1:-1:-1::0;;;;;2766:31:3::1;;;;;;;;;;;;2734:17;:29;2760:1:::0;-1:-1:-1;;;;;2734:29:3::1;-1:-1:-1::0;;;;;2734:29:3::1;;;;;;;;;;;;:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2841:17;:31;2859:12;-1:-1:-1::0;;;;;2841:31:3::1;-1:-1:-1::0;;;;;2841:31:3::1;;;;;;;;;;;;2807:17;:31;2825:12;-1:-1:-1::0;;;;;2807:31:3::1;-1:-1:-1::0;;;;;2807:31:3::1;;;;;;;;;;;;:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2916:17;:29;2942:1:::0;-1:-1:-1;;;;;2916:29:3::1;-1:-1:-1::0;;;;;2916:29:3::1;;;;;;;;;;;;2882:17;:31;2900:12;-1:-1:-1::0;;;;;2882:31:3::1;-1:-1:-1::0;;;;;2882:31:3::1;;;;;;;;;;;;:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2963:17;:29;2989:1:::0;-1:-1:-1;;;;;2963:29:3::1;-1:-1:-1::0;;;;;2963:29:3::1;;;;;;;;;;;;;2956:36:::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3038:12;-1:-1:-1::0;;;;;3008:43:3::1;3024:12;-1:-1:-1::0;;;;;3008:43:3::1;;;;;;;;;;;2465:593:::0;;:::o;4614:620::-;1019:5;;-1:-1:-1;;;;;1019:5:3;1028:10;1019:19;1011:44;;;;-1:-1:-1;;;1011:44:3;;;;;;;:::i;:::-;-1:-1:-1;;;;;4756:28:3;::::1;4714:39;4756:28:::0;;;:17:::1;:28;::::0;;;;;;4817:27;;::::1;::::0;4892:29:::1;::::0;::::1;::::0;4756:28;;4817:27;;4878:43:::1;::::0;4817:27;4878:43:::1;:::i;:::-;-1:-1:-1::0;;;;;5042:28:3;;::::1;;::::0;;;:17:::1;:28;::::0;;;;:42:::1;;:56:::0;;;5123:5:::1;::::0;4854:67;;-1:-1:-1;5109:49:3::1;::::0;5123:5:::1;5130:12:::0;4854:67;5109:13:::1;:49::i;:::-;5214:12;-1:-1:-1::0;;;;;5174:53:3::1;5188:9;-1:-1:-1::0;;;;;5174:53:3::1;;5199:13;5174:53;;;;7025:25:4::0;;7013:2;6998:18;;6879:177;5174:53:3::1;;;;;;;;4704:530;;;4614:620:::0;;:::o;1079:167::-;1019:5;;-1:-1:-1;;;;;1019:5:3;1028:10;1019:19;1011:44;;;;-1:-1:-1;;;1011:44:3;;;;;;;:::i;:::-;1177:1:::1;1161:18:::0;;-1:-1:-1;;;;;;1161:18:3;;::::1;::::0;;;1146:33;;;;::::1;::::0;;1195:44:::1;::::0;1216:10:::1;::::0;1195:44:::1;::::0;1177:1;;1195:44:::1;1079:167::o:0;2144:315::-;1019:5;;-1:-1:-1;;;;;1019:5:3;1028:10;1019:19;1011:44;;;;-1:-1:-1;;;1011:44:3;;;;;;;:::i;:::-;2233:19:::1;::::0;:33;2225:63:::1;;;::::0;-1:-1:-1;;;2225:63:3;;5679:2:4;2225:63:3::1;::::0;::::1;5661:21:4::0;5718:2;5698:18;;;5691:30;-1:-1:-1;;;5737:18:4;;;5730:47;5794:18;;2225:63:3::1;5477:341:4::0;2225:63:3::1;2317:5;::::0;2299:65:::1;::::0;-1:-1:-1;;;;;2317:5:3::1;2324:10;2344:4;2351:12:::0;2299:17:::1;:65::i;:::-;2375:19;:34:::0;;;2425:27:::1;::::0;7025:25:4;;;2425:27:3::1;::::0;7013:2:4;6998:18;2425:27:3::1;;;;;;;2144:315:::0;:::o;1436:240::-;1499:12;;-1:-1:-1;;;;;1499:12:3;1515:10;1499:26;1491:59;;;;-1:-1:-1;;;1491:59:3;;5330:2:4;1491:59:3;;;5312:21:4;5369:2;5349:18;;;5342:30;-1:-1:-1;;;5388:18:4;;;5381:50;5448:18;;1491:59:3;5128:344:4;1491:59:3;1587:5;;;1566:39;;1594:10;;-1:-1:-1;;;;;1587:5:3;;;;1566:39;;;1616:5;:18;;-1:-1:-1;;;;;;1616:18:3;;;1624:10;1616:18;;;;;1644:25;;;;;;;1436:240::o;3064:896::-;-1:-1:-1;;;;;3216:28:3;;3138:24;3216:28;;;:17;:28;;;;;3278;;;;3321:26;3317:49;;-1:-1:-1;3364:1:3;;3064:896;-1:-1:-1;;;3064:896:3:o;3317:49::-;3416:25;;3377:18;;3398:43;;:15;:43;:::i;:::-;3467:21;;;;3377:64;;-1:-1:-1;3503:19:3;;;3499:42;;-1:-1:-1;3539:1:3;;3064:896;-1:-1:-1;;;;;3064:896:3:o;3499:42::-;3596:29;;;;3552:18;;3574;3587:5;3574:10;:18;:::i;:::-;3573:52;;;;:::i;:::-;3552:73;;3924:15;:29;;;3883:12;3819:15;:27;;;3734:12;3721:10;:25;:53;;3764:10;3721:53;;;3749:12;3721:53;3695:151;;;;:::i;:::-;3673:222;;;;:::i;:::-;3655:298;;;;:::i;:::-;3636:317;3064:896;-1:-1:-1;;;;;;;3064:896:3:o;1767:371::-;1019:5;;-1:-1:-1;;;;;1019:5:3;1028:10;1019:19;1011:44;;;;-1:-1:-1;;;1011:44:3;;;;;;;:::i;:::-;1916:9:::1;1911:221;1927:28:::0;;::::1;1911:221;;;1976:16;1995:10;;2006:1;1995:13;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;1976:32;;2053:17;;2071:1;2053:20;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;2023:27:3;::::1;;::::0;;;:17:::1;:27;::::0;;;;2053:20:::1;::::0;;::::1;::::0;;;::::1;::::0;2023:27;-1:-1:-1;2023:50:3::1;2053:20:::0;2023:27;8838:5:4;8825:19;8819:4;8812:33;8899:2;8892:5;8888:14;8875:28;8871:1;8865:4;8861:12;8854:50;8958:2;8951:5;8947:14;8934:28;8930:1;8924:4;8920:12;8913:50;9017:2;9010:5;9006:14;8993:28;8989:1;8983:4;8979:12;8972:50;9076:3;9069:5;9065:15;9052:29;9048:1;9042:4;9038:12;9031:51;9136:3;9129:5;9125:15;9112:29;9108:1;9102:4;9098:12;9091:51;;;8663:485;2023:50:3::1;-1:-1:-1::0;;2093:28:3::1;::::0;-1:-1:-1;;;;;2093:28:3;::::1;::::0;::::1;::::0;;;::::1;-1:-1:-1::0;1957:3:3::1;::::0;::::1;:::i;:::-;;;1911:221;;;;1767:371:::0;;;;:::o;3966:642::-;4075:1;4045:19;;:32;4037:58;;;;-1:-1:-1;;;4037:58:3;;4290:2:4;4037:58:3;;;4272:21:4;4329:2;4309:18;;;4302:30;-1:-1:-1;;;4348:18:4;;;4341:43;4401:18;;4037:58:3;4088:337:4;4037:58:3;4166:10;4106:39;4148:29;;;:17;:29;;;;;;4212:27;;:15;:27::i;:::-;4188:51;;4282:1;4258:13;:26;4250:54;;;;-1:-1:-1;;;4250:54:3;;6737:2:4;4250:54:3;;;6719:21:4;6776:2;6756:18;;;6749:30;-1:-1:-1;;;6795:18:4;;;6788:45;6850:18;;4250:54:3;6535:339:4;4250:54:3;4458:13;4425:15;:29;;;:46;;;;;;;:::i;:::-;;;;-1:-1:-1;;4496:5:3;;4482:49;;-1:-1:-1;;;;;4496:5:3;4503:12;4517:13;4482;:49::i;:::-;4547:54;;7025:25:4;;;-1:-1:-1;;;;;4547:54:3;;;4561:10;;4547:54;;7013:2:4;6998:18;4547:54:3;;;;;;;;4027:581;;3966:642;:::o;1252:178::-;1019:5;;-1:-1:-1;;;;;1019:5:3;1028:10;1019:19;1011:44;;;;-1:-1:-1;;;1011:44:3;;;;;;;:::i;:::-;1336:12:::1;:24:::0;;-1:-1:-1;;;;;;1336:24:3::1;-1:-1:-1::0;;;;;1336:24:3;::::1;::::0;;::::1;::::0;;;1376:47:::1;::::0;1401:10:::1;::::0;1376:47:::1;::::0;-1:-1:-1;;1376:47:3::1;1252:178:::0;:::o;5325:403::-;1019:5;;-1:-1:-1;;;;;1019:5:3;1028:10;1019:19;1011:44;;;;-1:-1:-1;;;1011:44:3;;;;;;;:::i;:::-;5441:5:::1;::::0;-1:-1:-1;;;;;5431:15:3;;::::1;5441:5:::0;::::1;5431:15;;5423:59;;;::::0;-1:-1:-1;;;5423:59:3;;6377:2:4;5423:59:3::1;::::0;::::1;6359:21:4::0;6416:2;6396:18;;;6389:30;6455:33;6435:18;;;6428:61;6506:18;;5423:59:3::1;6175:355:4::0;5423:59:3::1;5510:43;::::0;-1:-1:-1;;;5510:43:3;;5547:4:::1;5510:43;::::0;::::1;3027:51:4::0;5493:14:3::1;::::0;-1:-1:-1;;;;;5510:28:3;::::1;::::0;::::1;::::0;3000:18:4;;5510:43:3::1;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5493:60;;5589:1;5572:6;:19;5564:43;;;::::0;-1:-1:-1;;;5564:43:3;;3950:2:4;5564:43:3::1;::::0;::::1;3932:21:4::0;3989:2;3969:18;;;3962:30;-1:-1:-1;;;4008:18:4;;;4001:41;4059:18;;5564:43:3::1;3748:335:4::0;5564:43:3::1;5618;5632:6;5640:12;5654:6;5618:13;:43::i;:::-;5708:12;-1:-1:-1::0;;;;;5677:44:3::1;5692:6;-1:-1:-1::0;;;;;5677:44:3::1;;5700:6;5677:44;;;;7025:25:4::0;;7013:2;6998:18;;6879:177;5810:325:3;5948:66;;;-1:-1:-1;;;;;3661:32:4;;;5948:66:3;;;3643:51:4;3710:18;;;;3703:34;;;5948:66:3;;;;;;;;;;3616:18:4;;;;5948:66:3;;;;;;;-1:-1:-1;;;;;5948:66:3;-1:-1:-1;;;5948:66:3;;;5936:79;;-1:-1:-1;;;;5936:11:3;;;;:79;;5948:66;5936:79;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5898:117;;;;6034:7;:66;;;;-1:-1:-1;6046:11:3;;:25;;:53;;;6086:4;6075:24;;;;;;;;;;;;:::i;:::-;6026:102;;;;-1:-1:-1;;;6026:102:3;;6025:2:4;6026:102:3;;;6007:21:4;6064:2;6044:18;;;6037:30;6103:25;6083:18;;;6076:53;6146:18;;6026:102:3;5823:347:4;6141:360:3;6298:77;;;-1:-1:-1;;;;;3347:15:4;;;6298:77:3;;;3329:34:4;3399:15;;;3379:18;;;3372:43;3431:18;;;;3424:34;;;6298:77:3;;;;;;;;;;3264:18:4;;;;6298:77:3;;;;;;;-1:-1:-1;;;;;6298:77:3;-1:-1:-1;;;6298:77:3;;;6286:90;;-1:-1:-1;;;;6286:11:3;;;;:90;;6298:77;6286:90;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6248:128;;;;6395:7;:66;;;;-1:-1:-1;6407:11:3;;:25;;:53;;;6447:4;6436:24;;;;;;;;;;;;:::i;:::-;6387:107;;;;-1:-1:-1;;;6387:107:3;;4632:2:4;6387:107:3;;;4614:21:4;4671:2;4651:18;;;4644:30;4710;4690:18;;;4683:58;4758:18;;6387:107:3;4430:352:4;6387:107:3;6238:263;;6141:360;;;;:::o;14:173:4:-;82:20;;-1:-1:-1;;;;;131:31:4;;121:42;;111:70;;177:1;174;167:12;111:70;14:173;;;:::o;192:186::-;251:6;304:2;292:9;283:7;279:23;275:32;272:52;;;320:1;317;310:12;272:52;343:29;362:9;343:29;:::i;:::-;333:39;192:186;-1:-1:-1;;;192:186:4:o;383:260::-;451:6;459;512:2;500:9;491:7;487:23;483:32;480:52;;;528:1;525;518:12;480:52;551:29;570:9;551:29;:::i;:::-;541:39;;599:38;633:2;622:9;618:18;599:38;:::i;:::-;589:48;;383:260;;;;;:::o;648:1141::-;803:6;811;819;827;880:2;868:9;859:7;855:23;851:32;848:52;;;896:1;893;886:12;848:52;936:9;923:23;965:18;1006:2;998:6;995:14;992:34;;;1022:1;1019;1012:12;992:34;1060:6;1049:9;1045:22;1035:32;;1105:7;1098:4;1094:2;1090:13;1086:27;1076:55;;1127:1;1124;1117:12;1076:55;1167:2;1154:16;1193:2;1185:6;1182:14;1179:34;;;1209:1;1206;1199:12;1179:34;1264:7;1257:4;1247:6;1244:1;1240:14;1236:2;1232:23;1228:34;1225:47;1222:67;;;1285:1;1282;1275:12;1222:67;1316:4;1308:13;;;;-1:-1:-1;1340:6:4;-1:-1:-1;1384:20:4;;;1371:34;;1417:16;;;1414:36;;;1446:1;1443;1436:12;1414:36;1484:8;1473:9;1469:24;1459:34;;1531:7;1524:4;1520:2;1516:13;1512:27;1502:55;;1553:1;1550;1543:12;1502:55;1595:2;1582:16;1623:2;1613:8;1610:16;1607:36;;;1639:1;1636;1629:12;1607:36;1699:7;1692:4;1684;1674:8;1670:19;1666:2;1662:28;1658:39;1655:52;1652:72;;;1720:1;1717;1710:12;1652:72;648:1141;;;;-1:-1:-1;;1751:4:4;1743:13;;-1:-1:-1;;;648:1141:4:o;1794:277::-;1861:6;1914:2;1902:9;1893:7;1889:23;1885:32;1882:52;;;1930:1;1927;1920:12;1882:52;1962:9;1956:16;2015:5;2008:13;2001:21;1994:5;1991:32;1981:60;;2037:1;2034;2027:12;2076:180;2135:6;2188:2;2176:9;2167:7;2163:23;2159:32;2156:52;;;2204:1;2201;2194:12;2156:52;-1:-1:-1;2227:23:4;;2076:180;-1:-1:-1;2076:180:4:o;2261:184::-;2331:6;2384:2;2372:9;2363:7;2359:23;2355:32;2352:52;;;2400:1;2397;2390:12;2352:52;-1:-1:-1;2423:16:4;;2261:184;-1:-1:-1;2261:184:4:o;2450:426::-;2579:3;2617:6;2611:13;2642:1;2652:129;2666:6;2663:1;2660:13;2652:129;;;2764:4;2748:14;;;2744:25;;2738:32;2725:11;;;2718:53;2681:12;2652:129;;;2799:6;2796:1;2793:13;2790:48;;;2834:1;2825:6;2820:3;2816:16;2809:27;2790:48;-1:-1:-1;2854:16:4;;;;;2450:426;-1:-1:-1;;2450:426:4:o;4787:336::-;4989:2;4971:21;;;5028:2;5008:18;;;5001:30;-1:-1:-1;;;5062:2:4;5047:18;;5040:42;5114:2;5099:18;;4787:336::o;7601:128::-;7641:3;7672:1;7668:6;7665:1;7662:13;7659:39;;;7678:18;;:::i;:::-;-1:-1:-1;7714:9:4;;7601:128::o;7734:217::-;7774:1;7800;7790:132;;7844:10;7839:3;7835:20;7832:1;7825:31;7879:4;7876:1;7869:15;7907:4;7904:1;7897:15;7790:132;-1:-1:-1;7936:9:4;;7734:217::o;7956:168::-;7996:7;8062:1;8058;8054:6;8050:14;8047:1;8044:21;8039:1;8032:9;8025:17;8021:45;8018:71;;;8069:18;;:::i;:::-;-1:-1:-1;8109:9:4;;7956:168::o;8129:125::-;8169:4;8197:1;8194;8191:8;8188:34;;;8202:18;;:::i;:::-;-1:-1:-1;8239:9:4;;8129:125::o;8259:135::-;8298:3;-1:-1:-1;;8319:17:4;;8316:43;;;8339:18;;:::i;:::-;-1:-1:-1;8386:1:4;8375:13;;8259:135::o;8399:127::-;8460:10;8455:3;8451:20;8448:1;8441:31;8491:4;8488:1;8481:15;8515:4;8512:1;8505:15;8531:127;8592:10;8587:3;8583:20;8580:1;8573:31;8623:4;8620:1;8613:15;8647:4;8644:1;8637:15
Swarm Source
ipfs://0a7e41f1fad3425402689cc124e4aa986f30dace2948c3a804f2a0491906c017
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 27 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|---|---|---|---|---|
ETH | 100.00% | $0.055528 | 21,083,766.0906 | $1,170,739.36 |
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.