ETH Price: $2,507.46 (-0.74%)

Transaction Decoder

Block:
22591023 at May-29-2025 09:16:35 PM +UTC
Transaction Fee:
0.000300209832976968 ETH $0.75
Gas Used:
95,061 Gas / 3.158075688 Gwei

Emitted Events:

345 ERC20PredicateProxy.0x9b217a401a5ddf7c4d474074aff9958a18d48690d77cc2151c4706aa7348b401( 0x9b217a401a5ddf7c4d474074aff9958a18d48690d77cc2151c4706aa7348b401, 0x00000000000000000000000090f1cb932dbf94385434c40d53df3727f00e50b1, 0x00000000000000000000000090f1cb932dbf94385434c40d53df3727f00e50b1, 0x00000000000000000000000091dfbee3965baaee32784c2d546b7a0c62f268c9, 0000000000000000000000000000000000000000000031cbb63f8b0cc5c99ea6 )
346 BondlyToken.Transfer( from=[Sender] 0x90f1cb932dbf94385434c40d53df3727f00e50b1, to=ERC20PredicateProxy, value=235153779075501064298150 )
347 BondlyToken.Approval( owner=[Sender] 0x90f1cb932dbf94385434c40d53df3727f00e50b1, spender=ERC20PredicateProxy, value=115792089237316195423570985008687907853269984665640557797546386400643185071699 )
348 StateSender.StateSynced( id=3071430, contractAddress=0xA6FA4fB5...9C5d1C0aa, data=0x87A7811F4BFEDEA3D341AD165680AE306B01AAEACC205D227629CF157DD9F821000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000A000000000000000000000000090F1CB932DBF94385434C40D53DF3727F00E50B100000000000000000000000091DFBEE3965BAAEE32784C2D546B7A0C62F268C9000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000031CBB63F8B0CC5C99EA6 )

Account State Difference:

  Address   Before After State Difference Code
0x28e4F3a7...189A5bFbE
(Polygon (Matic): State Syncer)
0x90F1Cb93...7F00e50B1
0.360250076594079516 Eth
Nonce: 19193
0.359949866761102548 Eth
Nonce: 19194
0.000300209832976968
0x91dFbEE3...C62F268c9
(beaverbuild)
15.971086515548701812 Eth15.971091827655294642 Eth0.00000531210659283

Execution Trace

