update: add Dijkstra-specific fields to cardano.json schema
Add schema definitions for new Dijkstra era fields:
- Transaction: requiredExtraGuards, directDeposits,
accountBalanceIntervals, subTransactions, requiredTopLevelGuards
- ProtocolParameters: maxReferenceScriptsSizePerBlock
- New types: AccountBalanceInterval (with oneOf for bound variants),
TopLevelGuard, SubTransaction
New JSON field names introduced across all Dijkstra commits:
Transaction body (TopTx):
- requiredExtraGuards: script hash guards (new Dijkstra field)
- directDeposits: account address to coin map
- accountBalanceIntervals: list of interval constraints per account
- subTransactions: nested sub-transactions
- fee: moved to TopTx-only (SubTx has no fee)
Transaction body (SubTx):
- requiredTopLevelGuards: guard credentials with optional datums
AccountBalanceInterval fields:
- greaterThanOrEqualTo: inclusive lower bound (coin)
- strictlyLessThan: exclusive upper bound (coin)
TopLevelGuard fields:
- credential: guard credential (key hash or script hash)
- datum: optional inline datum
ProtocolParameters:
- maxReferenceScriptsSizePerBlock: new Dijkstra param
Script purpose enum:
- "guard": new Dijkstra script purpose
Error codes:
- 3169: PointerAddressInCollateralReturn
- 3170: SpendingOutputFromSubTransaction
Co-Authored-By: Claude <[email protected]>