ETH Price: $2,961.63 (+1.06%)
 

More Info

Private Name Tags

Multichain Info

Transaction Hash
Method
Block
From
To
0xfd4d840d65625f658c8095547c0ffae697cb5305e29c7b1356180ce10b048cc9 Withdraw ERC20Fo...(pending)2025-11-26 2:31:286 mins ago1764124288IN
Axie Infinity: Ronin Bridge
0 ETH(Pending)(Pending)
Deposit Eth For235068472025-10-04 20:38:2352 days ago1759610303IN
Axie Infinity: Ronin Bridge
0.0002 ETH0.000002690.1
Withdraw ERC20Fo...235013502025-10-04 2:11:5953 days ago1759543919IN
Axie Infinity: Ronin Bridge
0 ETH0.000004850.1
Transfer234843702025-10-01 17:13:5955 days ago1759338839IN
Axie Infinity: Ronin Bridge
0.00047034 ETH0.000025941
Withdraw ERC20Fo...234147812025-09-21 23:44:5965 days ago1758498299IN
Axie Infinity: Ronin Bridge
0 ETH0.000004820.1
Withdraw ERC20Fo...231641042025-08-17 23:36:23100 days ago1755473783IN
Axie Infinity: Ronin Bridge
0 ETH0.000040681
Withdraw ERC20Fo...231641042025-08-17 23:36:23100 days ago1755473783IN
Axie Infinity: Ronin Bridge
0 ETH0.000004060.1
Deposit Eth For231640652025-08-17 23:28:35100 days ago1755473315IN
Axie Infinity: Ronin Bridge
0.0007 ETH0.000002960.11
Withdraw ERC20Fo...230713162025-08-05 0:34:47113 days ago1754354087IN
Axie Infinity: Ronin Bridge
0 ETH0.000075761.75473964
Withdraw ERC20Fo...230713162025-08-05 0:34:47113 days ago1754354087IN
Axie Infinity: Ronin Bridge
0 ETH0.000006040.14
Withdraw ERC20Fo...230713062025-08-05 0:32:47113 days ago1754353967IN
Axie Infinity: Ronin Bridge
0 ETH0.000005670.15
Withdraw ERC20Fo...230713062025-08-05 0:32:47113 days ago1754353967IN
Axie Infinity: Ronin Bridge
0 ETH0.000006490.15
Withdraw ERC20Fo...227508222025-06-21 5:42:59157 days ago1750484579IN
Axie Infinity: Ronin Bridge
0 ETH0.000007730.19
Withdraw ERC20Fo...227507062025-06-21 5:19:23157 days ago1750483163IN
Axie Infinity: Ronin Bridge
0 ETH0.000083361.72069903
Withdraw ERC20Fo...227507052025-06-21 5:19:11157 days ago1750483151IN
Axie Infinity: Ronin Bridge
0 ETH0.000025270.52158364
Withdraw ERC20Fo...227507052025-06-21 5:19:11157 days ago1750483151IN
Axie Infinity: Ronin Bridge
0 ETH0.000026820.55372979
Withdraw ERC20Fo...227507052025-06-21 5:19:11157 days ago1750483151IN
Axie Infinity: Ronin Bridge
0 ETH0.000009690.2
Withdraw ERC20Fo...227503932025-06-21 4:16:47157 days ago1750479407IN
Axie Infinity: Ronin Bridge
0 ETH0.000009630.21
Withdraw ERC20Fo...227501792025-06-21 3:33:35157 days ago1750476815IN
Axie Infinity: Ronin Bridge
0 ETH0.000010630.22
Transfer225770742025-05-27 22:22:23182 days ago1748384543IN
Axie Infinity: Ronin Bridge
0.00005 ETH0.000053672.55586491
Withdraw ERC20Fo...223028282025-04-19 11:43:59220 days ago1745063039IN
Axie Infinity: Ronin Bridge
0 ETH0.000010980.29622858
Withdraw ERC20Fo...221375672025-03-27 10:11:23243 days ago1743070283IN
Axie Infinity: Ronin Bridge
0 ETH0.000010140.3
Deposit Eth For221062332025-03-23 1:14:35248 days ago1742692475IN
Axie Infinity: Ronin Bridge
0.003 ETH0.000008070.3
Withdraw ERC20Fo...220426872025-03-14 4:19:35256 days ago1741925975IN
Axie Infinity: Ronin Bridge
0 ETH0.000015670.41035278
Withdraw ERC20Fo...220426872025-03-14 4:19:35256 days ago1741925975IN
Axie Infinity: Ronin Bridge
0 ETH0.000015670.41035278
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer154733302022-09-04 19:00:061178 days ago1662318006
Axie Infinity: Ronin Bridge
0.05276627 ETH
Transfer150395242022-06-28 11:54:081246 days ago1656417248
Axie Infinity: Ronin Bridge
2,202.68814604 ETH
Transfer150395242022-06-28 11:54:081246 days ago1656417248
Axie Infinity: Ronin Bridge
2,202.68814604 ETH
-144818732022-03-29 15:22:331337 days ago1648567353
Axie Infinity: Ronin Bridge
0.24318177 ETH
-144818732022-03-29 15:22:331337 days ago1648567353
Axie Infinity: Ronin Bridge
0.24318177 ETH
-144818712022-03-29 15:22:071337 days ago1648567327
Axie Infinity: Ronin Bridge
0.024 ETH
-144818702022-03-29 15:21:511337 days ago1648567311
Axie Infinity: Ronin Bridge
0.10401112 ETH
-144818702022-03-29 15:21:511337 days ago1648567311
Axie Infinity: Ronin Bridge
0.10401112 ETH
-144818702022-03-29 15:21:511337 days ago1648567311
Axie Infinity: Ronin Bridge
0.0015 ETH
-144818702022-03-29 15:21:511337 days ago1648567311
Axie Infinity: Ronin Bridge
0.019 ETH
-144818472022-03-29 15:17:231337 days ago1648567043
Axie Infinity: Ronin Bridge
0.24316804 ETH
-144818472022-03-29 15:17:231337 days ago1648567043
Axie Infinity: Ronin Bridge
0.24316804 ETH
-144818332022-03-29 15:13:061337 days ago1648566786
Axie Infinity: Ronin Bridge
0.3141 ETH
-144818332022-03-29 15:13:061337 days ago1648566786
Axie Infinity: Ronin Bridge
0.3141 ETH
-144818252022-03-29 15:10:561337 days ago1648566656
Axie Infinity: Ronin Bridge
0.033 ETH
-144818152022-03-29 15:07:301337 days ago1648566450
Axie Infinity: Ronin Bridge
0.047 ETH
-144817972022-03-29 15:04:261337 days ago1648566266
Axie Infinity: Ronin Bridge
3.05462562 ETH
-144817972022-03-29 15:04:261337 days ago1648566266
Axie Infinity: Ronin Bridge
3.05462562 ETH
-144817842022-03-29 15:01:201337 days ago1648566080
Axie Infinity: Ronin Bridge
0.0255 ETH
-144817522022-03-29 14:55:101337 days ago1648565710
Axie Infinity: Ronin Bridge
6.2 ETH
-144817232022-03-29 14:49:181337 days ago1648565358
Axie Infinity: Ronin Bridge
5 ETH
-144817182022-03-29 14:47:531337 days ago1648565273
Axie Infinity: Ronin Bridge
0.02901776 ETH
-144817132022-03-29 14:45:471337 days ago1648565147
Axie Infinity: Ronin Bridge
0.045 ETH
-144816902022-03-29 14:42:081337 days ago1648564928
Axie Infinity: Ronin Bridge
1.5 ETH
-144816802022-03-29 14:39:511337 days ago1648564791
Axie Infinity: Ronin Bridge
0.64298013 ETH
View All Internal Transactions
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
MainchainGatewayProxy

