# Molecule Union as Size Header
## Metadata
**Status**:: #x
**Zettel**:: #zettel/fleeting
**Created**:: [[2024-03-07]]
## Synopsis
[※ Discord](https://discord.com/channels/657799690070523914/980237827122032730/1214879969810059314)
```
array Uint48 <byte; 6>;
array Hash32 <byte; 32>;
struct Unspent {
txHash: HexString, // 32 bytes
ownedQuantity: byte, // 1 byte
}
array Unspents<T> [byte; <T>]; // Variant parametric to T
struct ReceiptData<T> {
depositAmount: Uint48, // 6 bytes
depositQuantity: byte, // 1 byte
ownedQuantity: byte, // 1 byte
unspents: Unspents<T>, // 33 * T bytes
}
union ReceiptData {
ReceiptData<0>,
ReceiptData<1>,
...
ReceiptData<255>,
}
```