More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 529 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Admin Cancel Col... | 17171590 | 447 days ago | IN | 0 ETH | 0.01389802 | ||||
Admin Cancel Col... | 17166153 | 448 days ago | IN | 0 ETH | 0.03262066 | ||||
Admin Cancel Col... | 17166143 | 448 days ago | IN | 0 ETH | 0.00758034 | ||||
Update Contract | 17166121 | 448 days ago | IN | 0 ETH | 0.00315742 | ||||
Update Contract | 17166105 | 448 days ago | IN | 0 ETH | 0.01256816 | ||||
Cancel Sell | 15974932 | 615 days ago | IN | 0 ETH | 0.00127691 | ||||
Cancel Sell | 15731173 | 649 days ago | IN | 0 ETH | 0.0009067 | ||||
Cancel Sell | 15703920 | 653 days ago | IN | 0 ETH | 0.00081263 | ||||
Cancel Sell | 15580558 | 670 days ago | IN | 0 ETH | 0.00038673 | ||||
Buy NFT Bnb | 15458969 | 689 days ago | IN | 0.7 ETH | 0.00118411 | ||||
Cancel Sell | 15457701 | 689 days ago | IN | 0 ETH | 0.0005813 | ||||
Sell NFT | 15427851 | 694 days ago | IN | 0 ETH | 0.00099878 | ||||
Sell NFT | 15427848 | 694 days ago | IN | 0 ETH | 0.00015457 | ||||
Sell NFT | 15413744 | 696 days ago | IN | 0 ETH | 0.00140818 | ||||
Sell NFT | 15387922 | 700 days ago | IN | 0 ETH | 0.00027893 | ||||
Update Price | 15364045 | 704 days ago | IN | 0 ETH | 0.00057005 | ||||
Buy NFT | 15282725 | 717 days ago | IN | 0 ETH | 0.00295016 | ||||
Cancel Sell | 15242508 | 723 days ago | IN | 0 ETH | 0.00039056 | ||||
Buy NFT Bnb | 15202669 | 730 days ago | IN | 0.3 ETH | 0.00109474 | ||||
Cancel Sell | 15197812 | 730 days ago | IN | 0 ETH | 0.00061179 | ||||
Cancel Sell | 15197494 | 730 days ago | IN | 0 ETH | 0.00080728 | ||||
Sell NFT | 15196782 | 730 days ago | IN | 0 ETH | 0.00106028 | ||||
Cancel Sell | 15196642 | 730 days ago | IN | 0 ETH | 0.00089866 | ||||
Cancel Sell | 15175822 | 734 days ago | IN | 0 ETH | 0.00237551 | ||||
Sell NFT | 15131015 | 741 days ago | IN | 0 ETH | 0.0025105 |
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block | From | To | |||
---|---|---|---|---|---|---|
15458969 | 689 days ago | 0.665 ETH | ||||
15458969 | 689 days ago | 0.665 ETH | ||||
15458969 | 689 days ago | 0.0175 ETH | ||||
15458969 | 689 days ago | 0.0175 ETH | ||||
15458969 | 689 days ago | 0.7 ETH | ||||
15202669 | 730 days ago | 0.285 ETH | ||||
15202669 | 730 days ago | 0.285 ETH | ||||
15202669 | 730 days ago | 0.0075 ETH | ||||
15202669 | 730 days ago | 0.0075 ETH | ||||
15202669 | 730 days ago | 0.3 ETH | ||||
15106404 | 744 days ago | 0.285 ETH | ||||
15106404 | 744 days ago | 0.285 ETH | ||||
15106404 | 744 days ago | 0.0075 ETH | ||||
15106404 | 744 days ago | 0.0075 ETH | ||||
15106404 | 744 days ago | 0.3 ETH | ||||
15082433 | 748 days ago | 0.266 ETH | ||||
15082433 | 748 days ago | 0.266 ETH | ||||
15082433 | 748 days ago | 0.007 ETH | ||||
15082433 | 748 days ago | 0.007 ETH | ||||
15082433 | 748 days ago | 0.28 ETH | ||||
15080805 | 748 days ago | 0.1425 ETH | ||||
15080805 | 748 days ago | 0.1425 ETH | ||||
15080805 | 748 days ago | 0.00375 ETH | ||||
15080805 | 748 days ago | 0.00375 ETH | ||||
15080805 | 748 days ago | 0.15 ETH |
Loading...
Loading
Contract Name:
DexProxy
Compiler Version
v0.5.0+commit.1d4f565a
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2022-02-28 */ /** *Submitted for verification at Etherscan.io on 2022-02-28 */ /** *Submitted for verification at Etherscan.io on 2022-02-24 */ /** *Submitted for verification at Etherscan.io on 2021-11-03 */ /** *Submitted for verification at Etherscan.io on 2021-11-01 */ // File: contracts/Proxy/IERC1538.sol pragma solidity ^0.5.0; /// @title ERC1538 Transparent Contract Standard /// @dev Required interface /// Note: the ERC-165 identifier for this interface is 0x61455567 interface IERC1538 { /// @dev This emits when one or a set of functions are updated in a transparent contract. /// The message string should give a short description of the change and why /// the change was made. event CommitMessage(string message); /// @dev This emits for each function that is updated in a transparent contract. /// functionId is the bytes4 of the keccak256 of the function signature. /// oldDelegate is the delegate contract address of the old delegate contract if /// the function is being replaced or removed. /// oldDelegate is the zero value address(0) if a function is being added for the /// first time. /// newDelegate is the delegate contract address of the new delegate contract if /// the function is being added for the first time or if the function is being /// replaced. /// newDelegate is the zero value address(0) if the function is being removed. event FunctionUpdate(bytes4 indexed functionId, address indexed oldDelegate, address indexed newDelegate, string functionSignature); /// @notice Updates functions in a transparent contract. /// @dev If the value of _delegate is zero then the functions specified /// in _functionSignatures are removed. /// If the value of _delegate is a delegate contract address then the functions /// specified in _functionSignatures will be delegated to that address. /// @param _delegate The address of a delegate contract to delegate to or zero /// to remove functions. /// @param _functionSignatures A list of function signatures listed one after the other /// @param _commitMessage A short description of the change and why it is made /// This message is passed to the CommitMessage event. function updateContract(address _delegate, string calldata _functionSignatures, string calldata _commitMessage) external; } // File: contracts/Proxy/ProxyBaseStorage.sol pragma solidity ^0.5.0; /////////////////////////////////////////////////////////////////////////////////////////////////// /** * @title ProxyBaseStorage * @dev Defining base storage for the proxy contract. */ /////////////////////////////////////////////////////////////////////////////////////////////////// contract ProxyBaseStorage { //////////////////////////////////////////// VARS ///////////////////////////////////////////// // maps functions to the delegate contracts that execute the functions. // funcId => delegate contract mapping(bytes4 => address) public delegates; // array of function signatures supported by the contract. bytes[] public funcSignatures; // maps each function signature to its position in the funcSignatures array. // signature => index+1 mapping(bytes => uint256) internal funcSignatureToIndex; // proxy address of itself, can be used for cross-delegate calls but also safety checking. address proxy; /////////////////////////////////////////////////////////////////////////////////////////////// } // File: contracts/IERC20.sol pragma solidity ^0.5.0; /** * @dev Interface of the ERC20 standard as defined in the EIP. Does not include * the optional functions; to access them see {ERC20Detailed}. */ interface IERC20 { /** * @dev Returns the amount of tokens in existence. */ function totalSupply() external view returns (uint256); /** * @dev Returns the amount of tokens owned by `account`. */ function balanceOf(address account) external view returns (uint256); /** * @dev Moves `amount` tokens from the caller's account to `recipient`. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transfer(address recipient, uint256 amount) external returns (bool); /** * @dev Returns the remaining number of tokens that `spender` will be * allowed to spend on behalf of `owner` through {transferFrom}. This is * zero by default. * * This value changes when {approve} or {transferFrom} are called. */ function allowance(address owner, address spender) external view returns (uint256); /** * @dev Sets `amount` as the allowance of `spender` over the caller's tokens. * * Returns a boolean value indicating whether the operation succeeded. * * IMPORTANT: Beware that changing an allowance with this method brings the risk * that someone may use both the old and the new allowance by unfortunate * transaction ordering. One possible solution to mitigate this race * condition is to first reduce the spender's allowance to 0 and set the * desired value afterwards: * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * * Emits an {Approval} event. */ function approve(address spender, uint256 amount) external returns (bool); /** * @dev Moves `amount` tokens from `sender` to `recipient` using the * allowance mechanism. `amount` is then deducted from the caller's * allowance. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); function mint(address recipient, uint256 amount) external returns(bool); /** * @dev Emitted when `value` tokens are moved from one account (`from`) to * another (`to`). * * Note that `value` may be zero. */ event Transfer(address indexed from, address indexed to, uint256 value); /** * @dev Emitted when the allowance of a `spender` for an `owner` is set by * a call to {approve}. `value` is the new allowance. */ event Approval(address indexed owner, address indexed spender, uint256 value); function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast); function blindBox(address seller, string calldata tokenURI, bool flag, address to, string calldata ownerId) external returns (uint256); function mintAliaForNonCrypto(uint256 price, address from) external returns (bool); function nonCryptoNFTVault() external returns(address); function mainPerecentage() external returns(uint256); function authorPercentage() external returns(uint256); function platformPerecentage() external returns(uint256); function updateAliaBalance(string calldata stringId, uint256 amount) external returns(bool); function getSellDetail(uint256 tokenId) external view returns (address, uint256, uint256, address, uint256, uint256, uint256); function getNonCryptoWallet(string calldata ownerId) external view returns(uint256); function getNonCryptoOwner(uint256 tokenId) external view returns(string memory); function adminOwner(address _address) external view returns(bool); function getAuthor(uint256 tokenIdFunction) external view returns (address); function _royality(uint256 tokenId) external view returns (uint256); function getrevenueAddressBlindBox(string calldata info) external view returns(address); function getboxNameByToken(uint256 token) external view returns(string memory); //Revenue share function addNonCryptoAuthor(string calldata artistId, uint256 tokenId, bool _isArtist) external returns(bool); function transferAliaArtist(address buyer, uint256 price, address nftVaultAddress, uint256 tokenId ) external returns(bool); function checkArtistOwner(string calldata artistId, uint256 tokenId) external returns(bool); function checkTokenAuthorIsArtist(uint256 tokenId) external returns(bool); function withdraw(uint) external; function deposit() payable external; // function approve(address spender, uint256 rawAmount) external; // BlindBox ref:https://noborderz.slack.com/archives/C0236PBG601/p1633942033011800?thread_ts=1633941154.010300&cid=C0236PBG601 function isSellable (string calldata name) external view returns(bool); function tokenURI(uint256 tokenId) external view returns (string memory); function ownerOf(uint256 tokenId) external view returns (address); function burn (uint256 tokenId) external; } // File: contracts/INFT.sol pragma solidity ^0.5.0; // import "../openzeppelin-solidity/contracts/token/ERC721/IERC721Full.sol"; interface INFT { function transferFromAdmin(address owner, address to, uint256 tokenId) external; function mintWithTokenURI(address to, string calldata tokenURI) external returns (uint256); function getAuthor(uint256 tokenIdFunction) external view returns (address); function updateTokenURI(uint256 tokenIdT, string calldata uriT) external; // function mint(address to, string calldata tokenURI) external returns (uint256); function transferOwnership(address newOwner) external; function ownerOf(uint256 tokenId) external view returns(address); function transferFrom(address owner, address to, uint256 tokenId) external; } // File: contracts/IFactory.sol pragma solidity ^0.5.0; contract IFactory { function create(string calldata name_, string calldata symbol_, address owner_) external returns(address); function getCollections(address owner_) external view returns(address [] memory); } // File: contracts/LPInterface.sol pragma solidity ^0.5.0; /** * @dev Interface of the ERC20 standard as defined in the EIP. Does not include * the optional functions; to access them see {ERC20Detailed}. */ interface LPInterface { /** * @dev Returns the amount of tokens in existence. */ function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast); } // File: openzeppelin-solidity/contracts/math/SafeMath.sol pragma solidity ^0.5.0; /** * @dev Wrappers over Solidity's arithmetic operations with added overflow * checks. * * Arithmetic operations in Solidity wrap on overflow. This can easily result * in bugs, because programmers usually assume that an overflow raises an * error, which is the standard behavior in high level programming languages. * `SafeMath` restores this intuition by reverting the transaction when an * operation overflows. * * Using this library instead of the unchecked operations eliminates an entire * class of bugs, so it's recommended to use it always. */ library SafeMath { /** * @dev Returns the addition of two unsigned integers, reverting on * overflow. * * Counterpart to Solidity's `+` operator. * * Requirements: * - Addition cannot overflow. */ function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } /** * @dev Returns the subtraction of two unsigned integers, reverting on * overflow (when the result is negative). * * Counterpart to Solidity's `-` operator. * * Requirements: * - Subtraction cannot overflow. */ function sub(uint256 a, uint256 b) internal pure returns (uint256) { require(b <= a, "SafeMath: subtraction overflow"); uint256 c = a - b; return c; } /** * @dev Returns the multiplication of two unsigned integers, reverting on * overflow. * * Counterpart to Solidity's `*` operator. * * Requirements: * - Multiplication cannot overflow. */ function mul(uint256 a, uint256 b) internal pure returns (uint256) { // Gas optimization: this is cheaper than requiring 'a' not being zero, but the // benefit is lost if 'b' is also tested. // See: https://github.com/OpenZeppelin/openzeppelin-solidity/pull/522 if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } /** * @dev Returns the integer division of two unsigned integers. Reverts on * division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `/` operator. Note: this function uses a * `revert` opcode (which leaves remaining gas untouched) while Solidity * uses an invalid opcode to revert (consuming all remaining gas). * * Requirements: * - The divisor cannot be zero. */ function div(uint256 a, uint256 b) internal pure returns (uint256) { // Solidity only automatically asserts when dividing by 0 require(b > 0, "SafeMath: division by zero"); uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return c; } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * Reverts when dividing by zero. * * Counterpart to Solidity's `%` operator. This function uses a `revert` * opcode (which leaves remaining gas untouched) while Solidity uses an * invalid opcode to revert (consuming all remaining gas). * * Requirements: * - The divisor cannot be zero. */ function mod(uint256 a, uint256 b) internal pure returns (uint256) { require(b != 0, "SafeMath: modulo by zero"); return a % b; } } // File: contracts/Proxy/DexStorage.sol pragma solidity ^0.5.0; /////////////////////////////////////////////////////////////////////////////////////////////////// /** * @title DexStorage * @dev Defining dex storage for the proxy contract. */ /////////////////////////////////////////////////////////////////////////////////////////////////// contract DexStorage { using SafeMath for uint256; address x; // dummy variable, never set or use its value in any logic contracts. It keeps garbage value & append it with any value set on it. IERC20 ALIA; INFT XNFT; IFactory factory; IERC20 OldNFTDex; IERC20 BUSD; IERC20 BNB; struct RDetails { address _address; uint256 percentage; } struct AuthorDetails { address _address; uint256 royalty; string ownerId; bool isSecondry; } // uint256[] public sellList; // this violates generlization as not tracking tokenIds agains nftContracts/collections but ignoring as not using it in logic anywhere (uncommented) mapping (uint256 => mapping(address => AuthorDetails)) internal _tokenAuthors; mapping (address => bool) public adminOwner; address payable public platform; address payable public authorVault; uint256 internal platformPerecentage; struct fixedSell { // address nftContract; // adding to support multiple NFT contracts buy/sell address seller; uint256 price; uint256 timestamp; bool isDollar; uint256 currencyType; } // stuct for auction struct auctionSell { address seller; address nftContract; address bidder; uint256 minPrice; uint256 startTime; uint256 endTime; uint256 bidAmount; bool isDollar; uint256 currencyType; // address nftAddress; } // tokenId => nftContract => fixedSell mapping (uint256 => mapping (address => fixedSell)) internal _saleTokens; mapping(address => bool) public _supportNft; // tokenId => nftContract => auctionSell mapping(uint256 => mapping ( address => auctionSell)) internal _auctionTokens; address payable public nonCryptoNFTVault; // tokenId => nftContract => ownerId mapping (uint256=> mapping (address => string)) internal _nonCryptoOwners; struct balances{ uint256 bnb; uint256 Alia; uint256 BUSD; } mapping (string => balances) internal _nonCryptoWallet; LPInterface LPAlia; LPInterface LPBNB; uint256 public adminDiscount; address admin; mapping (string => address) internal revenueAddressBlindBox; mapping (uint256=>string) internal boxNameByToken; bool public collectionConfig; uint256 public countCopy; mapping (uint256=> mapping( address => mapping(uint256 => bool))) _allowedCurrencies; IERC20 token; // struct offer { // address _address; // string ownerId; // uint256 currencyType; // uint256 price; // } // struct offers { // uint256 count; // mapping (uint256 => offer) _offer; // } // mapping(uint256 => mapping(address => offers)) _offers; uint256[] allowedArray; } // File: openzeppelin-solidity/contracts/ownership/Ownable.sol pragma solidity ^0.5.0; /** * @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. * * This module is used through inheritance. It will make available the modifier * `onlyOwner`, which can be aplied to your functions to restrict their use to * the owner. */ contract Ownable { address internal _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev Initializes the contract setting the deployer as the initial owner. */ constructor () internal { _owner = msg.sender; emit OwnershipTransferred(address(0), _owner); } /** * @dev Returns the address of the current owner. */ function owner() public view returns (address) { return _owner; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(isOwner(), "Ownable: caller is not the owner"); _; } /** * @dev Returns true if the caller is the current owner. */ function isOwner() public view returns (bool) { return msg.sender == _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 onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Can only be called by the current owner. */ function transferOwnership(address newOwner) public onlyOwner { _transferOwnership(newOwner); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). */ function _transferOwnership(address newOwner) internal { require(newOwner != address(0), "Ownable: new owner is the zero address"); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } } // File: contracts/Proxy/DexProxy.sol pragma solidity ^0.5.0; /////////////////////////////////////////////////////////////////////////////////////////////////// /** * @title ProxyReceiver Contract * @dev Handles forwarding calls to receiver delegates while offering transparency of updates. * Follows ERC-1538 standard. * * NOTE: Not recommended for direct use in a production contract, as no security control. * Provided as simple example only. */ /////////////////////////////////////////////////////////////////////////////////////////////////// contract DexProxy is ProxyBaseStorage, DexStorage, IERC1538, Ownable { constructor() public { proxy = address(this); //Adding ERC1538 updateContract function bytes memory signature = "updateContract(address,string,string)"; bytes4 funcId = bytes4(keccak256(signature)); delegates[funcId] = proxy; funcSignatures.push(signature); funcSignatureToIndex[signature] = funcSignatures.length; emit FunctionUpdate(funcId, address(0), proxy, string(signature)); emit CommitMessage("Added ERC1538 updateContract function at contract creation"); } /////////////////////////////////////////////////////////////////////////////////////////////// function() external payable { if (msg.sig == bytes4(0) && msg.value != uint(0)) { // skipping ethers/BNB received to delegate return; } address delegate = delegates[msg.sig]; require(delegate != address(0), "Function does not exist."); assembly { let ptr := mload(0x40) calldatacopy(ptr, 0, calldatasize) let result := delegatecall(gas, delegate, ptr, calldatasize, 0, 0) let size := returndatasize returndatacopy(ptr, 0, size) switch result case 0 {revert(ptr, size)} default {return (ptr, size)} } } /////////////////////////////////////////////////////////////////////////////////////////////// /// @notice Updates functions in a transparent contract. /// @dev If the value of _delegate is zero then the functions specified /// in _functionSignatures are removed. /// If the value of _delegate is a delegate contract address then the functions /// specified in _functionSignatures will be delegated to that address. /// @param _delegate The address of a delegate contract to delegate to or zero /// @param _functionSignatures A list of function signatures listed one after the other /// @param _commitMessage A short description of the change and why it is made /// This message is passed to the CommitMessage event. function updateContract(address _delegate, string calldata _functionSignatures, string calldata _commitMessage) onlyOwner external { // pos is first used to check the size of the delegate contract. // After that pos is the current memory location of _functionSignatures. // It is used to move through the characters of _functionSignatures uint256 pos; if(_delegate != address(0)) { assembly { pos := extcodesize(_delegate) } require(pos > 0, "_delegate address is not a contract and is not address(0)"); } // creates a bytes version of _functionSignatures bytes memory signatures = bytes(_functionSignatures); // stores the position in memory where _functionSignatures ends. uint256 signaturesEnd; // stores the starting position of a function signature in _functionSignatures uint256 start; assembly { pos := add(signatures,32) start := pos signaturesEnd := add(pos,mload(signatures)) } // the function id of the current function signature bytes4 funcId; // the delegate address that is being replaced or address(0) if removing functions address oldDelegate; // the length of the current function signature in _functionSignatures uint256 num; // the current character in _functionSignatures uint256 char; // the position of the current function signature in the funcSignatures array uint256 index; // the last position in the funcSignatures array uint256 lastIndex; // parse the _functionSignatures string and handle each function for (; pos < signaturesEnd; pos++) { assembly {char := byte(0,mload(pos))} // 0x29 == ) if (char == 0x29) { pos++; num = (pos - start); start = pos; assembly { mstore(signatures,num) } funcId = bytes4(keccak256(signatures)); oldDelegate = delegates[funcId]; if(_delegate == address(0)) { index = funcSignatureToIndex[signatures]; require(index != 0, "Function does not exist."); index--; lastIndex = funcSignatures.length - 1; if (index != lastIndex) { funcSignatures[index] = funcSignatures[lastIndex]; funcSignatureToIndex[funcSignatures[lastIndex]] = index + 1; } funcSignatures.length--; delete funcSignatureToIndex[signatures]; delete delegates[funcId]; emit FunctionUpdate(funcId, oldDelegate, address(0), string(signatures)); } else if (funcSignatureToIndex[signatures] == 0) { require(oldDelegate == address(0), "FuncId clash."); delegates[funcId] = _delegate; funcSignatures.push(signatures); funcSignatureToIndex[signatures] = funcSignatures.length; emit FunctionUpdate(funcId, address(0), _delegate, string(signatures)); } else if (delegates[funcId] != _delegate) { delegates[funcId] = _delegate; emit FunctionUpdate(funcId, oldDelegate, _delegate, string(signatures)); } assembly {signatures := add(signatures,num)} } } emit CommitMessage(_commitMessage); } /////////////////////////////////////////////////////////////////////////////////////////////// } ///////////////////////////////////////////////////////////////////////////////////////////////////
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"_supportNft","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"funcSignatures","outputs":[{"name":"","type":"bytes"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"platform","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"countCopy","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_delegate","type":"address"},{"name":"_functionSignatures","type":"string"},{"name":"_commitMessage","type":"string"}],"name":"updateContract","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"collectionConfig","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"renounceOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"nonCryptoNFTVault","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isOwner","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"bytes4"}],"name":"delegates","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"adminDiscount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"adminOwner","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"authorVault","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"message","type":"string"}],"name":"CommitMessage","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"functionId","type":"bytes4"},{"indexed":true,"name":"oldDelegate","type":"address"},{"indexed":true,"name":"newDelegate","type":"address"},{"indexed":false,"name":"functionSignature","type":"string"}],"name":"FunctionUpdate","type":"event"}]
Contract Creation Code
60806040523480156200001157600080fd5b5033602160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550602160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a330600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060608060405190810160405280602581526020017f757064617465436f6e747261637428616464726573732c737472696e672c737481526020017f72696e67290000000000000000000000000000000000000000000000000000008152509050600081805190602001209050600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600080837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060018290806001815401808255809150509060018203906000526020600020016000909192909190915090805190602001906200026d9291906200048c565b50506001805490506002836040518082805190602001908083835b602083101515620002af578051825260208201915060208101905060208303925062000288565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902081905550600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff16827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3234040ce3bd4564874e44810f198910133a1b24c4e84aac87edbf6b458f5353856040518080602001828103825283818151815260200191508051906020019080838360005b83811015620003bb5780820151818401526020810190506200039e565b50505050905090810190601f168015620003e95780820380516001836020036101000a031916815260200191505b509250505060405180910390a47faa1c0a0a78cec2470f9652e5d29540752e7a64d70f926933cebf13afaeda45de60405180806020018281038252603a8152602001807f4164646564204552433135333820757064617465436f6e74726163742066756e81526020017f6374696f6e20617420636f6e7472616374206372656174696f6e00000000000081525060400191505060405180910390a150506200053b565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620004cf57805160ff191683800117855562000500565b8280016001018555821562000500579182015b82811115620004ff578251825591602001919060010190620004e2565b5b5090506200050f919062000513565b5090565b6200053891905b80821115620005345760008160009055506001016200051a565b5090565b90565b611c53806200054b6000396000f3fe6080604052600436106100db576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680631d73cf34146102dd57806326a6860a146103465780634bde38c8146103fa57806358616aa014610451578063614555671461047c5780636b34d72514610577578063715018a6146105a657806372856d82146105bd5780638da5cb5b146106145780638f32d59b1461066b578063a0a2daf01461069a578063aebc082414610734578063e5a999911461075f578063f2fde38b146107c8578063f9f7ad6214610819575b60007c0100000000000000000000000000000000000000000000000000000000027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166000357fffffffff00000000000000000000000000000000000000000000000000000000167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614801561016d575060003414155b15610177576102db565b600080600080357fffffffff00000000000000000000000000000000000000000000000000000000167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156102b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f46756e6374696f6e20646f6573206e6f742065786973742e000000000000000081525060200191505060405180910390fd5b60405136600082376000803683855af43d806000843e81600081146102d7578184f35b8184fd5b005b3480156102e957600080fd5b5061032c6004803603602081101561030057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610870565b604051808215151515815260200191505060405180910390f35b34801561035257600080fd5b5061037f6004803603602081101561036957600080fd5b8101908080359060200190929190505050610890565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156103bf5780820151818401526020810190506103a4565b50505050905090810190601f1680156103ec5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561040657600080fd5b5061040f61094b565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561045d57600080fd5b50610466610971565b6040518082815260200191505060405180910390f35b34801561048857600080fd5b506105756004803603606081101561049f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001906401000000008111156104dc57600080fd5b8201836020820111156104ee57600080fd5b8035906020019184600183028401116401000000008311171561051057600080fd5b90919293919293908035906020019064010000000081111561053157600080fd5b82018360208201111561054357600080fd5b8035906020019184600183028401116401000000008311171561056557600080fd5b9091929391929390505050610977565b005b34801561058357600080fd5b5061058c6115d1565b604051808215151515815260200191505060405180910390f35b3480156105b257600080fd5b506105bb6115e4565b005b3480156105c957600080fd5b506105d2611721565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561062057600080fd5b50610629611747565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561067757600080fd5b50610680611771565b604051808215151515815260200191505060405180910390f35b3480156106a657600080fd5b506106f2600480360360208110156106bd57600080fd5b8101908080357bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191690602001909291905050506117c9565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561074057600080fd5b506107496117fc565b6040518082815260200191505060405180910390f35b34801561076b57600080fd5b506107ae6004803603602081101561078257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611802565b604051808215151515815260200191505060405180910390f35b3480156107d457600080fd5b50610817600480360360208110156107eb57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611822565b005b34801561082557600080fd5b5061082e6118aa565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b60116020528060005260406000206000915054906101000a900460ff1681565b60018181548110151561089f57fe5b906000526020600020016000915090508054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156109435780601f1061091857610100808354040283529160200191610943565b820191906000526020600020905b81548152906001019060200180831161092657829003601f168201915b505050505081565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601d5481565b61097f611771565b15156109f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b60008073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16141515610acd57853b9050600081111515610acc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260398152602001807f5f64656c65676174652061646472657373206973206e6f74206120636f6e747281526020017f61637420616e64206973206e6f7420616464726573732830290000000000000081525060400191505060405180910390fd5b5b606085858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505090506000806020830193508390508251840191506000806000806000805b878a101561155d57895160001a925060298314156115505789806001019a5050868a03935089965083895288805190602001209550600080877bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169450600073ffffffffffffffffffffffffffffffffffffffff168f73ffffffffffffffffffffffffffffffffffffffff161415610fde576002896040518082805190602001908083835b602083101515610c475780518252602082019150602081019050602083039250610c22565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902054915060008214151515610cf6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f46756e6374696f6e20646f6573206e6f742065786973742e000000000000000081525060200191505060405180910390fd5b818060019003925050600180805490500390508082141515610df657600181815481101515610d2157fe5b90600052602060002001600183815481101515610d3a57fe5b906000526020600020019080546001816001161561010002031660029004610d63929190611a5b565b50600182016002600183815481101515610d7957fe5b906000526020600020016040518082805460018160011615610100020316600290048015610dde5780601f10610dbc576101008083540402835291820191610dde565b820191906000526020600020905b815481529060010190602001808311610dca575b50509150509081526020016040518091039020819055505b6001805480919060019003610e0b9190611ae2565b506002896040518082805190602001908083835b602083101515610e445780518252602082019150602081019050602083039250610e1f565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009055600080877bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16877bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3234040ce3bd4564874e44810f198910133a1b24c4e84aac87edbf6b458f53538c6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610f9f578082015181840152602081019050610f84565b50505050905090810190601f168015610fcc5780820380516001836020036101000a031916815260200191505b509250505060405180910390a461154a565b600060028a6040518082805190602001908083835b6020831015156110185780518252602082019150602081019050602083039250610ff3565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902054141561132957600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161415156110f6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600d8152602001807f46756e63496420636c6173682e0000000000000000000000000000000000000081525060200191505060405180910390fd5b8e600080887bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060018990806001815401808255809150509060018203906000526020600020016000909192909190915090805190602001906111c2929190611b0e565b505060018054905060028a6040518082805190602001908083835b60208310151561120257805182526020820191506020810190506020830392506111dd565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020819055508e73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff16877bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3234040ce3bd4564874e44810f198910133a1b24c4e84aac87edbf6b458f53538c6040518080602001828103825283818151815260200191508051906020019080838360005b838110156112ea5780820151818401526020810190506112cf565b50505050905090810190601f1680156113175780820380516001836020036101000a031916815260200191505b509250505060405180910390a4611549565b8e73ffffffffffffffffffffffffffffffffffffffff16600080887bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515611548578e600080887bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508e73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16877bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3234040ce3bd4564874e44810f198910133a1b24c4e84aac87edbf6b458f53538c6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561150d5780820151818401526020810190506114f2565b50505050905090810190601f16801561153a5780820380516001836020036101000a031916815260200191505b509250505060405180910390a45b5b5b83890198505b89806001019a5050610b32565b7faa1c0a0a78cec2470f9652e5d29540752e7a64d70f926933cebf13afaeda45de8c8c60405180806020018281038252848482818152602001925080828437600081840152601f19601f820116905080830192505050935050505060405180910390a1505050505050505050505050505050565b601c60009054906101000a900460ff1681565b6115ec611771565b1515611660576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16602160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000602160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000602160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000602160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614905090565b60006020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60185481565b600c6020528060005260406000206000915054906101000a900460ff1681565b61182a611771565b151561189e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6118a7816118d0565b50565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561199b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001807f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206181526020017f646472657373000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16602160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380602160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10611a945780548555611ad1565b82800160010185558215611ad157600052602060002091601f016020900482015b82811115611ad0578254825591600101919060010190611ab5565b5b509050611ade9190611b8e565b5090565b815481835581811115611b0957818360005260206000209182019101611b089190611bb3565b5b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10611b4f57805160ff1916838001178555611b7d565b82800160010185558215611b7d579182015b82811115611b7c578251825591602001919060010190611b61565b5b509050611b8a9190611b8e565b5090565b611bb091905b80821115611bac576000816000905550600101611b94565b5090565b90565b611bdc91905b80821115611bd85760008181611bcf9190611bdf565b50600101611bb9565b5090565b90565b50805460018160011615610100020316600290046000825580601f10611c055750611c24565b601f016020900490600052602060002090810190611c239190611b8e565b5b5056fea165627a7a72305820908a2a4ac84875fe228c6d98c8941cb091560a5cd5e5461a7942b7d2e1c4ba600029
Deployed Bytecode
0x6080604052600436106100db576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680631d73cf34146102dd57806326a6860a146103465780634bde38c8146103fa57806358616aa014610451578063614555671461047c5780636b34d72514610577578063715018a6146105a657806372856d82146105bd5780638da5cb5b146106145780638f32d59b1461066b578063a0a2daf01461069a578063aebc082414610734578063e5a999911461075f578063f2fde38b146107c8578063f9f7ad6214610819575b60007c0100000000000000000000000000000000000000000000000000000000027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166000357fffffffff00000000000000000000000000000000000000000000000000000000167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614801561016d575060003414155b15610177576102db565b600080600080357fffffffff00000000000000000000000000000000000000000000000000000000167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156102b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f46756e6374696f6e20646f6573206e6f742065786973742e000000000000000081525060200191505060405180910390fd5b60405136600082376000803683855af43d806000843e81600081146102d7578184f35b8184fd5b005b3480156102e957600080fd5b5061032c6004803603602081101561030057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610870565b604051808215151515815260200191505060405180910390f35b34801561035257600080fd5b5061037f6004803603602081101561036957600080fd5b8101908080359060200190929190505050610890565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156103bf5780820151818401526020810190506103a4565b50505050905090810190601f1680156103ec5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561040657600080fd5b5061040f61094b565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561045d57600080fd5b50610466610971565b6040518082815260200191505060405180910390f35b34801561048857600080fd5b506105756004803603606081101561049f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001906401000000008111156104dc57600080fd5b8201836020820111156104ee57600080fd5b8035906020019184600183028401116401000000008311171561051057600080fd5b90919293919293908035906020019064010000000081111561053157600080fd5b82018360208201111561054357600080fd5b8035906020019184600183028401116401000000008311171561056557600080fd5b9091929391929390505050610977565b005b34801561058357600080fd5b5061058c6115d1565b604051808215151515815260200191505060405180910390f35b3480156105b257600080fd5b506105bb6115e4565b005b3480156105c957600080fd5b506105d2611721565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561062057600080fd5b50610629611747565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561067757600080fd5b50610680611771565b604051808215151515815260200191505060405180910390f35b3480156106a657600080fd5b506106f2600480360360208110156106bd57600080fd5b8101908080357bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191690602001909291905050506117c9565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561074057600080fd5b506107496117fc565b6040518082815260200191505060405180910390f35b34801561076b57600080fd5b506107ae6004803603602081101561078257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611802565b604051808215151515815260200191505060405180910390f35b3480156107d457600080fd5b50610817600480360360208110156107eb57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611822565b005b34801561082557600080fd5b5061082e6118aa565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b60116020528060005260406000206000915054906101000a900460ff1681565b60018181548110151561089f57fe5b906000526020600020016000915090508054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156109435780601f1061091857610100808354040283529160200191610943565b820191906000526020600020905b81548152906001019060200180831161092657829003601f168201915b505050505081565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601d5481565b61097f611771565b15156109f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b60008073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16141515610acd57853b9050600081111515610acc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260398152602001807f5f64656c65676174652061646472657373206973206e6f74206120636f6e747281526020017f61637420616e64206973206e6f7420616464726573732830290000000000000081525060400191505060405180910390fd5b5b606085858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505090506000806020830193508390508251840191506000806000806000805b878a101561155d57895160001a925060298314156115505789806001019a5050868a03935089965083895288805190602001209550600080877bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169450600073ffffffffffffffffffffffffffffffffffffffff168f73ffffffffffffffffffffffffffffffffffffffff161415610fde576002896040518082805190602001908083835b602083101515610c475780518252602082019150602081019050602083039250610c22565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902054915060008214151515610cf6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f46756e6374696f6e20646f6573206e6f742065786973742e000000000000000081525060200191505060405180910390fd5b818060019003925050600180805490500390508082141515610df657600181815481101515610d2157fe5b90600052602060002001600183815481101515610d3a57fe5b906000526020600020019080546001816001161561010002031660029004610d63929190611a5b565b50600182016002600183815481101515610d7957fe5b906000526020600020016040518082805460018160011615610100020316600290048015610dde5780601f10610dbc576101008083540402835291820191610dde565b820191906000526020600020905b815481529060010190602001808311610dca575b50509150509081526020016040518091039020819055505b6001805480919060019003610e0b9190611ae2565b506002896040518082805190602001908083835b602083101515610e445780518252602082019150602081019050602083039250610e1f565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009055600080877bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16877bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3234040ce3bd4564874e44810f198910133a1b24c4e84aac87edbf6b458f53538c6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610f9f578082015181840152602081019050610f84565b50505050905090810190601f168015610fcc5780820380516001836020036101000a031916815260200191505b509250505060405180910390a461154a565b600060028a6040518082805190602001908083835b6020831015156110185780518252602082019150602081019050602083039250610ff3565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902054141561132957600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161415156110f6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600d8152602001807f46756e63496420636c6173682e0000000000000000000000000000000000000081525060200191505060405180910390fd5b8e600080887bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060018990806001815401808255809150509060018203906000526020600020016000909192909190915090805190602001906111c2929190611b0e565b505060018054905060028a6040518082805190602001908083835b60208310151561120257805182526020820191506020810190506020830392506111dd565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020819055508e73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff16877bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3234040ce3bd4564874e44810f198910133a1b24c4e84aac87edbf6b458f53538c6040518080602001828103825283818151815260200191508051906020019080838360005b838110156112ea5780820151818401526020810190506112cf565b50505050905090810190601f1680156113175780820380516001836020036101000a031916815260200191505b509250505060405180910390a4611549565b8e73ffffffffffffffffffffffffffffffffffffffff16600080887bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515611548578e600080887bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508e73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16877bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3234040ce3bd4564874e44810f198910133a1b24c4e84aac87edbf6b458f53538c6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561150d5780820151818401526020810190506114f2565b50505050905090810190601f16801561153a5780820380516001836020036101000a031916815260200191505b509250505060405180910390a45b5b5b83890198505b89806001019a5050610b32565b7faa1c0a0a78cec2470f9652e5d29540752e7a64d70f926933cebf13afaeda45de8c8c60405180806020018281038252848482818152602001925080828437600081840152601f19601f820116905080830192505050935050505060405180910390a1505050505050505050505050505050565b601c60009054906101000a900460ff1681565b6115ec611771565b1515611660576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16602160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000602160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000602160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000602160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614905090565b60006020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60185481565b600c6020528060005260406000206000915054906101000a900460ff1681565b61182a611771565b151561189e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6118a7816118d0565b50565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561199b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001807f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206181526020017f646472657373000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16602160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380602160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10611a945780548555611ad1565b82800160010185558215611ad157600052602060002091601f016020900482015b82811115611ad0578254825591600101919060010190611ab5565b5b509050611ade9190611b8e565b5090565b815481835581811115611b0957818360005260206000209182019101611b089190611bb3565b5b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10611b4f57805160ff1916838001178555611b7d565b82800160010185558215611b7d579182015b82811115611b7c578251825591602001919060010190611b61565b5b509050611b8a9190611b8e565b5090565b611bb091905b80821115611bac576000816000905550600101611b94565b5090565b90565b611bdc91905b80821115611bd85760008181611bcf9190611bdf565b50600101611bb9565b5090565b90565b50805460018160011615610100020316600290046000825580601f10611c055750611c24565b601f016020900490600052602060002090810190611c239190611b8e565b5b5056fea165627a7a72305820908a2a4ac84875fe228c6d98c8941cb091560a5cd5e5461a7942b7d2e1c4ba600029
Deployed Bytecode Sourcemap
20419:6112:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21226:1;21219:9;;21208:20;;;:7;;;;:20;;;;:44;;;;;21250:1;21232:9;:20;;21208:44;21204:127;;;21313:7;;21204:127;21341:16;21360:9;:18;21370:7;;;;21360:18;;;;;;;;;;;;;;;;;;;;;;;;;;;21341:37;;21417:1;21397:22;;:8;:22;;;;21389:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21500:4;21494:11;21540:12;21537:1;21532:3;21519:34;21631:1;21628;21614:12;21609:3;21599:8;21594:3;21581:52;21659:14;21710:4;21707:1;21702:3;21687:28;21736:6;21761:1;21756:26;;;;21818:4;21813:3;21805:18;21756:26;21776:4;21771:3;21764:17;21468:367;20419:6112;16157:43;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16157:43:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;16157:43:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3194:29;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3194:29:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3194:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;3194:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15405:31;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15405:31:0;;;;;;;;;;;;;;;;;;;;;;;;;;;16885:24;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16885:24:0;;;;;;;;;;;;;;;;;;;;;;;22630:3793;;8:9:-1;5:2;;;30:1;27;20:12;5:2;22630:3793:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;22630:3793:0;;;;;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;22630:3793:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;22630:3793:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;22630:3793:0;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;22630:3793:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;22630:3793:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;22630:3793:0;;;;;;;;;;;;;;;16852:28;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16852:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;19073:140;;8:9:-1;5:2;;;30:1;27;20:12;5:2;19073:140:0;;;;;;16331:40;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16331:40:0;;;;;;;;;;;;;;;;;;;;;;;;;;;18262:79;;8:9:-1;5:2;;;30:1;27;20:12;5:2;18262:79:0;;;;;;;;;;;;;;;;;;;;;;;;;;;18628:92;;8:9:-1;5:2;;;30:1;27;20:12;5:2;18628:92:0;;;;;;;;;;;;;;;;;;;;;;;;;;;3078:43;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3078:43:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3078:43:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16682:28;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16682:28:0;;;;;;;;;;;;;;;;;;;;;;;15357:43;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15357:43:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;15357:43:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19368:109;;8:9:-1;5:2;;;30:1;27;20:12;5:2;19368:109:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;19368:109:0;;;;;;;;;;;;;;;;;;;;;;15441:34;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15441:34:0;;;;;;;;;;;;;;;;;;;;;;;;;;;16157:43;;;;;;;;;;;;;;;;;;;;;;:::o;3194:29::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;15405:31::-;;;;;;;;;;;;;:::o;16885:24::-;;;;:::o;22630:3793::-;18474:9;:7;:9::i;:::-;18466:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23005:11;23051:1;23030:23;;:9;:23;;;;23027:218;;;23117:9;23105:22;23098:29;;23170:1;23164:3;:7;23156:77;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23027:218;23316:23;23348:19;;23316:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;23316:52:0;;;;;;;;23453:21;23573:13;23643:2;23632:10;23628:18;23621:25;;23669:3;23660:12;;23717:10;23711:17;23707:3;23703:26;23686:43;;23812:13;23928:19;24038:11;24117:12;24227:13;24309:17;24411:1960;24424:13;24418:3;:19;24411:1960;;;24492:3;24486:10;24484:1;24479:18;24471:26;;24550:4;24542;:12;24538:1822;;;24575:5;;;;;;;24612;24606:3;:11;24599:19;;24645:3;24637:11;;24717:3;24706:10;24699:22;24784:10;24774:21;;;;;;24758:38;;24829:9;:17;24839:6;24829:17;;;;;;;;;;;;;;;;;;;;;;;;;;;24815:31;;24889:1;24868:23;;:9;:23;;;24865:1418;;;24924:20;24945:10;24924:32;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;24924:32:0;;;;;;;;;;;;;;;;;;;;;;24916:40;;24996:1;24987:5;:10;;24979:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;25049:7;;;;;;;;25115:1;25091:14;:21;;;;:25;25079:37;;25152:9;25143:5;:18;;25139:210;;;25214:14;25229:9;25214:25;;;;;;;;;;;;;;;;;25190:14;25205:5;25190:21;;;;;;;;;;;;;;;;;:49;;;;;;;;;;;;;;;;;;;;:::i;:::-;;25324:1;25316:5;:9;25266:20;25287:14;25302:9;25287:25;;;;;;;;;;;;;;;;;25266:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:59;;;;25139:210;25371:14;:23;;;;;;;;;;;;:::i;:::-;;25424:20;25445:10;25424:32;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;25424:32:0;;;;;;;;;;;;;;;;;;;;;25417:39;;;25486:9;:17;25496:6;25486:17;;;;;;;;;;;;;;;;;;25479:24;;;;;;;;;;;25575:1;25531:67;;25554:11;25531:67;;25546:6;25531:67;;;;25586:10;25531:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;25531:67:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24865:1418;;;25681:1;25645:20;25666:10;25645:32;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;25645:32:0;;;;;;;;;;;;;;;;;;;;;;:37;25641:642;;;25738:1;25715:25;;:11;:25;;;25707:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;25801:9;25781;:17;25791:6;25781:17;;;;;;;;;;;;;;;;;;:29;;;;;;;;;;;;;;;;;;25833:14;25853:10;25833:31;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;25833:31:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;25922:14;:21;;;;25887:20;25908:10;25887:32;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;25887:32:0;;;;;;;;;;;;;;;;;;;;;:56;;;;26006:9;25971:65;;26002:1;25971:65;;25986:6;25971:65;;;;26024:10;25971:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;25971:65:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;25641:642;;;26104:9;26083:30;;:9;:17;26093:6;26083:17;;;;;;;;;;;;;;;;;;;;;;;;;;;:30;;;;26079:204;;;26158:9;26138;:17;26148:6;26138:17;;;;;;;;;;;;;;;;;;:29;;;;;;;;;;;;;;;;;;26231:9;26195:66;;26218:11;26195:66;;26210:6;26195:66;;;;26249:10;26195:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;26195:66:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26079:204;25641:642;24865:1418;26340:3;26329:10;26325:19;26311:33;;26310:35;24439:5;;;;;;;24411:1960;;;26386:29;26400:14;;26386:29;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;26386:29:0;;;;;;;;;;;;;;18531:1;;;;;;;;;;22630:3793;;;;;:::o;16852:28::-;;;;;;;;;;;;;:::o;19073:140::-;18474:9;:7;:9::i;:::-;18466:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19172:1;19135:40;;19156:6;;;;;;;;;;;19135:40;;;;;;;;;;;;19203:1;19186:6;;:19;;;;;;;;;;;;;;;;;;19073:140::o;16331:40::-;;;;;;;;;;;;;:::o;18262:79::-;18300:7;18327:6;;;;;;;;;;;18320:13;;18262:79;:::o;18628:92::-;18668:4;18706:6;;;;;;;;;;;18692:20;;:10;:20;;;18685:27;;18628:92;:::o;3078:43::-;;;;;;;;;;;;;;;;;;;;;;:::o;16682:28::-;;;;:::o;15357:43::-;;;;;;;;;;;;;;;;;;;;;;:::o;19368:109::-;18474:9;:7;:9::i;:::-;18466:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19441:28;19460:8;19441:18;:28::i;:::-;19368:109;:::o;15441:34::-;;;;;;;;;;;;;:::o;19583:229::-;19677:1;19657:22;;:8;:22;;;;19649:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19767:8;19738:38;;19759:6;;;;;;;;;;;19738:38;;;;;;;;;;;;19796:8;19787:6;;:17;;;;;;;;;;;;;;;;;;19583:229;:::o;20419:6112::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o
Swarm Source
bzzr://908a2a4ac84875fe228c6d98c8941cb091560a5cd5e5461a7942b7d2e1c4ba60
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 26 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|---|---|---|---|---|
ETH | 100.00% | $3,482.26 | 0.021 | $73.13 |
Loading...
Loading
[ 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.