Skip to content

feat(scripts): add ability to create futarchy transaction from dao action scripts - #490

Merged
metapileks merged 4 commits into
developfrom
pileks/proposal-creation-scripts
Sep 8, 2026
Merged

feat(scripts): add ability to create futarchy transaction from dao action scripts#490
metapileks merged 4 commits into
developfrom
pileks/proposal-creation-scripts

Conversation

@metapileks

@metapileks metapileks commented Sep 4, 2026

Copy link
Copy Markdown
Collaborator

Title

Greptile Summary

Adds script utilities for creating futarchy proposals from DAO actions, including resumable Squads proposal creation and initialization.

  • Separates DAO action construction from the admin-approval transaction flow.
  • Adds retry and on-chain probing helpers for Squads transactions.
  • Adds resumable futarchy initialization and validates resumed transaction targets.
  • Adds Meteora liquidity withdrawal and memo action builders.
  • Provides a v0.6 proposal template for operators.

Confidence Score: 5/5

No new reportable issue remains, and the PR appears safe to merge based on the active review findings.

The previous retry-recovery, ambiguous-send, and resume-validation threads were manually resolved without explanation. metapileks dismissed the requested liquidity-removal coverage as disproportionate for a script, and Greptile conceded that it should be an optional follow-up.

Important Files Changed

Filename Overview
scripts/utils/futarchyProposal.ts Creates and resumes futarchy proposals from Squads vault transactions; the latest resume validation addresses the prior finding but intentionally accepts changed instruction data.
scripts/utils/squads.ts Adds comparison and probing helpers used to identify existing Squads vault transactions.
scripts/utils/daoActions.ts Adds reusable DAO action construction, retry handling, Meteora liquidity withdrawal, and memo support.
scripts/utils/adminApproval.ts Exposes expected instruction arrays so created Squads transactions can be probed safely.
scripts/v0.6/proposalTemplate.ts Provides an operator-facing template for composing and resuming futarchy proposals.

Reviews (4): Last reviewed commit: "fix(scripts): verify a resumed squads pr..." | Re-trigger Greptile

@metapileks metapileks self-assigned this Sep 4, 2026
@github-actions

github-actions Bot commented Sep 4, 2026

Copy link
Copy Markdown
Contributor

Repository Guard

  • Cargo.lock: pass
  • yarn.lock (sdk): pass
  • yarn.lock (root): pass
  • Repo guard: pass

Repository Guard

Cargo dependency pinning

  • Status: pass
  • Every programs/*/Cargo.toml dep uses =x.y.z, a path = .. workspace ref, or a git dep with a 40-char rev.

Cross-program Anchor/Solana version consistency

  • Status: pass
  • anchor-lang and anchor-spl are pinned to the version declared in repo-guard.toml across every program.

solana-program crate pin

  • Status: pass
  • Every solana-program = "=X" declaration is =1.17.14 (locked to match Cargo.lock).

Anchor.toml solana_version

  • Status: pass
  • Anchor.toml declares solana_version = "1.17.34" (local-dev install for anchor test).

Crate minimum age

  • Status: pass
  • All Cargo deps changed by this PR are at least 14 days old on crates.io.

Yarn package.json pinning

  • Status: pass
  • All package.json deps use exact versions (no ^, ~, ranges).

npm minimum age

  • Status: pass
  • All npm deps changed by this PR are at least 14 days old.

Workflow toolchain consistency

  • Status: pass
  • Every workflow declares anchor-version: 0.29.0.
  • Per-file solana-cli-version values match [toolchain.workflow_solana_cli] in repo-guard.toml.

GitHub Action SHA pinning

  • Status: pass
  • Every third-party action is pinned to a SHA in [actions.sha_allowlist].

Sensitive program / config changes

  • Status: pass
  • No suspicious changes to program IDs, error enums, or sensitive files detected.

Overall status: pass

Lockfile freshness (Cargo.lock + yarn.lock) is checked by the workflow directly and cannot be bypassed. The sensitive-diff section is a review hint - CODEOWNERS handles the actual merge gate.

Comment thread scripts/utils/futarchyProposal.ts Outdated
Comment thread scripts/utils/daoActions.ts
Comment thread scripts/utils/futarchyProposal.ts Outdated
Comment thread scripts/utils/futarchyProposal.ts
@metapileks
metapileks merged commit c1764d3 into develop Sep 8, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant