ETH Price: $1,591.67 (-2.66%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer Ownersh...148651592022-05-29 7:17:511052 days ago1653808671IN
0x18f1115E...e84115ec2
0 ETH0.0005457418.82544863
Set Fee137539792021-12-06 18:55:461226 days ago1638816946IN
0x18f1115E...e84115ec2
0 ETH0.0047164100.65530421
Set Fee134050932021-10-12 17:52:481281 days ago1634061168IN
0x18f1115E...e84115ec2
0 ETH0.0022407390
Remove Reward Ac...113526202020-11-29 8:45:281598 days ago1606639528IN
0x18f1115E...e84115ec2
0 ETH0.0004671814
Add Reward Accou...113526172020-11-29 8:44:331598 days ago1606639473IN
0x18f1115E...e84115ec2
0 ETH0.0006170311.2

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer219405592025-02-27 22:07:2346 days ago1740694043
0x18f1115E...e84115ec2
0.03008353 ETH
Transfer219405592025-02-27 22:07:2346 days ago1740694043
0x18f1115E...e84115ec2
0.03008353 ETH
Transfer219382682025-02-27 14:27:4747 days ago1740666467
0x18f1115E...e84115ec2
0.01 ETH
Transfer219382682025-02-27 14:27:4747 days ago1740666467
0x18f1115E...e84115ec2
0.01 ETH
Transfer219217122025-02-25 7:00:2349 days ago1740466823
0x18f1115E...e84115ec2
0.01005473 ETH
Transfer219217122025-02-25 7:00:2349 days ago1740466823
0x18f1115E...e84115ec2
0.01005473 ETH
Transfer218591452025-02-16 13:05:3558 days ago1739711135
0x18f1115E...e84115ec2
0.01511551 ETH
Transfer218591452025-02-16 13:05:3558 days ago1739711135
0x18f1115E...e84115ec2
0.01511551 ETH
Transfer216795832025-01-22 10:58:4783 days ago1737543527
0x18f1115E...e84115ec2
0.01 ETH
Transfer216795832025-01-22 10:58:4783 days ago1737543527
0x18f1115E...e84115ec2
0.01 ETH
Transfer216757212025-01-21 22:02:2383 days ago1737496943
0x18f1115E...e84115ec2
0.02262209 ETH
Transfer216757212025-01-21 22:02:2383 days ago1737496943
0x18f1115E...e84115ec2
0.02262209 ETH
Transfer216634782025-01-20 5:01:4785 days ago1737349307
0x18f1115E...e84115ec2
0.01 ETH
Transfer216634782025-01-20 5:01:4785 days ago1737349307
0x18f1115E...e84115ec2
0.01 ETH
Transfer216620502025-01-20 0:15:1185 days ago1737332111
0x18f1115E...e84115ec2
0.01034559 ETH
Transfer216620502025-01-20 0:15:1185 days ago1737332111
0x18f1115E...e84115ec2
0.01034559 ETH
Transfer214969252024-12-27 22:57:11108 days ago1735340231
0x18f1115E...e84115ec2
0.01408576 ETH
Transfer214969252024-12-27 22:57:11108 days ago1735340231
0x18f1115E...e84115ec2
0.01408576 ETH
Transfer214328622024-12-19 0:01:59117 days ago1734566519
0x18f1115E...e84115ec2
0.01 ETH
Transfer214328622024-12-19 0:01:59117 days ago1734566519
0x18f1115E...e84115ec2
0.01 ETH
Transfer211862632024-11-14 13:34:47152 days ago1731591287
0x18f1115E...e84115ec2
0.02 ETH
Transfer211862632024-11-14 13:34:47152 days ago1731591287
0x18f1115E...e84115ec2
0.02 ETH
Transfer209899072024-10-18 3:57:35179 days ago1729223855
0x18f1115E...e84115ec2
0.01 ETH
Transfer209899072024-10-18 3:57:35179 days ago1729223855
0x18f1115E...e84115ec2
0.01 ETH
Transfer208404952024-09-27 7:34:11200 days ago1727422451
0x18f1115E...e84115ec2
0.01650039 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
HomeFeeManagerAMBNativeToErc20

Compiler Version
v0.4.24+commit.e67f0147

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license
/**
 *Submitted for verification at Etherscan.io on 2020-11-04
*/

// File: contracts/upgradeable_contracts/Sacrifice.sol

pragma solidity 0.4.24;

contract Sacrifice {
    constructor(address _recipient) public payable {
        selfdestruct(_recipient);
    }
}

// File: contracts/libraries/Address.sol

pragma solidity 0.4.24;


/**
 * @title Address
 * @dev Helper methods for Address type.
 */
library Address {
    /**
    * @dev Try to send native tokens to the address. If it fails, it will force the transfer by creating a selfdestruct contract
    * @param _receiver address that will receive the native tokens
    * @param _value the amount of native tokens to send
    */
    function safeSendValue(address _receiver, uint256 _value) internal {
        if (!_receiver.send(_value)) {
            (new Sacrifice).value(_value)(_receiver);
        }
    }
}

// File: openzeppelin-solidity/contracts/ownership/Ownable.sol

pragma solidity ^0.4.24;


/**
 * @title Ownable
 * @dev The Ownable contract has an owner address, and provides basic authorization control
 * functions, this simplifies the implementation of "user permissions".
 */
contract Ownable {
  address public owner;


  event OwnershipRenounced(address indexed previousOwner);
  event OwnershipTransferred(
    address indexed previousOwner,
    address indexed newOwner
  );


  /**
   * @dev The Ownable constructor sets the original `owner` of the contract to the sender
   * account.
   */
  constructor() public {
    owner = msg.sender;
  }

  /**
   * @dev Throws if called by any account other than the owner.
   */
  modifier onlyOwner() {
    require(msg.sender == owner);
    _;
  }

  /**
   * @dev Allows the current owner to relinquish control of the contract.
   * @notice Renouncing to ownership will leave the contract without an owner.
   * It will not be possible to call the functions with the `onlyOwner`
   * modifier anymore.
   */
  function renounceOwnership() public onlyOwner {
    emit OwnershipRenounced(owner);
    owner = address(0);
  }

  /**
   * @dev Allows the current owner to transfer control of the contract to a newOwner.
   * @param _newOwner The address to transfer ownership to.
   */
  function transferOwnership(address _newOwner) public onlyOwner {
    _transferOwnership(_newOwner);
  }

  /**
   * @dev Transfers control of the contract to a newOwner.
   * @param _newOwner The address to transfer ownership to.
   */
  function _transferOwnership(address _newOwner) internal {
    require(_newOwner != address(0));
    emit OwnershipTransferred(owner, _newOwner);
    owner = _newOwner;
  }
}

// File: openzeppelin-solidity/contracts/math/SafeMath.sol

pragma solidity ^0.4.24;


/**
 * @title SafeMath
 * @dev Math operations with safety checks that throw on error
 */
library SafeMath {

  /**
  * @dev Multiplies two numbers, throws on overflow.
  */
  function mul(uint256 _a, uint256 _b) internal pure returns (uint256 c) {
    // Gas optimization: this is cheaper than asserting 'a' not being zero, but the
    // benefit is lost if 'b' is also tested.
    // See: https://github.com/OpenZeppelin/openzeppelin-solidity/pull/522
    if (_a == 0) {
      return 0;
    }

    c = _a * _b;
    assert(c / _a == _b);
    return c;
  }

  /**
  * @dev Integer division of two numbers, truncating the quotient.
  */
  function div(uint256 _a, uint256 _b) internal pure returns (uint256) {
    // assert(_b > 0); // Solidity automatically throws when dividing by 0
    // uint256 c = _a / _b;
    // assert(_a == _b * c + _a % _b); // There is no case in which this doesn't hold
    return _a / _b;
  }

  /**
  * @dev Subtracts two numbers, throws on overflow (i.e. if subtrahend is greater than minuend).
  */
  function sub(uint256 _a, uint256 _b) internal pure returns (uint256) {
    assert(_b <= _a);
    return _a - _b;
  }

  /**
  * @dev Adds two numbers, throws on overflow.
  */
  function add(uint256 _a, uint256 _b) internal pure returns (uint256 c) {
    c = _a + _b;
    assert(c >= _a);
    return c;
  }
}

// File: contracts/upgradeable_contracts/BaseMediatorFeeManager.sol

pragma solidity 0.4.24;



/**
* @title BaseMediatorFeeManager
* @dev Base fee manager to handle fees for AMB mediators.
*/
contract BaseMediatorFeeManager is Ownable {
    using SafeMath for uint256;

    event FeeUpdated(uint256 fee);

    // This is not a real fee value but a relative value used to calculate the fee percentage.
    // 1 ether = 100% of the value.
    uint256 internal constant MAX_FEE = 1 ether;
    uint256 internal constant MAX_REWARD_ACCOUNTS = 50;

    uint256 public fee;
    address[] internal rewardAccounts;
    address internal mediatorContract;

    modifier validFee(uint256 _fee) {
        require(_fee < MAX_FEE);
        /* solcov ignore next */
        _;
    }

    /**
    * @dev Stores the initial parameters of the fee manager.
    * @param _owner address of the owner of the fee manager contract.
    * @param _fee the fee percentage amount.
    * @param _rewardAccountList list of addresses that will receive the fee rewards.
    */
    constructor(address _owner, uint256 _fee, address[] _rewardAccountList, address _mediatorContract) public {
        require(_rewardAccountList.length > 0 && _rewardAccountList.length <= MAX_REWARD_ACCOUNTS);
        _transferOwnership(_owner);
        _setFee(_fee);
        mediatorContract = _mediatorContract;

        for (uint256 i = 0; i < _rewardAccountList.length; i++) {
            require(isValidAccount(_rewardAccountList[i]));
        }
        rewardAccounts = _rewardAccountList;
    }

    /**
    * @dev Calculates the fee amount to be subtracted from the value.
    * @param _value the base value from which fees are calculated
    */
    function calculateFee(uint256 _value) external view returns (uint256) {
        return _value.mul(fee).div(MAX_FEE);
    }

    /**
    * @dev Stores the fee percentage amount for the mediator operations.
    * @param _fee the fee percentage
    */
    function _setFee(uint256 _fee) internal validFee(_fee) {
        fee = _fee;
        emit FeeUpdated(_fee);
    }

    /**
    * @dev Sets the fee percentage amount for the mediator operations. Only the owner can call this method.
    * @param _fee the fee percentage
    */
    function setFee(uint256 _fee) external onlyOwner {
        _setFee(_fee);
    }

    function isValidAccount(address _account) internal returns (bool) {
        return _account != address(0) && _account != mediatorContract;
    }

    /**
    * @dev Adds a new account to the list of accounts to receive rewards for the operations.
    * Only the owner can call this method.
    * @param _account new reward account
    */
    function addRewardAccount(address _account) external onlyOwner {
        require(isValidAccount(_account));
        require(!isRewardAccount(_account));
        require(rewardAccounts.length.add(1) < MAX_REWARD_ACCOUNTS);
        rewardAccounts.push(_account);
    }

    /**
    * @dev Removes an account from the list of accounts to receive rewards for the operations.
    * Only the owner can call this method.
    * finds the element, swaps it with the last element, and then deletes it;
    * @param _account to be removed
    * return boolean whether the element was found and deleted
    */
    function removeRewardAccount(address _account) external onlyOwner returns (bool) {
        uint256 numOfAccounts = rewardAccountsCount();
        for (uint256 i = 0; i < numOfAccounts; i++) {
            if (rewardAccounts[i] == _account) {
                rewardAccounts[i] = rewardAccounts[numOfAccounts - 1];
                delete rewardAccounts[numOfAccounts - 1];
                rewardAccounts.length--;
                return true;
            }
        }
        // If account is not found and removed, the transactions is reverted
        revert();
    }

    /**
    * @dev Tells the amount of accounts in the list of reward accounts.
    * @return amount of accounts.
    */
    function rewardAccountsCount() public view returns (uint256) {
        return rewardAccounts.length;
    }

    /**
    * @dev Tells if the account is part of the list of reward accounts.
    * @param _account to check if is part of the list.
    * @return true if the account is in the list
    */
    function isRewardAccount(address _account) internal view returns (bool) {
        for (uint256 i = 0; i < rewardAccountsCount(); i++) {
            if (rewardAccounts[i] == _account) {
                return true;
            }
        }
        return false;
    }

    /**
    * @dev Tells the list of accounts that receives rewards for the operations.
    * @return the list of reward accounts
    */
    function rewardAccountsList() public view returns (address[]) {
        return rewardAccounts;
    }

    /**
    * @dev ERC677 transfer callback function, received fee is distributed.
    * @param _value amount of transferred tokens
    */
    function onTokenTransfer(address, uint256 _value, bytes) external returns (bool) {
        distributeFee(_value);
        return true;
    }

    /**
    * @dev Distributes the provided amount of fees proportionally to the list of reward accounts.
    * In case the fees cannot be equally distributed, the remaining difference will be distributed to an account
    * in a semi-random way.
    * @param _fee total amount to be distributed to the list of reward accounts.
    */
    function distributeFee(uint256 _fee) internal {
        uint256 numOfAccounts = rewardAccountsCount();
        uint256 feePerAccount = _fee.div(numOfAccounts);
        uint256 randomAccountIndex;
        uint256 diff = _fee.sub(feePerAccount.mul(numOfAccounts));
        if (diff > 0) {
            randomAccountIndex = random(numOfAccounts);
        }

        for (uint256 i = 0; i < numOfAccounts; i++) {
            uint256 feeToDistribute = feePerAccount;
            if (diff > 0 && randomAccountIndex == i) {
                feeToDistribute = feeToDistribute.add(diff);
            }
            onFeeDistribution(rewardAccounts[i], feeToDistribute);
        }
    }

    /**
    * @dev Calculates a random number based on the block number.
    * @param _count the max value for the random number.
    * @return a number between 0 and _count.
    */
    function random(uint256 _count) internal view returns (uint256) {
        return uint256(blockhash(block.number.sub(1))) % _count;
    }

    /* solcov ignore next */
    function onFeeDistribution(address _rewardAddress, uint256 _fee) internal;
}

// File: contracts/upgradeable_contracts/amb_native_to_erc20/HomeFeeManagerAMBNativeToErc20.sol

pragma solidity 0.4.24;



/**
* @title HomeFeeManagerAMBNativeToErc20
* @dev Implements the logic to distribute fees from the native to erc20 mediator contract operations.
* The fees are distributed in the form of native tokens to the list of reward accounts.
*/
contract HomeFeeManagerAMBNativeToErc20 is BaseMediatorFeeManager {
    /**
    * @dev Stores the initial parameters of the fee manager.
    * @param _owner address of the owner of the fee manager contract.
    * @param _fee the fee percentage amount.
    * @param _rewardAccountList list of addresses that will receive the fee rewards.
    */
    constructor(address _owner, uint256 _fee, address[] _rewardAccountList, address _mediatorContract)
        public
        BaseMediatorFeeManager(_owner, _fee, _rewardAccountList, _mediatorContract)
    {
        // solhint-disable-previous-line no-empty-blocks
    }

    /**
    * @dev Fallback method to receive the fees.
    */
    function() public payable {
        // solhint-disable-previous-line no-empty-blocks
    }

    /**
    * @dev Transfer the fee as native tokens to the reward account.
    * @param _rewardAddress address that will receive the native tokens.
    * @param _fee amount of native tokens to be distribute.
    */
    function onFeeDistribution(address _rewardAddress, uint256 _fee) internal {
        Address.safeSendValue(_rewardAddress, _fee);
    }
}

Contract Security Audit

Contract ABI

API
[{"constant":false,"inputs":[{"name":"_account","type":"address"}],"name":"removeRewardAccount","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"rewardAccountsCount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_fee","type":"uint256"}],"name":"setFee","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"renounceOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_value","type":"uint256"}],"name":"calculateFee","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"","type":"address"},{"name":"_value","type":"uint256"},{"name":"","type":"bytes"}],"name":"onTokenTransfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"fee","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_account","type":"address"}],"name":"addRewardAccount","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"rewardAccountsList","outputs":[{"name":"","type":"address[]"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_owner","type":"address"},{"name":"_fee","type":"uint256"},{"name":"_rewardAccountList","type":"address[]"},{"name":"_mediatorContract","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":false,"name":"fee","type":"uint256"}],"name":"FeeUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"}],"name":"OwnershipRenounced","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"}]

