Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 104 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Whitelist Token ... | 13772849 | 1065 days ago | IN | 0 ETH | 0.00368168 | ||||
Whitelist Token ... | 13772401 | 1065 days ago | IN | 0 ETH | 0.00385843 | ||||
Whitelist Method | 13772266 | 1065 days ago | IN | 0 ETH | 0.00252663 | ||||
Whitelist Method | 13772266 | 1065 days ago | IN | 0 ETH | 0.00252663 | ||||
Set Exchange Ada... | 13772266 | 1065 days ago | IN | 0 ETH | 0.00154483 | ||||
Whitelist Exchan... | 13772266 | 1065 days ago | IN | 0 ETH | 0.00503219 | ||||
Whitelist Method | 13772266 | 1065 days ago | IN | 0 ETH | 0.00255121 | ||||
Whitelist Method | 13772266 | 1065 days ago | IN | 0 ETH | 0.00252663 | ||||
Whitelist Method | 13772266 | 1065 days ago | IN | 0 ETH | 0.00252663 | ||||
Whitelist Method | 13772266 | 1065 days ago | IN | 0 ETH | 0.00252663 | ||||
Whitelist Method | 13772266 | 1065 days ago | IN | 0 ETH | 0.00252663 | ||||
Whitelist Method | 13772266 | 1065 days ago | IN | 0 ETH | 0.00252663 | ||||
Set Exchange Ada... | 13772266 | 1065 days ago | IN | 0 ETH | 0.00242345 | ||||
Whitelist Exchan... | 13772266 | 1065 days ago | IN | 0 ETH | 0.00503219 | ||||
Whitelist Method | 13772266 | 1065 days ago | IN | 0 ETH | 0.00252663 | ||||
Whitelist Method | 13772266 | 1065 days ago | IN | 0 ETH | 0.00252663 | ||||
Whitelist Method | 13772266 | 1065 days ago | IN | 0 ETH | 0.00252663 | ||||
Whitelist Method | 13772266 | 1065 days ago | IN | 0 ETH | 0.00252663 | ||||
Whitelist Exchan... | 13772266 | 1065 days ago | IN | 0 ETH | 0.00503219 | ||||
Set Exchange Ada... | 13772264 | 1065 days ago | IN | 0 ETH | 0.00244016 | ||||
Set Exchange Ada... | 11633708 | 1398 days ago | IN | 0 ETH | 0.00305148 | ||||
Whitelist Method | 11633703 | 1398 days ago | IN | 0 ETH | 0.00479712 | ||||
Whitelist Method | 11633697 | 1398 days ago | IN | 0 ETH | 0.00479712 | ||||
Whitelist Method | 11633691 | 1398 days ago | IN | 0 ETH | 0.00484369 | ||||
Whitelist Method | 11633687 | 1398 days ago | IN | 0 ETH | 0.00479712 |
Advanced mode: Intended for advanced users or developers and will display all Internal Transactions including zero value transfers. Name tag integration is not available in advanced view.
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block | From | To | ||||
---|---|---|---|---|---|---|---|
14750697 | 913 days ago | 0 ETH | |||||
14750697 | 913 days ago | 0 ETH | |||||
14750697 | 913 days ago | 0 ETH | |||||
14750697 | 913 days ago | 0 ETH | |||||
14743534 | 914 days ago | 0 ETH | |||||
14743534 | 914 days ago | 0 ETH | |||||
14743534 | 914 days ago | 0 ETH | |||||
14743534 | 914 days ago | 0 ETH | |||||
14743534 | 914 days ago | 0 ETH | |||||
14743534 | 914 days ago | 0 ETH | |||||
14743534 | 914 days ago | 0 ETH | |||||
14743534 | 914 days ago | 0 ETH | |||||
14234982 | 994 days ago | 0 ETH | |||||
14234982 | 994 days ago | 0 ETH | |||||
14234982 | 994 days ago | 0 ETH | |||||
14234982 | 994 days ago | 0 ETH | |||||
14232888 | 994 days ago | 0 ETH | |||||
14232888 | 994 days ago | 0 ETH | |||||
14232888 | 994 days ago | 0 ETH | |||||
14232888 | 994 days ago | 0 ETH | |||||
14230319 | 995 days ago | 0 ETH | |||||
14230319 | 995 days ago | 0 ETH | |||||
14230319 | 995 days ago | 0 ETH | |||||
14230319 | 995 days ago | 0 ETH | |||||
14230270 | 995 days ago | 0 ETH |
Loading...
Loading
Contract Name:
ExchangesAuthority
Compiler Version
v0.4.25+commit.59dbf8f1
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2020-08-04 */ /* Copyright 2018 RigoBlock, Rigo Investment Sagl. 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.25; pragma experimental "v0.5.0"; contract Owned { address public owner; event NewOwner(address indexed old, address indexed current); modifier onlyOwner { require(msg.sender == owner); _; } constructor() public { owner = msg.sender; } function setOwner(address _new) public onlyOwner { require(_new != address(0)); owner = _new; emit NewOwner(owner, _new); } } /// @title Exchange Authority Interface - A helper contract for the exchange adapters. /// @author Gabriele Rigo - <[email protected]> // solhint-disable-next-line interface ExchangesAuthorityFace { /* * EVENTS */ event AuthoritySet(address indexed authority); event WhitelisterSet(address indexed whitelister); event WhitelistedAsset(address indexed asset, bool approved); event WhitelistedExchange(address indexed exchange, bool approved); event WhitelistedWrapper(address indexed wrapper, bool approved); event WhitelistedProxy(address indexed proxy, bool approved); event WhitelistedMethod(bytes4 indexed method, address indexed exchange, bool approved); event NewSigVerifier(address indexed sigVerifier); event NewExchangeEventful(address indexed exchangeEventful); event NewCasper(address indexed casper); /* * CORE FUNCTIONS */ /// @dev Allows the owner to whitelist an authority /// @param _authority Address of the authority /// @param _isWhitelisted Bool whitelisted function setAuthority(address _authority, bool _isWhitelisted) external; /// @dev Allows the owner to whitelist a whitelister /// @param _whitelister Address of the whitelister /// @param _isWhitelisted Bool whitelisted function setWhitelister(address _whitelister, bool _isWhitelisted) external; /// @dev Allows a whitelister to whitelist an asset /// @param _asset Address of the token /// @param _isWhitelisted Bool whitelisted function whitelistAsset(address _asset, bool _isWhitelisted) external; /// @dev Allows a whitelister to whitelist an exchange /// @param _exchange Address of the target exchange /// @param _isWhitelisted Bool whitelisted function whitelistExchange(address _exchange, bool _isWhitelisted) external; /// @dev Allows a whitelister to whitelist an token wrapper /// @param _wrapper Address of the target token wrapper /// @param _isWhitelisted Bool whitelisted function whitelistWrapper(address _wrapper, bool _isWhitelisted) external; /// @dev Allows a whitelister to whitelist a tokenTransferProxy /// @param _tokenTransferProxy Address of the proxy /// @param _isWhitelisted Bool whitelisted function whitelistTokenTransferProxy( address _tokenTransferProxy, bool _isWhitelisted) external; /// @dev Allows a whitelister to enable trading on a particular exchange /// @param _asset Address of the token /// @param _exchange Address of the exchange /// @param _isWhitelisted Bool whitelisted function whitelistAssetOnExchange( address _asset, address _exchange, bool _isWhitelisted) external; /// @dev Allows a whitelister to enable assiciate wrappers to a token /// @param _token Address of the token /// @param _wrapper Address of the exchange /// @param _isWhitelisted Bool whitelisted function whitelistTokenOnWrapper( address _token, address _wrapper, bool _isWhitelisted) external; /// @dev Allows an admin to whitelist a factory /// @param _method Hex of the function ABI /// @param _isWhitelisted Bool whitelisted function whitelistMethod( bytes4 _method, address _adapter, bool _isWhitelisted) external; /// @dev Allows the owner to set the signature verifier /// @param _sigVerifier Address of the logs contract function setSignatureVerifier(address _sigVerifier) external; /// @dev Allows the owner to set the exchange eventful /// @param _exchangeEventful Address of the exchange logs contract function setExchangeEventful(address _exchangeEventful) external; /// @dev Allows the owner to associate an exchange to its adapter /// @param _exchange Address of the exchange /// @param _adapter Address of the adapter function setExchangeAdapter(address _exchange, address _adapter) external; /// @dev Allows the owner to set the casper contract /// @param _casper Address of the casper contract function setCasper(address _casper) external; /* * CONSTANT PUBLIC FUNCTIONS */ /// @dev Provides whether an address is an authority /// @param _authority Address of the target authority /// @return Bool is whitelisted function isAuthority(address _authority) external view returns (bool); /// @dev Provides whether an asset is whitelisted /// @param _asset Address of the target asset /// @return Bool is whitelisted function isWhitelistedAsset(address _asset) external view returns (bool); /// @dev Provides whether an exchange is whitelisted /// @param _exchange Address of the target exchange /// @return Bool is whitelisted function isWhitelistedExchange(address _exchange) external view returns (bool); /// @dev Provides whether a token wrapper is whitelisted /// @param _wrapper Address of the target exchange /// @return Bool is whitelisted function isWhitelistedWrapper(address _wrapper) external view returns (bool); /// @dev Provides whether a proxy is whitelisted /// @param _tokenTransferProxy Address of the proxy /// @return Bool is whitelisted function isWhitelistedProxy(address _tokenTransferProxy) external view returns (bool); /// @dev Provides the address of the exchange adapter /// @param _exchange Address of the exchange /// @return Address of the adapter function getExchangeAdapter(address _exchange) external view returns (address); /// @dev Provides the address of the signature verifier /// @return Address of the verifier function getSigVerifier() external view returns (address); /// @dev Checkes whether a token is allowed on an exchange /// @param _token Address of the token /// @param _exchange Address of the exchange /// @return Bool the token is whitelisted on the exchange function canTradeTokenOnExchange(address _token, address _exchange) external view returns (bool); /// @dev Checkes whether a token is allowed on a wrapper /// @param _token Address of the token /// @return Bool the token is whitelisted on the exchange function canWrapTokenOnWrapper(address _token, address _wrapper) external view returns (bool); /// @dev Checkes whether a method is allowed on an exchange function isMethodAllowed(bytes4 _method, address _exchange) external view returns (bool); /// @dev Checkes whether casper has been inizialized /// @return Bool the casper contract has been initialized function isCasperInitialized() external view returns (bool); /// @dev Provides the address of the casper contract /// @return Address of the casper contract function getCasper() external view returns (address); } /// @title Exchanges Authority - A helper contract for the exchange adapters. /// @author Gabriele Rigo - <[email protected]> // solhint-disable-next-line contract ExchangesAuthority is Owned, ExchangesAuthorityFace { BuildingBlocks public blocks; Type public types; mapping (address => Account) public accounts; struct List { address target; } struct Type { string types; List[] list; } struct Group { bool whitelister; bool exchange; bool asset; bool authority; bool wrapper; bool proxy; } struct Account { address account; bool authorized; mapping (bool => Group) groups; //mapping account to bool authorized to bool group } struct BuildingBlocks { address exchangeEventful; address sigVerifier; address casper; mapping (address => bool) initialized; mapping (address => address) adapter; // Mapping of exchange => method => approved mapping (address => mapping (bytes4 => bool)) allowedMethods; mapping (address => mapping (address => bool)) allowedTokens; mapping (address => mapping (address => bool)) allowedWrappers; } /* * EVENTS */ event AuthoritySet(address indexed authority); event WhitelisterSet(address indexed whitelister); event WhitelistedAsset(address indexed asset, bool approved); event WhitelistedExchange(address indexed exchange, bool approved); event WhitelistedWrapper(address indexed wrapper, bool approved); event WhitelistedProxy(address indexed proxy, bool approved); event WhitelistedMethod(bytes4 indexed method, address indexed adapter, bool approved); event NewSigVerifier(address indexed sigVerifier); event NewExchangeEventful(address indexed exchangeEventful); event NewCasper(address indexed casper); /* * MODIFIERS */ modifier onlyAdmin { require(msg.sender == owner || isWhitelister(msg.sender)); _; } modifier onlyWhitelister { require(isWhitelister(msg.sender)); _; } /* * CORE FUNCTIONS */ /// @dev Allows the owner to whitelist an authority /// @param _authority Address of the authority /// @param _isWhitelisted Bool whitelisted function setAuthority(address _authority, bool _isWhitelisted) external onlyOwner { setAuthorityInternal(_authority, _isWhitelisted); } /// @dev Allows the owner to whitelist a whitelister /// @param _whitelister Address of the whitelister /// @param _isWhitelisted Bool whitelisted function setWhitelister(address _whitelister, bool _isWhitelisted) external onlyOwner { setWhitelisterInternal(_whitelister, _isWhitelisted); } /// @dev Allows a whitelister to whitelist an asset /// @param _asset Address of the token /// @param _isWhitelisted Bool whitelisted function whitelistAsset(address _asset, bool _isWhitelisted) external onlyWhitelister { accounts[_asset].account = _asset; accounts[_asset].authorized = _isWhitelisted; accounts[_asset].groups[_isWhitelisted].asset = _isWhitelisted; types.list.push(List(_asset)); emit WhitelistedAsset(_asset, _isWhitelisted); } /// @dev Allows a whitelister to whitelist an exchange /// @param _exchange Address of the target exchange /// @param _isWhitelisted Bool whitelisted function whitelistExchange(address _exchange, bool _isWhitelisted) external onlyWhitelister { accounts[_exchange].account = _exchange; accounts[_exchange].authorized = _isWhitelisted; accounts[_exchange].groups[_isWhitelisted].exchange = _isWhitelisted; types.list.push(List(_exchange)); emit WhitelistedExchange(_exchange, _isWhitelisted); } /// @dev Allows a whitelister to whitelist an token wrapper /// @param _wrapper Address of the target token wrapper /// @param _isWhitelisted Bool whitelisted function whitelistWrapper(address _wrapper, bool _isWhitelisted) external onlyWhitelister { accounts[_wrapper].account = _wrapper; accounts[_wrapper].authorized = _isWhitelisted; accounts[_wrapper].groups[_isWhitelisted].wrapper = _isWhitelisted; types.list.push(List(_wrapper)); emit WhitelistedWrapper(_wrapper, _isWhitelisted); } /// @dev Allows a whitelister to whitelist a tokenTransferProxy /// @param _tokenTransferProxy Address of the proxy /// @param _isWhitelisted Bool whitelisted function whitelistTokenTransferProxy( address _tokenTransferProxy, bool _isWhitelisted) external onlyWhitelister { accounts[_tokenTransferProxy].account = _tokenTransferProxy; accounts[_tokenTransferProxy].authorized = _isWhitelisted; accounts[_tokenTransferProxy].groups[_isWhitelisted].proxy = _isWhitelisted; types.list.push(List(_tokenTransferProxy)); emit WhitelistedProxy(_tokenTransferProxy, _isWhitelisted); } /// @dev Allows a whitelister to enable trading on a particular exchange /// @param _asset Address of the token /// @param _exchange Address of the exchange /// @param _isWhitelisted Bool whitelisted function whitelistAssetOnExchange( address _asset, address _exchange, bool _isWhitelisted) external onlyAdmin { blocks.allowedTokens[_exchange][_asset] = _isWhitelisted; emit WhitelistedAsset(_asset, _isWhitelisted); } /// @dev Allows a whitelister to enable assiciate wrappers to a token /// @param _token Address of the token /// @param _wrapper Address of the exchange /// @param _isWhitelisted Bool whitelisted function whitelistTokenOnWrapper(address _token, address _wrapper, bool _isWhitelisted) external onlyAdmin { blocks.allowedWrappers[_wrapper][_token] = _isWhitelisted; emit WhitelistedAsset(_token, _isWhitelisted); } /// @dev Allows an admin to whitelist a factory /// @param _method Hex of the function ABI /// @param _isWhitelisted Bool whitelisted function whitelistMethod( bytes4 _method, address _adapter, bool _isWhitelisted) external onlyAdmin { blocks.allowedMethods[_adapter][_method] = _isWhitelisted; emit WhitelistedMethod(_method, _adapter, _isWhitelisted); } /// @dev Allows the owner to set the signature verifier /// @param _sigVerifier Address of the verifier contract function setSignatureVerifier(address _sigVerifier) external onlyOwner { blocks.sigVerifier = _sigVerifier; emit NewSigVerifier(blocks.sigVerifier); } /// @dev Allows the owner to set the exchange eventful /// @param _exchangeEventful Address of the exchange logs contract function setExchangeEventful(address _exchangeEventful) external onlyOwner { blocks.exchangeEventful = _exchangeEventful; emit NewExchangeEventful(blocks.exchangeEventful); } /// @dev Allows the owner to associate an exchange to its adapter /// @param _exchange Address of the exchange /// @param _adapter Address of the adapter function setExchangeAdapter(address _exchange, address _adapter) external onlyOwner { require(_exchange != _adapter); blocks.adapter[_exchange] = _adapter; } /// @dev Allows the owner to set the casper contract /// @param _casper Address of the casper contract function setCasper(address _casper) external onlyOwner { blocks.casper = _casper; blocks.initialized[_casper] = true; emit NewCasper(blocks.casper); } /* * CONSTANT PUBLIC FUNCTIONS */ /// @dev Provides whether an address is an authority /// @param _authority Address of the target authority /// @return Bool is whitelisted function isAuthority(address _authority) external view returns (bool) { return accounts[_authority].groups[true].authority; } /// @dev Provides whether an asset is whitelisted /// @param _asset Address of the target asset /// @return Bool is whitelisted function isWhitelistedAsset(address _asset) external view returns (bool) { return accounts[_asset].groups[true].asset; } /// @dev Provides whether an exchange is whitelisted /// @param _exchange Address of the target exchange /// @return Bool is whitelisted function isWhitelistedExchange(address _exchange) external view returns (bool) { return accounts[_exchange].groups[true].exchange; } /// @dev Provides whether a token wrapper is whitelisted /// @param _wrapper Address of the target exchange /// @return Bool is whitelisted function isWhitelistedWrapper(address _wrapper) external view returns (bool) { return accounts[_wrapper].groups[true].wrapper; } /// @dev Provides whether a proxy is whitelisted /// @param _tokenTransferProxy Address of the proxy /// @return Bool is whitelisted function isWhitelistedProxy(address _tokenTransferProxy) external view returns (bool) { return accounts[_tokenTransferProxy].groups[true].proxy; } /// @dev Provides the address of the exchange adapter /// @param _exchange Address of the exchange /// @return Address of the adapter function getExchangeAdapter(address _exchange) external view returns (address) { return blocks.adapter[_exchange]; } /// @dev Provides the address of the signature verifier /// @return Address of the verifier function getSigVerifier() external view returns (address) { return blocks.sigVerifier; } /// @dev Checkes whether a token is allowed on an exchange /// @param _token Address of the token /// @param _exchange Address of the exchange /// @return Bool the token is whitelisted on the exchange function canTradeTokenOnExchange(address _token, address _exchange) external view returns (bool) { return blocks.allowedTokens[_exchange][_token]; } /// @dev Checkes whether a token is allowed on a wrapper /// @param _token Address of the token /// @param _wrapper Address of the token wrapper /// @return Bool the token is whitelisted on the exchange function canWrapTokenOnWrapper(address _token, address _wrapper) external view returns (bool) { return blocks.allowedWrappers[_wrapper][_token]; } /// @dev Checkes whether a method is allowed on an exchange /// @param _method Bytes of the function signature /// @param _adapter Address of the exchange /// @return Bool the method is allowed function isMethodAllowed(bytes4 _method, address _adapter) external view returns (bool) { return blocks.allowedMethods[_adapter][_method]; } /// @dev Checkes whether casper has been inizialized /// @return Bool the casper contract has been initialized function isCasperInitialized() external view returns (bool) { address casper = blocks.casper; return blocks.initialized[casper]; } /// @dev Provides the address of the casper contract /// @return Address of the casper contract function getCasper() external view returns (address) { return blocks.casper; } /* * INTERNAL FUNCTIONS */ /// @dev Allows to whitelist an authority /// @param _authority Address of the authority /// @param _isWhitelisted Bool whitelisted function setAuthorityInternal( address _authority, bool _isWhitelisted) internal { accounts[_authority].account = _authority; accounts[_authority].authorized = _isWhitelisted; accounts[_authority].groups[_isWhitelisted].authority = _isWhitelisted; setWhitelisterInternal(_authority, _isWhitelisted); types.list.push(List(_authority)); emit AuthoritySet(_authority); } /// @dev Allows the owner to whitelist a whitelister /// @param _whitelister Address of the whitelister /// @param _isWhitelisted Bool whitelisted function setWhitelisterInternal( address _whitelister, bool _isWhitelisted) internal { accounts[_whitelister].account = _whitelister; accounts[_whitelister].authorized = _isWhitelisted; accounts[_whitelister].groups[_isWhitelisted].whitelister = _isWhitelisted; types.list.push(List(_whitelister)); emit WhitelisterSet(_whitelister); } /// @dev Provides whether an address is whitelister /// @param _whitelister Address of the target whitelister /// @return Bool is whitelisted function isWhitelister(address _whitelister) internal view returns (bool) { return accounts[_whitelister].groups[true].whitelister; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":false,"inputs":[{"name":"_new","type":"address"}],"name":"setOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"isCasperInitialized","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getCasper","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_authority","type":"address"}],"name":"isAuthority","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_wrapper","type":"address"},{"name":"_isWhitelisted","type":"bool"}],"name":"whitelistWrapper","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_casper","type":"address"}],"name":"setCasper","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_token","type":"address"},{"name":"_wrapper","type":"address"},{"name":"_isWhitelisted","type":"bool"}],"name":"whitelistTokenOnWrapper","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_exchange","type":"address"}],"name":"getExchangeAdapter","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_token","type":"address"},{"name":"_wrapper","type":"address"}],"name":"canWrapTokenOnWrapper","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_tokenTransferProxy","type":"address"}],"name":"isWhitelistedProxy","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getSigVerifier","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"accounts","outputs":[{"name":"account","type":"address"},{"name":"authorized","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_method","type":"bytes4"},{"name":"_adapter","type":"address"}],"name":"isMethodAllowed","outputs":[{"name":"","type":"bool"}],"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":"blocks","outputs":[{"name":"exchangeEventful","type":"address"},{"name":"sigVerifier","type":"address"},{"name":"casper","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_exchange","type":"address"}],"name":"isWhitelistedExchange","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_exchange","type":"address"},{"name":"_isWhitelisted","type":"bool"}],"name":"whitelistExchange","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_asset","type":"address"}],"name":"isWhitelistedAsset","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_asset","type":"address"},{"name":"_exchange","type":"address"},{"name":"_isWhitelisted","type":"bool"}],"name":"whitelistAssetOnExchange","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_exchangeEventful","type":"address"}],"name":"setExchangeEventful","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_authority","type":"address"},{"name":"_isWhitelisted","type":"bool"}],"name":"setAuthority","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_tokenTransferProxy","type":"address"},{"name":"_isWhitelisted","type":"bool"}],"name":"whitelistTokenTransferProxy","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_exchange","type":"address"},{"name":"_adapter","type":"address"}],"name":"setExchangeAdapter","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_whitelister","type":"address"},{"name":"_isWhitelisted","type":"bool"}],"name":"setWhitelister","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_asset","type":"address"},{"name":"_isWhitelisted","type":"bool"}],"name":"whitelistAsset","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"types","outputs":[{"name":"types","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_sigVerifier","type":"address"}],"name":"setSignatureVerifier","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_token","type":"address"},{"name":"_exchange","type":"address"}],"name":"canTradeTokenOnExchange","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_wrapper","type":"address"}],"name":"isWhitelistedWrapper","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_method","type":"bytes4"},{"name":"_adapter","type":"address"},{"name":"_isWhitelisted","type":"bool"}],"name":"whitelistMethod","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"anonymous":false,"inputs":[{"indexed":true,"name":"authority","type":"address"}],"name":"AuthoritySet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"whitelister","type":"address"}],"name":"WhitelisterSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"asset","type":"address"},{"indexed":false,"name":"approved","type":"bool"}],"name":"WhitelistedAsset","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"exchange","type":"address"},{"indexed":false,"name":"approved","type":"bool"}],"name":"WhitelistedExchange","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"wrapper","type":"address"},{"indexed":false,"name":"approved","type":"bool"}],"name":"WhitelistedWrapper","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"proxy","type":"address"},{"indexed":false,"name":"approved","type":"bool"}],"name":"WhitelistedProxy","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"method","type":"bytes4"},{"indexed":true,"name":"adapter","type":"address"},{"indexed":false,"name":"approved","type":"bool"}],"name":"WhitelistedMethod","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"sigVerifier","type":"address"}],"name":"NewSigVerifier","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"exchangeEventful","type":"address"}],"name":"NewExchangeEventful","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"casper","type":"address"}],"name":"NewCasper","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"old","type":"address"},{"indexed":true,"name":"current","type":"address"}],"name":"NewOwner","type":"event"}]
Contract Creation Code
608060405260008054600160a060020a03191633179055611333806100256000396000f30060806040526004361061017f5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166313af403581146101845780631a68f034146101a75780632314d79c146101d05780632330f247146102015780633bd89497146102225780633f7532e214610248578063418a56e414610269578063485ff697146102955780634da07da3146102b657806358c860f9146102dd5780635b28556d146102fe5780635e5c06e2146103135780637ecf2c2f146103575780638da5cb5b14610385578063967ff23e1461039a5780639aa4d0a0146103da578063a3254102146103fb578063ab1dc42714610421578063abda237114610442578063b191f13b1461046e578063b5f0d35c1461048f578063bdcc542f146104b5578063c4ef5c85146104db578063c91b014914610502578063cba91dd214610528578063ccbff9791461054e578063e08a6605146105d8578063f1915b17146105f9578063f3229cda14610620578063fb34c29014610641575b600080fd5b34801561019057600080fd5b506101a5600160a060020a0360043516610674565b005b3480156101b357600080fd5b506101bc6106ee565b604080519115158252519081900360200190f35b3480156101dc57600080fd5b506101e561070f565b60408051600160a060020a039092168252519081900360200190f35b34801561020d57600080fd5b506101bc600160a060020a036004351661071e565b34801561022e57600080fd5b506101a5600160a060020a03600435166024351515610751565b34801561025457600080fd5b506101a5600160a060020a0360043516610838565b34801561027557600080fd5b506101a5600160a060020a036004358116906024351660443515156108b5565b3480156102a157600080fd5b506101e5600160a060020a036004351661094b565b3480156102c257600080fd5b506101bc600160a060020a0360043581169060243516610969565b3480156102e957600080fd5b506101bc600160a060020a0360043516610998565b34801561030a57600080fd5b506101e56109cd565b34801561031f57600080fd5b50610334600160a060020a03600435166109dc565b60408051600160a060020a03909316835290151560208301528051918290030190f35b34801561036357600080fd5b506101bc600160e060020a031960043516600160a060020a0360243516610a03565b34801561039157600080fd5b506101e5610a37565b3480156103a657600080fd5b506103af610a46565b60408051600160a060020a039485168152928416602084015292168183015290519081900360600190f35b3480156103e657600080fd5b506101bc600160a060020a0360043516610a63565b34801561040757600080fd5b506101a5600160a060020a03600435166024351515610a94565b34801561042d57600080fd5b506101bc600160a060020a0360043516610b75565b34801561044e57600080fd5b506101a5600160a060020a03600435811690602435166044351515610ba7565b34801561047a57600080fd5b506101a5600160a060020a0360043516610c3d565b34801561049b57600080fd5b506101a5600160a060020a03600435166024351515610ca4565b3480156104c157600080fd5b506101a5600160a060020a03600435166024351515610cc9565b3480156104e757600080fd5b506101a5600160a060020a0360043581169060243516610db2565b34801561050e57600080fd5b506101a5600160a060020a03600435166024351515610e10565b34801561053457600080fd5b506101a5600160a060020a03600435166024351515610e31565b34801561055a57600080fd5b50610563610f14565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561059d578181015183820152602001610585565b50505050905090810190601f1680156105ca5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156105e457600080fd5b506101a5600160a060020a0360043516610fa6565b34801561060557600080fd5b506101bc600160a060020a036004358116906024351661100d565b34801561062c57600080fd5b506101bc600160a060020a036004351661103c565b34801561064d57600080fd5b506101a5600160e060020a031960043516600160a060020a03602435166044351515611070565b600054600160a060020a0316331461068b57600080fd5b600160a060020a03811615156106a057600080fd5b60008054600160a060020a031916600160a060020a0383811691821780845560405192939116917f70aea8d848e8a90fb7661b227dc522eb6395c3dac71b63cb59edd5c9899b23649190a350565b600354600160a060020a031660009081526004602052604090205460ff1690565b600354600160a060020a031690565b600160a060020a03166000908152600b602090815260408083206001808552019091529020546301000000900460ff1690565b61075a3361110e565b151561076557600080fd5b600160a060020a038083166000818152600b60209081526040808320805487151560a060020a810260a060020a60ff0219600160a060020a0319938416891716178355808652600192830185528386208054640100000000830264ff000000001990911617905583518086018552878152600a8054948501815590965294516000805160206112e88339815191529092018054929097169116179094558351918252925191927f7aef30a25ce3716a35bed040cbe56c5c3634c99fd57f50fd37a8b9187af04c9d92918290030190a25050565b600054600160a060020a0316331461084f57600080fd5b60038054600160a060020a031916600160a060020a038381169182178355600091825260046020526040808320805460ff19166001179055925492519216917ff62b7326bb5f6084a70482a099d3ded86de8cfbbfcea28e4f5b04ad693bf55ce9190a250565b600054600160a060020a03163314806108d257506108d23361110e565b15156108dd57600080fd5b600160a060020a03828116600090815260086020908152604080832093871680845293825291829020805460ff1916851515908117909155825190815291517fb4e51190ac09d88100031de9d538eda33e031ff4ea0598f973dcb1531ce12eb19281900390910190a2505050565b600160a060020a039081166000908152600560205260409020541690565b600160a060020a0380821660009081526008602090815260408083209386168352929052205460ff1692915050565b600160a060020a03166000908152600b6020908152604080832060018085520190915290205465010000000000900460ff1690565b600254600160a060020a031690565b600b60205260009081526040902054600160a060020a0381169060a060020a900460ff1682565b600160a060020a03166000908152600660209081526040808320600160e060020a0319949094168352929052205460ff1690565b600054600160a060020a031681565b600154600254600354600160a060020a0392831692918216911683565b600160a060020a03166000908152600b60209081526040808320600180855201909152902054610100900460ff1690565b610a9d3361110e565b1515610aa857600080fd5b600160a060020a038083166000818152600b60209081526040808320805487151560a060020a810260a060020a60ff0219600160a060020a0319938416891716178355808652600192830185528386208054610100830261ff001990911617905583518086018552878152600a8054948501815590965294516000805160206112e88339815191529092018054929097169116179094558351918252925191927fb541b66aaab15841e9f8a3a40fc50b777ddd85dc6378cfc6389a973d2117c7d592918290030190a25050565b600160a060020a03166000908152600b6020908152604080832060018085520190915290205462010000900460ff1690565b600054600160a060020a0316331480610bc45750610bc43361110e565b1515610bcf57600080fd5b600160a060020a03828116600090815260076020908152604080832093871680845293825291829020805460ff1916851515908117909155825190815291517fb4e51190ac09d88100031de9d538eda33e031ff4ea0598f973dcb1531ce12eb19281900390910190a2505050565b600054600160a060020a03163314610c5457600080fd5b60018054600160a060020a031916600160a060020a0383811691909117918290556040519116907f357d1ba45e9ef3fb937f4b33a26a6efed1b2f40114460d16fbfce82aca41575590600090a250565b600054600160a060020a03163314610cbb57600080fd5b610cc5828261113a565b5050565b610cd23361110e565b1515610cdd57600080fd5b600160a060020a038083166000818152600b60209081526040808320805487151560a060020a810260a060020a60ff0219600160a060020a031993841689171617835580865260019283018552838620805465010000000000830265ff00000000001990911617905583518086018552878152600a8054948501815590965294516000805160206112e88339815191529092018054929097169116179094558351918252925191927f3f3eed7eaae83dc29780651cd8137dff8325c81eea4c1091ac034a5572e1e2ef92918290030190a25050565b600054600160a060020a03163314610dc957600080fd5b600160a060020a038281169082161415610de257600080fd5b600160a060020a0391821660009081526005602052604090208054600160a060020a03191691909216179055565b600054600160a060020a03163314610e2757600080fd5b610cc58282611229565b610e3a3361110e565b1515610e4557600080fd5b600160a060020a038083166000818152600b60209081526040808320805487151560a060020a810260a060020a60ff0219600160a060020a031993841689171617835580865260019283018552838620805462010000830262ff00001990911617905583518086018552878152600a8054948501815590965294516000805160206112e88339815191529092018054929097169116179094558351918252925191927fb4e51190ac09d88100031de9d538eda33e031ff4ea0598f973dcb1531ce12eb192918290030190a25050565b60098054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152918391830182828015610f9c5780601f10610f7157610100808354040283529160200191610f9c565b820191906000526020600020905b815481529060010190602001808311610f7f57829003601f168201915b5050505050905081565b600054600160a060020a03163314610fbd57600080fd5b60028054600160a060020a031916600160a060020a0383811691909117918290556040519116907f95dcb20e52ed37833185c8b850bf9fa7990bdb0f232209c82b0a97a0a3a602e190600090a250565b600160a060020a0380821660009081526007602090815260408083209386168352929052205460ff1692915050565b600160a060020a03166000908152600b60209081526040808320600180855201909152902054640100000000900460ff1690565b600054600160a060020a031633148061108d575061108d3361110e565b151561109857600080fd5b600160a060020a0382166000818152600660209081526040808320600160e060020a0319881680855290835292819020805460ff1916861515908117909155815190815290517f3f8a1234a535cf651c4bcc3d4c56b68d7ff3264d0c4c8a3675245853f7851a11929181900390910190a3505050565b600160a060020a03166000908152600b6020908152604080832060018085520190915290205460ff1690565b600160a060020a0382166000818152600b602090815260408083208054600160a060020a03191690941760a060020a60ff02191660a060020a86151590810291909117855580845260019094019091529020805463ff000000191663010000009092029190911790556111ad8282611229565b60408051602081018252600160a060020a03848116808352600a8054600181018255600091825293516000805160206112e88339815191529094018054600160a060020a031916949093169390931790915591517f17898fd7375ca5152626d6fdd4ceb2bce6cc033c9b61e254dd0087d5f8b474309190a25050565b600160a060020a038083166000818152600b60209081526040808320805487151560a060020a810260a060020a60ff0219600160a060020a031993841689171617835580865260019283018552838620805460ff1916909117905582519384018352858452600a80549283018155855292516000805160206112e8833981519152909101805491909616921691909117909355915190917f0a9327c1e2b316c1e4412bc43a5bc2b0c629ecde4f1c9e21911d02ac8b3ad42d91a250505600c65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8a165627a7a7230582005185ae2992b3230b315d11c246dfd7ff1447467fe0a9d7f0b49ddc7c947282f0029
Deployed Bytecode
0x60806040526004361061017f5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166313af403581146101845780631a68f034146101a75780632314d79c146101d05780632330f247146102015780633bd89497146102225780633f7532e214610248578063418a56e414610269578063485ff697146102955780634da07da3146102b657806358c860f9146102dd5780635b28556d146102fe5780635e5c06e2146103135780637ecf2c2f146103575780638da5cb5b14610385578063967ff23e1461039a5780639aa4d0a0146103da578063a3254102146103fb578063ab1dc42714610421578063abda237114610442578063b191f13b1461046e578063b5f0d35c1461048f578063bdcc542f146104b5578063c4ef5c85146104db578063c91b014914610502578063cba91dd214610528578063ccbff9791461054e578063e08a6605146105d8578063f1915b17146105f9578063f3229cda14610620578063fb34c29014610641575b600080fd5b34801561019057600080fd5b506101a5600160a060020a0360043516610674565b005b3480156101b357600080fd5b506101bc6106ee565b604080519115158252519081900360200190f35b3480156101dc57600080fd5b506101e561070f565b60408051600160a060020a039092168252519081900360200190f35b34801561020d57600080fd5b506101bc600160a060020a036004351661071e565b34801561022e57600080fd5b506101a5600160a060020a03600435166024351515610751565b34801561025457600080fd5b506101a5600160a060020a0360043516610838565b34801561027557600080fd5b506101a5600160a060020a036004358116906024351660443515156108b5565b3480156102a157600080fd5b506101e5600160a060020a036004351661094b565b3480156102c257600080fd5b506101bc600160a060020a0360043581169060243516610969565b3480156102e957600080fd5b506101bc600160a060020a0360043516610998565b34801561030a57600080fd5b506101e56109cd565b34801561031f57600080fd5b50610334600160a060020a03600435166109dc565b60408051600160a060020a03909316835290151560208301528051918290030190f35b34801561036357600080fd5b506101bc600160e060020a031960043516600160a060020a0360243516610a03565b34801561039157600080fd5b506101e5610a37565b3480156103a657600080fd5b506103af610a46565b60408051600160a060020a039485168152928416602084015292168183015290519081900360600190f35b3480156103e657600080fd5b506101bc600160a060020a0360043516610a63565b34801561040757600080fd5b506101a5600160a060020a03600435166024351515610a94565b34801561042d57600080fd5b506101bc600160a060020a0360043516610b75565b34801561044e57600080fd5b506101a5600160a060020a03600435811690602435166044351515610ba7565b34801561047a57600080fd5b506101a5600160a060020a0360043516610c3d565b34801561049b57600080fd5b506101a5600160a060020a03600435166024351515610ca4565b3480156104c157600080fd5b506101a5600160a060020a03600435166024351515610cc9565b3480156104e757600080fd5b506101a5600160a060020a0360043581169060243516610db2565b34801561050e57600080fd5b506101a5600160a060020a03600435166024351515610e10565b34801561053457600080fd5b506101a5600160a060020a03600435166024351515610e31565b34801561055a57600080fd5b50610563610f14565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561059d578181015183820152602001610585565b50505050905090810190601f1680156105ca5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156105e457600080fd5b506101a5600160a060020a0360043516610fa6565b34801561060557600080fd5b506101bc600160a060020a036004358116906024351661100d565b34801561062c57600080fd5b506101bc600160a060020a036004351661103c565b34801561064d57600080fd5b506101a5600160e060020a031960043516600160a060020a03602435166044351515611070565b600054600160a060020a0316331461068b57600080fd5b600160a060020a03811615156106a057600080fd5b60008054600160a060020a031916600160a060020a0383811691821780845560405192939116917f70aea8d848e8a90fb7661b227dc522eb6395c3dac71b63cb59edd5c9899b23649190a350565b600354600160a060020a031660009081526004602052604090205460ff1690565b600354600160a060020a031690565b600160a060020a03166000908152600b602090815260408083206001808552019091529020546301000000900460ff1690565b61075a3361110e565b151561076557600080fd5b600160a060020a038083166000818152600b60209081526040808320805487151560a060020a810260a060020a60ff0219600160a060020a0319938416891716178355808652600192830185528386208054640100000000830264ff000000001990911617905583518086018552878152600a8054948501815590965294516000805160206112e88339815191529092018054929097169116179094558351918252925191927f7aef30a25ce3716a35bed040cbe56c5c3634c99fd57f50fd37a8b9187af04c9d92918290030190a25050565b600054600160a060020a0316331461084f57600080fd5b60038054600160a060020a031916600160a060020a038381169182178355600091825260046020526040808320805460ff19166001179055925492519216917ff62b7326bb5f6084a70482a099d3ded86de8cfbbfcea28e4f5b04ad693bf55ce9190a250565b600054600160a060020a03163314806108d257506108d23361110e565b15156108dd57600080fd5b600160a060020a03828116600090815260086020908152604080832093871680845293825291829020805460ff1916851515908117909155825190815291517fb4e51190ac09d88100031de9d538eda33e031ff4ea0598f973dcb1531ce12eb19281900390910190a2505050565b600160a060020a039081166000908152600560205260409020541690565b600160a060020a0380821660009081526008602090815260408083209386168352929052205460ff1692915050565b600160a060020a03166000908152600b6020908152604080832060018085520190915290205465010000000000900460ff1690565b600254600160a060020a031690565b600b60205260009081526040902054600160a060020a0381169060a060020a900460ff1682565b600160a060020a03166000908152600660209081526040808320600160e060020a0319949094168352929052205460ff1690565b600054600160a060020a031681565b600154600254600354600160a060020a0392831692918216911683565b600160a060020a03166000908152600b60209081526040808320600180855201909152902054610100900460ff1690565b610a9d3361110e565b1515610aa857600080fd5b600160a060020a038083166000818152600b60209081526040808320805487151560a060020a810260a060020a60ff0219600160a060020a0319938416891716178355808652600192830185528386208054610100830261ff001990911617905583518086018552878152600a8054948501815590965294516000805160206112e88339815191529092018054929097169116179094558351918252925191927fb541b66aaab15841e9f8a3a40fc50b777ddd85dc6378cfc6389a973d2117c7d592918290030190a25050565b600160a060020a03166000908152600b6020908152604080832060018085520190915290205462010000900460ff1690565b600054600160a060020a0316331480610bc45750610bc43361110e565b1515610bcf57600080fd5b600160a060020a03828116600090815260076020908152604080832093871680845293825291829020805460ff1916851515908117909155825190815291517fb4e51190ac09d88100031de9d538eda33e031ff4ea0598f973dcb1531ce12eb19281900390910190a2505050565b600054600160a060020a03163314610c5457600080fd5b60018054600160a060020a031916600160a060020a0383811691909117918290556040519116907f357d1ba45e9ef3fb937f4b33a26a6efed1b2f40114460d16fbfce82aca41575590600090a250565b600054600160a060020a03163314610cbb57600080fd5b610cc5828261113a565b5050565b610cd23361110e565b1515610cdd57600080fd5b600160a060020a038083166000818152600b60209081526040808320805487151560a060020a810260a060020a60ff0219600160a060020a031993841689171617835580865260019283018552838620805465010000000000830265ff00000000001990911617905583518086018552878152600a8054948501815590965294516000805160206112e88339815191529092018054929097169116179094558351918252925191927f3f3eed7eaae83dc29780651cd8137dff8325c81eea4c1091ac034a5572e1e2ef92918290030190a25050565b600054600160a060020a03163314610dc957600080fd5b600160a060020a038281169082161415610de257600080fd5b600160a060020a0391821660009081526005602052604090208054600160a060020a03191691909216179055565b600054600160a060020a03163314610e2757600080fd5b610cc58282611229565b610e3a3361110e565b1515610e4557600080fd5b600160a060020a038083166000818152600b60209081526040808320805487151560a060020a810260a060020a60ff0219600160a060020a031993841689171617835580865260019283018552838620805462010000830262ff00001990911617905583518086018552878152600a8054948501815590965294516000805160206112e88339815191529092018054929097169116179094558351918252925191927fb4e51190ac09d88100031de9d538eda33e031ff4ea0598f973dcb1531ce12eb192918290030190a25050565b60098054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152918391830182828015610f9c5780601f10610f7157610100808354040283529160200191610f9c565b820191906000526020600020905b815481529060010190602001808311610f7f57829003601f168201915b5050505050905081565b600054600160a060020a03163314610fbd57600080fd5b60028054600160a060020a031916600160a060020a0383811691909117918290556040519116907f95dcb20e52ed37833185c8b850bf9fa7990bdb0f232209c82b0a97a0a3a602e190600090a250565b600160a060020a0380821660009081526007602090815260408083209386168352929052205460ff1692915050565b600160a060020a03166000908152600b60209081526040808320600180855201909152902054640100000000900460ff1690565b600054600160a060020a031633148061108d575061108d3361110e565b151561109857600080fd5b600160a060020a0382166000818152600660209081526040808320600160e060020a0319881680855290835292819020805460ff1916861515908117909155815190815290517f3f8a1234a535cf651c4bcc3d4c56b68d7ff3264d0c4c8a3675245853f7851a11929181900390910190a3505050565b600160a060020a03166000908152600b6020908152604080832060018085520190915290205460ff1690565b600160a060020a0382166000818152600b602090815260408083208054600160a060020a03191690941760a060020a60ff02191660a060020a86151590810291909117855580845260019094019091529020805463ff000000191663010000009092029190911790556111ad8282611229565b60408051602081018252600160a060020a03848116808352600a8054600181018255600091825293516000805160206112e88339815191529094018054600160a060020a031916949093169390931790915591517f17898fd7375ca5152626d6fdd4ceb2bce6cc033c9b61e254dd0087d5f8b474309190a25050565b600160a060020a038083166000818152600b60209081526040808320805487151560a060020a810260a060020a60ff0219600160a060020a031993841689171617835580865260019283018552838620805460ff1916909117905582519384018352858452600a80549283018155855292516000805160206112e8833981519152909101805491909616921691909117909355915190917f0a9327c1e2b316c1e4412bc43a5bc2b0c629ecde4f1c9e21911d02ac8b3ad42d91a250505600c65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8a165627a7a7230582005185ae2992b3230b315d11c246dfd7ff1447467fe0a9d7f0b49ddc7c947282f0029
Deployed Bytecode Sourcemap
8586:13618:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;942:178;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;942:178:0;-1:-1:-1;;;;;942:178:0;;;;;;;20217:176;;8:9:-1;5:2;;;30:1;27;20:12;5:2;20217:176:0;;;;;;;;;;;;;;;;;;;;;;20507:115;;8:9:-1;5:2;;;30:1;27;20:12;5:2;20507:115:0;;;;;;;;-1:-1:-1;;;;;20507:115:0;;;;;;;;;;;;;;16850:162;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;16850:162:0;-1:-1:-1;;;;;16850:162:0;;;;;12693:405;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;12693:405:0;-1:-1:-1;;;;;12693:405:0;;;;;;;;;16432:205;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;16432:205:0;-1:-1:-1;;;;;16432:205:0;;;;;14531:262;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;14531:262:0;-1:-1:-1;;;;;14531:262:0;;;;;;;;;;;;;;18473:153;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;18473:153:0;-1:-1:-1;;;;;18473:153:0;;;;;19506:183;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;19506:183:0;-1:-1:-1;;;;;19506:183:0;;;;;;;;;;18133;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;18133:183:0;-1:-1:-1;;;;;18133:183:0;;;;;18736:125;;8:9:-1;5:2;;;30:1;27;20:12;5:2;18736:125:0;;;;8717:44;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;8717:44:0;-1:-1:-1;;;;;8717:44:0;;;;;;;;;-1:-1:-1;;;;;8717:44:0;;;;;;;;;;;;;;;;;;;;;19911:177;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;19911:177:0;-1:-1:-1;;;;;;19911:177:0;;;-1:-1:-1;;;;;19911:177:0;;;;;692:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;692:20:0;;;;8656:28;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8656:28:0;;;;;;;;-1:-1:-1;;;;;8656:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;17480:169;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;17480:169:0;-1:-1:-1;;;;;17480:169:0;;;;;12096:415;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;12096:415:0;-1:-1:-1;;;;;12096:415:0;;;;;;;;;17163:157;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;17163:157:0;-1:-1:-1;;;;;17163:157:0;;;;;14016:291;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;14016:291:0;-1:-1:-1;;;;;14016:291:0;;;;;;;;;;;;;;15711:220;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;15711:220:0;-1:-1:-1;;;;;15711:220:0;;;;;10859:172;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;10859:172:0;-1:-1:-1;;;;;10859:172:0;;;;;;;;;13280:508;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;13280:508:0;-1:-1:-1;;;;;13280:508:0;;;;;;;;;16108:203;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;16108:203:0;-1:-1:-1;;;;;16108:203:0;;;;;;;;;;11201:180;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;11201:180:0;-1:-1:-1;;;;;11201:180:0;;;;;;;;;11538:385;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;11538:385:0;-1:-1:-1;;;;;11538:385:0;;;;;;;;;8691:17;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8691:17:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;8691:17:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15375:196;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;15375:196:0;-1:-1:-1;;;;;15375:196:0;;;;;19090:185;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;19090:185:0;-1:-1:-1;;;;;19090:185:0;;;;;;;;;;17812:165;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;17812:165:0;-1:-1:-1;;;;;17812:165:0;;;;;14950:294;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;14950:294:0;-1:-1:-1;;;;;;14950:294:0;;;-1:-1:-1;;;;;14950:294:0;;;;;;;;;942:178;842:5;;-1:-1:-1;;;;;842:5:0;828:10;:19;820:28;;;;;;-1:-1:-1;;;;;1033:18:0;;;;1025:27;;;;;;1063:5;:12;;-1:-1:-1;;;;;;1063:12:0;-1:-1:-1;;;;;1063:12:0;;;;;;;;;1091:21;;1063:12;;1100:5;;;1091:21;;1063:5;1091:21;942:178;:::o;20217:176::-;20328:13;;-1:-1:-1;;;;;20328:13:0;20289:4;20359:26;;;:18;:26;;;;;;;;;20217:176::o;20507:115::-;20601:13;;-1:-1:-1;;;;;20601:13:0;20507:115;:::o;16850:162::-;-1:-1:-1;;;;;16961:20:0;16932:4;16961:20;;;:8;:20;;;;;;;;:27;:33;;;:27;:33;;;;;:43;;;;;;;16850:162::o;12693:405::-;10608:25;10622:10;10608:13;:25::i;:::-;10600:34;;;;;;;;-1:-1:-1;;;;;12817:18:0;;;;;;;:8;:18;;;;;;;;:37;;12865:46;;;-1:-1:-1;;;12865:46:0;;-1:-1:-1;;;;;;;;;;;;12817:37:0;;;;;12865:46;;;;12922:41;;;12817:37;12922:25;;;:41;;;;;:66;;;;;-1:-1:-1;;12922:66:0;;;;;;13015:14;;;;;;;;;;12999:10;27::-1;;23:18;;;45:23;;12999:31:0;;;;;-1:-1:-1;;;;;;;;;;;12999:31:0;;;;;;;;;;;;;;;13046:44;;;;;;;12817:18;;13046:44;;;;;;;;;12693:405;;:::o;16432:205::-;842:5;;-1:-1:-1;;;;;842:5:0;828:10;:19;820:28;;;;;;16521:13;:23;;-1:-1:-1;;;;;;16521:23:0;-1:-1:-1;;;;;16521:23:0;;;;;;;;-1:-1:-1;16555:27:0;;;:18;:27;;;;;;:34;;-1:-1:-1;;16555:34:0;-1:-1:-1;16555:34:0;;;16615:13;;16605:24;;16615:13;;;16605:24;;-1:-1:-1;16605:24:0;16432:205;:::o;14531:262::-;10501:5;;-1:-1:-1;;;;;10501:5:0;10487:10;:19;;:48;;;10510:25;10524:10;10510:13;:25::i;:::-;10479:57;;;;;;;;-1:-1:-1;;;;;14672:32:0;;;;;;;:22;:32;;;;;;;;:40;;;;;;;;;;;;;:57;;-1:-1:-1;;14672:57:0;;;;;;;;;;14745:40;;;;;;;;;;;;;;;;;14531:262;;;:::o;18473:153::-;-1:-1:-1;;;;;18593:25:0;;;18561:7;18593:25;;;:14;:25;;;;;;;;18473:153::o;19506:183::-;-1:-1:-1;;;;;19641:32:0;;;19612:4;19641:32;;;:22;:32;;;;;;;;:40;;;;;;;;;;;;19506:183;;;;:::o;18133:::-;-1:-1:-1;;;;;18260:29:0;18231:4;18260:29;;;:8;:29;;;;;;;;:36;:42;;;:36;:42;;;;;:48;;;;;;;18133:183::o;18736:125::-;18835:18;;-1:-1:-1;;;;;18835:18:0;18736:125;:::o;8717:44::-;;;;;;;;;;;;-1:-1:-1;;;;;8717:44:0;;;-1:-1:-1;;;8717:44:0;;;;;:::o;19911:177::-;-1:-1:-1;;;;;20040:31:0;20011:4;20040:31;;;:21;:31;;;;;;;;-1:-1:-1;;;;;;20040:40:0;;;;;;;;;;;;;;19911:177::o;692:20::-;;;-1:-1:-1;;;;;692:20:0;;:::o;8656:28::-;;;;;;;-1:-1:-1;;;;;8656:28:0;;;;;;;;;;:::o;17480:169::-;-1:-1:-1;;;;;17600:19:0;17571:4;17600:19;;;:8;:19;;;;;;;;:26;:32;;;:26;:32;;;;;:41;;;;;;;17480:169::o;12096:415::-;10608:25;10622:10;10608:13;:25::i;:::-;10600:34;;;;;;;;-1:-1:-1;;;;;12222:19:0;;;;;;;:8;:19;;;;;;;;:39;;12272:47;;;-1:-1:-1;;;12272:47:0;;-1:-1:-1;;;;;;;;;;;;12222:39:0;;;;;12272:47;;;;12330:42;;;12222:39;12330:26;;;:42;;;;;:68;;12222:39;12330:68;;-1:-1:-1;;12330:68:0;;;;;;12425:15;;;;;;;;;;12409:10;27::-1;;23:18;;;45:23;;12409:32:0;;;;;-1:-1:-1;;;;;;;;;;;12409:32:0;;;;;;;;;;;;;;;12457:46;;;;;;;12222:19;;12457:46;;;;;;;;;12096:415;;:::o;17163:157::-;-1:-1:-1;;;;;17277:16:0;17248:4;17277:16;;;:8;:16;;;;;;;;:23;:29;;;:23;:29;;;;;:35;;;;;;;17163:157::o;14016:291::-;10501:5;;-1:-1:-1;;;;;10501:5:0;10487:10;:19;;:48;;;10510:25;10524:10;10510:13;:25::i;:::-;10479:57;;;;;;;;-1:-1:-1;;;;;14187:31:0;;;;;;;:20;:31;;;;;;;;:39;;;;;;;;;;;;;:56;;-1:-1:-1;;14187:56:0;;;;;;;;;;14259:40;;;;;;;;;;;;;;;;;14016:291;;;:::o;15711:220::-;842:5;;-1:-1:-1;;;;;842:5:0;828:10;:19;820:28;;;;;;15820:6;:43;;-1:-1:-1;;;;;;15820:43:0;-1:-1:-1;;;;;15820:43:0;;;;;;;;;;;15879:44;;15899:23;;;15879:44;;-1:-1:-1;;15879:44:0;15711:220;:::o;10859:172::-;842:5;;-1:-1:-1;;;;;842:5:0;828:10;:19;820:28;;;;;;10975:48;10996:10;11008:14;10975:20;:48::i;:::-;10859:172;;:::o;13280:508::-;10608:25;10622:10;10608:13;:25::i;:::-;10600:34;;;;;;;;-1:-1:-1;;;;;13445:29:0;;;;;;;:8;:29;;;;;;;;:59;;13515:57;;;-1:-1:-1;;;13515:57:0;;-1:-1:-1;;;;;;;;;;;;13445:59:0;;;;;13515:57;;;;13583:52;;;13445:59;13583:36;;;:52;;;;;:75;;;;;-1:-1:-1;;13583:75:0;;;;;;13685:25;;;;;;;;;;13669:10;27::-1;;23:18;;;45:23;;13669:42:0;;;;;-1:-1:-1;;;;;;;;;;;13669:42:0;;;;;;;;;;;;;;;13727:53;;;;;;;13445:29;;13727:53;;;;;;;;;13280:508;;:::o;16108:203::-;842:5;;-1:-1:-1;;;;;842:5:0;828:10;:19;820:28;;;;;;-1:-1:-1;;;;;16234:21:0;;;;;;;;16226:30;;;;;;-1:-1:-1;;;;;16267:25:0;;;;;;;:14;:25;;;;;:36;;-1:-1:-1;;;;;;16267:36:0;;;;;;;;16108:203::o;11201:180::-;842:5;;-1:-1:-1;;;;;842:5:0;828:10;:19;820:28;;;;;;11321:52;11344:12;11358:14;11321:22;:52::i;11538:385::-;10608:25;10622:10;10608:13;:25::i;:::-;10600:34;;;;;;;;-1:-1:-1;;;;;11658:16:0;;;;;;;:8;:16;;;;;;;;:33;;11702:44;;;-1:-1:-1;;;11702:44:0;;-1:-1:-1;;;;;;;;;;;;11658:33:0;;;;;11702:44;;;;11757:39;;;11658:33;11757:23;;;:39;;;;;:62;;;;;-1:-1:-1;;11757:62:0;;;;;;11846:12;;;;;;;;;;11830:10;27::-1;;23:18;;;45:23;;11830:29:0;;;;;-1:-1:-1;;;;;;;;;;;11830:29:0;;;;;;;;;;;;;;;11875:40;;;;;;;11658:16;;11875:40;;;;;;;;;11538:385;;:::o;8691:17::-;;;;;;;;;;-1:-1:-1;;8691:17:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;15375:196::-;842:5;;-1:-1:-1;;;;;842:5:0;828:10;:19;820:28;;;;;;15480:18;:33;;-1:-1:-1;;;;;;15480:33:0;-1:-1:-1;;;;;15480:33:0;;;;;;;;;;;15529:34;;15544:18;;;15529:34;;-1:-1:-1;;15529:34:0;15375:196;:::o;19090:185::-;-1:-1:-1;;;;;19228:31:0;;;19199:4;19228:31;;;:20;:31;;;;;;;;:39;;;;;;;;;;;;19090:185;;;;:::o;17812:165::-;-1:-1:-1;;;;;17930:18:0;17901:4;17930:18;;;:8;:18;;;;;;;;:25;:31;;;:25;:31;;;;;:39;;;;;;;17812:165::o;14950:294::-;10501:5;;-1:-1:-1;;;;;10501:5:0;10487:10;:19;;:48;;;10510:25;10524:10;10510:13;:25::i;:::-;10479:57;;;;;;;;-1:-1:-1;;;;;15111:31:0;;;;;;:21;:31;;;;;;;;-1:-1:-1;;;;;;15111:40:0;;;;;;;;;;;;:57;;-1:-1:-1;;15111:57:0;;;;;;;;;;15184:52;;;;;;;;;;;;;;;;;;14950:294;;;:::o;22031:170::-;-1:-1:-1;;;;;22146:22:0;22117:4;22146:22;;;:8;:22;;;;;;;;:29;:35;;;:29;:35;;;;;:47;;;;22031:170::o;20821:458::-;-1:-1:-1;;;;;20945:20:0;;;;;;:8;:20;;;;;;;;:41;;-1:-1:-1;;;;;;20945:41:0;;;;-1:-1:-1;;;;;;20997:48:0;-1:-1:-1;;;20997:48:0;;;;;;;;;;;;21056:43;;;-1:-1:-1;21056:27:0;;;:43;;;;;:70;;-1:-1:-1;;21056:70:0;;;;;;;;;;;21137:50;20945:20;20997:48;21137:22;:50::i;:::-;21214:16;;;;;;;;-1:-1:-1;;;;;21214:16:0;;;;;;21198:10;27::-1;;21198::0;23:18:-1;;45:23;;-1:-1;21198:33:0;;;;;-1:-1:-1;;;;;;;;;;;21198:33:0;;;;;-1:-1:-1;;;;;;21198:33:0;;;;;;;;;;;;21247:24;;;;-1:-1:-1;21247:24:0;20821:458;;:::o;21449:417::-;-1:-1:-1;;;;;21577:22:0;;;;;;;:8;:22;;;;;;;;:45;;21633:50;;;-1:-1:-1;;;21633:50:0;;-1:-1:-1;;;;;;;;;;;;21577:45:0;;;;;21633:50;;;;21694:45;;;21577;21694:29;;;:45;;;;;:74;;-1:-1:-1;;21694:74:0;;;;;;21795:18;;;;;;;;;;21779:10;27::-1;;23:18;;;45:23;;21779:35:0;;;;-1:-1:-1;;;;;;;;;;;21779:35:0;;;;;;;;;;;;;;;;;;21830:28;;21577:22;;21830:28;;;21449:417;;:::o
Swarm Source
bzzr://05185ae2992b3230b315d11c246dfd7ff1447467fe0a9d7f0b49ddc7c947282f
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.