Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 71 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Register Token | 4950386 | 2579 days ago | IN | 0 ETH | 0.00012117 | ||||
Register Token | 4764398 | 2612 days ago | IN | 0 ETH | 0.00441817 | ||||
Register Token | 4723600 | 2620 days ago | IN | 0 ETH | 0.00242092 | ||||
Register Token | 4723588 | 2620 days ago | IN | 0 ETH | 0.00242348 | ||||
Register Token | 4723579 | 2620 days ago | IN | 0 ETH | 0.00242092 | ||||
Register Token | 4723494 | 2620 days ago | IN | 0 ETH | 0.00242092 | ||||
Register Token | 4723481 | 2620 days ago | IN | 0 ETH | 0.00242092 | ||||
Register Token | 4723470 | 2620 days ago | IN | 0 ETH | 0.0024222 | ||||
Register Token | 4723464 | 2620 days ago | IN | 0 ETH | 0.00242092 | ||||
Register Token | 4723448 | 2620 days ago | IN | 0 ETH | 0.0024222 | ||||
Register Token | 4723440 | 2620 days ago | IN | 0 ETH | 0.0024222 | ||||
Register Token | 4723402 | 2620 days ago | IN | 0 ETH | 0.00242092 | ||||
Register Token | 4723380 | 2620 days ago | IN | 0 ETH | 0.00242092 | ||||
Register Token | 4723367 | 2620 days ago | IN | 0 ETH | 0.00242092 | ||||
Register Token | 4723329 | 2620 days ago | IN | 0 ETH | 0.00242092 | ||||
Register Token | 4723290 | 2620 days ago | IN | 0 ETH | 0.00242092 | ||||
Register Token | 4723160 | 2620 days ago | IN | 0 ETH | 0.00242092 | ||||
Register Token | 4723153 | 2620 days ago | IN | 0 ETH | 0.00242092 | ||||
Register Token | 4723134 | 2620 days ago | IN | 0 ETH | 0.0024222 | ||||
Register Token | 4723123 | 2620 days ago | IN | 0 ETH | 0.00241964 | ||||
Register Token | 4723047 | 2620 days ago | IN | 0 ETH | 0.00050704 | ||||
Register Token | 4719642 | 2620 days ago | IN | 0 ETH | 0.00050704 | ||||
Register Token | 4719635 | 2620 days ago | IN | 0 ETH | 0.00242092 | ||||
Register Token | 4719623 | 2620 days ago | IN | 0 ETH | 0.00242348 | ||||
Register Token | 4719604 | 2620 days ago | IN | 0 ETH | 0.00242092 |
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:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2017-12-12 */ /* Copyright 2017 Loopring Project Ltd (Loopring Foundation). Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. */ pragma solidity 0.4.18; /* Copyright 2017 Loopring Project Ltd (Loopring Foundation). Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. */ /* Copyright 2017 Loopring Project Ltd (Loopring Foundation). Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. */ /// @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. 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) onlyOwner public { require(newOwner != 0x0); OwnershipTransferred(owner, newOwner); owner = newOwner; } } /// @title Claimable /// @dev Extension for the Ownable contract, where the ownership needs /// to be claimed. This allows the new owner to accept the transfer. contract Claimable is Ownable { address public pendingOwner; /// @dev Modifier throws if called by any account other than the pendingOwner. modifier onlyPendingOwner() { require(msg.sender == pendingOwner); _; } /// @dev Allows the current owner to set the pendingOwner address. /// @param newOwner The address to transfer ownership to. function transferOwnership(address newOwner) onlyOwner public { require(newOwner != 0x0 && newOwner != owner); pendingOwner = newOwner; } /// @dev Allows the pendingOwner address to finalize the transfer. function claimOwnership() onlyPendingOwner public { OwnershipTransferred(owner, pendingOwner); owner = pendingOwner; pendingOwner = 0x0; } } /// @title Token Register Contract /// @dev This contract maintains a list of tokens the Protocol supports. /// @author Kongliang Zhong - <[email protected]>, /// @author Daniel Wang - <[email protected]>. contract TokenRegistry is Claimable { address[] public addresses; mapping (address => TokenInfo) addressMap; mapping (string => address) symbolMap; uint8 public constant TOKEN_STANDARD_ERC20 = 0; uint8 public constant TOKEN_STANDARD_ERC223 = 1; //////////////////////////////////////////////////////////////////////////// /// Structs /// //////////////////////////////////////////////////////////////////////////// struct TokenInfo { uint pos; // 0 mens unregistered; if > 0, pos + 1 is the // token's position in `addresses`. uint8 standard; // ERC20 or ERC223 string symbol; // Symbol of the token } //////////////////////////////////////////////////////////////////////////// /// Events /// //////////////////////////////////////////////////////////////////////////// event TokenRegistered(address addr, string symbol); event TokenUnregistered(address addr, string symbol); //////////////////////////////////////////////////////////////////////////// /// Public Functions /// //////////////////////////////////////////////////////////////////////////// /// @dev Disable default function. function () payable public { revert(); } function registerToken( address addr, string symbol ) external onlyOwner { registerStandardToken(addr, symbol, TOKEN_STANDARD_ERC20); } function registerStandardToken( address addr, string symbol, uint8 standard ) public onlyOwner { require(0x0 != addr); require(bytes(symbol).length > 0); require(0x0 == symbolMap[symbol]); require(0 == addressMap[addr].pos); require(standard <= TOKEN_STANDARD_ERC223); addresses.push(addr); symbolMap[symbol] = addr; addressMap[addr] = TokenInfo(addresses.length, standard, symbol); TokenRegistered(addr, symbol); } function unregisterToken( address addr, string symbol ) external onlyOwner { require(addr != 0x0); require(symbolMap[symbol] == addr); delete symbolMap[symbol]; uint pos = addressMap[addr].pos; require(pos != 0); delete addressMap[addr]; // We will replace the token we need to unregister with the last token // Only the pos of the last token will need to be updated address lastToken = addresses[addresses.length - 1]; // Don't do anything if the last token is the one we want to delete if (addr != lastToken) { // Swap with the last token and update the pos addresses[pos - 1] = lastToken; addressMap[lastToken].pos = pos; } addresses.length--; TokenUnregistered(addr, symbol); } function isTokenRegisteredBySymbol(string symbol) public view returns (bool) { return symbolMap[symbol] != 0x0; } function isTokenRegistered(address addr) public view returns (bool) { return addressMap[addr].pos != 0; } function areAllTokensRegistered(address[] addressList) external view returns (bool) { for (uint i = 0; i < addressList.length; i++) { if (addressMap[addressList[i]].pos == 0) { return false; } } return true; } function getTokenStandard(address addr) public view returns (uint8) { TokenInfo memory info = addressMap[addr]; require(info.pos != 0); return info.standard; } function getAddressBySymbol(string symbol) external view returns (address) { return symbolMap[symbol]; } function getTokens( uint start, uint count ) public view returns (address[] addressList) { uint num = addresses.length; if (start >= num) { return; } uint end = start + count; if (end > num) { end = num; } if (start == num) { return; } addressList = new address[](end - start); for (uint i = start; i < end; i++) { addressList[i - start] = addresses[i]; } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":false,"inputs":[{"name":"addr","type":"address"},{"name":"symbol","type":"string"}],"name":"unregisterToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"symbol","type":"string"}],"name":"getAddressBySymbol","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"addressList","type":"address[]"}],"name":"areAllTokensRegistered","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"addr","type":"address"}],"name":"isTokenRegistered","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"TOKEN_STANDARD_ERC223","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"addr","type":"address"}],"name":"getTokenStandard","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"start","type":"uint256"},{"name":"count","type":"uint256"}],"name":"getTokens","outputs":[{"name":"addressList","type":"address[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"claimOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"TOKEN_STANDARD_ERC20","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"addr","type":"address"},{"name":"symbol","type":"string"},{"name":"standard","type":"uint8"}],"name":"registerStandardToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"addr","type":"address"},{"name":"symbol","type":"string"}],"name":"registerToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"pendingOwner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"addresses","outputs":[{"name":"","type":"address"}],"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":"symbol","type":"string"}],"name":"isTokenRegisteredBySymbol","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":false,"name":"addr","type":"address"},{"indexed":false,"name":"symbol","type":"string"}],"name":"TokenRegistered","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"addr","type":"address"},{"indexed":false,"name":"symbol","type":"string"}],"name":"TokenUnregistered","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"}]
Contract Creation Code
606060405260008054600160a060020a033316600160a060020a0319909116179055610ea8806100306000396000f3006060604052600436106100e55763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630b03ad1181146100ea5780631605dd611461011757806316066e691461015157806326aa101f146101835780632f7359a3146101a25780634676e7b9146101cb578063494cfc6c146101ea5780634e71e0c8146102565780638da5cb5b14610269578063a8366fef1461027c578063c5dfaa9e1461028f578063d4fbeb19146102f3578063e30c39781461031e578063edf26d9b14610331578063f2fde38b14610347578063fcd4580714610366575b600080fd5b34156100f557600080fd5b61011560048035600160a060020a031690602480359081019101356103b7565b005b341561012257600080fd5b61013560048035602481019101356105ba565b604051600160a060020a03909116815260200160405180910390f35b341561015c57600080fd5b61016f60048035602481019101356105f3565b604051901515815260200160405180910390f35b341561018e57600080fd5b61016f600160a060020a0360043516610668565b34156101ad57600080fd5b6101b5610685565b60405160ff909116815260200160405180910390f35b34156101d657600080fd5b6101b5600160a060020a036004351661068a565b34156101f557600080fd5b6102036004356024356107a1565b60405160208082528190810183818151815260200191508051906020019060200280838360005b8381101561024257808201518382015260200161022a565b505050509050019250505060405180910390f35b341561026157600080fd5b610115610861565b341561027457600080fd5b6101356108e2565b341561028757600080fd5b6101b56108f1565b341561029a57600080fd5b61011560048035600160a060020a03169060446024803590810190830135806020601f820181900481020160405190810160405281815292919060208401838380828437509496505050923560ff1692506108f6915050565b34156102fe57600080fd5b61011560048035600160a060020a03169060248035908101910135610bc3565b341561032957600080fd5b610135610c1f565b341561033c57600080fd5b610135600435610c2e565b341561035257600080fd5b610115600160a060020a0360043516610c56565b341561037157600080fd5b61016f60046024813581810190830135806020601f82018190048102016040519081016040528181529291906020840183838082843750949650610cc495505050505050565b60008054819033600160a060020a039081169116146103d557600080fd5b600160a060020a03851615156103ea57600080fd5b84600160a060020a0316600485856040518083838082843782019150509250505090815260200160405190819003902054600160a060020a03161461042e57600080fd5b60048484604051808383808284378201915050925050509081526020016040519081900390208054600160a060020a0319169055600160a060020a038516600090815260036020526040902054915081151561048957600080fd5b600160a060020a038516600090815260036020526040812081815560018101805460ff19169055906104be6002830182610d3e565b50506002805460001981019081106104d257fe5b600091825260209091200154600160a060020a03908116915085168114610540578060026001840381548110151561050657fe5b60009182526020808320919091018054600160a060020a031916600160a060020a0394851617905591831681526003909152604090208290555b6002805490610553906000198301610d85565b507fee98311a96660ce4ab10cd82053f767653901305ec8acf91ec60311de919e28a858585604051600160a060020a038416815260406020820181815290820183905260608201848480828437820191505094505050505060405180910390a15050505050565b6000600483836040518083838082843782019150509250505090815260200160405190819003902054600160a060020a03169392505050565b6000805b8281101561065c576003600085858481811061060f57fe5b90506020020135600160a060020a0316600160a060020a0316600160a060020a0316815260200190815260200160002060000154600014156106545760009150610661565b6001016105f7565b600191505b5092915050565b600160a060020a0316600090815260036020526040902054151590565b600181565b6000610694610da9565b600160a060020a0383166000908152600360205260409081902090606090519081016040529081600082015481526020016001820160009054906101000a900460ff1660ff1660ff168152602001600282018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561077a5780601f1061074f5761010080835404028352916020019161077a565b820191906000526020600020905b81548152906001019060200180831161075d57829003601f168201915b50505050508152505090508060000151151561079557600080fd5b80602001519392505050565b6107a9610dcf565b6002546000808286106107bb57610858565b8486019150828211156107cc578291505b828614156107d957610858565b8582036040518059106107e95750595b908082528060200260200182016040525093508590505b8181101561085857600280548290811061081657fe5b600091825260209091200154600160a060020a0316848783038151811061083957fe5b600160a060020a03909216602092830290910190910152600101610800565b50505092915050565b60015433600160a060020a0390811691161461087c57600080fd5b600154600054600160a060020a0391821691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36001805460008054600160a060020a0319908116600160a060020a03841617909155169055565b600054600160a060020a031681565b600081565b60005433600160a060020a0390811691161461091157600080fd5b600160a060020a038316151561092657600080fd5b600082511161093457600080fd5b6004826040518082805190602001908083835b602083106109665780518252601f199092019160209182019101610947565b6001836020036101000a03801982511681845116808217855250505050505090500191505090815260200160405190819003902054600160a060020a0316156109ae57600080fd5b600160a060020a038316600090815260036020526040902054156109d157600080fd5b600160ff821611156109e257600080fd5b60028054600181016109f48382610d85565b5060009182526020909120018054600160a060020a031916600160a060020a038516179055826004836040518082805190602001908083835b60208310610a4c5780518252601f199092019160209182019101610a2d565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040519081900390208054600160a060020a031916600160a060020a039290921691909117905560606040519081016040908152600254825260ff8316602080840191909152818301859052600160a060020a038616600090815260039091522081518155602082015160018201805460ff191660ff92909216919091179055604082015181600201908051610b11929160200190610de1565b509050507faaed15520cc86e95b7c2522d968096283afbef7858bdf194b2f60d28a1a8d63e8383604051600160a060020a038316815260406020820181815290820183818151815260200191508051906020019080838360005b83811015610b83578082015183820152602001610b6b565b50505050905090810190601f168015610bb05780820380516001836020036101000a031916815260200191505b50935050505060405180910390a1505050565b60005433600160a060020a03908116911614610bde57600080fd5b610c1a8383838080601f016020809104026020016040519081016040528181529291906020840183838082843750600094506108f69350505050565b505050565b600154600160a060020a031681565b6002805482908110610c3c57fe5b600091825260209091200154600160a060020a0316905081565b60005433600160a060020a03908116911614610c7157600080fd5b600160a060020a03811615801590610c975750600054600160a060020a03828116911614155b1515610ca257600080fd5b60018054600160a060020a031916600160a060020a0392909216919091179055565b60006004826040518082805190602001908083835b60208310610cf85780518252601f199092019160209182019101610cd9565b6001836020036101000a03801982511681845116808217855250505050505090500191505090815260200160405190819003902054600160a060020a0316151592915050565b50805460018160011615610100020316600290046000825580601f10610d645750610d82565b601f016020900490600052602060002090810190610d829190610e5f565b50565b815481835581811511610c1a57600083815260209020610c1a918101908301610e5f565b60606040519081016040908152600080835260208301528101610dca610dcf565b905290565b60206040519081016040526000815290565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10610e2257805160ff1916838001178555610e4f565b82800160010185558215610e4f579182015b82811115610e4f578251825591602001919060010190610e34565b50610e5b929150610e5f565b5090565b610e7991905b80821115610e5b5760008155600101610e65565b905600a165627a7a7230582028749ef34211469f9065b2799b7fd927e02d5f6c6d30ab0fa58e3c1a71f264e70029
Deployed Bytecode
0x6060604052600436106100e55763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630b03ad1181146100ea5780631605dd611461011757806316066e691461015157806326aa101f146101835780632f7359a3146101a25780634676e7b9146101cb578063494cfc6c146101ea5780634e71e0c8146102565780638da5cb5b14610269578063a8366fef1461027c578063c5dfaa9e1461028f578063d4fbeb19146102f3578063e30c39781461031e578063edf26d9b14610331578063f2fde38b14610347578063fcd4580714610366575b600080fd5b34156100f557600080fd5b61011560048035600160a060020a031690602480359081019101356103b7565b005b341561012257600080fd5b61013560048035602481019101356105ba565b604051600160a060020a03909116815260200160405180910390f35b341561015c57600080fd5b61016f60048035602481019101356105f3565b604051901515815260200160405180910390f35b341561018e57600080fd5b61016f600160a060020a0360043516610668565b34156101ad57600080fd5b6101b5610685565b60405160ff909116815260200160405180910390f35b34156101d657600080fd5b6101b5600160a060020a036004351661068a565b34156101f557600080fd5b6102036004356024356107a1565b60405160208082528190810183818151815260200191508051906020019060200280838360005b8381101561024257808201518382015260200161022a565b505050509050019250505060405180910390f35b341561026157600080fd5b610115610861565b341561027457600080fd5b6101356108e2565b341561028757600080fd5b6101b56108f1565b341561029a57600080fd5b61011560048035600160a060020a03169060446024803590810190830135806020601f820181900481020160405190810160405281815292919060208401838380828437509496505050923560ff1692506108f6915050565b34156102fe57600080fd5b61011560048035600160a060020a03169060248035908101910135610bc3565b341561032957600080fd5b610135610c1f565b341561033c57600080fd5b610135600435610c2e565b341561035257600080fd5b610115600160a060020a0360043516610c56565b341561037157600080fd5b61016f60046024813581810190830135806020601f82018190048102016040519081016040528181529291906020840183838082843750949650610cc495505050505050565b60008054819033600160a060020a039081169116146103d557600080fd5b600160a060020a03851615156103ea57600080fd5b84600160a060020a0316600485856040518083838082843782019150509250505090815260200160405190819003902054600160a060020a03161461042e57600080fd5b60048484604051808383808284378201915050925050509081526020016040519081900390208054600160a060020a0319169055600160a060020a038516600090815260036020526040902054915081151561048957600080fd5b600160a060020a038516600090815260036020526040812081815560018101805460ff19169055906104be6002830182610d3e565b50506002805460001981019081106104d257fe5b600091825260209091200154600160a060020a03908116915085168114610540578060026001840381548110151561050657fe5b60009182526020808320919091018054600160a060020a031916600160a060020a0394851617905591831681526003909152604090208290555b6002805490610553906000198301610d85565b507fee98311a96660ce4ab10cd82053f767653901305ec8acf91ec60311de919e28a858585604051600160a060020a038416815260406020820181815290820183905260608201848480828437820191505094505050505060405180910390a15050505050565b6000600483836040518083838082843782019150509250505090815260200160405190819003902054600160a060020a03169392505050565b6000805b8281101561065c576003600085858481811061060f57fe5b90506020020135600160a060020a0316600160a060020a0316600160a060020a0316815260200190815260200160002060000154600014156106545760009150610661565b6001016105f7565b600191505b5092915050565b600160a060020a0316600090815260036020526040902054151590565b600181565b6000610694610da9565b600160a060020a0383166000908152600360205260409081902090606090519081016040529081600082015481526020016001820160009054906101000a900460ff1660ff1660ff168152602001600282018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561077a5780601f1061074f5761010080835404028352916020019161077a565b820191906000526020600020905b81548152906001019060200180831161075d57829003601f168201915b50505050508152505090508060000151151561079557600080fd5b80602001519392505050565b6107a9610dcf565b6002546000808286106107bb57610858565b8486019150828211156107cc578291505b828614156107d957610858565b8582036040518059106107e95750595b908082528060200260200182016040525093508590505b8181101561085857600280548290811061081657fe5b600091825260209091200154600160a060020a0316848783038151811061083957fe5b600160a060020a03909216602092830290910190910152600101610800565b50505092915050565b60015433600160a060020a0390811691161461087c57600080fd5b600154600054600160a060020a0391821691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36001805460008054600160a060020a0319908116600160a060020a03841617909155169055565b600054600160a060020a031681565b600081565b60005433600160a060020a0390811691161461091157600080fd5b600160a060020a038316151561092657600080fd5b600082511161093457600080fd5b6004826040518082805190602001908083835b602083106109665780518252601f199092019160209182019101610947565b6001836020036101000a03801982511681845116808217855250505050505090500191505090815260200160405190819003902054600160a060020a0316156109ae57600080fd5b600160a060020a038316600090815260036020526040902054156109d157600080fd5b600160ff821611156109e257600080fd5b60028054600181016109f48382610d85565b5060009182526020909120018054600160a060020a031916600160a060020a038516179055826004836040518082805190602001908083835b60208310610a4c5780518252601f199092019160209182019101610a2d565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040519081900390208054600160a060020a031916600160a060020a039290921691909117905560606040519081016040908152600254825260ff8316602080840191909152818301859052600160a060020a038616600090815260039091522081518155602082015160018201805460ff191660ff92909216919091179055604082015181600201908051610b11929160200190610de1565b509050507faaed15520cc86e95b7c2522d968096283afbef7858bdf194b2f60d28a1a8d63e8383604051600160a060020a038316815260406020820181815290820183818151815260200191508051906020019080838360005b83811015610b83578082015183820152602001610b6b565b50505050905090810190601f168015610bb05780820380516001836020036101000a031916815260200191505b50935050505060405180910390a1505050565b60005433600160a060020a03908116911614610bde57600080fd5b610c1a8383838080601f016020809104026020016040519081016040528181529291906020840183838082843750600094506108f69350505050565b505050565b600154600160a060020a031681565b6002805482908110610c3c57fe5b600091825260209091200154600160a060020a0316905081565b60005433600160a060020a03908116911614610c7157600080fd5b600160a060020a03811615801590610c975750600054600160a060020a03828116911614155b1515610ca257600080fd5b60018054600160a060020a031916600160a060020a0392909216919091179055565b60006004826040518082805190602001908083835b60208310610cf85780518252601f199092019160209182019101610cd9565b6001836020036101000a03801982511681845116808217855250505050505090500191505090815260200160405190819003902054600160a060020a0316151592915050565b50805460018160011615610100020316600290046000825580601f10610d645750610d82565b601f016020900490600052602060002090810190610d829190610e5f565b50565b815481835581811511610c1a57600083815260209020610c1a918101908301610e5f565b60606040519081016040908152600080835260208301528101610dca610dcf565b905290565b60206040519081016040526000815290565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10610e2257805160ff1916838001178555610e4f565b82800160010185558215610e4f579182015b82811115610e4f578251825591602001919060010190610e34565b50610e5b929150610e5f565b5090565b610e7991905b80821115610e5b5760008155600101610e65565b905600a165627a7a7230582028749ef34211469f9065b2799b7fd927e02d5f6c6d30ab0fa58e3c1a71f264e70029
Swarm Source
bzzr://28749ef34211469f9065b2799b7fd927e02d5f6c6d30ab0fa58e3c1a71f264e7
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 31 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.