Expand description
Data structures and APIs related to RGB data storage and data exchange tasks.
There are two main APIs which may be used to access RGB contract data (both
client-side-validated and data containers): Stash
API and [GraphAPI
].
They differ in the fact that Stash
manages long-term persistance of
large-volume data, while [GraphAPI
] is used by the data structures fitting
into the computer memory (Consignment
s and Disclosure
s).
These data structures are not part of the client-side-validation
commitments (like [ConsensusCommit
] and [CommitEncode
]), however, some
of them MAY participate client-side-validation process (see
[Consignments
]) or MAY have a restricted forms of validation (see
Disclosure
), while others are constantly maintained in valid state by
the data management procedures (Stash
).
Structs
Unique state transition bundle identifier equivalent to the bundle commitment hash
Iterator over transitions and corresponding witness transaction ids which
can be created out of consignment data. Transitions of this type must be
organized into a chain connecting 1-to-1 via the provided connected_by
during iterator creation.
Consignment represents contract-specific data, always starting with genesis, which must be valid under client-side-validation rules (i.e. internally consistent and properly committed into the commitment layer, like bitcoin blockchain or current state of the lightning channel).
Disclosure purpose is to expose a set of stash data related to number of RGB contracts to some external entity – or store them outside of the stash to be merged lately upon a certain event (for instance, withness transaction being mined or receiving a signature for the updated channel state from an LN channel counterparty).
Enums
Errors accessing graph data via GraphApi
.
Constants
Traits
Trait defining common data access API for all storage-related RGB structures
Top-level structure used by client wallets to manage all known RGB smart contracts and related data.