Transaction Hash:
Block:
22718146 at Jun-16-2025 04:02:35 PM +UTC
Transaction Fee:
0.001080976140719367 ETH
$4.09
Gas Used:
302,613 Gas / 3.572140459 Gwei
Emitted Events:
9 |
TetherToken.Transfer( from=ERC20PredicateProxy, to=[Sender] 0x78d974a39c0d2d6eea57b6e81db5b26c58291c26, value=53295000000 )
|
10 |
ERC20PredicateProxy.0xbb61bd1b26b3684c7c028ff1a8f6dabcac2fac8ac57b66fa6b1efb6edeab03c4( 0xbb61bd1b26b3684c7c028ff1a8f6dabcac2fac8ac57b66fa6b1efb6edeab03c4, 0x00000000000000000000000078d974a39c0d2d6eea57b6e81db5b26c58291c26, 0x000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec7, 0000000000000000000000000000000000000000000000000000000c68a129c0 )
|
Account State Difference:
Address | Before | After | State Difference | ||
---|---|---|---|---|---|
0x400B6e59...c784b8485
Miner
| (MEV Builder: 0x400b...485) | 1.553277898003762397 Eth | 1.553532214257049973 Eth | 0.000254316253287576 | |
0x78D974A3...c58291C26 |
0.008711691661161561 Eth
Nonce: 0
|
0.007630715520442194 Eth
Nonce: 1
| 0.001080976140719367 | ||
0xA0c68C63...1bFc77C77 | (Polygon (Matic): Bridge) | ||||
0xdAC17F95...13D831ec7 |
Execution Trace
RootChainManagerProxy.3805550f( )

RootChainManager.exit( inputData=0xF90BF18431BA4150B90120B2C0D4C184C2F81E5F1A794F50A523E81764F63849EBC7D94F58050D7CD0239A85940ECF3F41C346D856368E15401FE2F5708E97950F8F5190CEBB968D2044B095D2CFAC405177A13FCE17C875920AB33E41995BCA0022A47F360DC4BB587F563787D9CAD63682FD1639F2C71CC73FC5A9EEC1AE6DBC3D7FD021050FD91147EB08F593FF75B470B01A94F3CC348FEF9BF7B1A291738EC7B813B87178B6A6298E92DA1F53E69EFA7F3C09A4F517FC11084EE2F41EEA0AB07156339134E25330523BFBCBB81D6605935C1FFE99507A4836907E8BC106ED896158D8DA3E887F70F6C669C1196D42E5EF791C02A8BA58443C670B25B83A495DD02BEB3438FB3AABBB7C6DC2A148403CEDB689B0BFE4BEB87905E8BC12AD6A48F240259794AEB848468404577F7A84685031CDA042B5A01C2BB4E9AD9E95D29D35FC2748DA8823EB18173298FC86EA3C644F9820A06D7DA2A4735D65106A8AB07848FB49BFC8E7F6F840C32FA5CD7BC1608BD62E33B902ED02F902E901840125B40AB9010000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000002000100008000000000000000000000000000000000000000000000000008000000800000000000000000000100000000000000000000020000000100000000000800000000000000000080000010000000000000000000080000000000000000000000000000000000040000000000000000200000000000004000000000000000000000000000000000000000000000004000000002000000000001000000000000400000000004000000100000000020000000000000000000000000000000000000000000000000000000000000100000F901DDF89B94C2132D05D31C914A87C6611C10748AEB04B58E8FF863A0DDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EFA000000000000000000000000078D974A39C0D2D6EEA57B6E81DB5B26C58291C26A00000000000000000000000000000000000000000000000000000000000000000A00000000000000000000000000000000000000000000000000000000C68A129C0F9013D940000000000000000000000000000000000001010F884A04DFE1BBBCF077DDC3E01291EEA2D5C70C2B422B415D95645B9ADCFD678CB1D63A00000000000000000000000000000000000000000000000000000000000001010A000000000000000000000000078D974A39C0D2D6EEA57B6E81DB5B26C58291C26A0000000000000000000000000A8B52F02108AA5F4B675BDCC973760022D7C6020B8A0000000000000000000000000000000000000000000000000000417CCB19C91880000000000000000000000000000000000000000000000004563918244F40000000000000000000000000000000000000000000000000028762463D7A377D29D000000000000000000000000000000000000000000000000455F79B593576E7800000000000000000000000000000000000000000000002876287BA455146425B90785F90782F90131A05D4FE82F13FCA94C4D4C805C704740E729B1ED83C213C73E776104F9D1D91A52A0813D99C941AA14F3E5A67299EA32FA2F00AC8FB06490C73C0646A75A2F879AEEA0F6E4458142561757E02C623E4D62C6F3382A800424871C65CEDA843ADB2C9236A0BB969EE869B900E93B4C518CE516456933986C83F2DE17F8CC34863595F842C7A011CBF4D0569882C3879E26AE4159299CF873622CDA24F5DB510DE5306C8D77C1A0DAD3679C00804ACC11C7BC613F52A7E33C7313C875CB5A43C550B721D8FEE00EA0164838A0AE254BF6149E8E0932DF81F1DD423092BF4E742229BBF316EFC9024CA06271ED19A6D9C4666A5E4B35F1984133B0221BD2F6906275B6D549219F2A4CD7A08E90011378A80DB1929509F6A82CE938B80842F23E5BED68F996949D177A8A838080808080808080F851A060F388A8A95F9D6202080D5BE4D8F704034300B93F0E547A04EBCEA149274871A02E9EC0C2E93CC98B28BE1586596D81C7A10306C5871F8A3A3AA0AE6861C7F568808080808080808080808080808080F8F18080808080808080A0137B63441D064429DAF8980824FAD7555EFE68292B8AD6B9A603579AF3241E15A038BA712D72A4603ACF440DF961075E26DF1C9EA453D5647B350011E0EAF29F2FA0868EC0686F5D2D90A439E1AD28566830BE0E8925F88381D0C9CA8E0A9F0287B0A0523E8B77C4EAFEC69F54B7753BFAB1C2479793EA97381B3E7DD89657E0615407A0A708E548D8C9561B0C4FA23EB07255C5BBF3815A28DE877CB5D81357786A0640A04F50C6AADFAF70DB66A031D40174E9165EAAEBF88BC0808F1D1F8BF40CD42661A0597B2145912C3D0887F4A31FA8E48EE93ED4ABF60349938D79CC2FC5085411C48080F90211A00369AC5A3E45936F8748D2132BDA5391AEC81FB44639F39E779FFBE6E766839CA01FDF44095F4B6123719584D01C879EEB386667DC7E824E689B95411D1CE411A6A0D0791402B755B3EF33E5B20CD56BE39FEA23859231994EE9C56FDA8FE7C220EBA0F6D09D36C63E8EED21AA647FBD219807F2E00C0B8A8EB41E5401F723FC9B9368A018C924A40B3CFA54986F44801EE1EDD21F5029679BFB814031BD88ABD1485442A0F696B72BE708D5BAED9EFEBB1A2EFFECA885793714D890EF85FFDFFFE0DB0DBDA0F9A1E1AFF15C5D23C15F2561F6B1AD4C7E1A017C81C28B6F0C8BF82638DADFB1A02B3D1E26C1FE27CB7E52E375BE52F2954D5674560995624A1EF9F7F9165D4D58A0B9A594A5192DF17FDBFD9A15BB42C07CCBF3C394BE72BF70D221255B286D50CFA020047D2BBD10987DB7912980A8CEDFBE11E6FFCB5AE2B5BA355DE3BD9DEBDF42A0849C728DA640E56116D12038BFF5EDC6FB490C25D5742838EC478560D210751EA0728CD83F8FC72900149F7E37A914CA71110F8BF0E631FBB138FED83BF67049C0A014C83382BE8EA1A0DB3DA604C53AD47F4E5BB7E7D3AE7496FBE1592164B242B0A050ADD63EC0B933CAA639EBE03B6F2555EEEFB6888D0F58124B3E65724168A943A0EFEDEEDFECE6F9D0C2C371797F51A9F89B4BCA119BF77DDCA717AC70CA2BA470A06C800B024E0370C3196E336B3DF7296604F96F9068C058C0E19D21603A5171F280F902F120B902ED02F902E901840125B40AB9010000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000002000100008000000000000000000000000000000000000000000000000008000000800000000000000000000100000000000000000000020000000100000000000800000000000000000080000010000000000000000000080000000000000000000000000000000000040000000000000000200000000000004000000000000000000000000000000000000000000000004000000002000000000001000000000000400000000004000000100000000020000000000000000000000000000000000000000000000000000000000000100000F901DDF89B94C2132D05D31C914A87C6611C10748AEB04B58E8FF863A0DDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EFA000000000000000000000000078D974A39C0D2D6EEA57B6E81DB5B26C58291C26A00000000000000000000000000000000000000000000000000000000000000000A00000000000000000000000000000000000000000000000000000000C68A129C0F9013D940000000000000000000000000000000000001010F884A04DFE1BBBCF077DDC3E01291EEA2D5C70C2B422B415D95645B9ADCFD678CB1D63A00000000000000000000000000000000000000000000000000000000000001010A000000000000000000000000078D974A39C0D2D6EEA57B6E81DB5B26C58291C26A0000000000000000000000000A8B52F02108AA5F4B675BDCC973760022D7C6020B8A0000000000000000000000000000000000000000000000000000417CCB19C91880000000000000000000000000000000000000000000000004563918244F40000000000000000000000000000000000000000000000000028762463D7A377D29D000000000000000000000000000000000000000000000000455F79B593576E7800000000000000000000000000000000000000000000002876287BA455146425830081CD80 )
-
RootChainProxy.headerBlocks( 834290000 ) => ( root=E38750E9CC67A04BFB1E8CE19778F8E578D90E5B15607262DD3A1E2686CEF337, start=72842918, end=72843429, createdAt=1750088327, proposer=0x67B94473D81D0cd00849D563C94d0432Ac988B49 )
ERC20PredicateProxy.8274664f( )
ERC20Predicate.exitTokens( 0x78D974A39C0D2D6eea57b6e81DB5B26c58291C26, rootToken=0xdAC17F958D2ee523a2206206994597C13D831ec7, log=0xF89B94C2132D05D31C914A87C6611C10748AEB04B58E8FF863A0DDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EFA000000000000000000000000078D974A39C0D2D6EEA57B6E81DB5B26C58291C26A00000000000000000000000000000000000000000000000000000000000000000A00000000000000000000000000000000000000000000000000000000C68A129C0 )
-
TetherToken.transfer( _to=0x78D974A39C0D2D6eea57b6e81DB5B26c58291C26, _value=53295000000 )
-
-
exit[RootChainManager (ln:313)]
toExitPayload[RootChainManager (ln:314)]
getBranchMaskAsBytes[RootChainManager (ln:315)]
getBlockNumber[RootChainManager (ln:320)]
_getNibbleArray[RootChainManager (ln:324)]
_getNthNibbleOfBytes[MerklePatriciaProof (ln:1169)]
_getNthNibbleOfBytes[MerklePatriciaProof (ln:1172)]
_getNthNibbleOfBytes[MerklePatriciaProof (ln:1180)]
getReceiptLogIndex[RootChainManager (ln:325)]
getReceipt[RootChainManager (ln:333)]
getLog[RootChainManager (ln:334)]
getEmitter[RootChainManager (ln:336)]
getBranchMaskAsUint[RootChainManager (ln:346)]
verify[RootChainManager (ln:353)]
toRlpItem[MerklePatriciaProof (ln:1067)]
RLPItem[RLPReader (ln:664)]
toList[MerklePatriciaProof (ln:1068)]
isList[RLPReader (ln:703)]
numItems[RLPReader (ln:704)]
_payloadOffset[RLPReader (ln:831)]
_itemLength[RLPReader (ln:834)]
_payloadOffset[RLPReader (ln:706)]
_itemLength[RLPReader (ln:709)]
RLPItem[RLPReader (ln:710)]
_getNibbleArray[MerklePatriciaProof (ln:1073)]
_getNthNibbleOfBytes[MerklePatriciaProof (ln:1169)]
_getNthNibbleOfBytes[MerklePatriciaProof (ln:1172)]
_getNthNibbleOfBytes[MerklePatriciaProof (ln:1180)]
toRlpBytes[MerklePatriciaProof (ln:1081)]
toList[MerklePatriciaProof (ln:1085)]
isList[RLPReader (ln:703)]
numItems[RLPReader (ln:704)]
_payloadOffset[RLPReader (ln:831)]
_itemLength[RLPReader (ln:834)]
_payloadOffset[RLPReader (ln:706)]
_itemLength[RLPReader (ln:709)]
RLPItem[RLPReader (ln:710)]
toBytes[MerklePatriciaProof (ln:1089)]
payloadLocation[RLPReader (ln:815)]
_payloadOffset[RLPReader (ln:687)]
copy[RLPReader (ln:821)]
toUintStrict[MerklePatriciaProof (ln:1102)]
toBytes[MerklePatriciaProof (ln:1106)]
payloadLocation[RLPReader (ln:815)]
_payloadOffset[RLPReader (ln:687)]
copy[RLPReader (ln:821)]
_nibblesToTraverse[MerklePatriciaProof (ln:1107)]
_getNibbleArray[MerklePatriciaProof (ln:1145)]
_getNthNibbleOfBytes[MerklePatriciaProof (ln:1169)]
_getNthNibbleOfBytes[MerklePatriciaProof (ln:1172)]
_getNthNibbleOfBytes[MerklePatriciaProof (ln:1180)]
_getNthNibbleOfBytes[MerklePatriciaProof (ln:1113)]
toBytes[MerklePatriciaProof (ln:1117)]
payloadLocation[RLPReader (ln:815)]
_payloadOffset[RLPReader (ln:687)]
copy[RLPReader (ln:821)]
toUintStrict[MerklePatriciaProof (ln:1130)]
toBytes[RootChainManager (ln:354)]
getReceiptProof[RootChainManager (ln:356)]
getReceiptRoot[RootChainManager (ln:357)]
_checkBlockMembershipInCheckpoint[RootChainManager (ln:362)]
headerBlocks[RootChainManager (ln:389)]
checkMembership[RootChainManager (ln:391)]
sub[RootChainManager (ln:395)]
getBlockNumber[RootChainManager (ln:363)]
getBlockTime[RootChainManager (ln:364)]
getTxRoot[RootChainManager (ln:365)]
getReceiptRoot[RootChainManager (ln:366)]
getHeaderNumber[RootChainManager (ln:367)]
getBlockProof[RootChainManager (ln:368)]
exitTokens[RootChainManager (ln:370)]
_msgSender[RootChainManager (ln:371)]
msgSender[RootChainManager (ln:47)]
toRlpBytes[RootChainManager (ln:373)]
File 1 of 6: RootChainManagerProxy
File 2 of 6: ERC20PredicateProxy
File 3 of 6: TetherToken
File 4 of 6: RootChainManager
File 5 of 6: RootChainProxy
File 6 of 6: ERC20Predicate
12345678910111213141516// File: contracts/common/Proxy/IERCProxy.solpragma 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.solpragma solidity 0.6.6;abstract contract Proxy is IERCProxy {
File 2 of 6: ERC20PredicateProxy
12345678910111213141516// File: contracts/common/Proxy/IERCProxy.solpragma 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.solpragma solidity 0.6.6;abstract contract Proxy is IERCProxy {
File 3 of 6: TetherToken
12345678910111213141516pragma solidity ^0.4.17;/*** @title SafeMath* @dev Math operations with safety checks that throw on error*/library SafeMath {function mul(uint256 a, uint256 b) internal pure returns (uint256) {if (a == 0) {return 0;}uint256 c = a * b;assert(c / a == b);return c;}
File 4 of 6: RootChainManager
12345678910111213141516pragma 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";
File 5 of 6: RootChainProxy
12345678910111213141516// File: contracts/common/governance/IGovernance.solpragma solidity ^0.5.2;interface IGovernance {function update(address target, bytes calldata data) external;}// File: contracts/common/governance/Governable.solpragma solidity ^0.5.2;contract Governable {IGovernance public governance;
File 6 of 6: ERC20Predicate
12345678910111213141516pragma 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,