More Info
Private Name Tags
ContractCreator
Latest 10 from a total of 10 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Stake | 11616991 | 1291 days ago | IN | 0 ETH | 0.00684799 | ||||
Withdraw | 11616989 | 1291 days ago | IN | 0 ETH | 0.00323526 | ||||
Stake | 11569267 | 1298 days ago | IN | 0 ETH | 0.01274275 | ||||
Withdraw | 11569255 | 1298 days ago | IN | 0 ETH | 0.00347055 | ||||
Stake | 11557315 | 1300 days ago | IN | 0 ETH | 0.02103441 | ||||
Withdraw | 11548892 | 1301 days ago | IN | 0 ETH | 0.00501859 | ||||
Stake | 11548885 | 1301 days ago | IN | 0 ETH | 0.01517136 | ||||
Change Chef Addr... | 11537961 | 1303 days ago | IN | 0 ETH | 0.0049647 | ||||
Change Team Addr... | 11531496 | 1304 days ago | IN | 0 ETH | 0.00287225 | ||||
0x60806040 | 11531459 | 1304 days ago | IN | Create: CurryStatic | 0 ETH | 0.1157343 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
CurryStatic
Compiler Version
v0.6.12+commit.27d51765
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2020-12-26 */ pragma solidity 0.6.12; /** * @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; } } /* * @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); } contract CurryStatic is Ownable { using SafeMath for uint256; IERC20 public token; struct Stake { uint256 amount; uint256 reward; uint256 stakeIndex; uint256 lastclaimedBlock; uint256 fee; uint256 rewardWithdrawn; } uint256 constant FEE_TO_STAKE = 1; uint256 FEE_TO_UNSTAKE = 4; address[] private stakingAddresses; mapping(address => Stake) public addressToStakeMap; mapping(uint256 => uint256) public cumulativeblockToReward; uint256 public totalAmountForDistribution; uint256 public totalStakes; uint256 public lastRewardFromChefUpdatedBlock; uint256 public totalNumberOfStakers; address public teamAddress = address(0); // change address address public chefAddress = address(0); // change address constructor(IERC20 _token) public { token = _token; } modifier onlyChef() { require(chefAddress == _msgSender(), "CurryStatic: caller is not the chefaddress"); _; } // distribute function called by chef contract only function distribute(uint256 amount) external onlyChef { // update the total cumulative rewards where the tokens are sent from chef contract totalAmountForDistribution = totalAmountForDistribution.add(amount); lastRewardFromChefUpdatedBlock = block.number; cumulativeblockToReward[lastRewardFromChefUpdatedBlock] = cumulativeblockToReward[lastRewardFromChefUpdatedBlock].add(totalAmountForDistribution); } // stake function function stake(uint256 amount) public { require( amount != 0, "amount cannot be zero" ); Stake storage _stake = addressToStakeMap[_msgSender()]; if (_stake.amount == 0) { _stake.stakeIndex = stakingAddresses.length; stakingAddresses.push(_msgSender()); // update the lastrewardblock to keep track that , when he staked how much rewards came from chef contract // only first time update, as multiple time stake applicable _stake.lastclaimedBlock = lastRewardFromChefUpdatedBlock; totalNumberOfStakers = totalNumberOfStakers.add(1); } uint256 fee = amount.mul(FEE_TO_STAKE).div(100); // 1% stake fee uint256 amountAfterFee = amount.sub(fee); // actual staked amount totalStakes = totalStakes.add(amountAfterFee); // update total stakes _stake.amount = _stake.amount.add(amountAfterFee); // store the staking amount // transfer tokens to this address require( token.transferFrom(_msgSender(), address(this), amountAfterFee), "transferFrom failed." ); // transfer the fee to teamaddress require( token.transferFrom(_msgSender(), teamAddress, fee), "transfer failed" ); } // withdraw function function withdraw() public { Stake storage _stake = addressToStakeMap[_msgSender()]; if (_stake.amount == 0) { revert("no amount to withdraw"); } uint256 fee = _stake.amount.mul(FEE_TO_UNSTAKE).div(100); // 4% unstake fee uint256 amountAfterFee = _stake.amount.sub(fee); // withdrawal amount // Get the reward came from chef contract // logic: last updated cumultaive reward - his staked time cumulative reward _stake.reward = checkCurrentRewards(_msgSender()); // add the reward which got from chef contract via, distribute function calling from chef contract uint256 withdrawlAmount = amountAfterFee.add(_stake.reward); // delete the user and update stake totalStakes = totalStakes.sub(_stake.amount); // update stake totalNumberOfStakers = totalNumberOfStakers.sub(1); delete addressToStakeMap[_msgSender()]; // transfer tokens to the user require( token.transfer(_msgSender(), withdrawlAmount), "transfer failed" ); // transfer the fee to teamaddress require( token.transfer(teamAddress, fee), "transfer failed" ); } // update token address called by owner only function changeTokenAddress(IERC20 newAddr) public onlyOwner { require( newAddr != IERC20(0), "zero address is not allowed" ); // token address can be changed when total stakers are 0 require( totalNumberOfStakers == 0, "stakers are present, can not change token address" ); token = newAddr; } // update chef address called by owner only function changeChefAddress(address newAddr) public onlyOwner { require( newAddr != address(0), "zero address is not allowed" ); chefAddress = newAddr; } // update team address called by owner only function changeTeamAddress(address newAddr) public onlyOwner { require( newAddr != address(0), "zero address is not allowed" ); teamAddress = newAddr; } // withdraw tokens if no stakers are present function withdrawUnClaimed() public onlyOwner { require( totalNumberOfStakers == 0, "stakers are present, can not withdraw unclaimed" ); require( token.balanceOf(address(this)) != 0, "totalAmountForDistribution is 0, can not claim" ); require( token.transfer(teamAddress, token.balanceOf(address(this))), "transfer failed" ); } // check the current reward function checkCurrentRewards(address user) public view returns (uint256) { Stake storage _stake = addressToStakeMap[user]; // Get the reward came from chef contract // logic: last updated cumultaive reward - his staked time cumulative reward uint256 totalRewardInStakeperiod = cumulativeblockToReward[lastRewardFromChefUpdatedBlock].sub(cumulativeblockToReward[_stake.lastclaimedBlock]); // calculate his reward according to his stake amount uint256 currReward = totalRewardInStakeperiod.mul(_stake.amount).div(totalStakes); return currReward; } // check staking amount function checkStakingAmount(address user) public view returns (uint256) { Stake storage _stake = addressToStakeMap[user]; return _stake.amount; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"contract IERC20","name":"_token","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"addressToStakeMap","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"reward","type":"uint256"},{"internalType":"uint256","name":"stakeIndex","type":"uint256"},{"internalType":"uint256","name":"lastclaimedBlock","type":"uint256"},{"internalType":"uint256","name":"fee","type":"uint256"},{"internalType":"uint256","name":"rewardWithdrawn","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newAddr","type":"address"}],"name":"changeChefAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newAddr","type":"address"}],"name":"changeTeamAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IERC20","name":"newAddr","type":"address"}],"name":"changeTokenAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"checkCurrentRewards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"checkStakingAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"chefAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"cumulativeblockToReward","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"distribute","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"lastRewardFromChefUpdatedBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"stake","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"teamAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"token","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalAmountForDistribution","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalNumberOfStakers","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalStakes","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":[],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdrawUnClaimed","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
608060405260046002556000600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555034801561009957600080fd5b506040516125c93803806125c9833981810160405260208110156100bc57600080fd5b810190808051906020019092919050505060006100dd6101c260201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550506101ca565b600033905090565b6123f0806101d96000396000f3fe608060405234801561001057600080fd5b50600436106101375760003560e01c8063a70a5110116100b8578063dd8592dd1161007c578063dd8592dd146103f4578063e0a1010314610412578063ec521be414610454578063f2fde38b14610488578063f51bd00c146104cc578063fc0c546a1461054757610137565b8063a70a511014610312578063aa5724f614610330578063bf9befb114610388578063c9cda91f146103a6578063d2260f2f146103ea57610137565b8063881d9f4a116100ff578063881d9f4a146102205780638da5cb5b1461023e57806391c05b0b14610272578063a24fc0c0146102a0578063a694fc3a146102e457610137565b80631c75f0851461013c5780633aee69bb146101705780633ccfd60b146101b457806367973021146101be578063715018a614610216575b600080fd5b61014461057b565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6101b26004803603602081101561018657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506105a1565b005b6101bc610750565b005b610200600480360360208110156101d457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610bf6565b6040518082815260200191505060405180910390f35b61021e610c47565b005b610228610dcd565b6040518082815260200191505060405180910390f35b610246610dd3565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61029e6004803603602081101561028857600080fd5b8101908080359060200190929190505050610dfc565b005b6102e2600480360360208110156102b657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f11565b005b610310600480360360208110156102fa57600080fd5b81019080803590602001909291905050506110c0565b005b61031a61159c565b6040518082815260200191505060405180910390f35b6103726004803603602081101561034657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506115a2565b6040518082815260200191505060405180910390f35b610390611663565b6040518082815260200191505060405180910390f35b6103e8600480360360208110156103bc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611669565b005b6103f2611873565b005b6103fc611cda565b6040518082815260200191505060405180910390f35b61043e6004803603602081101561042857600080fd5b8101908080359060200190929190505050611ce0565b6040518082815260200191505060405180910390f35b61045c611cf8565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6104ca6004803603602081101561049e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611d1e565b005b61050e600480360360208110156104e257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611f29565b60405180878152602001868152602001858152602001848152602001838152602001828152602001965050505050505060405180910390f35b61054f611f65565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6105a9611f8b565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610669576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561070c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f7a65726f2061646472657373206973206e6f7420616c6c6f776564000000000081525060200191505060405180910390fd5b80600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60006004600061075e611f8b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050600081600001541415610815576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f6e6f20616d6f756e7420746f207769746864726177000000000000000000000081525060200191505060405180910390fd5b600061084360646108356002548560000154611f9390919063ffffffff16565b61201990919063ffffffff16565b9050600061085e82846000015461206390919063ffffffff16565b905061087061086b611f8b565b6115a2565b836001018190555060006108918460010154836120ad90919063ffffffff16565b90506108ac846000015460075461206390919063ffffffff16565b6007819055506108c8600160095461206390919063ffffffff16565b600981905550600460006108da611f8b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600080820160009055600182016000905560028201600090556003820160009055600482016000905560058201600090555050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb61098d611f8b565b836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156109e157600080fd5b505af11580156109f5573d6000803e3d6000fd5b505050506040513d6020811015610a0b57600080fd5b8101908080519060200190929190505050610a8e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f7472616e73666572206661696c6564000000000000000000000000000000000081525060200191505060405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16856040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015610b4357600080fd5b505af1158015610b57573d6000803e3d6000fd5b505050506040513d6020811015610b6d57600080fd5b8101908080519060200190929190505050610bf0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f7472616e73666572206661696c6564000000000000000000000000000000000081525060200191505060405180910390fd5b50505050565b600080600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090508060000154915050919050565b610c4f611f8b565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d0f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60065481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610e04611f8b565b73ffffffffffffffffffffffffffffffffffffffff16600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ea9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001806122e2602a913960400191505060405180910390fd5b610ebe816006546120ad90919063ffffffff16565b60068190555043600881905550610ef5600654600560006008548152602001908152602001600020546120ad90919063ffffffff16565b6005600060085481526020019081526020016000208190555050565b610f19611f8b565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610fd9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561107c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f7a65726f2061646472657373206973206e6f7420616c6c6f776564000000000081525060200191505060405180910390fd5b80600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000811415611137576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f616d6f756e742063616e6e6f74206265207a65726f000000000000000000000081525060200191505060405180910390fd5b600060046000611145611f8b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905060008160000154141561122e57600380549050816002018190555060036111a6611f8b565b9080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600854816003018190555061122760016009546120ad90919063ffffffff16565b6009819055505b60006112576064611249600186611f9390919063ffffffff16565b61201990919063ffffffff16565b9050600061126e828561206390919063ffffffff16565b9050611285816007546120ad90919063ffffffff16565b6007819055506112a28184600001546120ad90919063ffffffff16565b8360000181905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd6112f0611f8b565b30846040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b15801561136257600080fd5b505af1158015611376573d6000803e3d6000fd5b505050506040513d602081101561138c57600080fd5b810190808051906020019092919050505061140f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f7472616e7366657246726f6d206661696c65642e00000000000000000000000081525060200191505060405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd611455611f8b565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16856040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1580156114e957600080fd5b505af11580156114fd573d6000803e3d6000fd5b505050506040513d602081101561151357600080fd5b8101908080519060200190929190505050611596576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f7472616e73666572206661696c6564000000000000000000000000000000000081525060200191505060405180910390fd5b50505050565b60095481565b600080600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905060006116276005600084600301548152602001908152602001600020546005600060085481526020019081526020016000205461206390919063ffffffff16565b90506000611656600754611648856000015485611f9390919063ffffffff16565b61201990919063ffffffff16565b9050809350505050919050565b60075481565b611671611f8b565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611731576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156117d4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f7a65726f2061646472657373206973206e6f7420616c6c6f776564000000000081525060200191505060405180910390fd5b60006009541461182f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603181526020018061235b6031913960400191505060405180910390fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b61187b611f8b565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461193b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600060095414611996576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f81526020018061238c602f913960400191505060405180910390fd5b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015611a2157600080fd5b505afa158015611a35573d6000803e3d6000fd5b505050506040513d6020811015611a4b57600080fd5b81019080805190602001909291905050501415611ab3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e81526020018061232d602e913960400191505060405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015611b9d57600080fd5b505afa158015611bb1573d6000803e3d6000fd5b505050506040513d6020811015611bc757600080fd5b81019080805190602001909291905050506040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015611c2b57600080fd5b505af1158015611c3f573d6000803e3d6000fd5b505050506040513d6020811015611c5557600080fd5b8101908080519060200190929190505050611cd8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f7472616e73666572206661696c6564000000000000000000000000000000000081525060200191505060405180910390fd5b565b60085481565b60056020528060005260406000206000915090505481565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b611d26611f8b565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611de6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611e6c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806122bc6026913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60046020528060005260406000206000915090508060000154908060010154908060020154908060030154908060040154908060050154905086565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600033905090565b600080831415611fa65760009050612013565b6000828402905082848281611fb757fe5b041461200e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602181526020018061230c6021913960400191505060405180910390fd5b809150505b92915050565b600061205b83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612135565b905092915050565b60006120a583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506121fb565b905092915050565b60008082840190508381101561212b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600080831182906121e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156121a657808201518184015260208101905061218b565b50505050905090810190601f1680156121d35780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385816121ed57fe5b049050809150509392505050565b60008383111582906122a8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561226d578082015181840152602081019050612252565b50505050905090810190601f16801561229a5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838503905080915050939250505056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737343757272795374617469633a2063616c6c6572206973206e6f7420746865206368656661646472657373536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77746f74616c416d6f756e74466f72446973747269627574696f6e20697320302c2063616e206e6f7420636c61696d7374616b657273206172652070726573656e742c2063616e206e6f74206368616e676520746f6b656e20616464726573737374616b657273206172652070726573656e742c2063616e206e6f7420776974686472617720756e636c61696d6564a2646970667358221220dd5a4140a33e80cbb8f55c74e62abb322bc384da2edcb8b5e65b4a391de1077b64736f6c634300060c003300000000000000000000000028f30ee0e78ad94dfd0b6b04899223965c4b95cd
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106101375760003560e01c8063a70a5110116100b8578063dd8592dd1161007c578063dd8592dd146103f4578063e0a1010314610412578063ec521be414610454578063f2fde38b14610488578063f51bd00c146104cc578063fc0c546a1461054757610137565b8063a70a511014610312578063aa5724f614610330578063bf9befb114610388578063c9cda91f146103a6578063d2260f2f146103ea57610137565b8063881d9f4a116100ff578063881d9f4a146102205780638da5cb5b1461023e57806391c05b0b14610272578063a24fc0c0146102a0578063a694fc3a146102e457610137565b80631c75f0851461013c5780633aee69bb146101705780633ccfd60b146101b457806367973021146101be578063715018a614610216575b600080fd5b61014461057b565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6101b26004803603602081101561018657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506105a1565b005b6101bc610750565b005b610200600480360360208110156101d457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610bf6565b6040518082815260200191505060405180910390f35b61021e610c47565b005b610228610dcd565b6040518082815260200191505060405180910390f35b610246610dd3565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61029e6004803603602081101561028857600080fd5b8101908080359060200190929190505050610dfc565b005b6102e2600480360360208110156102b657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f11565b005b610310600480360360208110156102fa57600080fd5b81019080803590602001909291905050506110c0565b005b61031a61159c565b6040518082815260200191505060405180910390f35b6103726004803603602081101561034657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506115a2565b6040518082815260200191505060405180910390f35b610390611663565b6040518082815260200191505060405180910390f35b6103e8600480360360208110156103bc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611669565b005b6103f2611873565b005b6103fc611cda565b6040518082815260200191505060405180910390f35b61043e6004803603602081101561042857600080fd5b8101908080359060200190929190505050611ce0565b6040518082815260200191505060405180910390f35b61045c611cf8565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6104ca6004803603602081101561049e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611d1e565b005b61050e600480360360208110156104e257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611f29565b60405180878152602001868152602001858152602001848152602001838152602001828152602001965050505050505060405180910390f35b61054f611f65565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6105a9611f8b565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610669576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561070c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f7a65726f2061646472657373206973206e6f7420616c6c6f776564000000000081525060200191505060405180910390fd5b80600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60006004600061075e611f8b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050600081600001541415610815576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f6e6f20616d6f756e7420746f207769746864726177000000000000000000000081525060200191505060405180910390fd5b600061084360646108356002548560000154611f9390919063ffffffff16565b61201990919063ffffffff16565b9050600061085e82846000015461206390919063ffffffff16565b905061087061086b611f8b565b6115a2565b836001018190555060006108918460010154836120ad90919063ffffffff16565b90506108ac846000015460075461206390919063ffffffff16565b6007819055506108c8600160095461206390919063ffffffff16565b600981905550600460006108da611f8b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600080820160009055600182016000905560028201600090556003820160009055600482016000905560058201600090555050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb61098d611f8b565b836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156109e157600080fd5b505af11580156109f5573d6000803e3d6000fd5b505050506040513d6020811015610a0b57600080fd5b8101908080519060200190929190505050610a8e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f7472616e73666572206661696c6564000000000000000000000000000000000081525060200191505060405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16856040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015610b4357600080fd5b505af1158015610b57573d6000803e3d6000fd5b505050506040513d6020811015610b6d57600080fd5b8101908080519060200190929190505050610bf0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f7472616e73666572206661696c6564000000000000000000000000000000000081525060200191505060405180910390fd5b50505050565b600080600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090508060000154915050919050565b610c4f611f8b565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d0f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60065481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610e04611f8b565b73ffffffffffffffffffffffffffffffffffffffff16600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ea9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001806122e2602a913960400191505060405180910390fd5b610ebe816006546120ad90919063ffffffff16565b60068190555043600881905550610ef5600654600560006008548152602001908152602001600020546120ad90919063ffffffff16565b6005600060085481526020019081526020016000208190555050565b610f19611f8b565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610fd9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561107c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f7a65726f2061646472657373206973206e6f7420616c6c6f776564000000000081525060200191505060405180910390fd5b80600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000811415611137576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f616d6f756e742063616e6e6f74206265207a65726f000000000000000000000081525060200191505060405180910390fd5b600060046000611145611f8b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905060008160000154141561122e57600380549050816002018190555060036111a6611f8b565b9080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600854816003018190555061122760016009546120ad90919063ffffffff16565b6009819055505b60006112576064611249600186611f9390919063ffffffff16565b61201990919063ffffffff16565b9050600061126e828561206390919063ffffffff16565b9050611285816007546120ad90919063ffffffff16565b6007819055506112a28184600001546120ad90919063ffffffff16565b8360000181905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd6112f0611f8b565b30846040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b15801561136257600080fd5b505af1158015611376573d6000803e3d6000fd5b505050506040513d602081101561138c57600080fd5b810190808051906020019092919050505061140f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f7472616e7366657246726f6d206661696c65642e00000000000000000000000081525060200191505060405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd611455611f8b565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16856040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1580156114e957600080fd5b505af11580156114fd573d6000803e3d6000fd5b505050506040513d602081101561151357600080fd5b8101908080519060200190929190505050611596576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f7472616e73666572206661696c6564000000000000000000000000000000000081525060200191505060405180910390fd5b50505050565b60095481565b600080600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905060006116276005600084600301548152602001908152602001600020546005600060085481526020019081526020016000205461206390919063ffffffff16565b90506000611656600754611648856000015485611f9390919063ffffffff16565b61201990919063ffffffff16565b9050809350505050919050565b60075481565b611671611f8b565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611731576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156117d4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f7a65726f2061646472657373206973206e6f7420616c6c6f776564000000000081525060200191505060405180910390fd5b60006009541461182f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603181526020018061235b6031913960400191505060405180910390fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b61187b611f8b565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461193b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600060095414611996576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f81526020018061238c602f913960400191505060405180910390fd5b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015611a2157600080fd5b505afa158015611a35573d6000803e3d6000fd5b505050506040513d6020811015611a4b57600080fd5b81019080805190602001909291905050501415611ab3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e81526020018061232d602e913960400191505060405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015611b9d57600080fd5b505afa158015611bb1573d6000803e3d6000fd5b505050506040513d6020811015611bc757600080fd5b81019080805190602001909291905050506040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015611c2b57600080fd5b505af1158015611c3f573d6000803e3d6000fd5b505050506040513d6020811015611c5557600080fd5b8101908080519060200190929190505050611cd8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f7472616e73666572206661696c6564000000000000000000000000000000000081525060200191505060405180910390fd5b565b60085481565b60056020528060005260406000206000915090505481565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b611d26611f8b565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611de6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611e6c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806122bc6026913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60046020528060005260406000206000915090508060000154908060010154908060020154908060030154908060040154908060050154905086565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600033905090565b600080831415611fa65760009050612013565b6000828402905082848281611fb757fe5b041461200e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602181526020018061230c6021913960400191505060405180910390fd5b809150505b92915050565b600061205b83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612135565b905092915050565b60006120a583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506121fb565b905092915050565b60008082840190508381101561212b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600080831182906121e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156121a657808201518184015260208101905061218b565b50505050905090810190601f1680156121d35780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385816121ed57fe5b049050809150509392505050565b60008383111582906122a8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561226d578082015181840152602081019050612252565b50505050905090810190601f16801561229a5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838503905080915050939250505056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737343757272795374617469633a2063616c6c6572206973206e6f7420746865206368656661646472657373536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77746f74616c416d6f756e74466f72446973747269627574696f6e20697320302c2063616e206e6f7420636c61696d7374616b657273206172652070726573656e742c2063616e206e6f74206368616e676520746f6b656e20616464726573737374616b657273206172652070726573656e742c2063616e206e6f7420776974686472617720756e636c61696d6564a2646970667358221220dd5a4140a33e80cbb8f55c74e62abb322bc384da2edcb8b5e65b4a391de1077b64736f6c634300060c0033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000028f30ee0e78ad94dfd0b6b04899223965c4b95cd
-----Decoded View---------------
Arg [0] : _token (address): 0x28F30Ee0E78Ad94dfd0b6b04899223965c4B95Cd
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 00000000000000000000000028f30ee0e78ad94dfd0b6b04899223965c4b95cd
Deployed Bytecode Sourcemap
11141:7004:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11888:40;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;16491:220;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;14283:1380;;;:::i;:::-;;17966:168;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;7874:148;;;:::i;:::-;;11707:41;;;:::i;:::-;;;;;;;;;;;;;;;;;;;7232:79;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;12302:455;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;16211:219;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;12792:1453;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;11840:35;;;:::i;:::-;;;;;;;;;;;;;;;;;;;17308:616;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;11755:26;;;:::i;:::-;;;;;;;;;;;;;;;;;;;15725:423;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;16774:489;;;:::i;:::-;;11788:45;;;:::i;:::-;;;;;;;;;;;;;;;;;;;11642:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;11953:40;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;8177:244;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;11585:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11219:19;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;11888:40;;;;;;;;;;;;;:::o;16491:220::-;7454:12;:10;:12::i;:::-;7444:22;;:6;;;;;;;;;;:22;;;7436:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16604:1:::1;16585:21;;:7;:21;;;;16563:98;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;16696:7;16682:11;;:21;;;;;;;;;;;;;;;;;;16491:220:::0;:::o;14283:1380::-;14322:20;14345:17;:31;14363:12;:10;:12::i;:::-;14345:31;;;;;;;;;;;;;;;14322:54;;14408:1;14391:6;:13;;;:18;14387:82;;;14426:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14387:82;14489:11;14503:42;14541:3;14503:33;14521:14;;14503:6;:13;;;:17;;:33;;;;:::i;:::-;:37;;:42;;;;:::i;:::-;14489:56;;14574:22;14599;14617:3;14599:6;:13;;;:17;;:22;;;;:::i;:::-;14574:47;;14829:33;14849:12;:10;:12::i;:::-;14829:19;:33::i;:::-;14813:6;:13;;:49;;;;15001:23;15027:33;15046:6;:13;;;15027:14;:18;;:33;;;;:::i;:::-;15001:59;;15140:30;15156:6;:13;;;15140:11;;:15;;:30;;;;:::i;:::-;15126:11;:44;;;;15220:27;15245:1;15220:20;;:24;;:27;;;;:::i;:::-;15197:20;:50;;;;15265:17;:31;15283:12;:10;:12::i;:::-;15265:31;;;;;;;;;;;;;;;;15258:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15380:5;;;;;;;;;;;:14;;;15395:12;:10;:12::i;:::-;15409:15;15380:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15358:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15555:5;;;;;;;;;;;:14;;;15570:11;;;;;;;;;;;15583:3;15555:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15533:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14283:1380;;;;:::o;17966:168::-;18029:7;18049:20;18072:17;:23;18090:4;18072:23;;;;;;;;;;;;;;;18049:46;;18113:6;:13;;;18106:20;;;17966:168;;;:::o;7874:148::-;7454:12;:10;:12::i;:::-;7444:22;;:6;;;;;;;;;;:22;;;7436:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7981:1:::1;7944:40;;7965:6;::::0;::::1;;;;;;;;7944:40;;;;;;;;;;;;8012:1;7995:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;7874:148::o:0;11707:41::-;;;;:::o;7232:79::-;7270:7;7297:6;;;;;;;;;;;7290:13;;7232:79;:::o;12302:455::-;12153:12;:10;:12::i;:::-;12138:27;;:11;;;;;;;;;;;:27;;;12130:82;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12489:38:::1;12520:6;12489:26;;:30;;:38;;;;:::i;:::-;12460:26;:67;;;;12571:12;12538:30;:45;;;;12652:87;12712:26;;12652:23;:55;12676:30;;12652:55;;;;;;;;;;;;:59;;:87;;;;:::i;:::-;12594:23;:55;12618:30;;12594:55;;;;;;;;;;;:145;;;;12302:455:::0;:::o;16211:219::-;7454:12;:10;:12::i;:::-;7444:22;;:6;;;;;;;;;;:22;;;7436:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16324:1:::1;16305:21;;:7;:21;;;;16283:98;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;16415:7;16401:11;;:21;;;;;;;;;;;;;;;;;;16211:219:::0;:::o;12792:1453::-;12873:1;12863:6;:11;;12841:82;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12952:20;12975:17;:31;12993:12;:10;:12::i;:::-;12975:31;;;;;;;;;;;;;;;12952:54;;13048:1;13031:6;:13;;;:18;13027:475;;;13086:16;:23;;;;13066:6;:17;;:43;;;;13124:16;13146:12;:10;:12::i;:::-;13124:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13394:30;;13368:6;:23;;:56;;;;13463:27;13488:1;13463:20;;:24;;:27;;;;:::i;:::-;13440:20;:50;;;;13027:475;13522:11;13536:33;13565:3;13536:24;11497:1;13536:6;:10;;:24;;;;:::i;:::-;:28;;:33;;;;:::i;:::-;13522:47;;13596:22;13621:15;13632:3;13621:6;:10;;:15;;;;:::i;:::-;13596:40;;13686:31;13702:14;13686:11;;:15;;:31;;;;:::i;:::-;13672:11;:45;;;;13767:33;13785:14;13767:6;:13;;;:17;;:33;;;;:::i;:::-;13751:6;:13;;:49;;;;13935:5;;;;;;;;;;;:18;;;13954:12;:10;:12::i;:::-;13976:4;13983:14;13935:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13913:135;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14136:5;;;;;;;;;;;:18;;;14155:12;:10;:12::i;:::-;14169:11;;;;;;;;;;;14182:3;14136:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14114:115;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12792:1453;;;;:::o;11840:35::-;;;;:::o;17308:616::-;17372:7;17392:20;17415:17;:23;17433:4;17415:23;;;;;;;;;;;;;;;17392:46;;17589:32;17624:109;17684:23;:48;17708:6;:23;;;17684:48;;;;;;;;;;;;17624:23;:55;17648:30;;17624:55;;;;;;;;;;;;:59;;:109;;;;:::i;:::-;17589:144;;17807:18;17828:60;17876:11;;17828:43;17857:6;:13;;;17828:24;:28;;:43;;;;:::i;:::-;:47;;:60;;;;:::i;:::-;17807:81;;17906:10;17899:17;;;;;17308:616;;;:::o;11755:26::-;;;;:::o;15725:423::-;7454:12;:10;:12::i;:::-;7444:22;;:6;;;;;;;;;;:22;;;7436:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15837:1:::1;15819:20;;:7;:20;;;;15797:97;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;16027:1;16003:20;;:25;15981:124;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16133:7;16125:5;;:15;;;;;;;;;;;;;;;;;;15725:423:::0;:::o;16774:489::-;7454:12;:10;:12::i;:::-;7444:22;;:6;;;;;;;;;;:22;;;7436:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16878:1:::1;16854:20;;:25;16832:122;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17022:1;16988:5;;;;;;;;;;;:15;;;17012:4;16988:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;:35;;16966:131;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17141:5;;;;;;;;;;;:14;;;17156:11;;;;;;;;;;;17169:5;;;;;;;;;;;:15;;;17193:4;17169:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;17141:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;17119:124;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;16774:489::o:0;11788:45::-;;;;:::o;11642:58::-;;;;;;;;;;;;;;;;;:::o;11953:40::-;;;;;;;;;;;;;:::o;8177:244::-;7454:12;:10;:12::i;:::-;7444:22;;:6;;;;;;;;;;:22;;;7436:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8286:1:::1;8266:22;;:8;:22;;;;8258:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8376:8;8347:38;;8368:6;::::0;::::1;;;;;;;;8347:38;;;;;;;;;;;;8405:8;8396:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;8177:244:::0;:::o;11585:50::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;11219:19::-;;;;;;;;;;;;;:::o;5870:106::-;5923:15;5958:10;5951:17;;5870:106;:::o;2221:471::-;2279:7;2529:1;2524;:6;2520:47;;;2554:1;2547:8;;;;2520:47;2579:9;2595:1;2591;:5;2579:17;;2624:1;2619;2615;:5;;;;;;:10;2607:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2683:1;2676:8;;;2221:471;;;;;:::o;3168:132::-;3226:7;3253:39;3257:1;3260;3253:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;3246:46;;3168:132;;;;:::o;1331:136::-;1389:7;1416:43;1420:1;1423;1416:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1409:50;;1331:136;;;;:::o;867:181::-;925:7;945:9;961:1;957;:5;945:17;;986:1;981;:6;;973:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1039:1;1032:8;;;867:181;;;;:::o;3796:278::-;3882:7;3914:1;3910;:5;3917:12;3902:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3941:9;3957:1;3953;:5;;;;;;3941:17;;4065:1;4058:8;;;3796:278;;;;;:::o;1770:192::-;1856:7;1889:1;1884;:6;;1892:12;1876:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1916:9;1932:1;1928;:5;1916:17;;1953:1;1946:8;;;1770:192;;;;;:::o
Swarm Source
ipfs://dd5a4140a33e80cbb8f55c74e62abb322bc384da2edcb8b5e65b4a391de1077b
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 26 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.