Feature Tip: Add private address tag to any address under My Name Tag !
Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 115 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Set Enabled | 17108954 | 674 days ago | IN | 0 ETH | 0.00113919 | ||||
Buy | 17107275 | 675 days ago | IN | 0 ETH | 0.00204387 | ||||
Buy | 17106762 | 675 days ago | IN | 0 ETH | 0.00219215 | ||||
Buy | 17106652 | 675 days ago | IN | 0 ETH | 0.00206236 | ||||
Buy | 17106273 | 675 days ago | IN | 0 ETH | 0.0017478 | ||||
Buy | 17106188 | 675 days ago | IN | 0 ETH | 0.00201012 | ||||
Buy | 17106126 | 675 days ago | IN | 0 ETH | 0.00176589 | ||||
Buy | 17106121 | 675 days ago | IN | 0 ETH | 0.00205879 | ||||
Buy | 17106044 | 675 days ago | IN | 0 ETH | 0.00171729 | ||||
Buy | 17105851 | 675 days ago | IN | 0 ETH | 0.00196909 | ||||
Buy | 17105726 | 675 days ago | IN | 0 ETH | 0.00184869 | ||||
Buy | 17105709 | 675 days ago | IN | 0 ETH | 0.00179388 | ||||
Buy | 17105679 | 675 days ago | IN | 0 ETH | 0.00226758 | ||||
Buy | 17105675 | 675 days ago | IN | 0 ETH | 0.00227651 | ||||
Buy | 17105544 | 675 days ago | IN | 0 ETH | 0.00228704 | ||||
Buy | 17105027 | 675 days ago | IN | 0 ETH | 0.00403457 | ||||
Buy | 17104129 | 675 days ago | IN | 0 ETH | 0.00309818 | ||||
Buy | 17103989 | 675 days ago | IN | 0 ETH | 0.00255126 | ||||
Buy | 17103981 | 675 days ago | IN | 0 ETH | 0.00245742 | ||||
Buy | 17103941 | 675 days ago | IN | 0 ETH | 0.00235014 | ||||
Buy | 17103396 | 675 days ago | IN | 0 ETH | 0.00494144 | ||||
Buy | 17103347 | 675 days ago | IN | 0 ETH | 0.00247492 | ||||
Buy | 17102911 | 675 days ago | IN | 0 ETH | 0.00186969 | ||||
Buy | 17102791 | 675 days ago | IN | 0 ETH | 0.00213316 | ||||
Buy | 17102244 | 675 days ago | IN | 0 ETH | 0.00175956 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
Buy
Compiler Version
v0.8.17+commit.8df45f5f
Optimization Enabled:
Yes with 20000 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: UNLICENSED pragma solidity ^0.8.9; import "@openzeppelin/contracts/access/Ownable.sol"; import "./Public.sol"; struct Item { string name; uint128 price; uint64 txLimit; uint64 walletLimit; uint64 supplyLimit; } contract Buy is Ownable { IERC20 public token; bool public enabled; address private _cashier; mapping(uint16 => Item) private _items; mapping(uint16 => mapping(address => uint256)) private _purchased; event Purchase( address indexed purchaser, uint16[] items, uint16[] quantities, uint256 total, uint256 timestamp ); constructor(address tokenAddress) { token = IERC20(tokenAddress); } function setEnabled(bool b) public onlyOwner { enabled = b; } function setCashier(address a) public onlyOwner { _cashier = a; } function setItem( uint16 id, string memory name, uint128 price, uint64 txLimit, uint64 walletLimit, uint64 supplyLimit ) public onlyOwner { _items[id] = Item({ name: name, price: price, txLimit: txLimit, walletLimit: walletLimit, supplyLimit: supplyLimit }); } function deleteItem(uint16 id) public onlyOwner { delete _items[id]; } function buy(uint16 item, uint16 quantity) external { require(enabled == true, "Purchasing is disabled."); require(_cashier != address(0), "Cashier not configured."); require(_items[item].price > 0, "Item not configured."); require( _items[item].txLimit == 0 || quantity <= _items[item].txLimit, "Quantity exceeds transaction limit." ); require( _items[item].walletLimit == 0 || quantity + _purchased[item][_msgSender()] <= _items[item].walletLimit, "Quantity exceeds wallet limit." ); require( _items[item].supplyLimit == 0 || quantity + _purchased[item][address(0)] <= _items[item].supplyLimit, "Quantity exceeds supply limit." ); uint256 total = quantity * _items[item].price; require(token.balanceOf(_msgSender()) >= total, "Insufficient funds."); require( token.allowance(_msgSender(), address(this)) >= total, "Not approved." ); token.transferFrom(_msgSender(), _cashier, total); if (_items[item].walletLimit > 0) { _purchased[item][_msgSender()] += quantity; } if (_items[item].supplyLimit > 0) { _purchased[item][address(0)] += quantity; } emit Purchase({ purchaser: _msgSender(), items: uint16singleton(item), quantities: uint16singleton(quantity), total: total, timestamp: block.timestamp }); } function purchased( uint16 item, address addr ) external view returns (uint256) { return _purchased[item][addr]; } function getItem(uint16 item) external view returns (Item memory) { return _items[item]; } function uint16singleton( uint16 u ) internal pure returns (uint16[] memory a) { a = new uint16[](1); a[0] = u; return a; } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v4.7.0) (access/Ownable.sol) pragma solidity ^0.8.0; import "../utils/Context.sol"; /** * @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. */ abstract 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() { _transferOwnership(_msgSender()); } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { _checkOwner(); _; } /** * @dev Returns the address of the current owner. */ function owner() public view virtual returns (address) { return _owner; } /** * @dev Throws if the sender is not the owner. */ function _checkOwner() internal view virtual { 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 { _transferOwnership(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"); _transferOwnership(newOwner); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Internal function without access restriction. */ function _transferOwnership(address newOwner) internal virtual { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts v4.4.1 (utils/Context.sol) pragma solidity ^0.8.0; /** * @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 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) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v4.6.0) (token/ERC20/IERC20.sol) pragma solidity ^0.8.0; /** * @dev Interface of the ERC20 standard as defined in the EIP. */ interface IERC20 { /** * @dev Emitted when `value` tokens are moved from one account (`from`) to * another (`to`). * * Note that `value` may be zero. */ event Transfer(address indexed from, address indexed to, uint256 value); /** * @dev Emitted when the allowance of a `spender` for an `owner` is set by * a call to {approve}. `value` is the new allowance. */ event Approval( address indexed owner, address indexed spender, uint256 value ); /** * @dev 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 `to`. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transfer(address to, 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 `from` to `to` 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 from, address to, uint256 amount ) external returns (bool); } interface IBuy { struct Item { string name; uint128 price; uint64 txLimit; uint64 walletLimit; uint64 supplyLimit; } event Purchase( address indexed purchaser, uint16[] items, uint16[] quantities, uint256 total, uint256 timestamp ); function enabled() external view returns (bool); function buy(uint16 item, uint16 quantity) external; function purchased( uint16 item, address addr ) external view returns (uint256); function getItem(uint16 item) external view returns (Item memory); }
{ "optimizer": { "enabled": true, "runs": 20000 }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } }, "libraries": {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"tokenAddress","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"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"purchaser","type":"address"},{"indexed":false,"internalType":"uint16[]","name":"items","type":"uint16[]"},{"indexed":false,"internalType":"uint16[]","name":"quantities","type":"uint16[]"},{"indexed":false,"internalType":"uint256","name":"total","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"Purchase","type":"event"},{"inputs":[{"internalType":"uint16","name":"item","type":"uint16"},{"internalType":"uint16","name":"quantity","type":"uint16"}],"name":"buy","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint16","name":"id","type":"uint16"}],"name":"deleteItem","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"enabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint16","name":"item","type":"uint16"}],"name":"getItem","outputs":[{"components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"uint128","name":"price","type":"uint128"},{"internalType":"uint64","name":"txLimit","type":"uint64"},{"internalType":"uint64","name":"walletLimit","type":"uint64"},{"internalType":"uint64","name":"supplyLimit","type":"uint64"}],"internalType":"struct Item","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint16","name":"item","type":"uint16"},{"internalType":"address","name":"addr","type":"address"}],"name":"purchased","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"a","type":"address"}],"name":"setCashier","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"b","type":"bool"}],"name":"setEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint16","name":"id","type":"uint16"},{"internalType":"string","name":"name","type":"string"},{"internalType":"uint128","name":"price","type":"uint128"},{"internalType":"uint64","name":"txLimit","type":"uint64"},{"internalType":"uint64","name":"walletLimit","type":"uint64"},{"internalType":"uint64","name":"supplyLimit","type":"uint64"}],"name":"setItem","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"token","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
608060405234801561001057600080fd5b506040516118fa3803806118fa83398101604081905261002f916100ad565b6100383361005d565b600180546001600160a01b0319166001600160a01b03929092169190911790556100dd565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000602082840312156100bf57600080fd5b81516001600160a01b03811681146100d657600080fd5b9392505050565b61180e806100ec6000396000f3fe608060405234801561001057600080fd5b50600436106100d45760003560e01c80638da5cb5b11610081578063f2fde38b1161005b578063f2fde38b146101e9578063fc0c546a146101fc578063ff8959a51461021c57600080fd5b80638da5cb5b14610184578063b02ad48f146101c3578063c150e4f3146101d657600080fd5b8063328d8f72116100b2578063328d8f7214610149578063715018a61461015c578063810de9de1461016457600080fd5b80630d6c6230146100d9578063105e01d9146100ee578063238dafe014610114575b600080fd5b6100ec6100e7366004611182565b61022f565b005b6101016100fc3660046111d9565b610b1f565b6040519081526020015b60405180910390f35b6001546101399074010000000000000000000000000000000000000000900460ff1681565b604051901515815260200161010b565b6100ec610157366004611211565b610b5b565b6100ec610bad565b610177610172366004611235565b610bc1565b60405161010b9190611250565b60005473ffffffffffffffffffffffffffffffffffffffff165b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161010b565b6100ec6101d1366004611326565b610d14565b6100ec6101e43660046113a8565b610d63565b6100ec6101f7366004611326565b610ec5565b60015461019e9073ffffffffffffffffffffffffffffffffffffffff1681565b6100ec61022a366004611235565b610f7c565b6001805474010000000000000000000000000000000000000000900460ff161515146102bc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f50757263686173696e672069732064697361626c65642e00000000000000000060448201526064015b60405180910390fd5b60025473ffffffffffffffffffffffffffffffffffffffff1661033b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f43617368696572206e6f7420636f6e666967757265642e00000000000000000060448201526064016102b3565b61ffff82166000908152600360205260409020600101546fffffffffffffffffffffffffffffffff166103ca576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f4974656d206e6f7420636f6e666967757265642e00000000000000000000000060448201526064016102b3565b61ffff8216600090815260036020526040902060010154700100000000000000000000000000000000900467ffffffffffffffff161580610442575061ffff828116600090815260036020526040902060010154700100000000000000000000000000000000900467ffffffffffffffff1690821611155b6104ce576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f5175616e746974792065786365656473207472616e73616374696f6e206c696d60448201527f69742e000000000000000000000000000000000000000000000000000000000060648201526084016102b3565b61ffff82166000908152600360205260409020600101547801000000000000000000000000000000000000000000000000900467ffffffffffffffff161580610575575061ffff8281166000908152600360209081526040808320600101546004835281842033855290925290912054780100000000000000000000000000000000000000000000000090910467ffffffffffffffff1691610572919084166114f8565b11155b6105db576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f5175616e7469747920657863656564732077616c6c6574206c696d69742e000060448201526064016102b3565b61ffff821660009081526003602052604090206002015467ffffffffffffffff16158061064b575061ffff808316600090815260036020908152604080832060020154600483528184208480529092529091205467ffffffffffffffff90911691610648919084166114f8565b11155b6106b1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f5175616e74697479206578636565647320737570706c79206c696d69742e000060448201526064016102b3565b61ffff80831660009081526003602052604081206001015490916106e9916fffffffffffffffffffffffffffffffff1690841661150b565b6001546fffffffffffffffffffffffffffffffff919091169150819073ffffffffffffffffffffffffffffffffffffffff166370a08231336040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815273ffffffffffffffffffffffffffffffffffffffff9091166004820152602401602060405180830381865afa15801561078a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107ae919061153f565b1015610816576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f496e73756666696369656e742066756e64732e0000000000000000000000000060448201526064016102b3565b600154819073ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e336040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815273ffffffffffffffffffffffffffffffffffffffff9091166004820152306024820152604401602060405180830381865afa1580156108a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108ca919061153f565b1015610932576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600d60248201527f4e6f7420617070726f7665642e0000000000000000000000000000000000000060448201526064016102b3565b60015473ffffffffffffffffffffffffffffffffffffffff166323b872dd3360025460405160e084901b7fffffffff0000000000000000000000000000000000000000000000000000000016815273ffffffffffffffffffffffffffffffffffffffff928316600482015291166024820152604481018490526064016020604051808303816000875af11580156109cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109f19190611558565b5061ffff83166000908152600360205260409020600101547801000000000000000000000000000000000000000000000000900467ffffffffffffffff1615610a6d5761ffff83811660009081526004602090815260408083203384529091528120805492851692909190610a679084906114f8565b90915550505b61ffff831660009081526003602052604090206002015467ffffffffffffffff1615610acc5761ffff83811660009081526004602090815260408083208380529091528120805492851692909190610ac69084906114f8565b90915550505b337feeb06fc937dae094ac7a7fb11dbd6e2fcbcd485c8e7944714a0f773f82b0124b610af785610fd6565b610b0085610fd6565b8442604051610b1294939291906115b4565b60405180910390a2505050565b61ffff8216600090815260046020908152604080832073ffffffffffffffffffffffffffffffffffffffff851684529091529020545b92915050565b610b63611027565b6001805491151574010000000000000000000000000000000000000000027fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff909216919091179055565b610bb5611027565b610bbf60006110a8565b565b6040805160a08101825260608082526000602083018190529282018390528101829052608081019190915261ffff821660009081526003602052604090819020815160a08101909252805482908290610c19906115ed565b80601f0160208091040260200160405190810160405280929190818152602001828054610c45906115ed565b8015610c925780601f10610c6757610100808354040283529160200191610c92565b820191906000526020600020905b815481529060010190602001808311610c7557829003601f168201915b505050918352505060018201546fffffffffffffffffffffffffffffffff8116602083015267ffffffffffffffff70010000000000000000000000000000000082048116604084015278010000000000000000000000000000000000000000000000009091048116606083015260029092015490911660809091015292915050565b610d1c611027565b600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b610d6b611027565b6040805160a0810182528681526fffffffffffffffffffffffffffffffff861660208083019190915267ffffffffffffffff8087168385015285811660608401528416608083015261ffff8916600090815260039091529190912081518190610dd4908261168f565b506020820151600182018054604085015160608601516fffffffffffffffffffffffffffffffff9094167fffffffffffffffff0000000000000000000000000000000000000000000000009092169190911770010000000000000000000000000000000067ffffffffffffffff928316021777ffffffffffffffffffffffffffffffffffffffffffffffff16780100000000000000000000000000000000000000000000000093821693909302929092179055608090920151600290910180547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000001691909216179055505050505050565b610ecd611027565b73ffffffffffffffffffffffffffffffffffffffff8116610f70576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016102b3565b610f79816110a8565b50565b610f84611027565b61ffff8116600090815260036020526040812090610fa2828261111d565b506000600182015560020180547fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000016905550565b60408051600180825281830190925260609160208083019080368337019050509050818160008151811061100c5761100c6117a9565b602002602001019061ffff16908161ffff1681525050919050565b60005473ffffffffffffffffffffffffffffffffffffffff163314610bbf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016102b3565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b508054611129906115ed565b6000825580601f10611139575050565b601f016020900490600052602060002090810190610f7991905b808211156111675760008155600101611153565b5090565b803561ffff8116811461117d57600080fd5b919050565b6000806040838503121561119557600080fd5b61119e8361116b565b91506111ac6020840161116b565b90509250929050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461117d57600080fd5b600080604083850312156111ec57600080fd5b6111f58361116b565b91506111ac602084016111b5565b8015158114610f7957600080fd5b60006020828403121561122357600080fd5b813561122e81611203565b9392505050565b60006020828403121561124757600080fd5b61122e8261116b565b60006020808352835160a08285015280518060c086015260005b818110156112865782810184015186820160e00152830161126a565b50600060e08287010152918501516fffffffffffffffffffffffffffffffff8116604086015291604086015167ffffffffffffffff811660608701529250606086015167ffffffffffffffff811660808701529250608086015167ffffffffffffffff811660a08701529250601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169390930160e001949350505050565b60006020828403121561133857600080fd5b61122e826111b5565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b80356fffffffffffffffffffffffffffffffff8116811461117d57600080fd5b803567ffffffffffffffff8116811461117d57600080fd5b60008060008060008060c087890312156113c157600080fd5b6113ca8761116b565b9550602087013567ffffffffffffffff808211156113e757600080fd5b818901915089601f8301126113fb57600080fd5b81358181111561140d5761140d611341565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190838211818310171561145357611453611341565b816040528281528c602084870101111561146c57600080fd5b82602086016020830137600060208483010152809950505050505061149360408801611370565b93506114a160608801611390565b92506114af60808801611390565b91506114bd60a08801611390565b90509295509295509295565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b80820180821115610b5557610b556114c9565b6fffffffffffffffffffffffffffffffff818116838216028082169190828114611537576115376114c9565b505092915050565b60006020828403121561155157600080fd5b5051919050565b60006020828403121561156a57600080fd5b815161122e81611203565b600081518084526020808501945080840160005b838110156115a957815161ffff1687529582019590820190600101611589565b509495945050505050565b6080815260006115c76080830187611575565b82810360208401526115d98187611575565b604084019590955250506060015292915050565b600181811c9082168061160157607f821691505b60208210810361163a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b601f82111561168a57600081815260208120601f850160051c810160208610156116675750805b601f850160051c820191505b8181101561168657828155600101611673565b5050505b505050565b815167ffffffffffffffff8111156116a9576116a9611341565b6116bd816116b784546115ed565b84611640565b602080601f83116001811461171057600084156116da5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555611686565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b8281101561175d5788860151825594840194600190910190840161173e565b508582101561179957878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fdfea2646970667358221220963287d9d7f9780cebd8999cd8762b842be3f748237490cc3d747d23884cb6e664736f6c63430008110033000000000000000000000000313408eb31939a9c33b40afe28dc378845d0992f
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100d45760003560e01c80638da5cb5b11610081578063f2fde38b1161005b578063f2fde38b146101e9578063fc0c546a146101fc578063ff8959a51461021c57600080fd5b80638da5cb5b14610184578063b02ad48f146101c3578063c150e4f3146101d657600080fd5b8063328d8f72116100b2578063328d8f7214610149578063715018a61461015c578063810de9de1461016457600080fd5b80630d6c6230146100d9578063105e01d9146100ee578063238dafe014610114575b600080fd5b6100ec6100e7366004611182565b61022f565b005b6101016100fc3660046111d9565b610b1f565b6040519081526020015b60405180910390f35b6001546101399074010000000000000000000000000000000000000000900460ff1681565b604051901515815260200161010b565b6100ec610157366004611211565b610b5b565b6100ec610bad565b610177610172366004611235565b610bc1565b60405161010b9190611250565b60005473ffffffffffffffffffffffffffffffffffffffff165b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161010b565b6100ec6101d1366004611326565b610d14565b6100ec6101e43660046113a8565b610d63565b6100ec6101f7366004611326565b610ec5565b60015461019e9073ffffffffffffffffffffffffffffffffffffffff1681565b6100ec61022a366004611235565b610f7c565b6001805474010000000000000000000000000000000000000000900460ff161515146102bc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f50757263686173696e672069732064697361626c65642e00000000000000000060448201526064015b60405180910390fd5b60025473ffffffffffffffffffffffffffffffffffffffff1661033b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f43617368696572206e6f7420636f6e666967757265642e00000000000000000060448201526064016102b3565b61ffff82166000908152600360205260409020600101546fffffffffffffffffffffffffffffffff166103ca576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f4974656d206e6f7420636f6e666967757265642e00000000000000000000000060448201526064016102b3565b61ffff8216600090815260036020526040902060010154700100000000000000000000000000000000900467ffffffffffffffff161580610442575061ffff828116600090815260036020526040902060010154700100000000000000000000000000000000900467ffffffffffffffff1690821611155b6104ce576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f5175616e746974792065786365656473207472616e73616374696f6e206c696d60448201527f69742e000000000000000000000000000000000000000000000000000000000060648201526084016102b3565b61ffff82166000908152600360205260409020600101547801000000000000000000000000000000000000000000000000900467ffffffffffffffff161580610575575061ffff8281166000908152600360209081526040808320600101546004835281842033855290925290912054780100000000000000000000000000000000000000000000000090910467ffffffffffffffff1691610572919084166114f8565b11155b6105db576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f5175616e7469747920657863656564732077616c6c6574206c696d69742e000060448201526064016102b3565b61ffff821660009081526003602052604090206002015467ffffffffffffffff16158061064b575061ffff808316600090815260036020908152604080832060020154600483528184208480529092529091205467ffffffffffffffff90911691610648919084166114f8565b11155b6106b1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f5175616e74697479206578636565647320737570706c79206c696d69742e000060448201526064016102b3565b61ffff80831660009081526003602052604081206001015490916106e9916fffffffffffffffffffffffffffffffff1690841661150b565b6001546fffffffffffffffffffffffffffffffff919091169150819073ffffffffffffffffffffffffffffffffffffffff166370a08231336040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815273ffffffffffffffffffffffffffffffffffffffff9091166004820152602401602060405180830381865afa15801561078a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107ae919061153f565b1015610816576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f496e73756666696369656e742066756e64732e0000000000000000000000000060448201526064016102b3565b600154819073ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e336040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815273ffffffffffffffffffffffffffffffffffffffff9091166004820152306024820152604401602060405180830381865afa1580156108a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108ca919061153f565b1015610932576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600d60248201527f4e6f7420617070726f7665642e0000000000000000000000000000000000000060448201526064016102b3565b60015473ffffffffffffffffffffffffffffffffffffffff166323b872dd3360025460405160e084901b7fffffffff0000000000000000000000000000000000000000000000000000000016815273ffffffffffffffffffffffffffffffffffffffff928316600482015291166024820152604481018490526064016020604051808303816000875af11580156109cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109f19190611558565b5061ffff83166000908152600360205260409020600101547801000000000000000000000000000000000000000000000000900467ffffffffffffffff1615610a6d5761ffff83811660009081526004602090815260408083203384529091528120805492851692909190610a679084906114f8565b90915550505b61ffff831660009081526003602052604090206002015467ffffffffffffffff1615610acc5761ffff83811660009081526004602090815260408083208380529091528120805492851692909190610ac69084906114f8565b90915550505b337feeb06fc937dae094ac7a7fb11dbd6e2fcbcd485c8e7944714a0f773f82b0124b610af785610fd6565b610b0085610fd6565b8442604051610b1294939291906115b4565b60405180910390a2505050565b61ffff8216600090815260046020908152604080832073ffffffffffffffffffffffffffffffffffffffff851684529091529020545b92915050565b610b63611027565b6001805491151574010000000000000000000000000000000000000000027fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff909216919091179055565b610bb5611027565b610bbf60006110a8565b565b6040805160a08101825260608082526000602083018190529282018390528101829052608081019190915261ffff821660009081526003602052604090819020815160a08101909252805482908290610c19906115ed565b80601f0160208091040260200160405190810160405280929190818152602001828054610c45906115ed565b8015610c925780601f10610c6757610100808354040283529160200191610c92565b820191906000526020600020905b815481529060010190602001808311610c7557829003601f168201915b505050918352505060018201546fffffffffffffffffffffffffffffffff8116602083015267ffffffffffffffff70010000000000000000000000000000000082048116604084015278010000000000000000000000000000000000000000000000009091048116606083015260029092015490911660809091015292915050565b610d1c611027565b600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b610d6b611027565b6040805160a0810182528681526fffffffffffffffffffffffffffffffff861660208083019190915267ffffffffffffffff8087168385015285811660608401528416608083015261ffff8916600090815260039091529190912081518190610dd4908261168f565b506020820151600182018054604085015160608601516fffffffffffffffffffffffffffffffff9094167fffffffffffffffff0000000000000000000000000000000000000000000000009092169190911770010000000000000000000000000000000067ffffffffffffffff928316021777ffffffffffffffffffffffffffffffffffffffffffffffff16780100000000000000000000000000000000000000000000000093821693909302929092179055608090920151600290910180547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000001691909216179055505050505050565b610ecd611027565b73ffffffffffffffffffffffffffffffffffffffff8116610f70576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016102b3565b610f79816110a8565b50565b610f84611027565b61ffff8116600090815260036020526040812090610fa2828261111d565b506000600182015560020180547fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000016905550565b60408051600180825281830190925260609160208083019080368337019050509050818160008151811061100c5761100c6117a9565b602002602001019061ffff16908161ffff1681525050919050565b60005473ffffffffffffffffffffffffffffffffffffffff163314610bbf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016102b3565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b508054611129906115ed565b6000825580601f10611139575050565b601f016020900490600052602060002090810190610f7991905b808211156111675760008155600101611153565b5090565b803561ffff8116811461117d57600080fd5b919050565b6000806040838503121561119557600080fd5b61119e8361116b565b91506111ac6020840161116b565b90509250929050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461117d57600080fd5b600080604083850312156111ec57600080fd5b6111f58361116b565b91506111ac602084016111b5565b8015158114610f7957600080fd5b60006020828403121561122357600080fd5b813561122e81611203565b9392505050565b60006020828403121561124757600080fd5b61122e8261116b565b60006020808352835160a08285015280518060c086015260005b818110156112865782810184015186820160e00152830161126a565b50600060e08287010152918501516fffffffffffffffffffffffffffffffff8116604086015291604086015167ffffffffffffffff811660608701529250606086015167ffffffffffffffff811660808701529250608086015167ffffffffffffffff811660a08701529250601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169390930160e001949350505050565b60006020828403121561133857600080fd5b61122e826111b5565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b80356fffffffffffffffffffffffffffffffff8116811461117d57600080fd5b803567ffffffffffffffff8116811461117d57600080fd5b60008060008060008060c087890312156113c157600080fd5b6113ca8761116b565b9550602087013567ffffffffffffffff808211156113e757600080fd5b818901915089601f8301126113fb57600080fd5b81358181111561140d5761140d611341565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190838211818310171561145357611453611341565b816040528281528c602084870101111561146c57600080fd5b82602086016020830137600060208483010152809950505050505061149360408801611370565b93506114a160608801611390565b92506114af60808801611390565b91506114bd60a08801611390565b90509295509295509295565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b80820180821115610b5557610b556114c9565b6fffffffffffffffffffffffffffffffff818116838216028082169190828114611537576115376114c9565b505092915050565b60006020828403121561155157600080fd5b5051919050565b60006020828403121561156a57600080fd5b815161122e81611203565b600081518084526020808501945080840160005b838110156115a957815161ffff1687529582019590820190600101611589565b509495945050505050565b6080815260006115c76080830187611575565b82810360208401526115d98187611575565b604084019590955250506060015292915050565b600181811c9082168061160157607f821691505b60208210810361163a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b601f82111561168a57600081815260208120601f850160051c810160208610156116675750805b601f850160051c820191505b8181101561168657828155600101611673565b5050505b505050565b815167ffffffffffffffff8111156116a9576116a9611341565b6116bd816116b784546115ed565b84611640565b602080601f83116001811461171057600084156116da5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555611686565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b8281101561175d5788860151825594840194600190910190840161173e565b508582101561179957878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fdfea2646970667358221220963287d9d7f9780cebd8999cd8762b842be3f748237490cc3d747d23884cb6e664736f6c63430008110033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000313408eb31939a9c33b40afe28dc378845d0992f
-----Decoded View---------------
Arg [0] : tokenAddress (address): 0x313408eb31939A9c33B40AFE28Dc378845D0992F
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000313408eb31939a9c33b40afe28dc378845d0992f
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 31 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.