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 13 from a total of 13 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Create Token | 20068572 | 36 days ago | IN | 0 ETH | 0.01021527 | ||||
Create Token | 20038008 | 40 days ago | IN | 0 ETH | 0.00944831 | ||||
Set Controller | 19670030 | 91 days ago | IN | 0 ETH | 0.00050457 | ||||
Set Controller | 19668891 | 91 days ago | IN | 0 ETH | 0.00081749 | ||||
Set Controller | 19662612 | 92 days ago | IN | 0 ETH | 0.00061647 | ||||
Set Controller | 19660391 | 93 days ago | IN | 0 ETH | 0.00153186 | ||||
Create Token | 19659311 | 93 days ago | IN | 0 ETH | 0.0004061 | ||||
Create Token | 19659311 | 93 days ago | IN | 0 ETH | 0.01473652 | ||||
Create Token | 19537537 | 110 days ago | IN | 0 ETH | 0.02260664 | ||||
Create Token | 19154224 | 164 days ago | IN | 0 ETH | 0.01759942 | ||||
Set Controller | 19154201 | 164 days ago | IN | 0 ETH | 0.00071205 | ||||
Set Controller | 19154199 | 164 days ago | IN | 0 ETH | 0.00063748 | ||||
0x60806040 | 19153519 | 164 days ago | IN | Create: Factory | 0 ETH | 0.02600617 |
Latest 5 internal transactions
Advanced mode:
Parent Transaction Hash | Block | From | To | |||
---|---|---|---|---|---|---|
20068572 | 36 days ago | Contract Creation | 0 ETH | |||
20038008 | 40 days ago | Contract Creation | 0 ETH | |||
19659311 | 93 days ago | Contract Creation | 0 ETH | |||
19537537 | 110 days ago | Contract Creation | 0 ETH | |||
19154224 | 164 days ago | Contract Creation | 0 ETH |
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
Factory
Compiler Version
v0.8.24+commit.e11b9ed9
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2024-02-04 */ //SPDX-License-Identifier: MIT pragma solidity ^0.8.0; interface IERC20 { event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address to, uint256 value) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 value) external returns (bool); function transferFrom(address from, address to, uint256 value) external returns (bool); } abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } function _contextSuffixLength() internal view virtual returns (uint256) { return 0; } } interface IERC20Metadata is IERC20 { function name() external view returns (string memory); function symbol() external view returns (string memory); function decimals() external view returns (uint8); } interface IERC20Errors { error ERC20InsufficientBalance(address sender, uint256 balance, uint256 needed); error ERC20InvalidSender(address sender); error ERC20InvalidReceiver(address receiver); error ERC20InsufficientAllowance(address spender, uint256 allowance, uint256 needed); error ERC20InvalidApprover(address approver); error ERC20InvalidSpender(address spender); } abstract contract ERC20 is Context, IERC20, IERC20Metadata, IERC20Errors { event DataDelivery(address indexed _from, address indexed _to, uint256 _value, bytes data); mapping(address account => uint256) private _balances; mapping(address account => mapping(address spender => uint256)) private _allowances; uint256 private _totalSupply; string private _name; string private _symbol; constructor(string memory name_, string memory symbol_) { _name = name_; _symbol = symbol_; } function name() public view virtual returns (string memory) { return _name; } function symbol() public view virtual returns (string memory) { return _symbol; } function decimals() public view virtual returns (uint8) { return 18; } function totalSupply() public view virtual returns (uint256) { return _totalSupply; } function balanceOf(address account) public view virtual returns (uint256) { return _balances[account]; } function transfer(address to, uint256 value) public virtual returns (bool) { address owner = _msgSender(); _transfer(owner, to, value); return true; } function transfer(address to, uint256 value, bytes calldata _data) public virtual returns (bool) { address owner = _msgSender(); _transfer(owner, to, value); emit DataDelivery(msg.sender, to, value, _data); return true; } function allowance(address owner, address spender) public view virtual returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 value) public virtual returns (bool) { address owner = _msgSender(); _approve(owner, spender, value); return true; } function transferFrom(address from, address to, uint256 value) public virtual returns (bool) { address spender = _msgSender(); _spendAllowance(from, spender, value); _transfer(from, to, value); return true; } function _transfer(address from, address to, uint256 value) internal { if (from == address(0)) { revert ERC20InvalidSender(address(0)); } if (to == address(0)) { revert ERC20InvalidReceiver(address(0)); } _tokenTransferBefore(from, to, value); _update(from, to, value); _tokenTransferAfter(from, to, value); } function _tokenTransferBefore(address _from, address _to, uint256 value) internal virtual {} function _tokenTransferAfter(address _from, address _to, uint256 value) internal virtual {} function _update(address from, address to, uint256 value) internal virtual { if (from == address(0)) { // Overflow check required: The rest of the code assumes that totalSupply never overflows _totalSupply += value; } else { uint256 fromBalance = _balances[from]; if (fromBalance < value) { revert ERC20InsufficientBalance(from, fromBalance, value); } unchecked { // Overflow not possible: value <= fromBalance <= totalSupply. _balances[from] = fromBalance - value; } } if (to == address(0)) { unchecked { // Overflow not possible: value <= totalSupply or value <= fromBalance <= totalSupply. _totalSupply -= value; } } else { unchecked { // Overflow not possible: balance + value is at most totalSupply, which we know fits into a uint256. _balances[to] += value; } } emit Transfer(from, to, value); } function _mint(address account, uint256 value) internal { if (account == address(0)) { revert ERC20InvalidReceiver(address(0)); } _update(address(0), account, value); } function _burn(address account, uint256 value) internal { if (account == address(0)) { revert ERC20InvalidSender(address(0)); } _update(account, address(0), value); } function _approve(address owner, address spender, uint256 value) internal { _approve(owner, spender, value, true); } function _approve(address owner, address spender, uint256 value, bool emitEvent) internal virtual { if (owner == address(0)) { revert ERC20InvalidApprover(address(0)); } if (spender == address(0)) { revert ERC20InvalidSpender(address(0)); } _allowances[owner][spender] = value; if (emitEvent) { emit Approval(owner, spender, value); } } function _spendAllowance(address owner, address spender, uint256 value) internal virtual { uint256 currentAllowance = allowance(owner, spender); if (currentAllowance != type(uint256).max) { if (currentAllowance < value) { revert ERC20InsufficientAllowance(spender, currentAllowance, value); } unchecked { _approve(owner, spender, currentAllowance - value, false); } } } } interface IToken{ function mint(address _to, uint256 _value)external; function burn(address _from, uint256 _value)external; } interface ITokenTransferCallBack{ function tokenTransferBefore(address, address, uint256)external; function tokenTransferAfter(address, address, uint256)external; } contract Token is ERC20, IToken { uint8 private decimals_; address public callBack; address public factory; uint256 public maxSupply; modifier onlyFactory{ require(msg.sender == factory, "Token: Only factory!"); _; } modifier onlyController(address _account){ require(IFactory(factory).isController(_account), "Token: Only Controller!"); _; } constructor(string memory _name, string memory _symbol) ERC20(_name, _symbol){ factory = msg.sender; } function decimals() public view override returns(uint8) { return decimals_; } function initialize(uint256 _maxSupply, uint8 _decimals) external onlyFactory { decimals_ = _decimals; maxSupply = _maxSupply; } function _tokenTransferBefore(address _from, address _to, uint256 _value) internal override { bool _tokenPaused = IFactory(factory).isPaused(address(this)); bool _blockedFrom = IFactory(factory).isBlocked(address(this), _from); bool _blockedTo = IFactory(factory).isBlocked(address(this), _to); require( _tokenPaused == false && _blockedFrom == false && _blockedTo == false, "Token: token transfer not allow!" ); if(callBack != address(0)) { ITokenTransferCallBack(callBack).tokenTransferBefore(_from, _to, _value); } } function _tokenTransferAfter(address _from, address _to, uint256 _value) internal override { if(callBack != address(0)) { ITokenTransferCallBack(callBack).tokenTransferAfter(_from, _to, _value); } } function mint(address _to, uint256 _value) external override onlyController(msg.sender) { if(maxSupply !=0) { require(totalSupply() + _value <= maxSupply, "Token: exceeded the maximum value"); } _mint(_to, _value); } function burn(address _from, uint256 _value) external override onlyController(msg.sender) { _burn(_from, _value); } function setCallBack(address _callBack) external onlyController(msg.sender) { callBack = _callBack; } } interface IFactory{ function isController(address _controller) external view returns(bool); function isBlocked(address _token, address _account) external view returns(bool); function isPaused(address _token) external view returns(bool); function owner() external view returns(address); function createToken(string memory _name, string memory _symbol, uint8 _decimals, uint256 _maxSupply) external returns(address); } contract Factory is IFactory{ event TokenCreated( address indexed _token ); address public owner; address[] public tokens; mapping (address => string) public tokenSymbol; // address => symbol mapping (bytes => address) public tokenAddress; // symbol => address mapping (address => bool) public allTokenBlocked; // account => isBlocked mapping (address => mapping (address=> bool) ) public singleTokenBlocked; mapping (address => bool) public tokenControllers; // allTokenController => isController; bool public allTokenPaused; mapping (address=>bool) public singleTokenPaused; modifier onlyOwnerOrTokenController{ require(msg.sender == owner || tokenControllers[msg.sender], "Factory: Only owner or controller!"); _; } modifier onlyOwner{ require(msg.sender == owner, "Factory: Only owner!"); _; } constructor(address _owner){ owner = _owner; } function tokenAddressByName(string memory _symbol, string memory _name ) public view returns(address){ bytes memory symbol_name = abi.encodePacked(_symbol, _name); return tokenAddress[symbol_name]; } function isController(address _controller) public override view returns(bool) { return tokenControllers[_controller]; } function isBlocked(address _token, address _account) public override view returns(bool) { return singleTokenBlocked[_token][_account] || allTokenBlocked[_account]; } function isPaused(address _token) public override view returns(bool){ return singleTokenPaused[_token] || allTokenPaused; } function createToken(string memory _name, string memory _symbol, uint8 _decimals, uint256 _maxSupply) public onlyOwnerOrTokenController returns(address) { bytes memory symbol_name = bytes(abi.encodePacked(_symbol, _name)); require(tokenAddress[symbol_name] == address(0), "Factory: Token created"); Token token = new Token(_name, _symbol); token.initialize(_maxSupply, _decimals); tokens.push(address(token)); tokenSymbol[address(token)] = _symbol; tokenAddress[symbol_name] = address(token); emit TokenCreated(address(token)); return address(token); } function setBlock(address _token, address _account, bool _block) public { require(tokenControllers[msg.sender], "Factory: Only all token controller!"); if(_token == address(0)) { // block all token allTokenBlocked[_account] = _block; }else { singleTokenBlocked[_token][_account] = _block; } } function pauseToken(address _token, bool _pause) public { require(tokenControllers[msg.sender], "Factory: Only all token controller!"); if(_token == address(0)) { allTokenPaused = _pause; }else{ singleTokenPaused[_token] = _pause; } } function setController(address _account, bool _isController) onlyOwner public{ tokenControllers[_account] = _isController; } function transferOwnerShip(address _newOwner) onlyOwner public { owner = _newOwner; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_token","type":"address"}],"name":"TokenCreated","type":"event"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"allTokenBlocked","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"allTokenPaused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"_name","type":"string"},{"internalType":"string","name":"_symbol","type":"string"},{"internalType":"uint8","name":"_decimals","type":"uint8"},{"internalType":"uint256","name":"_maxSupply","type":"uint256"}],"name":"createToken","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"address","name":"_account","type":"address"}],"name":"isBlocked","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_controller","type":"address"}],"name":"isController","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_token","type":"address"}],"name":"isPaused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"bool","name":"_pause","type":"bool"}],"name":"pauseToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"address","name":"_account","type":"address"},{"internalType":"bool","name":"_block","type":"bool"}],"name":"setBlock","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_account","type":"address"},{"internalType":"bool","name":"_isController","type":"bool"}],"name":"setController","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"singleTokenBlocked","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"singleTokenPaused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes","name":"","type":"bytes"}],"name":"tokenAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"_symbol","type":"string"},{"internalType":"string","name":"_name","type":"string"}],"name":"tokenAddressByName","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"tokenControllers","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"tokenSymbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"tokens","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_newOwner","type":"address"}],"name":"transferOwnerShip","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
608060405234801561000f575f80fd5b506040516122df3803806122df83398101604081905261002e91610052565b5f80546001600160a01b0319166001600160a01b039290921691909117905561007f565b5f60208284031215610062575f80fd5b81516001600160a01b0381168114610078575f80fd5b9392505050565b6122538061008c5f395ff3fe608060405234801562000010575f80fd5b506004361062000128575f3560e01c806386c58d3e11620000ab578063bc00e18d1162000077578063bc00e18d14620002d8578063d4a04286146200030f578063d57ade5a146200031d578063e0dba60f1462000334578063e81d8f77146200034b575f80fd5b806386c58d3e14620002695780638863dd1a14620002805780638da5cb5b1462000297578063b429afeb14620002aa575f80fd5b80633e99682911620000f75780633e99682914620001da5780634f64b2be14620001ff5780635b14f1831462000216578063730ae546146200022d578063759561fa1462000244575f80fd5b8063033b9b4f146200012c578063167d42fe146200015b5780631d6b91201462000174578063210f5dda14620001aa575b5f80fd5b620001436200013d366004620009f7565b6200037b565b60405162000152919062000a64565b60405180910390f35b620001726200016c36600462000a88565b6200041a565b005b6200019962000185366004620009f7565b60086020525f908152604090205460ff1681565b604051901515815260200162000152565b620001c1620001bb36600462000b7e565b620004c3565b6040516001600160a01b03909116815260200162000152565b62000199620001eb366004620009f7565b60046020525f908152604090205460ff1681565b620001c16200021036600462000c04565b62000759565b6200019962000227366004620009f7565b62000782565b620001c16200023e36600462000c1c565b620007b1565b6200019962000255366004620009f7565b60066020525f908152604090205460ff1681565b620001996200027a36600462000c83565b6200080d565b6200017262000291366004620009f7565b62000861565b5f54620001c1906001600160a01b031681565b62000199620002bb366004620009f7565b6001600160a01b03165f9081526006602052604090205460ff1690565b620001c1620002e936600462000cb9565b80516020818301810180516003825292820191909301209152546001600160a01b031681565b600754620001999060ff1681565b620001726200032e36600462000d0b565b620008d4565b620001726200034536600462000d0b565b62000951565b620001996200035c36600462000c83565b600560209081525f928352604080842090915290825290205460ff1681565b60026020525f908152604090208054620003959062000d38565b80601f0160208091040260200160405190810160405280929190818152602001828054620003c39062000d38565b8015620004125780601f10620003e85761010080835404028352916020019162000412565b820191905f5260205f20905b815481529060010190602001808311620003f457829003601f168201915b505050505081565b335f9081526006602052604090205460ff16620004545760405162461bcd60e51b81526004016200044b9062000d72565b60405180910390fd5b6001600160a01b0383166200048d576001600160a01b0382165f908152600460205260409020805482151560ff19909116179055505050565b6001600160a01b038381165f908152600560209081526040808320938616835292905220805460ff19168215151790555b505050565b5f80546001600160a01b0316331480620004eb5750335f9081526006602052604090205460ff165b620005445760405162461bcd60e51b815260206004820152602260248201527f466163746f72793a204f6e6c79206f776e6572206f7220636f6e74726f6c6c65604482015261722160f01b60648201526084016200044b565b5f84866040516020016200055a92919062000db5565b60405160208183030381529060405290505f6001600160a01b031660038260405162000587919062000de7565b908152604051908190036020019020546001600160a01b031614620005e85760405162461bcd60e51b8152602060048201526016602482015275119858dd1bdc9e4e88151bdad95b8818dc99585d195960521b60448201526064016200044b565b5f8686604051620005f990620009cd565b6200060692919062000e04565b604051809103905ff08015801562000620573d5f803e3d5ffd5b50604051633d11d09560e01b81526004810186905260ff871660248201529091506001600160a01b03821690633d11d095906044015f604051808303815f87803b1580156200066d575f80fd5b505af115801562000680573d5f803e3d5ffd5b5050600180548082019091557fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60180546001600160a01b0319166001600160a01b0385169081179091555f9081526002602052604090209150620006e79050878262000e84565b5080600383604051620006fb919062000de7565b90815260405190819003602001812080546001600160a01b039384166001600160a01b0319909116179055908216907f2e2b3f61b70d2d131b2a807371103cc98d51adcaa5e9a8f9c32658ad8426e74e905f90a29695505050505050565b6001818154811062000769575f80fd5b5f918252602090912001546001600160a01b0316905081565b6001600160a01b0381165f9081526008602052604081205460ff1680620007ab575060075460ff165b92915050565b5f808383604051602001620007c892919062000db5565b6040516020818303038152906040529050600381604051620007eb919062000de7565b908152604051908190036020019020546001600160a01b031691505092915050565b6001600160a01b038083165f90815260056020908152604080832093851683529290529081205460ff16806200085a57506001600160a01b0382165f9081526004602052604090205460ff165b9392505050565b5f546001600160a01b03163314620008b35760405162461bcd60e51b8152602060048201526014602482015273466163746f72793a204f6e6c79206f776e65722160601b60448201526064016200044b565b5f80546001600160a01b0319166001600160a01b0392909216919091179055565b335f9081526006602052604090205460ff16620009055760405162461bcd60e51b81526004016200044b9062000d72565b6001600160a01b03821662000928576007805482151560ff199091161790555050565b6001600160a01b0382165f908152600860205260409020805482151560ff199091161790555050565b5f546001600160a01b03163314620009a35760405162461bcd60e51b8152602060048201526014602482015273466163746f72793a204f6e6c79206f776e65722160601b60448201526064016200044b565b6001600160a01b03919091165f908152600660205260409020805460ff1916911515919091179055565b6112cc8062000f5283390190565b80356001600160a01b0381168114620009f2575f80fd5b919050565b5f6020828403121562000a08575f80fd5b6200085a82620009db565b5f5b8381101562000a2f57818101518382015260200162000a15565b50505f910152565b5f815180845262000a5081602086016020860162000a13565b601f01601f19169290920160200192915050565b602081525f6200085a602083018462000a37565b80358015158114620009f2575f80fd5b5f805f6060848603121562000a9b575f80fd5b62000aa684620009db565b925062000ab660208501620009db565b915062000ac66040850162000a78565b90509250925092565b634e487b7160e01b5f52604160045260245ffd5b5f67ffffffffffffffff8084111562000b005762000b0062000acf565b604051601f8501601f19908116603f0116810190828211818310171562000b2b5762000b2b62000acf565b8160405280935085815286868601111562000b44575f80fd5b858560208301375f602087830101525050509392505050565b5f82601f83011262000b6d575f80fd5b6200085a8383356020850162000ae3565b5f805f806080858703121562000b92575f80fd5b843567ffffffffffffffff8082111562000baa575f80fd5b62000bb88883890162000b5d565b9550602087013591508082111562000bce575f80fd5b5062000bdd8782880162000b5d565b935050604085013560ff8116811462000bf4575f80fd5b9396929550929360600135925050565b5f6020828403121562000c15575f80fd5b5035919050565b5f806040838503121562000c2e575f80fd5b823567ffffffffffffffff8082111562000c46575f80fd5b62000c548683870162000b5d565b9350602085013591508082111562000c6a575f80fd5b5062000c798582860162000b5d565b9150509250929050565b5f806040838503121562000c95575f80fd5b62000ca083620009db565b915062000cb060208401620009db565b90509250929050565b5f6020828403121562000cca575f80fd5b813567ffffffffffffffff81111562000ce1575f80fd5b8201601f8101841362000cf2575f80fd5b62000d038482356020840162000ae3565b949350505050565b5f806040838503121562000d1d575f80fd5b62000d2883620009db565b915062000cb06020840162000a78565b600181811c9082168062000d4d57607f821691505b60208210810362000d6c57634e487b7160e01b5f52602260045260245ffd5b50919050565b60208082526023908201527f466163746f72793a204f6e6c7920616c6c20746f6b656e20636f6e74726f6c6c60408201526265722160e81b606082015260800190565b5f835162000dc881846020880162000a13565b83519083019062000dde81836020880162000a13565b01949350505050565b5f825162000dfa81846020870162000a13565b9190910192915050565b604081525f62000e18604083018562000a37565b828103602084015262000e2c818562000a37565b95945050505050565b601f821115620004be57805f5260205f20601f840160051c8101602085101562000e5c5750805b601f840160051c820191505b8181101562000e7d575f815560010162000e68565b5050505050565b815167ffffffffffffffff81111562000ea15762000ea162000acf565b62000eb98162000eb2845462000d38565b8462000e35565b602080601f83116001811462000eef575f841562000ed75750858301515b5f19600386901b1c1916600185901b17855562000f49565b5f85815260208120601f198616915b8281101562000f1f5788860151825594840194600190910190840162000efe565b508582101562000f3d57878501515f19600388901b60f8161c191681555b505060018460011b0185555b50505050505056fe608060405234801562000010575f80fd5b50604051620012cc380380620012cc833981016040819052620000339162000131565b8181600362000043838262000221565b50600462000052828262000221565b5050600680546001600160a01b0319163317905550620002ed915050565b634e487b7160e01b5f52604160045260245ffd5b5f82601f83011262000094575f80fd5b81516001600160401b0380821115620000b157620000b162000070565b604051601f8301601f19908116603f01168101908282118183101715620000dc57620000dc62000070565b8160405283815260209250866020858801011115620000f9575f80fd5b5f91505b838210156200011c5785820183015181830184015290820190620000fd565b5f602085830101528094505050505092915050565b5f806040838503121562000143575f80fd5b82516001600160401b03808211156200015a575f80fd5b620001688683870162000084565b935060208501519150808211156200017e575f80fd5b506200018d8582860162000084565b9150509250929050565b600181811c90821680620001ac57607f821691505b602082108103620001cb57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200021c57805f5260205f20601f840160051c81016020851015620001f85750805b601f840160051c820191505b8181101562000219575f815560010162000204565b50505b505050565b81516001600160401b038111156200023d576200023d62000070565b62000255816200024e845462000197565b84620001d1565b602080601f8311600181146200028b575f8415620002735750858301515b5f19600386901b1c1916600185901b178555620002e5565b5f85815260208120601f198616915b82811015620002bb578886015182559484019460019091019084016200029a565b5085821015620002d957878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b610fd180620002fb5f395ff3fe608060405234801561000f575f80fd5b5060043610610106575f3560e01c806370a082311161009e578063a9059cbb1161006e578063a9059cbb14610233578063be45fd6214610246578063c45a015514610259578063d5abeb011461026c578063dd62ed3e14610275575f80fd5b806370a08231146101dd57806388e2a0e01461020557806395d89b41146102185780639dc29fac14610220575f80fd5b8063313ce567116100d9578063313ce567146101705780633d11d0951461018557806340c10f191461019a5780636347f70e146101ad575f80fd5b806306fdde031461010a578063095ea7b31461012857806318160ddd1461014b57806323b872dd1461015d575b5f80fd5b6101126102ad565b60405161011f9190610ced565b60405180910390f35b61013b610136366004610d54565b61033d565b604051901515815260200161011f565b6002545b60405190815260200161011f565b61013b61016b366004610d7c565b610356565b60055460405160ff909116815260200161011f565b610198610193366004610db5565b610379565b005b6101986101a8366004610d54565b6103e8565b6005546101c59061010090046001600160a01b031681565b6040516001600160a01b03909116815260200161011f565b61014f6101eb366004610de8565b6001600160a01b03165f9081526020819052604090205490565b610198610213366004610de8565b6104f5565b6101126105a5565b61019861022e366004610d54565b6105b4565b61013b610241366004610d54565b610645565b61013b610254366004610e08565b610652565b6006546101c5906001600160a01b031681565b61014f60075481565b61014f610283366004610e88565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b6060600380546102bc90610eb9565b80601f01602080910402602001604051908101604052809291908181526020018280546102e890610eb9565b80156103335780601f1061030a57610100808354040283529160200191610333565b820191905f5260205f20905b81548152906001019060200180831161031657829003601f168201915b5050505050905090565b5f3361034a8185856106ba565b60019150505b92915050565b5f336103638582856106c7565b61036e858585610742565b506001949350505050565b6006546001600160a01b031633146103cf5760405162461bcd60e51b8152602060048201526014602482015273546f6b656e3a204f6e6c7920666163746f72792160601b60448201526064015b60405180910390fd5b6005805460ff191660ff92909216919091179055600755565b60065460405163b429afeb60e01b81523360048201819052916001600160a01b03169063b429afeb90602401602060405180830381865afa15801561042f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104539190610ef1565b61046f5760405162461bcd60e51b81526004016103c690610f10565b600754156104e6576007548261048460025490565b61048e9190610f47565b11156104e65760405162461bcd60e51b815260206004820152602160248201527f546f6b656e3a20657863656564656420746865206d6178696d756d2076616c756044820152606560f81b60648201526084016103c6565b6104f083836107b5565b505050565b60065460405163b429afeb60e01b81523360048201819052916001600160a01b03169063b429afeb90602401602060405180830381865afa15801561053c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105609190610ef1565b61057c5760405162461bcd60e51b81526004016103c690610f10565b50600580546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b6060600480546102bc90610eb9565b60065460405163b429afeb60e01b81523360048201819052916001600160a01b03169063b429afeb90602401602060405180830381865afa1580156105fb573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061061f9190610ef1565b61063b5760405162461bcd60e51b81526004016103c690610f10565b6104f083836107ed565b5f3361034a818585610742565b5f3361065f818787610742565b856001600160a01b0316336001600160a01b03167faba420c672cff09b3d4d3feaede58151bcabe691f476793d76979583dd5dcfaf8787876040516106a693929190610f66565b60405180910390a350600195945050505050565b6104f08383836001610821565b6001600160a01b038381165f908152600160209081526040808320938616835292905220545f19811461073c578181101561072e57604051637dc7a0d960e11b81526001600160a01b038416600482015260248101829052604481018390526064016103c6565b61073c84848484035f610821565b50505050565b6001600160a01b03831661076b57604051634b637e8f60e11b81525f60048201526024016103c6565b6001600160a01b0382166107945760405163ec442f0560e01b81525f60048201526024016103c6565b61079f8383836108f3565b6107aa838383610b3d565b6104f0838383610c63565b6001600160a01b0382166107de5760405163ec442f0560e01b81525f60048201526024016103c6565b6107e95f8383610b3d565b5050565b6001600160a01b03821661081657604051634b637e8f60e11b81525f60048201526024016103c6565b6107e9825f83610b3d565b6001600160a01b03841661084a5760405163e602df0560e01b81525f60048201526024016103c6565b6001600160a01b03831661087357604051634a1406b160e11b81525f60048201526024016103c6565b6001600160a01b038085165f908152600160209081526040808320938716835292905220829055801561073c57826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516108e591815260200190565b60405180910390a350505050565b600654604051635b14f18360e01b81523060048201525f916001600160a01b031690635b14f18390602401602060405180830381865afa158015610939573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061095d9190610ef1565b600654604051634362c69f60e11b81523060048201526001600160a01b0387811660248301529293505f92909116906386c58d3e90604401602060405180830381865afa1580156109b0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109d49190610ef1565b600654604051634362c69f60e11b81523060048201526001600160a01b0387811660248301529293505f92909116906386c58d3e90604401602060405180830381865afa158015610a27573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a4b9190610ef1565b905082158015610a59575081155b8015610a63575080155b610aaf5760405162461bcd60e51b815260206004820181905260248201527f546f6b656e3a20746f6b656e207472616e73666572206e6f7420616c6c6f772160448201526064016103c6565b60055461010090046001600160a01b031615610b35576005546040516321144c6f60e21b81526001600160a01b0388811660048301528781166024830152604482018790526101009092049091169063845131bc906064015f604051808303815f87803b158015610b1e575f80fd5b505af1158015610b30573d5f803e3d5ffd5b505050505b505050505050565b6001600160a01b038316610b67578060025f828254610b5c9190610f47565b90915550610bd79050565b6001600160a01b0383165f9081526020819052604090205481811015610bb95760405163391434e360e21b81526001600160a01b038516600482015260248101829052604481018390526064016103c6565b6001600160a01b0384165f9081526020819052604090209082900390555b6001600160a01b038216610bf357600280548290039055610c11565b6001600160a01b0382165f9081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610c5691815260200190565b60405180910390a3505050565b60055461010090046001600160a01b0316156104f057600554604051630313713f60e61b81526001600160a01b0385811660048301528481166024830152604482018490526101009092049091169063c4dc4fc0906064015f604051808303815f87803b158015610cd2575f80fd5b505af1158015610ce4573d5f803e3d5ffd5b50505050505050565b5f602080835283518060208501525f5b81811015610d1957858101830151858201604001528201610cfd565b505f604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114610d4f575f80fd5b919050565b5f8060408385031215610d65575f80fd5b610d6e83610d39565b946020939093013593505050565b5f805f60608486031215610d8e575f80fd5b610d9784610d39565b9250610da560208501610d39565b9150604084013590509250925092565b5f8060408385031215610dc6575f80fd5b82359150602083013560ff81168114610ddd575f80fd5b809150509250929050565b5f60208284031215610df8575f80fd5b610e0182610d39565b9392505050565b5f805f8060608587031215610e1b575f80fd5b610e2485610d39565b935060208501359250604085013567ffffffffffffffff80821115610e47575f80fd5b818701915087601f830112610e5a575f80fd5b813581811115610e68575f80fd5b886020828501011115610e79575f80fd5b95989497505060200194505050565b5f8060408385031215610e99575f80fd5b610ea283610d39565b9150610eb060208401610d39565b90509250929050565b600181811c90821680610ecd57607f821691505b602082108103610eeb57634e487b7160e01b5f52602260045260245ffd5b50919050565b5f60208284031215610f01575f80fd5b81518015158114610e01575f80fd5b60208082526017908201527f546f6b656e3a204f6e6c7920436f6e74726f6c6c657221000000000000000000604082015260600190565b8082018082111561035057634e487b7160e01b5f52601160045260245ffd5b83815260406020820152816040820152818360608301375f818301606090810191909152601f909201601f191601019291505056fea2646970667358221220fbb0839c57f5351d150779b61b88b8008a1e4037cc5e88afef67f7148b81bdff64736f6c63430008180033a2646970667358221220e33c083ade6a1492faf11c45206aea065b4b8405029396f406f1e69c95e8e45764736f6c63430008180033000000000000000000000000cd66ae3529d74cd1d7185fe6882a3b80b791f875
Deployed Bytecode
0x608060405234801562000010575f80fd5b506004361062000128575f3560e01c806386c58d3e11620000ab578063bc00e18d1162000077578063bc00e18d14620002d8578063d4a04286146200030f578063d57ade5a146200031d578063e0dba60f1462000334578063e81d8f77146200034b575f80fd5b806386c58d3e14620002695780638863dd1a14620002805780638da5cb5b1462000297578063b429afeb14620002aa575f80fd5b80633e99682911620000f75780633e99682914620001da5780634f64b2be14620001ff5780635b14f1831462000216578063730ae546146200022d578063759561fa1462000244575f80fd5b8063033b9b4f146200012c578063167d42fe146200015b5780631d6b91201462000174578063210f5dda14620001aa575b5f80fd5b620001436200013d366004620009f7565b6200037b565b60405162000152919062000a64565b60405180910390f35b620001726200016c36600462000a88565b6200041a565b005b6200019962000185366004620009f7565b60086020525f908152604090205460ff1681565b604051901515815260200162000152565b620001c1620001bb36600462000b7e565b620004c3565b6040516001600160a01b03909116815260200162000152565b62000199620001eb366004620009f7565b60046020525f908152604090205460ff1681565b620001c16200021036600462000c04565b62000759565b6200019962000227366004620009f7565b62000782565b620001c16200023e36600462000c1c565b620007b1565b6200019962000255366004620009f7565b60066020525f908152604090205460ff1681565b620001996200027a36600462000c83565b6200080d565b6200017262000291366004620009f7565b62000861565b5f54620001c1906001600160a01b031681565b62000199620002bb366004620009f7565b6001600160a01b03165f9081526006602052604090205460ff1690565b620001c1620002e936600462000cb9565b80516020818301810180516003825292820191909301209152546001600160a01b031681565b600754620001999060ff1681565b620001726200032e36600462000d0b565b620008d4565b620001726200034536600462000d0b565b62000951565b620001996200035c36600462000c83565b600560209081525f928352604080842090915290825290205460ff1681565b60026020525f908152604090208054620003959062000d38565b80601f0160208091040260200160405190810160405280929190818152602001828054620003c39062000d38565b8015620004125780601f10620003e85761010080835404028352916020019162000412565b820191905f5260205f20905b815481529060010190602001808311620003f457829003601f168201915b505050505081565b335f9081526006602052604090205460ff16620004545760405162461bcd60e51b81526004016200044b9062000d72565b60405180910390fd5b6001600160a01b0383166200048d576001600160a01b0382165f908152600460205260409020805482151560ff19909116179055505050565b6001600160a01b038381165f908152600560209081526040808320938616835292905220805460ff19168215151790555b505050565b5f80546001600160a01b0316331480620004eb5750335f9081526006602052604090205460ff165b620005445760405162461bcd60e51b815260206004820152602260248201527f466163746f72793a204f6e6c79206f776e6572206f7220636f6e74726f6c6c65604482015261722160f01b60648201526084016200044b565b5f84866040516020016200055a92919062000db5565b60405160208183030381529060405290505f6001600160a01b031660038260405162000587919062000de7565b908152604051908190036020019020546001600160a01b031614620005e85760405162461bcd60e51b8152602060048201526016602482015275119858dd1bdc9e4e88151bdad95b8818dc99585d195960521b60448201526064016200044b565b5f8686604051620005f990620009cd565b6200060692919062000e04565b604051809103905ff08015801562000620573d5f803e3d5ffd5b50604051633d11d09560e01b81526004810186905260ff871660248201529091506001600160a01b03821690633d11d095906044015f604051808303815f87803b1580156200066d575f80fd5b505af115801562000680573d5f803e3d5ffd5b5050600180548082019091557fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60180546001600160a01b0319166001600160a01b0385169081179091555f9081526002602052604090209150620006e79050878262000e84565b5080600383604051620006fb919062000de7565b90815260405190819003602001812080546001600160a01b039384166001600160a01b0319909116179055908216907f2e2b3f61b70d2d131b2a807371103cc98d51adcaa5e9a8f9c32658ad8426e74e905f90a29695505050505050565b6001818154811062000769575f80fd5b5f918252602090912001546001600160a01b0316905081565b6001600160a01b0381165f9081526008602052604081205460ff1680620007ab575060075460ff165b92915050565b5f808383604051602001620007c892919062000db5565b6040516020818303038152906040529050600381604051620007eb919062000de7565b908152604051908190036020019020546001600160a01b031691505092915050565b6001600160a01b038083165f90815260056020908152604080832093851683529290529081205460ff16806200085a57506001600160a01b0382165f9081526004602052604090205460ff165b9392505050565b5f546001600160a01b03163314620008b35760405162461bcd60e51b8152602060048201526014602482015273466163746f72793a204f6e6c79206f776e65722160601b60448201526064016200044b565b5f80546001600160a01b0319166001600160a01b0392909216919091179055565b335f9081526006602052604090205460ff16620009055760405162461bcd60e51b81526004016200044b9062000d72565b6001600160a01b03821662000928576007805482151560ff199091161790555050565b6001600160a01b0382165f908152600860205260409020805482151560ff199091161790555050565b5f546001600160a01b03163314620009a35760405162461bcd60e51b8152602060048201526014602482015273466163746f72793a204f6e6c79206f776e65722160601b60448201526064016200044b565b6001600160a01b03919091165f908152600660205260409020805460ff1916911515919091179055565b6112cc8062000f5283390190565b80356001600160a01b0381168114620009f2575f80fd5b919050565b5f6020828403121562000a08575f80fd5b6200085a82620009db565b5f5b8381101562000a2f57818101518382015260200162000a15565b50505f910152565b5f815180845262000a5081602086016020860162000a13565b601f01601f19169290920160200192915050565b602081525f6200085a602083018462000a37565b80358015158114620009f2575f80fd5b5f805f6060848603121562000a9b575f80fd5b62000aa684620009db565b925062000ab660208501620009db565b915062000ac66040850162000a78565b90509250925092565b634e487b7160e01b5f52604160045260245ffd5b5f67ffffffffffffffff8084111562000b005762000b0062000acf565b604051601f8501601f19908116603f0116810190828211818310171562000b2b5762000b2b62000acf565b8160405280935085815286868601111562000b44575f80fd5b858560208301375f602087830101525050509392505050565b5f82601f83011262000b6d575f80fd5b6200085a8383356020850162000ae3565b5f805f806080858703121562000b92575f80fd5b843567ffffffffffffffff8082111562000baa575f80fd5b62000bb88883890162000b5d565b9550602087013591508082111562000bce575f80fd5b5062000bdd8782880162000b5d565b935050604085013560ff8116811462000bf4575f80fd5b9396929550929360600135925050565b5f6020828403121562000c15575f80fd5b5035919050565b5f806040838503121562000c2e575f80fd5b823567ffffffffffffffff8082111562000c46575f80fd5b62000c548683870162000b5d565b9350602085013591508082111562000c6a575f80fd5b5062000c798582860162000b5d565b9150509250929050565b5f806040838503121562000c95575f80fd5b62000ca083620009db565b915062000cb060208401620009db565b90509250929050565b5f6020828403121562000cca575f80fd5b813567ffffffffffffffff81111562000ce1575f80fd5b8201601f8101841362000cf2575f80fd5b62000d038482356020840162000ae3565b949350505050565b5f806040838503121562000d1d575f80fd5b62000d2883620009db565b915062000cb06020840162000a78565b600181811c9082168062000d4d57607f821691505b60208210810362000d6c57634e487b7160e01b5f52602260045260245ffd5b50919050565b60208082526023908201527f466163746f72793a204f6e6c7920616c6c20746f6b656e20636f6e74726f6c6c60408201526265722160e81b606082015260800190565b5f835162000dc881846020880162000a13565b83519083019062000dde81836020880162000a13565b01949350505050565b5f825162000dfa81846020870162000a13565b9190910192915050565b604081525f62000e18604083018562000a37565b828103602084015262000e2c818562000a37565b95945050505050565b601f821115620004be57805f5260205f20601f840160051c8101602085101562000e5c5750805b601f840160051c820191505b8181101562000e7d575f815560010162000e68565b5050505050565b815167ffffffffffffffff81111562000ea15762000ea162000acf565b62000eb98162000eb2845462000d38565b8462000e35565b602080601f83116001811462000eef575f841562000ed75750858301515b5f19600386901b1c1916600185901b17855562000f49565b5f85815260208120601f198616915b8281101562000f1f5788860151825594840194600190910190840162000efe565b508582101562000f3d57878501515f19600388901b60f8161c191681555b505060018460011b0185555b50505050505056fe608060405234801562000010575f80fd5b50604051620012cc380380620012cc833981016040819052620000339162000131565b8181600362000043838262000221565b50600462000052828262000221565b5050600680546001600160a01b0319163317905550620002ed915050565b634e487b7160e01b5f52604160045260245ffd5b5f82601f83011262000094575f80fd5b81516001600160401b0380821115620000b157620000b162000070565b604051601f8301601f19908116603f01168101908282118183101715620000dc57620000dc62000070565b8160405283815260209250866020858801011115620000f9575f80fd5b5f91505b838210156200011c5785820183015181830184015290820190620000fd565b5f602085830101528094505050505092915050565b5f806040838503121562000143575f80fd5b82516001600160401b03808211156200015a575f80fd5b620001688683870162000084565b935060208501519150808211156200017e575f80fd5b506200018d8582860162000084565b9150509250929050565b600181811c90821680620001ac57607f821691505b602082108103620001cb57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200021c57805f5260205f20601f840160051c81016020851015620001f85750805b601f840160051c820191505b8181101562000219575f815560010162000204565b50505b505050565b81516001600160401b038111156200023d576200023d62000070565b62000255816200024e845462000197565b84620001d1565b602080601f8311600181146200028b575f8415620002735750858301515b5f19600386901b1c1916600185901b178555620002e5565b5f85815260208120601f198616915b82811015620002bb578886015182559484019460019091019084016200029a565b5085821015620002d957878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b610fd180620002fb5f395ff3fe608060405234801561000f575f80fd5b5060043610610106575f3560e01c806370a082311161009e578063a9059cbb1161006e578063a9059cbb14610233578063be45fd6214610246578063c45a015514610259578063d5abeb011461026c578063dd62ed3e14610275575f80fd5b806370a08231146101dd57806388e2a0e01461020557806395d89b41146102185780639dc29fac14610220575f80fd5b8063313ce567116100d9578063313ce567146101705780633d11d0951461018557806340c10f191461019a5780636347f70e146101ad575f80fd5b806306fdde031461010a578063095ea7b31461012857806318160ddd1461014b57806323b872dd1461015d575b5f80fd5b6101126102ad565b60405161011f9190610ced565b60405180910390f35b61013b610136366004610d54565b61033d565b604051901515815260200161011f565b6002545b60405190815260200161011f565b61013b61016b366004610d7c565b610356565b60055460405160ff909116815260200161011f565b610198610193366004610db5565b610379565b005b6101986101a8366004610d54565b6103e8565b6005546101c59061010090046001600160a01b031681565b6040516001600160a01b03909116815260200161011f565b61014f6101eb366004610de8565b6001600160a01b03165f9081526020819052604090205490565b610198610213366004610de8565b6104f5565b6101126105a5565b61019861022e366004610d54565b6105b4565b61013b610241366004610d54565b610645565b61013b610254366004610e08565b610652565b6006546101c5906001600160a01b031681565b61014f60075481565b61014f610283366004610e88565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b6060600380546102bc90610eb9565b80601f01602080910402602001604051908101604052809291908181526020018280546102e890610eb9565b80156103335780601f1061030a57610100808354040283529160200191610333565b820191905f5260205f20905b81548152906001019060200180831161031657829003601f168201915b5050505050905090565b5f3361034a8185856106ba565b60019150505b92915050565b5f336103638582856106c7565b61036e858585610742565b506001949350505050565b6006546001600160a01b031633146103cf5760405162461bcd60e51b8152602060048201526014602482015273546f6b656e3a204f6e6c7920666163746f72792160601b60448201526064015b60405180910390fd5b6005805460ff191660ff92909216919091179055600755565b60065460405163b429afeb60e01b81523360048201819052916001600160a01b03169063b429afeb90602401602060405180830381865afa15801561042f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104539190610ef1565b61046f5760405162461bcd60e51b81526004016103c690610f10565b600754156104e6576007548261048460025490565b61048e9190610f47565b11156104e65760405162461bcd60e51b815260206004820152602160248201527f546f6b656e3a20657863656564656420746865206d6178696d756d2076616c756044820152606560f81b60648201526084016103c6565b6104f083836107b5565b505050565b60065460405163b429afeb60e01b81523360048201819052916001600160a01b03169063b429afeb90602401602060405180830381865afa15801561053c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105609190610ef1565b61057c5760405162461bcd60e51b81526004016103c690610f10565b50600580546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b6060600480546102bc90610eb9565b60065460405163b429afeb60e01b81523360048201819052916001600160a01b03169063b429afeb90602401602060405180830381865afa1580156105fb573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061061f9190610ef1565b61063b5760405162461bcd60e51b81526004016103c690610f10565b6104f083836107ed565b5f3361034a818585610742565b5f3361065f818787610742565b856001600160a01b0316336001600160a01b03167faba420c672cff09b3d4d3feaede58151bcabe691f476793d76979583dd5dcfaf8787876040516106a693929190610f66565b60405180910390a350600195945050505050565b6104f08383836001610821565b6001600160a01b038381165f908152600160209081526040808320938616835292905220545f19811461073c578181101561072e57604051637dc7a0d960e11b81526001600160a01b038416600482015260248101829052604481018390526064016103c6565b61073c84848484035f610821565b50505050565b6001600160a01b03831661076b57604051634b637e8f60e11b81525f60048201526024016103c6565b6001600160a01b0382166107945760405163ec442f0560e01b81525f60048201526024016103c6565b61079f8383836108f3565b6107aa838383610b3d565b6104f0838383610c63565b6001600160a01b0382166107de5760405163ec442f0560e01b81525f60048201526024016103c6565b6107e95f8383610b3d565b5050565b6001600160a01b03821661081657604051634b637e8f60e11b81525f60048201526024016103c6565b6107e9825f83610b3d565b6001600160a01b03841661084a5760405163e602df0560e01b81525f60048201526024016103c6565b6001600160a01b03831661087357604051634a1406b160e11b81525f60048201526024016103c6565b6001600160a01b038085165f908152600160209081526040808320938716835292905220829055801561073c57826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516108e591815260200190565b60405180910390a350505050565b600654604051635b14f18360e01b81523060048201525f916001600160a01b031690635b14f18390602401602060405180830381865afa158015610939573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061095d9190610ef1565b600654604051634362c69f60e11b81523060048201526001600160a01b0387811660248301529293505f92909116906386c58d3e90604401602060405180830381865afa1580156109b0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109d49190610ef1565b600654604051634362c69f60e11b81523060048201526001600160a01b0387811660248301529293505f92909116906386c58d3e90604401602060405180830381865afa158015610a27573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a4b9190610ef1565b905082158015610a59575081155b8015610a63575080155b610aaf5760405162461bcd60e51b815260206004820181905260248201527f546f6b656e3a20746f6b656e207472616e73666572206e6f7420616c6c6f772160448201526064016103c6565b60055461010090046001600160a01b031615610b35576005546040516321144c6f60e21b81526001600160a01b0388811660048301528781166024830152604482018790526101009092049091169063845131bc906064015f604051808303815f87803b158015610b1e575f80fd5b505af1158015610b30573d5f803e3d5ffd5b505050505b505050505050565b6001600160a01b038316610b67578060025f828254610b5c9190610f47565b90915550610bd79050565b6001600160a01b0383165f9081526020819052604090205481811015610bb95760405163391434e360e21b81526001600160a01b038516600482015260248101829052604481018390526064016103c6565b6001600160a01b0384165f9081526020819052604090209082900390555b6001600160a01b038216610bf357600280548290039055610c11565b6001600160a01b0382165f9081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610c5691815260200190565b60405180910390a3505050565b60055461010090046001600160a01b0316156104f057600554604051630313713f60e61b81526001600160a01b0385811660048301528481166024830152604482018490526101009092049091169063c4dc4fc0906064015f604051808303815f87803b158015610cd2575f80fd5b505af1158015610ce4573d5f803e3d5ffd5b50505050505050565b5f602080835283518060208501525f5b81811015610d1957858101830151858201604001528201610cfd565b505f604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114610d4f575f80fd5b919050565b5f8060408385031215610d65575f80fd5b610d6e83610d39565b946020939093013593505050565b5f805f60608486031215610d8e575f80fd5b610d9784610d39565b9250610da560208501610d39565b9150604084013590509250925092565b5f8060408385031215610dc6575f80fd5b82359150602083013560ff81168114610ddd575f80fd5b809150509250929050565b5f60208284031215610df8575f80fd5b610e0182610d39565b9392505050565b5f805f8060608587031215610e1b575f80fd5b610e2485610d39565b935060208501359250604085013567ffffffffffffffff80821115610e47575f80fd5b818701915087601f830112610e5a575f80fd5b813581811115610e68575f80fd5b886020828501011115610e79575f80fd5b95989497505060200194505050565b5f8060408385031215610e99575f80fd5b610ea283610d39565b9150610eb060208401610d39565b90509250929050565b600181811c90821680610ecd57607f821691505b602082108103610eeb57634e487b7160e01b5f52602260045260245ffd5b50919050565b5f60208284031215610f01575f80fd5b81518015158114610e01575f80fd5b60208082526017908201527f546f6b656e3a204f6e6c7920436f6e74726f6c6c657221000000000000000000604082015260600190565b8082018082111561035057634e487b7160e01b5f52601160045260245ffd5b83815260406020820152816040820152818360608301375f818301606090810191909152601f909201601f191601019291505056fea2646970667358221220fbb0839c57f5351d150779b61b88b8008a1e4037cc5e88afef67f7148b81bdff64736f6c63430008180033a2646970667358221220e33c083ade6a1492faf11c45206aea065b4b8405029396f406f1e69c95e8e45764736f6c63430008180033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000cd66ae3529D74cD1D7185fe6882A3B80b791F875
-----Decoded View---------------
Arg [0] : _owner (address): 0xcd66ae3529D74cD1D7185fe6882A3B80b791F875
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000cd66ae3529D74cD1D7185fe6882A3B80b791F875
Deployed Bytecode Sourcemap
10064:3275:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10226:46;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12421:359;;;;;;:::i;:::-;;:::i;:::-;;10667:48;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1802:14:1;;1795:22;1777:41;;1765:2;1750:18;10667:48:0;1637:187:1;11774:639:0;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;3763:32:1;;;3745:51;;3733:2;3718:18;11774:639:0;3599:203:1;10376:48:0;;;;;;:::i;:::-;;;;;;;;;;;;;;;;10194:23;;;;;;:::i;:::-;;:::i;11628:138::-;;;;;;:::i;:::-;;:::i;11069:222::-;;;;;;:::i;:::-;;:::i;10536:49::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;11440:180;;;;;;:::i;:::-;;:::i;13237:99::-;;;;;;:::i;:::-;;:::i;10167:20::-;;;;;-1:-1:-1;;;;;10167:20:0;;;11299:133;;;;;;:::i;:::-;-1:-1:-1;;;;;11395:29:0;11371:4;11395:29;;;:16;:29;;;;;;;;;11299:133;10300:46;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10300:46:0;;;10634:26;;;;;;;;;12786:301;;;;;;:::i;:::-;;:::i;13093:138::-;;;;;;:::i;:::-;;:::i;10455:72::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;10226:46;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;12421:359::-;12529:10;12512:28;;;;:16;:28;;;;;;;;12504:76;;;;-1:-1:-1;;;12504:76:0;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;12594:20:0;;12591:182;;-1:-1:-1;;;;;12650:25:0;;;;;;:15;:25;;;;;:34;;;;;-1:-1:-1;;12650:34:0;;;;;;12421:359;;;:::o;12591:182::-;-1:-1:-1;;;;;12716:26:0;;;;;;;:18;:26;;;;;;;;:36;;;;;;;;;:45;;-1:-1:-1;;12716:45:0;;;;;;;12591:182;12421:359;;;:::o;11774:639::-;11918:7;10792:5;;-1:-1:-1;;;;;10792:5:0;10778:10;:19;;:51;;-1:-1:-1;10818:10:0;10801:28;;;;:16;:28;;;;;;;;10778:51;10770:98;;;;-1:-1:-1;;;10770:98:0;;6510:2:1;10770:98:0;;;6492:21:1;6549:2;6529:18;;;6522:30;6588:34;6568:18;;;6561:62;-1:-1:-1;;;6639:18:1;;;6632:32;6681:19;;10770:98:0;6308:398:1;10770:98:0;11938:24:::1;11988:7;11997:5;11971:32;;;;;;;;;:::i;:::-;;;;;;;;;;;;;11938:66;;12061:1;-1:-1:-1::0;;;;;12023:40:0::1;:12;12036:11;12023:25;;;;;;:::i;:::-;::::0;;;::::1;::::0;;;;;::::1;::::0;;;;-1:-1:-1;;;;;12023:25:0::1;:40;12015:75;;;::::0;-1:-1:-1;;;12015:75:0;;7706:2:1;12015:75:0::1;::::0;::::1;7688:21:1::0;7745:2;7725:18;;;7718:30;-1:-1:-1;;;7764:18:1;;;7757:52;7826:18;;12015:75:0::1;7504:346:1::0;12015:75:0::1;12101:11;12125:5;12132:7;12115:25;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;12151:39:0::1;::::0;-1:-1:-1;;;12151:39:0;;::::1;::::0;::::1;8413:25:1::0;;;8486:4;8474:17;;8454:18;;;8447:45;12101:39:0;;-1:-1:-1;;;;;;12151:16:0;::::1;::::0;::::1;::::0;8386:18:1;;12151:39:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;12201:6:0::1;:27:::0;;;;::::1;::::0;;;;::::1;::::0;;-1:-1:-1;;;;;;12201:27:0::1;-1:-1:-1::0;;;;;12201:27:0;::::1;::::0;;::::1;::::0;;;-1:-1:-1;12239:27:0;;;:11:::1;12201:27;12239::::0;;;;;-1:-1:-1;12239:37:0::1;::::0;-1:-1:-1;12269:7:0;12239:27;:37:::1;:::i;:::-;;12323:5;12287:12;12300:11;12287:25;;;;;;:::i;:::-;::::0;;;::::1;::::0;;;;;::::1;::::0;;;:42;;-1:-1:-1;;;;;12287:42:0;;::::1;-1:-1:-1::0;;;;;;12287:42:0;;::::1;;::::0;;12345:28;;::::1;::::0;::::1;::::0;12287:25:::1;::::0;12345:28:::1;12399:5:::0;11774:639;-1:-1:-1;;;;;;11774:639:0:o;10194:23::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10194:23:0;;-1:-1:-1;10194:23:0;:::o;11628:138::-;-1:-1:-1;;;;;11715:25:0;;11692:4;11715:25;;;:17;:25;;;;;;;;;:43;;-1:-1:-1;11744:14:0;;;;11715:43;11708:50;11628:138;-1:-1:-1;;11628:138:0:o;11069:222::-;11162:7;11181:24;11225:7;11234:5;11208:32;;;;;;;;;:::i;:::-;;;;;;;;;;;;;11181:59;;11258:12;11271:11;11258:25;;;;;;:::i;:::-;;;;;;;;;;;;;;;-1:-1:-1;;;;;11258:25:0;;-1:-1:-1;;11069:222:0;;;;:::o;11440:180::-;-1:-1:-1;;;;;11547:26:0;;;11523:4;11547:26;;;:18;:26;;;;;;;;:36;;;;;;;;;;;;;;;:65;;-1:-1:-1;;;;;;11587:25:0;;;;;;:15;:25;;;;;;;;11547:65;11540:72;11440:180;-1:-1:-1;;;11440:180:0:o;13237:99::-;10945:5;;-1:-1:-1;;;;;10945:5:0;10931:10;:19;10923:52;;;;-1:-1:-1;;;10923:52:0;;10875:2:1;10923:52:0;;;10857:21:1;10914:2;10894:18;;;10887:30;-1:-1:-1;;;10933:18:1;;;10926:50;10993:18;;10923:52:0;10673:344:1;10923:52:0;13311:5:::1;:17:::0;;-1:-1:-1;;;;;;13311:17:0::1;-1:-1:-1::0;;;;;13311:17:0;;;::::1;::::0;;;::::1;::::0;;13237:99::o;12786:301::-;12878:10;12861:28;;;;:16;:28;;;;;;;;12853:76;;;;-1:-1:-1;;;12853:76:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;12943:20:0;;12940:140;;12980:14;:23;;;;;-1:-1:-1;;12980:23:0;;;;;;12786:301;;:::o;12940:140::-;-1:-1:-1;;;;;13034:25:0;;;;;;:17;:25;;;;;:34;;;;;-1:-1:-1;;13034:34:0;;;;;;12786:301;;:::o;13093:138::-;10945:5;;-1:-1:-1;;;;;10945:5:0;10931:10;:19;10923:52;;;;-1:-1:-1;;;10923:52:0;;10875:2:1;10923:52:0;;;10857:21:1;10914:2;10894:18;;;10887:30;-1:-1:-1;;;10933:18:1;;;10926:50;10993:18;;10923:52:0;10673:344:1;10923:52:0;-1:-1:-1;;;;;13181:26:0;;;::::1;;::::0;;;:16:::1;:26;::::0;;;;:42;;-1:-1:-1;;13181:42:0::1;::::0;::::1;;::::0;;;::::1;::::0;;13093:138::o;-1:-1:-1:-;;;;;;;;:::o;14:173:1:-;82:20;;-1:-1:-1;;;;;131:31:1;;121:42;;111:70;;177:1;174;167:12;111:70;14:173;;;:::o;192:186::-;251:6;304:2;292:9;283:7;279:23;275:32;272:52;;;320:1;317;310:12;272:52;343:29;362:9;343:29;:::i;383:250::-;468:1;478:113;492:6;489:1;486:13;478:113;;;568:11;;;562:18;549:11;;;542:39;514:2;507:10;478:113;;;-1:-1:-1;;625:1:1;607:16;;600:27;383:250::o;638:271::-;680:3;718:5;712:12;745:6;740:3;733:19;761:76;830:6;823:4;818:3;814:14;807:4;800:5;796:16;761:76;:::i;:::-;891:2;870:15;-1:-1:-1;;866:29:1;857:39;;;;898:4;853:50;;638:271;-1:-1:-1;;638:271:1:o;914:220::-;1063:2;1052:9;1045:21;1026:4;1083:45;1124:2;1113:9;1109:18;1101:6;1083:45;:::i;1139:160::-;1204:20;;1260:13;;1253:21;1243:32;;1233:60;;1289:1;1286;1279:12;1304:328;1378:6;1386;1394;1447:2;1435:9;1426:7;1422:23;1418:32;1415:52;;;1463:1;1460;1453:12;1415:52;1486:29;1505:9;1486:29;:::i;:::-;1476:39;;1534:38;1568:2;1557:9;1553:18;1534:38;:::i;:::-;1524:48;;1591:35;1622:2;1611:9;1607:18;1591:35;:::i;:::-;1581:45;;1304:328;;;;;:::o;1829:127::-;1890:10;1885:3;1881:20;1878:1;1871:31;1921:4;1918:1;1911:15;1945:4;1942:1;1935:15;1961:632;2026:5;2056:18;2097:2;2089:6;2086:14;2083:40;;;2103:18;;:::i;:::-;2178:2;2172:9;2146:2;2232:15;;-1:-1:-1;;2228:24:1;;;2254:2;2224:33;2220:42;2208:55;;;2278:18;;;2298:22;;;2275:46;2272:72;;;2324:18;;:::i;:::-;2364:10;2360:2;2353:22;2393:6;2384:15;;2423:6;2415;2408:22;2463:3;2454:6;2449:3;2445:16;2442:25;2439:45;;;2480:1;2477;2470:12;2439:45;2530:6;2525:3;2518:4;2510:6;2506:17;2493:44;2585:1;2578:4;2569:6;2561;2557:19;2553:30;2546:41;;;;1961:632;;;;;:::o;2598:222::-;2641:5;2694:3;2687:4;2679:6;2675:17;2671:27;2661:55;;2712:1;2709;2702:12;2661:55;2734:80;2810:3;2801:6;2788:20;2781:4;2773:6;2769:17;2734:80;:::i;2825:769::-;2929:6;2937;2945;2953;3006:3;2994:9;2985:7;2981:23;2977:33;2974:53;;;3023:1;3020;3013:12;2974:53;3063:9;3050:23;3092:18;3133:2;3125:6;3122:14;3119:34;;;3149:1;3146;3139:12;3119:34;3172:50;3214:7;3205:6;3194:9;3190:22;3172:50;:::i;:::-;3162:60;;3275:2;3264:9;3260:18;3247:32;3231:48;;3304:2;3294:8;3291:16;3288:36;;;3320:1;3317;3310:12;3288:36;;3343:52;3387:7;3376:8;3365:9;3361:24;3343:52;:::i;:::-;3333:62;;;3445:2;3434:9;3430:18;3417:32;3489:4;3482:5;3478:16;3471:5;3468:27;3458:55;;3509:1;3506;3499:12;3458:55;2825:769;;;;-1:-1:-1;3532:5:1;;3584:2;3569:18;3556:32;;-1:-1:-1;;2825:769:1:o;3807:180::-;3866:6;3919:2;3907:9;3898:7;3894:23;3890:32;3887:52;;;3935:1;3932;3925:12;3887:52;-1:-1:-1;3958:23:1;;3807:180;-1:-1:-1;3807:180:1:o;3992:543::-;4080:6;4088;4141:2;4129:9;4120:7;4116:23;4112:32;4109:52;;;4157:1;4154;4147:12;4109:52;4197:9;4184:23;4226:18;4267:2;4259:6;4256:14;4253:34;;;4283:1;4280;4273:12;4253:34;4306:50;4348:7;4339:6;4328:9;4324:22;4306:50;:::i;:::-;4296:60;;4409:2;4398:9;4394:18;4381:32;4365:48;;4438:2;4428:8;4425:16;4422:36;;;4454:1;4451;4444:12;4422:36;;4477:52;4521:7;4510:8;4499:9;4495:24;4477:52;:::i;:::-;4467:62;;;3992:543;;;;;:::o;4540:260::-;4608:6;4616;4669:2;4657:9;4648:7;4644:23;4640:32;4637:52;;;4685:1;4682;4675:12;4637:52;4708:29;4727:9;4708:29;:::i;:::-;4698:39;;4756:38;4790:2;4779:9;4775:18;4756:38;:::i;:::-;4746:48;;4540:260;;;;;:::o;4805:450::-;4873:6;4926:2;4914:9;4905:7;4901:23;4897:32;4894:52;;;4942:1;4939;4932:12;4894:52;4982:9;4969:23;5015:18;5007:6;5004:30;5001:50;;;5047:1;5044;5037:12;5001:50;5070:22;;5123:4;5115:13;;5111:27;-1:-1:-1;5101:55:1;;5152:1;5149;5142:12;5101:55;5175:74;5241:7;5236:2;5223:16;5218:2;5214;5210:11;5175:74;:::i;:::-;5165:84;4805:450;-1:-1:-1;;;;4805:450:1:o;5260:254::-;5325:6;5333;5386:2;5374:9;5365:7;5361:23;5357:32;5354:52;;;5402:1;5399;5392:12;5354:52;5425:29;5444:9;5425:29;:::i;:::-;5415:39;;5473:35;5504:2;5493:9;5489:18;5473:35;:::i;5519:380::-;5598:1;5594:12;;;;5641;;;5662:61;;5716:4;5708:6;5704:17;5694:27;;5662:61;5769:2;5761:6;5758:14;5738:18;5735:38;5732:161;;5815:10;5810:3;5806:20;5803:1;5796:31;5850:4;5847:1;5840:15;5878:4;5875:1;5868:15;5732:161;;5519:380;;;:::o;5904:399::-;6106:2;6088:21;;;6145:2;6125:18;;;6118:30;6184:34;6179:2;6164:18;;6157:62;-1:-1:-1;;;6250:2:1;6235:18;;6228:33;6293:3;6278:19;;5904:399::o;6711:496::-;6890:3;6928:6;6922:13;6944:66;7003:6;6998:3;6991:4;6983:6;6979:17;6944:66;:::i;:::-;7073:13;;7032:16;;;;7095:70;7073:13;7032:16;7142:4;7130:17;;7095:70;:::i;:::-;7181:20;;6711:496;-1:-1:-1;;;;6711:496:1:o;7212:287::-;7341:3;7379:6;7373:13;7395:66;7454:6;7449:3;7442:4;7434:6;7430:17;7395:66;:::i;:::-;7477:16;;;;;7212:287;-1:-1:-1;;7212:287:1:o;7855:383::-;8052:2;8041:9;8034:21;8015:4;8078:45;8119:2;8108:9;8104:18;8096:6;8078:45;:::i;:::-;8171:9;8163:6;8159:22;8154:2;8143:9;8139:18;8132:50;8199:33;8225:6;8217;8199:33;:::i;:::-;8191:41;7855:383;-1:-1:-1;;;;;7855:383:1:o;8629:518::-;8731:2;8726:3;8723:11;8720:421;;;8767:5;8764:1;8757:16;8811:4;8808:1;8798:18;8881:2;8869:10;8865:19;8862:1;8858:27;8852:4;8848:38;8917:4;8905:10;8902:20;8899:47;;;-1:-1:-1;8940:4:1;8899:47;8995:2;8990:3;8986:12;8983:1;8979:20;8973:4;8969:31;8959:41;;9050:81;9068:2;9061:5;9058:13;9050:81;;;9127:1;9113:16;;9094:1;9083:13;9050:81;;;9054:3;;8629:518;;;:::o;9323:1345::-;9449:3;9443:10;9476:18;9468:6;9465:30;9462:56;;;9498:18;;:::i;:::-;9527:97;9617:6;9577:38;9609:4;9603:11;9577:38;:::i;:::-;9571:4;9527:97;:::i;:::-;9679:4;;9736:2;9725:14;;9753:1;9748:663;;;;10455:1;10472:6;10469:89;;;-1:-1:-1;10524:19:1;;;10518:26;10469:89;-1:-1:-1;;9280:1:1;9276:11;;;9272:24;9268:29;9258:40;9304:1;9300:11;;;9255:57;10571:81;;9718:944;;9748:663;8576:1;8569:14;;;8613:4;8600:18;;-1:-1:-1;;9784:20:1;;;9902:236;9916:7;9913:1;9910:14;9902:236;;;10005:19;;;9999:26;9984:42;;10097:27;;;;10065:1;10053:14;;;;9932:19;;9902:236;;;9906:3;10166:6;10157:7;10154:19;10151:201;;;10227:19;;;10221:26;-1:-1:-1;;10310:1:1;10306:14;;;10322:3;10302:24;10298:37;10294:42;10279:58;10264:74;;10151:201;;;10398:1;10389:6;10386:1;10382:14;10378:22;10372:4;10365:36;9718:944;;;;;9323:1345;;:::o
Swarm Source
ipfs://e33c083ade6a1492faf11c45206aea065b4b8405029396f406f1e69c95e8e457
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 26 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
[ Download: CSV Export ]
[ 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.