Memo rule
The program's unified address is derived at initialization and never changes. A shielded transaction to that address may carry a memo field of five hundred and twelve bytes. The program reads bytes zero through seven as an unsigned little endian integer and calls it the weight. Bytes eight through five hundred and eleven are ignored. A weight of zero is a no op. A positive weight is a request to move that many zats from the reserve toward the floor, which the program satisfies by burning units equal to the weight at the current rate, so that the floor rises and the supply falls together.
The sender is not read. The program holds an incoming viewing key for its address so that it can decrypt memos, and holds no spending key, so that nothing sent to it can ever leave. The viewing key is published on the verification page as a hash, not in the clear, so that the memos themselves remain private to the program and to anyone the author chooses to give the key to.
| bytes 0..7 (hex) | weight (zats) |
|---|---|
| 01 00 00 00 00 00 00 00 | 1 |
| 00 e1 f5 05 00 00 00 00 | 100000000 |
| 40 42 0f 00 00 00 00 00 | 1000000 |
| e8 03 00 00 00 00 00 00 | 1000 |
| ff ff ff ff ff ff ff ff | 18446744073709551615 |
| 00 00 00 00 00 00 00 00 | 0 (no op) |