Commit graph

2 commits

Author SHA1 Message Date
507fd9da15 pallas-txbuilder: thread voting_procedures through StagingTransaction → Conway build
Fills the third of pallas-txbuilder's Conway TODOs (after auxiliary_data
+ certificates):

- StagingTransaction gains `voting_procedures: Option<Vec<u8>>` (opaque
  CBOR — same Eq-derive workaround as auxiliary_data + certificates)
- Builder methods .voting_procedures(cbor_bytes) + .clear_voting_procedures()
- conway::build_conway_raw decodes via VotingProcedures::decode_fragment
  and assigns to TransactionBody.voting_procedures

VotingProcedures is itself a NonEmptyKeyValuePairs<Voter,
NonEmptyKeyValuePairs<GovActionId, VotingProcedure>> map, so callers
pre-assemble the full map and encode once.

Tests:
- voting_procedures_plumb_through_to_tx_body — encode DRepKey vote-Yes
  on a synthetic GovActionId, build, decode, assert round-trip
- no_voting_procedures_means_none — negative path
2026-05-06 07:11:23 -07:00
310b0fe562 docs: BRANCH-NOTES — fork rationale, what's patched, upstream PR plan
documents the three changes on feat-aux-data:
- pallas-txbuilder auxiliary_data plumbing
- pallas-txbuilder certificates plumbing
- pallas-addresses StakeAddress::new constructor

each tied to the upstream TODO it fills, with test additions noted.
records that aldabra consumes via [patch.crates-io] across all 7
pallas-* crates so cargo resolves the graph consistently.

PR upstream not yet submitted — plan locked in: split into three
separate PRs for review ergonomics.
2026-05-04 12:50:01 -07:00