-
Notifications
You must be signed in to change notification settings - Fork 5
Milestone
Description
Description
Validate transaction witness signatures and other 'phase 1' items
Intersect Milestone
MS5.6
Acceptance Criteria
- Able to phase 1 validate all existing Transactions (TXs)
Expected Deliverables
- Transaction Phase 1 validation module
- Test cases and reports
Design Notes
(from ChatGPT)
- Well-formed CBOR / basic syntax
- Transaction decodes correctly from CBOR.
- All expected fields are present and correctly typed.
- Size limits
- Transaction size ≤ maxTxSize protocol parameter.
- Number of inputs, outputs, certificates, witnesses ≤ limits.
- Key validity
- All input key hashes and witness signatures are valid Ed25519 signatures over the Tx body.
- VKey witnesses match the inputs they are supposed to authorize.
- Scripts (native or Plutus) referenced are present.
- Fee and value preservation (basic)
- Declared fee ≥ minFee (protocol parameter).
- No negative values in outputs.
- Token bundle policy IDs / asset names well-formed.
- Timelock validity
- Transaction validity interval (TTL, start slot, expiry) is syntactically correct.
- If native scripts with timelock conditions are present, their conditions are checked.
- Auxiliary data structure
- Metadata, if present, is CBOR-valid and within size limits.
This list should be validated against the spec and Haskell code.
This should output a ValidationResult message on 'cardano.validation.tx-phase-1'.
Sub-issues
Metadata
Metadata
Labels
No labels