{"abi":[{"type":"function","name":"composeQueue","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"guid","type":"bytes32","internalType":"bytes32"},{"name":"index","type":"uint16","internalType":"uint16"}],"outputs":[{"name":"messageHash","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"lzCompose","inputs":[{"name":"_from","type":"address","internalType":"address"},{"name":"_to","type":"address","internalType":"address"},{"name":"_guid","type":"bytes32","internalType":"bytes32"},{"name":"_index","type":"uint16","internalType":"uint16"},{"name":"_message","type":"bytes","internalType":"bytes"},{"name":"_extraData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"lzComposeAlert","inputs":[{"name":"_from","type":"address","internalType":"address"},{"name":"_to","type":"address","internalType":"address"},{"name":"_guid","type":"bytes32","internalType":"bytes32"},{"name":"_index","type":"uint16","internalType":"uint16"},{"name":"_gas","type":"uint256","internalType":"uint256"},{"name":"_value","type":"uint256","internalType":"uint256"},{"name":"_message","type":"bytes","internalType":"bytes"},{"name":"_extraData","type":"bytes","internalType":"bytes"},{"name":"_reason","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"sendCompose","inputs":[{"name":"_to","type":"address","internalType":"address"},{"name":"_guid","type":"bytes32","internalType":"bytes32"},{"name":"_index","type":"uint16","internalType":"uint16"},{"name":"_message","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"ComposeDelivered","inputs":[{"name":"from","type":"address","indexed":false,"internalType":"address"},{"name":"to","type":"address","indexed":false,"internalType":"address"},{"name":"guid","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"index","type":"uint16","indexed":false,"internalType":"uint16"}],"anonymous":false},{"type":"event","name":"ComposeSent","inputs":[{"name":"from","type":"address","indexed":false,"internalType":"address"},{"name":"to","type":"address","indexed":false,"internalType":"address"},{"name":"guid","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"index","type":"uint16","indexed":false,"internalType":"uint16"},{"name":"message","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"LzComposeAlert","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"executor","type":"address","indexed":true,"internalType":"address"},{"name":"guid","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"index","type":"uint16","indexed":false,"internalType":"uint16"},{"name":"gas","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"message","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"extraData","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"reason","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"error","name":"LZ_ComposeExists","inputs":[]},{"type":"error","name":"LZ_ComposeNotFound","inputs":[{"name":"expected","type":"bytes32","internalType":"bytes32"},{"name":"actual","type":"bytes32","internalType":"bytes32"}]}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"composeQueue(address,address,bytes32,uint16)":"35d330b0","lzCompose(address,address,bytes32,uint16,bytes,bytes)":"91d20fa1","lzComposeAlert(address,address,bytes32,uint16,uint256,uint256,bytes,bytes,bytes)":"697fe6b6","sendCompose(address,bytes32,uint16,bytes)":"7cb59012"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"LZ_ComposeExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"expected\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"actual\",\"type\":\"bytes32\"}],\"name\":\"LZ_ComposeNotFound\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"guid\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint16\",\"name\":\"index\",\"type\":\"uint16\"}],\"name\":\"ComposeDelivered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"guid\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint16\",\"name\":\"index\",\"type\":\"uint16\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"message\",\"type\":\"bytes\"}],\"name\":\"ComposeSent\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"executor\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"guid\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint16\",\"name\":\"index\",\"type\":\"uint16\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"gas\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"message\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"extraData\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"reason\",\"type\":\"bytes\"}],\"name\":\"LzComposeAlert\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"guid\",\"type\":\"bytes32\"},{\"internalType\":\"uint16\",\"name\":\"index\",\"type\":\"uint16\"}],\"name\":\"composeQueue\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"messageHash\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"_guid\",\"type\":\"bytes32\"},{\"internalType\":\"uint16\",\"name\":\"_index\",\"type\":\"uint16\"},{\"internalType\":\"bytes\",\"name\":\"_message\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"_extraData\",\"type\":\"bytes\"}],\"name\":\"lzCompose\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"_guid\",\"type\":\"bytes32\"},{\"internalType\":\"uint16\",\"name\":\"_index\",\"type\":\"uint16\"},{\"internalType\":\"uint256\",\"name\":\"_gas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_message\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"_extraData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"_reason\",\"type\":\"bytes\"}],\"name\":\"lzComposeAlert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"_guid\",\"type\":\"bytes32\"},{\"internalType\":\"uint16\",\"name\":\"_index\",\"type\":\"uint16\"},{\"internalType\":\"bytes\",\"name\":\"_message\",\"type\":\"bytes\"}],\"name\":\"sendCompose\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"lzCompose(address,address,bytes32,uint16,bytes,bytes)\":{\"details\":\"execute a composed messages from the sender to the composer (receiver)the execution provides the execution context (caller, extraData) to the receiver.      the receiver can optionally assert the caller and validate the untrusted extraDatacan not re-entrant\",\"params\":{\"_extraData\":\"the extra data provided by the executor. this data is untrusted and should be validated.\",\"_from\":\"the address which sends the composed message. in most cases, it is the Oapp's address.\",\"_guid\":\"the message guid\",\"_message\":\"the message\",\"_to\":\"the address which receives the composed message\"}},\"lzComposeAlert(address,address,bytes32,uint16,uint256,uint256,bytes,bytes,bytes)\":{\"params\":{\"_extraData\":\"the extra data provided by the executor\",\"_from\":\"the address which sends the composed message\",\"_guid\":\"the message guid\",\"_message\":\"the message\",\"_reason\":\"the reason why the message is not received\",\"_to\":\"the address which receives the composed message\"}},\"sendCompose(address,bytes32,uint16,bytes)\":{\"details\":\"the Oapp sends the lzCompose message to the endpointthe composer MUST assert the sender because anyone can send compose msg with this functionwith the same GUID, the Oapp can send compose to multiple _composer at the same timeauthenticated by the msg.sender\",\"params\":{\"_guid\":\"the message guid\",\"_message\":\"the message\",\"_to\":\"the address which will receive the composed message\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@layerzerolabs/lz-evm-protocol-v2/contracts/MessagingComposer.sol\":\"MessagingComposer\"},\"evmVersion\":\"shanghai\",\"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\":{\"node_modules/@layerzerolabs/lz-evm-protocol-v2/contracts/MessagingComposer.sol\":{\"keccak256\":\"0x20d36578e810e75346daf064813b76a177087214cae77628b1f9d43798cb52d1\",\"license\":\"LZBL-1.2\",\"urls\":[\"bzz-raw://475b6f3f1ba5d981d0c5f90b9e892d4f9f539f3b12196639b95770b5be4dbf6a\",\"dweb:/ipfs/QmYyGrnR3vDt8Dqa2paQwTG9qrD6anAGFrDZmMra8KGC6s\"]},\"node_modules/@layerzerolabs/lz-evm-protocol-v2/contracts/interfaces/ILayerZeroComposer.sol\":{\"keccak256\":\"0xfaca7205d4211ee9208a7e59171e2301731f3d2a20c49b4a839821871f5fdd49\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f254bc60ac26687b5320a43a556e30777b0745abf7cd64d5f4720d9b1d1f7fdf\",\"dweb:/ipfs/QmRSJEZVgxaC3L2DdE6s8P5qkYfM3V5JMeseeFJJqGR4xz\"]},\"node_modules/@layerzerolabs/lz-evm-protocol-v2/contracts/interfaces/IMessagingComposer.sol\":{\"keccak256\":\"0x85bc7090134529ec474866dc4bb1c48692d518c756eb0a961c82574829c51901\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b18b23a1643fc6636c4ad9d9023e2e6ca2d3c2a4a046482d4655bff09950598d\",\"dweb:/ipfs/Qma6G5SqiovwrMPfgqTrRngK1HWW373Wkf9c6YP2NhXpPk\"]},\"node_modules/@layerzerolabs/lz-evm-protocol-v2/contracts/libs/Errors.sol\":{\"keccak256\":\"0x35bcd6ca99c4c8d9f7d8413d1b92fb4a4d4a420ce3bf64b0fb01e68e6bcf2fa7\",\"license\":\"LZBL-1.2\",\"urls\":[\"bzz-raw://0ac14f98563f9c610c936c93e71eff657efaba1e1d892be6a215aa5cb1f63a24\",\"dweb:/ipfs/QmVZZ8owwfDGLQTAzQJJqmYY4KsrChDagh5GBK7rChT5wb\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.22+commit.4fc1097e"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"LZ_ComposeExists"},{"inputs":[{"internalType":"bytes32","name":"expected","type":"bytes32"},{"internalType":"bytes32","name":"actual","type":"bytes32"}],"type":"error","name":"LZ_ComposeNotFound"},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":false},{"internalType":"address","name":"to","type":"address","indexed":false},{"internalType":"bytes32","name":"guid","type":"bytes32","indexed":false},{"internalType":"uint16","name":"index","type":"uint16","indexed":false}],"type":"event","name":"ComposeDelivered","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":false},{"internalType":"address","name":"to","type":"address","indexed":false},{"internalType":"bytes32","name":"guid","type":"bytes32","indexed":false},{"internalType":"uint16","name":"index","type":"uint16","indexed":false},{"internalType":"bytes","name":"message","type":"bytes","indexed":false}],"type":"event","name":"ComposeSent","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"address","name":"executor","type":"address","indexed":true},{"internalType":"bytes32","name":"guid","type":"bytes32","indexed":false},{"internalType":"uint16","name":"index","type":"uint16","indexed":false},{"internalType":"uint256","name":"gas","type":"uint256","indexed":false},{"internalType":"uint256","name":"value","type":"uint256","indexed":false},{"internalType":"bytes","name":"message","type":"bytes","indexed":false},{"internalType":"bytes","name":"extraData","type":"bytes","indexed":false},{"internalType":"bytes","name":"reason","type":"bytes","indexed":false}],"type":"event","name":"LzComposeAlert","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"bytes32","name":"guid","type":"bytes32"},{"internalType":"uint16","name":"index","type":"uint16"}],"stateMutability":"view","type":"function","name":"composeQueue","outputs":[{"internalType":"bytes32","name":"messageHash","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"bytes32","name":"_guid","type":"bytes32"},{"internalType":"uint16","name":"_index","type":"uint16"},{"internalType":"bytes","name":"_message","type":"bytes"},{"internalType":"bytes","name":"_extraData","type":"bytes"}],"stateMutability":"payable","type":"function","name":"lzCompose"},{"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"bytes32","name":"_guid","type":"bytes32"},{"internalType":"uint16","name":"_index","type":"uint16"},{"internalType":"uint256","name":"_gas","type":"uint256"},{"internalType":"uint256","name":"_value","type":"uint256"},{"internalType":"bytes","name":"_message","type":"bytes"},{"internalType":"bytes","name":"_extraData","type":"bytes"},{"internalType":"bytes","name":"_reason","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"lzComposeAlert"},{"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"bytes32","name":"_guid","type":"bytes32"},{"internalType":"uint16","name":"_index","type":"uint16"},{"internalType":"bytes","name":"_message","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"sendCompose"}],"devdoc":{"kind":"dev","methods":{"lzCompose(address,address,bytes32,uint16,bytes,bytes)":{"details":"execute a composed messages from the sender to the composer (receiver)the execution provides the execution context (caller, extraData) to the receiver.      the receiver can optionally assert the caller and validate the untrusted extraDatacan not re-entrant","params":{"_extraData":"the extra data provided by the executor. this data is untrusted and should be validated.","_from":"the address which sends the composed message. in most cases, it is the Oapp's address.","_guid":"the message guid","_message":"the message","_to":"the address which receives the composed message"}},"lzComposeAlert(address,address,bytes32,uint16,uint256,uint256,bytes,bytes,bytes)":{"params":{"_extraData":"the extra data provided by the executor","_from":"the address which sends the composed message","_guid":"the message guid","_message":"the message","_reason":"the reason why the message is not received","_to":"the address which receives the composed message"}},"sendCompose(address,bytes32,uint16,bytes)":{"details":"the Oapp sends the lzCompose message to the endpointthe composer MUST assert the sender because anyone can send compose msg with this functionwith the same GUID, the Oapp can send compose to multiple _composer at the same timeauthenticated by the msg.sender","params":{"_guid":"the message guid","_message":"the message","_to":"the address which will receive the composed message"}}},"version":1},"userdoc":{"kind":"user","methods":{},"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":{"node_modules/@layerzerolabs/lz-evm-protocol-v2/contracts/MessagingComposer.sol":"MessagingComposer"},"evmVersion":"shanghai","libraries":{}},"sources":{"node_modules/@layerzerolabs/lz-evm-protocol-v2/contracts/MessagingComposer.sol":{"keccak256":"0x20d36578e810e75346daf064813b76a177087214cae77628b1f9d43798cb52d1","urls":["bzz-raw://475b6f3f1ba5d981d0c5f90b9e892d4f9f539f3b12196639b95770b5be4dbf6a","dweb:/ipfs/QmYyGrnR3vDt8Dqa2paQwTG9qrD6anAGFrDZmMra8KGC6s"],"license":"LZBL-1.2"},"node_modules/@layerzerolabs/lz-evm-protocol-v2/contracts/interfaces/ILayerZeroComposer.sol":{"keccak256":"0xfaca7205d4211ee9208a7e59171e2301731f3d2a20c49b4a839821871f5fdd49","urls":["bzz-raw://f254bc60ac26687b5320a43a556e30777b0745abf7cd64d5f4720d9b1d1f7fdf","dweb:/ipfs/QmRSJEZVgxaC3L2DdE6s8P5qkYfM3V5JMeseeFJJqGR4xz"],"license":"MIT"},"node_modules/@layerzerolabs/lz-evm-protocol-v2/contracts/interfaces/IMessagingComposer.sol":{"keccak256":"0x85bc7090134529ec474866dc4bb1c48692d518c756eb0a961c82574829c51901","urls":["bzz-raw://b18b23a1643fc6636c4ad9d9023e2e6ca2d3c2a4a046482d4655bff09950598d","dweb:/ipfs/Qma6G5SqiovwrMPfgqTrRngK1HWW373Wkf9c6YP2NhXpPk"],"license":"MIT"},"node_modules/@layerzerolabs/lz-evm-protocol-v2/contracts/libs/Errors.sol":{"keccak256":"0x35bcd6ca99c4c8d9f7d8413d1b92fb4a4d4a420ce3bf64b0fb01e68e6bcf2fa7","urls":["bzz-raw://0ac14f98563f9c610c936c93e71eff657efaba1e1d892be6a215aa5cb1f63a24","dweb:/ipfs/QmVZZ8owwfDGLQTAzQJJqmYY4KsrChDagh5GBK7rChT5wb"],"license":"LZBL-1.2"}},"version":1},"id":50}