60806040523480156200001157600080fd5b5060405162000c7d38038062000c7d8339810160409081528151602083015191830151606084015160008054600160a060020a03191633178155919094018051929490929091859185918591859190811080156200007157506032835111155b15156200007d57600080fd5b62000091856401000000006200013a810204565b620000a584640100000000620001ab810204565b5060038054600160a060020a031916600160a060020a03831617905560005b82518110156200011557620001008382815181101515620000e157fe5b90602001906020020151620001fd640100000000026401000000009004565b15156200010c57600080fd5b600101620000c4565b82516200012a9060029060208601906200022c565b50505050505050505050620002c0565b600160a060020a03811615156200015057600080fd5b60008054604051600160a060020a03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a360008054600160a060020a031916600160a060020a0392909216919091179055565b80670de0b6b3a76400008110620001c157600080fd5b60018290556040805183815290517f8c4d35e54a3f2ef1134138fd8ea3daee6a3c89e10d2665996babdf70261e2c769181900360200190a15050565b6000600160a060020a03821615801590620002265750600354600160a060020a03838116911614155b92915050565b82805482825590600052602060002090810192821562000284579160200282015b82811115620002845782518254600160a060020a031916600160a060020a039091161782556020909201916001909101906200024d565b506200029292915062000296565b5090565b620002bd91905b8082111562000292578054600160a060020a03191681556001016200029d565b90565b6109ad80620002d06000396000f3006080604052600436106100ae5763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416634692d9b481146100b05780635ab73f01146100e557806369fe0e2d1461010c578063715018a6146101245780638da5cb5b1461013957806399a5d7471461016a578063a4c0ed3614610182578063ddca3f43146101b3578063e219bdc6146101c8578063f2fde38b146101e9578063fdcbe9cd1461020a575b005b3480156100bc57600080fd5b506100d1600160a060020a036004351661026f565b604080519115158252519081900360200190f35b3480156100f157600080fd5b506100fa6103ad565b60408051918252519081900360200190f35b34801561011857600080fd5b506100ae6004356103b4565b34801561013057600080fd5b506100ae6103d7565b34801561014557600080fd5b5061014e610443565b60408051600160a060020a039092168252519081900360200190f35b34801561017657600080fd5b506100fa600435610452565b34801561018e57600080fd5b506100d160048035600160a060020a0316906024803591604435918201910135610487565b3480156101bf57600080fd5b506100fa61049d565b3480156101d457600080fd5b506100ae600160a060020a03600435166104a3565b3480156101f557600080fd5b506100ae600160a060020a0360043516610561565b34801561021657600080fd5b5061021f610581565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561025b578181015183820152602001610243565b505050509050019250505060405180910390f35b6000805481908190600160a060020a0316331461028b57600080fd5b6102936103ad565b9150600090505b818110156103a15783600160a060020a03166002828154811015156102bb57fe5b600091825260209091200154600160a060020a03161415610399576002805460001984019081106102e857fe5b60009182526020909120015460028054600160a060020a03909216918390811061030e57fe5b6000918252602090912001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a039290921691909117905560028054600019840190811061035657fe5b6000918252602090912001805473ffffffffffffffffffffffffffffffffffffffff19169055600280549061038f90600019830161090a565b50600192506103a6565b60010161029a565b600080fd5b5050919050565b6002545b90565b600054600160a060020a031633146103cb57600080fd5b6103d4816105e3565b50565b600054600160a060020a031633146103ee57600080fd5b60008054604051600160a060020a03909116917ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482091a26000805473ffffffffffffffffffffffffffffffffffffffff19169055565b600054600160a060020a031681565b6000610481670de0b6b3a76400006104756001548561063490919063ffffffff16565b9063ffffffff61065d16565b92915050565b600061049284610672565b506001949350505050565b60015481565b600054600160a060020a031633146104ba57600080fd5b6104c381610745565b15156104ce57600080fd5b6104d781610770565b156104e157600080fd5b6002546032906104f890600163ffffffff6107d316565b1061050257600080fd5b600280546001810182556000919091527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace01805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600054600160a060020a0316331461057857600080fd5b6103d4816107e0565b606060028054806020026020016040519081016040528092919081815260200182805480156105d957602002820191906000526020600020905b8154600160a060020a031681526001909101906020018083116105bb575b5050505050905090565b80670de0b6b3a764000081106105f857600080fd5b60018290556040805183815290517f8c4d35e54a3f2ef1134138fd8ea3daee6a3c89e10d2665996babdf70261e2c769181900360200190a15050565b600082151561064557506000610481565b5081810281838281151561065557fe5b041461048157fe5b6000818381151561066a57fe5b049392505050565b6000806000806000806106836103ad565b9550610695878763ffffffff61065d16565b94506106b76106aa868863ffffffff61063416565b889063ffffffff61085d16565b925060008311156106ce576106cb8661086f565b93505b600091505b8582101561073c5750836000831180156106ec57508184145b1561070457610701818463ffffffff6107d316565b90505b61073160028381548110151561071657fe5b600091825260209091200154600160a060020a031682610894565b6001909101906106d3565b50505050505050565b6000600160a060020a03821615801590610481575050600354600160a060020a039081169116141590565b6000805b61077c6103ad565b8110156107c85782600160a060020a031660028281548110151561079c57fe5b600091825260209091200154600160a060020a031614156107c057600191506107cd565b600101610774565b600091505b50919050565b8181018281101561048157fe5b600160a060020a03811615156107f557600080fd5b60008054604051600160a060020a03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60008282111561086957fe5b50900390565b60008161088343600163ffffffff61085d16565b4081151561088d57fe5b0692915050565b61089e82826108a2565b5050565b604051600160a060020a0383169082156108fc029083906000818181858888f19350505050151561089e5780826108d7610933565b600160a060020a039091168152604051908190036020019082f080158015610903573d6000803e3d6000fd5b5050505050565b81548183558181111561092e5760008381526020902061092e918101908301610942565b505050565b60405160218061096183390190565b6103b191905b8082111561095c5760008155600101610948565b50905600608060405260405160208060218339810160405251600160a060020a038116ff00a165627a7a7230582014ea18c036bbaae21aa24efb038a5e48c718524cd08b802268c5a1137ef95ae80029000000000000000000000000b7a42ba759ad21bdf543749f8c1b15e9c7a2a5c700000000000000000000000000000000000000000000000000038d7ea4c680000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000f127003ea39878efeee89aa4e22248cc6cb7728e00000000000000000000000000000000000000000000000000000000000000010000000000000000000000004779eab5d63dd156ec51b842e7f43cb821fc8716

