jcp: a chain is bounded in money on every link, and a delegated grant is never decided alone #304
Loading…
Reference in a new issue
No description provided.
Delete branch "fix/jcp-chained-money"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Two gaps in deciding a delegated grant
A chain could not be priced. The single-grant path has
decide_priced, which enforces the money ceiling beside the joule ceiling (§4.8). Chains had no priced decision at all, so a delegated grant's money ceiling was never consulted: not the leaf's, and not the parent's whose budget the leaf draws on.A delegated grant could be decided on its own.
decide,decide_priced,authorizeand the flow variants accepted a grant with aparent, decided it as a root, and never saw the chain. §4.2 says a delegated grant MUST be decided with its full chain. Alone, nothing shows that it narrows what its issuer held, so its budget, caveats and expiry were taken at their word.The fix
decide_chained_pricedapplies both ceilings to every link:parentaschain-broken. Nothing in jcp-rs or its consumers relied on the old behaviour.Checked
On the build host:
gen-vectorswrites is byte-identical.🤖 Generated with Claude Code