ETH Price: $2,626.53 (+1.33%)

Contract

0x21CaEeFF10Bcff143855C825EC02898E1cC9d2D9
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Deploy187239402023-12-06 1:13:11315 days ago1701825191IN
0x21CaEeFF...E1cC9d2D9
0 ETH0.0397360551.3073553
Deploy187239152023-12-06 1:08:11315 days ago1701824891IN
0x21CaEeFF...E1cC9d2D9
0 ETH0.0397539551.32966418
0x60806040187239002023-12-06 1:05:11315 days ago1701824711IN
 Create: ConverterFeedFactory
0 ETH0.0522657453.61183475

Latest 2 internal transactions

Advanced mode:
Parent Transaction Hash Block From To
187239402023-12-06 1:13:11315 days ago1701825191
0x21CaEeFF...E1cC9d2D9
 Contract Creation0 ETH
187239152023-12-06 1:08:11315 days ago1701824891
0x21CaEeFF...E1cC9d2D9
 Contract Creation0 ETH
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
ConverterFeedFactory

Compiler Version
v0.6.7+commit.b8d736ae

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, GNU GPLv3 license
/**
 *Submitted for verification at Etherscan.io on 2023-12-06
*/

pragma solidity 0.6.7;

abstract contract ConverterFeedLike {
    function getResultWithValidity() virtual external view returns (uint256,bool);
    function updateResult(address) virtual external;
}

