Source Code
Overview
ETH Balance
0.870967341003449216 ETH
More Info
ContractCreator
Multichain Info
N/A
Latest 25 from a total of 67 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Relay | 7502368 | 6 days ago | IN | 0 ETH | 0.00098833 | ||||
Relay | 7254854 | 42 days ago | IN | 0 ETH | 0.00016078 | ||||
Relay | 6361041 | 183 days ago | IN | 0 ETH | 0.01389047 | ||||
Relay | 6243147 | 202 days ago | IN | 0 ETH | 0.00512834 | ||||
Relay | 6235735 | 203 days ago | IN | 0 ETH | 0.00619377 | ||||
Relay | 6231899 | 204 days ago | IN | 0 ETH | 0.0164669 | ||||
Relay | 6231827 | 204 days ago | IN | 0 ETH | 0.01232955 | ||||
Relay | 6231708 | 204 days ago | IN | 0 ETH | 0.01436243 | ||||
Relay | 6224043 | 205 days ago | IN | 0 ETH | 0.01070461 | ||||
Relay | 6202443 | 208 days ago | IN | 0 ETH | 0.00042459 | ||||
Relay | 6202442 | 208 days ago | IN | 0 ETH | 0.00223142 | ||||
Relay | 6198489 | 208 days ago | IN | 0 ETH | 0.00622004 | ||||
Relay | 6198483 | 208 days ago | IN | 0 ETH | 0.00117744 | ||||
Relay | 6196350 | 209 days ago | IN | 0 ETH | 0.00498481 | ||||
Relay | 6196348 | 209 days ago | IN | 0 ETH | 0.00091296 | ||||
Relay | 6196081 | 209 days ago | IN | 0 ETH | 0.00642752 | ||||
Relay | 6196080 | 209 days ago | IN | 0 ETH | 0.00126098 | ||||
Relay | 6195957 | 209 days ago | IN | 0 ETH | 0.00358421 | ||||
Relay | 6195956 | 209 days ago | IN | 0 ETH | 0.0007016 | ||||
Relay | 6195798 | 209 days ago | IN | 0 ETH | 0.00402828 | ||||
Relay | 6195783 | 209 days ago | IN | 0 ETH | 0.00066863 | ||||
Relay | 6195377 | 209 days ago | IN | 0 ETH | 0.00035052 | ||||
Relay | 6195377 | 209 days ago | IN | 0 ETH | 0.00744579 | ||||
Relay | 6195266 | 209 days ago | IN | 0 ETH | 0.00153285 | ||||
Relay | 6195262 | 209 days ago | IN | 0 ETH | 0.00030482 |
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block |
From
|
To
|
|||
---|---|---|---|---|---|---|
7475237 | 10 days ago | 0.00002374 ETH | ||||
7254505 | 42 days ago | 0.00000715 ETH | ||||
6640269 | 138 days ago | 0.00001357 ETH | ||||
6639874 | 138 days ago | 0.00001071 ETH | ||||
6639607 | 138 days ago | 0.00001071 ETH | ||||
6639356 | 138 days ago | 0.00004099 ETH | ||||
6626154 | 140 days ago | 0.00001706 ETH | ||||
6625878 | 140 days ago | 0.00003307 ETH | ||||
6625129 | 141 days ago | 0.00067021 ETH | ||||
6624565 | 141 days ago | 0.00259706 ETH | ||||
6624319 | 141 days ago | 0.00308028 ETH | ||||
6624062 | 141 days ago | 0.00308028 ETH | ||||
6623271 | 141 days ago | 0.00149517 ETH | ||||
6623015 | 141 days ago | 0.00011995 ETH | ||||
6622745 | 141 days ago | 0.00004827 ETH | ||||
6622457 | 141 days ago | 0.00001442 ETH | ||||
6622101 | 141 days ago | 0.0000121 ETH | ||||
6621695 | 141 days ago | 0.00001109 ETH | ||||
6621423 | 141 days ago | 0.00001367 ETH | ||||
6621148 | 141 days ago | 0.00002222 ETH | ||||
6620889 | 141 days ago | 0.00002122 ETH | ||||
6620613 | 141 days ago | 0.00007077 ETH | ||||
6620373 | 141 days ago | 0.00020748 ETH | ||||
6620091 | 141 days ago | 0.00001071 ETH | ||||
6619838 | 141 days ago | 0.00021136 ETH |
Loading...
Loading
Contract Name:
Relayer
Compiler Version
v0.8.17+commit.8df45f5f
Optimization Enabled:
Yes with 999999 runs
Other Settings:
london EvmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT pragma solidity 0.8.17; import "../interfaces/IORMP.sol"; contract Relayer { event SetDstPrice(uint256 indexed chainId, uint128 dstPriceRatio, uint128 dstGasPriceInWei); event SetDstConfig(uint256 indexed chainId, uint64 baseGas, uint64 gasPerByte); event SetApproved(address operator, bool approve); event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); struct DstPrice { uint128 dstPriceRatio; // dstPrice / localPrice * 10^10 uint128 dstGasPriceInWei; } struct DstConfig { uint64 baseGas; uint64 gasPerByte; } address public immutable PROTOCOL; address public owner; // chainId => price mapping(uint256 => DstPrice) public priceOf; mapping(uint256 => DstConfig) public configOf; mapping(address => bool) public approvedOf; modifier onlyOwner() { require(msg.sender == owner, "!owner"); _; } modifier onlyApproved() { require(isApproved(msg.sender), "!approve"); _; } constructor(address dao, address ormp) { PROTOCOL = ormp; owner = dao; } function version() public pure returns (string memory) { return "2.1.0"; } receive() external payable {} function withdraw(address to, uint256 amount) external onlyApproved { (bool success,) = to.call{value: amount}(""); require(success, "!withdraw"); } function isApproved(address operator) public view returns (bool) { return approvedOf[operator]; } function changeOwner(address newOwner) external onlyOwner { address oldOwner = owner; owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } function setApproved(address operator, bool approve) public onlyOwner { approvedOf[operator] = approve; emit SetApproved(operator, approve); } function setDstPrice(uint256 chainId, uint128 dstPriceRatio, uint128 dstGasPriceInWei) external onlyApproved { priceOf[chainId] = DstPrice(dstPriceRatio, dstGasPriceInWei); emit SetDstPrice(chainId, dstPriceRatio, dstGasPriceInWei); } function setDstConfig(uint256 chainId, uint64 baseGas, uint64 gasPerByte) external onlyApproved { configOf[chainId] = DstConfig(baseGas, gasPerByte); emit SetDstConfig(chainId, baseGas, gasPerByte); } // extraGas = gasLimit function fee( uint256 toChainId, address, /*ua*/ uint256 gasLimit, bytes calldata encoded, bytes calldata /*params*/ ) public view returns (uint256) { uint256 size = encoded.length; uint256 extraGas = gasLimit; DstPrice memory p = priceOf[toChainId]; DstConfig memory c = configOf[toChainId]; require(c.baseGas != 0, "!baseGas"); // remoteToken = dstGasPriceInWei * (baseGas + extraGas) uint256 remoteToken = p.dstGasPriceInWei * (c.baseGas + extraGas); // dstPriceRatio = dstPrice / localPrice * 10^10 // sourceToken = RemoteToken * dstPriceRatio uint256 sourceToken = remoteToken * p.dstPriceRatio / (10 ** 10); uint256 payloadToken = c.gasPerByte * size * p.dstGasPriceInWei * p.dstPriceRatio / (10 ** 10); return sourceToken + payloadToken; } function relay(Message calldata message) external onlyApproved { IORMP(PROTOCOL).recv(message, ""); } }
// SPDX-License-Identifier: MIT pragma solidity 0.8.17; /// @dev The block of control information and data for comminicate /// between user applications. Messages are the exchange medium /// used by channels to send and receive data through cross-chain networks. /// A message is sent from a source chain to a destination chain. /// @param index The leaf index lives in channel's incremental mekle tree. /// @param fromChainId The message source chain id. /// @param from User application contract address which send the message. /// @param toChainId The message destination chain id. /// @param to User application contract address which receive the message. /// @param gasLimit Gas limit for destination UA used. /// @param encoded The calldata which encoded by ABI Encoding. struct Message { address channel; uint256 index; uint256 fromChainId; address from; uint256 toChainId; address to; uint256 gasLimit; bytes encoded; /*(abi.encodePacked(SELECTOR, PARAMS))*/ } /// @dev Hash of the message. function hash(Message memory message) pure returns (bytes32) { return keccak256(abi.encode(message)); }
// SPDX-License-Identifier: MIT pragma solidity 0.8.17; import "../Common.sol"; interface IORMP { /// @dev Send a cross-chain message over the endpoint. /// @notice follow https://eips.ethereum.org/EIPS/eip-5750 /// @param toChainId The Message destination chain id. /// @param to User application contract address which receive the message. /// @param gasLimit Gas limit for destination user application used. /// @param encoded The calldata which encoded by ABI Encoding. /// @param refund Return extra fee to refund address. /// @return Return the hash of the message as message id. /// @param params General extensibility for relayer to custom functionality. function send( uint256 toChainId, address to, uint256 gasLimit, bytes calldata encoded, address refund, bytes calldata params ) external payable returns (bytes32); /// @notice Get a quote in source native gas, for the amount that send() requires to pay for message delivery. /// @param toChainId The Message destination chain id. // @param ua User application contract address which send the message. /// @param gasLimit Gas limit for destination user application used. /// @param encoded The calldata which encoded by ABI Encoding. /// @param params General extensibility for relayer to custom functionality. function fee(uint256 toChainId, address ua, uint256 gasLimit, bytes calldata encoded, bytes calldata params) external view returns (uint256); /// @dev Recv verified message and dispatch to destination user application address. /// @param message Verified receive message info. /// @param proof Message proof of this message. /// @return dispatchResult Result of the message dispatch. function recv(Message calldata message, bytes calldata proof) external payable returns (bool dispatchResult); /// @dev Fetch user application config. /// @notice If user application has not configured, then the default config is used. /// @param ua User application contract address. function getAppConfig(address ua) external view returns (address oracle, address relayer); /// @notice Set user application config. /// @param oracle Oracle which user application choose. /// @param relayer Relayer which user application choose. function setAppConfig(address oracle, address relayer) external; function defaultUC() external view returns (address oracle, address relayer); /// @dev Check the msg if it is dispatched. /// @param msgHash Hash of the checked message. /// @return Return the dispatched result of the checked message. function dones(bytes32 msgHash) external view returns (bool); /// @dev Import hash by any oracle address. /// @notice Hash is an abstract of the proof system, it can be a block hash or a message root hash, /// specifically provided by oracles. /// @param chainId The source chain id. /// @param channel The message channel. /// @param msgIndex The source chain message index. /// @param hash_ The hash to import. function importHash(uint256 chainId, address channel, uint256 msgIndex, bytes32 hash_) external; /// @dev Fetch hash. /// @param oracle The oracle address. /// @param lookupKey The key for loop up hash. /// @return Return the hash imported by the oracle. function hashLookup(address oracle, bytes32 lookupKey) external view returns (bytes32); }
{ "viaIR": false, "optimizer": { "runs": 999999, "enabled": true }, "metadata": { "useLiteralContent": false, "bytecodeHash": "ipfs" }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } }, "evmVersion": "london", "libraries": {}, "remappings": [ "subapi/=lib/subapi/", "ORMP/=lib/ORMP/", "@darwinia-msgport/=lib/darwinia-msgport/", "@openzeppelin/[email protected]/=lib/openzeppelin-contracts/contracts/", "@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/", "@safe-smart-account/=lib/subapi/lib/safe-smart-account/contracts/", "@sphinx-labs/contracts/=lib/sphinx/packages/contracts/contracts/foundry/", "forge-std/=lib/forge-std/src/", "solmate/=lib/darwinia-msgport/lib/solmate/src/", "create3-deploy/=lib/create3-deploy/" ] }
[{"inputs":[{"internalType":"address","name":"dao","type":"address"},{"internalType":"address","name":"ormp","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"operator","type":"address"},{"indexed":false,"internalType":"bool","name":"approve","type":"bool"}],"name":"SetApproved","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"chainId","type":"uint256"},{"indexed":false,"internalType":"uint64","name":"baseGas","type":"uint64"},{"indexed":false,"internalType":"uint64","name":"gasPerByte","type":"uint64"}],"name":"SetDstConfig","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"chainId","type":"uint256"},{"indexed":false,"internalType":"uint128","name":"dstPriceRatio","type":"uint128"},{"indexed":false,"internalType":"uint128","name":"dstGasPriceInWei","type":"uint128"}],"name":"SetDstPrice","type":"event"},{"inputs":[],"name":"PROTOCOL","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"approvedOf","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"changeOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"configOf","outputs":[{"internalType":"uint64","name":"baseGas","type":"uint64"},{"internalType":"uint64","name":"gasPerByte","type":"uint64"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"toChainId","type":"uint256"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"gasLimit","type":"uint256"},{"internalType":"bytes","name":"encoded","type":"bytes"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"fee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"}],"name":"isApproved","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"priceOf","outputs":[{"internalType":"uint128","name":"dstPriceRatio","type":"uint128"},{"internalType":"uint128","name":"dstGasPriceInWei","type":"uint128"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"address","name":"channel","type":"address"},{"internalType":"uint256","name":"index","type":"uint256"},{"internalType":"uint256","name":"fromChainId","type":"uint256"},{"internalType":"address","name":"from","type":"address"},{"internalType":"uint256","name":"toChainId","type":"uint256"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"gasLimit","type":"uint256"},{"internalType":"bytes","name":"encoded","type":"bytes"}],"internalType":"struct Message","name":"message","type":"tuple"}],"name":"relay","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approve","type":"bool"}],"name":"setApproved","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"chainId","type":"uint256"},{"internalType":"uint64","name":"baseGas","type":"uint64"},{"internalType":"uint64","name":"gasPerByte","type":"uint64"}],"name":"setDstConfig","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"chainId","type":"uint256"},{"internalType":"uint128","name":"dstPriceRatio","type":"uint128"},{"internalType":"uint128","name":"dstGasPriceInWei","type":"uint128"}],"name":"setDstPrice","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"version","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60a060405234801561001057600080fd5b5060405161130538038061130583398101604081905261002f91610076565b6001600160a01b03908116608052600080546001600160a01b031916929091169190911790556100a9565b80516001600160a01b038116811461007157600080fd5b919050565b6000806040838503121561008957600080fd5b6100928361005a565b91506100a06020840161005a565b90509250929050565b60805161123a6100cb6000396000818161028801526106cb015261123a6000f3fe6080604052600436106100e15760003560e01c806391b9b8271161007f578063b77bd6d511610059578063b77bd6d5146102fa578063b9186d7d1461031a578063edc2ee4e1461039a578063f3fef3a31461040257600080fd5b806391b9b82714610276578063a6f9dae1146102aa578063b6333d16146102ca57600080fd5b8063673448dd116100bb578063673448dd1461018e57806384cfb680146101e457806385753106146102045780638da5cb5b1461022457600080fd5b80631c2b2da6146100ed57806336bcf1b21461012057806354fd4d501461014257600080fd5b366100e857005b600080fd5b3480156100f957600080fd5b5061010d610108366004610d39565b610422565b6040519081526020015b60405180910390f35b34801561012c57600080fd5b5061014061013b366004610dcd565b610615565b005b34801561014e57600080fd5b50604080518082018252600581527f322e312e30000000000000000000000000000000000000000000000000000000602082015290516101179190610e10565b34801561019a57600080fd5b506101d46101a9366004610e7c565b73ffffffffffffffffffffffffffffffffffffffff1660009081526003602052604090205460ff1690565b6040519015158152602001610117565b3480156101f057600080fd5b506101406101ff366004610ea8565b610747565b34801561021057600080fd5b5061014061021f366004610ef7565b610856565b34801561023057600080fd5b506000546102519073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610117565b34801561028257600080fd5b506102517f000000000000000000000000000000000000000000000000000000000000000081565b3480156102b657600080fd5b506101406102c5366004610e7c565b610981565b3480156102d657600080fd5b506101d46102e5366004610e7c565b60036020526000908152604090205460ff1681565b34801561030657600080fd5b50610140610315366004610f53565b610a77565b34801561032657600080fd5b50610371610335366004610f86565b6001602052600090815260409020546fffffffffffffffffffffffffffffffff8082169170010000000000000000000000000000000090041682565b604080516fffffffffffffffffffffffffffffffff938416815292909116602083015201610117565b3480156103a657600080fd5b506103e16103b5366004610f86565b60026020526000908152604090205467ffffffffffffffff808216916801000000000000000090041682565b6040805167ffffffffffffffff938416815292909116602083015201610117565b34801561040e57600080fd5b5061014061041d366004610f9f565b610b7f565b60008781526001602090815260408083208151808301835290546fffffffffffffffffffffffffffffffff808216835270010000000000000000000000000000000090910416818401528a84526002835281842082518084019093525467ffffffffffffffff80821680855268010000000000000000909204169383019390935286928992908503610515576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600860248201527f216261736547617300000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b805160009061052f90859067ffffffffffffffff16610ff8565b83602001516fffffffffffffffffffffffffffffffff166105509190611011565b905060006402540be40084600001516fffffffffffffffffffffffffffffffff168361057c9190611011565b6105869190611028565b905060006402540be40085600001516fffffffffffffffffffffffffffffffff1686602001516fffffffffffffffffffffffffffffffff1689876020015167ffffffffffffffff166105d89190611011565b6105e29190611011565b6105ec9190611011565b6105f69190611028565b90506106028183610ff8565b9f9e505050505050505050505050505050565b3360009081526003602052604090205460ff1661068e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600860248201527f21617070726f7665000000000000000000000000000000000000000000000000604482015260640161050c565b6040517fee6ad16700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169063ee6ad16790610700908490600401611110565b6020604051808303816000875af115801561071f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061074391906111e7565b5050565b60005473ffffffffffffffffffffffffffffffffffffffff1633146107c8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600660248201527f216f776e65720000000000000000000000000000000000000000000000000000604482015260640161050c565b73ffffffffffffffffffffffffffffffffffffffff821660008181526003602090815260409182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168515159081179091558251938452908301527fd984ea421ae5d2a473199f85e03998a04a12f54d6f1fa183a955b3df1c0c546d910160405180910390a15050565b3360009081526003602052604090205460ff166108cf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600860248201527f21617070726f7665000000000000000000000000000000000000000000000000604482015260640161050c565b60408051808201825267ffffffffffffffff848116808352848216602080850182815260008a815260028352879020955186549151861668010000000000000000027fffffffffffffffffffffffffffffffff000000000000000000000000000000009092169516949094179390931790935583519081529081019190915284917f22f5a8bc0090523dde00cddddb6a70e17d4f457f4b823137143657c8844d8eac91015b60405180910390a2505050565b60005473ffffffffffffffffffffffffffffffffffffffff163314610a02576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600660248201527f216f776e65720000000000000000000000000000000000000000000000000000604482015260640161050c565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b3360009081526003602052604090205460ff16610af0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600860248201527f21617070726f7665000000000000000000000000000000000000000000000000604482015260640161050c565b6040805180820182526fffffffffffffffffffffffffffffffff848116808352848216602080850182815260008a8152600183528790209551905185167001000000000000000000000000000000000294169390931790935583519081529081019190915284917f1ec2caaeffa2fe858d7b732753d0bfd5a9cda5f73f3527136bca5a11c2f1d4b39101610974565b3360009081526003602052604090205460ff16610bf8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600860248201527f21617070726f7665000000000000000000000000000000000000000000000000604482015260640161050c565b60008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114610c52576040519150601f19603f3d011682016040523d82523d6000602084013e610c57565b606091505b5050905080610cc2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f2177697468647261770000000000000000000000000000000000000000000000604482015260640161050c565b505050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610ceb57600080fd5b919050565b60008083601f840112610d0257600080fd5b50813567ffffffffffffffff811115610d1a57600080fd5b602083019150836020828501011115610d3257600080fd5b9250929050565b600080600080600080600060a0888a031215610d5457600080fd5b87359650610d6460208901610cc7565b955060408801359450606088013567ffffffffffffffff80821115610d8857600080fd5b610d948b838c01610cf0565b909650945060808a0135915080821115610dad57600080fd5b50610dba8a828b01610cf0565b989b979a50959850939692959293505050565b600060208284031215610ddf57600080fd5b813567ffffffffffffffff811115610df657600080fd5b82016101008185031215610e0957600080fd5b9392505050565b600060208083528351808285015260005b81811015610e3d57858101830151858201604001528201610e21565b5060006040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b600060208284031215610e8e57600080fd5b610e0982610cc7565b8015158114610ea557600080fd5b50565b60008060408385031215610ebb57600080fd5b610ec483610cc7565b91506020830135610ed481610e97565b809150509250929050565b803567ffffffffffffffff81168114610ceb57600080fd5b600080600060608486031215610f0c57600080fd5b83359250610f1c60208501610edf565b9150610f2a60408501610edf565b90509250925092565b80356fffffffffffffffffffffffffffffffff81168114610ceb57600080fd5b600080600060608486031215610f6857600080fd5b83359250610f7860208501610f33565b9150610f2a60408501610f33565b600060208284031215610f9857600080fd5b5035919050565b60008060408385031215610fb257600080fd5b610fbb83610cc7565b946020939093013593505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8082018082111561100b5761100b610fc9565b92915050565b808202811582820484141761100b5761100b610fc9565b60008261105e577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261109857600080fd5b830160208101925035905067ffffffffffffffff8111156110b857600080fd5b803603821315610d3257600080fd5b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b60408152600073ffffffffffffffffffffffffffffffffffffffff8061113585610cc7565b16604084015260208401356060840152604084013560808401528061115c60608601610cc7565b1660a084015250608083013560c083015261117960a08401610cc7565b73ffffffffffffffffffffffffffffffffffffffff811660e08401525061010060c0840135818401526111af60e0850185611063565b826101208601526111c5610140860182846110c7565b9250505082810360208401526111df816000815260200190565b949350505050565b6000602082840312156111f957600080fd5b8151610e0981610e9756fea2646970667358221220bbd7909d0486dc4aa26a025963d30c5f086d116121392f9d2559ce8eb477037464736f6c63430008110033000000000000000000000000040f331774ed6bb161412b4cedb1358b382af3a500000000000000000000000013b2211a7ca45db2808f6db05557ce5347e3634e
Deployed Bytecode
0x6080604052600436106100e15760003560e01c806391b9b8271161007f578063b77bd6d511610059578063b77bd6d5146102fa578063b9186d7d1461031a578063edc2ee4e1461039a578063f3fef3a31461040257600080fd5b806391b9b82714610276578063a6f9dae1146102aa578063b6333d16146102ca57600080fd5b8063673448dd116100bb578063673448dd1461018e57806384cfb680146101e457806385753106146102045780638da5cb5b1461022457600080fd5b80631c2b2da6146100ed57806336bcf1b21461012057806354fd4d501461014257600080fd5b366100e857005b600080fd5b3480156100f957600080fd5b5061010d610108366004610d39565b610422565b6040519081526020015b60405180910390f35b34801561012c57600080fd5b5061014061013b366004610dcd565b610615565b005b34801561014e57600080fd5b50604080518082018252600581527f322e312e30000000000000000000000000000000000000000000000000000000602082015290516101179190610e10565b34801561019a57600080fd5b506101d46101a9366004610e7c565b73ffffffffffffffffffffffffffffffffffffffff1660009081526003602052604090205460ff1690565b6040519015158152602001610117565b3480156101f057600080fd5b506101406101ff366004610ea8565b610747565b34801561021057600080fd5b5061014061021f366004610ef7565b610856565b34801561023057600080fd5b506000546102519073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610117565b34801561028257600080fd5b506102517f00000000000000000000000013b2211a7ca45db2808f6db05557ce5347e3634e81565b3480156102b657600080fd5b506101406102c5366004610e7c565b610981565b3480156102d657600080fd5b506101d46102e5366004610e7c565b60036020526000908152604090205460ff1681565b34801561030657600080fd5b50610140610315366004610f53565b610a77565b34801561032657600080fd5b50610371610335366004610f86565b6001602052600090815260409020546fffffffffffffffffffffffffffffffff8082169170010000000000000000000000000000000090041682565b604080516fffffffffffffffffffffffffffffffff938416815292909116602083015201610117565b3480156103a657600080fd5b506103e16103b5366004610f86565b60026020526000908152604090205467ffffffffffffffff808216916801000000000000000090041682565b6040805167ffffffffffffffff938416815292909116602083015201610117565b34801561040e57600080fd5b5061014061041d366004610f9f565b610b7f565b60008781526001602090815260408083208151808301835290546fffffffffffffffffffffffffffffffff808216835270010000000000000000000000000000000090910416818401528a84526002835281842082518084019093525467ffffffffffffffff80821680855268010000000000000000909204169383019390935286928992908503610515576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600860248201527f216261736547617300000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b805160009061052f90859067ffffffffffffffff16610ff8565b83602001516fffffffffffffffffffffffffffffffff166105509190611011565b905060006402540be40084600001516fffffffffffffffffffffffffffffffff168361057c9190611011565b6105869190611028565b905060006402540be40085600001516fffffffffffffffffffffffffffffffff1686602001516fffffffffffffffffffffffffffffffff1689876020015167ffffffffffffffff166105d89190611011565b6105e29190611011565b6105ec9190611011565b6105f69190611028565b90506106028183610ff8565b9f9e505050505050505050505050505050565b3360009081526003602052604090205460ff1661068e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600860248201527f21617070726f7665000000000000000000000000000000000000000000000000604482015260640161050c565b6040517fee6ad16700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000013b2211a7ca45db2808f6db05557ce5347e3634e169063ee6ad16790610700908490600401611110565b6020604051808303816000875af115801561071f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061074391906111e7565b5050565b60005473ffffffffffffffffffffffffffffffffffffffff1633146107c8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600660248201527f216f776e65720000000000000000000000000000000000000000000000000000604482015260640161050c565b73ffffffffffffffffffffffffffffffffffffffff821660008181526003602090815260409182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168515159081179091558251938452908301527fd984ea421ae5d2a473199f85e03998a04a12f54d6f1fa183a955b3df1c0c546d910160405180910390a15050565b3360009081526003602052604090205460ff166108cf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600860248201527f21617070726f7665000000000000000000000000000000000000000000000000604482015260640161050c565b60408051808201825267ffffffffffffffff848116808352848216602080850182815260008a815260028352879020955186549151861668010000000000000000027fffffffffffffffffffffffffffffffff000000000000000000000000000000009092169516949094179390931790935583519081529081019190915284917f22f5a8bc0090523dde00cddddb6a70e17d4f457f4b823137143657c8844d8eac91015b60405180910390a2505050565b60005473ffffffffffffffffffffffffffffffffffffffff163314610a02576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600660248201527f216f776e65720000000000000000000000000000000000000000000000000000604482015260640161050c565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b3360009081526003602052604090205460ff16610af0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600860248201527f21617070726f7665000000000000000000000000000000000000000000000000604482015260640161050c565b6040805180820182526fffffffffffffffffffffffffffffffff848116808352848216602080850182815260008a8152600183528790209551905185167001000000000000000000000000000000000294169390931790935583519081529081019190915284917f1ec2caaeffa2fe858d7b732753d0bfd5a9cda5f73f3527136bca5a11c2f1d4b39101610974565b3360009081526003602052604090205460ff16610bf8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600860248201527f21617070726f7665000000000000000000000000000000000000000000000000604482015260640161050c565b60008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114610c52576040519150601f19603f3d011682016040523d82523d6000602084013e610c57565b606091505b5050905080610cc2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f2177697468647261770000000000000000000000000000000000000000000000604482015260640161050c565b505050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610ceb57600080fd5b919050565b60008083601f840112610d0257600080fd5b50813567ffffffffffffffff811115610d1a57600080fd5b602083019150836020828501011115610d3257600080fd5b9250929050565b600080600080600080600060a0888a031215610d5457600080fd5b87359650610d6460208901610cc7565b955060408801359450606088013567ffffffffffffffff80821115610d8857600080fd5b610d948b838c01610cf0565b909650945060808a0135915080821115610dad57600080fd5b50610dba8a828b01610cf0565b989b979a50959850939692959293505050565b600060208284031215610ddf57600080fd5b813567ffffffffffffffff811115610df657600080fd5b82016101008185031215610e0957600080fd5b9392505050565b600060208083528351808285015260005b81811015610e3d57858101830151858201604001528201610e21565b5060006040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b600060208284031215610e8e57600080fd5b610e0982610cc7565b8015158114610ea557600080fd5b50565b60008060408385031215610ebb57600080fd5b610ec483610cc7565b91506020830135610ed481610e97565b809150509250929050565b803567ffffffffffffffff81168114610ceb57600080fd5b600080600060608486031215610f0c57600080fd5b83359250610f1c60208501610edf565b9150610f2a60408501610edf565b90509250925092565b80356fffffffffffffffffffffffffffffffff81168114610ceb57600080fd5b600080600060608486031215610f6857600080fd5b83359250610f7860208501610f33565b9150610f2a60408501610f33565b600060208284031215610f9857600080fd5b5035919050565b60008060408385031215610fb257600080fd5b610fbb83610cc7565b946020939093013593505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8082018082111561100b5761100b610fc9565b92915050565b808202811582820484141761100b5761100b610fc9565b60008261105e577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261109857600080fd5b830160208101925035905067ffffffffffffffff8111156110b857600080fd5b803603821315610d3257600080fd5b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b60408152600073ffffffffffffffffffffffffffffffffffffffff8061113585610cc7565b16604084015260208401356060840152604084013560808401528061115c60608601610cc7565b1660a084015250608083013560c083015261117960a08401610cc7565b73ffffffffffffffffffffffffffffffffffffffff811660e08401525061010060c0840135818401526111af60e0850185611063565b826101208601526111c5610140860182846110c7565b9250505082810360208401526111df816000815260200190565b949350505050565b6000602082840312156111f957600080fd5b8151610e0981610e9756fea2646970667358221220bbd7909d0486dc4aa26a025963d30c5f086d116121392f9d2559ce8eb477037464736f6c63430008110033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000040f331774ed6bb161412b4cedb1358b382af3a500000000000000000000000013b2211a7ca45db2808f6db05557ce5347e3634e
-----Decoded View---------------
Arg [0] : dao (address): 0x040f331774Ed6BB161412B4cEDb1358B382aF3A5
Arg [1] : ormp (address): 0x13b2211a7cA45Db2808F6dB05557ce5347e3634e
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000040f331774ed6bb161412b4cedb1358b382af3a5
Arg [1] : 00000000000000000000000013b2211a7ca45db2808f6db05557ce5347e3634e
Loading...
Loading
[ Download: CSV Export ]
[ 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.