Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 5 from a total of 5 transactions
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Method | Block |
From
|
To
|
|||
---|---|---|---|---|---|---|---|
Transfer | 21940559 | 46 days ago | 0.03008353 ETH | ||||
Transfer | 21940559 | 46 days ago | 0.03008353 ETH | ||||
Transfer | 21938268 | 47 days ago | 0.01 ETH | ||||
Transfer | 21938268 | 47 days ago | 0.01 ETH | ||||
Transfer | 21921712 | 49 days ago | 0.01005473 ETH | ||||
Transfer | 21921712 | 49 days ago | 0.01005473 ETH | ||||
Transfer | 21859145 | 58 days ago | 0.01511551 ETH | ||||
Transfer | 21859145 | 58 days ago | 0.01511551 ETH | ||||
Transfer | 21679583 | 83 days ago | 0.01 ETH | ||||
Transfer | 21679583 | 83 days ago | 0.01 ETH | ||||
Transfer | 21675721 | 83 days ago | 0.02262209 ETH | ||||
Transfer | 21675721 | 83 days ago | 0.02262209 ETH | ||||
Transfer | 21663478 | 85 days ago | 0.01 ETH | ||||
Transfer | 21663478 | 85 days ago | 0.01 ETH | ||||
Transfer | 21662050 | 85 days ago | 0.01034559 ETH | ||||
Transfer | 21662050 | 85 days ago | 0.01034559 ETH | ||||
Transfer | 21496925 | 108 days ago | 0.01408576 ETH | ||||
Transfer | 21496925 | 108 days ago | 0.01408576 ETH | ||||
Transfer | 21432862 | 117 days ago | 0.01 ETH | ||||
Transfer | 21432862 | 117 days ago | 0.01 ETH | ||||
Transfer | 21186263 | 152 days ago | 0.02 ETH | ||||
Transfer | 21186263 | 152 days ago | 0.02 ETH | ||||
Transfer | 20989907 | 179 days ago | 0.01 ETH | ||||
Transfer | 20989907 | 179 days ago | 0.01 ETH | ||||
Transfer | 20840495 | 200 days ago | 0.01650039 ETH |
Loading...
Loading
Contract Name:
HomeFeeManagerAMBNativeToErc20
Compiler Version
v0.4.24+commit.e67f0147
Contract Source Code (Solidity)
/** *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
- No Contract Security Audit Submitted- Submit Audit Here
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"}]
Contract Creation Code
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
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 34 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
Loading...
Loading
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.