GLMR Price: $0.020891 (-0.88%)

Contract

0x85D06449C78064c2E02d787e9DC71716786F8D19

Overview

GLMR Balance

Moonbeam Chain LogoMoonbeam Chain LogoMoonbeam Chain Logo0 GLMR

GLMR Value

$0.00

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Block
From
To

There are no matching entries

> 10 Internal Transactions found.

Latest 25 internal transactions (View All)

Parent Transaction Hash Block From To
142217882026-01-25 12:32:2420 hrs ago1769344344
0x85D06449...6786F8D19
6.80206737 GLMR
142217882026-01-25 12:32:2420 hrs ago1769344344
0x85D06449...6786F8D19
6.80206737 GLMR
141953172026-01-23 10:38:482 days ago1769164728
0x85D06449...6786F8D19
11.16092439 GLMR
141953172026-01-23 10:38:482 days ago1769164728
0x85D06449...6786F8D19
11.16092439 GLMR
141950452026-01-23 10:08:182 days ago1769162898
0x85D06449...6786F8D19
4.57037443 GLMR
141950452026-01-23 10:08:182 days ago1769162898
0x85D06449...6786F8D19
4.57037443 GLMR
141610772026-01-20 18:21:245 days ago1768933284
0x85D06449...6786F8D19
56.82050786 GLMR
141610772026-01-20 18:21:245 days ago1768933284
0x85D06449...6786F8D19
56.82050786 GLMR
141610462026-01-20 18:17:305 days ago1768933050
0x85D06449...6786F8D19
58.61670931 GLMR
141610462026-01-20 18:17:305 days ago1768933050
0x85D06449...6786F8D19
58.61670931 GLMR
141610132026-01-20 18:13:545 days ago1768932834
0x85D06449...6786F8D19
58.61670931 GLMR
141610132026-01-20 18:13:545 days ago1768932834
0x85D06449...6786F8D19
58.61670931 GLMR
141601792026-01-20 16:37:545 days ago1768927074
0x85D06449...6786F8D19
59.91123109 GLMR
141601792026-01-20 16:37:545 days ago1768927074
0x85D06449...6786F8D19
59.91123109 GLMR
141600372026-01-20 16:19:485 days ago1768925988
0x85D06449...6786F8D19
59.75401619 GLMR
141600372026-01-20 16:19:485 days ago1768925988
0x85D06449...6786F8D19
59.75401619 GLMR
141498092026-01-19 21:06:066 days ago1768856766
0x85D06449...6786F8D19
57.97168344 GLMR
141498092026-01-19 21:06:066 days ago1768856766
0x85D06449...6786F8D19
57.97168344 GLMR
140913452026-01-15 6:47:2411 days ago1768459644
0x85D06449...6786F8D19
4.55669868 GLMR
140913452026-01-15 6:47:2411 days ago1768459644
0x85D06449...6786F8D19
4.55669868 GLMR
140910872026-01-15 6:17:3011 days ago1768457850
0x85D06449...6786F8D19
4.60523076 GLMR
140910872026-01-15 6:17:3011 days ago1768457850
0x85D06449...6786F8D19
4.60523076 GLMR
140834062026-01-14 15:17:5411 days ago1768403874
0x85D06449...6786F8D19
5.35896018 GLMR
140834062026-01-14 15:17:5411 days ago1768403874
0x85D06449...6786F8D19
5.35896018 GLMR
140682502026-01-13 9:57:5412 days ago1768298274
0x85D06449...6786F8D19
11.69342023 GLMR
View All Internal Transactions
Cross-Chain Transactions
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
// 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 Security Audit

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"}]

60a034606857601f61044538819003918201601f19168301916001600160401b03831184841017606d578084926020946040528339810103126068575161ffff811681036068576080526040516103c1908161008482396080518181816101a701526103180152f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe608080604052600436101561001357600080fd5b60003560e01c90816336db3131146102ff57508063c513d437146100f35763ede7e0fe1461004057600080fd5b346100ee5760003660031901126100ee576040516040810181811067ffffffffffffffff8211176100d857604052600e81526d4578656375746f722d302e302e3160901b602082015260405190602082528181519182602083015260005b8381106100c05750508160006040809484010152601f80199101168101030190f35b6020828201810151604087840101528593500161009e565b634e487b7160e01b600052604160045260246000fd5b600080fd5b60c03660031901126100ee5760043561ffff81168091036100ee576044356001600160a01b038116908190036100ee5760643567ffffffffffffffff81116100ee5761014390369060040161033c565b91909260843567ffffffffffffffff81116100ee5761016690369060040161033c565b9460a43567ffffffffffffffff81116100ee5761018790369060040161033c565b9096603883013560f01c603a84013560f01c603c85013560c01c9161ffff7f000000000000000000000000000000000000000000000000000000000000000016908181036102e85750508681036102cf5750428111156102bb575060188301358060a01c6102a75760008080809381341561029e575b34916001600160a01b031690f1156102925761027961028d9460049261026b7fd870d87e4a7c33d0943b0a3d2822b174e239cc55c169af14cc56467a4489e3b59a6040519a8b9a348c5260208c015260243560408c015260608b015260e060808b015260e08a01908861036a565b9188830360a08a015261036a565b9285840360c0870152013560601c9661036a565b0390a2005b6040513d6000823e3d90fd5b506108fc6101fd565b63033b960d60e41b60005260045260246000fd5b6307e655c360e21b60005260045260246000fd5b869063cfb80e9f60e01b60005260045260245260446000fd5b630a26eab760e31b60005260045260245260446000fd5b346100ee5760003660031901126100ee5760209061ffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b9181601f840112156100ee5782359167ffffffffffffffff83116100ee57602083818601950101116100ee57565b908060209392818452848401376000828201840152601f01601f191601019056fea26469706673582212206019322fc150509d30c3e49c5142cf50b3ee8e9f081e190176a377124a422f0764736f6c634300081c00330000000000000000000000000000000000000000000000000000000000000010

Deployed Bytecode

0x608080604052600436101561001357600080fd5b60003560e01c90816336db3131146102ff57508063c513d437146100f35763ede7e0fe1461004057600080fd5b346100ee5760003660031901126100ee576040516040810181811067ffffffffffffffff8211176100d857604052600e81526d4578656375746f722d302e302e3160901b602082015260405190602082528181519182602083015260005b8381106100c05750508160006040809484010152601f80199101168101030190f35b6020828201810151604087840101528593500161009e565b634e487b7160e01b600052604160045260246000fd5b600080fd5b60c03660031901126100ee5760043561ffff81168091036100ee576044356001600160a01b038116908190036100ee5760643567ffffffffffffffff81116100ee5761014390369060040161033c565b91909260843567ffffffffffffffff81116100ee5761016690369060040161033c565b9460a43567ffffffffffffffff81116100ee5761018790369060040161033c565b9096603883013560f01c603a84013560f01c603c85013560c01c9161ffff7f000000000000000000000000000000000000000000000000000000000000001016908181036102e85750508681036102cf5750428111156102bb575060188301358060a01c6102a75760008080809381341561029e575b34916001600160a01b031690f1156102925761027961028d9460049261026b7fd870d87e4a7c33d0943b0a3d2822b174e239cc55c169af14cc56467a4489e3b59a6040519a8b9a348c5260208c015260243560408c015260608b015260e060808b015260e08a01908861036a565b9188830360a08a015261036a565b9285840360c0870152013560601c9661036a565b0390a2005b6040513d6000823e3d90fd5b506108fc6101fd565b63033b960d60e41b60005260045260246000fd5b6307e655c360e21b60005260045260246000fd5b869063cfb80e9f60e01b60005260045260245260446000fd5b630a26eab760e31b60005260045260245260446000fd5b346100ee5760003660031901126100ee5760209061ffff7f0000000000000000000000000000000000000000000000000000000000000010168152f35b9181601f840112156100ee5782359167ffffffffffffffff83116100ee57602083818601950101116100ee57565b908060209392818452848401376000828201840152601f01601f191601019056fea26469706673582212206019322fc150509d30c3e49c5142cf50b3ee8e9f081e190176a377124a422f0764736f6c634300081c0033

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

0000000000000000000000000000000000000000000000000000000000000010

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

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


Block Transaction Gas Used Reward
view all blocks collator

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ 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.