Feature request: amount-tiered signature thresholds for send_asset
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 25/100
- Issue type
- Feature
- Clarity
- Needs clarification
- Activity status
- Quiet
- Tech stack
- rust
- Domain
- authorization, security
Research direction
Start with the send_asset threshold logic described in the issue and inspect packages/miden-multisig-client/src/types/proposal.ts, especially P2idProposalMetadata, alongside the linked cryptography audit. Define how amount tiers and optional per-faucet limits should be represented and evaluated, then verify that small, mid-tier, and large transfers require the configured signature counts.
Written by the indexing model from the issue text.
Description
Problem
Add support for amount-tiered signature thresholds on send_asset, so the number of cosigner signatures required scales with the transaction's value (and optionally per-faucet).
Today the transaction_threshold is computed purely from which procedures the tx calls (per the cryptography audit). The amount field of a p2id send is opaque to the threshold logic — confirmed in P2idProposalMetadata, which carries only recipientId, faucetId, amount with no tier or limit field.
This means a treasury sending 1 USDC and a treasury sending 1,000,000 USDC require exactly the same number of signatures. There's no native way to express "small ops should be fast, large transfers should require unanimous review."
A multisig configured for the current model has to pick one of two unsatisfying defaults:
- Low send_asset threshold → small operational sends are fast, but the same threshold enables draining the treasury.
- High send_asset threshold → large transfers are properly gated, but every petty-cash send becomes a coordination event.
Amount-tiered thresholds resolve this trade-off and are table-stakes for production-grade multisigs targeting institutional treasuries — Safe (via Allowance / Spending Limit modules), Squads (Spending Limits), Fireblocks (policy engine), and BitGo (wallet policy) all ship this primitive.
Adding it to Miden multisig would unlock realistic treasury operations: small recurring spends approved quickly, mid-tier vendor payments requiring a majority, large capital allocations requiring unanimous consent — all under a single account, configurable per faucet.
- Dominant language
- Rust
- Stars
- 11
- Forks
- 21
- Avg merge
- 3d 13h
- Merged PRs (30d)
- 36
Getting set up
- Ships a Dockerfile or Docker Compose file
- No pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from OpenZeppelin/guardian
-
enhancement performance
Difficulty 5/5 Over a week Newbie friendliness 12/100
OpenZeppelin/guardian#585 ·
Maintainers usually reply within 1 day
-
enhancement
Difficulty 5/5 Over a week Newbie friendliness 35/100
OpenZeppelin/guardian#572 ·
Maintainers usually reply within 1 day
-
bug
Difficulty 4/5 3-5 days Newbie friendliness 38/100
OpenZeppelin/guardian#519 ·
Maintainers usually reply within 1 day
-
enhancement
Difficulty 4/5 3-5 days Newbie friendliness 48/100
OpenZeppelin/guardian#518 ·
Maintainers usually reply within 1 day
-
enhancement
Difficulty 5/5 Over a week Newbie friendliness 30/100
OpenZeppelin/guardian#517 ·
Maintainers usually reply within 1 day
All issues in OpenZeppelin/guardian
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
Maintainers usually reply within 1 day
-
test(hydro_std): track_membership join and leave are untestedPossibly taken A pull request linked to this issue is open or already merged. Open
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
hydro-project/hydro#3289 ·
Maintainers usually reply within 1 day
-
diagram-bug good first issue help wanted
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
enhapu-afk/omaspec#4 ·
-
priority: low ☕️ type: bug 🐛
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
Maintainers usually reply within 1 day
-
bug security
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
Maintainers usually reply within 4 days