contract ConverterFeed {
    // --- Auth ---
    mapping (address => uint) public authorizedAccounts;
    /**
     * @notice Add auth to an account
     * @param account Account to add auth to
     */
    function addAuthorization(address account) virtual external isAuthorized {
        authorizedAccounts[account] = 1;
        emit AddAuthorization(account);
    }
    /**
     * @notice Remove auth from an account
     * @param account Account to remove auth from
     */
    function removeAuthorization(address account) virtual external isAuthorized {
        authorizedAccounts[account] = 0;
        emit RemoveAuthorization(account);
    }
    /**
    * @notice Checks whether msg.sender can call an authed function
    **/
    modifier isAuthorized {
        require(authorizedAccounts[msg.sender] == 1, "ConverterFeed/account-not-authorized");
        _;
    }

    // --- General Vars ---
    // Base feed you want to convert into another currency. ie: (RAI/ETH)
    ConverterFeedLike public targetFeed;
    // Feed user for conversion. (i.e: Using the example above and ETH/USD willoutput RAI price in USD)
    ConverterFeedLike public denominationFeed;
    // This is the denominator for computing
    uint256           public converterFeedScalingFactor;    
    // Manual flag that can be set by governance and indicates if a result is valid or not
    uint256           public validityFlag;

    // --- Events ---
    event AddAuthorization(address account);
    event RemoveAuthorization(address account);
    event ModifyParameters(
      bytes32 parameter,
      address addr
    );
    event ModifyParameters(
      bytes32 parameter,
      uint256 val
    );
    event FailedUpdate(address feed, bytes out);

    constructor(
      address targetFeed_,
      address denominationFeed_,
      uint256 converterFeedScalingFactor_
    ) public {
        require(targetFeed_ != address(0), "ConverterFeed/null-target-feed");
        require(denominationFeed_ != address(0), "ConverterFeed/null-denomination-feed");
        require(converterFeedScalingFactor_ > 0, "ConverterFeed/null-scaling-factor");

        authorizedAccounts[msg.sender] = 1;

        targetFeed                    = ConverterFeedLike(targetFeed_);
        denominationFeed              = ConverterFeedLike(denominationFeed_);
        validityFlag                  = 1;
        converterFeedScalingFactor    = converterFeedScalingFactor_;

        // Emit events
        emit AddAuthorization(msg.sender);
        emit ModifyParameters(bytes32("validityFlag"), 1);
        emit ModifyParameters(bytes32("converterFeedScalingFactor"), converterFeedScalingFactor_);
        emit ModifyParameters(bytes32("targetFeed"), targetFeed_);
        emit ModifyParameters(bytes32("denominationFeed"), denominationFeed_);
    }

    // --- General Utils --
    function both(bool x, bool y) private pure returns (bool z) {
        assembly{ z := and(x, y)}
    }
    function either(bool x, bool y) internal pure returns (bool z) {
        assembly{ z := or(x, y)}
    }

    // --- Math ---
    function multiply(uint x, uint y) internal pure returns (uint z) {
        require(y == 0 || (z = x * y) / y == x);
    }    

    // --- Administration ---
    /**
    * @notice Modify uint256 parameters
    * @param parameter Name of the parameter to modify
    * @param data New parameter value
    **/
    function modifyParameters(bytes32 parameter, uint256 data) external isAuthorized {
        if (parameter == "validityFlag") {
          require(either(data == 1, data == 0), "ConverterFeed/invalid-data");
          validityFlag = data;
        } else if (parameter == "scalingFactor") {
          require(data > 0, "ConverterFeed/invalid-data");
          converterFeedScalingFactor = data;
        }
        else revert("ConverterFeed/modify-unrecognized-param");
        emit ModifyParameters(parameter, data);
    }
    /**
    * @notice Modify uint256 parameters
    * @param parameter Name of the parameter to modify
    * @param data New parameter value
    **/
    function modifyParameters(bytes32 parameter, address data) external isAuthorized {
        require(data != address(0), "ConverterFeed/invalid-data");
        if (parameter == "targetFeed") {
          targetFeed = ConverterFeedLike(data);
        } else if (parameter == "denominationFeed") {
          denominationFeed = ConverterFeedLike(data);
        } 
        else revert("ConverterFeed/modify-unrecognized-param");
        emit ModifyParameters(parameter, data);
    }  

    /**
    * @notice Updates both feeds
    **/
    function updateResult(address feeReceiver) external {
        try targetFeed.updateResult(feeReceiver) {}
        catch (bytes memory out) {
          emit FailedUpdate(address(targetFeed), out);
        }
        try denominationFeed.updateResult(feeReceiver) {}
        catch (bytes memory out) {
          emit FailedUpdate(address(denominationFeed), out);
        }        
    }

    // --- Getters ---
    /**
    * @notice Fetch the latest medianPrice (for maxWindow) or revert if is is null
    **/
    function read() external view returns (uint256) {
        (uint256 value, bool valid) = getResultWithValidity();
        require(valid, "ConverterFeed/invalid-price-feed");
        return value;
    }
    /**
    * @notice Fetch the latest medianPrice and whether it is null or not
    **/
    function getResultWithValidity() public view returns (uint256 value, bool valid) {
        (uint256 targetValue, bool targetValid) = targetFeed.getResultWithValidity();
        (uint256 denominationValue, bool denominationValid) = denominationFeed.getResultWithValidity();
        value = multiply(targetValue, denominationValue) / converterFeedScalingFactor;
        valid = both(
            both(targetValid, denominationValid), 
            both(validityFlag == 1, value > 0)
        );
    }
}


contract ConverterFeedFactory {
    address constant GEB_PAUSE_PROXY = 0xaDEA80Db702690A80cd123BA7ddCF6F541884E4f;

    function deploy (address feed1, address feed2) public {
        ConverterFeed feed = new ConverterFeed(feed1, feed2, 10**18);
        feed.addAuthorization(GEB_PAUSE_PROXY);
        feed.removeAuthorization(address(this));
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"feed1","type":"address"},{"internalType":"address","name":"feed2","type":"address"}],"name":"deploy","outputs":[],"stateMutability":"nonpayable","type":"function"}]

608060405234801561001057600080fd5b506110ab806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063545e7c6114610030575b600080fd5b61005e6004803603604081101561004657600080fd5b506001600160a01b0381358116916020013516610060565b005b60008282670de0b6b3a764000060405161007990610193565b6001600160a01b039384168152919092166020820152604080820192909252905190819003606001906000f0801580156100b7573d6000803e3d6000fd5b50604080516335b2815360e01b815273adea80db702690a80cd123ba7ddcf6f541884e4f600482015290519192506001600160a01b038316916335b281539160248082019260009290919082900301818387803b15801561011757600080fd5b505af115801561012b573d6000803e3d6000fd5b5050604080516394f3f81d60e01b815230600482015290516001600160a01b03851693506394f3f81d9250602480830192600092919082900301818387803b15801561017657600080fd5b505af115801561018a573d6000803e3d6000fd5b50505050505050565b610ed5806101a18339019056fe608060405234801561001057600080fd5b50604051610ed5380380610ed58339818101604052606081101561003357600080fd5b50805160208201516040909201519091906001600160a01b03831661009f576040805162461bcd60e51b815260206004820152601e60248201527f436f6e766572746572466565642f6e756c6c2d7461726765742d666565640000604482015290519081900360640190fd5b6001600160a01b0382166100e45760405162461bcd60e51b8152600401808060200182810382526024815260200180610eb16024913960400191505060405180910390fd5b600081116101235760405162461bcd60e51b8152600401808060200182810382526021815260200180610e706021913960400191505060405180910390fd5b336000818152602081815260409182902060019081905580546001600160a01b038881166001600160a01b031992831617835560028054918916919092161790556004556003849055815192835290517f599a298163e1678bb1c676052a8930bf0b8a1261ed6e01b8a2391e55f70001029281900390910190a1604080516b76616c6964697479466c616760a01b8152600160208201528151600080516020610e50833981519152929181900390910190a1604080517f636f6e766572746572466565645363616c696e67466163746f720000000000008152602081018390528151600080516020610e50833981519152929181900390910190a160408051691d185c99d95d1199595960b21b81526001600160a01b03851660208201528151600080516020610e91833981519152929181900390910190a1604080516f19195b9bdb5a5b985d1a5bdb9199595960821b81526001600160a01b03841660208201528151600080516020610e91833981519152929181900390910190a1505050610b9e806102b26000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c80634fd0ada8116100715780634fd0ada81461017357806357de26a4146101945780636614f0101461019c57806394f3f81d146101c8578063b1940058146101ee578063fe4f5890146101f6576100b4565b806324ba5884146100b95780632ca92a65146100f157806331c9626a146101155780633238a2aa1461011d57806335b2815314610125578063495df0251461014d575b600080fd5b6100df600480360360208110156100cf57600080fd5b50356001600160a01b0316610219565b60408051918252519081900360200190f35b6100f961022b565b604080516001600160a01b039092168252519081900360200190f35b6100df61023a565b6100f9610240565b61014b6004803603602081101561013b57600080fd5b50356001600160a01b031661024f565b005b61014b6004803603602081101561016357600080fd5b50356001600160a01b03166102ef565b61017b610580565b6040805192835290151560208301528051918290030190f35b6100df6106cf565b61014b600480360360408110156101b257600080fd5b50803590602001356001600160a01b0316610738565b61014b600480360360208110156101de57600080fd5b50356001600160a01b03166108cc565b6100df61096b565b61014b6004803603604081101561020c57600080fd5b5080359060200135610971565b60006020819052908152604090205481565b6001546001600160a01b031681565b60045481565b6002546001600160a01b031681565b3360009081526020819052604090205460011461029d5760405162461bcd60e51b8152600401808060200182810382526024815260200180610b1e6024913960400191505060405180910390fd5b6001600160a01b0381166000818152602081815260409182902060019055815192835290517f599a298163e1678bb1c676052a8930bf0b8a1261ed6e01b8a2391e55f70001029281900390910190a150565b6001546040805163495df02560e01b81526001600160a01b0384811660048301529151919092169163495df02591602480830192600092919082900301818387803b15801561033d57600080fd5b505af192505050801561034e575060015b610436573d80801561037c576040519150601f19603f3d011682016040523d82523d6000602084013e610381565b606091505b50600154604080516001600160a01b03909216808352602080840183815285519385019390935284517fce1a3df2d4de4cdfd26529901ed51a8c4a2a8e4bcea388e221118c93098954af9492938693929091606084019185019080838360005b838110156103f95781810151838201526020016103e1565b50505050905090810190601f1680156104265780820380516001836020036101000a031916815260200191505b50935050505060405180910390a1505b6002546040805163495df02560e01b81526001600160a01b0384811660048301529151919092169163495df02591602480830192600092919082900301818387803b15801561048457600080fd5b505af1925050508015610495575060015b61057d573d8080156104c3576040519150601f19603f3d011682016040523d82523d6000602084013e6104c8565b606091505b50600254604080516001600160a01b03909216808352602080840183815285519385019390935284517fce1a3df2d4de4cdfd26529901ed51a8c4a2a8e4bcea388e221118c93098954af9492938693929091606084019185019080838360005b83811015610540578181015183820152602001610528565b50505050905090810190601f16801561056d5780820380516001836020036101000a031916815260200191505b50935050505060405180910390a1505b50565b600080600080600160009054906101000a90046001600160a01b03166001600160a01b0316634fd0ada86040518163ffffffff1660e01b8152600401604080518083038186803b1580156105d357600080fd5b505afa1580156105e7573d6000803e3d6000fd5b505050506040513d60408110156105fd57600080fd5b508051602090910151600254604080516309fa15b560e31b8152815194965092945060009384936001600160a01b0390931692634fd0ada8926004808301939192829003018186803b15801561065257600080fd5b505afa158015610666573d6000803e3d6000fd5b505050506040513d604081101561067c57600080fd5b50805160209091015160035491935091506106978584610aeb565b8161069e57fe5b0495506106c56106ae8483610b15565b6106c060045460011460008a11610b15565b610b15565b9450505050509091565b60008060006106dc610580565b9150915080610732576040805162461bcd60e51b815260206004820181905260248201527f436f6e766572746572466565642f696e76616c69642d70726963652d66656564604482015290519081900360640190fd5b50905090565b336000908152602081905260409020546001146107865760405162461bcd60e51b8152600401808060200182810382526024815260200180610b1e6024913960400191505060405180910390fd5b6001600160a01b0381166107de576040805162461bcd60e51b815260206004820152601a602482015279436f6e766572746572466565642f696e76616c69642d6461746160301b604482015290519081900360640190fd5b81691d185c99d95d1199595960b21b141561081357600180546001600160a01b0319166001600160a01b038316179055610885565b816f19195b9bdb5a5b985d1a5bdb9199595960821b141561084e57600280546001600160a01b0319166001600160a01b038316179055610885565b60405162461bcd60e51b8152600401808060200182810382526027815260200180610b426027913960400191505060405180910390fd5b604080518381526001600160a01b038316602082015281517fd91f38cf03346b5dc15fb60f9076f866295231ad3c3841a1051f8443f25170d1929181900390910190a15050565b3360009081526020819052604090205460011461091a5760405162461bcd60e51b8152600401808060200182810382526024815260200180610b1e6024913960400191505060405180910390fd5b6001600160a01b03811660008181526020818152604080832092909255815192835290517f8834a87e641e9716be4f34527af5d23e11624f1ddeefede6ad75a9acfc31b9039281900390910190a150565b60035481565b336000908152602081905260409020546001146109bf5760405162461bcd60e51b8152600401808060200182810382526024815260200180610b1e6024913960400191505060405180910390fd5b816b76616c6964697479466c616760a01b1415610a3c576109e4600182148215610b19565b610a32576040805162461bcd60e51b815260206004820152601a602482015279436f6e766572746572466565642f696e76616c69642d6461746160301b604482015290519081900360640190fd5b6004819055610aac565b816c39b1b0b634b733a330b1ba37b960991b141561084e5760008111610aa6576040805162461bcd60e51b815260206004820152601a602482015279436f6e766572746572466565642f696e76616c69642d6461746160301b604482015290519081900360640190fd5b60038190555b604080518381526020810183905281517fac7c5c1afaef770ec56ac6268cd3f2fbb1035858ead2601d6553157c33036c3a929181900390910190a15050565b6000811580610b0657505080820282828281610b0357fe5b04145b610b0f57600080fd5b92915050565b1690565b179056fe436f6e766572746572466565642f6163636f756e742d6e6f742d617574686f72697a6564436f6e766572746572466565642f6d6f646966792d756e7265636f676e697a65642d706172616da26469706673582212204835df662b0fe7b1045a25e0907b222ac65ad1dec8663c37284a411215bc28c864736f6c63430006070033ac7c5c1afaef770ec56ac6268cd3f2fbb1035858ead2601d6553157c33036c3a436f6e766572746572466565642f6e756c6c2d7363616c696e672d666163746f72d91f38cf03346b5dc15fb60f9076f866295231ad3c3841a1051f8443f25170d1436f6e766572746572466565642f6e756c6c2d64656e6f6d696e6174696f6e2d66656564a26469706673582212205b4065610766c1fa9020b508900004509dd7c606949460c635c7983bade984e964736f6c63430006070033

