ETH Price: $2,981.36 (-2.29%)

Transaction Decoder

Block:
22712859 at Jun-15-2025 10:16:47 PM +UTC
Transaction Fee:
0.000589017170041077 ETH $1.76
Gas Used:
234,761 Gas / 2.509007757 Gwei

Emitted Events:

61 GraphToken.Transfer( from=ERC20PredicateProxy, to=[Sender] 0xe69f81b825d7dc31ee9becef4dbeab5cf30e3abb, value=10000000000000000000 )
62 ERC20PredicateProxy.0xbb61bd1b26b3684c7c028ff1a8f6dabcac2fac8ac57b66fa6b1efb6edeab03c4( 0xbb61bd1b26b3684c7c028ff1a8f6dabcac2fac8ac57b66fa6b1efb6edeab03c4, 0x000000000000000000000000e69f81b825d7dc31ee9becef4dbeab5cf30e3abb, 0x000000000000000000000000c944e90c64b2c07662a292be6244bdf05cda44a7, 0000000000000000000000000000000000000000000000008ac7230489e80000 )

Account State Difference:

  Address   Before After State Difference Code
(Titan Builder)
18.08719631918547369 Eth18.08766584118547369 Eth0.000469522
0xA0c68C63...1bFc77C77
(Polygon (Matic): Bridge)
0xc944E90C...05Cda44a7
0xE69f81b8...cf30e3Abb
1.00682084956876077 Eth
Nonce: 6865
1.006231832398719693 Eth
Nonce: 6866
0.000589017170041077

Execution Trace

