ETH Price: $2,525.97 (-0.04%)

Transaction Decoder

Block:
22399102 at May-02-2025 10:31:11 PM +UTC
Transaction Fee:
0.000194838896238375 ETH $0.49
Gas Used:
280,671 Gas / 0.694189625 Gwei

Emitted Events:

69 SendUln302.ExecutorFeePaid( executor=OptimizedTransparentUpgradeableProxy, fee=27014184968589 )
70 SendUln302.DVNFeePaid( requiredDVNs=[0x8FafAE7Dd957044088b3d0F67359C327c6200d18, 0xa59BA433ac34D2927232918Ef5B2eaAfcF130BA5], optionalDVNs=[], fees=[81241370745, 81241370745] )
71 EndpointV2.PacketSent( encodedPayload=0x010000000000003699000075950000000000000000000000006D6620EFA72948C5F68A3C8646D58C00D3F4A9800000759F000000000000000000000000F1FCB4CBD57B67D683972A59B6A7B1E2E8BF27E6BE6881BC5F88C46B818FA26F63A4AA0DFBE1AD7221C65EEFF1B04A0B31E5E8660200000000000000000000000000000000000000000000000000001B48EB57E000000D000000000000000000000000FA794BC5D2505656655F8E0ACECC8EF31818738C00000000000183D500, options=0x0003010011010000000000000000000000000000C350010011010000000000000000000000000000D6D8, sendLibrary=SendUln302 )
72 TokenMessaging.BusDriven( dstEid=30111, startTicketId=7257, numPassengers=1, guid=BE6881BC5F88C46B818FA26F63A4AA0DFBE1AD7221C65EEFF1B04A0B31E5E866 )

Account State Difference:

  Address   Before After State Difference Code
0x1a440760...c50fE728c
(LayerZero: EndpointV2)
(Titan Builder)
106.925004486461645697 Eth106.925096977405452429 Eth0.000092490943806732
0x6d6620eF...0d3f4A980
(Stargate: Token Messaging)
0xbB2Ea70C...E1372dCe1 29.601700830423059915 Eth29.601728007090769994 Eth0.000027176667710079
0xe37f7c80...663CB88b5
1.754680488888439702 Eth
Nonce: 208261
1.754458473324491248 Eth
Nonce: 208262
0.000222015563948454

Execution Trace

ETH 0.000035329668023102 TokenMessaging.driveBus( _dstEid=30111, _passengers=0x000D000000000000000000000000FA794BC5D2505656655F8E0ACECC8EF31818738C00000000000183D500 ) => ( receipt=[{name:guid, type:bytes32, order:1, indexed:false, value:BE6881BC5F88C46B818FA26F63A4AA0DFBE1AD7221C65EEFF1B04A0B31E5E866, valueString:BE6881BC5F88C46B818FA26F63A4AA0DFBE1AD7221C65EEFF1B04A0B31E5E866}, {name:nonce, type:uint64, order:2, indexed:false, value:13977, valueString:13977}, {name:fee, type:tuple, order:3, indexed:false, value:[{name:nativeFee, type:uint256, order:1, indexed:false, value:27176667710079, valueString:27176667710079}, {name:lzTokenFee, type:uint256, order:2, indexed:false, value:0, valueString:0}], valueString:[{name:nativeFee, type:uint256, order:1, indexed:false, value:27176667710079, valueString:27176667710079}, {name:lzTokenFee, type:uint256, order:2, indexed:false, value:0, valueString:0}]}] )
  • ETH 0.000035329668023102 EndpointV2.send( _params=[{name:dstEid, type:uint32, order:1, indexed:false, value:30111, valueString:30111}, {name:receiver, type:bytes32, order:2, indexed:false, value:000000000000000000000000F1FCB4CBD57B67D683972A59B6A7B1E2E8BF27E6, valueString:000000000000000000000000F1FCB4CBD57B67D683972A59B6A7B1E2E8BF27E6}, {name:message, type:bytes, order:3, indexed:false, value:0x0200000000000000000000000000000000000000000000000000001B48EB57E000000D000000000000000000000000FA794BC5D2505656655F8E0ACECC8EF31818738C00000000000183D500, valueString:0x0200000000000000000000000000000000000000000000000000001B48EB57E000000D000000000000000000000000FA794BC5D2505656655F8E0ACECC8EF31818738C00000000000183D500}, {name:options, type:bytes, order:4, indexed:false, value:0x0003010011010000000000000000000000000000C350010011010000000000000000000000000000D6D8, valueString:0x0003010011010000000000000000000000000000C350010011010000000000000000000000000000D6D8}, {name:payInLzToken, type:bool, order:5, indexed:false, value:false, valueString:False}], _refundAddress=0xe37f7c80ceD04c4F243C0Fd04A5510D663CB88b5 ) => ( [{name:guid, type:bytes32, order:1, indexed:false, value:BE6881BC5F88C46B818FA26F63A4AA0DFBE1AD7221C65EEFF1B04A0B31E5E866, valueString:BE6881BC5F88C46B818FA26F63A4AA0DFBE1AD7221C65EEFF1B04A0B31E5E866}, {name:nonce, type:uint64, order:2, indexed:false, value:13977, valueString:13977}, {name:fee, type:tuple, order:3, indexed:false, value:[{name:nativeFee, type:uint256, order:1, indexed:false, value:27176667710079, valueString:27176667710079}, {name:lzTokenFee, type:uint256, order:2, indexed:false, value:0, valueString:0}], valueString:[{name:nativeFee, type:uint256, order:1, indexed:false, value:27176667710079, valueString:27176667710079}, {name:lzTokenFee, type:uint256, order:2, indexed:false, value:0, valueString:0}]}] )
    • SendUln302.send( _packet=[{name:nonce, type:uint64, order:1, indexed:false, value:13977, valueString:13977}, {name:srcEid, type:uint32, order:2, indexed:false, value:30101, valueString:30101}, {name:sender, type:address, order:3, indexed:false, value:0x6d6620eFa72948C5f68A3C8646d58C00d3f4A980, valueString:0x6d6620eFa72948C5f68A3C8646d58C00d3f4A980}, {name:dstEid, type:uint32, order:4, indexed:false, value:30111, valueString:30111}, {name:receiver, type:bytes32, order:5, indexed:false, value:000000000000000000000000F1FCB4CBD57B67D683972A59B6A7B1E2E8BF27E6, valueString:000000000000000000000000F1FCB4CBD57B67D683972A59B6A7B1E2E8BF27E6}, {name:guid, type:bytes32, order:6, indexed:false, value:BE6881BC5F88C46B818FA26F63A4AA0DFBE1AD7221C65EEFF1B04A0B31E5E866, valueString:BE6881BC5F88C46B818FA26F63A4AA0DFBE1AD7221C65EEFF1B04A0B31E5E866}, {name:message, type:bytes, order:7, indexed:false, value:0x0200000000000000000000000000000000000000000000000000001B48EB57E000000D000000000000000000000000FA794BC5D2505656655F8E0ACECC8EF31818738C00000000000183D500, valueString:0x0200000000000000000000000000000000000000000000000000001B48EB57E000000D000000000000000000000000FA794BC5D2505656655F8E0ACECC8EF31818738C00000000000183D500}], _options=0x0003010011010000000000000000000000000000C350010011010000000000000000000000000000D6D8, _payInLzToken=False ) => ( [{name:nativeFee, type:uint256, order:1, indexed:false, value:27176667710079, valueString:27176667710079}, {name:lzTokenFee, type:uint256, order:2, indexed:false, value:0, valueString:0}], 0x010000000000003699000075950000000000000000000000006D6620EFA72948C5F68A3C8646D58C00D3F4A9800000759F000000000000000000000000F1FCB4CBD57B67D683972A59B6A7B1E2E8BF27E6BE6881BC5F88C46B818FA26F63A4AA0DFBE1AD7221C65EEFF1B04A0B31E5E8660200000000000000000000000000000000000000000000000000001B48EB57E000000D000000000000000000000000FA794BC5D2505656655F8E0ACECC8EF31818738C00000000000183D500 )
      • OptimizedTransparentUpgradeableProxy.717e8a42( )
        • 0xfe9ab78ed4f9f3dbb168d9f5e5213d78605c9805.717e8a42( )
          • 0x4e9c57fd2bd0f47c43f2d62642c1b05894fb9ed0.566ef762( )
            • OptimizedTransparentUpgradeableProxy.88a4124c( )
            • DVN.assignJob( _param=[{name:dstEid, type:uint32, order:1, indexed:false, value:30111, valueString:30111}, {name:packetHeader, type:bytes, order:2, indexed:false, value:0x010000000000003699000075950000000000000000000000006D6620EFA72948C5F68A3C8646D58C00D3F4A9800000759F000000000000000000000000F1FCB4CBD57B67D683972A59B6A7B1E2E8BF27E6, valueString:0x010000000000003699000075950000000000000000000000006D6620EFA72948C5F68A3C8646D58C00D3F4A9800000759F000000000000000000000000F1FCB4CBD57B67D683972A59B6A7B1E2E8BF27E6}, {name:payloadHash, type:bytes32, order:3, indexed:false, value:AF106B77D0BFD4AB6200F08F090596D26C80F564CFAC4B33F19CA1405409EC7C, valueString:AF106B77D0BFD4AB6200F08F090596D26C80F564CFAC4B33F19CA1405409EC7C}, {name:confirmations, type:uint64, order:4, indexed:false, value:15, valueString:15}, {name:sender, type:address, order:5, indexed:false, value:0x6d6620eFa72948C5f68A3C8646d58C00d3f4A980, valueString:0x6d6620eFa72948C5f68A3C8646d58C00d3f4A980}], _options=0x ) => ( totalFee=81241370745 )
              • 0xd0ab8512cf4907bd94cdb5fe7d0c324e666c4006.df2b057e( )
                • OptimizedTransparentUpgradeableProxy.c1723a1d( )
                  • 0x319ae539b5ba554b09a46791cdb88b10e4d8f627.c1723a1d( )
                  • DVN.assignJob( _param=[{name:dstEid, type:uint32, order:1, indexed:false, value:30111, valueString:30111}, {name:packetHeader, type:bytes, order:2, indexed:false, value:0x010000000000003699000075950000000000000000000000006D6620EFA72948C5F68A3C8646D58C00D3F4A9800000759F000000000000000000000000F1FCB4CBD57B67D683972A59B6A7B1E2E8BF27E6, valueString:0x010000000000003699000075950000000000000000000000006D6620EFA72948C5F68A3C8646D58C00D3F4A9800000759F000000000000000000000000F1FCB4CBD57B67D683972A59B6A7B1E2E8BF27E6}, {name:payloadHash, type:bytes32, order:3, indexed:false, value:AF106B77D0BFD4AB6200F08F090596D26C80F564CFAC4B33F19CA1405409EC7C, valueString:AF106B77D0BFD4AB6200F08F090596D26C80F564CFAC4B33F19CA1405409EC7C}, {name:confirmations, type:uint64, order:4, indexed:false, value:15, valueString:15}, {name:sender, type:address, order:5, indexed:false, value:0x6d6620eFa72948C5f68A3C8646d58C00d3f4A980, valueString:0x6d6620eFa72948C5f68A3C8646d58C00d3f4A980}], _options=0x ) => ( totalFee=81241370745 )
                    • DVNFeeLib.getFeeOnSend( _params=[{name:priceFeed, type:address, order:1, indexed:false, value:0xC03f31fD86a9077785b7bCf6598Ce3598Fa91113, valueString:0xC03f31fD86a9077785b7bCf6598Ce3598Fa91113}, {name:dstEid, type:uint32, order:2, indexed:false, value:30111, valueString:30111}, {name:confirmations, type:uint64, order:3, indexed:false, value:15, valueString:15}, {name:sender, type:address, order:4, indexed:false, value:0x6d6620eFa72948C5f68A3C8646d58C00d3f4A980, valueString:0x6d6620eFa72948C5f68A3C8646d58C00d3f4A980}, {name:quorum, type:uint64, order:5, indexed:false, value:1, valueString:1}, {name:defaultMultiplierBps, type:uint16, order:6, indexed:false, value:12000, valueString:12000}], _dstConfig=[{name:gas, type:uint64, order:1, indexed:false, value:30000, valueString:30000}, {name:multiplierBps, type:uint16, order:2, indexed:false, value:12000, valueString:12000}, {name:floorMarginUSD, type:uint128, order:3, indexed:false, value:0, valueString:0}], _options=0x ) => ( 81241370745 )
                      • OptimizedTransparentUpgradeableProxy.c1723a1d( )
                        • 0x319ae539b5ba554b09a46791cdb88b10e4d8f627.c1723a1d( )
                        • Treasury.payFee( 0x6d6620eFa72948C5f68A3C8646d58C00d3f4A980, 30111, _totalFee=27176667710079, _payInLzToken=False ) => ( 0 )
                        • ETH 0.000027176667710079 SendUln302.CALL( )
                        • ETH 0.000008153000313023 0xe37f7c80ced04c4f243c0fd04a5510d663cb88b5.CALL( )
                          File 1 of 9: TokenMessaging
                          1
                          2
                          3
                          4
                          5
                          6
                          7
                          8
                          9
                          10
                          11
                          12
                          13
                          14
                          15
                          16
                          // SPDX-License-Identifier: MIT
                          pragma solidity ^0.8.20;
                          // @dev Import the 'MessagingFee' and 'MessagingReceipt' so it's exposed to OApp implementers
                          // solhint-disable-next-line no-unused-import
                          import { OAppSender, MessagingFee, MessagingReceipt } from "./OAppSender.sol";
                          // @dev Import the 'Origin' so it's exposed to OApp implementers
                          // solhint-disable-next-line no-unused-import
                          import { OAppReceiver, Origin } from "./OAppReceiver.sol";
                          import { OAppCore } from "./OAppCore.sol";
                          /**
                          * @title OApp
                          * @dev Abstract contract serving as the base for OApp implementation, combining OAppSender and OAppReceiver functionality.
                          */
                          abstract contract OApp is OAppSender, OAppReceiver {
                          /**
                          * @dev Constructor to initialize the OApp with the provided endpoint and owner.
                          XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

                          File 2 of 9: SendUln302
                          1
                          2
                          3
                          4
                          5
                          6
                          7
                          8
                          9
                          10
                          11
                          12
                          13
                          14
                          15
                          16
                          // SPDX-License-Identifier: MIT
                          pragma solidity >=0.8.0;
                          import { IMessageLibManager } from "./IMessageLibManager.sol";
                          import { IMessagingComposer } from "./IMessagingComposer.sol";
                          import { IMessagingChannel } from "./IMessagingChannel.sol";
                          import { IMessagingContext } from "./IMessagingContext.sol";
                          struct MessagingParams {
                          uint32 dstEid;
                          bytes32 receiver;
                          bytes message;
                          bytes options;
                          bool payInLzToken;
                          }
                          struct MessagingReceipt {
                          bytes32 guid;
                          uint64 nonce;
                          XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

                          File 3 of 9: EndpointV2
                          1
                          2
                          3
                          4
                          5
                          6
                          7
                          8
                          9
                          10
                          11
                          12
                          13
                          14
                          15
                          16
                          // SPDX-License-Identifier: MIT
                          // OpenZeppelin Contracts (last updated v4.9.0) (access/Ownable.sol)
                          pragma solidity ^0.8.0;
                          import "../utils/Context.sol";
                          /**
                          * @dev Contract module which provides a basic access control mechanism, where
                          * there is an account (an owner) that can be granted exclusive access to
                          * specific functions.
                          *
                          * By default, the owner account will be the one that deploys the contract. This
                          * can later be changed with {transferOwnership}.
                          *
                          * This module is used through inheritance. It will make available the modifier
                          * `onlyOwner`, which can be applied to your functions to restrict their use to
                          * the owner.
                          */
                          XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

                          File 4 of 9: OptimizedTransparentUpgradeableProxy
                          1
                          2
                          3
                          4
                          5
                          6
                          7
                          8
                          9
                          10
                          11
                          12
                          13
                          14
                          15
                          16
                          // SPDX-License-Identifier: MIT
                          // OpenZeppelin Contracts (last updated v4.5.0-rc.0) (interfaces/draft-IERC1822.sol)
                          pragma solidity ^0.8.0;
                          /**
                          * @dev ERC1822: Universal Upgradeable Proxy Standard (UUPS) documents a method for upgradeability through a simplified
                          * proxy whose upgrades are fully controlled by the current implementation.
                          */
                          interface IERC1822Proxiable {
                          /**
                          * @dev Returns the storage slot that the proxiable contract assumes is being used to store the implementation
                          * address.
                          *
                          * IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks
                          * bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this
                          * function revert if invoked through a proxy.
                          */
                          XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

                          File 5 of 9: OptimizedTransparentUpgradeableProxy
                          1
                          2
                          3
                          4
                          5
                          6
                          7
                          8
                          9
                          10
                          11
                          12
                          13
                          14
                          15
                          16
                          // SPDX-License-Identifier: MIT
                          // OpenZeppelin Contracts (last updated v4.5.0-rc.0) (interfaces/draft-IERC1822.sol)
                          pragma solidity ^0.8.0;
                          /**
                          * @dev ERC1822: Universal Upgradeable Proxy Standard (UUPS) documents a method for upgradeability through a simplified
                          * proxy whose upgrades are fully controlled by the current implementation.
                          */
                          interface IERC1822Proxiable {
                          /**
                          * @dev Returns the storage slot that the proxiable contract assumes is being used to store the implementation
                          * address.
                          *
                          * IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks
                          * bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this
                          * function revert if invoked through a proxy.
                          */
                          XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

                          File 6 of 9: DVN
                          1
                          2
                          3
                          4
                          5
                          6
                          7
                          8
                          9
                          10
                          11
                          12
                          13
                          14
                          15
                          16
                          // SPDX-License-Identifier: LZBL-1.2
                          pragma solidity ^0.8.20;
                          import { ILayerZeroUltraLightNodeV2 } from "@layerzerolabs/lz-evm-v1-0.7/contracts/interfaces/ILayerZeroUltraLightNodeV2.sol";
                          import { Worker } from "../../Worker.sol";
                          import { MultiSig } from "./MultiSig.sol";
                          import { IDVN } from "../interfaces/IDVN.sol";
                          import { IDVNFeeLib } from "../interfaces/IDVNFeeLib.sol";
                          import { IReceiveUlnE2 } from "../interfaces/IReceiveUlnE2.sol";
                          struct ExecuteParam {
                          uint32 vid;
                          address target;
                          bytes callData;
                          uint256 expiration;
                          bytes signatures;
                          }
                          contract DVN is Worker, MultiSig, IDVN {
                          XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

                          File 7 of 9: DVN
                          1
                          2
                          3
                          4
                          5
                          6
                          7
                          8
                          9
                          10
                          11
                          12
                          13
                          14
                          15
                          16
                          // SPDX-License-Identifier: MIT
                          pragma solidity >=0.8.0;
                          import { IMessageLibManager } from "./IMessageLibManager.sol";
                          import { IMessagingComposer } from "./IMessagingComposer.sol";
                          import { IMessagingChannel } from "./IMessagingChannel.sol";
                          import { IMessagingContext } from "./IMessagingContext.sol";
                          struct MessagingParams {
                          uint32 dstEid;
                          bytes32 receiver;
                          bytes message;
                          bytes options;
                          bool payInLzToken;
                          }
                          struct MessagingReceipt {
                          bytes32 guid;
                          uint64 nonce;
                          XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

                          File 8 of 9: DVNFeeLib
                          1
                          2
                          3
                          4
                          5
                          6
                          7
                          8
                          9
                          10
                          11
                          12
                          13
                          14
                          15
                          16
                          // SPDX-License-Identifier: LZBL-1.2
                          pragma solidity ^0.8.20;
                          library CalldataBytesLib {
                          function toU8(bytes calldata _bytes, uint256 _start) internal pure returns (uint8) {
                          return uint8(_bytes[_start]);
                          }
                          function toU16(bytes calldata _bytes, uint256 _start) internal pure returns (uint16) {
                          unchecked {
                          uint256 end = _start + 2;
                          return uint16(bytes2(_bytes[_start:end]));
                          }
                          }
                          function toU32(bytes calldata _bytes, uint256 _start) internal pure returns (uint32) {
                          unchecked {
                          uint256 end = _start + 4;
                          return uint32(bytes4(_bytes[_start:end]));
                          XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

                          File 9 of 9: Treasury
                          1
                          2
                          3
                          4
                          5
                          6
                          7
                          8
                          9
                          10
                          11
                          12
                          13
                          14
                          15
                          16
                          // SPDX-License-Identifier: MIT
                          pragma solidity >=0.8.0;
                          import { IMessageLibManager } from "./IMessageLibManager.sol";
                          import { IMessagingComposer } from "./IMessagingComposer.sol";
                          import { IMessagingChannel } from "./IMessagingChannel.sol";
                          import { IMessagingContext } from "./IMessagingContext.sol";
                          struct MessagingParams {
                          uint32 dstEid;
                          bytes32 receiver;
                          bytes message;
                          bytes options;
                          bool payInLzToken;
                          }
                          struct MessagingReceipt {
                          bytes32 guid;
                          uint64 nonce;
                          XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX