The only dependency nonce used per channel is a single uint256
. Each app continues to have an app-specific local nonce used for updates. The free balance does not have a local nonce. There can be at most 128 active apps (an active app is defined as one that has been installed but not uninstalled).
The dependency nonce has multiple dependents, but a dependent may in general depend on only some of the bits of the dependency nonce. We therefore treat the dependency nonce as a bitvector. Note that for determining which version of a dependency nonce is more recent we continue to interpret the dependency nonce as a uint
(an equivalent way of saying this is that we order dependency nonces, treated as bitvectors, lexicographically).
The dependency nonce is logically divided into three regions:
d_nonce[0:120] => rooted order bits