Deployed Bytecode

0x6080604052600436106100ae5763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416634692d9b481146100b05780635ab73f01146100e557806369fe0e2d1461010c578063715018a6146101245780638da5cb5b1461013957806399a5d7471461016a578063a4c0ed3614610182578063ddca3f43146101b3578063e219bdc6146101c8578063f2fde38b146101e9578063fdcbe9cd1461020a575b005b3480156100bc57600080fd5b506100d1600160a060020a036004351661026f565b604080519115158252519081900360200190f35b3480156100f157600080fd5b506100fa6103ad565b60408051918252519081900360200190f35b34801561011857600080fd5b506100ae6004356103b4565b34801561013057600080fd5b506100ae6103d7565b34801561014557600080fd5b5061014e610443565b60408051600160a060020a039092168252519081900360200190f35b34801561017657600080fd5b506100fa600435610452565b34801561018e57600080fd5b506100d160048035600160a060020a0316906024803591604435918201910135610487565b3480156101bf57600080fd5b506100fa61049d565b3480156101d457600080fd5b506100ae600160a060020a03600435166104a3565b3480156101f557600080fd5b506100ae600160a060020a0360043516610561565b34801561021657600080fd5b5061021f610581565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561025b578181015183820152602001610243565b505050509050019250505060405180910390f35b6000805481908190600160a060020a0316331461028b57600080fd5b6102936103ad565b9150600090505b818110156103a15783600160a060020a03166002828154811015156102bb57fe5b600091825260209091200154600160a060020a03161415610399576002805460001984019081106102e857fe5b60009182526020909120015460028054600160a060020a03909216918390811061030e57fe5b6000918252602090912001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a039290921691909117905560028054600019840190811061035657fe5b6000918252602090912001805473ffffffffffffffffffffffffffffffffffffffff19169055600280549061038f90600019830161090a565b50600192506103a6565b60010161029a565b600080fd5b5050919050565b6002545b90565b600054600160a060020a031633146103cb57600080fd5b6103d4816105e3565b50565b600054600160a060020a031633146103ee57600080fd5b60008054604051600160a060020a03909116917ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482091a26000805473ffffffffffffffffffffffffffffffffffffffff19169055565b600054600160a060020a031681565b6000610481670de0b6b3a76400006104756001548561063490919063ffffffff16565b9063ffffffff61065d16565b92915050565b600061049284610672565b506001949350505050565b60015481565b600054600160a060020a031633146104ba57600080fd5b6104c381610745565b15156104ce57600080fd5b6104d781610770565b156104e157600080fd5b6002546032906104f890600163ffffffff6107d316565b1061050257600080fd5b600280546001810182556000919091527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace01805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600054600160a060020a0316331461057857600080fd5b6103d4816107e0565b606060028054806020026020016040519081016040528092919081815260200182805480156105d957602002820191906000526020600020905b8154600160a060020a031681526001909101906020018083116105bb575b5050505050905090565b80670de0b6b3a764000081106105f857600080fd5b60018290556040805183815290517f8c4d35e54a3f2ef1134138fd8ea3daee6a3c89e10d2665996babdf70261e2c769181900360200190a15050565b600082151561064557506000610481565b5081810281838281151561065557fe5b041461048157fe5b6000818381151561066a57fe5b049392505050565b6000806000806000806106836103ad565b9550610695878763ffffffff61065d16565b94506106b76106aa868863ffffffff61063416565b889063ffffffff61085d16565b925060008311156106ce576106cb8661086f565b93505b600091505b8582101561073c5750836000831180156106ec57508184145b1561070457610701818463ffffffff6107d316565b90505b61073160028381548110151561071657fe5b600091825260209091200154600160a060020a031682610894565b6001909101906106d3565b50505050505050565b6000600160a060020a03821615801590610481575050600354600160a060020a039081169116141590565b6000805b61077c6103ad565b8110156107c85782600160a060020a031660028281548110151561079c57fe5b600091825260209091200154600160a060020a031614156107c057600191506107cd565b600101610774565b600091505b50919050565b8181018281101561048157fe5b600160a060020a03811615156107f557600080fd5b60008054604051600160a060020a03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60008282111561086957fe5b50900390565b60008161088343600163ffffffff61085d16565b4081151561088d57fe5b0692915050565b61089e82826108a2565b5050565b604051600160a060020a0383169082156108fc029083906000818181858888f19350505050151561089e5780826108d7610933565b600160a060020a039091168152604051908190036020019082f080158015610903573d6000803e3d6000fd5b5050505050565b81548183558181111561092e5760008381526020902061092e918101908301610942565b505050565b60405160218061096183390190565b6103b191905b8082111561095c5760008155600101610948565b50905600608060405260405160208060218339810160405251600160a060020a038116ff00a165627a7a7230582014ea18c036bbaae21aa24efb038a5e48c718524cd08b802268c5a1137ef95ae80029

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

000000000000000000000000b7a42ba759ad21bdf543749f8c1b15e9c7a2a5c700000000000000000000000000000000000000000000000000038d7ea4c680000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000f127003ea39878efeee89aa4e22248cc6cb7728e00000000000000000000000000000000000000000000000000000000000000010000000000000000000000004779eab5d63dd156ec51b842e7f43cb821fc8716

-----Decoded View---------------
Arg [0] : _owner (address): 0xb7A42ba759AD21bdF543749f8c1b15e9c7A2A5c7
Arg [1] : _fee (uint256): 1000000000000000
Arg [2] : _rewardAccountList (address[]): 0x4779eab5d63dd156EC51B842e7f43cb821fC8716
Arg [3] : _mediatorContract (address): 0xf127003ea39878EFeEE89aA4E22248CC6cb7728E

-----Encoded View---------------
6 Constructor Arguments found :
Arg [0] : 000000000000000000000000b7a42ba759ad21bdf543749f8c1b15e9c7a2a5c7
Arg [1] : 00000000000000000000000000000000000000000000000000038d7ea4c68000
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000080
Arg [3] : 000000000000000000000000f127003ea39878efeee89aa4e22248cc6cb7728e
Arg [4] : 0000000000000000000000000000000000000000000000000000000000000001
Arg [5] : 0000000000000000000000004779eab5d63dd156ec51b842e7f43cb821fc8716


