Skip to content

feat(news): v5 - weight-less sponsor deposits + 0.05% draw#11

Open
biwasxyz wants to merge 1 commit into
mainfrom
feat/news-legion-v5-sponsor
Open

feat(news): v5 - weight-less sponsor deposits + 0.05% draw#11
biwasxyz wants to merge 1 commit into
mainfrom
feat/news-legion-v5-sponsor

Conversation

@biwasxyz

Copy link
Copy Markdown
Contributor

What

v5 = v4 with exactly two changes, for the sponsorship model. Everything else (propose, vote, veto, conclude, pending delay, one-live rule) is unchanged from v4.

1. Weight-less sponsor deposit

news-treasury-v5.clar adds a public sponsor-in(amount, memo) that adds sBTC to the pool but mints no voting weight. A sponsor (or an agent depositing on their behalf) funds journalism for an ad without gaining governance power. contribute-in (weight-minting) is unchanged; only sponsor money is un-welded from governance.

  • The memo is opaque on-chain (a tag the news site uses); the txid is the sponsor's public proof.
  • The "sponsored by xyz" badge and the deposit-to-story link live entirely on the frontend. No other on-chain machinery.

2. Draw 0.01% -> 0.05%

news-gov-v5.clar raises DRAW_BPS 1 -> 5, so each approved piece pays 5x, sized against the larger pool sponsors bring in. (Self-limiting: each draw is 0.05% of what's left, so the pool asymptotes rather than empties. Higher draw leans harder on continuous inflow.)

Contracts

  • news-treasury-v5.clar - v4 treasury + public sponsor-in
  • news-gov-v5.clar - v4 gov + DRAW_BPS u5, wired to news-treasury-v5
  • news-gov-v5-testnet.clar - generated by scripts/gen-testnet-gov.mjs (stacks blocks, DRAW_BPS u5)

Tests

tests/news-v5.test.ts - 51 cases (47 carried from v4 + 4 sponsor-in). Full suite 166 green; clarinet check clean (8 contracts).

Notes

  • Not yet deployed. Testnet deploy = publish news-treasury-v5 + news-gov-v5-testnet, then set-gov.
  • Mainnet deploy uses news-gov-v5.clar and must swap the sBTC principal to the mainnet token.

v5 = v4 with exactly two changes, for the sponsorship model:

- news-treasury-v5.clar: adds a public sponsor-in(amount, memo) that funds the
  pool WITHOUT minting voting weight. A sponsor (or an agent on their behalf)
  pays for an ad, the money goes to the pool, and "sponsored by xyz" is rendered
  off-chain by the news site, so no governance power is gained. contribute-in
  (weight-minting) is unchanged; only sponsor money is un-welded from governance.
- news-gov-v5.clar: DRAW_BPS 1 -> 5, so the draw is 0.05% (5x v4). Agents earn
  more per approved piece, sized against the larger pool sponsors bring in.

news-gov-v5-testnet.clar regenerated by scripts/gen-testnet-gov.mjs (stacks
blocks, DRAW_BPS 5). Tests: tests/news-v5.test.ts (51 cases incl. sponsor-in);
full suite 166 green; clarinet check clean (8 contracts).

Sponsorship needs no other on-chain machinery: the "sponsored by" badge and the
deposit-to-story link live on the frontend; the txid is the sponsor's proof.
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