Sepolia Testnet

Contract

0xD0fb39f5a3361F21457653cB70F9D0C9bD86B66B
Source Code Source Code

Overview

ETH Balance

0 ETH

More Info

Multichain Info

N/A
Transaction Hash
Method
Block
From
To
Amount
Request Executio...96512232025-11-17 22:32:0056 days ago1763418720IN
0xD0fb39f5...9bD86B66B
0.00042482 ETH0.000065021.5

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
Amount
Transfer100287362026-01-12 14:35:4828 hrs ago1768228548
0xD0fb39f5...9bD86B66B
0.00043952 ETH
Request Executio...100287362026-01-12 14:35:4828 hrs ago1768228548
0xD0fb39f5...9bD86B66B
0.00043952 ETH
Transfer100285732026-01-12 13:59:2428 hrs ago1768226364
0xD0fb39f5...9bD86B66B
0.00000345 ETH
Request Executio...100285732026-01-12 13:59:2428 hrs ago1768226364
0xD0fb39f5...9bD86B66B
0.00000345 ETH
Transfer100272372026-01-12 9:01:2433 hrs ago1768208484
0xD0fb39f5...9bD86B66B
0.00067834 ETH
Request Executio...100272372026-01-12 9:01:2433 hrs ago1768208484
0xD0fb39f5...9bD86B66B
0.00067834 ETH
Transfer100269322026-01-12 7:52:3634 hrs ago1768204356
0xD0fb39f5...9bD86B66B
0.00005768 ETH
Request Executio...100269322026-01-12 7:52:3634 hrs ago1768204356
0xD0fb39f5...9bD86B66B
0.00005768 ETH
Transfer100264782026-01-12 6:10:3636 hrs ago1768198236
0xD0fb39f5...9bD86B66B
0.00005781 ETH
Request Executio...100264782026-01-12 6:10:3636 hrs ago1768198236
0xD0fb39f5...9bD86B66B
0.00005781 ETH
Transfer100251012026-01-12 1:03:3641 hrs ago1768179816
0xD0fb39f5...9bD86B66B
0.00068192 ETH
Request Executio...100251012026-01-12 1:03:3641 hrs ago1768179816
0xD0fb39f5...9bD86B66B
0.00068192 ETH
Transfer100229532026-01-11 17:01:002 days ago1768150860
0xD0fb39f5...9bD86B66B
0.00067595 ETH
Request Executio...100229532026-01-11 17:01:002 days ago1768150860
0xD0fb39f5...9bD86B66B
0.00067595 ETH
Transfer100208672026-01-11 9:01:122 days ago1768122072
0xD0fb39f5...9bD86B66B
0.00066465 ETH
Request Executio...100208672026-01-11 9:01:122 days ago1768122072
0xD0fb39f5...9bD86B66B
0.00066465 ETH
Transfer100186222026-01-11 1:00:482 days ago1768093248
0xD0fb39f5...9bD86B66B
0.00066459 ETH
Request Executio...100186222026-01-11 1:00:482 days ago1768093248
0xD0fb39f5...9bD86B66B
0.00066459 ETH
Transfer100165152026-01-10 17:01:243 days ago1768064484
0xD0fb39f5...9bD86B66B
0.00066495 ETH
Request Executio...100165152026-01-10 17:01:243 days ago1768064484
0xD0fb39f5...9bD86B66B
0.00066495 ETH
Transfer100144172026-01-10 9:01:123 days ago1768035672
0xD0fb39f5...9bD86B66B
0.00066396 ETH
Request Executio...100144172026-01-10 9:01:123 days ago1768035672
0xD0fb39f5...9bD86B66B
0.00066396 ETH
Transfer100123052026-01-10 1:01:003 days ago1768006860
0xD0fb39f5...9bD86B66B
0.00066417 ETH
Request Executio...100123052026-01-10 1:01:003 days ago1768006860
0xD0fb39f5...9bD86B66B
0.00066417 ETH
Transfer100118262026-01-09 23:11:243 days ago1768000284
0xD0fb39f5...9bD86B66B
0.00000385 ETH
View All Internal Transactions
Loading...
Loading

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Executor

Compiler Version
v0.8.28+commit.7893614a

Optimization Enabled:
Yes with 200 runs

Other Settings:
london EvmVersion

Contract Source Code (Solidity Standard Json-Input format)

// SPDX-License-Identifier: Apache-2.0
pragma solidity ^0.8.13;

import "./interfaces/IExecutor.sol";

string constant executorVersion = "Executor-0.0.1";

contract Executor is IExecutor {
    string public constant EXECUTOR_VERSION = executorVersion;

    uint16 public immutable ourChain;

    constructor(uint16 _ourChain) {
        ourChain = _ourChain;
    }

    error QuoteSrcChainMismatch(uint16 quoteSrcChain, uint16 requestSrcChain);
    error QuoteDstChainMismatch(uint16 quoteDstChain, uint16 requestDstChain);
    error QuoteExpired(uint64 expiryTime);
    error NotAnEvmAddress(bytes32);

    function requestExecution(
        uint16 dstChain,
        bytes32 dstAddr,
        address refundAddr,
        bytes calldata signedQuoteBytes,
        bytes calldata requestBytes,
        bytes calldata relayInstructions
    ) public payable {
        {
            uint16 quoteSrcChain;
            uint16 quoteDstChain;
            uint64 expiryTime;
            assembly {
                quoteSrcChain := shr(240, calldataload(add(signedQuoteBytes.offset, 56)))
                quoteDstChain := shr(240, calldataload(add(signedQuoteBytes.offset, 58)))
                expiryTime := shr(192, calldataload(add(signedQuoteBytes.offset, 60)))
            }
            if (quoteSrcChain != ourChain) {
                revert QuoteSrcChainMismatch(quoteSrcChain, ourChain);
            }
            if (quoteDstChain != dstChain) {
                revert QuoteDstChainMismatch(quoteDstChain, dstChain);
            }
            if (expiryTime <= block.timestamp) {
                revert QuoteExpired(expiryTime);
            }
        }
        uint160 quoterAddress;
        bytes32 universalPayeeAddress;
        assembly {
            quoterAddress := shr(96, calldataload(add(signedQuoteBytes.offset, 4)))
            universalPayeeAddress := calldataload(add(signedQuoteBytes.offset, 24))
        }
        // Check if the higher 96 bits (left-most 12 bytes) are non-zero
        if (uint256(universalPayeeAddress) >> 160 != 0) {
            revert NotAnEvmAddress(universalPayeeAddress);
        }
        address payeeAddress = address(uint160(uint256(universalPayeeAddress)));
        payable(payeeAddress).transfer(msg.value);
        emit RequestForExecution(
            address(quoterAddress),
            msg.value,
            dstChain,
            dstAddr,
            refundAddr,
            signedQuoteBytes,
            requestBytes,
            relayInstructions
        );
    }
}

// SPDX-License-Identifier: Apache-2.0
pragma solidity ^0.8.19;

interface IExecutor {
    struct SignedQuoteHeader {
        bytes4 prefix;
        address quoterAddress;
        bytes32 payeeAddress;
        uint16 srcChain;
        uint16 dstChain;
        uint64 expiryTime;
    }

    event RequestForExecution(
        address indexed quoterAddress,
        uint256 amtPaid,
        uint16 dstChain,
        bytes32 dstAddr,
        address refundAddr,
        bytes signedQuote,
        bytes requestBytes,
        bytes relayInstructions
    );

    function requestExecution(
        uint16 dstChain,
        bytes32 dstAddr,
        address refundAddr,
        bytes calldata signedQuote,
        bytes calldata requestBytes,
        bytes calldata relayInstructions
    ) external payable;
}

Settings
{
  "remappings": [
    "forge-std/=lib/forge-std/src/"
  ],
  "optimizer": {
    "enabled": true,
    "runs": 200
  },
  "metadata": {
    "useLiteralContent": false,
    "bytecodeHash": "ipfs",
    "appendCBOR": true
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "evmVersion": "london",
  "viaIR": true,
  "libraries": {}
}

Contract ABI

API
[{"inputs":[{"internalType":"uint16","name":"_ourChain","type":"uint16"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"NotAnEvmAddress","type":"error"},{"inputs":[{"internalType":"uint16","name":"quoteDstChain","type":"uint16"},{"internalType":"uint16","name":"requestDstChain","type":"uint16"}],"name":"QuoteDstChainMismatch","type":"error"},{"inputs":[{"internalType":"uint64","name":"expiryTime","type":"uint64"}],"name":"QuoteExpired","type":"error"},{"inputs":[{"internalType":"uint16","name":"quoteSrcChain","type":"uint16"},{"internalType":"uint16","name":"requestSrcChain","type":"uint16"}],"name":"QuoteSrcChainMismatch","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"quoterAddress","type":"address"},{"indexed":false,"internalType":"uint256","name":"amtPaid","type":"uint256"},{"indexed":false,"internalType":"uint16","name":"dstChain","type":"uint16"},{"indexed":false,"internalType":"bytes32","name":"dstAddr","type":"bytes32"},{"indexed":false,"internalType":"address","name":"refundAddr","type":"address"},{"indexed":false,"internalType":"bytes","name":"signedQuote","type":"bytes"},{"indexed":false,"internalType":"bytes","name":"requestBytes","type":"bytes"},{"indexed":false,"internalType":"bytes","name":"relayInstructions","type":"bytes"}],"name":"RequestForExecution","type":"event"},{"inputs":[],"name":"EXECUTOR_VERSION","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"ourChain","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint16","name":"dstChain","type":"uint16"},{"internalType":"bytes32","name":"dstAddr","type":"bytes32"},{"internalType":"address","name":"refundAddr","type":"address"},{"internalType":"bytes","name":"signedQuoteBytes","type":"bytes"},{"internalType":"bytes","name":"requestBytes","type":"bytes"},{"internalType":"bytes","name":"relayInstructions","type":"bytes"}],"name":"requestExecution","outputs":[],"stateMutability":"payable","type":"function"}]

60a034606857601f61044538819003918201601f19168301916001600160401b03831184841017606d578084926020946040528339810103126068575161ffff811681036068576080526040516103c1908161008482396080518181816101a701526103180152f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe608080604052600436101561001357600080fd5b60003560e01c90816336db3131146102ff57508063c513d437146100f35763ede7e0fe1461004057600080fd5b346100ee5760003660031901126100ee576040516040810181811067ffffffffffffffff8211176100d857604052600e81526d4578656375746f722d302e302e3160901b602082015260405190602082528181519182602083015260005b8381106100c05750508160006040809484010152601f80199101168101030190f35b6020828201810151604087840101528593500161009e565b634e487b7160e01b600052604160045260246000fd5b600080fd5b60c03660031901126100ee5760043561ffff81168091036100ee576044356001600160a01b038116908190036100ee5760643567ffffffffffffffff81116100ee5761014390369060040161033c565b91909260843567ffffffffffffffff81116100ee5761016690369060040161033c565b9460a43567ffffffffffffffff81116100ee5761018790369060040161033c565b9096603883013560f01c603a84013560f01c603c85013560c01c9161ffff7f000000000000000000000000000000000000000000000000000000000000000016908181036102e85750508681036102cf5750428111156102bb575060188301358060a01c6102a75760008080809381341561029e575b34916001600160a01b031690f1156102925761027961028d9460049261026b7fd870d87e4a7c33d0943b0a3d2822b174e239cc55c169af14cc56467a4489e3b59a6040519a8b9a348c5260208c015260243560408c015260608b015260e060808b015260e08a01908861036a565b9188830360a08a015261036a565b9285840360c0870152013560601c9661036a565b0390a2005b6040513d6000823e3d90fd5b506108fc6101fd565b63033b960d60e41b60005260045260246000fd5b6307e655c360e21b60005260045260246000fd5b869063cfb80e9f60e01b60005260045260245260446000fd5b630a26eab760e31b60005260045260245260446000fd5b346100ee5760003660031901126100ee5760209061ffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b9181601f840112156100ee5782359167ffffffffffffffff83116100ee57602083818601950101116100ee57565b908060209392818452848401376000828201840152601f01601f191601019056fea26469706673582212206019322fc150509d30c3e49c5142cf50b3ee8e9f081e190176a377124a422f0764736f6c634300081c00330000000000000000000000000000000000000000000000000000000000002712

Deployed Bytecode

0x608080604052600436101561001357600080fd5b60003560e01c90816336db3131146102ff57508063c513d437146100f35763ede7e0fe1461004057600080fd5b346100ee5760003660031901126100ee576040516040810181811067ffffffffffffffff8211176100d857604052600e81526d4578656375746f722d302e302e3160901b602082015260405190602082528181519182602083015260005b8381106100c05750508160006040809484010152601f80199101168101030190f35b6020828201810151604087840101528593500161009e565b634e487b7160e01b600052604160045260246000fd5b600080fd5b60c03660031901126100ee5760043561ffff81168091036100ee576044356001600160a01b038116908190036100ee5760643567ffffffffffffffff81116100ee5761014390369060040161033c565b91909260843567ffffffffffffffff81116100ee5761016690369060040161033c565b9460a43567ffffffffffffffff81116100ee5761018790369060040161033c565b9096603883013560f01c603a84013560f01c603c85013560c01c9161ffff7f000000000000000000000000000000000000000000000000000000000000271216908181036102e85750508681036102cf5750428111156102bb575060188301358060a01c6102a75760008080809381341561029e575b34916001600160a01b031690f1156102925761027961028d9460049261026b7fd870d87e4a7c33d0943b0a3d2822b174e239cc55c169af14cc56467a4489e3b59a6040519a8b9a348c5260208c015260243560408c015260608b015260e060808b015260e08a01908861036a565b9188830360a08a015261036a565b9285840360c0870152013560601c9661036a565b0390a2005b6040513d6000823e3d90fd5b506108fc6101fd565b63033b960d60e41b60005260045260246000fd5b6307e655c360e21b60005260045260246000fd5b869063cfb80e9f60e01b60005260045260245260446000fd5b630a26eab760e31b60005260045260245260446000fd5b346100ee5760003660031901126100ee5760209061ffff7f0000000000000000000000000000000000000000000000000000000000002712168152f35b9181601f840112156100ee5782359167ffffffffffffffff83116100ee57602083818601950101116100ee57565b908060209392818452848401376000828201840152601f01601f191601019056fea26469706673582212206019322fc150509d30c3e49c5142cf50b3ee8e9f081e190176a377124a422f0764736f6c634300081c0033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

0000000000000000000000000000000000000000000000000000000000002712

-----Decoded View---------------
Arg [0] : _ourChain (uint16): 10002

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000002712


Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
0xD0fb39f5a3361F21457653cB70F9D0C9bD86B66B
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.