Sepolia Testnet

Contract

0x114890eB7386F94eae410186F20968bFAf66142a

Overview

ETH Balance

0.870967341003449216 ETH

Multichain Info

N/A
Transaction Hash
Method
Block
From
To
Relay75023682025-01-16 6:57:246 days ago1737010644IN
0x114890eB...FAf66142a
0 ETH0.000988336.19312794
Relay72548542024-12-11 4:43:3642 days ago1733892216IN
0x114890eB...FAf66142a
0 ETH0.000160781.44197912
Relay63610412024-07-23 8:55:12183 days ago1721724912IN
0x114890eB...FAf66142a
0 ETH0.0138904723.4138775
Relay62431472024-07-04 7:51:36202 days ago1720079496IN
0x114890eB...FAf66142a
0 ETH0.0051283426.76462573
Relay62357352024-07-03 3:48:24203 days ago1719978504IN
0x114890eB...FAf66142a
0 ETH0.0061937732.32507323
Relay62318992024-07-02 12:46:36204 days ago1719924396IN
0x114890eB...FAf66142a
0 ETH0.0164669109.5092194
Relay62318272024-07-02 12:29:24204 days ago1719923364IN
0x114890eB...FAf66142a
0 ETH0.0123295581.99478679
Relay62317082024-07-02 12:02:12204 days ago1719921732IN
0x114890eB...FAf66142a
0 ETH0.01436243137.37385915
Relay62240432024-07-01 7:49:24205 days ago1719820164IN
0x114890eB...FAf66142a
0 ETH0.0107046187.34542537
Relay62024432024-06-28 3:46:24208 days ago1719546384IN
0x114890eB...FAf66142a
0 ETH0.0004245914.97369434
Relay62024422024-06-28 3:46:12208 days ago1719546372IN
0x114890eB...FAf66142a
0 ETH0.0022314214.9220446
Relay61984892024-06-27 14:34:48208 days ago1719498888IN
0x114890eB...FAf66142a
0 ETH0.0062200441.59477693
Relay61984832024-06-27 14:33:36208 days ago1719498816IN
0x114890eB...FAf66142a
0 ETH0.0011774441.52378923
Relay61963502024-06-27 7:25:12209 days ago1719473112IN
0x114890eB...FAf66142a
0 ETH0.0049848133.33454004
Relay61963482024-06-27 7:24:48209 days ago1719473088IN
0x114890eB...FAf66142a
0 ETH0.0009129632.19637744
Relay61960812024-06-27 6:30:12209 days ago1719469812IN
0x114890eB...FAf66142a
0 ETH0.0064275242.98224703
Relay61960802024-06-27 6:30:00209 days ago1719469800IN
0x114890eB...FAf66142a
0 ETH0.0012609844.46977063
Relay61959572024-06-27 6:04:00209 days ago1719468240IN
0x114890eB...FAf66142a
0 ETH0.0035842123.96844651
Relay61959562024-06-27 6:03:48209 days ago1719468228IN
0x114890eB...FAf66142a
0 ETH0.000701624.74282078
Relay61957982024-06-27 5:31:00209 days ago1719466260IN
0x114890eB...FAf66142a
0 ETH0.0040282824.17548944
Relay61957832024-06-27 5:28:00209 days ago1719466080IN
0x114890eB...FAf66142a
0 ETH0.0006686323.59015161
Relay61953772024-06-27 4:06:24209 days ago1719461184IN
0x114890eB...FAf66142a
0 ETH0.0003505212.55120065
Relay61953772024-06-27 4:06:24209 days ago1719461184IN
0x114890eB...FAf66142a
0 ETH0.0074457912.55120065
Relay61952662024-06-27 3:44:12209 days ago1719459852IN
0x114890eB...FAf66142a
0 ETH0.0015328510.2488825
Relay61952622024-06-27 3:43:24209 days ago1719459804IN
0x114890eB...FAf66142a
0 ETH0.0003048210.74080167
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
74752372025-01-12 12:11:0010 days ago1736683860
0x114890eB...FAf66142a
0.00002374 ETH
72545052024-12-11 3:29:0042 days ago1733887740
0x114890eB...FAf66142a
0.00000715 ETH
66402692024-09-06 0:43:36138 days ago1725583416
0x114890eB...FAf66142a
0.00001357 ETH
66398742024-09-05 23:10:36138 days ago1725577836
0x114890eB...FAf66142a
0.00001071 ETH
66396072024-09-05 22:09:24138 days ago1725574164
0x114890eB...FAf66142a
0.00001071 ETH
66393562024-09-05 21:09:24138 days ago1725570564
0x114890eB...FAf66142a
0.00004099 ETH
66261542024-09-03 16:13:24140 days ago1725380004
0x114890eB...FAf66142a
0.00001706 ETH
66258782024-09-03 15:10:24140 days ago1725376224
0x114890eB...FAf66142a
0.00003307 ETH
66251292024-09-03 12:17:48141 days ago1725365868
0x114890eB...FAf66142a
0.00067021 ETH
66245652024-09-03 10:10:36141 days ago1725358236
0x114890eB...FAf66142a
0.00259706 ETH
66243192024-09-03 9:10:48141 days ago1725354648
0x114890eB...FAf66142a
0.00308028 ETH
66240622024-09-03 8:13:24141 days ago1725351204
0x114890eB...FAf66142a
0.00308028 ETH
66232712024-09-03 5:10:24141 days ago1725340224
0x114890eB...FAf66142a
0.00149517 ETH
66230152024-09-03 4:12:00141 days ago1725336720
0x114890eB...FAf66142a
0.00011995 ETH
66227452024-09-03 3:11:00141 days ago1725333060
0x114890eB...FAf66142a
0.00004827 ETH
66224572024-09-03 2:05:00141 days ago1725329100
0x114890eB...FAf66142a
0.00001442 ETH
66221012024-09-03 0:43:12141 days ago1725324192
0x114890eB...FAf66142a
0.0000121 ETH
66216952024-09-02 23:10:24141 days ago1725318624
0x114890eB...FAf66142a
0.00001109 ETH
66214232024-09-02 22:09:00141 days ago1725314940
0x114890eB...FAf66142a
0.00001367 ETH
66211482024-09-02 21:08:48141 days ago1725311328
0x114890eB...FAf66142a
0.00002222 ETH
66208892024-09-02 20:10:48141 days ago1725307848
0x114890eB...FAf66142a
0.00002122 ETH
66206132024-09-02 19:08:48141 days ago1725304128
0x114890eB...FAf66142a
0.00007077 ETH
66203732024-09-02 18:12:48141 days ago1725300768
0x114890eB...FAf66142a
0.00020748 ETH
66200912024-09-02 17:08:24141 days ago1725296904
0x114890eB...FAf66142a
0.00001071 ETH
66198382024-09-02 16:12:00141 days ago1725293520
0x114890eB...FAf66142a
0.00021136 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

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)

File 1 of 3 : Relayer.sol
// 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, "");
    }
}

File 2 of 3 : Common.sol
// 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));
}

File 3 of 3 : IORMP.sol
// 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);
}

Settings
{
  "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/"
  ]
}

Contract ABI

[{"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"}]

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


Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
[ 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.