RootChainManagerProxy.e3dec8fb( )
  • RootChainManager.depositFor( user=0x90F1Cb932dbF94385434c40D53Df3727F00e50B1, rootToken=0x91dFbEE3965baAEE32784c2d546B7a0C62F268c9, depositData=0x0000000000000000000000000000000000000000000031CBB63F8B0CC5C99EA6 )
    • ERC20PredicateProxy.e375b64e( )
      • ERC20Predicate.lockTokens( depositor=0x90F1Cb932dbF94385434c40D53Df3727F00e50B1, depositReceiver=0x90F1Cb932dbF94385434c40D53Df3727F00e50B1, rootToken=0x91dFbEE3965baAEE32784c2d546B7a0C62F268c9, depositData=0x0000000000000000000000000000000000000000000031CBB63F8B0CC5C99EA6 )
        • BondlyToken.transferFrom( sender=0x90F1Cb932dbF94385434c40D53Df3727F00e50B1, recipient=0x40ec5B33f54e0E8A33A975908C5BA1c14e5BbbDf, amount=235153779075501064298150 ) => ( True )
        • StateSender.syncState( receiver=0xA6FA4fB5f76172d178d61B04b0ecd319C5d1C0aa, data=0x87A7811F4BFEDEA3D341AD165680AE306B01AAEACC205D227629CF157DD9F821000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000A000000000000000000000000090F1CB932DBF94385434C40D53DF3727F00E50B100000000000000000000000091DFBEE3965BAAEE32784C2D546B7A0C62F268C9000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000031CBB63F8B0CC5C99EA6 )
          File 1 of 6: RootChainManagerProxy
          1
          2
          3
          4
          5
          6
          7
          8
          9
          10
          11
          12
          13
          14
          15
          16
          // File: contracts/common/Proxy/IERCProxy.sol
          pragma solidity 0.6.6;
          interface IERCProxy {
          function proxyType() external pure returns (uint256 proxyTypeId);
          function implementation() external view returns (address codeAddr);
          }
          // File: contracts/common/Proxy/Proxy.sol
          pragma solidity 0.6.6;
          abstract contract Proxy is IERCProxy {
          XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

          File 2 of 6: ERC20PredicateProxy
          1
          2
          3
          4
          5
          6
          7
          8
          9
          10
          11
          12
          13
          14
          15
          16
          // File: contracts/common/Proxy/IERCProxy.sol
          pragma solidity 0.6.6;
          interface IERCProxy {
          function proxyType() external pure returns (uint256 proxyTypeId);
          function implementation() external view returns (address codeAddr);
          }
          // File: contracts/common/Proxy/Proxy.sol
          pragma solidity 0.6.6;
          abstract contract Proxy is IERCProxy {
          XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

          File 3 of 6: BondlyToken
          1
          2
          3
          4
          5
          6
          7
          8
          9
          10
          11
          12
          13
          14
          15
          16
          // SPDX-License-Identifier: MIT
          pragma solidity ^0.6.0;
          import "../node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol";
          contract BondlyToken is ERC20 {
          uint256 public cap = 983620759 ether;
          constructor () ERC20("Bondly", "BONDLY") public {
          super._mint(msg.sender, cap);
          }
          }// SPDX-License-Identifier: MIT
          pragma solidity >=0.6.0 <0.8.0;
          /*
          * @dev Provides information about the current execution context, including the
          * sender of the transaction and its data. While these are generally available
          * via msg.sender and msg.data, they should not be accessed in such a direct
          * manner, since when dealing with GSN meta-transactions the account sending and
          * paying for execution may not be the actual sender (as far as an application
          XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

          File 4 of 6: 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 5 of 6: RootChainManager
          1
          2
          3
          4
          5
          6
          7
          8
          9
          10
          11
          12
          13
          14
          15
          16
          pragma solidity 0.6.6;
          import {SafeMath} from "@openzeppelin/contracts/math/SafeMath.sol";
          import {IRootChainManager} from "./IRootChainManager.sol";
          import {RootChainManagerStorage} from "./RootChainManagerStorage.sol";
          import {IStateSender} from "../StateSender/IStateSender.sol";
          import {ICheckpointManager} from "../ICheckpointManager.sol";
          import {RLPReader} from "../../lib/RLPReader.sol";
          import {ExitPayloadReader} from "../../lib/ExitPayloadReader.sol";
          import {MerklePatriciaProof} from "../../lib/MerklePatriciaProof.sol";
          import {Merkle} from "../../lib/Merkle.sol";
          import {ITokenPredicate} from "../TokenPredicates/ITokenPredicate.sol";
          import {Initializable} from "../../common/Initializable.sol";
          import {NativeMetaTransaction} from "../../common/NativeMetaTransaction.sol";
          import {AccessControl} from "@openzeppelin/contracts/access/AccessControl.sol";
          import {AccessControlMixin} from "../../common/AccessControlMixin.sol";
          import {ContextMixin} from "../../common/ContextMixin.sol";
          XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

          File 6 of 6: ERC20Predicate
          1
          2
          3
          4
          5
          6
          7
          8
          9
          10
          11
          12
          13
          14
          15
          16
          pragma solidity 0.6.6;
          import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol";
          import {SafeERC20} from "@openzeppelin/contracts/token/ERC20/SafeERC20.sol";
          import {AccessControlMixin} from "../../common/AccessControlMixin.sol";
          import {RLPReader} from "../../lib/RLPReader.sol";
          import {ITokenPredicate} from "./ITokenPredicate.sol";
          import {Initializable} from "../../common/Initializable.sol";
          contract ERC20Predicate is ITokenPredicate, AccessControlMixin, Initializable {
          using RLPReader for bytes;
          using RLPReader for RLPReader.RLPItem;
          using SafeERC20 for IERC20;
          bytes32 public constant MANAGER_ROLE = keccak256("MANAGER_ROLE");
          bytes32 public constant TOKEN_TYPE = keccak256("ERC20");
          bytes32 public constant TRANSFER_EVENT_SIG = 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef;
          event LockedERC20(
          address indexed depositor,
          XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX