fix(community-tax): LaunchGuards cooldown per wallet + provide after max_wallet (#608) #1123

Merged
PlasticDigits merged 4 commits from issue/608-launch-guard-cooldown-max-wallet into main 2026-08-23 12:35:53 +00:00
PlasticDigits commented 2026-08-23 12:00:49 +00:00 (Migrated from gitlab.com)

Summary

  • Fixes audit H-3: LaunchGuards cooldown is per user wallet. Listed pairs / protocol-exempt addresses are not checked or recorded, so one trade no longer halts the pair.
  • Fixes audit H-4: max_wallet skips listed pair / protocol-exempt to, so TransferFrom provide succeeds after sells grow the pair above the cap. Sell-to-pair bypass (T592-11) stays.
  • H-5 (trading_enabled=false locks pair→EOA) is unchanged.

Closes #608.

Invariants

H608-1–H608-8 in skills/AGENTS_COMMUNITY_TAX_LAUNCH_GUARDS.md. T592-11 updated.

Test plan

  • cargo test -p cl8y-community-tax-token — launch-guard multitest (two wallets same block, same wallet cooldown, buy after sell, provide after cap, user max_wallet, TransferTax + cap, SKU off, protocol-exempt to)
  • cargo test -p cl8y-community-token-launcher --test audit_poc — poc_cooldown_bricks_pair / poc_max_wallet_bricks_provide inverted
  • make verify-issue-608 first pass + retest (crates + docs)
  • Reviewer: make verify-issue-608
  • After a new token store + migrate (ops / F6): LocalTerra LaunchGuards token, two wallets swap in one window; provide after pair > cap
  • Columbus-5 11611 remigrate when live instances exist (catalog empty at audit; pin bytes stay pre-#608 until then)

Out of scope

  • H-5 pause-both-sides
  • Live 11611 store / migrate / F6 pin
  • Manager dust max_wallet / cooldown=1 after users buy (M-4 product)
## Summary - Fixes audit **H-3**: LaunchGuards cooldown is per **user wallet**. Listed pairs / protocol-exempt addresses are not checked or recorded, so one trade no longer halts the pair. - Fixes audit **H-4**: `max_wallet` skips listed pair / protocol-exempt `to`, so `TransferFrom` provide succeeds after sells grow the pair above the cap. Sell-to-pair bypass (**T592-11**) stays. - **H-5** (`trading_enabled=false` locks pair→EOA) is unchanged. Closes #608. ## Invariants **H608-1–H608-8** in [`skills/AGENTS_COMMUNITY_TAX_LAUNCH_GUARDS.md`](https://gitlab.com/PlasticDigits/cl8y-dex-terraclassic/-/blob/issue/608-launch-guard-cooldown-max-wallet/skills/AGENTS_COMMUNITY_TAX_LAUNCH_GUARDS.md). **T592-11** updated. ## Test plan - [x] `cargo test -p cl8y-community-tax-token` — launch-guard multitest (two wallets same block, same wallet cooldown, buy after sell, provide after cap, user max_wallet, TransferTax + cap, SKU off, protocol-exempt `to`) - [x] `cargo test -p cl8y-community-token-launcher --test audit_poc` — `poc_cooldown_bricks_pair` / `poc_max_wallet_bricks_provide` inverted - [x] `make verify-issue-608` first pass + retest (crates + docs) - [ ] Reviewer: `make verify-issue-608` - [ ] After a **new token store + migrate** (ops / F6): LocalTerra LaunchGuards token, two wallets swap in one window; provide after pair > cap - [ ] Columbus-5 **11611** remigrate when live instances exist (catalog empty at audit; pin bytes stay pre-#608 until then) ## Out of scope - H-5 pause-both-sides - Live 11611 store / migrate / F6 pin - Manager dust `max_wallet` / cooldown=1 after users buy (M-4 product)
PlasticDigits commented 2026-08-23 12:34:09 +00:00 (Migrated from gitlab.com)

added 4 commits

  • bcd58a3b...715d9555 - 3 commits from branch main
  • 33e4153f - Merge origin/main into issue/608-launch-guard-cooldown-max-wallet

Compare with previous version

added 4 commits <ul><li>bcd58a3b...715d9555 - 3 commits from branch <code>main</code></li><li>33e4153f - Merge origin/main into issue/608-launch-guard-cooldown-max-wallet</li></ul> [Compare with previous version](/PlasticDigits/cl8y-dex-terraclassic/-/merge_requests/405/diffs?diff_id=1978185396&start_sha=bcd58a3bfff1dccfcefb0808a722bbdadb43749e)
PlasticDigits commented 2026-08-23 12:35:53 +00:00 (Migrated from gitlab.com)

added 2 commits

  • 709a2694 - fix: adapt #608 tests to #605 launch-guard and initial_exempt defaults
  • 784ac9e1 - fix: align audit_poc fixtures with #605 VariableRates and AutoLP bind

Compare with previous version

added 2 commits <ul><li>709a2694 - fix: adapt #608 tests to #605 launch-guard and initial_exempt defaults</li><li>784ac9e1 - fix: align audit_poc fixtures with #605 VariableRates and AutoLP bind</li></ul> [Compare with previous version](/PlasticDigits/cl8y-dex-terraclassic/-/merge_requests/405/diffs?diff_id=1978186214&start_sha=33e4153f87ef075614781734950f0cfa211695c2)
PlasticDigits commented 2026-08-23 12:35:54 +00:00 (Migrated from gitlab.com)

mentioned in commit e437cdfcc3

mentioned in commit e437cdfcc3881625a997c772f63b24d606c4628b
PlasticDigits (Migrated from gitlab.com) merged commit e437cdfcc3 into main 2026-08-23 12:35:54 +00:00
PlasticDigits commented 2026-08-23 12:41:00 +00:00 (Migrated from gitlab.com)

mentioned in issue #611

mentioned in issue #611
PlasticDigits commented 2026-08-23 12:41:12 +00:00 (Migrated from gitlab.com)

mentioned in issue #605

mentioned in issue #605
PlasticDigits commented 2026-08-23 12:41:13 +00:00 (Migrated from gitlab.com)

mentioned in issue #608

mentioned in issue #608
PlasticDigits commented 2026-08-23 12:41:15 +00:00 (Migrated from gitlab.com)

mentioned in issue #609

mentioned in issue #609
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
code/cl8y-dex-terraclassic!1123
No description provided.