Motivation
When updating the Asset Register, a clearly defined transaction message standard must be followed and used to prove updates reliably. This RFC takes inspiration from ERC-4361: Sign-In with Ethereum.Specification
Asset Register Transaction Message generation works as follows:- A list of asset register updates is first defined
- A message is created that starts with
\\x19Ethereum Signed Message:\\n<length of message>
as defined in ERC-191 - Each asset register update will then be defined sequentially in the order the updates should take place.
- The end of the message will have the address making the updates and the nonce.
- The message will then be signed by the correct wallet
Operations
A list of operations can be found on the Transaction Operations page.Transaction Hash
A transaction hash is generated based on the message + signatureExample Message
Informal Message Template
A Bash-like informal template of the full message is presented below for readability and ease of understanding. Field descriptions are provided in the following section.Message Field Descriptions
Field | Description |
---|---|
statement | (optional) is a human-readable ASCII assertion that the user will sign, and it must not contain ‘\n’ (the byte 0x0a). |
nonce | an incremented number for each address that is kept track of by the Asset Register to mitigate replay attacks. |
address | is the Ethereum address performing the signing conformant to capitalization encoded checksum specified in https://eips.ethereum.org/EIPS/eip-55 where applicable? |
operations | an array of updated objects with type, action and args |