Compiler Version
v0.5.17+commit.d19bba13

Optimization Enabled:
Yes with 200 runs

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

// File: @axie/contract-library/contracts/access/HasAdmin.sol

pragma solidity ^0.5.2;


contract HasAdmin {
  event AdminChanged(address indexed _oldAdmin, address indexed _newAdmin);
  event AdminRemoved(address indexed _oldAdmin);

  address public admin;

  modifier onlyAdmin {
    require(msg.sender == admin);
    _;
  }

  constructor() internal {
    admin = msg.sender;
    emit AdminChanged(address(0), admin);
  }

  function changeAdmin(address _newAdmin) external onlyAdmin {
    require(_newAdmin != address(0));
    emit AdminChanged(admin, _newAdmin);
    admin = _newAdmin;
  }

  function removeAdmin() external onlyAdmin {
    emit AdminRemoved(admin);
    admin = address(0);
  }
}

// File: @axie/contract-library/contracts/proxy/ProxyStorage.sol

pragma solidity ^0.5.2;

/**
 * @title ProxyStorage
 * @dev Store the address of logic contact that the proxy should forward to.
 */
contract ProxyStorage is HasAdmin {
  address internal _proxyTo;
}

// File: @axie/contract-library/contracts/proxy/Proxy.sol

pragma solidity ^0.5.2;


/**
 * @title Proxy
 * @dev Gives the possibility to delegate any call to a foreign implementation.
 */
