Skip to main content

Module protocol

Module protocol 

Source
Expand description

Wire protocol for the Polkadot app host-api.

Message = Struct { requestId: str, payload: Enum { …76+ variants… } }

Each payload variant is itself a versioned enum (currently only “v1” = tag 0). Inside the version wrapper, the actual data is method-specific.

Tag indices are determined by the insertion order of methods in the protocol definition, expanded as: request methods → _request, _response; subscription methods → _start, _stop, _interrupt, _receive.

Structs§

Account
An account returned by host_get_non_product_accounts.

Enums§

HostRequest
Decoded incoming request from the app.
HostResponse
Outgoing response to the app.

Constants§

PROTOCOL_VERSION
Protocol version (JAM_CODEC_PROTOCOL_ID).
TAG_ACCOUNT_CREATE_PROOF_REQ
TAG_ACCOUNT_CREATE_PROOF_RESP
TAG_ACCOUNT_GET_ALIAS_REQ
TAG_ACCOUNT_GET_ALIAS_RESP
TAG_ACCOUNT_GET_REQ
TAG_ACCOUNT_GET_RESP
TAG_ACCOUNT_STATUS_INTERRUPT
TAG_ACCOUNT_STATUS_RECEIVE
TAG_ACCOUNT_STATUS_START
TAG_ACCOUNT_STATUS_STOP
TAG_CHAIN_HEAD_BODY_REQ
TAG_CHAIN_HEAD_BODY_RESP
TAG_CHAIN_HEAD_CALL_REQ
TAG_CHAIN_HEAD_CALL_RESP
TAG_CHAIN_HEAD_CONTINUE_REQ
TAG_CHAIN_HEAD_CONTINUE_RESP
TAG_CHAIN_HEAD_FOLLOW_INTERRUPT
TAG_CHAIN_HEAD_FOLLOW_RECEIVE
TAG_CHAIN_HEAD_FOLLOW_START
TAG_CHAIN_HEAD_FOLLOW_STOP
TAG_CHAIN_HEAD_HEADER_REQ
TAG_CHAIN_HEAD_HEADER_RESP
TAG_CHAIN_HEAD_STOP_OP_REQ
TAG_CHAIN_HEAD_STOP_OP_RESP
TAG_CHAIN_HEAD_STORAGE_REQ
TAG_CHAIN_HEAD_STORAGE_RESP
TAG_CHAIN_HEAD_UNPIN_REQ
TAG_CHAIN_HEAD_UNPIN_RESP
TAG_CHAIN_SPEC_GENESIS_REQ
TAG_CHAIN_SPEC_GENESIS_RESP
TAG_CHAIN_SPEC_NAME_REQ
TAG_CHAIN_SPEC_NAME_RESP
TAG_CHAIN_SPEC_PROPS_REQ
TAG_CHAIN_SPEC_PROPS_RESP
TAG_CHAIN_TX_BROADCAST_REQ
TAG_CHAIN_TX_BROADCAST_RESP
TAG_CHAIN_TX_STOP_REQ
TAG_CHAIN_TX_STOP_RESP
TAG_CHAT_ACTION_INTERRUPT
TAG_CHAT_ACTION_RECEIVE
TAG_CHAT_ACTION_START
TAG_CHAT_ACTION_STOP
TAG_CHAT_CREATE_ROOM_REQ
TAG_CHAT_CREATE_ROOM_RESP
TAG_CHAT_CUSTOM_MSG_INTERRUPT
TAG_CHAT_CUSTOM_MSG_RECEIVE
TAG_CHAT_CUSTOM_MSG_START
TAG_CHAT_CUSTOM_MSG_STOP
TAG_CHAT_LIST_INTERRUPT
TAG_CHAT_LIST_RECEIVE
TAG_CHAT_LIST_START
TAG_CHAT_LIST_STOP
TAG_CHAT_POST_MSG_REQ
TAG_CHAT_POST_MSG_RESP
TAG_CHAT_REGISTER_BOT_REQ
TAG_CHAT_REGISTER_BOT_RESP
TAG_CREATE_TRANSACTION_REQ
TAG_CREATE_TRANSACTION_RESP
TAG_CREATE_TX_NON_PRODUCT_REQ
TAG_CREATE_TX_NON_PRODUCT_RESP
TAG_DEVICE_PERMISSION_REQ
TAG_DEVICE_PERMISSION_RESP
TAG_FEATURE_SUPPORTED_REQ
TAG_FEATURE_SUPPORTED_RESP
TAG_GET_NON_PRODUCT_ACCOUNTS_REQ
TAG_GET_NON_PRODUCT_ACCOUNTS_RESP
TAG_HANDSHAKE_REQ
TAG_HANDSHAKE_RESP
TAG_JSONRPC_SEND_REQ
TAG_JSONRPC_SEND_RESP
TAG_JSONRPC_SUB_INTERRUPT
TAG_JSONRPC_SUB_RECEIVE
TAG_JSONRPC_SUB_START
TAG_JSONRPC_SUB_STOP
TAG_LOCAL_STORAGE_CLEAR_REQ
TAG_LOCAL_STORAGE_CLEAR_RESP
TAG_LOCAL_STORAGE_READ_REQ
TAG_LOCAL_STORAGE_READ_RESP
TAG_LOCAL_STORAGE_WRITE_REQ
TAG_LOCAL_STORAGE_WRITE_RESP
TAG_NAVIGATE_TO_REQ
TAG_NAVIGATE_TO_RESP
TAG_PREIMAGE_LOOKUP_INTERRUPT
TAG_PREIMAGE_LOOKUP_RECEIVE
TAG_PREIMAGE_LOOKUP_START
TAG_PREIMAGE_LOOKUP_STOP
TAG_PREIMAGE_SUBMIT_REQ
TAG_PREIMAGE_SUBMIT_RESP
TAG_PUSH_NOTIFICATION_REQ
TAG_PUSH_NOTIFICATION_RESP
TAG_REMOTE_PERMISSION_REQ
TAG_REMOTE_PERMISSION_RESP
TAG_SIGN_PAYLOAD_REQ
TAG_SIGN_PAYLOAD_RESP
TAG_SIGN_RAW_REQ
TAG_SIGN_RAW_RESP
TAG_STATEMENT_PROOF_REQ
TAG_STATEMENT_PROOF_RESP
TAG_STATEMENT_STORE_INTERRUPT
TAG_STATEMENT_STORE_RECEIVE
TAG_STATEMENT_STORE_START
TAG_STATEMENT_STORE_STOP
TAG_STATEMENT_SUBMIT_REQ
TAG_STATEMENT_SUBMIT_RESP

Functions§

decode_message
Decode a raw binary message into (request_id, HostRequest).
encode_account_status
Encode an account_connection_status_receive message.
encode_feature_response
Encode a feature_supported response (Result::Ok(bool)).
encode_jsonrpc_send_error
Encode a host_jsonrpc_send error response.
encode_jsonrpc_send_response
Encode a host_jsonrpc_send response.
encode_jsonrpc_sub_receive
Encode a host_jsonrpc_subscribe receive message.
encode_navigate_response
Encode a navigate_to response (Result::Ok(void)).
encode_response
Encode a response into a wire message.
encode_sign_error
Encode a sign_payload or sign_raw error response (user rejected, wallet locked, etc).
encode_sign_response
Encode a sign_payload or sign_raw success response. Result::Ok { id: u32, signature: Bytes }
encode_storage_read_response
Encode a local_storage_read response.
encode_storage_write_response
Encode a local_storage_write/clear response (Result::Ok(void)).