Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 6 from a total of 6 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Remove Contract ... | 8531119 | 1960 days ago | IN | 0 ETH | 0.0004795 | ||||
Remove Contract ... | 8531110 | 1960 days ago | IN | 0 ETH | 0.0004795 | ||||
Remove Contract ... | 8165903 | 2016 days ago | IN | 0 ETH | 0.0004795 | ||||
Remove Contract ... | 8165745 | 2016 days ago | IN | 0 ETH | 0.0004795 | ||||
Transfer Ownersh... | 7863637 | 2063 days ago | IN | 0 ETH | 0.00030439 | ||||
Add Factory Addr... | 7863394 | 2064 days ago | IN | 0 ETH | 0.00045101 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
MarketContractRegistry
Compiler Version
v0.5.2+commit.1df8f40c
Optimization Enabled:
No with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2019-05-31 */ /* Copyright 2017-2019 Phillip A. Elsasser 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.5.2; /** * @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 private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev The Ownable constructor sets the original `owner` of the contract to the sender * account. */ constructor () internal { _owner = msg.sender; emit OwnershipTransferred(address(0), _owner); } /** * @return the address of the owner. */ function owner() public view returns (address) { return _owner; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(isOwner()); _; } /** * @return true if `msg.sender` is the owner of the contract. */ function isOwner() public view returns (bool) { return msg.sender == _owner; } /** * @dev Allows the current owner to relinquish control of the contract. * It will not be possible to call the functions with the `onlyOwner` * modifier anymore. * @notice 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 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 { _transferOwnership(newOwner); } /** * @dev Transfers control of the contract to a newOwner. * @param newOwner The address to transfer ownership to. */ function _transferOwnership(address newOwner) internal { require(newOwner != address(0)); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } } /* Copyright 2017-2019 Phillip A. Elsasser 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. */ contract MarketContractRegistryInterface { function addAddressToWhiteList(address contractAddress) external; function isAddressWhiteListed(address contractAddress) external view returns (bool); } /// @title MarketContractRegistry /// @author Phil Elsasser <[email protected]> contract MarketContractRegistry is Ownable, MarketContractRegistryInterface { // whitelist accounting mapping(address => bool) public isWhiteListed; address[] public addressWhiteList; // record of currently deployed addresses; mapping(address => bool) public factoryAddressWhiteList; // record of authorized factories // events event AddressAddedToWhitelist(address indexed contractAddress); event AddressRemovedFromWhitelist(address indexed contractAddress); event FactoryAddressAdded(address indexed factoryAddress); event FactoryAddressRemoved(address indexed factoryAddress); /* // External Methods */ /// @notice determines if an address is a valid MarketContract /// @return false if the address is not white listed. function isAddressWhiteListed(address contractAddress) external view returns (bool) { return isWhiteListed[contractAddress]; } /// @notice all currently whitelisted addresses /// returns array of addresses function getAddressWhiteList() external view returns (address[] memory) { return addressWhiteList; } /// @dev allows for the owner to remove a white listed contract, eventually ownership could transition to /// a decentralized smart contract of community members to vote /// @param contractAddress contract to removed from white list /// @param whiteListIndex of the contractAddress in the addressWhiteList to be removed. function removeContractFromWhiteList( address contractAddress, uint whiteListIndex ) external onlyOwner { require(isWhiteListed[contractAddress], "can only remove whitelisted addresses"); require(addressWhiteList[whiteListIndex] == contractAddress, "index does not match address"); isWhiteListed[contractAddress] = false; // push the last item in array to replace the address we are removing and then trim the array. addressWhiteList[whiteListIndex] = addressWhiteList[addressWhiteList.length - 1]; addressWhiteList.length -= 1; emit AddressRemovedFromWhitelist(contractAddress); } /// @dev allows for the owner or factory to add a white listed contract, eventually ownership could transition to /// a decentralized smart contract of community members to vote /// @param contractAddress contract to removed from white list function addAddressToWhiteList(address contractAddress) external { require(isOwner() || factoryAddressWhiteList[msg.sender], "Can only be added by factory or owner"); require(!isWhiteListed[contractAddress], "Address must not be whitelisted"); isWhiteListed[contractAddress] = true; addressWhiteList.push(contractAddress); emit AddressAddedToWhitelist(contractAddress); } /// @dev allows for the owner to add a new address of a factory responsible for creating new market contracts /// @param factoryAddress address of factory to be allowed to add contracts to whitelist function addFactoryAddress(address factoryAddress) external onlyOwner { require(!factoryAddressWhiteList[factoryAddress], "address already added"); factoryAddressWhiteList[factoryAddress] = true; emit FactoryAddressAdded(factoryAddress); } /// @dev allows for the owner to remove an address of a factory /// @param factoryAddress address of factory to be removed function removeFactoryAddress(address factoryAddress) external onlyOwner { require(factoryAddressWhiteList[factoryAddress], "factory address is not in the white list"); factoryAddressWhiteList[factoryAddress] = false; emit FactoryAddressRemoved(factoryAddress); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":false,"inputs":[{"name":"factoryAddress","type":"address"}],"name":"addFactoryAddress","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"addressWhiteList","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"factoryAddressWhiteList","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"isWhiteListed","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":"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":false,"inputs":[{"name":"contractAddress","type":"address"}],"name":"addAddressToWhiteList","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"factoryAddress","type":"address"}],"name":"removeFactoryAddress","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"contractAddress","type":"address"}],"name":"isAddressWhiteListed","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getAddressWhiteList","outputs":[{"name":"","type":"address[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"contractAddress","type":"address"},{"name":"whiteListIndex","type":"uint256"}],"name":"removeContractFromWhiteList","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"anonymous":false,"inputs":[{"indexed":true,"name":"contractAddress","type":"address"}],"name":"AddressAddedToWhitelist","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"contractAddress","type":"address"}],"name":"AddressRemovedFromWhitelist","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"factoryAddress","type":"address"}],"name":"FactoryAddressAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"factoryAddress","type":"address"}],"name":"FactoryAddressRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"}]
Contract Creation Code
6080604052336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3611186806100cf6000396000f3fe608060405234801561001057600080fd5b50600436106100ec576000357c0100000000000000000000000000000000000000000000000000000000900480638f32d59b116100a9578063ad23de6311610083578063ad23de6314610359578063c6f5d91f146103b5578063d8fbbf3114610414578063f2fde38b14610462576100ec565b80638f32d59b146102af5780639244f496146102d1578063a051d9c314610315576100ec565b806318c0c695146100f15780631e7f9f3614610135578063497acf08146101a35780636f9170f6146101ff578063715018a61461025b5780638da5cb5b14610265575b600080fd5b6101336004803603602081101561010757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506104a6565b005b6101616004803603602081101561014b57600080fd5b8101908080359060200190929190505050610619565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6101e5600480360360208110156101b957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610657565b604051808215151515815260200191505060405180910390f35b6102416004803603602081101561021557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610677565b604051808215151515815260200191505060405180910390f35b610263610697565b005b61026d610769565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6102b7610792565b604051808215151515815260200191505060405180910390f35b610313600480360360208110156102e757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506107e9565b005b6103576004803603602081101561032b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610a61565b005b61039b6004803603602081101561036f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610bb6565b604051808215151515815260200191505060405180910390f35b6103bd610c0c565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b838110156104005780820151818401526020810190506103e5565b505050509050019250505060405180910390f35b6104606004803603604081101561042a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610c9a565b005b6104a46004803603602081101561047857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f7e565b005b6104ae610792565b15156104b957600080fd5b600360008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151561057b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f6164647265737320616c7265616479206164646564000000000000000000000081525060200191505060405180910390fd5b6001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167f960c6a67a1f0f46ddffd138f2b7f44cbc573d0e0a073363b287a257b121dc48a60405160405180910390a250565b60028181548110151561062857fe5b906000526020600020016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60036020528060005260406000206000915054906101000a900460ff1681565b60016020528060005260406000206000915054906101000a900460ff1681565b61069f610792565b15156106aa57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614905090565b6107f1610792565b806108455750600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b151561089c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806110e96025913960400191505060405180910390fd5b600160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151561095e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f41646472657373206d757374206e6f742062652077686974656c69737465640081525060200191505060405180910390fd5b60018060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060028190806001815401808255809150509060018203906000526020600020016000909192909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550508073ffffffffffffffffffffffffffffffffffffffff167f534d18c8ff24ba5980906d732f3075704749427353734fbbf05d50485643b12460405160405180910390a250565b610a69610792565b1515610a7457600080fd5b600360008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515610b18576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602881526020018061110e6028913960400191505060405180910390fd5b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167f5d6ac55db628f137c53a554c300a684dc6b3db9d8f24e9611ea5e84c282d177d60405160405180910390a250565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60606002805480602002602001604051908101604052809291908181526020018280548015610c9057602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311610c46575b5050505050905090565b610ca2610792565b1515610cad57600080fd5b600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515610d51576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806111366025913960400191505060405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff16600282815481101515610d7757fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515610e2d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f696e64657820646f6573206e6f74206d6174636820616464726573730000000081525060200191505060405180910390fd5b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506002600160028054905003815481101515610e9c57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600282815481101515610ed657fe5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600281818054905003915081610f369190611097565b508173ffffffffffffffffffffffffffffffffffffffff167f535611fb62fa2a833988f283b779e417e996813e44046f521d76c17b5943b08c60405160405180910390a25050565b610f86610792565b1515610f9157600080fd5b610f9a81610f9d565b50565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610fd957600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b8154818355818111156110be578183600052602060002091820191016110bd91906110c3565b5b505050565b6110e591905b808211156110e15760008160009055506001016110c9565b5090565b9056fe43616e206f6e6c7920626520616464656420627920666163746f7279206f72206f776e6572666163746f72792061646472657373206973206e6f7420696e20746865207768697465206c69737463616e206f6e6c792072656d6f76652077686974656c697374656420616464726573736573a165627a7a72305820282bad704834d559794d918b9dd264ff530a79256e1ed02b51d61ef7a47330580029
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100ec576000357c0100000000000000000000000000000000000000000000000000000000900480638f32d59b116100a9578063ad23de6311610083578063ad23de6314610359578063c6f5d91f146103b5578063d8fbbf3114610414578063f2fde38b14610462576100ec565b80638f32d59b146102af5780639244f496146102d1578063a051d9c314610315576100ec565b806318c0c695146100f15780631e7f9f3614610135578063497acf08146101a35780636f9170f6146101ff578063715018a61461025b5780638da5cb5b14610265575b600080fd5b6101336004803603602081101561010757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506104a6565b005b6101616004803603602081101561014b57600080fd5b8101908080359060200190929190505050610619565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6101e5600480360360208110156101b957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610657565b604051808215151515815260200191505060405180910390f35b6102416004803603602081101561021557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610677565b604051808215151515815260200191505060405180910390f35b610263610697565b005b61026d610769565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6102b7610792565b604051808215151515815260200191505060405180910390f35b610313600480360360208110156102e757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506107e9565b005b6103576004803603602081101561032b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610a61565b005b61039b6004803603602081101561036f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610bb6565b604051808215151515815260200191505060405180910390f35b6103bd610c0c565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b838110156104005780820151818401526020810190506103e5565b505050509050019250505060405180910390f35b6104606004803603604081101561042a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610c9a565b005b6104a46004803603602081101561047857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f7e565b005b6104ae610792565b15156104b957600080fd5b600360008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151561057b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f6164647265737320616c7265616479206164646564000000000000000000000081525060200191505060405180910390fd5b6001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167f960c6a67a1f0f46ddffd138f2b7f44cbc573d0e0a073363b287a257b121dc48a60405160405180910390a250565b60028181548110151561062857fe5b906000526020600020016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60036020528060005260406000206000915054906101000a900460ff1681565b60016020528060005260406000206000915054906101000a900460ff1681565b61069f610792565b15156106aa57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614905090565b6107f1610792565b806108455750600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b151561089c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806110e96025913960400191505060405180910390fd5b600160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151561095e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f41646472657373206d757374206e6f742062652077686974656c69737465640081525060200191505060405180910390fd5b60018060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060028190806001815401808255809150509060018203906000526020600020016000909192909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550508073ffffffffffffffffffffffffffffffffffffffff167f534d18c8ff24ba5980906d732f3075704749427353734fbbf05d50485643b12460405160405180910390a250565b610a69610792565b1515610a7457600080fd5b600360008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515610b18576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602881526020018061110e6028913960400191505060405180910390fd5b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167f5d6ac55db628f137c53a554c300a684dc6b3db9d8f24e9611ea5e84c282d177d60405160405180910390a250565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60606002805480602002602001604051908101604052809291908181526020018280548015610c9057602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311610c46575b5050505050905090565b610ca2610792565b1515610cad57600080fd5b600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515610d51576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806111366025913960400191505060405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff16600282815481101515610d7757fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515610e2d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f696e64657820646f6573206e6f74206d6174636820616464726573730000000081525060200191505060405180910390fd5b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506002600160028054905003815481101515610e9c57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600282815481101515610ed657fe5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600281818054905003915081610f369190611097565b508173ffffffffffffffffffffffffffffffffffffffff167f535611fb62fa2a833988f283b779e417e996813e44046f521d76c17b5943b08c60405160405180910390a25050565b610f86610792565b1515610f9157600080fd5b610f9a81610f9d565b50565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610fd957600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b8154818355818111156110be578183600052602060002091820191016110bd91906110c3565b5b505050565b6110e591905b808211156110e15760008160009055506001016110c9565b5090565b9056fe43616e206f6e6c7920626520616464656420627920666163746f7279206f72206f776e6572666163746f72792061646472657373206973206e6f7420696e20746865207768697465206c69737463616e206f6e6c792072656d6f76652077686974656c697374656420616464726573736573a165627a7a72305820282bad704834d559794d918b9dd264ff530a79256e1ed02b51d61ef7a47330580029
Deployed Bytecode Sourcemap
3801:3831:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3801:3831:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6922:271;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6922:271:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;3967:33;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3967:33:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;4078:55;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4078:55:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3915:45;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3915:45:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2100:140;;;:::i;:::-;;1310:79;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1645:92;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;6284:421;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6284:421:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;7334:295;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7334:295:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;4641:140;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4641:140:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;4878:114;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;4878:114:0;;;;;;;;;;;;;;;;;5341:679;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5341:679:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2417:109;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2417:109:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;6922:271;1522:9;:7;:9::i;:::-;1514:18;;;;;;;;7012:23;:39;7036:14;7012:39;;;;;;;;;;;;;;;;;;;;;;;;;7011:40;7003:74;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7130:4;7088:23;:39;7112:14;7088:39;;;;;;;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;7170:14;7150:35;;;;;;;;;;;;6922:271;:::o;3967:33::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;4078:55::-;;;;;;;;;;;;;;;;;;;;;;:::o;3915:45::-;;;;;;;;;;;;;;;;;;;;;;:::o;2100:140::-;1522:9;:7;:9::i;:::-;1514:18;;;;;;;;2199:1;2162:40;;2183:6;;;;;;;;;;;2162:40;;;;;;;;;;;;2230:1;2213:6;;:19;;;;;;;;;;;;;;;;;;2100:140::o;1310:79::-;1348:7;1375:6;;;;;;;;;;;1368:13;;1310:79;:::o;1645:92::-;1685:4;1723:6;;;;;;;;;;;1709:20;;:10;:20;;;1702:27;;1645:92;:::o;6284:421::-;6368:9;:7;:9::i;:::-;:48;;;;6381:23;:35;6405:10;6381:35;;;;;;;;;;;;;;;;;;;;;;;;;6368:48;6360:98;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6478:13;:30;6492:15;6478:30;;;;;;;;;;;;;;;;;;;;;;;;;6477:31;6469:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6588:4;6555:13;:30;6569:15;6555:30;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;;;;;;;6603:16;6625:15;6603:38;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;6603:38:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6681:15;6657:40;;;;;;;;;;;;6284:421;:::o;7334:295::-;1522:9;:7;:9::i;:::-;1514:18;;;;;;;;7426:23;:39;7450:14;7426:39;;;;;;;;;;;;;;;;;;;;;;;;;7418:92;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7563:5;7521:23;:39;7545:14;7521:39;;;;;;;;;;;;;;;;:47;;;;;;;;;;;;;;;;;;7606:14;7584:37;;;;;;;;;;;;7334:295;:::o;4641:140::-;4719:4;4743:13;:30;4757:15;4743:30;;;;;;;;;;;;;;;;;;;;;;;;;4736:37;;4641:140;;;:::o;4878:114::-;4932:16;4968;4961:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4878:114;:::o;5341:679::-;1522:9;:7;:9::i;:::-;1514:18;;;;;;;;5492:13;:30;5506:15;5492:30;;;;;;;;;;;;;;;;;;;;;;;;;5484:80;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5619:15;5583:51;;:16;5600:14;5583:32;;;;;;;;;;;;;;;;;;;;;;;;;;;:51;;;5575:92;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5711:5;5678:13;:30;5692:15;5678:30;;;;;;;;;;;;;;;;:38;;;;;;;;;;;;;;;;;;5868:16;5911:1;5885:16;:23;;;;:27;5868:45;;;;;;;;;;;;;;;;;;;;;;;;;;;5833:16;5850:14;5833:32;;;;;;;;;;;;;;;;;;:80;;;;;;;;;;;;;;;;;;5951:1;5924:16;:28;;;;;;;;;;;;;;:::i;:::-;;5996:15;5968:44;;;;;;;;;;;;5341:679;;:::o;2417:109::-;1522:9;:7;:9::i;:::-;1514:18;;;;;;;;2490:28;2509:8;2490:18;:28::i;:::-;2417:109;:::o;2676:187::-;2770:1;2750:22;;:8;:22;;;;2742:31;;;;;;;;2818:8;2789:38;;2810:6;;;;;;;;;;;2789:38;;;;;;;;;;;;2847:8;2838:6;;:17;;;;;;;;;;;;;;;;;;2676:187;:::o;3801:3831::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o
Swarm Source
bzzr://282bad704834d559794d918b9dd264ff530a79256e1ed02b51d61ef7a4733058
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.