Flat component (in effective bytes at the per-byte storage rate) for the identity-side writes a
ShieldFromIdentity performs on top of its per-action note inserts: the UpdateIdentityNonce
and RemoveFromIdentityBalance operations.
Flat component (in effective bytes at the per-byte storage rate) for the identity-side write an
IdentityTopUpFromShieldedPool performs on top of its per-action nullifier and note writes:
the single AddToIdentityBalance operation, charged as part of the pool-paid flat fee (built
like SHIELDED_UNSHIELD_ADDRESS_STORAGE_BYTES).
Calibrated effective storage-byte cost of the single AddBalanceToAddress write an Unshield
performs, crediting the net (unshielding_amount − fee) to the output platform address.
Computes the conservative admission floor (in credits) of a shielded transition that also
writes an identity balance (ShieldFromIdentity): compute_minimum_shielded_fee plus the
flat identity-write component (SHIELDED_IDENTITY_BALANCE_WRITE_STORAGE_BYTES effective bytes
at the per-byte storage rate: the nonce and balance rewrites’ replace-only tree work, folded
into one flat figure like the other shielded components).
Computes the IdentityCreateFromShieldedPool fee (in credits): compute_minimum_shielded_fee
PLUS the variable storage cost of the AddNewIdentity write (identity record + balance +
revision + N key subtrees), which scales with the number of public keys.
Computes the Unshield fee (in credits): compute_minimum_shielded_fee PLUS the flat
storage cost of the single AddBalanceToAddress write an Unshield performs.
Computes the ShieldedWithdrawal fee (in credits): compute_minimum_shielded_fee PLUS the
flat storage cost of the Core withdrawal document a ShieldedWithdrawal inserts.
Builds the transparent extra_data bound into an IdentityTopUpFromShieldedPool’s platform
sighash, with the byte layout identity_id (32) || top_up_amount (u64 LE).
v0 byte layout of shielded_withdrawal_extra_sighash_data (see that function’s doc comment for
the layout and rationale). Frozen: never mutate; a layout change requires a new _v1 + version.
v0 byte layout of unshield_extra_sighash_data (see that function’s doc comment for the layout
and rationale). Frozen: never mutate; a layout change requires a new _v1 + version bump.