contract Proxy is ProxyStorage {

  event ProxyUpdated(address indexed _new, address indexed _old);

  constructor(address _proxyTo) public {
    updateProxyTo(_proxyTo);
  }

  /**
  * @dev Tells the address of the implementation where every call will be delegated.
  * @return address of the implementation to which it will be delegated
  */
  function implementation() public view returns (address) {
    return _proxyTo;
  }

  /**
  * @dev See more at: https://eips.ethereum.org/EIPS/eip-897
  * @return type of proxy - always upgradable
  */
  function proxyType() external pure returns (uint256) {
      // Upgradeable proxy
      return 2;
  }

  /**
  * @dev Fallback function allowing to perform a delegatecall to the given implementation.
  * This function will return whatever the implementation call returns
  */
  function () payable external {
    address _impl = implementation();
    require(_impl != address(0));

    assembly {
      let ptr := mload(0x40)
      calldatacopy(ptr, 0, calldatasize)
      let result := delegatecall(gas, _impl, ptr, calldatasize, 0, 0)
      let size := returndatasize
      returndatacopy(ptr, 0, size)

      switch result
      case 0 { revert(ptr, size) }
      default { return(ptr, size) }
    }
  }

  function updateProxyTo(address _newProxyTo) public onlyAdmin {
    require(_newProxyTo != address(0x0));

    _proxyTo = _newProxyTo;
    emit ProxyUpdated(_newProxyTo, _proxyTo);
  }
}

// File: @axie/contract-library/contracts/lifecycle/Pausable.sol

pragma solidity ^0.5.2;



contract Pausable is HasAdmin {
  event Paused();
  event Unpaused();

  bool public paused;

  modifier whenNotPaused() {
    require(!paused);
    _;
  }

  modifier whenPaused() {
    require(paused);
    _;
  }

  function pause() public onlyAdmin whenNotPaused {
    paused = true;
    emit Paused();
  }

  function unpause() public onlyAdmin whenPaused {
    paused = false;
    emit Unpaused();
  }
}

// File: @axie/contract-library/contracts/math/SafeMath.sol

pragma solidity ^0.5.2;


library SafeMath {
  function add(uint256 a, uint256 b) internal pure returns (uint256 c) {
    c = a + b;
    require(c >= a);
  }

  function sub(uint256 a, uint256 b) internal pure returns (uint256 c) {
    require(b <= a);
    return a - b;
  }

  function mul(uint256 a, uint256 b) internal pure returns (uint256 c) {
    if (a == 0) {
      return 0;
    }

    c = a * b;
    require(c / a == b);
  }

  function div(uint256 a, uint256 b) internal pure returns (uint256 c) {
    // Since Solidity automatically asserts when dividing by 0,
    // but we only need it to revert.
    require(b > 0);
    return a / b;
  }

  function mod(uint256 a, uint256 b) internal pure returns (uint256 c) {
    // Same reason as `div`.
    require(b > 0);
    return a % b;
  }

  function ceilingDiv(uint256 a, uint256 b) internal pure returns (uint256 c) {
    return add(div(a, b), mod(a, b) > 0 ? 1 : 0);
  }

  function subU64(uint64 a, uint64 b) internal pure returns (uint64 c) {
    require(b <= a);
    return a - b;
  }

  function addU8(uint8 a, uint8 b) internal pure returns (uint8 c) {
    c = a + b;
    require(c >= a);
  }
}

// File: contracts/chain/common/IValidator.sol

pragma solidity ^0.5.17;


contract IValidator {
  event ValidatorAdded(uint256 indexed _id, address indexed _validator);
  event ValidatorRemoved(uint256 indexed _id, address indexed _validator);
  event ThresholdUpdated(
    uint256 indexed _id,
    uint256 indexed _numerator,
    uint256 indexed _denominator,
    uint256 _previousNumerator,
    uint256 _previousDenominator
  );

  function isValidator(address _addr) public view returns (bool);
  function getValidators() public view returns (address[] memory _validators);

  function checkThreshold(uint256 _voteCount) public view returns (bool);
}

// File: contracts/chain/common/Validator.sol

pragma solidity ^0.5.17;




contract Validator is IValidator {
  using SafeMath for uint256;

  mapping(address => bool) validatorMap;
  address[] public validators;
  uint256 public validatorCount;

  uint256 public num;
  uint256 public denom;

  constructor(address[] memory _validators, uint256 _num, uint256 _denom)
    public
  {
    validators = _validators;
    validatorCount = _validators.length;

    for (uint256 _i = 0; _i < validatorCount; _i++) {
      address _validator = _validators[_i];
      validatorMap[_validator] = true;
    }

    num = _num;
    denom = _denom;
  }

  function isValidator(address _addr)
    public
    view
    returns (bool)
  {
    return validatorMap[_addr];
  }

  function getValidators()
    public
    view
    returns (address[] memory _validators)
  {
    _validators = validators;
  }

  function checkThreshold(uint256 _voteCount)
    public
    view
    returns (bool)
  {
    return _voteCount.mul(denom) >= num.mul(validatorCount);
  }

  function _addValidator(uint256 _id, address _validator)
    internal
  {
    require(!validatorMap[_validator]);

    validators.push(_validator);
    validatorMap[_validator] = true;
    validatorCount++;

    emit ValidatorAdded(_id, _validator);
  }

  function _removeValidator(uint256 _id, address _validator)
    internal
  {
    require(isValidator(_validator));

    uint256 _index;
    for (uint256 _i = 0; _i < validatorCount; _i++) {
      if (validators[_i] == _validator) {
        _index = _i;
        break;
      }
    }

    validatorMap[_validator] = false;
    validators[_index] = validators[validatorCount - 1];
    validators.pop();

    validatorCount--;

    emit ValidatorRemoved(_id, _validator);
  }

  function _updateQuorum(uint256 _id, uint256 _numerator, uint256 _denominator)
    internal
  {
    require(_numerator <= _denominator);
    uint256 _previousNumerator = num;
    uint256 _previousDenominator = denom;

    num = _numerator;
    denom = _denominator;

    emit ThresholdUpdated(
      _id,
      _numerator,
      _denominator,
      _previousNumerator,
      _previousDenominator
    );
  }
}

// File: contracts/chain/mainchain/MainchainValidator.sol

pragma solidity ^0.5.17;




/**
 * @title Validator
 * @dev Simple validator contract
 */
contract MainchainValidator is Validator, HasAdmin {
  uint256 nonce;

  constructor(
    address[] memory _validators,
    uint256 _num,
    uint256 _denom
  ) Validator(_validators, _num, _denom) public {
  }

  function addValidators(address[] calldata _validators) external onlyAdmin {
    for (uint256 _i; _i < _validators.length; ++_i) {
      _addValidator(nonce++, _validators[_i]);
    }
  }

  function removeValidator(address _validator) external onlyAdmin {
    _removeValidator(nonce++, _validator);
  }

  function updateQuorum(uint256 _numerator, uint256 _denominator) external onlyAdmin {
    _updateQuorum(nonce++, _numerator, _denominator);
  }
}

// File: contracts/chain/common/Registry.sol

pragma solidity ^0.5.17;



contract Registry is HasAdmin {

  event ContractAddressUpdated(
    string indexed _name,
    bytes32 indexed _code,
    address indexed _newAddress
  );

  event TokenMapped(
    address indexed _mainchainToken,
    address indexed _sidechainToken,
    uint32 _standard
  );

  string public constant GATEWAY = "GATEWAY";
  string public constant WETH_TOKEN = "WETH_TOKEN";
  string public constant VALIDATOR = "VALIDATOR";
  string public constant ACKNOWLEDGEMENT = "ACKNOWLEDGEMENT";

  struct TokenMapping {
    address mainchainToken;
    address sidechainToken;
    uint32 standard; // 20, 721 or any other standards
  }

  mapping(bytes32 => address) public contractAddresses;
  mapping(address => TokenMapping) public mainchainMap;
  mapping(address => TokenMapping) public sidechainMap;

  function getContract(string calldata _name)
    external
    view
    returns (address _address)
  {
    bytes32 _code = getCode(_name);
    _address = contractAddresses[_code];
    require(_address != address(0));
  }

  function isTokenMapped(address _token, uint32 _standard, bool _isMainchain)
    external
    view
    returns (bool)
  {
    TokenMapping memory _mapping = _getTokenMapping(_token, _isMainchain);

    return _mapping.mainchainToken != address(0) &&
      _mapping.sidechainToken != address(0) &&
      _mapping.standard == _standard;
  }

  function updateContract(string calldata _name, address _newAddress)
    external
    onlyAdmin
  {
    bytes32 _code = getCode(_name);
    contractAddresses[_code] = _newAddress;

    emit ContractAddressUpdated(_name, _code, _newAddress);
  }

  function mapToken(address _mainchainToken, address _sidechainToken, uint32 _standard)
    external
    onlyAdmin
  {
    TokenMapping memory _map = TokenMapping(
      _mainchainToken,
      _sidechainToken,
      _standard
    );

    mainchainMap[_mainchainToken] = _map;
    sidechainMap[_sidechainToken] = _map;

    emit TokenMapped(
      _mainchainToken,
      _sidechainToken,
      _standard
    );
  }

  function clearMapToken(address _mainchainToken, address _sidechainToken)
    external
    onlyAdmin
  {
    TokenMapping storage _mainchainMap = mainchainMap[_mainchainToken];
    _clearMapEntry(_mainchainMap);

    TokenMapping storage _sidechainMap = sidechainMap[_sidechainToken];
    _clearMapEntry(_sidechainMap);
  }

  function getMappedToken(
    address _token,
    bool _isMainchain
  )
    external
    view
  returns (
    address _mainchainToken,
    address _sidechainToken,
    uint32 _standard
  )
  {
    TokenMapping memory _mapping = _getTokenMapping(_token, _isMainchain);
    _mainchainToken = _mapping.mainchainToken;
    _sidechainToken = _mapping.sidechainToken;
    _standard = _mapping.standard;
  }

  function getCode(string memory _name)
    public
    pure
    returns (bytes32)
  {
    return keccak256(abi.encodePacked(_name));
  }

  function _getTokenMapping(
    address _token,
    bool isMainchain
  )
    internal
    view
    returns (TokenMapping memory _mapping)
  {
    if (isMainchain) {
      _mapping = mainchainMap[_token];
    } else {
      _mapping = sidechainMap[_token];
    }
  }

  function _clearMapEntry(TokenMapping storage _entry)
    internal
  {
    _entry.mainchainToken = address(0);
    _entry.sidechainToken = address(0);
    _entry.standard = 0;
  }
}

// File: contracts/chain/mainchain/MainchainGatewayStorage.sol

pragma solidity ^0.5.17;







/**
 * @title GatewayStorage
 * @dev Storage of deposit and withdraw information.
 */
contract MainchainGatewayStorage is ProxyStorage, Pausable {

  event TokenDeposited(
    uint256 indexed _depositId,
    address indexed _owner,
    address indexed _tokenAddress,
    address _sidechainAddress,
    uint32  _standard,
    uint256 _tokenNumber // ERC-20 amount or ERC721 tokenId
  );

  event TokenWithdrew(
    uint256 indexed _withdrawId,
    address indexed _owner,
    address indexed _tokenAddress,
    uint256 _tokenNumber
  );

  struct DepositEntry {
    address owner;
    address tokenAddress;
    address sidechainAddress;
    uint32  standard;
    uint256 tokenNumber;
  }

  struct WithdrawalEntry {
    address owner;
    address tokenAddress;
    uint256 tokenNumber;
  }

  Registry public registry;

  uint256 public depositCount;
  DepositEntry[] public deposits;
  mapping(uint256 => WithdrawalEntry) public withdrawals;

  function updateRegistry(address _registry) external onlyAdmin {
    registry = Registry(_registry);
  }
}

// File: contracts/chain/mainchain/MainchainGatewayProxy.sol

pragma solidity ^0.5.17;






contract MainchainGatewayProxy is Proxy, MainchainGatewayStorage {
  constructor(address _proxyTo, address _registry)
    public
    Proxy(_proxyTo)
  {
    registry = Registry(_registry);
  }
}

Contract Security Audit

Contract ABI

API
[{"inputs":[{"internalType":"address","name":"_proxyTo","type":"address"},{"internalType":"address","name":"_registry","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_oldAdmin","type":"address"},{"indexed":true,"internalType":"address","name":"_newAdmin","type":"address"}],"name":"AdminChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_oldAdmin","type":"address"}],"name":"AdminRemoved","type":"event"},{"anonymous":false,"inputs":[],"name":"Paused","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_new","type":"address"},{"indexed":true,"internalType":"address","name":"_old","type":"address"}],"name":"ProxyUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"_depositId","type":"uint256"},{"indexed":true,"internalType":"address","name":"_owner","type":"address"},{"indexed":true,"internalType":"address","name":"_tokenAddress","type":"address"},{"indexed":false,"internalType":"address","name":"_sidechainAddress","type":"address"},{"indexed":false,"internalType":"uint32","name":"_standard","type":"uint32"},{"indexed":false,"internalType":"uint256","name":"_tokenNumber","type":"uint256"}],"name":"TokenDeposited","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"_withdrawId","type":"uint256"},{"indexed":true,"internalType":"address","name":"_owner","type":"address"},{"indexed":true,"internalType":"address","name":"_tokenAddress","type":"address"},{"indexed":false,"internalType":"uint256","name":"_tokenNumber","type":"uint256"}],"name":"TokenWithdrew","type":"event"},{"anonymous":false,"inputs":[],"name":"Unpaused","type":"event"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"constant":true,"inputs":[],"name":"admin","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_newAdmin","type":"address"}],"name":"changeAdmin","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"depositCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"deposits","outputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"address","name":"sidechainAddress","type":"address"},{"internalType":"uint32","name":"standard","type":"uint32"},{"internalType":"uint256","name":"tokenNumber","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"implementation","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"pause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"proxyType","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[],"name":"registry","outputs":[{"internalType":"contract Registry","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"removeAdmin","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"unpause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_newProxyTo","type":"address"}],"name":"updateProxyTo","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_registry","type":"address"}],"name":"updateRegistry","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"withdrawals","outputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"uint256","name":"tokenNumber","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"}]

608060405234801561001057600080fd5b506040516108283803806108288339818101604052604081101561003357600080fd5b508051602090910151600080546001600160a01b031916331780825560405184926001600160a01b039290921691907f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f908290a3610099816001600160e01b036100c016565b50600280546001600160a01b0319166001600160a01b039290921691909117905550610139565b6000546001600160a01b031633146100d757600080fd5b6001600160a01b0381166100ea57600080fd5b600180546001600160a01b0319166001600160a01b03838116918217928390556040519216917fd32d24edea94f55e932d9a008afc425a8561462d1b1f57bc6e508e9a6b9509e190600090a350565b6106e0806101486000396000f3fe6080604052600436106100dd5760003560e01c80637b1039991161007f5780639a202d47116100595780639a202d47146102b2578063b02c43d0146102c7578063f851a44014610331578063fd840de214610346576100dd565b80637b103999146102555780638456cb591461026a5780638f2839701461027f576100dd565b80634555d5c9116100bb5780634555d5c9146101925780635c60da1b146101a75780635c975abb146101d85780635cc0707614610201576100dd565b80631a5da6c8146101215780632dfdf0b5146101565780633f4ba83a1461017d575b60006100e7610379565b90506001600160a01b0381166100fc57600080fd5b60405136600082376000803683855af43d806000843e81801561011d578184f35b8184fd5b34801561012d57600080fd5b506101546004803603602081101561014457600080fd5b50356001600160a01b0316610388565b005b34801561016257600080fd5b5061016b6103c1565b60408051918252519081900360200190f35b34801561018957600080fd5b506101546103c7565b34801561019e57600080fd5b5061016b61042c565b3480156101b357600080fd5b506101bc610379565b604080516001600160a01b039092168252519081900360200190f35b3480156101e457600080fd5b506101ed610431565b604080519115158252519081900360200190f35b34801561020d57600080fd5b5061022b6004803603602081101561022457600080fd5b5035610441565b604080516001600160a01b0394851681529290931660208301528183015290519081900360600190f35b34801561026157600080fd5b506101bc61046f565b34801561027657600080fd5b5061015461047e565b34801561028b57600080fd5b50610154600480360360208110156102a257600080fd5b50356001600160a01b03166104ea565b3480156102be57600080fd5b5061015461056f565b3480156102d357600080fd5b506102f1600480360360208110156102ea57600080fd5b50356105ce565b604080516001600160a01b0396871681529486166020860152929094168383015263ffffffff166060830152608082019290925290519081900360a00190f35b34801561033d57600080fd5b506101bc610623565b34801561035257600080fd5b506101546004803603602081101561036957600080fd5b50356001600160a01b0316610632565b6001546001600160a01b031690565b6000546001600160a01b0316331461039f57600080fd5b600280546001600160a01b0319166001600160a01b0392909216919091179055565b60035481565b6000546001600160a01b031633146103de57600080fd5b600154600160a01b900460ff166103f457600080fd5b6001805460ff60a01b191690556040517fa45f47fdea8a1efdd9029a5691c7f759c32b7c698632b563573e155625d1693390600090a1565b600290565b600154600160a01b900460ff1681565b6005602052600090815260409020805460018201546002909201546001600160a01b03918216929091169083565b6002546001600160a01b031681565b6000546001600160a01b0316331461049557600080fd5b600154600160a01b900460ff16156104ac57600080fd5b6001805460ff60a01b1916600160a01b1790556040517f9e87fac88ff661f02d44f95383c817fece4bce600a3dab7a54406878b965e75290600090a1565b6000546001600160a01b0316331461050157600080fd5b6001600160a01b03811661051457600080fd5b600080546040516001600160a01b03808516939216917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f91a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b0316331461058657600080fd5b600080546040516001600160a01b03909116917fa3b62bc36326052d97ea62d63c3d60308ed4c3ea8ac079dd8499f1e9c4f80c0f91a2600080546001600160a01b0319169055565b600481815481106105db57fe5b600091825260209091206004909102018054600182015460028301546003909301546001600160a01b0392831694509082169291821691600160a01b900463ffffffff169085565b6000546001600160a01b031681565b6000546001600160a01b0316331461064957600080fd5b6001600160a01b03811661065c57600080fd5b600180546001600160a01b0319166001600160a01b03838116918217928390556040519216917fd32d24edea94f55e932d9a008afc425a8561462d1b1f57bc6e508e9a6b9509e190600090a35056fea265627a7a723158202489cc87c94756bca4cb382b1aa499a969d11bc469ee7a3912746a14c5c7862a64736f6c634300051100320000000000000000000000008407dc57739bcda7aa53ca6f12f82f9d51c2f21e00000000000000000000000033e71e649abdc09f650ad44139674828a2075ad2

Deployed Bytecode

0x6080604052600436106100dd5760003560e01c80637b1039991161007f5780639a202d47116100595780639a202d47146102b2578063b02c43d0146102c7578063f851a44014610331578063fd840de214610346576100dd565b80637b103999146102555780638456cb591461026a5780638f2839701461027f576100dd565b80634555d5c9116100bb5780634555d5c9146101925780635c60da1b146101a75780635c975abb146101d85780635cc0707614610201576100dd565b80631a5da6c8146101215780632dfdf0b5146101565780633f4ba83a1461017d575b60006100e7610379565b90506001600160a01b0381166100fc57600080fd5b60405136600082376000803683855af43d806000843e81801561011d578184f35b8184fd5b34801561012d57600080fd5b506101546004803603602081101561014457600080fd5b50356001600160a01b0316610388565b005b34801561016257600080fd5b5061016b6103c1565b60408051918252519081900360200190f35b34801561018957600080fd5b506101546103c7565b34801561019e57600080fd5b5061016b61042c565b3480156101b357600080fd5b506101bc610379565b604080516001600160a01b039092168252519081900360200190f35b3480156101e457600080fd5b506101ed610431565b604080519115158252519081900360200190f35b34801561020d57600080fd5b5061022b6004803603602081101561022457600080fd5b5035610441565b604080516001600160a01b0394851681529290931660208301528183015290519081900360600190f35b34801561026157600080fd5b506101bc61046f565b34801561027657600080fd5b5061015461047e565b34801561028b57600080fd5b50610154600480360360208110156102a257600080fd5b50356001600160a01b03166104ea565b3480156102be57600080fd5b5061015461056f565b3480156102d357600080fd5b506102f1600480360360208110156102ea57600080fd5b50356105ce565b604080516001600160a01b0396871681529486166020860152929094168383015263ffffffff166060830152608082019290925290519081900360a00190f35b34801561033d57600080fd5b506101bc610623565b34801561035257600080fd5b506101546004803603602081101561036957600080fd5b50356001600160a01b0316610632565b6001546001600160a01b031690565b6000546001600160a01b0316331461039f57600080fd5b600280546001600160a01b0319166001600160a01b0392909216919091179055565b60035481565b6000546001600160a01b031633146103de57600080fd5b600154600160a01b900460ff166103f457600080fd5b6001805460ff60a01b191690556040517fa45f47fdea8a1efdd9029a5691c7f759c32b7c698632b563573e155625d1693390600090a1565b600290565b600154600160a01b900460ff1681565b6005602052600090815260409020805460018201546002909201546001600160a01b03918216929091169083565b6002546001600160a01b031681565b6000546001600160a01b0316331461049557600080fd5b600154600160a01b900460ff16156104ac57600080fd5b6001805460ff60a01b1916600160a01b1790556040517f9e87fac88ff661f02d44f95383c817fece4bce600a3dab7a54406878b965e75290600090a1565b6000546001600160a01b0316331461050157600080fd5b6001600160a01b03811661051457600080fd5b600080546040516001600160a01b03808516939216917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f91a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b0316331461058657600080fd5b600080546040516001600160a01b03909116917fa3b62bc36326052d97ea62d63c3d60308ed4c3ea8ac079dd8499f1e9c4f80c0f91a2600080546001600160a01b0319169055565b600481815481106105db57fe5b600091825260209091206004909102018054600182015460028301546003909301546001600160a01b0392831694509082169291821691600160a01b900463ffffffff169085565b6000546001600160a01b031681565b6000546001600160a01b0316331461064957600080fd5b6001600160a01b03811661065c57600080fd5b600180546001600160a01b0319166001600160a01b03838116918217928390556040519216917fd32d24edea94f55e932d9a008afc425a8561462d1b1f57bc6e508e9a6b9509e190600090a35056fea265627a7a723158202489cc87c94756bca4cb382b1aa499a969d11bc469ee7a3912746a14c5c7862a64736f6c63430005110032

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

0000000000000000000000008407dc57739bcda7aa53ca6f12f82f9d51c2f21e00000000000000000000000033e71e649abdc09f650ad44139674828a2075ad2

-----Decoded View---------------
Arg [0] : _proxyTo (address): 0x8407dc57739bCDA7aA53Ca6F12F82F9d51c2F21E
Arg [1] : _registry (address): 0x33E71e649Abdc09f650AD44139674828a2075AD2

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 0000000000000000000000008407dc57739bcda7aa53ca6f12f82f9d51c2f21e
Arg [1] : 00000000000000000000000033e71e649abdc09f650ad44139674828a2075ad2


Deployed Bytecode Sourcemap

