ETH Price: $2,552.82 (+1.69%)
Gas: 0.46 Gwei

Transaction Decoder

Block:
12700340 at Jun-25-2021 01:25:14 AM +UTC
Transaction Fee:
0.003408192 ETH $8.70
Gas Used:
213,012 Gas / 16 Gwei

Emitted Events:

226 SmoothLovePotion.Transfer( _from=[Receiver] MainchainGatewayProxy, _to=[Sender] 0xd23916f745566df09c5eaf7c40184a4a7dcda045, _value=2137 )
227 MainchainGatewayProxy.TokenWithdrew( _withdrawId=55818, _owner=[Sender] 0xd23916f745566df09c5eaf7c40184a4a7dcda045, _tokenAddress=SmoothLovePotion, _tokenNumber=2137 )

Account State Difference:

  Address   Before After State Difference Code
0x1A2a1c93...a9DD454F2
(Axie Infinity: Ronin Bridge)
0xCC8Fa225...5D6cAAa25
0xd23916f7...a7DCdA045
0.00654279 Eth
Nonce: 3
0.003134598 Eth
Nonce: 4
0.003408192
(Ethermine)
1,196.790641439864109584 Eth1,196.794049631864109584 Eth0.003408192

Execution Trace

MainchainGatewayProxy.993e1c42( )
  • MainchainGatewayManager.withdrawERC20For( _withdrawalId=55818, _user=0xd23916f745566DF09C5EAF7C40184a4a7DCdA045, _token=0xCC8Fa225D80b9c7D42F96e9570156c65D6cAAa25, _amount=2137, _signatures=0x01D17A0D298D6BF78AB9D90E6D1B27744C365CD5BE79B9618AF971FCF39435514846F41FEC39A76857616B7877CD5CD65FA87A4B01DD64E141DCA17F7AC55AB38A1B01D87532CF12D30480FE240A38AF3156FB0417799B1E77EAC2AD1CF7F6B3FA900026E6FD6037BA8FC4C77CE8F4C195127E219CF14753C0682DE876D80BA15E45AA1C01420A4F6C59E8E3FB3DB327CD664F1E227FA0D1EB332F0B20CFD750C4A7D712C616F58CC5BC079C90CC7B23A875B9CF552EAD692F58E6A4F4B80B653C557AB3591C0105470B14ADC0D5BE9E6F0CF9CC6627DA71F398FA1759C2D8974576DB7EEE07AF63359F4CAAB4548C40E4739463B2EA6A3522889213F8CBA1FBDF584244ECC0501C01FEDBF48F7461113BBC28F288A520E117B09F7F76643E342EE2E741492B737B5938998B1D7784AF4E2FA1F058DC94DF73B53ED472E40389BD2A470F2E363BC8C01B0121E5F87A015F315D14B66E13EF1B8F482826DE327E3E18EA66983CAE334EAC28241E9F20389AB35C9F2F83FAF5FA6790484CC576CF9F2856677281ECF8734DC21C )
    • Registry.isTokenMapped( _token=0xCC8Fa225D80b9c7D42F96e9570156c65D6cAAa25, _standard=20, _isMainchain=True ) => ( True )
    • Registry.STATICCALL( )
    • Registry.getContract( _name=VALIDATOR ) => ( _address=0x42B19dca30fd612B1757682C074497847F2B57e0 )
    • Null: 0x000...001.54fc2736( )
    • MainchainValidator.isValidator( _addr=0x11360EaCDEDd59bC433aFad4fc8f0417d1fbEbab ) => ( True )
    • Null: 0x000...001.54fc2736( )
    • MainchainValidator.isValidator( _addr=0x70bB1FB41C8C42F6ddd53a708E2B82209495e455 ) => ( True )
    • Null: 0x000...001.54fc2736( )
    • MainchainValidator.isValidator( _addr=0x9eDeb211cDE35d6E8A0c732f9E0C786725e72fE9 ) => ( True )
    • Null: 0x000...001.54fc2736( )
    • MainchainValidator.isValidator( _addr=0xE70cbF18114822c0e32C6B35d2478f02a8Ac78A9 ) => ( True )
    • Null: 0x000...001.54fc2736( )
    • MainchainValidator.isValidator( _addr=0xEE11d2016e9f2faE606b2F12986811F4abbe6215 ) => ( True )
    • Null: 0x000...001.54fc2736( )
    • MainchainValidator.isValidator( _addr=0xf224beFf587362A88D859e899D0d80C080E1e812 ) => ( True )
    • MainchainValidator.checkThreshold( _voteCount=6 ) => ( True )
    • Registry.STATICCALL( )
    • Registry.getContract( _name=WETH_TOKEN ) => ( _address=0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2 )
    • SmoothLovePotion.balanceOf( 0x1A2a1c938CE3eC39b6D47113c7955bAa9DD454F2 ) => ( 159442224 )
    • SmoothLovePotion.transfer( _to=0xd23916f745566DF09C5EAF7C40184a4a7DCdA045, _value=2137 ) => ( _success=True )
      File 1 of 5: MainchainGatewayProxy
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      // 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);
      _;
      }
      XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

      File 2 of 5: SmoothLovePotion
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      // File: math/SafeMath.sol
      pragma solidity 0.5.17;
      library SafeMath {
      function add(uint256 a, uint256 b) internal pure returns (uint256 c) {
      c = a + b;
      require(c >= a, "SafeMath: addition overflow");
      }
      function sub(uint256 a, uint256 b) internal pure returns (uint256 c) {
      require(b <= a, "SafeMath: subtraction overflow");
      return a - b;
      }
      XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

      File 3 of 5: MainchainGatewayManager
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      // File: @axie/contract-library/contracts/cryptography/ECVerify.sol
      pragma solidity ^0.5.2;
      library ECVerify {
      enum SignatureMode {
      EIP712,
      GETH,
      TREZOR
      }
      function recover(bytes32 _hash, bytes memory _signature) internal pure returns (address _signer) {
      return recover(_hash, _signature, 0);
      }
      XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

      File 4 of 5: Registry
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      // 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);
      _;
      }
      XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

      File 5 of 5: MainchainValidator
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      // 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;
      }
      XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX