{ "encoding": "1", "types": [ { "typeId": 0, "type": "()", "components": [], "typeParameters": null }, { "typeId": 1, "type": "b256", "components": null, "typeParameters": null }, { "typeId": 2, "type": "bool", "components": null, "typeParameters": null }, { "typeId": 3, "type": "enum AccessError", "components": [ { "name": "NotOwner", "type": 0, "typeArguments": null } ], "typeParameters": null }, { "typeId": 4, "type": "enum Identity", "components": [ { "name": "Address", "type": 11, "typeArguments": null }, { "name": "ContractId", "type": 13, "typeArguments": null } ], "typeParameters": null }, { "typeId": 5, "type": "enum InitializationError", "components": [ { "name": "CannotReinitialized", "type": 0, "typeArguments": null } ], "typeParameters": null }, { "typeId": 6, "type": "enum MailboxError", "components": [ { "name": "InvalidISMAddress", "type": 0, "typeArguments": null }, { "name": "InvalidHookAddress", "type": 0, "typeArguments": null }, { "name": "InvalidProtocolVersion", "type": 27, "typeArguments": null }, { "name": "InvalidMessageOrigin", "type": 25, "typeArguments": null }, { "name": "MessageAlreadyDelivered", "type": 0, "typeArguments": null }, { "name": "MessageVerificationFailed", "type": 0, "typeArguments": null }, { "name": "AlreadyInitialized", "type": 0, "typeArguments": null }, { "name": "MessageTooLarge", "type": 26, "typeArguments": null } ], "typeParameters": null }, { "typeId": 7, "type": "enum PauseError", "components": [ { "name": "Paused", "type": 0, "typeArguments": null }, { "name": "NotPaused", "type": 0, "typeArguments": null } ], "typeParameters": null }, { "typeId": 8, "type": "enum ReentrancyError", "components": [ { "name": "NonReentrant", "type": 0, "typeArguments": null } ], "typeParameters": null }, { "typeId": 9, "type": "enum State", "components": [ { "name": "Uninitialized", "type": 0, "typeArguments": null }, { "name": "Initialized", "type": 4, "typeArguments": null }, { "name": "Revoked", "type": 0, "typeArguments": null } ], "typeParameters": null }, { "typeId": 10, "type": "raw untyped ptr", "components": null, "typeParameters": null }, { "typeId": 11, "type": "struct Address", "components": [ { "name": "bits", "type": 1, "typeArguments": null } ], "typeParameters": null }, { "typeId": 12, "type": "struct Bytes", "components": [ { "name": "buf", "type": 23, "typeArguments": null }, { "name": "len", "type": 26, "typeArguments": null } ], "typeParameters": null }, { "typeId": 13, "type": "struct ContractId", "components": [ { "name": "bits", "type": 1, "typeArguments": null } ], "typeParameters": null }, { "typeId": 14, "type": "struct DefaultHookSetEvent", "components": [ { "name": "module", "type": 13, "typeArguments": null } ], "typeParameters": null }, { "typeId": 15, "type": "struct DefaultIsmSetEvent", "components": [ { "name": "module", "type": 13, "typeArguments": null } ], "typeParameters": null }, { "typeId": 16, "type": "struct DispatchEvent", "components": [ { "name": "message_id", "type": 1, "typeArguments": null }, { "name": "destination_domain", "type": 25, "typeArguments": null }, { "name": "recipient_address", "type": 1, "typeArguments": null }, { "name": "message", "type": 18, "typeArguments": null } ], "typeParameters": null }, { "typeId": 17, "type": "struct DispatchIdEvent", "components": [ { "name": "message_id", "type": 1, "typeArguments": null } ], "typeParameters": null }, { "typeId": 18, "type": "struct EncodedMessage", "components": [ { "name": "bytes", "type": 12, "typeArguments": null } ], "typeParameters": null }, { "typeId": 19, "type": "struct OwnershipRenounced", "components": [ { "name": "previous_owner", "type": 4, "typeArguments": null } ], "typeParameters": null }, { "typeId": 20, "type": "struct OwnershipSet", "components": [ { "name": "new_owner", "type": 4, "typeArguments": null } ], "typeParameters": null }, { "typeId": 21, "type": "struct OwnershipTransferred", "components": [ { "name": "new_owner", "type": 4, "typeArguments": null }, { "name": "previous_owner", "type": 4, "typeArguments": null } ], "typeParameters": null }, { "typeId": 22, "type": "struct ProcessEvent", "components": [ { "name": "message_id", "type": 1, "typeArguments": null }, { "name": "origin", "type": 25, "typeArguments": null }, { "name": "sender", "type": 1, "typeArguments": null }, { "name": "recipient", "type": 1, "typeArguments": null } ], "typeParameters": null }, { "typeId": 23, "type": "struct RawBytes", "components": [ { "name": "ptr", "type": 10, "typeArguments": null }, { "name": "cap", "type": 26, "typeArguments": null } ], "typeParameters": null }, { "typeId": 24, "type": "struct RequiredHookSetEvent", "components": [ { "name": "module", "type": 13, "typeArguments": null } ], "typeParameters": null }, { "typeId": 25, "type": "u32", "components": null, "typeParameters": null }, { "typeId": 26, "type": "u64", "components": null, "typeParameters": null }, { "typeId": 27, "type": "u8", "components": null, "typeParameters": null } ], "functions": [ { "inputs": [], "name": "default_hook", "output": { "name": "", "type": 13, "typeArguments": null }, "attributes": [ { "name": "doc-comment", "arguments": [ " Gets the default hook used for message processing." ] }, { "name": "storage", "arguments": [ "read" ] } ] }, { "inputs": [], "name": "default_ism", "output": { "name": "", "type": 13, "typeArguments": null }, "attributes": [ { "name": "doc-comment", "arguments": [ " Gets the default ISM used for message verification." ] }, { "name": "storage", "arguments": [ "read" ] } ] }, { "inputs": [ { "name": "message_id", "type": 1, "typeArguments": null } ], "name": "delivered", "output": { "name": "", "type": 2, "typeArguments": null }, "attributes": [ { "name": "doc-comment", "arguments": [ " Returns true if the message has been processed." ] }, { "name": "doc-comment", "arguments": [ "" ] }, { "name": "doc-comment", "arguments": [ " ### Arguments" ] }, { "name": "doc-comment", "arguments": [ "" ] }, { "name": "doc-comment", "arguments": [ " * `message_id` - The unique identifier of the message." ] }, { "name": "storage", "arguments": [ "read" ] } ] }, { "inputs": [ { "name": "destination_domain", "type": 25, "typeArguments": null }, { "name": "recipient_address", "type": 1, "typeArguments": null }, { "name": "message_body", "type": 12, "typeArguments": null }, { "name": "metadata", "type": 12, "typeArguments": null }, { "name": "hook", "type": 13, "typeArguments": null } ], "name": "dispatch", "output": { "name": "", "type": 1, "typeArguments": null }, "attributes": [ { "name": "doc-comment", "arguments": [ " Dispatches a message to the destination domain and recipient." ] }, { "name": "doc-comment", "arguments": [ " Returns the message's ID." ] }, { "name": "doc-comment", "arguments": [ "" ] }, { "name": "doc-comment", "arguments": [ " ### Arguments" ] }, { "name": "doc-comment", "arguments": [ "" ] }, { "name": "doc-comment", "arguments": [ " * `destination_domain` - The domain of the destination chain." ] }, { "name": "doc-comment", "arguments": [ " * `recipient` - Address of the recipient on the destination chain." ] }, { "name": "doc-comment", "arguments": [ " * `message_body` - Raw bytes content of the message body." ] }, { "name": "payable", "arguments": [] }, { "name": "storage", "arguments": [ "read", "write" ] } ] }, { "inputs": [ { "name": "owner", "type": 1, "typeArguments": null }, { "name": "default_ism", "type": 1, "typeArguments": null }, { "name": "default_hook", "type": 1, "typeArguments": null }, { "name": "required_hook", "type": 1, "typeArguments": null } ], "name": "initialize", "output": { "name": "", "type": 0, "typeArguments": null }, "attributes": [ { "name": "doc-comment", "arguments": [ " Initializes the contract." ] }, { "name": "storage", "arguments": [ "write" ] } ] }, { "inputs": [], "name": "latest_dispatched_id", "output": { "name": "", "type": 1, "typeArguments": null }, "attributes": [ { "name": "storage", "arguments": [ "read" ] } ] }, { "inputs": [], "name": "local_domain", "output": { "name": "", "type": 25, "typeArguments": null }, "attributes": [ { "name": "doc-comment", "arguments": [ " Returns the domain of the chain where the contract is deployed." ] }, { "name": "storage", "arguments": [ "read" ] } ] }, { "inputs": [], "name": "nonce", "output": { "name": "", "type": 25, "typeArguments": null }, "attributes": [ { "name": "storage", "arguments": [ "read" ] } ] }, { "inputs": [ { "name": "metadata", "type": 12, "typeArguments": null }, { "name": "message", "type": 12, "typeArguments": null } ], "name": "process", "output": { "name": "", "type": 0, "typeArguments": null }, "attributes": [ { "name": "doc-comment", "arguments": [ " Processes a message." ] }, { "name": "doc-comment", "arguments": [ "" ] }, { "name": "doc-comment", "arguments": [ " ### Arguments" ] }, { "name": "doc-comment", "arguments": [ "" ] }, { "name": "doc-comment", "arguments": [ " * `metadata` - The metadata for ISM verification." ] }, { "name": "doc-comment", "arguments": [ " * `message` - The message as emitted by dispatch." ] }, { "name": "storage", "arguments": [ "read", "write" ] } ] }, { "inputs": [ { "name": "destination_domain", "type": 25, "typeArguments": null }, { "name": "recipient_address", "type": 1, "typeArguments": null }, { "name": "message_body", "type": 12, "typeArguments": null }, { "name": "metadata", "type": 12, "typeArguments": null }, { "name": "hook", "type": 13, "typeArguments": null } ], "name": "quote_dispatch", "output": { "name": "", "type": 26, "typeArguments": null }, "attributes": [ { "name": "doc-comment", "arguments": [ " Quotes the cost of dispatching a message to the destination domain and recipient." ] }, { "name": "doc-comment", "arguments": [ "" ] }, { "name": "doc-comment", "arguments": [ " ### Arguments" ] }, { "name": "doc-comment", "arguments": [ "" ] }, { "name": "doc-comment", "arguments": [ " * `destination_domain` - The domain of the destination chain." ] }, { "name": "doc-comment", "arguments": [ " * `recipient` - Address of the recipient on the destination chain." ] }, { "name": "doc-comment", "arguments": [ " * `message_body` - Raw bytes content of the message body." ] }, { "name": "storage", "arguments": [ "read" ] } ] }, { "inputs": [ { "name": "recipient", "type": 13, "typeArguments": null } ], "name": "recipient_ism", "output": { "name": "", "type": 13, "typeArguments": null }, "attributes": [ { "name": "storage", "arguments": [ "read", "write" ] } ] }, { "inputs": [], "name": "required_hook", "output": { "name": "", "type": 13, "typeArguments": null }, "attributes": [ { "name": "doc-comment", "arguments": [ " Gets the required hook used for message processing." ] }, { "name": "storage", "arguments": [ "read" ] } ] }, { "inputs": [ { "name": "module", "type": 13, "typeArguments": null } ], "name": "set_default_hook", "output": { "name": "", "type": 0, "typeArguments": null }, "attributes": [ { "name": "doc-comment", "arguments": [ " Sets the default hook used for message processing." ] }, { "name": "storage", "arguments": [ "write" ] } ] }, { "inputs": [ { "name": "module", "type": 13, "typeArguments": null } ], "name": "set_default_ism", "output": { "name": "", "type": 0, "typeArguments": null }, "attributes": [ { "name": "doc-comment", "arguments": [ " Sets the default ISM used for message verification." ] }, { "name": "doc-comment", "arguments": [ "" ] }, { "name": "doc-comment", "arguments": [ " ### Arguments" ] }, { "name": "doc-comment", "arguments": [ "" ] }, { "name": "doc-comment", "arguments": [ " * `module` - Address implementing ISM interface." ] }, { "name": "storage", "arguments": [ "read", "write" ] } ] }, { "inputs": [ { "name": "module", "type": 13, "typeArguments": null } ], "name": "set_required_hook", "output": { "name": "", "type": 0, "typeArguments": null }, "attributes": [ { "name": "doc-comment", "arguments": [ " Sets the required hook used for message processing." ] }, { "name": "storage", "arguments": [ "write" ] } ] }, { "inputs": [], "name": "is_paused", "output": { "name": "", "type": 2, "typeArguments": null }, "attributes": [ { "name": "storage", "arguments": [ "read" ] } ] }, { "inputs": [], "name": "pause", "output": { "name": "", "type": 0, "typeArguments": null }, "attributes": [ { "name": "storage", "arguments": [ "write" ] } ] }, { "inputs": [], "name": "unpause", "output": { "name": "", "type": 0, "typeArguments": null }, "attributes": [ { "name": "storage", "arguments": [ "write" ] } ] }, { "inputs": [ { "name": "new_owner", "type": 4, "typeArguments": null } ], "name": "initialize_ownership", "output": { "name": "", "type": 0, "typeArguments": null }, "attributes": [ { "name": "storage", "arguments": [ "read", "write" ] } ] }, { "inputs": [], "name": "only_owner", "output": { "name": "", "type": 0, "typeArguments": null }, "attributes": [ { "name": "storage", "arguments": [ "read" ] } ] }, { "inputs": [], "name": "owner", "output": { "name": "", "type": 9, "typeArguments": null }, "attributes": [ { "name": "storage", "arguments": [ "read" ] } ] }, { "inputs": [], "name": "renounce_ownership", "output": { "name": "", "type": 0, "typeArguments": null }, "attributes": [ { "name": "storage", "arguments": [ "read", "write" ] } ] }, { "inputs": [ { "name": "new_owner", "type": 4, "typeArguments": null } ], "name": "transfer_ownership", "output": { "name": "", "type": 0, "typeArguments": null }, "attributes": [ { "name": "storage", "arguments": [ "write" ] } ] } ], "loggedTypes": [ { "logId": "5557842539076482339", "loggedType": { "name": "", "type": 8, "typeArguments": [] } }, { "logId": "10032608944051208538", "loggedType": { "name": "", "type": 7, "typeArguments": [] } }, { "logId": "4904025822840310122", "loggedType": { "name": "", "type": 6, "typeArguments": [] } }, { "logId": "10811788483172643035", "loggedType": { "name": "", "type": 16, "typeArguments": [] } }, { "logId": "2522729423758891677", "loggedType": { "name": "", "type": 17, "typeArguments": [] } }, { "logId": "2161305517876418151", "loggedType": { "name": "", "type": 5, "typeArguments": [] } }, { "logId": "16280289466020123285", "loggedType": { "name": "", "type": 20, "typeArguments": [] } }, { "logId": "7929134096091764817", "loggedType": { "name": "", "type": 22, "typeArguments": [] } }, { "logId": "4571204900286667806", "loggedType": { "name": "", "type": 3, "typeArguments": [] } }, { "logId": "14400248731700551312", "loggedType": { "name": "", "type": 14, "typeArguments": [] } }, { "logId": "1889958695533330661", "loggedType": { "name": "", "type": 15, "typeArguments": [] } }, { "logId": "1134555198745859881", "loggedType": { "name": "", "type": 24, "typeArguments": [] } }, { "logId": "4883303303013154842", "loggedType": { "name": "", "type": 19, "typeArguments": [] } }, { "logId": "12970362301975156672", "loggedType": { "name": "", "type": 21, "typeArguments": [] } } ], "messagesTypes": [], "configurables": [ { "name": "LOCAL_DOMAIN", "configurableType": { "name": "", "type": 25, "typeArguments": null }, "offset": 51792 } ] }