RootChainManagerProxy.3805550f( )
  • RootChainManager.exit( inputData=0xF90A478431B3B1A0B901609A2B4089F84E9940CB4B34992909D566EF16DA049393535EE35392C80AB9B404C783C70A9035EF6B529BFC0786BC9B828BCD4BE0CB9C2F24406BD95472B9FBC796006D3028F50F3260D99F69C559EB72561846D467B2584C7F19D4307AF5577DFFBE367E3A6D169B56BA8E4A9BD97A02BDAC77AA5FDF3B1EFAB575942A1BBEEF8895FE858DDA8CEE1FB017E44CDE07F6A7124DD36243C9D9CFD481E4E828E8C950633E3139C84C83E6F124D9937D4FC03CFBA727A7DF8577938CA4BB1CAE8A2F38259FD3A84C8AA18C165A392F0FFF51C17D6B40FE9A8DED87D56EAA042AFEE796329E4801430A2C396575A56B46B5856EC1566CCFEDB51A067BBF0EA85A242B767171C472BDCEEB864B0E4D45FD7F9E1D2D19E0588F2869059077E39B2A8269744E39C6EE7B918EE765CD50ACD22E90692AE54B489B004D6793F840921E340891D69ECC234EB0A4F691F8F7750DD328C9E551BAA16DEFC3DC9B1AD30DE9E5FA840456F6B684684F0DCFA01B18BA7D8C0EDB4561FBBF876C5A60E106376C53943120FFF44E7B9324B537F5A00D62D9A9E728C4542971BA5BCEEA5E57C75B9E65484904BD0F9090CC88DD0BFBB902EC02F902E8018303516AB9010000000000000000000000000002000000000000000000000000000000000000000000000000000000200000000400000000008000000000000000000000000000000000000000000000000008000040800000000000000000100100000000000000000000020400000000000000000800000000000000000080002010000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000040004000000002000000000001000000000000002000000000000000100000000020000000000000000000000000000000000000000000000000000000000000100000F901DDF89B945FE2B58C013D7601147DCDD68C143A77499F5531F863A0DDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EFA0000000000000000000000000E69F81B825D7DC31EE9BECEF4DBEAB5CF30E3ABBA00000000000000000000000000000000000000000000000000000000000000000A00000000000000000000000000000000000000000000000008AC7230489E80000F9013D940000000000000000000000000000000000001010F884A04DFE1BBBCF077DDC3E01291EEA2D5C70C2B422B415D95645B9ADCFD678CB1D63A00000000000000000000000000000000000000000000000000000000000001010A0000000000000000000000000E69F81B825D7DC31EE9BECEF4DBEAB5CF30E3ABBA000000000000000000000000069F5C4D08F6BC8CD29FE5F004D46FB566270868DB8A000000000000000000000000000000000000000000000000000076CC56B358000000000000000000000000000000000000000000000000010613EF5A6253339AA0000000000000000000000000000000000000000000000511A90114E7D42241B000000000000000000000000000000000000000000000010613788E0B9FDB9AA0000000000000000000000000000000000000000000000511A977E13E877A41BB9059DF9059AF8B1A05370AE562ACB430E78750762AED5F2B55F147E7920B48EB2998F592A44407A72A00263225238D66E9178AF78D2CCA8331D9CDED4DADA4D9A6B46691EEEFF33F8ECA0EC4624B792E58FDD96016093DB3FAD6BAE46E845CEE75A8308BE7B59ED1D380AA05ACF96DE67314711FF61F274083589B7F9AD178997C054C0845142B60FB110AB80808080A03172D7A982117FB14B219B640A8A344A235353A1D6B1510D32D7DA1F615F80EB8080808080808080F901F180A01C67C406679A23AA755659017D899D6A5BAD876D490EE98DD5FDC880834A201BA0CC32BD38872F104F0E436254CD6A92EA0552CD5B252A996E1E893023529D89CFA044FA22B3EF2CC665BD6AA2F600F2083170C975318E548E589BB06A8B55716EEEA0D7DA61A581CA8E4A51A94A1FA0950A1BF73C0EB6C232D7779A6886D53EBC4383A02379A4B113DA2E41CA04E58BC8076779FFAA56C76217F8AFE857CFF724CE40D4A0AB47F456A70A8B168CC525959175E62CA5C1D1C3DA46B51AC3C0CC3141EEF971A0B5ABE802495088C00B334DA796CF40385EA577470AED7D7C308BB525A79564A1A0795B854AEA1FD4108121E9ACAC2EF6F5359D81510C86FD6EC7E6C5BF2B1974A3A0F8482924ECDD060585CAC2DC5A84A789132B4FDCBBBF5074560D5A1B221FA1DDA0CCBA6A69AAF350E1CBDE9CB74139FCA3AF8C38B757A96054B13B1F64D99763CDA0E1956BADF2BF5C62CA11BB0B6EB1E792A874DDBBED32ADD3462625DD050E705BA0BBDC993325DDAF6BE06D5C3D049F43470B881C64E1905A17E1DC482AAF51653DA04C655B5BB63C2D92BC60F93C421B9592115B024CABFCB4397B625C607FDE038CA06AB6695F8DCA30E1E6B3C79B3DE81679836B2773FD962B49A4813EADA80106C3A0FBFA7B72433233DB25CF6C733436CBA3F6A4A7DF83305601C4EB3770A44DBA5780F902F020B902EC02F902E8018303516AB9010000000000000000000000000002000000000000000000000000000000000000000000000000000000200000000400000000008000000000000000000000000000000000000000000000000008000040800000000000000000100100000000000000000000020400000000000000000800000000000000000080002010000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000040004000000002000000000001000000000000002000000000000000100000000020000000000000000000000000000000000000000000000000000000000000100000F901DDF89B945FE2B58C013D7601147DCDD68C143A77499F5531F863A0DDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EFA0000000000000000000000000E69F81B825D7DC31EE9BECEF4DBEAB5CF30E3ABBA00000000000000000000000000000000000000000000000000000000000000000A00000000000000000000000000000000000000000000000008AC7230489E80000F9013D940000000000000000000000000000000000001010F884A04DFE1BBBCF077DDC3E01291EEA2D5C70C2B422B415D95645B9ADCFD678CB1D63A00000000000000000000000000000000000000000000000000000000000001010A0000000000000000000000000E69F81B825D7DC31EE9BECEF4DBEAB5CF30E3ABBA000000000000000000000000069F5C4D08F6BC8CD29FE5F004D46FB566270868DB8A000000000000000000000000000000000000000000000000000076CC56B358000000000000000000000000000000000000000000000000010613EF5A6253339AA0000000000000000000000000000000000000000000000511A90114E7D42241B000000000000000000000000000000000000000000000010613788E0B9FDB9AA0000000000000000000000000000000000000000000000511A977E13E877A41B82000480 )
    • RootChainProxy.headerBlocks( 833860000 ) => ( root=20FA99A4937E7B67DEDF8BA914CE73BB1DFD975D70BF45808067F26A73A3FF6E, start=72807846, end=72809125, createdAt=1750015199, proposer=0x1EFEcb61A2f80Aa34d3b9218B564a64D05946290 )
    • ERC20PredicateProxy.8274664f( )
      • ERC20Predicate.exitTokens( 0xE69f81b825d7Dc31ee9becef4DbEab5cf30e3Abb, rootToken=0xc944E90C64B2c07662A292be6244BDf05Cda44a7, log=0xF89B945FE2B58C013D7601147DCDD68C143A77499F5531F863A0DDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EFA0000000000000000000000000E69F81B825D7DC31EE9BECEF4DBEAB5CF30E3ABBA00000000000000000000000000000000000000000000000000000000000000000A00000000000000000000000000000000000000000000000008AC7230489E80000 )
        • GraphToken.transfer( recipient=0xE69f81b825d7Dc31ee9becef4DbEab5cf30e3Abb, amount=10000000000000000000 ) => ( True )
          exit[RootChainManager (ln:313)]
          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: GraphToken
          1
          2
          3
          4
          5
          6
          7
          8
          9
          10
          11
          12
          13
          14
          15
          16
          // Sources flattened with hardhat v2.0.2 https://hardhat.org
          // File @openzeppelin/contracts/GSN/Context.sol@v3.3.0-solc-0.7
          // SPDX-License-Identifier: MIT
          pragma solidity ^0.7.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
          * is concerned).
          *
          XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

          File 4 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 5 of 6: 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 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