13222:201:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2107:13;2123:16;:14;:16::i;:::-;2107:32;-1:-1:-1;;;;;;2154:19:0;;2146:28;;;;;;2218:4;2212:11;2252:12;2249:1;2244:3;2231:34;2334:1;2331;2317:12;2312:3;2305:5;2300:3;2287:49;2356:14;2401:4;2398:1;2393:3;2378:28;2423:6;2437:28;;;;2495:4;2490:3;2483:17;2437:28;2458:4;2453:3;2446:17;13008:105;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13008:105:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;13008:105:0;-1:-1:-1;;;;;13008:105:0;;:::i;:::-;;12880:27;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12880:27:0;;;:::i;:::-;;;;;;;;;;;;;;;;3148:96;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3148:96:0;;;:::i;1784:104::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1784:104:0;;;:::i;1572:84::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1572:84:0;;;:::i;:::-;;;;-1:-1:-1;;;;;1572:84:0;;;;;;;;;;;;;;2891:18;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2891:18:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;12947:54;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12947:54:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;12947:54:0;;:::i;:::-;;;;-1:-1:-1;;;;;12947:54:0;;;;;;;;;;;;;;;;;;;;;;;;;;;12849:24;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12849:24:0;;;:::i;3048:94::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3048:94:0;;;:::i;450:170::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;450:170:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;450:170:0;-1:-1:-1;;;;;450:170:0;;:::i;626:104::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;626:104:0;;;:::i;12912:30::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12912:30:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;12912:30:0;;:::i;:::-;;;;-1:-1:-1;;;;;12912:30:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;246:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;246:20:0;;;:::i;2520:188::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2520:188:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2520:188:0;-1:-1:-1;;;;;2520:188:0;;:::i;1572:84::-;1642:8;;-1:-1:-1;;;;;1642:8:0;1572:84;:::o;13008:105::-;321:5;;-1:-1:-1;;;;;321:5:0;307:10;:19;299:28;;;;;;13077:8;:30;;-1:-1:-1;;;;;;13077:30:0;-1:-1:-1;;;;;13077:30:0;;;;;;;;;;13008:105::o;12880:27::-;;;;:::o;3148:96::-;321:5;;-1:-1:-1;;;;;321:5:0;307:10;:19;299:28;;;;;;3021:6;;-1:-1:-1;;;3021:6:0;;;;3013:15;;;;;;3202:6;:14;;-1:-1:-1;;;;3202:14:0;;;3228:10;;;;3211:5;;3228:10;3148:96::o;1784:104::-;1881:1;1784:104;:::o;2891:18::-;;;-1:-1:-1;;;2891:18:0;;;;;:::o;12947:54::-;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;12947:54:0;;;;;;;;;:::o;12849:24::-;;;-1:-1:-1;;;;;12849:24:0;;:::o;3048:94::-;321:5;;-1:-1:-1;;;;;321:5:0;307:10;:19;299:28;;;;;;2957:6;;-1:-1:-1;;;2957:6:0;;;;2956:7;2948:16;;;;;;3112:4;3103:13;;-1:-1:-1;;;;3103:13:0;-1:-1:-1;;;3103:13:0;;;3128:8;;;;3103:13;;3128:8;3048:94::o;450:170::-;321:5;;-1:-1:-1;;;;;321:5:0;307:10;:19;299:28;;;;;;-1:-1:-1;;;;;524:23:0;;516:32;;;;;;573:5;;;560:30;;-1:-1:-1;;;;;560:30:0;;;;573:5;;;560:30;;;597:5;:17;;-1:-1:-1;;;;;;597:17:0;-1:-1:-1;;;;;597:17:0;;;;;;;;;;450:170::o;626:104::-;321:5;;-1:-1:-1;;;;;321:5:0;307:10;:19;299:28;;;;;;693:5;;;680:19;;-1:-1:-1;;;;;693:5:0;;;;680:19;;;722:1;706:18;;-1:-1:-1;;;;;;706:18:0;;;626:104::o;12912:30::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;12912:30:0;;;;-1:-1:-1;12912:30:0;;;;;;;;-1:-1:-1;;;12912:30:0;;;;;;:::o;246:20::-;;;-1:-1:-1;;;;;246:20:0;;:::o;2520:188::-;321:5;;-1:-1:-1;;;;;321:5:0;307:10;:19;299:28;;;;;;-1:-1:-1;;;;;2596:27:0;;2588:36;;;;;;2633:8;:22;;-1:-1:-1;;;;;;2633:22:0;-1:-1:-1;;;;;2633:22:0;;;;;;;;;;2667:35;;2693:8;;;2667:35;;-1:-1:-1;;2667:35:0;2520:188;:::o

Swarm Source

bzzr://2489cc87c94756bca4cb382b1aa499a969d11bc469ee7a3912746a14c5c7862a

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
0x1A2a1c938CE3eC39b6D47113c7955bAa9DD454F2
Chain Token Portfolio % Price Amount Value
ETH
Ether (ETH)
98.20%$2,958.88469.3937$1,388,878.63
ETH1.03%$0.99973914,614.8519$14,611.04
ETH<0.01%$13.17.8606$102.97
ETH<0.01%$0.00062380,482.7893$50.12
ETH<0.01%$150$50.05
ETH<0.01%$0.9996150$49.98
ETH<0.01%$0.11018262.8$28.96
ETH<0.01%$1.1416.1067$18.36
ETH<0.01%$1,024.10.0125$12.8
ETH<0.01%$0.16767120$3.35
ETH<0.01%$0.000924884$0.817
ETH<0.01%$0.2857562.6622$0.7607
BSC0.52%$866.538.4989$7,364.56
BSC0.16%$2,971.230.7746$2,301.45
BSC0.03%$0.04632310,000$463.23
BSC0.01%$0.999748158.7527$158.71
BSC<0.01%$0.99983639.0837$39.08
BSC<0.01%$1.149.9874$11.39
BSC<0.01%$0.6190050.7746$0.4794
BSC<0.01%$0.00160$0.00
BSC<0.01%<$0.000001804,828$0.3499
POL0.01%$0.1361281,090.9558$148.51
GNO<0.01%$0.9996912.701$2.7
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.