Re-exports§
pub use pay::TransferParams;
pub use pay::WalletProvider;
Modules§
- RGB containers are data packages which can be transferred between smart contract users. There are two main types of containers:
- RGB contract interface provides a mapping between identifiers of RGB schema- defined contract state and operation types to a human-readable and standardized wallet APIs.
- Module defines API used by providers of persistent data for RGB contracts.
- API for interfacing different virtual machines
Macros§
Structs§
- Unique data attachment identifier
- Blinding factor used in creating Pedersen commitment to an [
AtomicValue
]. - Unique state transition bundle identifier equivalent to the bundle commitment hash
- Confidential version of an attachment information.
- Confidential version of an structured state data.
- Confidential version of the additive state.
- Unique contract identifier equivalent to the contract genesis commitment
- Hash committing to all data which are disclosed by a contract or some part of it (operation, bundle, consignment, disclosure).
- An ASCII printable string up to 4096 chars representing identity of the developer.
- value provided for a blinding factor overflows prime field order for Secp256k1 curve.
- A dumb placeholder for a future bulletproofs.
- Unique operation (genesis, extensions & state transition) identifier equivalent to the commitment hash
- RGB contract operation output pointer, defined by the operation ID and output number.
- Opaque type holding pedersen commitment for an
FungibleState
. - Reserved bytes.
- State item for a homomorphically-encryptable state.
- Schema identifier.
- Confidential version of transaction outpoint-based single-use-seal
- Struct using for storing Void (i.e. absent) state
Enums§
- State data are assigned to a seal definition, which means that they are owned by a person controlling spending of the seal UTXO, unless the seal is closed, indicating that a transfer of ownership had taken place
- Errors parsing string representation of a blinding factor.
- An atom of an additive state, which thus can be monomorphically encrypted.
- Today we support only a single format of confidential data, because of the limitations of the underlying secp256k1-zkp library: it works only with u64 numbers. Nevertheless, homomorphic commitments can be created to everything that has up to 256 bits and commutative arithmetics, so in the future we plan to support more types. We reserve this possibility by internally encoding [
ConfidentialFormat
] with the same type specification details as used for [DateFormat
] - Aggregated type used to supply full contract operation type and transition/state extension type information
- Node type: genesis, extensions and state transitions
- Range proof value.
- Errors verifying range proofs.
- Categories of the state
- Categories of the state
Constants§
- BIP32 derivation index for outputs which may contain assigned RGB state.
- BIP32 derivation index for outputs which are tweaked with Tapret commitment and may also optionally contain assigned RGB state.
Traits§
- Marker trait for types of state which are just a commitment to the actual state data.
- Marker trait for types of state holding explicit state data.
- Trait used by contract state. Unlike
ExposedState
it doesn’t allow concealment of the state, i.e. may contain incomplete data without blinding factors, asset tags etc. - A trait to merge two structures modifying the revealed status of the first one. The merge operation will consume both the structures and return a new structure with revealed states.
- Trait defining common API for all operation type schemata
- RGB contract operation API, defined as trait
- Methods common for all transaction-output based seal types.