ETH Price: $3,887.92 (+1.81%)

Transaction Decoder

Block:
20795943 at Sep-21-2024 02:22:11 AM +UTC
Transaction Fee:
0.002679043506360018 ETH $10.42
Gas Used:
264,138 Gas / 10.142590261 Gwei

Emitted Events:

348 LayerZeroToken.Transfer( from=[Sender] 0xaca4f5a7f795637663959737aeae25846cdec96b, to=0x0000000000000000000000000000000000000000, value=360046652000000000000 )
349 SendUln302.ExecutorFeePaid( executor=OptimizedTransparentUpgradeableProxy, fee=23773934426157 )
350 SendUln302.DVNFeePaid( requiredDVNs=[0x589dEDbD617e0CBcB916A9223F4d1300c294236b, 0xD56e4eAb23cb81f43168F9F45211Eb027b9aC7cc], optionalDVNs=[], fees=[3631152000000, 3631152000000] )
351 EndpointV2.PacketSent( encodedPayload=0x01000000000000019D000075950000000000000000000000006985884C4392D348587B19CB9EAAF157F13271CD0000759E0000000000000000000000006985884C4392D348587B19CB9EAAF157F13271CDF9B1CFB6EF44B33E1176139099E62DFD92FA2BBCD7BA20D30E76AE91A69169F7000000000000000000000000ACA4F5A7F795637663959737AEAE25846CDEC96B000000001575E03C, options=0x000301001101000000000000000000000000000493E0, sendLibrary=SendUln302 )
352 LayerZeroToken.OFTSent( guid=F9B1CFB6EF44B33E1176139099E62DFD92FA2BBCD7BA20D30E76AE91A69169F7, dstEid=30110, fromAddress=[Sender] 0xaca4f5a7f795637663959737aeae25846cdec96b, amountSentLD=360046652000000000000, amountReceivedLD=360046652000000000000 )

Account State Difference:

  Address   Before After State Difference Code
0x1a440760...c50fE728c
(LayerZero: EndpointV2)
(Titan Builder)
8.073613250661733646 Eth8.073869464521733646 Eth0.00025621386
0x6985884C...7F13271cd
0xaca4F5a7...46cDec96b
0.029029745073551433 Eth
Nonce: 286
0.026319665328765258 Eth
Nonce: 287
0.002710079744786175
0xbB2Ea70C...E1372dCe1 13.499395363257877501 Eth13.499426399496303658 Eth0.000031036238426157

Execution Trace

