aldabra/crates
Kayos 1b9968cf3b feat(dao,mcp): proposal_retract_votes builder + dao_stake_retract_votes_unsigned
Closes the destroy-with-locks gap: a stake that voted/created/cosigned a
proposal can now drop those locks once the proposal resolves (or once
voter cooldown elapses), letting it become destroyable via
dao_stake_destroy_unsigned.

Tx shape mirrors proposal_vote: stake input (RetractVotes redeemer) +
proposal input (UnlockStake redeemer) + wallet funding, two reference
scripts, two outputs. Mode auto-derived from proposal status:
  - Finished       → RemoveAllLocks  (drop Created/Cosigned/Voted for id)
  - any other      → RemoveVoterLockOnly (drop only past-cooldown Voted)

When proposal is VotingReady AND tx-validity sits inside the voting
window, also subtracts stake.staked_amount from proposal.votes[voted_tag]
(matches the proposal validator's `shouldUpdateVotes` path at
Agora/Proposal/Scripts.hs:606).

Pre-flights every validator check: ownership/delegation, at least one
lock for proposal_id (proposal validator's pisIrrelevant), Voted-lock
cooldown (Stake/Redeemers.hs:354), and rejects the VotingReady-no-Voted
edge case where the validator's "Votes changed" assertion would fail.

Eight unit tests covering: Finished-drops-all, VotingReady-window-
subtracts, no-locks-for-proposal rejection, cooldown-not-elapsed
rejection, no-Voted-in-window rejection, voter-not-owner-or-delegate
rejection, Locked-after-window-drops-Voted-only.

Validator is from existing `lucy-registry:5000/aldabra/mcp@0c79231` with
StakeRedeemer::RetractVotes and ProposalRedeemer::UnlockStake already
landed; this just wires the builder + MCP tool.
2026-05-08 13:24:24 -07:00
..
aldabra-chain feat(mcp,chain,dao): support Koios paid-tier bearer via ALDABRA_KOIOS_BEARER env 2026-05-08 10:19:06 -07:00
aldabra-core fix(core): bump WITNESS_OVERHEAD_BYTES from 256 to 512 2026-05-08 07:42:06 -07:00
aldabra-dao feat(dao,mcp): proposal_retract_votes builder + dao_stake_retract_votes_unsigned 2026-05-08 13:24:24 -07:00
aldabra-mcp feat(dao,mcp): proposal_retract_votes builder + dao_stake_retract_votes_unsigned 2026-05-08 13:24:24 -07:00