More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 978 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Claim | 18916694 | 276 days ago | IN | 0 ETH | 0.00061634 | ||||
Claim | 16538122 | 610 days ago | IN | 0 ETH | 0.00115278 | ||||
Claim | 15768454 | 717 days ago | IN | 0 ETH | 0.00206694 | ||||
Claim | 15300748 | 788 days ago | IN | 0 ETH | 0.00080849 | ||||
Claim | 14734918 | 880 days ago | IN | 0 ETH | 0.00108038 | ||||
Claim | 14591667 | 902 days ago | IN | 0 ETH | 0.00117679 | ||||
Claim | 14346029 | 940 days ago | IN | 0 ETH | 0.00202748 | ||||
Claim | 14303563 | 947 days ago | IN | 0 ETH | 0.00283303 | ||||
Claim | 14165476 | 968 days ago | IN | 0 ETH | 0.00491247 | ||||
Claim | 14154669 | 970 days ago | IN | 0 ETH | 0.00598696 | ||||
Claim | 14036704 | 988 days ago | IN | 0 ETH | 0.01021568 | ||||
Claim | 13975729 | 998 days ago | IN | 0 ETH | 0.01183708 | ||||
Claim | 13915511 | 1007 days ago | IN | 0 ETH | 0.00704085 | ||||
Claim | 13915475 | 1007 days ago | IN | 0 ETH | 0.00442861 | ||||
Claim | 13914646 | 1007 days ago | IN | 0 ETH | 0.01329527 | ||||
Claim | 13903181 | 1009 days ago | IN | 0 ETH | 0.01409175 | ||||
Claim | 13854852 | 1016 days ago | IN | 0 ETH | 0.00260886 | ||||
Claim | 13751185 | 1033 days ago | IN | 0 ETH | 0.00690345 | ||||
Claim | 13712670 | 1039 days ago | IN | 0 ETH | 0.00972248 | ||||
Claim | 13658611 | 1047 days ago | IN | 0 ETH | 0.00599491 | ||||
Claim | 13628962 | 1052 days ago | IN | 0 ETH | 0.00928501 | ||||
Claim | 13624856 | 1053 days ago | IN | 0 ETH | 0.01077672 | ||||
Claim | 13607266 | 1056 days ago | IN | 0 ETH | 0.00576744 | ||||
Claim | 13588596 | 1058 days ago | IN | 0 ETH | 0.00736431 | ||||
Claim | 13584309 | 1059 days ago | IN | 0 ETH | 0.01020715 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
This contract contains unverified libraries: PercentageCalculator
This contract may be a proxy contract. Click on More Options and select Is this a proxy? to confirm and enable the "Read as Proxy" & "Write as Proxy" tabs.
Contract Name:
Vesting
Compiler Version
v0.6.12+commit.27d51765
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2020-09-08 */ pragma solidity 0.6.12;// SPDX-License-Identifier: MIT /* * @dev Provides information about the current execution context, including the * sender of the transaction and its data. While these are generally available * via msg.sender and msg.data, they should not be accessed in such a direct * manner, since when dealing with GSN meta-transactions the account sending and * paying for execution may not be the actual sender (as far as an application * is concerned). * * This contract is only required for intermediate, library-like contracts. */ abstract contract Context { function _msgSender() internal view virtual returns (address payable) { return msg.sender; } function _msgData() internal view virtual returns (bytes memory) { this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691 return msg.data; } } /** * @dev Contract module which provides a basic access control mechanism, where * there is an account (an owner) that can be granted exclusive access to * specific functions. * * By default, the owner account will be the one that deploys the contract. This * can later be changed with {transferOwnership}. * * This module is used through inheritance. It will make available the modifier * `onlyOwner`, which can be applied to your functions to restrict their use to * the owner. */ contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev Initializes the contract setting the deployer as the initial owner. */ constructor () internal { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } /** * @dev Returns the address of the current owner. */ function owner() public view returns (address) { return _owner; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } /** * @dev Leaves the contract without owner. It will not be possible to call * `onlyOwner` functions anymore. Can only be called by the current owner. * * NOTE: Renouncing ownership will leave the contract without an owner, * thereby removing any functionality that is only available to the owner. */ function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Can only be called by the current owner. */ function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } } /** * @dev Interface of the ERC20 standard as defined in the EIP. */ interface IERC20 { /** * @dev Returns the amount of tokens in existence. */ function totalSupply() external view returns (uint256); /** * @dev Returns the amount of tokens owned by `account`. */ function balanceOf(address account) external view returns (uint256); /** * @dev Moves `amount` tokens from the caller's account to `recipient`. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transfer(address recipient, uint256 amount) external returns (bool); /** * @dev Returns the remaining number of tokens that `spender` will be * allowed to spend on behalf of `owner` through {transferFrom}. This is * zero by default. * * This value changes when {approve} or {transferFrom} are called. */ function allowance(address owner, address spender) external view returns (uint256); /** * @dev Sets `amount` as the allowance of `spender` over the caller's tokens. * * Returns a boolean value indicating whether the operation succeeded. * * IMPORTANT: Beware that changing an allowance with this method brings the risk * that someone may use both the old and the new allowance by unfortunate * transaction ordering. One possible solution to mitigate this race * condition is to first reduce the spender's allowance to 0 and set the * desired value afterwards: * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * * Emits an {Approval} event. */ function approve(address spender, uint256 amount) external returns (bool); /** * @dev Moves `amount` tokens from `sender` to `recipient` using the * allowance mechanism. `amount` is then deducted from the caller's * allowance. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); /** * @dev Emitted when `value` tokens are moved from one account (`from`) to * another (`to`). * * Note that `value` may be zero. */ event Transfer(address indexed from, address indexed to, uint256 value); /** * @dev Emitted when the allowance of a `spender` for an `owner` is set by * a call to {approve}. `value` is the new allowance. */ event Approval(address indexed owner, address indexed spender, uint256 value); } /** * @dev Wrappers over Solidity's arithmetic operations with added overflow * checks. * * Arithmetic operations in Solidity wrap on overflow. This can easily result * in bugs, because programmers usually assume that an overflow raises an * error, which is the standard behavior in high level programming languages. * `SafeMath` restores this intuition by reverting the transaction when an * operation overflows. * * Using this library instead of the unchecked operations eliminates an entire * class of bugs, so it's recommended to use it always. */ library SafeMath { /** * @dev Returns the addition of two unsigned integers, reverting on * overflow. * * Counterpart to Solidity's `+` operator. * * Requirements: * * - Addition cannot overflow. */ function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } /** * @dev Returns the subtraction of two unsigned integers, reverting on * overflow (when the result is negative). * * Counterpart to Solidity's `-` operator. * * Requirements: * * - Subtraction cannot overflow. */ function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } /** * @dev Returns the subtraction of two unsigned integers, reverting with custom message on * overflow (when the result is negative). * * Counterpart to Solidity's `-` operator. * * Requirements: * * - Subtraction cannot overflow. */ function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } /** * @dev Returns the multiplication of two unsigned integers, reverting on * overflow. * * Counterpart to Solidity's `*` operator. * * Requirements: * * - Multiplication cannot overflow. */ function mul(uint256 a, uint256 b) internal pure returns (uint256) { // Gas optimization: this is cheaper than requiring 'a' not being zero, but the // benefit is lost if 'b' is also tested. // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522 if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } /** * @dev Returns the integer division of two unsigned integers. Reverts on * division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `/` operator. Note: this function uses a * `revert` opcode (which leaves remaining gas untouched) while Solidity * uses an invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } /** * @dev Returns the integer division of two unsigned integers. Reverts with custom message on * division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `/` operator. Note: this function uses a * `revert` opcode (which leaves remaining gas untouched) while Solidity * uses an invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return c; } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * Reverts when dividing by zero. * * Counterpart to Solidity's `%` operator. This function uses a `revert` * opcode (which leaves remaining gas untouched) while Solidity uses an * invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function mod(uint256 a, uint256 b) internal pure returns (uint256) { return mod(a, b, "SafeMath: modulo by zero"); } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * Reverts with custom message when dividing by zero. * * Counterpart to Solidity's `%` operator. This function uses a `revert` * opcode (which leaves remaining gas untouched) while Solidity uses an * invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b != 0, errorMessage); return a % b; } } library PercentageCalculator { using SafeMath for uint256; /* Note: Percentages will be provided in thousands to represent 3 digits after the decimal point. The division is made by 100000 */ function div(uint256 _amount, uint256 _percentage) public pure returns(uint256) { return _amount.mul(_percentage).div(100000); } } contract Vesting is Ownable { uint256 public startDate; uint256 internal constant periodLength = 30 days; uint256[35] public cumulativeAmountsToVest; uint256 public totalPercentages; IERC20 internal token; struct Recipient { uint256 withdrawnAmount; uint256 withdrawPercentage; } uint256 public totalRecipients; mapping(address => Recipient) public recipients; event LogStartDateSet(address setter, uint256 startDate); event LogRecipientAdded(address recipient, uint256 withdrawPercentage); event LogTokensClaimed(address recipient, uint256 amount); /* * Note: Percentages will be provided in thousands to represent 3 digits after the decimal point. * Ex. 10% = 10000 */ modifier onlyValidPercentages(uint256 _percentage) { require( _percentage < 100000, "Provided percentage should be less than 100%" ); require( _percentage > 0, "Provided percentage should be greater than 0" ); _; } /** * @param _tokenAddress The address of the ALBT token * @param _cumulativeAmountsToVest The cumulative amounts for each vesting period */ constructor( address _tokenAddress, uint256[35] memory _cumulativeAmountsToVest ) public { require( _tokenAddress != address(0), "Token Address can't be zero address" ); token = IERC20(_tokenAddress); cumulativeAmountsToVest = _cumulativeAmountsToVest; } /** * @dev Function that sets the start date of the Vesting * @param _startDate The start date of the veseting presented as a timestamp */ function setStartDate(uint256 _startDate) public onlyOwner { require(_startDate >= now, "Start Date can't be in the past"); startDate = _startDate; emit LogStartDateSet(address(msg.sender), _startDate); } /** * @dev Function add recipient to the vesting contract * @param _recipientAddress The address of the recipient * @param _withdrawPercentage The percentage that the recipient should receive in each vesting period */ function addRecipient( address _recipientAddress, uint256 _withdrawPercentage ) public onlyOwner onlyValidPercentages(_withdrawPercentage) { require( _recipientAddress != address(0), "Recepient Address can't be zero address" ); totalPercentages = totalPercentages + _withdrawPercentage; require(totalPercentages <= 100000, "Total percentages exceeds 100%"); totalRecipients++; recipients[_recipientAddress] = Recipient(0, _withdrawPercentage); emit LogRecipientAdded(_recipientAddress, _withdrawPercentage); } /** * @dev Function add multiple recipients to the vesting contract * @param _recipients Array of recipient addresses. The arrya length should be less than 230, otherwise it will overflow the gas limit * @param _withdrawPercentages Corresponding percentages of the recipients */ function addMultipleRecipients( address[] memory _recipients, uint256[] memory _withdrawPercentages ) public onlyOwner { require( _recipients.length < 230, "The recipients must be not more than 230" ); require( _recipients.length == _withdrawPercentages.length, "The two arryas are with different length" ); for (uint256 i; i < _recipients.length; i++) { addRecipient(_recipients[i], _withdrawPercentages[i]); } } /** * @dev Function that withdraws all available tokens for the current period */ function claim() public { require(startDate != 0, "The vesting hasn't started"); require(now >= startDate, "The vesting hasn't started"); (uint256 owedAmount, uint256 calculatedAmount) = calculateAmounts(); recipients[msg.sender].withdrawnAmount = calculatedAmount; bool result = token.transfer(msg.sender, owedAmount); require(result, "The claim was not successful"); emit LogTokensClaimed(msg.sender, owedAmount); } /** * @dev Function that returns the amount that the user can withdraw at the current period. * @return _owedAmount The amount that the user can withdraw at the current period. */ function hasClaim() public view returns (uint256 _owedAmount) { if (now <= startDate) { return 0; } (uint256 owedAmount, uint256 _) = calculateAmounts(); return owedAmount; } function calculateAmounts() internal view returns (uint256 _owedAmount, uint256 _calculatedAmount) { uint256 period = (now - startDate) / (periodLength); if (period >= cumulativeAmountsToVest.length) { period = cumulativeAmountsToVest.length - 1; } uint256 calculatedAmount = PercentageCalculator.div( cumulativeAmountsToVest[period], recipients[msg.sender].withdrawPercentage ); uint256 owedAmount = calculatedAmount - recipients[msg.sender].withdrawnAmount; return (owedAmount, calculatedAmount); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"_tokenAddress","type":"address"},{"internalType":"uint256[35]","name":"_cumulativeAmountsToVest","type":"uint256[35]"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"recipient","type":"address"},{"indexed":false,"internalType":"uint256","name":"withdrawPercentage","type":"uint256"}],"name":"LogRecipientAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"setter","type":"address"},{"indexed":false,"internalType":"uint256","name":"startDate","type":"uint256"}],"name":"LogStartDateSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"recipient","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"LogTokensClaimed","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"},{"inputs":[{"internalType":"address[]","name":"_recipients","type":"address[]"},{"internalType":"uint256[]","name":"_withdrawPercentages","type":"uint256[]"}],"name":"addMultipleRecipients","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_recipientAddress","type":"address"},{"internalType":"uint256","name":"_withdrawPercentage","type":"uint256"}],"name":"addRecipient","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"claim","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"cumulativeAmountsToVest","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"hasClaim","outputs":[{"internalType":"uint256","name":"_owedAmount","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"recipients","outputs":[{"internalType":"uint256","name":"withdrawnAmount","type":"uint256"},{"internalType":"uint256","name":"withdrawPercentage","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_startDate","type":"uint256"}],"name":"setStartDate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startDate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalPercentages","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalRecipients","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
608060405234801561001057600080fd5b50604051610f8a380380610f8a833981810160405261048081101561003457600080fd5b508051906020016000610045610104565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506001600160a01b0382166100d45760405162461bcd60e51b8152600401808060200182810382526023815260200180610f676023913960400191505060405180910390fd5b602680546001600160a01b0319166001600160a01b0384161790556100fc6002826023610108565b50505061015b565b3390565b8260238101928215610136579160200282015b8281111561013657825182559160200191906001019061011b565b50610142929150610146565b5090565b5b808211156101425760008155600101610147565b610dfd8061016a6000396000f3fe608060405234801561001057600080fd5b50600436106100df5760003560e01c806382d95df51161008c578063eb82031211610066578063eb820312146102a5578063f2fde38b146102e4578063f4f8495b1461030a578063f798224314610312576100df565b806382d95df5146102475780638da5cb5b14610264578063e3eb159914610288576100df565b80634e71d92d116100bd5780634e71d92d1461022f57806356fcdae314610237578063715018a61461023f576100df565b80630b97bc86146100e4578063114a76a1146100fe5780633e2c3a5a14610227575b600080fd5b6100ec61033e565b60408051918252519081900360200190f35b6102256004803603604081101561011457600080fd5b81019060208101813564010000000081111561012f57600080fd5b82018360208201111561014157600080fd5b8035906020019184602083028401116401000000008311171561016357600080fd5b91908080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525092959493602081019350359150506401000000008111156101b357600080fd5b8201836020820111156101c557600080fd5b803590602001918460208302840111640100000000831117156101e757600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550610344945050505050565b005b6100ec610477565b61022561049e565b6100ec610699565b61022561069f565b6102256004803603602081101561025d57600080fd5b5035610760565b61026c610862565b604080516001600160a01b039092168252519081900360200190f35b6100ec6004803603602081101561029e57600080fd5b5035610871565b6102cb600480360360208110156102bb57600080fd5b50356001600160a01b0316610885565b6040805192835260208301919091528051918290030190f35b610225600480360360208110156102fa57600080fd5b50356001600160a01b031661089e565b6100ec6109b5565b6102256004803603604081101561032857600080fd5b506001600160a01b0381351690602001356109bb565b60015481565b61034c610bcc565b6000546001600160a01b039081169116146103ae576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b60e68251106103ee5760405162461bcd60e51b8152600401808060200182810382526028815260200180610d516028913960400191505060405180910390fd5b805182511461042e5760405162461bcd60e51b8152600401808060200182810382526028815260200180610d796028913960400191505060405180910390fd5b60005b82518110156104725761046a83828151811061044957fe5b602002602001015183838151811061045d57fe5b60200260200101516109bb565b600101610431565b505050565b6000600154421161048a5750600061049b565b600080610495610bd0565b50925050505b90565b6001546104f2576040805162461bcd60e51b815260206004820152601a60248201527f5468652076657374696e67206861736e27742073746172746564000000000000604482015290519081900360640190fd5b600154421015610549576040805162461bcd60e51b815260206004820152601a60248201527f5468652076657374696e67206861736e27742073746172746564000000000000604482015290519081900360640190fd5b600080610554610bd0565b33600081815260286020908152604080832085905560265481517fa9059cbb000000000000000000000000000000000000000000000000000000008152600481019590955260248501879052905195975093955090936001600160a01b039093169263a9059cbb92604480820193929182900301818787803b1580156105d957600080fd5b505af11580156105ed573d6000803e3d6000fd5b505050506040513d602081101561060357600080fd5b5051905080610659576040805162461bcd60e51b815260206004820152601c60248201527f54686520636c61696d20776173206e6f74207375636365737366756c00000000604482015290519081900360640190fd5b604080513381526020810185905281517fcb3b287df62322e81cc5b4c1ba9d9f5a449e34069d403b00eb061faed581737b929181900390910190a1505050565b60255481565b6106a7610bcc565b6000546001600160a01b03908116911614610709576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a36000805473ffffffffffffffffffffffffffffffffffffffff19169055565b610768610bcc565b6000546001600160a01b039081169116146107ca576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b4281101561081f576040805162461bcd60e51b815260206004820152601f60248201527f537461727420446174652063616e277420626520696e20746865207061737400604482015290519081900360640190fd5b6001819055604080513381526020810183905281517fe5461405d7121c89a6fa291896d72f0514ac8957d0839feae0b904b5065e51a8929181900390910190a150565b6000546001600160a01b031690565b6002816023811061087e57fe5b0154905081565b6028602052600090815260409020805460019091015482565b6108a6610bcc565b6000546001600160a01b03908116911614610908576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001600160a01b03811661094d5760405162461bcd60e51b8152600401808060200182810382526026815260200180610cd36026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36000805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b60275481565b6109c3610bcc565b6000546001600160a01b03908116911614610a25576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b80620186a08110610a675760405162461bcd60e51b815260040180806020018281038252602c815260200180610d25602c913960400191505060405180910390fd5b60008111610aa65760405162461bcd60e51b815260040180806020018281038252602c815260200180610cf9602c913960400191505060405180910390fd5b6001600160a01b038316610aeb5760405162461bcd60e51b8152600401808060200182810382526027815260200180610da16027913960400191505060405180910390fd5b60258054830190819055620186a01015610b4c576040805162461bcd60e51b815260206004820152601e60248201527f546f74616c2070657263656e7461676573206578636565647320313030250000604482015290519081900360640190fd5b602780546001908101909155604080518082018252600080825260208083018781526001600160a01b038916808452602883529285902093518455519290940191909155815190815291820184905280517f595c5a9418c2ea607b802dfdeac0ce122b959c5eb469f9c0bf86c1e262e7c72f9281900390910190a1505050565b3390565b600080600062278d00600154420381610be557fe5b04905060238110610bf4575060225b6000739590f9f53f6dc596fcf0f98b3806c056dc008bda63a391c15b60028460238110610c1d57fe5b0154336000908152602860209081526040918290206001015482517fffffffff0000000000000000000000000000000000000000000000000000000060e087901b168152600481019490945260248401529051604480840193829003018186803b158015610c8a57600080fd5b505af4158015610c9e573d6000803e3d6000fd5b505050506040513d6020811015610cb457600080fd5b5051336000908152602860205260409020548103945092505050909156fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737350726f76696465642070657263656e746167652073686f756c642062652067726561746572207468616e203050726f76696465642070657263656e746167652073686f756c64206265206c657373207468616e203130302554686520726563697069656e7473206d757374206265206e6f74206d6f7265207468616e203233305468652074776f2061727279617320617265207769746820646966666572656e74206c656e677468526563657069656e7420416464726573732063616e2774206265207a65726f2061646472657373a26469706673582212202e75b6318df69980d5e7d5cfd0a6bdcf0cf05bddf293052559abeeea0dfa2d1f64736f6c634300060c0033546f6b656e20416464726573732063616e2774206265207a65726f206164647265737300000000000000000000000000a8b738e453ffd858a7edf03bccfe20412f0eb000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084595161401484a000000000000000000000000000000000000000000000000084595161401484a000000000000000000000000000000000000000000000000084595161401484a000000000000000000000000000000000000000000000000084595161401484a0000000000000000000000000000000000000000000000001cf389cd46047d030000000000000000000000000000000000000000000000001cf389cd46047d030000000000000000000000000000000000000000000000001cf389cd46047d030000000000000000000000000000000000000000000000003e09de2596099e2b0000000000000000000000000000000000000000000000003e09de2596099e2b0000000000000000000000000000000000000000000000003e09de2596099e2b00000000000000000000000000000000000000000000000052b7d2dcc80cd2e400000000000000000000000000000000000000000000000052b7d2dcc80cd2e400000000000000000000000000000000000000000000000052b7d2dcc80cd2e400000000000000000000000000000000000000000000000052b7d2dcc80cd2e400000000000000000000000000000000000000000000000052b7d2dcc80cd2e400000000000000000000000000000000000000000000000052b7d2dcc80cd2e400000000000000000000000000000000000000000000000052b7d2dcc80cd2e400000000000000000000000000000000000000000000000052b7d2dcc80cd2e400000000000000000000000000000000000000000000000052b7d2dcc80cd2e400000000000000000000000000000000000000000000000052b7d2dcc80cd2e400000000000000000000000000000000000000000000000052b7d2dcc80cd2e400000000000000000000000000000000000000000000000052b7d2dcc80cd2e400000000000000000000000000000000000000000000000052b7d2dcc80cd2e400000000000000000000000000000000000000000000000052b7d2dcc80cd2e400000000000000000000000000000000000000000000000052b7d2dcc80cd2e400000000000000000000000000000000000000000000000052b7d2dcc80cd2e400000000000000000000000000000000000000000000000052b7d2dcc80cd2e400000000000000000000000000000000000000000000000052b7d2dcc80cd2e400000000000000000000000000000000000000000000000052b7d2dcc80cd2e400000000000000000000000000000000000000000000000052b7d2dcc80cd2e400000000000000000000000000000000000000000000000052b7d2dcc80cd2e400000000000000000000000000000000000000000000000052b7d2dcc80cd2e400000000000000000000000000000000000000000000000052b7d2dcc80cd2e4000000
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100df5760003560e01c806382d95df51161008c578063eb82031211610066578063eb820312146102a5578063f2fde38b146102e4578063f4f8495b1461030a578063f798224314610312576100df565b806382d95df5146102475780638da5cb5b14610264578063e3eb159914610288576100df565b80634e71d92d116100bd5780634e71d92d1461022f57806356fcdae314610237578063715018a61461023f576100df565b80630b97bc86146100e4578063114a76a1146100fe5780633e2c3a5a14610227575b600080fd5b6100ec61033e565b60408051918252519081900360200190f35b6102256004803603604081101561011457600080fd5b81019060208101813564010000000081111561012f57600080fd5b82018360208201111561014157600080fd5b8035906020019184602083028401116401000000008311171561016357600080fd5b91908080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525092959493602081019350359150506401000000008111156101b357600080fd5b8201836020820111156101c557600080fd5b803590602001918460208302840111640100000000831117156101e757600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550610344945050505050565b005b6100ec610477565b61022561049e565b6100ec610699565b61022561069f565b6102256004803603602081101561025d57600080fd5b5035610760565b61026c610862565b604080516001600160a01b039092168252519081900360200190f35b6100ec6004803603602081101561029e57600080fd5b5035610871565b6102cb600480360360208110156102bb57600080fd5b50356001600160a01b0316610885565b6040805192835260208301919091528051918290030190f35b610225600480360360208110156102fa57600080fd5b50356001600160a01b031661089e565b6100ec6109b5565b6102256004803603604081101561032857600080fd5b506001600160a01b0381351690602001356109bb565b60015481565b61034c610bcc565b6000546001600160a01b039081169116146103ae576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b60e68251106103ee5760405162461bcd60e51b8152600401808060200182810382526028815260200180610d516028913960400191505060405180910390fd5b805182511461042e5760405162461bcd60e51b8152600401808060200182810382526028815260200180610d796028913960400191505060405180910390fd5b60005b82518110156104725761046a83828151811061044957fe5b602002602001015183838151811061045d57fe5b60200260200101516109bb565b600101610431565b505050565b6000600154421161048a5750600061049b565b600080610495610bd0565b50925050505b90565b6001546104f2576040805162461bcd60e51b815260206004820152601a60248201527f5468652076657374696e67206861736e27742073746172746564000000000000604482015290519081900360640190fd5b600154421015610549576040805162461bcd60e51b815260206004820152601a60248201527f5468652076657374696e67206861736e27742073746172746564000000000000604482015290519081900360640190fd5b600080610554610bd0565b33600081815260286020908152604080832085905560265481517fa9059cbb000000000000000000000000000000000000000000000000000000008152600481019590955260248501879052905195975093955090936001600160a01b039093169263a9059cbb92604480820193929182900301818787803b1580156105d957600080fd5b505af11580156105ed573d6000803e3d6000fd5b505050506040513d602081101561060357600080fd5b5051905080610659576040805162461bcd60e51b815260206004820152601c60248201527f54686520636c61696d20776173206e6f74207375636365737366756c00000000604482015290519081900360640190fd5b604080513381526020810185905281517fcb3b287df62322e81cc5b4c1ba9d9f5a449e34069d403b00eb061faed581737b929181900390910190a1505050565b60255481565b6106a7610bcc565b6000546001600160a01b03908116911614610709576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a36000805473ffffffffffffffffffffffffffffffffffffffff19169055565b610768610bcc565b6000546001600160a01b039081169116146107ca576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b4281101561081f576040805162461bcd60e51b815260206004820152601f60248201527f537461727420446174652063616e277420626520696e20746865207061737400604482015290519081900360640190fd5b6001819055604080513381526020810183905281517fe5461405d7121c89a6fa291896d72f0514ac8957d0839feae0b904b5065e51a8929181900390910190a150565b6000546001600160a01b031690565b6002816023811061087e57fe5b0154905081565b6028602052600090815260409020805460019091015482565b6108a6610bcc565b6000546001600160a01b03908116911614610908576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001600160a01b03811661094d5760405162461bcd60e51b8152600401808060200182810382526026815260200180610cd36026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36000805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b60275481565b6109c3610bcc565b6000546001600160a01b03908116911614610a25576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b80620186a08110610a675760405162461bcd60e51b815260040180806020018281038252602c815260200180610d25602c913960400191505060405180910390fd5b60008111610aa65760405162461bcd60e51b815260040180806020018281038252602c815260200180610cf9602c913960400191505060405180910390fd5b6001600160a01b038316610aeb5760405162461bcd60e51b8152600401808060200182810382526027815260200180610da16027913960400191505060405180910390fd5b60258054830190819055620186a01015610b4c576040805162461bcd60e51b815260206004820152601e60248201527f546f74616c2070657263656e7461676573206578636565647320313030250000604482015290519081900360640190fd5b602780546001908101909155604080518082018252600080825260208083018781526001600160a01b038916808452602883529285902093518455519290940191909155815190815291820184905280517f595c5a9418c2ea607b802dfdeac0ce122b959c5eb469f9c0bf86c1e262e7c72f9281900390910190a1505050565b3390565b600080600062278d00600154420381610be557fe5b04905060238110610bf4575060225b6000739590f9f53f6dc596fcf0f98b3806c056dc008bda63a391c15b60028460238110610c1d57fe5b0154336000908152602860209081526040918290206001015482517fffffffff0000000000000000000000000000000000000000000000000000000060e087901b168152600481019490945260248401529051604480840193829003018186803b158015610c8a57600080fd5b505af4158015610c9e573d6000803e3d6000fd5b505050506040513d6020811015610cb457600080fd5b5051336000908152602860205260409020548103945092505050909156fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737350726f76696465642070657263656e746167652073686f756c642062652067726561746572207468616e203050726f76696465642070657263656e746167652073686f756c64206265206c657373207468616e203130302554686520726563697069656e7473206d757374206265206e6f74206d6f7265207468616e203233305468652074776f2061727279617320617265207769746820646966666572656e74206c656e677468526563657069656e7420416464726573732063616e2774206265207a65726f2061646472657373a26469706673582212202e75b6318df69980d5e7d5cfd0a6bdcf0cf05bddf293052559abeeea0dfa2d1f64736f6c634300060c0033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000000a8b738e453ffd858a7edf03bccfe20412f0eb000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084595161401484a000000000000000000000000000000000000000000000000084595161401484a000000000000000000000000000000000000000000000000084595161401484a000000000000000000000000000000000000000000000000084595161401484a0000000000000000000000000000000000000000000000001cf389cd46047d030000000000000000000000000000000000000000000000001cf389cd46047d030000000000000000000000000000000000000000000000001cf389cd46047d030000000000000000000000000000000000000000000000003e09de2596099e2b0000000000000000000000000000000000000000000000003e09de2596099e2b0000000000000000000000000000000000000000000000003e09de2596099e2b00000000000000000000000000000000000000000000000052b7d2dcc80cd2e400000000000000000000000000000000000000000000000052b7d2dcc80cd2e400000000000000000000000000000000000000000000000052b7d2dcc80cd2e400000000000000000000000000000000000000000000000052b7d2dcc80cd2e400000000000000000000000000000000000000000000000052b7d2dcc80cd2e400000000000000000000000000000000000000000000000052b7d2dcc80cd2e400000000000000000000000000000000000000000000000052b7d2dcc80cd2e400000000000000000000000000000000000000000000000052b7d2dcc80cd2e400000000000000000000000000000000000000000000000052b7d2dcc80cd2e400000000000000000000000000000000000000000000000052b7d2dcc80cd2e400000000000000000000000000000000000000000000000052b7d2dcc80cd2e400000000000000000000000000000000000000000000000052b7d2dcc80cd2e400000000000000000000000000000000000000000000000052b7d2dcc80cd2e400000000000000000000000000000000000000000000000052b7d2dcc80cd2e400000000000000000000000000000000000000000000000052b7d2dcc80cd2e400000000000000000000000000000000000000000000000052b7d2dcc80cd2e400000000000000000000000000000000000000000000000052b7d2dcc80cd2e400000000000000000000000000000000000000000000000052b7d2dcc80cd2e400000000000000000000000000000000000000000000000052b7d2dcc80cd2e400000000000000000000000000000000000000000000000052b7d2dcc80cd2e400000000000000000000000000000000000000000000000052b7d2dcc80cd2e400000000000000000000000000000000000000000000000052b7d2dcc80cd2e400000000000000000000000000000000000000000000000052b7d2dcc80cd2e4000000
-----Decoded View---------------
Arg [0] : _tokenAddress (address): 0x00a8b738E453fFd858a7edf03bcCfe20412f0Eb0
Arg [1] : _cumulativeAmountsToVest (uint256[35]): 0,0,10000000000000000000000000,10000000000000000000000000,10000000000000000000000000,10000000000000000000000000,35000000000000000000000000,35000000000000000000000000,35000000000000000000000000,75000000000000000000000000,75000000000000000000000000,75000000000000000000000000,100000000000000000000000000,100000000000000000000000000,100000000000000000000000000,100000000000000000000000000,100000000000000000000000000,100000000000000000000000000,100000000000000000000000000,100000000000000000000000000,100000000000000000000000000,100000000000000000000000000,100000000000000000000000000,100000000000000000000000000,100000000000000000000000000,100000000000000000000000000,100000000000000000000000000,100000000000000000000000000,100000000000000000000000000,100000000000000000000000000,100000000000000000000000000,100000000000000000000000000,100000000000000000000000000,100000000000000000000000000,100000000000000000000000000
-----Encoded View---------------
36 Constructor Arguments found :
Arg [0] : 00000000000000000000000000a8b738e453ffd858a7edf03bccfe20412f0eb0
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [3] : 000000000000000000000000000000000000000000084595161401484a000000
Arg [4] : 000000000000000000000000000000000000000000084595161401484a000000
Arg [5] : 000000000000000000000000000000000000000000084595161401484a000000
Arg [6] : 000000000000000000000000000000000000000000084595161401484a000000
Arg [7] : 0000000000000000000000000000000000000000001cf389cd46047d03000000
Arg [8] : 0000000000000000000000000000000000000000001cf389cd46047d03000000
Arg [9] : 0000000000000000000000000000000000000000001cf389cd46047d03000000
Arg [10] : 0000000000000000000000000000000000000000003e09de2596099e2b000000
Arg [11] : 0000000000000000000000000000000000000000003e09de2596099e2b000000
Arg [12] : 0000000000000000000000000000000000000000003e09de2596099e2b000000
Arg [13] : 00000000000000000000000000000000000000000052b7d2dcc80cd2e4000000
Arg [14] : 00000000000000000000000000000000000000000052b7d2dcc80cd2e4000000
Arg [15] : 00000000000000000000000000000000000000000052b7d2dcc80cd2e4000000
Arg [16] : 00000000000000000000000000000000000000000052b7d2dcc80cd2e4000000
Arg [17] : 00000000000000000000000000000000000000000052b7d2dcc80cd2e4000000
Arg [18] : 00000000000000000000000000000000000000000052b7d2dcc80cd2e4000000
Arg [19] : 00000000000000000000000000000000000000000052b7d2dcc80cd2e4000000
Arg [20] : 00000000000000000000000000000000000000000052b7d2dcc80cd2e4000000
Arg [21] : 00000000000000000000000000000000000000000052b7d2dcc80cd2e4000000
Arg [22] : 00000000000000000000000000000000000000000052b7d2dcc80cd2e4000000
Arg [23] : 00000000000000000000000000000000000000000052b7d2dcc80cd2e4000000
Arg [24] : 00000000000000000000000000000000000000000052b7d2dcc80cd2e4000000
Arg [25] : 00000000000000000000000000000000000000000052b7d2dcc80cd2e4000000
Arg [26] : 00000000000000000000000000000000000000000052b7d2dcc80cd2e4000000
Arg [27] : 00000000000000000000000000000000000000000052b7d2dcc80cd2e4000000
Arg [28] : 00000000000000000000000000000000000000000052b7d2dcc80cd2e4000000
Arg [29] : 00000000000000000000000000000000000000000052b7d2dcc80cd2e4000000
Arg [30] : 00000000000000000000000000000000000000000052b7d2dcc80cd2e4000000
Arg [31] : 00000000000000000000000000000000000000000052b7d2dcc80cd2e4000000
Arg [32] : 00000000000000000000000000000000000000000052b7d2dcc80cd2e4000000
Arg [33] : 00000000000000000000000000000000000000000052b7d2dcc80cd2e4000000
Arg [34] : 00000000000000000000000000000000000000000052b7d2dcc80cd2e4000000
Arg [35] : 00000000000000000000000000000000000000000052b7d2dcc80cd2e4000000
Deployed Bytecode Sourcemap
11545:5485:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11580:24;;;:::i;:::-;;;;;;;;;;;;;;;;14770:560;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;14770:560:0;;;;;;;;-1:-1:-1;14770:560:0;;-1:-1:-1;;14770:560:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;14770:560:0;;-1:-1:-1;14770:560:0;;-1:-1:-1;;;;;14770:560:0:i;:::-;;16135:230;;;:::i;15437:487::-;;;:::i;11715:31::-;;;:::i;2611:148::-;;;:::i;13332:238::-;;;;;;;;;;;;;;;;-1:-1:-1;13332:238:0;;:::i;1969:79::-;;;:::i;:::-;;;;-1:-1:-1;;;;;1969:79:0;;;;;;;;;;;;;;11666:42;;;;;;;;;;;;;;;;-1:-1:-1;11666:42:0;;:::i;11924:47::-;;;;;;;;;;;;;;;;-1:-1:-1;11924:47:0;-1:-1:-1;;;;;11924:47:0;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2914:244;;;;;;;;;;;;;;;;-1:-1:-1;2914:244:0;-1:-1:-1;;;;;2914:244:0;;:::i;11887:30::-;;;:::i;13825:628::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;13825:628:0;;;;;;;;:::i;11580:24::-;;;;:::o;14770:560::-;2191:12;:10;:12::i;:::-;2181:6;;-1:-1:-1;;;;;2181:6:0;;;:22;;;2173:67;;;;;-1:-1:-1;;;2173:67:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14966:3:::1;14945:11;:18;:24;14923:114;;;;-1:-1:-1::0;;;14923:114:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15092:20;:27;15070:11;:18;:49;15048:139;;;;-1:-1:-1::0;;;15048:139:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15203:9;15198:125;15218:11;:18;15214:1;:22;15198:125;;;15258:53;15271:11;15283:1;15271:14;;;;;;;;;;;;;;15287:20;15308:1;15287:23;;;;;;;;;;;;;;15258:12;:53::i;:::-;15238:3;;15198:125;;;;14770:560:::0;;:::o;16135:230::-;16176:19;16219:9;;16212:3;:16;16208:57;;-1:-1:-1;16252:1:0;16245:8;;16208:57;16278:18;16298:9;16311:18;:16;:18::i;:::-;-1:-1:-1;16277:52:0;-1:-1:-1;;;16135:230:0;;:::o;15437:487::-;15480:9;;15472:53;;;;;-1:-1:-1;;;15472:53:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;15551:9;;15544:3;:16;;15536:55;;;;;-1:-1:-1;;;15536:55:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;15605:18;15625:24;15653:18;:16;:18::i;:::-;15693:10;15682:22;;;;:10;:22;;;;;;;;:57;;;15764:5;;:38;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;15682:57:0;;-1:-1:-1;15682:22:0;;-1:-1:-1;;;;;15764:5:0;;;;:14;;:38;;;;;15682:22;15764:38;;;;;;15682:22;15764:5;:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;15764:38:0;;-1:-1:-1;15764:38:0;15813:47;;;;;-1:-1:-1;;;15813:47:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;15876:40;;;15893:10;15876:40;;;;;;;;;;;;;;;;;;;;;15437:487;;;:::o;11715:31::-;;;;:::o;2611:148::-;2191:12;:10;:12::i;:::-;2181:6;;-1:-1:-1;;;;;2181:6:0;;;:22;;;2173:67;;;;;-1:-1:-1;;;2173:67:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2718:1:::1;2702:6:::0;;2681:40:::1;::::0;-1:-1:-1;;;;;2702:6:0;;::::1;::::0;2681:40:::1;::::0;2718:1;;2681:40:::1;2749:1;2732:19:::0;;-1:-1:-1;;2732:19:0::1;::::0;;2611:148::o;13332:238::-;2191:12;:10;:12::i;:::-;2181:6;;-1:-1:-1;;;;;2181:6:0;;;:22;;;2173:67;;;;;-1:-1:-1;;;2173:67:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13424:3:::1;13410:10;:17;;13402:61;;;::::0;;-1:-1:-1;;;13402:61:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;13476:9;:22:::0;;;13514:48:::1;::::0;;13538:10:::1;13514:48:::0;;::::1;::::0;::::1;::::0;;;;;::::1;::::0;;;;;;;;;::::1;13332:238:::0;:::o;1969:79::-;2007:7;2034:6;-1:-1:-1;;;;;2034:6:0;1969:79;:::o;11666:42::-;;;;;;;;;;;;;-1:-1:-1;11666:42:0;:::o;11924:47::-;;;;;;;;;;;;;;;;;;;:::o;2914:244::-;2191:12;:10;:12::i;:::-;2181:6;;-1:-1:-1;;;;;2181:6:0;;;:22;;;2173:67;;;;;-1:-1:-1;;;2173:67:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3003:22:0;::::1;2995:73;;;;-1:-1:-1::0;;;2995:73:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3105:6;::::0;;3084:38:::1;::::0;-1:-1:-1;;;;;3084:38:0;;::::1;::::0;3105:6;::::1;::::0;3084:38:::1;::::0;::::1;3133:6;:17:::0;;-1:-1:-1;;3133:17:0::1;-1:-1:-1::0;;;;;3133:17:0;;;::::1;::::0;;;::::1;::::0;;2914:244::o;11887:30::-;;;;:::o;13825:628::-;2191:12;:10;:12::i;:::-;2181:6;;-1:-1:-1;;;;;2181:6:0;;;:22;;;2173:67;;;;;-1:-1:-1;;;2173:67:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13966:19:::1;12428:6;12414:11;:20;12392:114;;;;-1:-1:-1::0;;;12392:114:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12553:1;12539:11;:15;12517:109;;;;-1:-1:-1::0;;;12517:109:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;;;14020:31:0;::::2;13998:120;;;;-1:-1:-1::0;;;13998:120:0::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14148:16;::::0;;:38;::::2;14129:57:::0;;;;14225:6:::2;-1:-1:-1::0;14205:26:0::2;14197:69;;;::::0;;-1:-1:-1;;;14197:69:0;;::::2;;::::0;::::2;::::0;::::2;::::0;;;;::::2;::::0;;;;;;;;;;;;;::::2;;14277:15;:17:::0;;::::2;::::0;;::::2;::::0;;;14339:33:::2;::::0;;;;::::2;::::0;;14277:15:::2;14339:33:::0;;;::::2;::::0;;::::2;::::0;;;-1:-1:-1;;;;;14307:29:0;::::2;::::0;;;:10:::2;:29:::0;;;;;;:65;;;;;;;;::::2;::::0;;;;14388:57;;;;;;;::::2;::::0;;;;;::::2;::::0;;;;;;;;::::2;2251:1:::1;13825:628:::0;;:::o;605:106::-;693:10;605:106;:::o;16373:654::-;16451:19;16472:25;16515:14;11652:7;16539:9;;16533:3;:15;16532:34;;;;;;16515:51;;16591:30;16581:6;:40;16577:116;;-1:-1:-1;16647:34:0;16577:116;16703:24;16730:20;:24;16769:23;16793:6;16769:31;;;;;;;;;16826:10;16815:22;;;;:10;:22;;;;;;;;;:41;;;16730:137;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;16730:137:0;16942:10;16878:18;16931:22;;;:10;16730:137;16931:22;;;;:38;16899:70;;;-1:-1:-1;16730:137:0;-1:-1:-1;;;16373:654:0;;:::o
Swarm Source
ipfs://2e75b6318df69980d5e7d5cfd0a6bdcf0cf05bddf293052559abeeea0dfa2d1f
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 27 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
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.