ETH Price: $2,513.77 (+0.58%)

Transaction Decoder

Block:
15648404 at Sep-30-2022 08:00:59 PM +UTC
Transaction Fee:
0.00388099879854691 ETH $9.76
Gas Used:
148,249 Gas / 26.17892059 Gwei

Emitted Events:

100 MaticToken.Transfer( from=[Sender] 0x2a8cf8defcee248a9238a3254594077c6c3c280e, to=[Receiver] DepositManagerProxy, value=282286890000000000000 )
101 MaticToken.Approval( owner=[Sender] 0x2a8cf8defcee248a9238a3254594077c6c3c280e, spender=[Receiver] DepositManagerProxy, value=115792089237316195423570985008687907853269984665640564039175297117913129639935 )
102 StateSender.StateSynced( id=2342613, contractAddress=0xD9c7C4ED...55Fe34861, data=0x0000000000000000000000002A8CF8DEFCEE248A9238A3254594077C6C3C280E0000000000000000000000007D1AFA7B718FB893DB30A3ABC0CFC608AACFEBB000000000000000000000000000000000000000000000000F4D847ED5BFC4A0000000000000000000000000000000000000000000000000000000000016265191 )
103 DepositManagerProxy.NewDepositBlock( owner=[Sender] 0x2a8cf8defcee248a9238a3254594077c6c3c280e, token=MaticToken, amountOrNFTId=282286890000000000000, depositBlockId=371610001 )

Account State Difference:

  Address   Before After State Difference Code
(bloXroute: Regulated Builder)
4.057384855866773387 Eth4.057688707850925763 Eth0.000303851984152376
0x28e4F3a7...189A5bFbE
(Polygon (Matic): State Syncer)
0x2A8cf8dE...C6C3C280E
0.00795009485027063 Eth
Nonce: 7
0.00406909605172372 Eth
Nonce: 8
0.00388099879854691
0x401F6c98...51321188b
(Polygon (Matic): Plasma Bridge)
0x7D1AfA7B...8AaCfeBB0
0x86E4Dc95...23894C287
(Polygon (Matic): Root Chain Proxy)

Execution Trace

DepositManagerProxy.8b9e4f93( )
  • DepositManager.depositERC20ForUser( _token=0x7D1AfA7B718fb893dB30A3aBc0Cfc608AaCfeBB0, _user=0x2A8cf8dEFcEe248A9238A3254594077C6C3C280E, _amount=282286890000000000000 )
    • MaticToken.transferFrom( from=0x2A8cf8dEFcEe248A9238A3254594077C6C3C280E, to=0x401F6c983eA34274ec46f84D70b31C151321188b, value=282286890000000000000 ) => ( True )
    • Registry.isTokenMapped( _token=0x7D1AfA7B718fb893dB30A3aBc0Cfc608AaCfeBB0 ) => ( True )
    • RootChainProxy.5391f483( )
      • RootChain.updateDepositId( numDeposits=1 ) => ( depositId=371610001 )
        • Registry.STATICCALL( )
        • StateSender.syncState( receiver=0xD9c7C4ED4B66858301D0cb28Cc88bf655Fe34861, data=0x0000000000000000000000002A8CF8DEFCEE248A9238A3254594077C6C3C280E0000000000000000000000007D1AFA7B718FB893DB30A3ABC0CFC608AACFEBB000000000000000000000000000000000000000000000000F4D847ED5BFC4A0000000000000000000000000000000000000000000000000000000000016265191 )
          File 1 of 7: DepositManagerProxy
          1
          2
          3
          4
          5
          6
          7
          8
          9
          10
          11
          12
          13
          14
          15
          16
          // File: contracts/common/governance/IGovernance.sol
          pragma solidity ^0.5.2;
          interface IGovernance {
          function update(address target, bytes calldata data) external;
          }
          // File: contracts/common/governance/Governable.sol
          pragma solidity ^0.5.2;
          contract Governable {
          IGovernance public governance;
          XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

          File 2 of 7: MaticToken
          1
          2
          3
          4
          5
          6
          7
          8
          9
          10
          11
          12
          13
          14
          15
          16
          pragma solidity 0.5.2;
          // File: openzeppelin-solidity/contracts/token/ERC20/IERC20.sol
          /**
          * @title ERC20 interface
          * @dev see https://github.com/ethereum/EIPs/issues/20
          */
          interface IERC20 {
          function transfer(address to, uint256 value) external returns (bool);
          function approve(address spender, uint256 value) external returns (bool);
          function transferFrom(address from, address to, uint256 value) external returns (bool);
          function totalSupply() external view returns (uint256);
          XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

          File 3 of 7: StateSender
          1
          2
          3
          4
          5
          6
          7
          8
          9
          10
          11
          12
          13
          14
          15
          16
          /**
          Matic network contracts
          */
          pragma solidity ^0.5.2;
          contract Ownable {
          address private _owner;
          event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
          /**
          * @dev The Ownable constructor sets the original `owner` of the contract to the sender
          * account.
          */
          XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

          File 4 of 7: DepositManager
          1
          2
          3
          4
          5
          6
          7
          8
          9
          10
          11
          12
          13
          14
          15
          16
          // File: openzeppelin-solidity/contracts/token/ERC721/IERC721Receiver.sol
          pragma solidity ^0.5.2;
          /**
          * @title ERC721 token receiver interface
          * @dev Interface for any contract that wants to support safeTransfers
          * from ERC721 asset contracts.
          */
          contract IERC721Receiver {
          /**
          * @notice Handle the receipt of an NFT
          * @dev The ERC721 smart contract calls this function on the recipient
          * after a `safeTransfer`. This function MUST return the function selector,
          * otherwise the caller will revert the transaction. The selector to be
          * returned can be obtained as `this.onERC721Received.selector`. This
          XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

          File 5 of 7: Registry
          1
          2
          3
          4
          5
          6
          7
          8
          9
          10
          11
          12
          13
          14
          15
          16
          /**
          Matic network contracts
          */
          pragma solidity ^0.5.2;
          interface IGovernance {
          function update(address target, bytes calldata data) external;
          }
          contract Governable {
          IGovernance public governance;
          constructor(address _governance) public {
          governance = IGovernance(_governance);
          XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

          File 6 of 7: RootChainProxy
          1
          2
          3
          4
          5
          6
          7
          8
          9
          10
          11
          12
          13
          14
          15
          16
          // File: contracts/common/governance/IGovernance.sol
          pragma solidity ^0.5.2;
          interface IGovernance {
          function update(address target, bytes calldata data) external;
          }
          // File: contracts/common/governance/Governable.sol
          pragma solidity ^0.5.2;
          contract Governable {
          IGovernance public governance;
          XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

          File 7 of 7: RootChain
          1
          2
          3
          4
          5
          6
          7
          8
          9
          10
          11
          12
          13
          14
          15
          16
          // File: solidity-rlp/contracts/RLPReader.sol
          // SPDX-License-Identifier: Apache-2.0
          /*
          * @author Hamdi Allam hamdi.allam97@gmail.com
          * Please reach out with any questions or concerns
          */
          pragma solidity >=0.5.0 <0.7.0;
          library RLPReader {
          uint8 constant STRING_SHORT_START = 0x80;
          uint8 constant STRING_LONG_START = 0xb8;
          uint8 constant LIST_SHORT_START = 0xc0;
          uint8 constant LIST_LONG_START = 0xf8;
          uint8 constant WORD_SIZE = 32;
          XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX