Skip to content

fix(governance): add 10 RTC proposal fee to create_proposal (M4)#6303

Open
waefrebeorn wants to merge 34 commits into
Scottcjn:mainfrom
waefrebeorn:fix-m4-governance-fee
Open

fix(governance): add 10 RTC proposal fee to create_proposal (M4)#6303
waefrebeorn wants to merge 34 commits into
Scottcjn:mainfrom
waefrebeorn:fix-m4-governance-fee

Conversation

@waefrebeorn
Copy link
Copy Markdown

Summary

M4 - MED: governance.py: propose() no fee validation

The create_proposal endpoint had no financial barrier to submitting governance proposals. This enables spam governance attacks.

Fix

  • Added PROPOSAL_FEE_RTC = 10 constant
  • Checks proposer balance_rtc in balances table before creating proposal
  • Deducts 10 RTC on successful creation
  • Graceful fallback if balances table doesn't exist
  • HTTP 402 if insufficient balance

RTC Wallet for bounty: RTC17c0d21f04f6f65c1a85c0aeb5d4a305d57531096

Adds max_length parameter to _clean_string_field and caps all user input
fields in POST route handlers:

- /lock: sender_wallet(128), target_wallet(128), tx_hash(128), receipt_signature(256)
- /confirm: proof_ref(256), notes(1024)
- /release: release_tx(128), notes(1024)

Prevents storage of arbitrarily large strings in bridge_ledger DB.
…s + Row M error handling + Row T test gaps + Row E infrastructure
M4 - MED: propose() no fee validation

- Added PROPOSAL_FEE_RTC = 10 constant
- Before creating proposal, checks miner balance in balances table
- Deducts 10 RTC from proposer on successful creation
- Graceful fallback if balances table doesn't exist
- Returns 402 Payment Required if insufficient balance

Prevents governance spam by requiring a small stake.
@github-actions github-actions Bot added documentation Improvements or additions to documentation BCOS-L1 Beacon Certified Open Source tier BCOS-L1 (required for non-doc PRs) node Node server related api API endpoint related size/M PR: 51-200 lines labels May 25, 2026
Copy link
Copy Markdown
Contributor

@jaxint jaxint left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM! Great work on this PR. 🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

api API endpoint related BCOS-L1 Beacon Certified Open Source tier BCOS-L1 (required for non-doc PRs) documentation Improvements or additions to documentation node Node server related size/M PR: 51-200 lines

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants