@layerzerolabs/oapp-alt-evm
Version:
LayerZero Labs reference EVM OmniChain Application (OAppAlt) for EndpointV2Alt implementation
204 lines (203 loc) • 10.1 kB
JSON
{
"abi": [
{
"type": "function",
"name": "combineOptions",
"inputs": [
{ "name": "_eid", "type": "uint32", "internalType": "uint32" },
{ "name": "_msgType", "type": "uint16", "internalType": "uint16" },
{ "name": "_extraOptions", "type": "bytes", "internalType": "bytes" }
],
"outputs": [
{ "name": "options", "type": "bytes", "internalType": "bytes" }
],
"stateMutability": "view"
},
{
"type": "function",
"name": "setEnforcedOptions",
"inputs": [
{
"name": "_enforcedOptions",
"type": "tuple[]",
"internalType": "struct EnforcedOptionParam[]",
"components": [
{ "name": "eid", "type": "uint32", "internalType": "uint32" },
{ "name": "msgType", "type": "uint16", "internalType": "uint16" },
{ "name": "options", "type": "bytes", "internalType": "bytes" }
]
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "event",
"name": "EnforcedOptionSet",
"inputs": [
{
"name": "_enforcedOptions",
"type": "tuple[]",
"indexed": false,
"internalType": "struct EnforcedOptionParam[]",
"components": [
{ "name": "eid", "type": "uint32", "internalType": "uint32" },
{ "name": "msgType", "type": "uint16", "internalType": "uint16" },
{ "name": "options", "type": "bytes", "internalType": "bytes" }
]
}
],
"anonymous": false
},
{
"type": "error",
"name": "InvalidOptions",
"inputs": [
{ "name": "options", "type": "bytes", "internalType": "bytes" }
]
}
],
"bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} },
"deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} },
"methodIdentifiers": {
"combineOptions(uint32,uint16,bytes)": "bc70b354",
"setEnforcedOptions((uint32,uint16,bytes)[])": "b98bd070"
},
"rawMetadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"options\",\"type\":\"bytes\"}],\"name\":\"InvalidOptions\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"components\":[{\"internalType\":\"uint32\",\"name\":\"eid\",\"type\":\"uint32\"},{\"internalType\":\"uint16\",\"name\":\"msgType\",\"type\":\"uint16\"},{\"internalType\":\"bytes\",\"name\":\"options\",\"type\":\"bytes\"}],\"indexed\":false,\"internalType\":\"struct EnforcedOptionParam[]\",\"name\":\"_enforcedOptions\",\"type\":\"tuple[]\"}],\"name\":\"EnforcedOptionSet\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"_eid\",\"type\":\"uint32\"},{\"internalType\":\"uint16\",\"name\":\"_msgType\",\"type\":\"uint16\"},{\"internalType\":\"bytes\",\"name\":\"_extraOptions\",\"type\":\"bytes\"}],\"name\":\"combineOptions\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"options\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint32\",\"name\":\"eid\",\"type\":\"uint32\"},{\"internalType\":\"uint16\",\"name\":\"msgType\",\"type\":\"uint16\"},{\"internalType\":\"bytes\",\"name\":\"options\",\"type\":\"bytes\"}],\"internalType\":\"struct EnforcedOptionParam[]\",\"name\":\"_enforcedOptions\",\"type\":\"tuple[]\"}],\"name\":\"setEnforcedOptions\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface for the OApp with Type 3 Options, allowing the setting and combining of enforced options.\",\"kind\":\"dev\",\"methods\":{\"combineOptions(uint32,uint16,bytes)\":{\"params\":{\"_eid\":\"The endpoint ID.\",\"_extraOptions\":\"Additional options passed by the caller.\",\"_msgType\":\"The OApp message type.\"},\"returns\":{\"options\":\"The combination of caller specified options AND enforced options.\"}},\"setEnforcedOptions((uint32,uint16,bytes)[])\":{\"params\":{\"_enforcedOptions\":\"An array of EnforcedOptionParam structures specifying enforced options.\"}}},\"title\":\"IOAppOptionsType3\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"combineOptions(uint32,uint16,bytes)\":{\"notice\":\"Combines options for a given endpoint and message type.\"},\"setEnforcedOptions((uint32,uint16,bytes)[])\":{\"notice\":\"Sets enforced options for specific endpoint and message type combinations.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/oapp/interfaces/IOAppOptionsType3.sol\":\"IOAppOptionsType3\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@layerzerolabs/=node_modules/@layerzerolabs/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":ds-test/=node_modules/@layerzerolabs/toolbox-foundry/src/ds-test/src/\",\":forge-std/=node_modules/@layerzerolabs/toolbox-foundry/src/forge-std/src/\",\":solidity-bytes-utils/contracts/=node_modules/@layerzerolabs/toolbox-foundry/lib/solidity-bytes-utils/\"]},\"sources\":{\"contracts/oapp/interfaces/IOAppOptionsType3.sol\":{\"keccak256\":\"0x9fc08a51e9d7c9c710c4eb26f84fe77228305ad7da63fa486ff24ebf2f3bc461\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2e2eea8a93bb9fc3f629767118b362e9b4bda2443ff95eae21c6a894f3e334cc\",\"dweb:/ipfs/QmPRRNjAB4U19ke4gr3U7ZJGtdcVBxdXVBZ2BmB1riFkP7\"]}},\"version\":1}",
"metadata": {
"compiler": { "version": "0.8.22+commit.4fc1097e" },
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [
{ "internalType": "bytes", "name": "options", "type": "bytes" }
],
"type": "error",
"name": "InvalidOptions"
},
{
"inputs": [
{
"internalType": "struct EnforcedOptionParam[]",
"name": "_enforcedOptions",
"type": "tuple[]",
"components": [
{ "internalType": "uint32", "name": "eid", "type": "uint32" },
{
"internalType": "uint16",
"name": "msgType",
"type": "uint16"
},
{ "internalType": "bytes", "name": "options", "type": "bytes" }
],
"indexed": false
}
],
"type": "event",
"name": "EnforcedOptionSet",
"anonymous": false
},
{
"inputs": [
{ "internalType": "uint32", "name": "_eid", "type": "uint32" },
{ "internalType": "uint16", "name": "_msgType", "type": "uint16" },
{
"internalType": "bytes",
"name": "_extraOptions",
"type": "bytes"
}
],
"stateMutability": "view",
"type": "function",
"name": "combineOptions",
"outputs": [
{ "internalType": "bytes", "name": "options", "type": "bytes" }
]
},
{
"inputs": [
{
"internalType": "struct EnforcedOptionParam[]",
"name": "_enforcedOptions",
"type": "tuple[]",
"components": [
{ "internalType": "uint32", "name": "eid", "type": "uint32" },
{
"internalType": "uint16",
"name": "msgType",
"type": "uint16"
},
{ "internalType": "bytes", "name": "options", "type": "bytes" }
]
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "setEnforcedOptions"
}
],
"devdoc": {
"kind": "dev",
"methods": {
"combineOptions(uint32,uint16,bytes)": {
"params": {
"_eid": "The endpoint ID.",
"_extraOptions": "Additional options passed by the caller.",
"_msgType": "The OApp message type."
},
"returns": {
"options": "The combination of caller specified options AND enforced options."
}
},
"setEnforcedOptions((uint32,uint16,bytes)[])": {
"params": {
"_enforcedOptions": "An array of EnforcedOptionParam structures specifying enforced options."
}
}
},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {
"combineOptions(uint32,uint16,bytes)": {
"notice": "Combines options for a given endpoint and message type."
},
"setEnforcedOptions((uint32,uint16,bytes)[])": {
"notice": "Sets enforced options for specific endpoint and message type combinations."
}
},
"version": 1
}
},
"settings": {
"remappings": [
"@layerzerolabs/=node_modules/@layerzerolabs/",
"@openzeppelin/=node_modules/@openzeppelin/",
"ds-test/=node_modules/@layerzerolabs/toolbox-foundry/src/ds-test/src/",
"forge-std/=node_modules/@layerzerolabs/toolbox-foundry/src/forge-std/src/",
"solidity-bytes-utils/contracts/=node_modules/@layerzerolabs/toolbox-foundry/lib/solidity-bytes-utils/"
],
"optimizer": { "enabled": true, "runs": 200 },
"metadata": { "bytecodeHash": "ipfs" },
"compilationTarget": {
"contracts/oapp/interfaces/IOAppOptionsType3.sol": "IOAppOptionsType3"
},
"evmVersion": "paris",
"libraries": {}
},
"sources": {
"contracts/oapp/interfaces/IOAppOptionsType3.sol": {
"keccak256": "0x9fc08a51e9d7c9c710c4eb26f84fe77228305ad7da63fa486ff24ebf2f3bc461",
"urls": [
"bzz-raw://2e2eea8a93bb9fc3f629767118b362e9b4bda2443ff95eae21c6a894f3e334cc",
"dweb:/ipfs/QmPRRNjAB4U19ke4gr3U7ZJGtdcVBxdXVBZ2BmB1riFkP7"
],
"license": "MIT"
}
},
"version": 1
},
"id": 7
}