mirror of
https://github.com/luxfi/proto.git
synced 2026-10-30 15:21:09 +00:00
2.1 KiB
2.1 KiB
Payload
An Lux Unsigned Warp Message already includes a networkID, sourceChainID, and payload field. The payload field can be parsed into one of the types included in this package to be further handled by the VM.
Hash
Hash:
+-----------------+----------+-----------+
| codecID : uint16 | 2 bytes |
+-----------------+----------+-----------+
| typeID : uint32 | 4 bytes |
+-----------------+----------+-----------+
| hash : [32]byte | 32 bytes |
+-----------------+----------+-----------+
| 38 bytes |
+-----------+
codecIDis the codec version used to serialize the payload and is hardcoded to0x0000typeIDis the payload type identifier and is0x00000000forHashhashis a hash from thesourceChainID. The format of the expected preimage is chain specific. Some examples for valid hash values are:- root of a merkle tree
- accepted block hash on the source chain
- accepted transaction hash on the source chain
AddressedCall
AddressedCall:
+---------------------+--------+----------------------------------+
| codecID : uint16 | 2 bytes |
+---------------------+--------+----------------------------------+
| typeID : uint32 | 4 bytes |
+---------------------+--------+----------------------------------+
| sourceAddress : []byte | 4 + len(address) |
+---------------------+--------+----------------------------------+
| payload : []byte | 4 + len(payload) |
+---------------------+--------+----------------------------------+
| 14 + len(payload) + len(address) |
+----------------------------------+
codecIDis the codec version used to serialize the payload and is hardcoded to0x0000typeIDis the payload type identifier and is0x00000001forAddressedCallsourceAddressis the address that sent this message from the source chainpayloadis an arbitrary byte array payload