Deployed Bytecode

0x608060405234801561001057600080fd5b506004361061002b5760003560e01c8063545e7c6114610030575b600080fd5b61005e6004803603604081101561004657600080fd5b506001600160a01b0381358116916020013516610060565b005b60008282670de0b6b3a764000060405161007990610193565b6001600160a01b039384168152919092166020820152604080820192909252905190819003606001906000f0801580156100b7573d6000803e3d6000fd5b50604080516335b2815360e01b815273adea80db702690a80cd123ba7ddcf6f541884e4f600482015290519192506001600160a01b038316916335b281539160248082019260009290919082900301818387803b15801561011757600080fd5b505af115801561012b573d6000803e3d6000fd5b5050604080516394f3f81d60e01b815230600482015290516001600160a01b03851693506394f3f81d9250602480830192600092919082900301818387803b15801561017657600080fd5b505af115801561018a573d6000803e3d6000fd5b50505050505050565b610ed5806101a18339019056fe608060405234801561001057600080fd5b50604051610ed5380380610ed58339818101604052606081101561003357600080fd5b50805160208201516040909201519091906001600160a01b03831661009f576040805162461bcd60e51b815260206004820152601e60248201527f436f6e766572746572466565642f6e756c6c2d7461726765742d666565640000604482015290519081900360640190fd5b6001600160a01b0382166100e45760405162461bcd60e51b8152600401808060200182810382526024815260200180610eb16024913960400191505060405180910390fd5b600081116101235760405162461bcd60e51b8152600401808060200182810382526021815260200180610e706021913960400191505060405180910390fd5b336000818152602081815260409182902060019081905580546001600160a01b038881166001600160a01b031992831617835560028054918916919092161790556004556003849055815192835290517f599a298163e1678bb1c676052a8930bf0b8a1261ed6e01b8a2391e55f70001029281900390910190a1604080516b76616c6964697479466c616760a01b8152600160208201528151600080516020610e50833981519152929181900390910190a1604080517f636f6e766572746572466565645363616c696e67466163746f720000000000008152602081018390528151600080516020610e50833981519152929181900390910190a160408051691d185c99d95d1199595960b21b81526001600160a01b03851660208201528151600080516020610e91833981519152929181900390910190a1604080516f19195b9bdb5a5b985d1a5bdb9199595960821b81526001600160a01b03841660208201528151600080516020610e91833981519152929181900390910190a1505050610b9e806102b26000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c80634fd0ada8116100715780634fd0ada81461017357806357de26a4146101945780636614f0101461019c57806394f3f81d146101c8578063b1940058146101ee578063fe4f5890146101f6576100b4565b806324ba5884146100b95780632ca92a65146100f157806331c9626a146101155780633238a2aa1461011d57806335b2815314610125578063495df0251461014d575b600080fd5b6100df600480360360208110156100cf57600080fd5b50356001600160a01b0316610219565b60408051918252519081900360200190f35b6100f961022b565b604080516001600160a01b039092168252519081900360200190f35b6100df61023a565b6100f9610240565b61014b6004803603602081101561013b57600080fd5b50356001600160a01b031661024f565b005b61014b6004803603602081101561016357600080fd5b50356001600160a01b03166102ef565b61017b610580565b6040805192835290151560208301528051918290030190f35b6100df6106cf565b61014b600480360360408110156101b257600080fd5b50803590602001356001600160a01b0316610738565b61014b600480360360208110156101de57600080fd5b50356001600160a01b03166108cc565b6100df61096b565b61014b6004803603604081101561020c57600080fd5b5080359060200135610971565b60006020819052908152604090205481565b6001546001600160a01b031681565b60045481565b6002546001600160a01b031681565b3360009081526020819052604090205460011461029d5760405162461bcd60e51b8152600401808060200182810382526024815260200180610b1e6024913960400191505060405180910390fd5b6001600160a01b0381166000818152602081815260409182902060019055815192835290517f599a298163e1678bb1c676052a8930bf0b8a1261ed6e01b8a2391e55f70001029281900390910190a150565b6001546040805163495df02560e01b81526001600160a01b0384811660048301529151919092169163495df02591602480830192600092919082900301818387803b15801561033d57600080fd5b505af192505050801561034e575060015b610436573d80801561037c576040519150601f19603f3d011682016040523d82523d6000602084013e610381565b606091505b50600154604080516001600160a01b03909216808352602080840183815285519385019390935284517fce1a3df2d4de4cdfd26529901ed51a8c4a2a8e4bcea388e221118c93098954af9492938693929091606084019185019080838360005b838110156103f95781810151838201526020016103e1565b50505050905090810190601f1680156104265780820380516001836020036101000a031916815260200191505b50935050505060405180910390a1505b6002546040805163495df02560e01b81526001600160a01b0384811660048301529151919092169163495df02591602480830192600092919082900301818387803b15801561048457600080fd5b505af1925050508015610495575060015b61057d573d8080156104c3576040519150601f19603f3d011682016040523d82523d6000602084013e6104c8565b606091505b50600254604080516001600160a01b03909216808352602080840183815285519385019390935284517fce1a3df2d4de4cdfd26529901ed51a8c4a2a8e4bcea388e221118c93098954af9492938693929091606084019185019080838360005b83811015610540578181015183820152602001610528565b50505050905090810190601f16801561056d5780820380516001836020036101000a031916815260200191505b50935050505060405180910390a1505b50565b600080600080600160009054906101000a90046001600160a01b03166001600160a01b0316634fd0ada86040518163ffffffff1660e01b8152600401604080518083038186803b1580156105d357600080fd5b505afa1580156105e7573d6000803e3d6000fd5b505050506040513d60408110156105fd57600080fd5b508051602090910151600254604080516309fa15b560e31b8152815194965092945060009384936001600160a01b0390931692634fd0ada8926004808301939192829003018186803b15801561065257600080fd5b505afa158015610666573d6000803e3d6000fd5b505050506040513d604081101561067c57600080fd5b50805160209091015160035491935091506106978584610aeb565b8161069e57fe5b0495506106c56106ae8483610b15565b6106c060045460011460008a11610b15565b610b15565b9450505050509091565b60008060006106dc610580565b9150915080610732576040805162461bcd60e51b815260206004820181905260248201527f436f6e766572746572466565642f696e76616c69642d70726963652d66656564604482015290519081900360640190fd5b50905090565b336000908152602081905260409020546001146107865760405162461bcd60e51b8152600401808060200182810382526024815260200180610b1e6024913960400191505060405180910390fd5b6001600160a01b0381166107de576040805162461bcd60e51b815260206004820152601a602482015279436f6e766572746572466565642f696e76616c69642d6461746160301b604482015290519081900360640190fd5b81691d185c99d95d1199595960b21b141561081357600180546001600160a01b0319166001600160a01b038316179055610885565b816f19195b9bdb5a5b985d1a5bdb9199595960821b141561084e57600280546001600160a01b0319166001600160a01b038316179055610885565b60405162461bcd60e51b8152600401808060200182810382526027815260200180610b426027913960400191505060405180910390fd5b604080518381526001600160a01b038316602082015281517fd91f38cf03346b5dc15fb60f9076f866295231ad3c3841a1051f8443f25170d1929181900390910190a15050565b3360009081526020819052604090205460011461091a5760405162461bcd60e51b8152600401808060200182810382526024815260200180610b1e6024913960400191505060405180910390fd5b6001600160a01b03811660008181526020818152604080832092909255815192835290517f8834a87e641e9716be4f34527af5d23e11624f1ddeefede6ad75a9acfc31b9039281900390910190a150565b60035481565b336000908152602081905260409020546001146109bf5760405162461bcd60e51b8152600401808060200182810382526024815260200180610b1e6024913960400191505060405180910390fd5b816b76616c6964697479466c616760a01b1415610a3c576109e4600182148215610b19565b610a32576040805162461bcd60e51b815260206004820152601a602482015279436f6e766572746572466565642f696e76616c69642d6461746160301b604482015290519081900360640190fd5b6004819055610aac565b816c39b1b0b634b733a330b1ba37b960991b141561084e5760008111610aa6576040805162461bcd60e51b815260206004820152601a602482015279436f6e766572746572466565642f696e76616c69642d6461746160301b604482015290519081900360640190fd5b60038190555b604080518381526020810183905281517fac7c5c1afaef770ec56ac6268cd3f2fbb1035858ead2601d6553157c33036c3a929181900390910190a15050565b6000811580610b0657505080820282828281610b0357fe5b04145b610b0f57600080fd5b92915050565b1690565b179056fe436f6e766572746572466565642f6163636f756e742d6e6f742d617574686f72697a6564436f6e766572746572466565642f6d6f646966792d756e7265636f676e697a65642d706172616da26469706673582212204835df662b0fe7b1045a25e0907b222ac65ad1dec8663c37284a411215bc28c864736f6c63430006070033ac7c5c1afaef770ec56ac6268cd3f2fbb1035858ead2601d6553157c33036c3a436f6e766572746572466565642f6e756c6c2d7363616c696e672d666163746f72d91f38cf03346b5dc15fb60f9076f866295231ad3c3841a1051f8443f25170d1436f6e766572746572466565642f6e756c6c2d64656e6f6d696e6174696f6e2d66656564a26469706673582212205b4065610766c1fa9020b508900004509dd7c606949460c635c7983bade984e964736f6c63430006070033

