Transaction Decoder
Transaction Hash:
Block:
20056505 at Jun-09-2024 07:58:11 PM +UTC
Transaction Fee:
0.000454688020166922 ETH
$1.69
Gas Used:
61,863 Gas / 7.349918694 Gwei
Emitted Events:
289 |
BridgeToken.0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925( 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925, 0x000000000000000000000000c452f968df63f8c8532a91a404e43473caf152ca, 0x000000000000000000000000a7ca2c8673bcfa5a26d8ceec2887f2cc2b0db22a, ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff )
|
Account State Difference:
Address | Before | After | State Difference | ||
---|---|---|---|---|---|
0x95222290...5CC4BAfe5
Miner
| (beaverbuild) | 18.253958170786073352 Eth | 18.254020033786073352 Eth | 0.000061863 | |
0xC452f968...3caF152ca |
0.00144782369733036 Eth
Nonce: 2
|
0.000993135677163438 Eth
Nonce: 3
| 0.000454688020166922 | ||
0xD31a59c8...41571b89c |
Execution Trace
BridgeToken.095ea7b3( )

TokenBridge.STATICCALL( )
-
BridgeImplementation.DELEGATECALL( )
-
-
TokenImplementation.approve( spender_=0xa7Ca2C8673bcFA5a26d8ceeC2887f2CC2b0Db22A, amount_=115792089237316195423570985008687907853269984665640564039457584007913129639935 ) => ( True )
File 1 of 4: BridgeToken
File 2 of 4: TokenBridge
File 3 of 4: BridgeImplementation
File 4 of 4: TokenImplementation
12345678910111213141516// contracts/Structs.sol// SPDX-License-Identifier: Apache 2pragma solidity ^0.8.0;import "@openzeppelin/contracts/proxy/beacon/BeaconProxy.sol";contract BridgeToken is BeaconProxy {constructor(address beacon, bytes memory data) BeaconProxy(beacon, data) {}}// SPDX-License-Identifier: MITpragma solidity ^0.8.2;import "../beacon/IBeacon.sol";import "../../utils/Address.sol";import "../../utils/StorageSlot.sol";/*** @dev This abstract contract provides getters and event emitting update functions for* https://eips.ethereum.org/EIPS/eip-1967[EIP1967] slots.*
File 2 of 4: TokenBridge
12345678910111213141516// contracts/Wormhole.sol// SPDX-License-Identifier: Apache 2pragma solidity ^0.8.0;import "@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol";contract TokenBridge is ERC1967Proxy {constructor (address implementation, bytes memory initData)ERC1967Proxy(implementation,initData){}}// SPDX-License-Identifier: MITpragma solidity ^0.8.0;import "../Proxy.sol";import "./ERC1967Upgrade.sol";/**
File 3 of 4: BridgeImplementation
12345678910111213141516// contracts/Implementation.sol// SPDX-License-Identifier: Apache 2pragma solidity ^0.8.0;pragma experimental ABIEncoderV2;import "@openzeppelin/contracts/proxy/ERC1967/ERC1967Upgrade.sol";import "./Bridge.sol";contract BridgeImplementation is Bridge {// Beacon getter for the token contractsfunction implementation() public view returns (address) {return tokenImplementation();}function initialize() initializer public virtual {// this function needs to be exposed for an upgrade to pass}modifier initializer() {address impl = ERC1967Upgrade._getImplementation();
File 4 of 4: TokenImplementation
12345678910111213141516// SPDX-License-Identifier: Apache 2// File: @openzeppelin/contracts/utils/Counters.solpragma solidity ^0.8.0;/*** @title Counters* @author Matt Condon (@shrugs)* @dev Provides counters that can only be incremented, decremented or reset. This can be used e.g. to track the number* of elements in a mapping, issuing ERC721 ids, or counting request ids.** Include with `using Counters for Counters.Counter;`*/library Counters {struct Counter {