Skip to content

CIP-0160, CIP-0019 | Specify per-output Receiving and protected addresses - #1286

Closed
colll78 wants to merge 2 commits into
cardano-foundation:masterfrom
colll78:codex/cip-160-receiving-contract
Closed

colll78 wants to merge 2 commits into
cardano-foundation:masterfrom
colll78:codex/cip-160-receiving-contract

Conversation

@colll78

@colll78 colll78 commented Oct 7, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Specify one Receiving execution for every protected Plutus output. Each output uses its original body-local index, its own redeemer and execution budget, and a context containing the indexed output. Same-hash and byte-identical outputs remain separate executions; parent and child bodies remain isolated. Protected key and native destinations retain their existing authorization rules.

This is our proposed implementation decision, supported by the CIP's per-output validation wording and lehins's resolved-TxOut discussion. The exact index representation and Data fields still require upstream review.

The amendment also specifies payment-header bit 0x08, base/enterprise protection, Receiving tag 7 alongside Guarding tag 6, protected collateral-return rejection, legacy-language visibility, and collateral-only failure behavior. CIP-19 includes twelve address vectors. Dijkstra/V4 activation remains subject to agreement and format availability.

Evidence

  • Receiving uses Constr 7 [scriptHash, originalOutputIndex]; ReceivingScript uses Constr 7 [originalOutputIndex, resolvedOutput].
  • Patch applicability and whitespace checks pass. The address encoding retains the independently validated twelve vectors.
  • Revised implementation and validation are underway in ledger #6153, Plutus #7982, and formal ledger #1348.

Merge Danger

Door: two-way before activation

Blast Radius: protocol

Address consumers, ledger contexts, validators and builders must agree on the proposed formats. The V4 Address schema change requires an unfrozen language version and coordinated activation.

@rphair rphair changed the title CIP-160, CIP-19: specify grouped Receiving authorization and protected addresses CIP-0160, CIP-0019 | Specify grouped Receiving authorization and protected addresses Oct 7, 2026
@rphair rphair added the Category: Ledger Proposals belonging to the 'Ledger' category. label Oct 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Category: Ledger Proposals belonging to the 'Ledger' category.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants