Source Code
Overview
GLMR Balance
GLMR Value
$0.00| Transaction Hash |
|
Block
|
From
|
To
|
|||||
|---|---|---|---|---|---|---|---|---|---|
Latest 25 internal transactions (View All)
| Parent Transaction Hash | Block | From | To | |||
|---|---|---|---|---|---|---|
| 14221788 | 20 hrs ago | 6.80206737 GLMR | ||||
| 14221788 | 20 hrs ago | 6.80206737 GLMR | ||||
| 14195317 | 2 days ago | 11.16092439 GLMR | ||||
| 14195317 | 2 days ago | 11.16092439 GLMR | ||||
| 14195045 | 2 days ago | 4.57037443 GLMR | ||||
| 14195045 | 2 days ago | 4.57037443 GLMR | ||||
| 14161077 | 5 days ago | 56.82050786 GLMR | ||||
| 14161077 | 5 days ago | 56.82050786 GLMR | ||||
| 14161046 | 5 days ago | 58.61670931 GLMR | ||||
| 14161046 | 5 days ago | 58.61670931 GLMR | ||||
| 14161013 | 5 days ago | 58.61670931 GLMR | ||||
| 14161013 | 5 days ago | 58.61670931 GLMR | ||||
| 14160179 | 5 days ago | 59.91123109 GLMR | ||||
| 14160179 | 5 days ago | 59.91123109 GLMR | ||||
| 14160037 | 5 days ago | 59.75401619 GLMR | ||||
| 14160037 | 5 days ago | 59.75401619 GLMR | ||||
| 14149809 | 6 days ago | 57.97168344 GLMR | ||||
| 14149809 | 6 days ago | 57.97168344 GLMR | ||||
| 14091345 | 11 days ago | 4.55669868 GLMR | ||||
| 14091345 | 11 days ago | 4.55669868 GLMR | ||||
| 14091087 | 11 days ago | 4.60523076 GLMR | ||||
| 14091087 | 11 days ago | 4.60523076 GLMR | ||||
| 14083406 | 11 days ago | 5.35896018 GLMR | ||||
| 14083406 | 11 days ago | 5.35896018 GLMR | ||||
| 14068250 | 12 days ago | 11.69342023 GLMR |
Cross-Chain Transactions
Loading...
Loading
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;
}{
"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
- No Contract Security Audit Submitted- Submit Audit Here
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"}]Contract Creation Code
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
Loading...
Loading
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in GLMR
Multichain Portfolio | 35 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
Loading...
Loading
Loading...
Loading
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.