11 breaking releases

0.11.0 Dec 9, 2024
0.9.0 Nov 16, 2024
0.1.0 Jul 8, 2024

#12 in #pint


Used in 2 crates (via pint-abi)

Apache-2.0

115KB
2.5K SLoC

Macros for generating items from pint-generated contract ABI JSON.

The entry points for this crate are:

For a given contract, the following items are generated:

  • A mod representing storage.
  • For each predicate, a module with the following:
    • A Vars struct for the predicate's decision variables.

The aim for the generated items is to ease the construction of solutions including the encoding of keys, values and mutations from higher-level types. Items related to simplifying the process of building sets of Mutations and Keys for Solutions and queries.

See the mutations fn to start constructing a set of Mutations.

See the keys fn to start constructing a set of Keys.

The Mutations and Keys impls provides a set of builder methods that allow for writing Mutations and Keys to an inner Vec from higher-level values.

The final Vec<Mutation> or Vec<Key> can be produced using the From<Mutations> or From<Keys> conversion impls.

Dependencies

~3.5–4.5MB
~87K SLoC