Deployed Bytecode Sourcemap

11201:1160:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7501:576;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;7501:576:0;-1:-1:-1;;;;;7501:576:0;;;;;;;;;;;;;;;;;;;;;;;8210:108;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8210:108:0;;;;;;;;;;;;;;;;;;;;6445:81;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;6445:81:0;;;;;1943:114;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1943:114:0;;;;1148:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1148:20:0;;;;;;;;-1:-1:-1;;;;;1148:20:0;;;;;;;;;;;;;;5896:124;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;5896:124:0;;;;;9196:143;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;9196:143:0;;;;-1:-1:-1;;;;;9196:143:0;;;;;;;;;;;;;;;;4706:18;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4706:18:0;;;;6885:271;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;6885:271:0;-1:-1:-1;;;;;6885:271:0;;;;;2225:105;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;2225:105:0;-1:-1:-1;;;;;2225:105:0;;;;;8943:102;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8943:102:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;8943:102:0;;;;;;;;;;;;;;;;;7501:576;7576:4;1651:5;;7576:4;;;;-1:-1:-1;;;;;1651:5:0;1637:10;:19;1629:28;;;;;;7617:21;:19;:21::i;:::-;7593:45;;7666:1;7654:13;;7649:324;7673:13;7669:1;:17;7649:324;;;7733:8;-1:-1:-1;;;;;7712:29:0;:14;7727:1;7712:17;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7712:17:0;:29;7708:254;;;7782:14;:33;;-1:-1:-1;;7797:17:0;;;7782:33;;;;;;;;;;;;;;;;7762:14;:17;;-1:-1:-1;;;;;7782:33:0;;;;7777:1;;7762:17;;;;;;;;;;;;;;;:53;;-1:-1:-1;;7762:53:0;-1:-1:-1;;;;;7762:53:0;;;;;;;;;;7841:14;:33;;-1:-1:-1;;7856:17:0;;;7841:33;;;;;;;;;;;;;;;7834:40;;-1:-1:-1;;7834:40:0;;;7893:14;:23;;;;;-1:-1:-1;;7893:23:0;;;:::i;:::-;;7942:4;7935:11;;;;7708:254;7688:3;;7649:324;;;8061:8;;;1664:1;7501:576;;;;;:::o;8210:108::-;8289:14;:21;8210:108;;:::o;6445:81::-;1651:5;;-1:-1:-1;;;;;1651:5:0;1637:10;:19;1629:28;;;;;;6505:13;6513:4;6505:7;:13::i;:::-;6445:81;:::o;1943:114::-;1651:5;;-1:-1:-1;;;;;1651:5:0;1637:10;:19;1629:28;;;;;;2020:5;;;2001:25;;-1:-1:-1;;;;;2020:5:0;;;;2001:25;;;2049:1;2033:18;;-1:-1:-1;;2033:18:0;;;1943:114::o;1148:20::-;;;-1:-1:-1;;;;;1148:20:0;;:::o;5896:124::-;5957:7;5984:28;4633:7;5984:15;5995:3;;5984:6;:10;;:15;;;;:::i;:::-;:19;:28;:19;:28;:::i;:::-;5977:35;5896:124;-1:-1:-1;;5896:124:0:o;9196:143::-;9271:4;9288:21;9302:6;9288:13;:21::i;:::-;-1:-1:-1;9327:4:0;9196:143;;;;;;:::o;4706:18::-;;;;:::o;6885:271::-;1651:5;;-1:-1:-1;;;;;1651:5:0;1637:10;:19;1629:28;;;;;;6967:24;6982:8;6967:14;:24::i;:::-;6959:33;;;;;;;;7012:25;7028:8;7012:15;:25::i;:::-;7011:26;7003:35;;;;;;7057:14;:21;4695:2;;7057:28;;7083:1;7057:28;:25;:28;:::i;:::-;:50;7049:59;;;;;;7119:14;27:10:-1;;39:1;23:18;;45:23;;-1:-1;7119:29:0;;;;;;;;-1:-1:-1;;7119:29:0;-1:-1:-1;;;;;7119:29:0;;;;;;;;;;6885:271::o;2225:105::-;1651:5;;-1:-1:-1;;;;;1651:5:0;1637:10;:19;1629:28;;;;;;2295:29;2314:9;2295:18;:29::i;8943:102::-;8994:9;9023:14;9016:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9016:21:0;;;;;;;;;;;;;;;;;;;;;;;8943:102;:::o;6157:116::-;6206:4;4633:7;4864:14;;4856:23;;;;;;6223:3;:10;;;6249:16;;;;;;;;;;;;;;;;;6157:116;;:::o;2930:391::-;2990:9;3220:7;;3216:38;;;-1:-1:-1;3245:1:0;3238:8;;3216:38;-1:-1:-1;3266:7:0;;;3271:2;3266;:7;3287:6;;;;;;;;:12;3280:20;;;3408:288;3468:7;3688:2;3683;:7;;;;;;;;;3408:288;-1:-1:-1;;;3408:288:0:o;9688:689::-;9745:21;9801;9859:26;9896:12;10064:9;10118:23;9769:21;:19;:21::i;:::-;9745:45;-1:-1:-1;9825:23:0;:4;9745:45;9825:23;:8;:23;:::i;:::-;9801:47;-1:-1:-1;9911:42:0;9920:32;9801:47;9938:13;9920:32;:17;:32;:::i;:::-;9911:4;;:42;:8;:42;:::i;:::-;9896:57;;9975:1;9968:4;:8;9964:83;;;10014:21;10021:13;10014:6;:21::i;:::-;9993:42;;9964:83;10076:1;10064:13;;10059:311;10083:13;10079:1;:17;10059:311;;;-1:-1:-1;10144:13:0;10183:1;10176:8;;:35;;;;;10210:1;10188:18;:23;10176:35;10172:119;;;10250:25;:15;10270:4;10250:25;:19;:25;:::i;:::-;10232:43;;10172:119;10305:53;10323:14;10338:1;10323:17;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10323:17:0;10342:15;10305:17;:53::i;:::-;10098:3;;;;;10059:311;;;9688:689;;;;;;;:::o;6534:146::-;6594:4;-1:-1:-1;;;;;6618:22:0;;;;;;:54;;-1:-1:-1;;6656:16:0;;-1:-1:-1;;;;;6656:16:0;;;6644:28;;;;;6534:146::o;8522:272::-;8588:4;;8605:159;8629:21;:19;:21::i;:::-;8625:1;:25;8605:159;;;8697:8;-1:-1:-1;;;;;8676:29:0;:14;8691:1;8676:17;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8676:17:0;:29;8672:81;;;8733:4;8726:11;;;;8672:81;8652:3;;8605:159;;;8781:5;8774:12;;8522:272;;;;;:::o;3999:132::-;4081:7;;;4102;;;;4095:15;;;2471:175;-1:-1:-1;;;;;2542:23:0;;;;2534:32;;;;;;2599:5;;;2578:38;;-1:-1:-1;;;;;2578:38:0;;;;2599:5;;;2578:38;;;2623:5;:17;;-1:-1:-1;;2623:17:0;-1:-1:-1;;;;;2623:17:0;;;;;;;;;;2471:175::o;3813:119::-;3873:7;3896:8;;;;3889:16;;;;-1:-1:-1;3919:7:0;;;3813:119::o;10572:138::-;10627:7;10696:6;10672:19;:12;10689:1;10672:19;:16;:19;:::i;:::-;10662:30;10654:48;;;;;;;;;10572:138;-1:-1:-1;;10572:138:0:o;12222:136::-;12307:43;12329:14;12345:4;12307:21;:43::i;:::-;12222:136;;:::o;647:181::-;730:22;;-1:-1:-1;;;;;730:14:0;;;:22;;;;;745:6;;730:22;;;;745:6;730:14;:22;;;;;;;729:23;725:96;;;791:6;799:9;769:40;;:::i;:::-;-1:-1:-1;;;;;769:40:0;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;;647:181:0;;:::o;11201:1160::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;

Swarm Source

bzzr://14ea18c036bbaae21aa24efb038a5e48c718524cd08b802268c5a1137ef95ae8

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.