pub struct RepeatSkeleton {
pub name: &'static str,
/* private fields */
}Expand description
A compiled-contract family whose builds differ only by how many times one
instruction block repeats (e.g. genesis0’s slot-mint emits one
amount+script check per collection output). Matched as
prefix · group×N · suffix with N >= min_repeats; the group’s pushes
are per-repeat slots, so every arity of the family decodes to one name.
Fields§
§name: &'static strImplementations§
Source§impl RepeatSkeleton
impl RepeatSkeleton
Sourcepub fn derive(
name: &'static str,
long: &[&[u8]],
short: &[&[u8]],
labels: &[&'static str],
group_labels: &[&'static str],
) -> Option<RepeatSkeleton>
pub fn derive( name: &'static str, long: &[&[u8]], short: &[&[u8]], labels: &[&'static str], group_labels: &[&'static str], ) -> Option<RepeatSkeleton>
Derive from real instances of two different arities: long holds two
or more instances of the bigger build, short at least one of the
smaller. The repeated group is the shape difference between the two
arities (rotated to its leftmost position, so trailing copies inside
the longer build’s aligned prefix fold into repeats). Fixed-part
pushes become constants only when every instance of both arities
agrees — arity-dependent constants (output counts, indexes) become
slots automatically. labels names the distinct fixed-part slots in
first-occurrence order; group_labels names the group’s pushes in
order (repeat a label to require equality within one repeat).
Sourcepub fn group_params(&self) -> &[&'static str]
pub fn group_params(&self) -> &[&'static str]
Per-repeat parameter labels, in order.