Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 8 from a total of 8 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Set Token Attrib... | 7913319 | 2073 days ago | IN | 0 ETH | 0.00048186 | ||||
Set Token Attrib... | 7913287 | 2073 days ago | IN | 0 ETH | 0.0005416 | ||||
Set Token Attrib... | 7913285 | 2073 days ago | IN | 0 ETH | 0.0005416 | ||||
Set Token Attrib... | 7913285 | 2073 days ago | IN | 0 ETH | 0.00027054 | ||||
Set Token Attrib... | 7913282 | 2073 days ago | IN | 0 ETH | 0.00020329 | ||||
Set Token Attrib... | 7913282 | 2073 days ago | IN | 0 ETH | 0.0002029 | ||||
Transfer Ownersh... | 7901037 | 2075 days ago | IN | 0 ETH | 0.0001221 | ||||
Transfer Ownersh... | 7901004 | 2075 days ago | IN | 0 ETH | 0.0001221 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
TokenRegistry
Compiler Version
v0.4.18+commit.9cf6e910
Optimization Enabled:
No with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2019-06-05 */ pragma solidity 0.4.18; // File: zeppelin-solidity/contracts/ownership/Ownable.sol /** * @title Ownable * @dev The Ownable contract has an owner address, and provides basic authorization control * functions, this simplifies the implementation of "user permissions". */ contract Ownable { address public owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev The Ownable constructor sets the original `owner` of the contract to the sender * account. */ function Ownable() public { owner = msg.sender; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(msg.sender == owner); _; } /** * @dev Allows the current owner to transfer control of the contract to a newOwner. * @param newOwner The address to transfer ownership to. */ function transferOwnership(address newOwner) public onlyOwner { require(newOwner != address(0)); OwnershipTransferred(owner, newOwner); owner = newOwner; } } // File: contracts/TokenRegistry.sol /** * The TokenRegistry is a basic registry mapping token symbols * to their known, deployed addresses on the current blockchain. * * Note that the TokenRegistry does *not* mediate any of the * core protocol's business logic, but, rather, is a helpful * utility for Terms Contracts to use in encoding, decoding, and * resolving the addresses of currently deployed tokens. * * At this point in time, administration of the Token Registry is * under Dharma Labs' control. With more sophisticated decentralized * governance mechanisms, we intend to shift ownership of this utility * contract to the Dharma community. */ contract TokenRegistry is Ownable { mapping (bytes32 => TokenAttributes) public symbolHashToTokenAttributes; string[256] public tokenSymbolList; uint8 public tokenSymbolListLength; struct TokenAttributes { // The ERC20 contract address. address tokenAddress; // The index in `tokenSymbolList` where the token's symbol can be found. uint tokenIndex; // The name of the given token, e.g. "Canonical Wrapped Ether" string name; // The number of digits that come after the decimal place when displaying token value. uint8 numDecimals; } /** * Maps the given symbol to the given token attributes. */ function setTokenAttributes( string _symbol, address _tokenAddress, string _tokenName, uint8 _numDecimals ) public onlyOwner { bytes32 symbolHash = keccak256(_symbol); // Attempt to retrieve the token's attributes from the registry. TokenAttributes memory attributes = symbolHashToTokenAttributes[symbolHash]; if (attributes.tokenAddress == address(0)) { // The token has not yet been added to the registry. attributes.tokenAddress = _tokenAddress; attributes.numDecimals = _numDecimals; attributes.name = _tokenName; attributes.tokenIndex = tokenSymbolListLength; tokenSymbolList[tokenSymbolListLength] = _symbol; tokenSymbolListLength++; } else { // The token has already been added to the registry; update attributes. attributes.tokenAddress = _tokenAddress; attributes.numDecimals = _numDecimals; attributes.name = _tokenName; } // Update this contract's storage. symbolHashToTokenAttributes[symbolHash] = attributes; } /** * Given a symbol, resolves the current address of the token the symbol is mapped to. */ function getTokenAddressBySymbol(string _symbol) public view returns (address) { bytes32 symbolHash = keccak256(_symbol); TokenAttributes storage attributes = symbolHashToTokenAttributes[symbolHash]; return attributes.tokenAddress; } /** * Given the known index of a token within the registry's symbol list, * returns the address of the token mapped to the symbol at that index. * * This is a useful utility for compactly encoding the address of a token into a * TermsContractParameters string -- by encoding a token by its index in a * a 256 slot array, we can represent a token by a 1 byte uint instead of a 20 byte address. */ function getTokenAddressByIndex(uint _index) public view returns (address) { string storage symbol = tokenSymbolList[_index]; return getTokenAddressBySymbol(symbol); } /** * Given a symbol, resolves the index of the token the symbol is mapped to within the registry's * symbol list. */ function getTokenIndexBySymbol(string _symbol) public view returns (uint) { bytes32 symbolHash = keccak256(_symbol); TokenAttributes storage attributes = symbolHashToTokenAttributes[symbolHash]; return attributes.tokenIndex; } /** * Given an index, resolves the symbol of the token at that index in the registry's * token symbol list. */ function getTokenSymbolByIndex(uint _index) public view returns (string) { return tokenSymbolList[_index]; } /** * Given a symbol, returns the name of the token the symbol is mapped to within the registry's * symbol list. */ function getTokenNameBySymbol(string _symbol) public view returns (string) { bytes32 symbolHash = keccak256(_symbol); TokenAttributes storage attributes = symbolHashToTokenAttributes[symbolHash]; return attributes.name; } /** * Given the symbol for a token, returns the number of decimals as provided in * the associated TokensAttribute struct. * * Example: * getNumDecimalsFromSymbol("REP"); * => 18 */ function getNumDecimalsFromSymbol(string _symbol) public view returns (uint8) { bytes32 symbolHash = keccak256(_symbol); TokenAttributes storage attributes = symbolHashToTokenAttributes[symbolHash]; return attributes.numDecimals; } /** * Given the index for a token in the registry, returns the number of decimals as provided in * the associated TokensAttribute struct. * * Example: * getNumDecimalsByIndex(1); * => 18 */ function getNumDecimalsByIndex(uint _index) public view returns (uint8) { string memory symbol = getTokenSymbolByIndex(_index); return getNumDecimalsFromSymbol(symbol); } /** * Given the index for a token in the registry, returns the name of the token as provided in * the associated TokensAttribute struct. * * Example: * getTokenNameByIndex(1); * => "Canonical Wrapped Ether" */ function getTokenNameByIndex(uint _index) public view returns (string) { string memory symbol = getTokenSymbolByIndex(_index); string memory tokenName = getTokenNameBySymbol(symbol); return tokenName; } /** * Given the symbol for a token in the registry, returns a tuple containing the token's address, * the token's index in the registry, the token's name, and the number of decimals. * * Example: * getTokenAttributesBySymbol("WETH"); * => ["0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", 1, "Canonical Wrapped Ether", 18] */ function getTokenAttributesBySymbol(string _symbol) public view returns ( address, uint, string, uint ) { bytes32 symbolHash = keccak256(_symbol); TokenAttributes storage attributes = symbolHashToTokenAttributes[symbolHash]; return ( attributes.tokenAddress, attributes.tokenIndex, attributes.name, attributes.numDecimals ); } /** * Given the index for a token in the registry, returns a tuple containing the token's address, * the token's symbol, the token's name, and the number of decimals. * * Example: * getTokenAttributesByIndex(1); * => ["0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", "WETH", "Canonical Wrapped Ether", 18] */ function getTokenAttributesByIndex(uint _index) public view returns ( address, string, string, uint8 ) { string memory symbol = getTokenSymbolByIndex(_index); bytes32 symbolHash = keccak256(symbol); TokenAttributes storage attributes = symbolHashToTokenAttributes[symbolHash]; return ( attributes.tokenAddress, symbol, attributes.name, attributes.numDecimals ); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":true,"inputs":[{"name":"_index","type":"uint256"}],"name":"getTokenAttributesByIndex","outputs":[{"name":"","type":"address"},{"name":"","type":"string"},{"name":"","type":"string"},{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_symbol","type":"string"}],"name":"getTokenIndexBySymbol","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_symbol","type":"string"}],"name":"getTokenAddressBySymbol","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"bytes32"}],"name":"symbolHashToTokenAttributes","outputs":[{"name":"tokenAddress","type":"address"},{"name":"tokenIndex","type":"uint256"},{"name":"name","type":"string"},{"name":"numDecimals","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_symbol","type":"string"},{"name":"_tokenAddress","type":"address"},{"name":"_tokenName","type":"string"},{"name":"_numDecimals","type":"uint8"}],"name":"setTokenAttributes","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_index","type":"uint256"}],"name":"getTokenAddressByIndex","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_index","type":"uint256"}],"name":"getTokenSymbolByIndex","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_symbol","type":"string"}],"name":"getTokenAttributesBySymbol","outputs":[{"name":"","type":"address"},{"name":"","type":"uint256"},{"name":"","type":"string"},{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_symbol","type":"string"}],"name":"getNumDecimalsFromSymbol","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_index","type":"uint256"}],"name":"getNumDecimalsByIndex","outputs":[{"name":"","type":"uint8"}],"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":"","type":"uint256"}],"name":"tokenSymbolList","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_symbol","type":"string"}],"name":"getTokenNameBySymbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"tokenSymbolListLength","outputs":[{"name":"","type":"uint8"}],"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":"_index","type":"uint256"}],"name":"getTokenNameByIndex","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"}]
Contract Creation Code
6060604052336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611b4a806100536000396000f3006060604052600436106100e6576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680631e71f8d1146100eb5780632e1e1bb3146102335780633550b6d9146102a45780633dbe284a1461034157806351d658d2146104455780635715c5b7146105105780636e7cbb0d146105735780638052348b1461060f57806380ec85871461072657806382f694301461079d5780638da5cb5b146107da57806395f121bf1461082f578063bd7b564d146108cb578063c51ccb40146109a1578063f2fde38b146109d0578063fa7f369714610a09575b600080fd5b34156100f657600080fd5b61010c6004808035906020019091905050610aa5565b604051808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001806020018460ff1660ff168152602001838103835286818151815260200191508051906020019080838360005b8381101561018e578082015181840152602081019050610173565b50505050905090810190601f1680156101bb5780820380516001836020036101000a031916815260200191505b50838103825285818151815260200191508051906020019080838360005b838110156101f45780820151818401526020810190506101d9565b50505050905090810190601f1680156102215780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390f35b341561023e57600080fd5b61028e600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610c3b565b6040518082815260200191505060405180910390f35b34156102af57600080fd5b6102ff600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610cd0565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561034c57600080fd5b610366600480803560001916906020019091905050610d85565b604051808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001848152602001806020018360ff1660ff1681526020018281038252848181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156104335780601f1061040857610100808354040283529160200191610433565b820191906000526020600020905b81548152906001019060200180831161041657829003601f168201915b50509550505050505060405180910390f35b341561045057600080fd5b61050e600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803560ff16906020019091905050610de1565b005b341561051b57600080fd5b6105316004808035906020019091905050611217565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561057e57600080fd5b61059460048080359060200190919050506112d7565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156105d45780820151818401526020810190506105b9565b50505050905090810190601f1680156106015780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561061a57600080fd5b61066a600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050611390565b604051808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200184815260200180602001838152602001828103825284818151815260200191508051906020019080838360005b838110156106e85780820151818401526020810190506106cd565b50505050905090810190601f1680156107155780820380516001836020036101000a031916815260200191505b509550505050505060405180910390f35b341561073157600080fd5b610781600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050611515565b604051808260ff1660ff16815260200191505060405180910390f35b34156107a857600080fd5b6107be60048080359060200190919050506115b7565b604051808260ff1660ff16815260200191505060405180910390f35b34156107e557600080fd5b6107ed6115dd565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561083a57600080fd5b6108506004808035906020019091905050611602565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610890578082015181840152602081019050610875565b50505050905090810190601f1680156108bd5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156108d657600080fd5b610926600480803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919050506116b5565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561096657808201518184015260208101905061094b565b50505050905090810190601f1680156109935780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156109ac57600080fd5b6109b46117e8565b604051808260ff1660ff16815260200191505060405180910390f35b34156109db57600080fd5b610a07600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506117fc565b005b3415610a1457600080fd5b610a2a6004808035906020019091905050611951565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610a6a578082015181840152602081019050610a4f565b50505050905090810190601f168015610a975780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6000610aaf611989565b610ab7611989565b6000610ac1611989565b600080610acd886112d7565b9250826040518082805190602001908083835b602083101515610b055780518252602082019150602081019050602083039250610ae0565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020915060016000836000191660001916815260200190815260200160002090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683826002018360030160009054906101000a900460ff16818054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610c225780601f10610bf757610100808354040283529160200191610c22565b820191906000526020600020905b815481529060010190602001808311610c0557829003601f168201915b5050505050915096509650965096505050509193509193565b6000806000836040518082805190602001908083835b602083101515610c765780518252602082019150602081019050602083039250610c51565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902091506001600083600019166000191681526020019081526020016000209050806001015492505050919050565b6000806000836040518082805190602001908083835b602083101515610d0b5780518252602082019150602081019050602083039250610ce6565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020915060016000836000191660001916815260200190815260200160002090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1692505050919050565b60016020528060005260406000206000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169080600101549080600201908060030160009054906101000a900460ff16905084565b6000610deb61199d565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610e4657600080fd5b856040518082805190602001908083835b602083101515610e7c5780518252602082019150602081019050602083039250610e57565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209150600160008360001916600019168152602001908152602001600020608060405190810160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200160018201548152602001600282018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610fcb5780601f10610fa057610100808354040283529160200191610fcb565b820191906000526020600020905b815481529060010190602001808311610fae57829003601f168201915b505050505081526020016003820160009054906101000a900460ff1660ff1660ff16815250509050600073ffffffffffffffffffffffffffffffffffffffff16816000015173ffffffffffffffffffffffffffffffffffffffff16141561110d5784816000019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505082816060019060ff16908160ff168152505083816040018190525061010260009054906101000a900460ff1660ff1681602001818152505085600261010260009054906101000a900460ff1660ff16610100811015156110c057fe5b0190805190602001906110d49291906119e5565b50610102600081819054906101000a900460ff168092919060010191906101000a81548160ff021916908360ff16021790555050611161565b84816000019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505082816060019060ff16908160ff16815250508381604001819052505b8060016000846000191660001916815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506020820151816001015560408201518160020190805190602001906111ea929190611a65565b5060608201518160030160006101000a81548160ff021916908360ff160217905550905050505050505050565b6000806002836101008110151561122a57fe5b0190506112cf818054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156112c55780601f1061129a576101008083540402835291602001916112c5565b820191906000526020600020905b8154815290600101906020018083116112a857829003601f168201915b5050505050610cd0565b915050919050565b6112df611989565b600282610100811015156112ef57fe5b018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156113845780601f1061135957610100808354040283529160200191611384565b820191906000526020600020905b81548152906001019060200180831161136757829003601f168201915b50505050509050919050565b60008061139b611989565b6000806000866040518082805190602001908083835b6020831015156113d657805182526020820191506020810190506020830392506113b1565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020915060016000836000191660001916815260200190815260200160002090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168160010154826002018360030160009054906101000a900460ff16818054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156114f75780601f106114cc576101008083540402835291602001916114f7565b820191906000526020600020905b8154815290600101906020018083116114da57829003601f168201915b505050505091508060ff169050955095509550955050509193509193565b6000806000836040518082805190602001908083835b602083101515611550578051825260208201915060208101905060208303925061152b565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020915060016000836000191660001916815260200190815260200160002090508060030160009054906101000a900460ff1692505050919050565b60006115c1611989565b6115ca836112d7565b90506115d581611515565b915050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6002816101008110151561161257fe5b016000915090508054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156116ad5780601f10611682576101008083540402835291602001916116ad565b820191906000526020600020905b81548152906001019060200180831161169057829003601f168201915b505050505081565b6116bd611989565b600080836040518082805190602001908083835b6020831015156116f657805182526020820191506020810190506020830392506116d1565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902091506001600083600019166000191681526020019081526020016000209050806002018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156117da5780601f106117af576101008083540402835291602001916117da565b820191906000526020600020905b8154815290600101906020018083116117bd57829003601f168201915b505050505092505050919050565b61010260009054906101000a900460ff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561185757600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561189357600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b611959611989565b611961611989565b611969611989565b611972846112d7565b915061197d826116b5565b90508092505050919050565b602060405190810160405280600081525090565b608060405190810160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600081526020016119d5611ae5565b8152602001600060ff1681525090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10611a2657805160ff1916838001178555611a54565b82800160010185558215611a54579182015b82811115611a53578251825591602001919060010190611a38565b5b509050611a619190611af9565b5090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10611aa657805160ff1916838001178555611ad4565b82800160010185558215611ad4579182015b82811115611ad3578251825591602001919060010190611ab8565b5b509050611ae19190611af9565b5090565b602060405190810160405280600081525090565b611b1b91905b80821115611b17576000816000905550600101611aff565b5090565b905600a165627a7a723058202b9d0442ac8b04b395bca071b37ca00b33452ff0a55ca30ee935ffb21367779a0029
Deployed Bytecode
0x6060604052600436106100e6576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680631e71f8d1146100eb5780632e1e1bb3146102335780633550b6d9146102a45780633dbe284a1461034157806351d658d2146104455780635715c5b7146105105780636e7cbb0d146105735780638052348b1461060f57806380ec85871461072657806382f694301461079d5780638da5cb5b146107da57806395f121bf1461082f578063bd7b564d146108cb578063c51ccb40146109a1578063f2fde38b146109d0578063fa7f369714610a09575b600080fd5b34156100f657600080fd5b61010c6004808035906020019091905050610aa5565b604051808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001806020018460ff1660ff168152602001838103835286818151815260200191508051906020019080838360005b8381101561018e578082015181840152602081019050610173565b50505050905090810190601f1680156101bb5780820380516001836020036101000a031916815260200191505b50838103825285818151815260200191508051906020019080838360005b838110156101f45780820151818401526020810190506101d9565b50505050905090810190601f1680156102215780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390f35b341561023e57600080fd5b61028e600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610c3b565b6040518082815260200191505060405180910390f35b34156102af57600080fd5b6102ff600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610cd0565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561034c57600080fd5b610366600480803560001916906020019091905050610d85565b604051808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001848152602001806020018360ff1660ff1681526020018281038252848181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156104335780601f1061040857610100808354040283529160200191610433565b820191906000526020600020905b81548152906001019060200180831161041657829003601f168201915b50509550505050505060405180910390f35b341561045057600080fd5b61050e600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803560ff16906020019091905050610de1565b005b341561051b57600080fd5b6105316004808035906020019091905050611217565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561057e57600080fd5b61059460048080359060200190919050506112d7565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156105d45780820151818401526020810190506105b9565b50505050905090810190601f1680156106015780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561061a57600080fd5b61066a600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050611390565b604051808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200184815260200180602001838152602001828103825284818151815260200191508051906020019080838360005b838110156106e85780820151818401526020810190506106cd565b50505050905090810190601f1680156107155780820380516001836020036101000a031916815260200191505b509550505050505060405180910390f35b341561073157600080fd5b610781600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050611515565b604051808260ff1660ff16815260200191505060405180910390f35b34156107a857600080fd5b6107be60048080359060200190919050506115b7565b604051808260ff1660ff16815260200191505060405180910390f35b34156107e557600080fd5b6107ed6115dd565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561083a57600080fd5b6108506004808035906020019091905050611602565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610890578082015181840152602081019050610875565b50505050905090810190601f1680156108bd5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156108d657600080fd5b610926600480803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919050506116b5565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561096657808201518184015260208101905061094b565b50505050905090810190601f1680156109935780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156109ac57600080fd5b6109b46117e8565b604051808260ff1660ff16815260200191505060405180910390f35b34156109db57600080fd5b610a07600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506117fc565b005b3415610a1457600080fd5b610a2a6004808035906020019091905050611951565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610a6a578082015181840152602081019050610a4f565b50505050905090810190601f168015610a975780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6000610aaf611989565b610ab7611989565b6000610ac1611989565b600080610acd886112d7565b9250826040518082805190602001908083835b602083101515610b055780518252602082019150602081019050602083039250610ae0565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020915060016000836000191660001916815260200190815260200160002090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683826002018360030160009054906101000a900460ff16818054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610c225780601f10610bf757610100808354040283529160200191610c22565b820191906000526020600020905b815481529060010190602001808311610c0557829003601f168201915b5050505050915096509650965096505050509193509193565b6000806000836040518082805190602001908083835b602083101515610c765780518252602082019150602081019050602083039250610c51565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902091506001600083600019166000191681526020019081526020016000209050806001015492505050919050565b6000806000836040518082805190602001908083835b602083101515610d0b5780518252602082019150602081019050602083039250610ce6565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020915060016000836000191660001916815260200190815260200160002090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1692505050919050565b60016020528060005260406000206000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169080600101549080600201908060030160009054906101000a900460ff16905084565b6000610deb61199d565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610e4657600080fd5b856040518082805190602001908083835b602083101515610e7c5780518252602082019150602081019050602083039250610e57565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209150600160008360001916600019168152602001908152602001600020608060405190810160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200160018201548152602001600282018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610fcb5780601f10610fa057610100808354040283529160200191610fcb565b820191906000526020600020905b815481529060010190602001808311610fae57829003601f168201915b505050505081526020016003820160009054906101000a900460ff1660ff1660ff16815250509050600073ffffffffffffffffffffffffffffffffffffffff16816000015173ffffffffffffffffffffffffffffffffffffffff16141561110d5784816000019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505082816060019060ff16908160ff168152505083816040018190525061010260009054906101000a900460ff1660ff1681602001818152505085600261010260009054906101000a900460ff1660ff16610100811015156110c057fe5b0190805190602001906110d49291906119e5565b50610102600081819054906101000a900460ff168092919060010191906101000a81548160ff021916908360ff16021790555050611161565b84816000019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505082816060019060ff16908160ff16815250508381604001819052505b8060016000846000191660001916815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506020820151816001015560408201518160020190805190602001906111ea929190611a65565b5060608201518160030160006101000a81548160ff021916908360ff160217905550905050505050505050565b6000806002836101008110151561122a57fe5b0190506112cf818054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156112c55780601f1061129a576101008083540402835291602001916112c5565b820191906000526020600020905b8154815290600101906020018083116112a857829003601f168201915b5050505050610cd0565b915050919050565b6112df611989565b600282610100811015156112ef57fe5b018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156113845780601f1061135957610100808354040283529160200191611384565b820191906000526020600020905b81548152906001019060200180831161136757829003601f168201915b50505050509050919050565b60008061139b611989565b6000806000866040518082805190602001908083835b6020831015156113d657805182526020820191506020810190506020830392506113b1565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020915060016000836000191660001916815260200190815260200160002090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168160010154826002018360030160009054906101000a900460ff16818054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156114f75780601f106114cc576101008083540402835291602001916114f7565b820191906000526020600020905b8154815290600101906020018083116114da57829003601f168201915b505050505091508060ff169050955095509550955050509193509193565b6000806000836040518082805190602001908083835b602083101515611550578051825260208201915060208101905060208303925061152b565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020915060016000836000191660001916815260200190815260200160002090508060030160009054906101000a900460ff1692505050919050565b60006115c1611989565b6115ca836112d7565b90506115d581611515565b915050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6002816101008110151561161257fe5b016000915090508054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156116ad5780601f10611682576101008083540402835291602001916116ad565b820191906000526020600020905b81548152906001019060200180831161169057829003601f168201915b505050505081565b6116bd611989565b600080836040518082805190602001908083835b6020831015156116f657805182526020820191506020810190506020830392506116d1565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902091506001600083600019166000191681526020019081526020016000209050806002018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156117da5780601f106117af576101008083540402835291602001916117da565b820191906000526020600020905b8154815290600101906020018083116117bd57829003601f168201915b505050505092505050919050565b61010260009054906101000a900460ff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561185757600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561189357600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b611959611989565b611961611989565b611969611989565b611972846112d7565b915061197d826116b5565b90508092505050919050565b602060405190810160405280600081525090565b608060405190810160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600081526020016119d5611ae5565b8152602001600060ff1681525090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10611a2657805160ff1916838001178555611a54565b82800160010185558215611a54579182015b82811115611a53578251825591602001919060010190611a38565b5b509050611a619190611af9565b5090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10611aa657805160ff1916838001178555611ad4565b82800160010185558215611ad4579182015b82811115611ad3578251825591602001919060010190611ab8565b5b509050611ae19190611af9565b5090565b602060405190810160405280600081525090565b611b1b91905b80821115611b17576000816000905550600101611aff565b5090565b905600a165627a7a723058202b9d0442ac8b04b395bca071b37ca00b33452ff0a55ca30ee935ffb21367779a0029
Deployed Bytecode Sourcemap
1792:7321:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8546:564;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:2;8:100;;;99:1;94:3;90;84:5;80:1;75:3;71;64:6;52:2;49:1;45:3;40:15;;8:100;;;12:14;3:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1;8:100;33:3;30:1;27:2;8:100;;;99:1;94:3;90;84:5;80:1;75:3;71;64:6;52:2;49:1;45:3;40:15;;8:100;;;12:14;3:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4894:262:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3833:269;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1833:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2510:1206;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4553:192;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5298:122;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:2;8:100;;;99:1;94:3;90;84:5;80:1;75:3;71;64:6;52:2;49:1;45:3;40:15;;8:100;;;12:14;3:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7665:516:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:2;8:100;;;99:1;94:3;90;84:5;80:1;75:3;71;64:6;52:2;49:1;45:3;40:15;;8:100;;;12:14;3:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6065:267:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6581:195;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;306:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1911:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:2;8:100;;;99:1;94:3;90;84:5;80:1;75:3;71;64:6;52:2;49:1;45:3;40:15;;8:100;;;12:14;3:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5567:257:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:2;8:100;;;99:1;94:3;90;84:5;80:1;75:3;71;64:6;52:2;49:1;45:3;40:15;;8:100;;;12:14;3:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1952:34:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;926:173;;;;;;;;;;;;;;;;;;;;;;;;;;;;7045:238;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:2;8:100;;;99:1;94:3;90;84:5;80:1;75:3;71;64:6;52:2;49:1;45:3;40:15;;8:100;;;12:14;3:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8546:564:0;8656:7;8678:6;;:::i;:::-;8699;;:::i;:::-;8720:5;8753:20;;:::i;:::-;8818:18;8869:34;8776:29;8798:6;8776:21;:29::i;:::-;8753:52;;8849:6;8839:17;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:2;51:6;36:153;;;182:3;176:5;171:3;164:6;98:2;93:3;89;82:19;;123:2;118:3;114;107:19;;148:2;143:3;139;132:19;;36:153;;;274:1;267:3;263:2;259:3;254;250;246;315:4;311:3;305;299:5;295:3;356:4;350:3;344:5;340:3;389:7;380;377:2;372:3;365:6;3:399;;;;;;;;;;;;;;;;;;;8818:38:0;;8906:27;:39;8934:10;8906:39;;;;;;;;;;;;;;;;;8869:76;;8980:10;:23;;;;;;;;;;;;9018:6;9039:10;:15;;9069:10;:22;;;;;;;;;;;;8958:144;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8546:564;;;;;;;;:::o;4894:262::-;4962:4;4979:18;5031:34;5010:7;5000:18;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:2;51:6;36:153;;;182:3;176:5;171:3;164:6;98:2;93:3;89;82:19;;123:2;118:3;114;107:19;;148:2;143:3;139;132:19;;36:153;;;274:1;267:3;263:2;259:3;254;250;246;315:4;311:3;305;299:5;295:3;356:4;350:3;344:5;340:3;389:7;380;377:2;372:3;365:6;3:399;;;;;;;;;;;;;;;;;;;4979:39:0;;5068:27;:39;5096:10;5068:39;;;;;;;;;;;;;;;;;5031:76;;5127:10;:21;;;5120:28;;4894:262;;;;;:::o;3833:269::-;3903:7;3923:18;3975:34;3954:7;3944:18;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:2;51:6;36:153;;;182:3;176:5;171:3;164:6;98:2;93:3;89;82:19;;123:2;118:3;114;107:19;;148:2;143:3;139;132:19;;36:153;;;274:1;267:3;263:2;259:3;254;250;246;315:4;311:3;305;299:5;295:3;356:4;350:3;344:5;340:3;389:7;380;377:2;372:3;365:6;3:399;;;;;;;;;;;;;;;;;;;3923:39:0;;4012:27;:39;4040:10;4012:39;;;;;;;;;;;;;;;;;3975:76;;4071:10;:23;;;;;;;;;;;;4064:30;;3833:269;;;;;:::o;1833:71::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;2510:1206::-;2701:18;2827:33;;:::i;:::-;739:5;;;;;;;;;;;725:19;;:10;:19;;;717:28;;;;;;;;2732:7;2722:18;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:2;51:6;36:153;;;182:3;176:5;171:3;164:6;98:2;93:3;89;82:19;;123:2;118:3;114;107:19;;148:2;143:3;139;132:19;;36:153;;;274:1;267:3;263:2;259:3;254;250;246;315:4;311:3;305;299:5;295:3;356:4;350:3;344:5;340:3;389:7;380;377:2;372:3;365:6;3:399;;;;;;;;;;;;;;;;;;;2701:39:0;;2863:27;:39;2891:10;2863:39;;;;;;;;;;;;;;;;;2827:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2954:1;2919:37;;:10;:23;;;:37;;;2915:685;;;3065:13;3039:10;:23;;:39;;;;;;;;;;;3118:12;3093:10;:22;;:37;;;;;;;;;;;3163:10;3145;:15;;:28;;;;3212:21;;;;;;;;;;;3188:45;;:10;:21;;:45;;;;;3291:7;3250:15;3266:21;;;;;;;;;;;3250:38;;;;;;;;;;;;:48;;;;;;;;;;;;:::i;:::-;;3313:21;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2915:685;;;3480:13;3454:10;:23;;:39;;;;;;;;;;;3533:12;3508:10;:22;;:37;;;;;;;;;;;3578:10;3560;:15;;:28;;;;2915:685;3698:10;3656:27;:39;3684:10;3656:39;;;;;;;;;;;;;;;;;:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2510:1206;;;;;;:::o;4553:192::-;4619:7;4639:21;4663:15;4679:6;4663:23;;;;;;;;;;4639:47;;4706:31;4730:6;4706:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:23;:31::i;:::-;4699:38;;4553:192;;;;:::o;5298:122::-;5363:6;;:::i;:::-;5389:15;5405:6;5389:23;;;;;;;;;;5382:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5298:122;;;:::o;7665:516::-;7779:7;7801:4;7820:6;;:::i;:::-;7841:4;7873:18;7925:34;7904:7;7894:18;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:2;51:6;36:153;;;182:3;176:5;171:3;164:6;98:2;93:3;89;82:19;;123:2;118:3;114;107:19;;148:2;143:3;139;132:19;;36:153;;;274:1;267:3;263:2;259:3;254;250;246;315:4;311:3;305;299:5;295:3;356:4;350:3;344:5;340:3;389:7;380;377:2;372:3;365:6;3:399;;;;;;;;;;;;;;;;;;;7873:39:0;;7962:27;:39;7990:10;7962:39;;;;;;;;;;;;;;;;;7925:76;;8036:10;:23;;;;;;;;;;;;8074:10;:21;;;8110:10;:15;;8140:10;:22;;;;;;;;;;;;8014:159;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7665:516;;;;;;;:::o;6065:267::-;6136:5;6154:18;6206:34;6185:7;6175:18;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:2;51:6;36:153;;;182:3;176:5;171:3;164:6;98:2;93:3;89;82:19;;123:2;118:3;114;107:19;;148:2;143:3;139;132:19;;36:153;;;274:1;267:3;263:2;259:3;254;250;246;315:4;311:3;305;299:5;295:3;356:4;350:3;344:5;340:3;389:7;380;377:2;372:3;365:6;3:399;;;;;;;;;;;;;;;;;;;6154:39:0;;6243:27;:39;6271:10;6243:39;;;;;;;;;;;;;;;;;6206:76;;6302:10;:22;;;;;;;;;;;;6295:29;;6065:267;;;;;:::o;6581:195::-;6646:5;6664:20;;:::i;:::-;6687:29;6709:6;6687:21;:29::i;:::-;6664:52;;6736:32;6761:6;6736:24;:32::i;:::-;6729:39;;6581:195;;;;:::o;306:20::-;;;;;;;;;;;;;:::o;1911:34::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;5567:257::-;5634:6;;:::i;:::-;5653:18;5705:34;5684:7;5674:18;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:2;51:6;36:153;;;182:3;176:5;171:3;164:6;98:2;93:3;89;82:19;;123:2;118:3;114;107:19;;148:2;143:3;139;132:19;;36:153;;;274:1;267:3;263:2;259:3;254;250;246;315:4;311:3;305;299:5;295:3;356:4;350:3;344:5;340:3;389:7;380;377:2;372:3;365:6;3:399;;;;;;;;;;;;;;;;;;;5653:39:0;;5742:27;:39;5770:10;5742:39;;;;;;;;;;;;;;;;;5705:76;;5801:10;:15;;5794:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5567:257;;;;;:::o;1952:34::-;;;;;;;;;;;;;:::o;926:173::-;739:5;;;;;;;;;;;725:19;;:10;:19;;;717:28;;;;;;;;1023:1;1003:22;;:8;:22;;;;995:31;;;;;;;;1061:8;1033:37;;1054:5;;;;;;;;;;;1033:37;;;;;;;;;;;;1085:8;1077:5;;:16;;;;;;;;;;;;;;;;;;926:173;:::o;7045:238::-;7108:6;;:::i;:::-;7127:20;;:::i;:::-;7192:23;;:::i;:::-;7150:29;7172:6;7150:21;:29::i;:::-;7127:52;;7218:28;7239:6;7218:20;:28::i;:::-;7192:54;;7266:9;7259:16;;7045:238;;;;;:::o;1792:7321::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o
Swarm Source
bzzr://2b9d0442ac8b04b395bca071b37ca00b33452ff0a55ca30ee935ffb21367779a
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.