Chain children

What this field controls. Which rails or transfer templates may follow the chain's parent, and — for each — whether the child is a per-firing one-to-one follower or a many-to-one fan-in follower.

What you're looking at

A chip-list picker. Each chip is one selected child (rail or template), with a fan-in checkbox and an N integer slot next to it. The chip order is the canonical sequence the L1 invariants walk.

How children compose

The Z.A chain grammar reads the selection set:

Empty selection is rejected — a chain with no children is meaningless.

Per-child fan-in (fan_in + expected_parent_count)

By default a chain child is one-to-one with its parent. Tick the fan-in checkbox on a chip when the child Transfer aggregates multiple parent firings — the canonical example is a merchant settlement cycle, where many transactions get netted into one settlement transfer.

The N slot to the right of the checkbox is the expected parent count (epc) — how many parent firings the validator expects per child Transfer. The L1 invariant fan_in_disagreement flags any child Transfer whose actual parent count doesn't match N.

Validator constraints:

When to reach for this

The chip-list version of this field exists because the validator's fan-in / epc rules are not derivable from the rest of the L2. The operator needs to declare them, and the form needs to keep them attached to the child chip — so unchecking fan-in surfaces a clean "this child is one-to-one" state instead of a stale epc=5 sitting under the surface.

Vocabulary