Deployed Bytecode Sourcemap

6257:358:0:-:0;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;6257:358:0;;;;;;;;;;;;;;;;12:1:-1;9;2:12;6380:232:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;6380:232:0;;;;;;;;;;:::i;:::-;;;6445:18;6484:5;6491;6498:6;6466:39;;;;;:::i;:::-;-1:-1:-1;;;;;6466:39:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6466:39:0;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;6516:38:0;;;-1:-1:-1;;;6516:38:0;;6329:42;6516:38;;;;;;6445:60;;-1:-1:-1;;;;;;6516:21:0;;;;;:38;;;;;-1:-1:-1;;6516:38:0;;;;;;;;-1:-1:-1;6516:21:0;:38;;;2:2:-1;;;;27:1;24;17:12;2:2;6516:38:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;6565:39:0;;;-1:-1:-1;;;6565:39:0;;6598:4;6565:39;;;;;;-1:-1:-1;;;;;6565:24:0;;;-1:-1:-1;6565:24:0;;-1:-1:-1;6565:39:0;;;;;-1:-1:-1;;6565:39:0;;;;;;;-1:-1:-1;6565:24:0;:39;;;2:2:-1;;;;27:1;24;17:12;2:2;6565:39:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6565:39:0;;;;6380:232;;;:::o;6257:358::-;;;;;;;;:::o

Swarm Source

ipfs://5b4065610766c1fa9020b508900004509dd7c606949460c635c7983bade984e9

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

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

Validator Index Block Amount
View All Withdrawals

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