More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 6,923 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Swap Native Toke... | 11405193 | 1486 days ago | IN | 0 ETH | 0.00679555 | ||||
Swap Native Toke... | 11255350 | 1509 days ago | IN | 0 ETH | 0.00832694 | ||||
Swap Native Toke... | 11248201 | 1510 days ago | IN | 0 ETH | 0.00196604 | ||||
Deposit | 11235674 | 1512 days ago | IN | 0 ETH | 0.00199592 | ||||
Deposit | 11235674 | 1512 days ago | IN | 0 ETH | 0.00178015 | ||||
Deposit | 11235674 | 1512 days ago | IN | 0 ETH | 0.00169923 | ||||
Deposit | 11235674 | 1512 days ago | IN | 0 ETH | 0.00161832 | ||||
Deposit | 11235674 | 1512 days ago | IN | 0 ETH | 0.00161832 | ||||
Deposit | 11235673 | 1512 days ago | IN | 0 ETH | 0.00161832 | ||||
Withdraw | 11235434 | 1512 days ago | IN | 0 ETH | 0.0015741 | ||||
Withdraw | 11235434 | 1512 days ago | IN | 0 ETH | 0.00145485 | ||||
Swap Native Toke... | 11235434 | 1512 days ago | IN | 0 ETH | 0.00176064 | ||||
Withdraw | 11235427 | 1512 days ago | IN | 0 ETH | 0.001431 | ||||
Deposit | 11212618 | 1515 days ago | IN | 0 ETH | 0.00272874 | ||||
Deposit | 11201551 | 1517 days ago | IN | 0 ETH | 0.00164309 | ||||
Deposit | 11201551 | 1517 days ago | IN | 0 ETH | 0.00156565 | ||||
Deposit | 11201551 | 1517 days ago | IN | 0 ETH | 0.00159999 | ||||
Swap Native Toke... | 11196606 | 1518 days ago | IN | 0 ETH | 0.00214211 | ||||
Swap Native Toke... | 11196606 | 1518 days ago | IN | 0 ETH | 0.00190736 | ||||
Swap Native Toke... | 11181734 | 1520 days ago | IN | 0 ETH | 0.00294309 | ||||
Swap Native Toke... | 11181244 | 1520 days ago | IN | 0 ETH | 0.00178998 | ||||
Swap Native Toke... | 11181244 | 1520 days ago | IN | 0 ETH | 0.0019367 | ||||
Swap Native Toke... | 11181244 | 1520 days ago | IN | 0 ETH | 0.00234752 | ||||
Swap Native Toke... | 11181244 | 1520 days ago | IN | 0 ETH | 0.00234752 | ||||
Swap Native Toke... | 11181244 | 1520 days ago | IN | 0 ETH | 0.00234752 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
NativeSwap
Compiler Version
v0.6.12+commit.27d51765
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2020-11-02 */ // File: @openzeppelin/contracts/token/ERC20/IERC20.sol // SPDX-License-Identifier: MIT pragma solidity ^0.6.0; /** * @dev Interface of the ERC20 standard as defined in the EIP. */ interface IERC20 { /** * @dev Returns the amount of tokens in existence. */ function totalSupply() external view returns (uint256); /** * @dev Returns the amount of tokens owned by `account`. */ function balanceOf(address account) external view returns (uint256); /** * @dev Moves `amount` tokens from the caller's account to `recipient`. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transfer(address recipient, uint256 amount) external returns (bool); /** * @dev Returns the remaining number of tokens that `spender` will be * allowed to spend on behalf of `owner` through {transferFrom}. This is * zero by default. * * This value changes when {approve} or {transferFrom} are called. */ function allowance(address owner, address spender) external view returns (uint256); /** * @dev Sets `amount` as the allowance of `spender` over the caller's tokens. * * Returns a boolean value indicating whether the operation succeeded. * * IMPORTANT: Beware that changing an allowance with this method brings the risk * that someone may use both the old and the new allowance by unfortunate * transaction ordering. One possible solution to mitigate this race * condition is to first reduce the spender's allowance to 0 and set the * desired value afterwards: * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * * Emits an {Approval} event. */ function approve(address spender, uint256 amount) external returns (bool); /** * @dev Moves `amount` tokens from `sender` to `recipient` using the * allowance mechanism. `amount` is then deducted from the caller's * allowance. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); /** * @dev Emitted when `value` tokens are moved from one account (`from`) to * another (`to`). * * Note that `value` may be zero. */ event Transfer(address indexed from, address indexed to, uint256 value); /** * @dev Emitted when the allowance of a `spender` for an `owner` is set by * a call to {approve}. `value` is the new allowance. */ event Approval(address indexed owner, address indexed spender, uint256 value); } // File: @openzeppelin/contracts/math/SafeMath.sol pragma solidity ^0.6.0; /** * @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; } } // File: contracts/interfaces/IToken.sol pragma solidity ^0.6.0; interface IToken { function mint(address to, uint256 amount) external; function burn(address from, uint256 amount) external; } // File: contracts/interfaces/IAuction.sol pragma solidity ^0.6.0; interface IAuction { function callIncomeDailyTokensTrigger(uint256 amount) external; function callIncomeWeeklyTokensTrigger(uint256 amount) external; } // File: contracts/NativeSwap.sol pragma solidity >=0.4.25 <0.7.0; contract NativeSwap { using SafeMath for uint256; event TokensSwapped( address indexed account, uint256 indexed stepsFromStart, uint256 userAmount, uint256 penaltyAmount ); uint256 public start; uint256 public period; uint256 public stepTimestamp; IERC20 public swapToken; IToken public mainToken; IAuction public auction; bool public init_; mapping(address => uint256) public swapTokenBalanceOf; constructor() public { init_ = false; } function init( uint256 _period, uint256 _stepTimestamp, address _swapToken, address _mainToken, address _auction ) external { require(!init_, "init is active"); period = _period; stepTimestamp = _stepTimestamp; swapToken = IERC20(_swapToken); mainToken = IToken(_mainToken); auction = IAuction(_auction); start = now; init_ = true; } function deposit(uint256 _amount) external { require( swapToken.transferFrom(msg.sender, address(this), _amount), "NativeSwap: transferFrom error" ); swapTokenBalanceOf[msg.sender] = swapTokenBalanceOf[msg.sender].add( _amount ); } function withdraw(uint256 _amount) external { require(_amount >= swapTokenBalanceOf[msg.sender], "balance < amount"); swapTokenBalanceOf[msg.sender] = swapTokenBalanceOf[msg.sender].sub( _amount ); swapToken.transfer(msg.sender, _amount); } function swapNativeToken() external { uint256 stepsFromStart = calculateStepsFromStart(); require(stepsFromStart <= period, "swapNativeToken: swap is over"); uint256 amount = swapTokenBalanceOf[msg.sender]; uint256 deltaPenalty = calculateDeltaPenalty(amount); uint256 amountOut = amount.sub(deltaPenalty); require(amount > 0, "swapNativeToken: amount == 0"); swapTokenBalanceOf[msg.sender] = 0; mainToken.mint(address(auction), deltaPenalty); auction.callIncomeDailyTokensTrigger(deltaPenalty); mainToken.mint(msg.sender, amountOut); emit TokensSwapped(msg.sender, stepsFromStart, amount, deltaPenalty); } function calculateDeltaPenalty(uint256 amount) public view returns (uint256) { uint256 stepsFromStart = calculateStepsFromStart(); if (stepsFromStart > period) return amount; return amount.mul(stepsFromStart).div(period); } function calculateStepsFromStart() public view returns (uint256) { return now.sub(start).div(stepTimestamp); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"uint256","name":"stepsFromStart","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"userAmount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"penaltyAmount","type":"uint256"}],"name":"TokensSwapped","type":"event"},{"inputs":[],"name":"auction","outputs":[{"internalType":"contract IAuction","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"calculateDeltaPenalty","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"calculateStepsFromStart","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"deposit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_period","type":"uint256"},{"internalType":"uint256","name":"_stepTimestamp","type":"uint256"},{"internalType":"address","name":"_swapToken","type":"address"},{"internalType":"address","name":"_mainToken","type":"address"},{"internalType":"address","name":"_auction","type":"address"}],"name":"init","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"init_","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"mainToken","outputs":[{"internalType":"contract IToken","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"period","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"start","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"stepTimestamp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapNativeToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapToken","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"swapTokenBalanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
608060405234801561001057600080fd5b506005805460ff60a01b19169055610abb8061002d6000396000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c8063982e52fb1161008c578063be9a655511610066578063be9a655514610207578063d830d97b1461020f578063dc73e49c1461022c578063ef78d4fd14610234576100ea565b8063982e52fb146101c6578063a2e6f9bf146101e2578063b6b55f25146101ea576100ea565b80634bc2e48d116100c85780634bc2e48d146101765780635fc35f741461019057806370707c06146101b65780637d9f6db5146101be576100ea565b80630168aef8146100ef5780632e1a7d4d146101355780633fc15f1514610152575b600080fd5b610133600480360360a081101561010557600080fd5b508035906020810135906001600160a01b03604082013581169160608101358216916080909101351661023c565b005b6101336004803603602081101561014b57600080fd5b50356102e7565b61015a6103ec565b604080516001600160a01b039092168252519081900360200190f35b61017e6103fb565b60408051918252519081900360200190f35b61017e600480360360208110156101a657600080fd5b50356001600160a01b0316610423565b610133610435565b61015a6106aa565b6101ce6106b9565b604080519115158252519081900360200190f35b61017e6106c9565b6101336004803603602081101561020057600080fd5b50356106cf565b61017e6107d3565b61017e6004803603602081101561022557600080fd5b50356107d9565b61015a610813565b61017e610822565b600554600160a01b900460ff161561028c576040805162461bcd60e51b815260206004820152600e60248201526d696e69742069732061637469766560901b604482015290519081900360640190fd5b600194909455600292909255600380546001600160a01b03199081166001600160a01b0393841617909155600480548216938316939093179092556005805442600055600160a01b9316919093161760ff60a01b1916179055565b3360009081526006602052604090205481101561033e576040805162461bcd60e51b815260206004820152601060248201526f18985b185b98d9480f08185b5bdd5b9d60821b604482015290519081900360640190fd5b336000908152600660205260409020546103589082610828565b33600081815260066020908152604080832094909455600354845163a9059cbb60e01b815260048101949094526024840186905293516001600160a01b039094169363a9059cbb93604480820194918390030190829087803b1580156103bd57600080fd5b505af11580156103d1573d6000803e3d6000fd5b505050506040513d60208110156103e757600080fd5b505050565b6004546001600160a01b031681565b600061041e6002546104186000544261082890919063ffffffff16565b90610873565b905090565b60066020526000908152604090205481565b600061043f6103fb565b9050600154811115610498576040805162461bcd60e51b815260206004820152601d60248201527f737761704e6174697665546f6b656e3a2073776170206973206f766572000000604482015290519081900360640190fd5b33600090815260066020526040812054906104b2826107d9565b905060006104c08383610828565b905060008311610517576040805162461bcd60e51b815260206004820152601c60248201527f737761704e6174697665546f6b656e3a20616d6f756e74203d3d203000000000604482015290519081900360640190fd5b336000908152600660205260408082208290556004805460055483516340c10f1960e01b81526001600160a01b03918216938101939093526024830187905292519216926340c10f199260448084019382900301818387803b15801561057c57600080fd5b505af1158015610590573d6000803e3d6000fd5b50506005546040805163c22fd76f60e01b81526004810187905290516001600160a01b03909216935063c22fd76f925060248082019260009290919082900301818387803b1580156105e157600080fd5b505af11580156105f5573d6000803e3d6000fd5b505060048054604080516340c10f1960e01b8152339381019390935260248301869052516001600160a01b0390911693506340c10f199250604480830192600092919082900301818387803b15801561064d57600080fd5b505af1158015610661573d6000803e3d6000fd5b5050604080518681526020810186905281518894503393507f5998feb874e6089317765439db6575c0ba1c29ba0084c05f3c61be5cbd74cb8c929181900390910190a350505050565b6005546001600160a01b031681565b600554600160a01b900460ff1681565b60025481565b600354604080516323b872dd60e01b81523360048201523060248201526044810184905290516001600160a01b03909216916323b872dd916064808201926020929091908290030181600087803b15801561072957600080fd5b505af115801561073d573d6000803e3d6000fd5b505050506040513d602081101561075357600080fd5b50516107a6576040805162461bcd60e51b815260206004820152601e60248201527f4e6174697665537761703a207472616e7366657246726f6d206572726f720000604482015290519081900360640190fd5b336000908152600660205260409020546107c090826108b5565b3360009081526006602052604090205550565b60005481565b6000806107e46103fb565b90506001548111156107f9578291505061080e565b60015461080a90610418858461090f565b9150505b919050565b6003546001600160a01b031681565b60015481565b600061086a83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610968565b90505b92915050565b600061086a83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506109ff565b60008282018381101561086a576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60008261091e5750600061086d565b8282028284828161092b57fe5b041461086a5760405162461bcd60e51b8152600401808060200182810382526021815260200180610a656021913960400191505060405180910390fd5b600081848411156109f75760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156109bc5781810151838201526020016109a4565b50505050905090810190601f1680156109e95780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b60008183610a4e5760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156109bc5781810151838201526020016109a4565b506000838581610a5a57fe5b049594505050505056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a264697066735822122065125865350faf1f0e9ee89174c8c56bab6e96b5b0f7c83dce1ab82ee103d02464736f6c634300060c0033
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100ea5760003560e01c8063982e52fb1161008c578063be9a655511610066578063be9a655514610207578063d830d97b1461020f578063dc73e49c1461022c578063ef78d4fd14610234576100ea565b8063982e52fb146101c6578063a2e6f9bf146101e2578063b6b55f25146101ea576100ea565b80634bc2e48d116100c85780634bc2e48d146101765780635fc35f741461019057806370707c06146101b65780637d9f6db5146101be576100ea565b80630168aef8146100ef5780632e1a7d4d146101355780633fc15f1514610152575b600080fd5b610133600480360360a081101561010557600080fd5b508035906020810135906001600160a01b03604082013581169160608101358216916080909101351661023c565b005b6101336004803603602081101561014b57600080fd5b50356102e7565b61015a6103ec565b604080516001600160a01b039092168252519081900360200190f35b61017e6103fb565b60408051918252519081900360200190f35b61017e600480360360208110156101a657600080fd5b50356001600160a01b0316610423565b610133610435565b61015a6106aa565b6101ce6106b9565b604080519115158252519081900360200190f35b61017e6106c9565b6101336004803603602081101561020057600080fd5b50356106cf565b61017e6107d3565b61017e6004803603602081101561022557600080fd5b50356107d9565b61015a610813565b61017e610822565b600554600160a01b900460ff161561028c576040805162461bcd60e51b815260206004820152600e60248201526d696e69742069732061637469766560901b604482015290519081900360640190fd5b600194909455600292909255600380546001600160a01b03199081166001600160a01b0393841617909155600480548216938316939093179092556005805442600055600160a01b9316919093161760ff60a01b1916179055565b3360009081526006602052604090205481101561033e576040805162461bcd60e51b815260206004820152601060248201526f18985b185b98d9480f08185b5bdd5b9d60821b604482015290519081900360640190fd5b336000908152600660205260409020546103589082610828565b33600081815260066020908152604080832094909455600354845163a9059cbb60e01b815260048101949094526024840186905293516001600160a01b039094169363a9059cbb93604480820194918390030190829087803b1580156103bd57600080fd5b505af11580156103d1573d6000803e3d6000fd5b505050506040513d60208110156103e757600080fd5b505050565b6004546001600160a01b031681565b600061041e6002546104186000544261082890919063ffffffff16565b90610873565b905090565b60066020526000908152604090205481565b600061043f6103fb565b9050600154811115610498576040805162461bcd60e51b815260206004820152601d60248201527f737761704e6174697665546f6b656e3a2073776170206973206f766572000000604482015290519081900360640190fd5b33600090815260066020526040812054906104b2826107d9565b905060006104c08383610828565b905060008311610517576040805162461bcd60e51b815260206004820152601c60248201527f737761704e6174697665546f6b656e3a20616d6f756e74203d3d203000000000604482015290519081900360640190fd5b336000908152600660205260408082208290556004805460055483516340c10f1960e01b81526001600160a01b03918216938101939093526024830187905292519216926340c10f199260448084019382900301818387803b15801561057c57600080fd5b505af1158015610590573d6000803e3d6000fd5b50506005546040805163c22fd76f60e01b81526004810187905290516001600160a01b03909216935063c22fd76f925060248082019260009290919082900301818387803b1580156105e157600080fd5b505af11580156105f5573d6000803e3d6000fd5b505060048054604080516340c10f1960e01b8152339381019390935260248301869052516001600160a01b0390911693506340c10f199250604480830192600092919082900301818387803b15801561064d57600080fd5b505af1158015610661573d6000803e3d6000fd5b5050604080518681526020810186905281518894503393507f5998feb874e6089317765439db6575c0ba1c29ba0084c05f3c61be5cbd74cb8c929181900390910190a350505050565b6005546001600160a01b031681565b600554600160a01b900460ff1681565b60025481565b600354604080516323b872dd60e01b81523360048201523060248201526044810184905290516001600160a01b03909216916323b872dd916064808201926020929091908290030181600087803b15801561072957600080fd5b505af115801561073d573d6000803e3d6000fd5b505050506040513d602081101561075357600080fd5b50516107a6576040805162461bcd60e51b815260206004820152601e60248201527f4e6174697665537761703a207472616e7366657246726f6d206572726f720000604482015290519081900360640190fd5b336000908152600660205260409020546107c090826108b5565b3360009081526006602052604090205550565b60005481565b6000806107e46103fb565b90506001548111156107f9578291505061080e565b60015461080a90610418858461090f565b9150505b919050565b6003546001600160a01b031681565b60015481565b600061086a83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610968565b90505b92915050565b600061086a83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506109ff565b60008282018381101561086a576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60008261091e5750600061086d565b8282028284828161092b57fe5b041461086a5760405162461bcd60e51b8152600401808060200182810382526021815260200180610a656021913960400191505060405180910390fd5b600081848411156109f75760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156109bc5781810151838201526020016109a4565b50505050905090810190601f1680156109e95780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b60008183610a4e5760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156109bc5781810151838201526020016109a4565b506000838581610a5a57fe5b049594505050505056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a264697066735822122065125865350faf1f0e9ee89174c8c56bab6e96b5b0f7c83dce1ab82ee103d02464736f6c634300060c0033
Deployed Bytecode Sourcemap
8767:2795:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9331:460;;;;;;;;;;;;;;;;-1:-1:-1;9331:460:0;;;;;;;;-1:-1:-1;;;;;9331:460:0;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;10118:294;;;;;;;;;;;;;;;;-1:-1:-1;10118:294:0;;:::i;9120:23::-;;;:::i;:::-;;;;-1:-1:-1;;;;;9120:23:0;;;;;;;;;;;;;;11435:124;;;:::i;:::-;;;;;;;;;;;;;;;;9208:53;;;;;;;;;;;;;;;;-1:-1:-1;9208:53:0;-1:-1:-1;;;;;9208:53:0;;:::i;10420:712::-;;;:::i;9150:23::-;;;:::i;9182:17::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;9055:28;;;:::i;9799:311::-;;;;;;;;;;;;;;;;-1:-1:-1;9799:311:0;;:::i;9000:20::-;;;:::i;11140:287::-;;;;;;;;;;;;;;;;-1:-1:-1;11140:287:0;;:::i;9090:23::-;;;:::i;9027:21::-;;;:::i;9331:460::-;9525:5;;-1:-1:-1;;;9525:5:0;;;;9524:6;9516:33;;;;;-1:-1:-1;;;9516:33:0;;;;;;;;;;;;-1:-1:-1;;;9516:33:0;;;;;;;;;;;;;;;9560:6;:16;;;;9587:13;:30;;;;9628:9;:30;;-1:-1:-1;;;;;;9628:30:0;;;-1:-1:-1;;;;;9628:30:0;;;;;;;9669:9;:30;;;;;;;;;;;;;;9710:7;:28;;9757:3;-1:-1:-1;9749:11:0;-1:-1:-1;;;9710:28:0;;;;;;;-1:-1:-1;;;;9771:12:0;;;;9331:460::o;10118:294::-;10211:10;10192:30;;;;:18;:30;;;;;;10181:41;;;10173:70;;;;;-1:-1:-1;;;10173:70:0;;;;;;;;;;;;-1:-1:-1;;;10173:70:0;;;;;;;;;;;;;;;10306:10;10287:30;;;;:18;:30;;;;;;:67;;10336:7;10287:34;:67::i;:::-;10273:10;10254:30;;;;:18;:30;;;;;;;;:100;;;;10365:9;;:39;;-1:-1:-1;;;10365:39:0;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10365:9:0;;;;:18;;:39;;;;;;;;;;;;;:9;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;10118:294:0:o;9120:23::-;;;-1:-1:-1;;;;;9120:23:0;;:::o;11435:124::-;11491:7;11518:33;11537:13;;11518:14;11526:5;;11518:3;:7;;:14;;;;:::i;:::-;:18;;:33::i;:::-;11511:40;;11435:124;:::o;9208:53::-;;;;;;;;;;;;;:::o;10420:712::-;10467:22;10492:25;:23;:25::i;:::-;10467:50;;10554:6;;10536:14;:24;;10528:66;;;;;-1:-1:-1;;;10528:66:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;10641:10;10605:14;10622:30;;;:18;:30;;;;;;;10686:29;10622:30;10686:21;:29::i;:::-;10663:52;-1:-1:-1;10726:17:0;10746:24;:6;10663:52;10746:10;:24::i;:::-;10726:44;;10798:1;10789:6;:10;10781:51;;;;;-1:-1:-1;;;10781:51:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;10862:10;10876:1;10843:30;;;:18;:30;;;;;;:34;;;10888:9;;;10911:7;;10888:46;;-1:-1:-1;;;10888:46:0;;-1:-1:-1;;;;;10911:7:0;;;10888:46;;;;;;;;;;;;;;;:9;;;:14;;:46;;;;;;;;;;10876:1;10888:9;:46;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;10945:7:0;;:50;;;-1:-1:-1;;;10945:50:0;;;;;;;;;;-1:-1:-1;;;;;10945:7:0;;;;-1:-1:-1;10945:36:0;;-1:-1:-1;10945:50:0;;;;;:7;;:50;;;;;;;;:7;;:50;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;11006:9:0;;;:37;;;-1:-1:-1;;;11006:37:0;;11021:10;11006:37;;;;;;;;;;;;;;-1:-1:-1;;;;;11006:9:0;;;;-1:-1:-1;11006:14:0;;-1:-1:-1;11006:37:0;;;;;:9;;:37;;;;;;;:9;;:37;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;11061:63:0;;;;;;;;;;;;;;11087:14;;-1:-1:-1;11075:10:0;;-1:-1:-1;11061:63:0;;;;;;;;;;;10420:712;;;;:::o;9150:23::-;;;-1:-1:-1;;;;;9150:23:0;;:::o;9182:17::-;;;-1:-1:-1;;;9182:17:0;;;;;:::o;9055:28::-;;;;:::o;9799:311::-;9875:9;;:58;;;-1:-1:-1;;;9875:58:0;;9898:10;9875:58;;;;9918:4;9875:58;;;;;;;;;;;;-1:-1:-1;;;;;9875:9:0;;;;:22;;:58;;;;;;;;;;;;;;;:9;;:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9875:58:0;9853:138;;;;;-1:-1:-1;;;9853:138:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;10054:10;10035:30;;;;:18;:30;;;;;;:67;;10084:7;10035:34;:67::i;:::-;10021:10;10002:30;;;;:18;:30;;;;;:100;-1:-1:-1;9799:311:0:o;9000:20::-;;;;:::o;11140:287::-;11235:7;11260:22;11285:25;:23;:25::i;:::-;11260:50;;11342:6;;11325:14;:23;11321:42;;;11357:6;11350:13;;;;;11321:42;11412:6;;11381:38;;:26;:6;11392:14;11381:10;:26::i;:38::-;11374:45;;;11140:287;;;;:::o;9090:23::-;;;-1:-1:-1;;;;;9090:23:0;;:::o;9027:21::-;;;;:::o;4223:136::-;4281:7;4308:43;4312:1;4315;4308:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;4301:50;;4223:136;;;;;:::o;6060:132::-;6118:7;6145:39;6149:1;6152;6145:39;;;;;;;;;;;;;;;;;:3;:39::i;3759:181::-;3817:7;3849:5;;;3873:6;;;;3865:46;;;;;-1:-1:-1;;;3865:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;5113:471;5171:7;5416:6;5412:47;;-1:-1:-1;5446:1:0;5439:8;;5412:47;5483:5;;;5487:1;5483;:5;:1;5507:5;;;;;:10;5499:56;;;;-1:-1:-1;;;5499:56:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4662:192;4748:7;4784:12;4776:6;;;;4768:29;;;;-1:-1:-1;;;4768:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4820:5:0;;;4662:192::o;6688:278::-;6774:7;6809:12;6802:5;6794:28;;;;-1:-1:-1;;;6794:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6833:9;6849:1;6845;:5;;;;;;;6688:278;-1:-1:-1;;;;;6688:278:0:o
Swarm Source
ipfs://65125865350faf1f0e9ee89174c8c56bab6e96b5b0f7c83dce1ab82ee103d024
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|---|---|---|---|---|
ETH | 100.00% | $0.000001 | 12,331,858.76 | $16.15 |
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.