Module commitment

Source
Expand description

Implementation module of the Commitment Family traits, where we utilize indexes, pools, and variants to create a flexible and semantic commitment system.

Low-level helper traits are defined in crate::traits within this crate. These helpers provide fundamental functions that can be reused by other implementations to offer a similar commitment system.

The asset type is defined as the fungible trait’s balance - i.e., a unit with fungible behaviours. See the required trait bounds of Config::Asset to understand which methods this system utilizes.

Notably, this commitment system does not rely on standard balanced (safe) fungible methods. Instead, it uses its own safe models via low-level methods provided by fungible traits. Therefore, it does not query the total asset in circulation, as its scope is limited to commitments for the particular asset holder.

Pallet implements:

Local Tests for these traits are covered in tests.