Feat/remove credit from contract#58
Conversation
|
Important Review skippedToo many files! This PR contains 308 files, which is 158 over the limit of 150. To get a review, narrow the scope: Upgrade to a paid plan to raise the limit. ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (308)
You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
…ile contract with updated event tests
…in admin and reputation modules
…emoval Minor version bump marking the on-chain credit removal as a released contract surface, with the regenerated test snapshots. - INITIAL_VERSION + contractmeta -> 1.1.0 (events + profile); crate versions -> 1.1.0; version assertions and migrate() no-op comments updated to match. - Regenerated affected test snapshots (embedded version 1.0.0 -> 1.1.0). - BACKLOG: on-chain credit-removal upgrade marked applied on mainnet (both contracts read version() 1.1.0 as of 2026-07-03). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…-from-contract # Conflicts: # contracts/events/src/tests/token_whitelist.rs # contracts/profile/src/tests/mod.rs
e206393 to
9207eb3
Compare
Remove the on-chain credit surface (both contracts) — v1.0.0 → v1.1.0
Credits move fully off-chain (Postgres ledger); the contracts become reputation + earnings only. See
boundless-credits-reputation-prd.md§2 for the rationale.boundless-profile
Profilestruct:{ bootstrapped_at, credits, reputation }→{ bootstrapped_at, reputation }.spend_credits,earn_credits,refund_credits,admin_grant_credits,set_default_bootstrap_credits,get_default_bootstrap_credits, and theInsufficientCreditserror.bootstrap/bootstrap_selfnow just create a reputation-0 profile.boundless-events
application_credit_costfromEventRecord/CreateEventParamsandcredit_earnfromWinnerSpec.apply/withdraw/claim_milestone/select_winnerscarry no credit args.InsufficientCredits = 44error (left as a numbering gap).Versioning
INITIAL_VERSION+contractmeta+ crate versions → 1.1.0 (minor bump; no consumer depended on credits).migrate()is a no-op stamp for 1.0.0 → 1.1.0 (nothing to rewrite).Tests
cargo test: profile 41/41, events 150/150. Snapshots regenerated (embedded version string 1.0.0 → 1.1.0).Mainnet status — already executed (2026-07-03)
Applied in place via the timelocked H6 flow (2-of-3 multisig). No data migration: both contracts were freshly deployed with zero profiles and zero events, so the dropped-field structs have no old-shape rows to deserialize.
CCFVEGOQ…)03b1b30bb2c84d7c(ledger 63315871)2a8789bf…1de3CD3KH4OE…)531ff5a2663085fc(ledger 63315890)b9e3500c…9b02Both contracts now report
version() == "1.1.0".migrate()no-op stamp pending (audit marker only).Not in this PR
UserCredits/CreditLedger,Bounty.applicationCreditCost) are untouched and remain the source of truth — that lives inboundless-nestjs(already merged onv2).deployments/mainnet.json,mainnet-upgrades.jsonl) are updated locally butdeployments/is gitignored, so they are not tracked here.🤖 Generated with Claude Code