ETH 0.000031036238426157 LayerZeroToken.send( _sendParam=[{name:dstEid, type:uint32, order:1, indexed:false, value:30110, valueString:30110}, {name:to, type:bytes32, order:2, indexed:false, value:000000000000000000000000ACA4F5A7F795637663959737AEAE25846CDEC96B, valueString:000000000000000000000000ACA4F5A7F795637663959737AEAE25846CDEC96B}, {name:amountLD, type:uint256, order:3, indexed:false, value:360046652000000000000, valueString:360046652000000000000}, {name:minAmountLD, type:uint256, order:4, indexed:false, value:358246418740000000000, valueString:358246418740000000000}, {name:extraOptions, type:bytes, order:5, indexed:false, value:0x0003, valueString:0x0003}, {name:composeMsg, type:bytes, order:6, indexed:false, value:0x, valueString:0x}, {name:oftCmd, type:bytes, order:7, indexed:false, value:0x, valueString:0x}], _fee=[{name:nativeFee, type:uint256, order:1, indexed:false, value:31036238426157, valueString:31036238426157}, {name:lzTokenFee, type:uint256, order:2, indexed:false, value:0, valueString:0}], _refundAddress=0xaca4F5a7f795637663959737aeAE25846cDec96b ) => ( msgReceipt=[{name:guid, type:bytes32, order:1, indexed:false, value:F9B1CFB6EF44B33E1176139099E62DFD92FA2BBCD7BA20D30E76AE91A69169F7, valueString:F9B1CFB6EF44B33E1176139099E62DFD92FA2BBCD7BA20D30E76AE91A69169F7}, {name:nonce, type:uint64, order:2, indexed:false, value:413, valueString:413}, {name:fee, type:tuple, order:3, indexed:false, value:[{name:nativeFee, type:uint256, order:1, indexed:false, value:31036238426157, valueString:31036238426157}, {name:lzTokenFee, type:uint256, order:2, indexed:false, value:0, valueString:0}], valueString:[{name:nativeFee, type:uint256, order:1, indexed:false, value:31036238426157, valueString:31036238426157}, {name:lzTokenFee, type:uint256, order:2, indexed:false, value:0, valueString:0}]}], oftReceipt=[{name:amountSentLD, type:uint256, order:1, indexed:false, value:360046652000000000000, valueString:360046652000000000000}, {name:amountReceivedLD, type:uint256, order:2, indexed:false, value:360046652000000000000, valueString:360046652000000000000}] )
  • ETH 0.000031036238426157 EndpointV2.send( _params=[{name:dstEid, type:uint32, order:1, indexed:false, value:30110, valueString:30110}, {name:receiver, type:bytes32, order:2, indexed:false, value:0000000000000000000000006985884C4392D348587B19CB9EAAF157F13271CD, valueString:0000000000000000000000006985884C4392D348587B19CB9EAAF157F13271CD}, {name:message, type:bytes, order:3, indexed:false, value:0x000000000000000000000000ACA4F5A7F795637663959737AEAE25846CDEC96B000000001575E03C, valueString:0x000000000000000000000000ACA4F5A7F795637663959737AEAE25846CDEC96B000000001575E03C}, {name:options, type:bytes, order:4, indexed:false, value:0x000301001101000000000000000000000000000493E0, valueString:0x000301001101000000000000000000000000000493E0}, {name:payInLzToken, type:bool, order:5, indexed:false, value:false, valueString:False}], _refundAddress=0xaca4F5a7f795637663959737aeAE25846cDec96b ) => ( [{name:guid, type:bytes32, order:1, indexed:false, value:F9B1CFB6EF44B33E1176139099E62DFD92FA2BBCD7BA20D30E76AE91A69169F7, valueString:F9B1CFB6EF44B33E1176139099E62DFD92FA2BBCD7BA20D30E76AE91A69169F7}, {name:nonce, type:uint64, order:2, indexed:false, value:413, valueString:413}, {name:fee, type:tuple, order:3, indexed:false, value:[{name:nativeFee, type:uint256, order:1, indexed:false, value:31036238426157, valueString:31036238426157}, {name:lzTokenFee, type:uint256, order:2, indexed:false, value:0, valueString:0}], valueString:[{name:nativeFee, type:uint256, order:1, indexed:false, value:31036238426157, valueString:31036238426157}, {name:lzTokenFee, type:uint256, order:2, indexed:false, value:0, valueString:0}]}] )
    • SendUln302.send( _packet=[{name:nonce, type:uint64, order:1, indexed:false, value:413, valueString:413}, {name:srcEid, type:uint32, order:2, indexed:false, value:30101, valueString:30101}, {name:sender, type:address, order:3, indexed:false, value:0x6985884C4392D348587B19cb9eAAf157F13271cd, valueString:0x6985884C4392D348587B19cb9eAAf157F13271cd}, {name:dstEid, type:uint32, order:4, indexed:false, value:30110, valueString:30110}, {name:receiver, type:bytes32, order:5, indexed:false, value:0000000000000000000000006985884C4392D348587B19CB9EAAF157F13271CD, valueString:0000000000000000000000006985884C4392D348587B19CB9EAAF157F13271CD}, {name:guid, type:bytes32, order:6, indexed:false, value:F9B1CFB6EF44B33E1176139099E62DFD92FA2BBCD7BA20D30E76AE91A69169F7, valueString:F9B1CFB6EF44B33E1176139099E62DFD92FA2BBCD7BA20D30E76AE91A69169F7}, {name:message, type:bytes, order:7, indexed:false, value:0x000000000000000000000000ACA4F5A7F795637663959737AEAE25846CDEC96B000000001575E03C, valueString:0x000000000000000000000000ACA4F5A7F795637663959737AEAE25846CDEC96B000000001575E03C}], _options=0x000301001101000000000000000000000000000493E0, _payInLzToken=False ) => ( [{name:nativeFee, type:uint256, order:1, indexed:false, value:31036238426157, valueString:31036238426157}, {name:lzTokenFee, type:uint256, order:2, indexed:false, value:0, valueString:0}], 0x01000000000000019D000075950000000000000000000000006985884C4392D348587B19CB9EAAF157F13271CD0000759E0000000000000000000000006985884C4392D348587B19CB9EAAF157F13271CDF9B1CFB6EF44B33E1176139099E62DFD92FA2BBCD7BA20D30E76AE91A69169F7000000000000000000000000ACA4F5A7F795637663959737AEAE25846CDEC96B000000001575E03C )
      • OptimizedTransparentUpgradeableProxy.717e8a42( )
        • 0xdac2d26317c42ae3cb21357b73404120e1da4232.717e8a42( )
          • 0x0f04f5d8bb631197845dae519d03d7997f7d20ba.566ef762( )
            • OptimizedTransparentUpgradeableProxy.c1723a1d( )
            • DVN.assignJob( _param=[{name:dstEid, type:uint32, order:1, indexed:false, value:30110, valueString:30110}, {name:packetHeader, type:bytes, order:2, indexed:false, value:0x01000000000000019D000075950000000000000000000000006985884C4392D348587B19CB9EAAF157F13271CD0000759E0000000000000000000000006985884C4392D348587B19CB9EAAF157F13271CD, valueString:0x01000000000000019D000075950000000000000000000000006985884C4392D348587B19CB9EAAF157F13271CD0000759E0000000000000000000000006985884C4392D348587B19CB9EAAF157F13271CD}, {name:payloadHash, type:bytes32, order:3, indexed:false, value:D2AACB0A1FD57D58F8D30768131F676FFBADED62487151459C9C1AF9E117C64D, valueString:D2AACB0A1FD57D58F8D30768131F676FFBADED62487151459C9C1AF9E117C64D}, {name:confirmations, type:uint64, order:4, indexed:false, value:15, valueString:15}, {name:sender, type:address, order:5, indexed:false, value:0x6985884C4392D348587B19cb9eAAf157F13271cd, valueString:0x6985884C4392D348587B19cb9eAAf157F13271cd}], _options=0x ) => ( totalFee=3631152000000 )
              • DVNFeeLib.getFeeOnSend( _params=[{name:priceFeed, type:address, order:1, indexed:false, value:0xC03f31fD86a9077785b7bCf6598Ce3598Fa91113, valueString:0xC03f31fD86a9077785b7bCf6598Ce3598Fa91113}, {name:dstEid, type:uint32, order:2, indexed:false, value:30110, valueString:30110}, {name:confirmations, type:uint64, order:3, indexed:false, value:15, valueString:15}, {name:sender, type:address, order:4, indexed:false, value:0x6985884C4392D348587B19cb9eAAf157F13271cd, valueString:0x6985884C4392D348587B19cb9eAAf157F13271cd}, {name:quorum, type:uint64, order:5, indexed:false, value:2, valueString:2}, {name:defaultMultiplierBps, type:uint16, order:6, indexed:false, value:12200, valueString:12200}], _dstConfig=[{name:gas, type:uint64, order:1, indexed:false, value:180000, valueString:180000}, {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 ) => ( 3631152000000 )
                • OptimizedTransparentUpgradeableProxy.c1723a1d( )
                  • 0x319ae539b5ba554b09a46791cdb88b10e4d8f627.c1723a1d( )
                  • VerifierNetwork.assignJob( _param=[{name:dstEid, type:uint32, order:1, indexed:false, value:30110, valueString:30110}, {name:packetHeader, type:bytes, order:2, indexed:false, value:0x01000000000000019D000075950000000000000000000000006985884C4392D348587B19CB9EAAF157F13271CD0000759E0000000000000000000000006985884C4392D348587B19CB9EAAF157F13271CD, valueString:0x01000000000000019D000075950000000000000000000000006985884C4392D348587B19CB9EAAF157F13271CD0000759E0000000000000000000000006985884C4392D348587B19CB9EAAF157F13271CD}, {name:payloadHash, type:bytes32, order:3, indexed:false, value:D2AACB0A1FD57D58F8D30768131F676FFBADED62487151459C9C1AF9E117C64D, valueString:D2AACB0A1FD57D58F8D30768131F676FFBADED62487151459C9C1AF9E117C64D}, {name:confirmations, type:uint64, order:4, indexed:false, value:15, valueString:15}, {name:sender, type:address, order:5, indexed:false, value:0x6985884C4392D348587B19cb9eAAf157F13271cd, valueString:0x6985884C4392D348587B19cb9eAAf157F13271cd}], _options=0x ) => ( totalFee=3631152000000 )
                    • VerifierFeeLib.getFeeOnSend( _params=[{name:priceFeed, type:address, order:1, indexed:false, value:0xC03f31fD86a9077785b7bCf6598Ce3598Fa91113, valueString:0xC03f31fD86a9077785b7bCf6598Ce3598Fa91113}, {name:dstEid, type:uint32, order:2, indexed:false, value:30110, valueString:30110}, {name:confirmations, type:uint64, order:3, indexed:false, value:15, valueString:15}, {name:sender, type:address, order:4, indexed:false, value:0x6985884C4392D348587B19cb9eAAf157F13271cd, valueString:0x6985884C4392D348587B19cb9eAAf157F13271cd}, {name:quorum, type:uint64, order:5, indexed:false, value:2, valueString:2}, {name:defaultMultiplierBps, type:uint16, order:6, indexed:false, value:12100, valueString:12100}], _dstConfig=[{name:gas, type:uint64, order:1, indexed:false, value:180000, valueString:180000}, {name:multiplierBps, type:uint16, order:2, indexed:false, value:12000, valueString:12000}, {name:floorMarginUSD, type:uint128, order:3, indexed:false, value:0, valueString:0}], 0x ) => ( 3631152000000 )
                      • OptimizedTransparentUpgradeableProxy.c1723a1d( )
                        • 0x319ae539b5ba554b09a46791cdb88b10e4d8f627.c1723a1d( )
                        • Treasury.payFee( 0x6985884C4392D348587B19cb9eAAf157F13271cd, 30110, _totalFee=31036238426157, _payInLzToken=False ) => ( 0 )
                        • ETH 0.000031036238426157 SendUln302.CALL( )
                          File 1 of 10: LayerZeroToken
                          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 10: 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 10: 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 10: 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 10: 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 10: 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 7 of 10: 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 8 of 10: VerifierNetwork
                          1
                          2
                          3
                          4
                          5
                          6
                          7
                          8
                          9
                          10
                          11
                          12
                          13
                          14
                          15
                          16
                          // SPDX-License-Identifier: BUSL-1.1
                          pragma solidity >=0.8.0;
                          struct PacketForQuote {
                          address sender;
                          uint32 dstEid;
                          bytes message;
                          }
                          struct Packet {
                          uint64 nonce;
                          uint32 srcEid;
                          address sender;
                          uint32 dstEid;
                          bytes32 receiver;
                          bytes32 guid;
                          bytes message;
                          }
                          XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

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

                          File 10 of 10: 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