Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 1 from a total of 1 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
0x60806040 | 9411493 | 1670 days ago | IN | 0 ETH | 0.00166073 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
TransferRestrictions
Compiler Version
v0.5.8+commit.23d335f2
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2020-02-03 */ // File: contracts/1404/IERC1404.sol pragma solidity 0.5.8; interface IERC1404 { /// @notice Detects if a transfer will be reverted and if so returns an appropriate reference code /// @param from Sending address /// @param to Receiving address /// @param value Amount of tokens being transferred /// @return Code by which to reference message for rejection reasoning /// @dev Overwrite with your custom transfer restriction logic function detectTransferRestriction (address from, address to, uint256 value) external view returns (uint8); /// @notice Detects if a transferFrom will be reverted and if so returns an appropriate reference code /// @param sender Transaction sending address /// @param from Source of funds address /// @param to Receiving address /// @param value Amount of tokens being transferred /// @return Code by which to reference message for rejection reasoning /// @dev Overwrite with your custom transfer restriction logic function detectTransferFromRestriction (address sender, address from, address to, uint256 value) external view returns (uint8); /// @notice Returns a human-readable message for a given restriction code /// @param restrictionCode Identifier for looking up a message /// @return Text showing the restriction's reasoning /// @dev Overwrite with your custom message and restrictionCode handling function messageForTransferRestriction (uint8 restrictionCode) external view returns (string memory); } interface IERC1404getSuccessCode { /// @notice Return the uint256 that represents the SUCCESS_CODE /// @return uint256 SUCCESS_CODE function getSuccessCode () external view returns (uint256); } /** * @title IERC1404Success * @dev Combines IERC1404 and IERC1404getSuccessCode interfaces, to be implemented by the TransferRestrictions contract */ contract IERC1404Success is IERC1404getSuccessCode, IERC1404 { } // File: contracts/1404/IERC1404Validators.sol pragma solidity 0.5.8; /** * @title IERC1404Validators * @dev Interfaces implemented by the token contract to be called by the TransferRestrictions contract */ interface IERC1404Validators { /// @notice Returns the token balance for an account /// @param account The address to get the token balance of /// @return uint256 representing the token balance for the account function balanceOf (address account) external view returns (uint256); /// @notice Returns a boolean indicating the paused state of the contract /// @return true if contract is paused, false if unpaused function paused () external view returns (bool); /// @notice Determine if sender and receiver are whitelisted, return true if both accounts are whitelisted /// @param from The address sending tokens. /// @param to The address receiving tokens. /// @return true if both accounts are whitelisted, false if not function checkWhitelists (address from, address to) external view returns (bool); /// @notice Determine if a users tokens are locked preventing a transfer /// @param _address the address to retrieve the data from /// @param amount the amount to send /// @param balance the token balance of the sending account /// @return true if user has sufficient unlocked token to transfer the requested amount, false if not function checkTimelock (address _address, uint256 amount, uint256 balance) external view returns (bool); } // File: contracts/restrictions/RestrictionMessages.sol pragma solidity 0.5.8; contract RestrictionMessages { // ERC1404 Error codes and messages uint8 public constant SUCCESS_CODE = 0; uint8 public constant FAILURE_NON_WHITELIST = 1; uint8 public constant FAILURE_TIMELOCK = 2; uint8 public constant FAILURE_CONTRACT_PAUSED = 3; string public constant SUCCESS_MESSAGE = "SUCCESS"; string public constant FAILURE_NON_WHITELIST_MESSAGE = "The transfer was restricted due to white list configuration."; string public constant FAILURE_TIMELOCK_MESSAGE = "The transfer was restricted due to timelocked tokens."; string public constant FAILURE_CONTRACT_PAUSED_MESSAGE = "The transfer was restricted due to the contract being paused."; string public constant UNKNOWN_ERROR = "Unknown Error Code"; } // File: contracts/restrictions/TransferRestrictions.sol pragma solidity 0.5.8; /** * @title TransferRestrictions * @dev Defines the rules the validate transfers and the error messages */ contract TransferRestrictions is IERC1404, RestrictionMessages, IERC1404Success { IERC1404Validators validators; /** Constructor sets the address the validators contract which should be the token contract */ constructor(address _validators) public { require(_validators != address(0), "0x0 is not a valid _validators address"); validators = IERC1404Validators(_validators); } /** This function detects whether a transfer should be restricted and not allowed. If the function returns SUCCESS_CODE (0) then it should be allowed. */ function detectTransferRestriction (address from, address to, uint256 amount) public view returns (uint8) { // Confirm that that addresses are whitelisted if(!validators.checkWhitelists(from,to)) { return FAILURE_NON_WHITELIST; } // If the from account is locked up, then don't allow the transfer if(!validators.checkTimelock(from, amount, validators.balanceOf(from))) { return FAILURE_TIMELOCK; } // If the entire contract is paused, then the transfer should be prevented if(validators.paused()) { return FAILURE_CONTRACT_PAUSED; } // If no restrictions were triggered return success return SUCCESS_CODE; } /** This function detects whether a transfer should be restricted and not allowed. If the function returns SUCCESS_CODE (0) then it should be allowed. */ function detectTransferFromRestriction (address sender, address from, address to, uint256 value) public view returns (uint8) { // Confirm that that addresses are whitelisted if(!validators.checkWhitelists(sender, to)) { return FAILURE_NON_WHITELIST; } // return the result of detectTransferRestriction return detectTransferRestriction(from, to, value); } /** This function allows a wallet or other client to get a human readable string to show a user if a transfer was restricted. It should return enough information for the user to know why it failed. */ function messageForTransferRestriction (uint8 restrictionCode) external view returns (string memory) { if (restrictionCode == SUCCESS_CODE) { return SUCCESS_MESSAGE; } if (restrictionCode == FAILURE_NON_WHITELIST) { return FAILURE_NON_WHITELIST_MESSAGE; } if (restrictionCode == FAILURE_TIMELOCK) { return FAILURE_TIMELOCK_MESSAGE; } if (restrictionCode == FAILURE_CONTRACT_PAUSED) { return FAILURE_CONTRACT_PAUSED_MESSAGE; } return UNKNOWN_ERROR; } function getSuccessCode() external view returns (uint256) { return SUCCESS_CODE; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":true,"inputs":[{"name":"sender","type":"address"},{"name":"from","type":"address"},{"name":"to","type":"address"},{"name":"value","type":"uint256"}],"name":"detectTransferFromRestriction","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"SUCCESS_CODE","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"FAILURE_TIMELOCK_MESSAGE","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"FAILURE_NON_WHITELIST","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"FAILURE_TIMELOCK","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getSuccessCode","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"FAILURE_CONTRACT_PAUSED_MESSAGE","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"restrictionCode","type":"uint8"}],"name":"messageForTransferRestriction","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"FAILURE_CONTRACT_PAUSED","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"UNKNOWN_ERROR","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"FAILURE_NON_WHITELIST_MESSAGE","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"from","type":"address"},{"name":"to","type":"address"},{"name":"amount","type":"uint256"}],"name":"detectTransferRestriction","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"SUCCESS_MESSAGE","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_validators","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"}]
Contract Creation Code
608060405234801561001057600080fd5b50604051602080610ed88339810180604052602081101561003057600080fd5b8101908080519060200190929190505050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156100c7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180610eb26026913960400191505060405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050610d9b806101176000396000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c8063777eb99f1161008c57806397af67441161006657806397af6744146103da578063c89344621461045d578063d4ce1415146104e0578063e7984d1714610568576100cf565b8063777eb99f146102895780637f4ab1dd1461030c57806386a299fb146103b6576100cf565b80630754cede146100d45780630e969a051461017c578063191035ab146101a05780631fb45ec0146102235780632ddabee8146102475780635ec647591461026b575b600080fd5b610160600480360360808110156100ea57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506105eb565b604051808260ff1660ff16815260200191505060405180910390f35b61018461071d565b604051808260ff1660ff16815260200191505060405180910390f35b6101a8610722565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101e85780820151818401526020810190506101cd565b50505050905090810190601f1680156102155780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61022b61073e565b604051808260ff1660ff16815260200191505060405180910390f35b61024f610743565b604051808260ff1660ff16815260200191505060405180910390f35b610273610748565b6040518082815260200191505060405180910390f35b610291610753565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156102d15780820151818401526020810190506102b6565b50505050905090810190601f1680156102fe5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61033b6004803603602081101561032257600080fd5b81019080803560ff16906020019092919050505061076f565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561037b578082015181840152602081019050610360565b50505050905090810190601f1680156103a85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6103be610888565b604051808260ff1660ff16815260200191505060405180910390f35b6103e261088d565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610422578082015181840152602081019050610407565b50505050905090810190601f16801561044f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6104656108c6565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156104a557808201518184015260208101905061048a565b50505050905090810190601f1680156104d25780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61054c600480360360608110156104f657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506108e2565b604051808260ff1660ff16815260200191505060405180910390f35b610570610c88565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156105b0578082015181840152602081019050610595565b50505050905090810190601f1680156105dd5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166399da091d86856040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b1580156106bf57600080fd5b505afa1580156106d3573d6000803e3d6000fd5b505050506040513d60208110156106e957600080fd5b81019080805190602001909291905050506107075760019050610715565b6107128484846108e2565b90505b949350505050565b600081565b604051806060016040528060358152602001610d3b6035913981565b600181565b600281565b60008060ff16905090565b6040518060600160405280603d8152602001610cc2603d913981565b6060600060ff168260ff1614156107bd576040518060400160405280600781526020017f53554343455353000000000000000000000000000000000000000000000000008152509050610883565b600160ff168260ff1614156107ec576040518060600160405280603c8152602001610cff603c91399050610883565b600260ff168260ff16141561081b57604051806060016040528060358152602001610d3b603591399050610883565b600360ff168260ff16141561084a576040518060600160405280603d8152602001610cc2603d91399050610883565b6040518060400160405280601281526020017f556e6b6e6f776e204572726f7220436f6465000000000000000000000000000081525090505b919050565b600381565b6040518060400160405280601281526020017f556e6b6e6f776e204572726f7220436f6465000000000000000000000000000081525081565b6040518060600160405280603c8152602001610cff603c913981565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166399da091d85856040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b1580156109b657600080fd5b505afa1580156109ca573d6000803e3d6000fd5b505050506040513d60208110156109e057600080fd5b81019080805190602001909291905050506109fe5760019050610c81565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c697e4a385846000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231896040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610adb57600080fd5b505afa158015610aef573d6000803e3d6000fd5b505050506040513d6020811015610b0557600080fd5b81019080805190602001909291905050506040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828152602001935050505060206040518083038186803b158015610b8457600080fd5b505afa158015610b98573d6000803e3d6000fd5b505050506040513d6020811015610bae57600080fd5b8101908080519060200190929190505050610bcc5760029050610c81565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635c975abb6040518163ffffffff1660e01b815260040160206040518083038186803b158015610c3357600080fd5b505afa158015610c47573d6000803e3d6000fd5b505050506040513d6020811015610c5d57600080fd5b810190808051906020019092919050505015610c7c5760039050610c81565b600090505b9392505050565b6040518060400160405280600781526020017f53554343455353000000000000000000000000000000000000000000000000008152508156fe546865207472616e736665722077617320726573747269637465642064756520746f2074686520636f6e7472616374206265696e67207061757365642e546865207472616e736665722077617320726573747269637465642064756520746f207768697465206c69737420636f6e66696775726174696f6e2e546865207472616e736665722077617320726573747269637465642064756520746f2074696d656c6f636b656420746f6b656e732ea165627a7a723058205c321370cadb6c435a48bd30476d82cc3f6c95723dad9d3e8f87540c3a7775930029307830206973206e6f7420612076616c6964205f76616c696461746f72732061646472657373000000000000000000000000bbc7f7a6aadac103769c66cbc69ab720f7f9eae3
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100cf5760003560e01c8063777eb99f1161008c57806397af67441161006657806397af6744146103da578063c89344621461045d578063d4ce1415146104e0578063e7984d1714610568576100cf565b8063777eb99f146102895780637f4ab1dd1461030c57806386a299fb146103b6576100cf565b80630754cede146100d45780630e969a051461017c578063191035ab146101a05780631fb45ec0146102235780632ddabee8146102475780635ec647591461026b575b600080fd5b610160600480360360808110156100ea57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506105eb565b604051808260ff1660ff16815260200191505060405180910390f35b61018461071d565b604051808260ff1660ff16815260200191505060405180910390f35b6101a8610722565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101e85780820151818401526020810190506101cd565b50505050905090810190601f1680156102155780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61022b61073e565b604051808260ff1660ff16815260200191505060405180910390f35b61024f610743565b604051808260ff1660ff16815260200191505060405180910390f35b610273610748565b6040518082815260200191505060405180910390f35b610291610753565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156102d15780820151818401526020810190506102b6565b50505050905090810190601f1680156102fe5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61033b6004803603602081101561032257600080fd5b81019080803560ff16906020019092919050505061076f565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561037b578082015181840152602081019050610360565b50505050905090810190601f1680156103a85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6103be610888565b604051808260ff1660ff16815260200191505060405180910390f35b6103e261088d565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610422578082015181840152602081019050610407565b50505050905090810190601f16801561044f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6104656108c6565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156104a557808201518184015260208101905061048a565b50505050905090810190601f1680156104d25780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61054c600480360360608110156104f657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506108e2565b604051808260ff1660ff16815260200191505060405180910390f35b610570610c88565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156105b0578082015181840152602081019050610595565b50505050905090810190601f1680156105dd5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166399da091d86856040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b1580156106bf57600080fd5b505afa1580156106d3573d6000803e3d6000fd5b505050506040513d60208110156106e957600080fd5b81019080805190602001909291905050506107075760019050610715565b6107128484846108e2565b90505b949350505050565b600081565b604051806060016040528060358152602001610d3b6035913981565b600181565b600281565b60008060ff16905090565b6040518060600160405280603d8152602001610cc2603d913981565b6060600060ff168260ff1614156107bd576040518060400160405280600781526020017f53554343455353000000000000000000000000000000000000000000000000008152509050610883565b600160ff168260ff1614156107ec576040518060600160405280603c8152602001610cff603c91399050610883565b600260ff168260ff16141561081b57604051806060016040528060358152602001610d3b603591399050610883565b600360ff168260ff16141561084a576040518060600160405280603d8152602001610cc2603d91399050610883565b6040518060400160405280601281526020017f556e6b6e6f776e204572726f7220436f6465000000000000000000000000000081525090505b919050565b600381565b6040518060400160405280601281526020017f556e6b6e6f776e204572726f7220436f6465000000000000000000000000000081525081565b6040518060600160405280603c8152602001610cff603c913981565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166399da091d85856040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b1580156109b657600080fd5b505afa1580156109ca573d6000803e3d6000fd5b505050506040513d60208110156109e057600080fd5b81019080805190602001909291905050506109fe5760019050610c81565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c697e4a385846000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231896040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610adb57600080fd5b505afa158015610aef573d6000803e3d6000fd5b505050506040513d6020811015610b0557600080fd5b81019080805190602001909291905050506040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828152602001935050505060206040518083038186803b158015610b8457600080fd5b505afa158015610b98573d6000803e3d6000fd5b505050506040513d6020811015610bae57600080fd5b8101908080519060200190929190505050610bcc5760029050610c81565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635c975abb6040518163ffffffff1660e01b815260040160206040518083038186803b158015610c3357600080fd5b505afa158015610c47573d6000803e3d6000fd5b505050506040513d6020811015610c5d57600080fd5b810190808051906020019092919050505015610c7c5760039050610c81565b600090505b9392505050565b6040518060400160405280600781526020017f53554343455353000000000000000000000000000000000000000000000000008152508156fe546865207472616e736665722077617320726573747269637465642064756520746f2074686520636f6e7472616374206265696e67207061757365642e546865207472616e736665722077617320726573747269637465642064756520746f207768697465206c69737420636f6e66696775726174696f6e2e546865207472616e736665722077617320726573747269637465642064756520746f2074696d656c6f636b656420746f6b656e732ea165627a7a723058205c321370cadb6c435a48bd30476d82cc3f6c95723dad9d3e8f87540c3a7775930029
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000bbc7f7a6aadac103769c66cbc69ab720f7f9eae3
-----Decoded View---------------
Arg [0] : _validators (address): 0xBBC7f7A6AADAc103769C66CBC69AB720f7F9Eae3
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000bbc7f7a6aadac103769c66cbc69ab720f7f9eae3
Deployed Bytecode Sourcemap
4617:3002:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4617:3002:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6201:451;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;6201:451:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3715:38;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;4102:105;;;:::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;4102:105:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3760:47;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3814:42;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;7522:94;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4214:120;;;:::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;4214:120:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6887:627;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6887:627:0;;;;;;;;;;;;;;;;;;;:::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;6887:627:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3863:49;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;4341:59;;;:::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;4341:59:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3978:117;;;:::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;3978:117:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5231:788;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5231:788:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3921:50;;;:::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;3921:50:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6201:451;6346:5;6429:10;;;;;;;;;;;:26;;;6456:6;6464:2;6429:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6429:38:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6429:38:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6429:38:0;;;;;;;;;;;;;;;;6425:99;;3806:1;6484:28;;;;6425:99;6602:42;6628:4;6634:2;6638:5;6602:25;:42::i;:::-;6595:49;;6201:451;;;;;;;:::o;3715:38::-;3752:1;3715:38;:::o;4102:105::-;;;;;;;;;;;;;;;;;;;:::o;3760:47::-;3806:1;3760:47;:::o;3814:42::-;3855:1;3814:42;:::o;7522:94::-;7571:7;3752:1;7589:19;;;;7522:94;:::o;4214:120::-;;;;;;;;;;;;;;;;;;;:::o;6887:627::-;7000:13;3752:1;7035:31;;:15;:31;;;7031:86;;;7090:15;;;;;;;;;;;;;;;;;7083:22;;;;7031:86;3806:1;7133:40;;:15;:40;;;7129:109;;;7197:29;;;;;;;;;;;;;;;;;7190:36;;;;7129:109;3855:1;7254:35;;:15;:35;;;7250:99;;;7313:24;;;;;;;;;;;;;;;;;7306:31;;;;7250:99;3911:1;7365:42;;:15;:42;;;7361:113;;;7431:31;;;;;;;;;;;;;;;;;7424:38;;;;7361:113;7493:13;;;;;;;;;;;;;;;;;7486:20;;6887:627;;;;:::o;3863:49::-;3911:1;3863:49;:::o;4341:59::-;;;;;;;;;;;;;;;;;;;:::o;3978:117::-;;;;;;;;;;;;;;;;;;;:::o;5231:788::-;5357:5;5440:10;;;;;;;;;;;:26;;;5467:4;5472:2;5440:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5440:35:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5440:35:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5440:35:0;;;;;;;;;;;;;;;;5436:96;;3806:1;5492:28;;;;5436:96;5624:10;;;;;;;;;;;:24;;;5649:4;5655:6;5663:10;;;;;;;;;;;:20;;;5684:4;5663:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5663:26:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5663:26:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5663:26:0;;;;;;;;;;;;;;;;5624:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5624:66:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5624:66:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5624:66:0;;;;;;;;;;;;;;;;5620:122;;3855:1;5707:23;;;;5620:122;5841:10;;;;;;;;;;;:17;;;:19;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5841:19:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5841:19:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5841:19:0;;;;;;;;;;;;;;;;5838:81;;;3911:1;5877:30;;;;5838:81;3752:1;5992:19;;5231:788;;;;;;:::o;3921:50::-;;;;;;;;;;;;;;;;;;;:::o
Swarm Source
bzzr://5c321370cadb6c435a48bd30476d82cc3f6c95723dad9d3e8f87540c3a777593
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 26 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.