artm =
%s"Asset Register transaction" LF
LF
[ statement LF ]
LF
%s"Operations:" LF
LF
operations
%s"Operations END" LF
LF
%s"Address: " address LF
%s"Nonce: " nonce
statement = 1*( reserved / unreserved / " " ) ; The purpose is to exclude LF (line breaks).
operations = *operation
operation = operation-type SP operation-action LF 1*(operation-argument) %s"end" 2*2LF
operation-type = *(ALPHA / "-")
operation-action = *(ALPHA / "-")
operation-argument = "-" SP *VCHAR LF
address = "0x" 40HEXDIG
nonce = 1*DIGIT
; ------------------------------------------------------------------------------
; RFC 3986
unreserved = ALPHA / DIGIT / "-" / "." / "_" / "~"
reserved = gen-delims / sub-delims
gen-delims = ":" / "/" / "?" / "#" / "[" / "]" / "@"
sub-delims = "!" / "$" / "&" / "'" / "(" / ")"
/ "*" / "+" / "," / ";" / "="
; ------------------------------------------------------------------------------
; RFC 5234
ALPHA = %x41-5A / %x61-7A ; A-Z / a-z
LF = %x0A ; linefeed
HEXDIG = DIGIT / "A" / "B" / "C" / "D" / "E" / "F"
DIGIT = %x30-39 ; 0-9
SP = %x20 ; space
VCHAR = %x21-7E ; visible (printing) characters