ops: CMM-custodied LP — SpaceUSD/UST1, UST1/ALPHA, CL8Y/ALPHA, CL8Y/WILLY #558
Labels
No labels
agent:fix_bugfix
agent:fix_conflicts
agent:fix_security
agent:gap_analysis
agent:implement
agent:implement
agent:implement
agent:open_issues
agent:ready
agent:research
agent:security_audit
agent:verify
architecture
backend
blocker:hybrid
blocker:launch
blocker:limit-orders
blocker:v2
block:log_only
block:security
bug
ci
contracts
correctness
deploy
dev
devops
docs
documentation
duplicate
e2e
enhancement
epic
feature
frontend
functional-completion
gas
good first issue
governance
help wanted
high-risk
hooks
hybrid
indexer
infra
infrastructure
integrators
invalid
launch-blocker
limit-orders
localnet
localterra
low priority
missing-implementation
needs-design
ops
performance
priority
high
priority
medium
product
qa
QA
question
ready
ready
research
scripts
security
security-hardening
smartcontracts
tech-debt
testing
ux
UX
v2
verification
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
code/cl8y-dex-terraclassic#558
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Create new CL8Y factory pairs and seed protocol-owned LP into the ustr-cmm CMM treasury. LP must be held in custody — not sold, not
RemoveLiquidity/ broken, not transferred out of CMM except by explicit later governance.This is not a soft-launch gemstone pair and must not be folded into
mainnet-soft-launch-defaults.sh(U6).Parent ops patterns: #508 (create/seed),
docs/runbooks/rebalance-mint-ust1-lp.md(mint UST1 → provide withreceiver= CMM).Custody invariant
terra16j5u6ey7a84g40sr3gd94nzg5w5fm45046k9s2347qhfpwm5fr6sem3lr2provide_liquiditywithreceiver= CMM so the admin hot wallet holds no leftover LPTarget pairs (all new on this factory)
Factory query 2026-08-26: SpaceUSD/UST1, UST1/ALPHA, and CL8Y/ALPHA are live (CMM-custodied LP). CL8Y/WILLY still
pair not found. Do notRegisterListedPairGDEX/Terraport.terra1rmdtck…hn5u6terra163qm8…k40zCL8Y quantity (corrected): 4,000 CL8Y tokens from liquidity — 2,000 into CL8Y/ALPHA and 2,000 into CL8Y/WILLY. This is a token count, not “$2,000 USD of CL8Y”. Pair the other leg to the USD value of those 2,000 CL8Y at the live CL8Y print used for the provide.
ALPHA from team: $1k USD notional for UST1/ALPHA, plus a second ALPHA send sized to match 2,000 CL8Y USD for CL8Y/ALPHA.
Record the old CZB pool and old CL8Y/ALPHA pool addresses + txs when liquidity is migrated / superseded (those venues are not on this factory today).
Price check (size at execution, not at ticket open)
ALPHA (live GDEX $0.0000104787 2026-08-26) — UST1/ALPHA still $1k/$1k
terra1xu5k…mnq765operator print 2026-08-26$0.00005338)0.000010647 (+1.6%)terra12u7khzrzn05a73xkpq6a5zrcazz2xmqn7lvupmqmca06pgcyt5qsa9e7p6(2026-08-18, superseded)GDEX is the deeper ALPHA/LUNC venue (~$3.1k TVL vs Terraport ~$0.56k). LCD reserves: 147,906,572.793300 ALPHA / 29,500,063.251813 LUNC → 0.19945066 LUNC per ALPHA. Operator USD uses LUNC ≈ $0.00005254 (matches GDEX UI); indexer/CoinGecko LUNC is ~$0.0000533–$0.0000535.
Post-adopt smoke (LUNC→ALPHA on this pair):
72E31C013AB41C0FF9CA42F74929B65925952BF4EF95B249332E08689784C0D6height 30117000 — 1000 LUNC → 5,078.319575 ALPHA,tax_kind=honest/tax=0(GDEX not registered).Do not use LuncScan’s $0.0596 print. Do not
RegisterListedPairthe GDEX or Terraport pair. Re-quote ALPHA immediately before provide.CL8Y — 2,000 tokens per CL8Y pair (not $2k USD)
CoinGecko
ceramicliberty-com2026-08-18 ~21:00 UTC+9: $0.483059 → 2,000 CL8Y ≈ $966.12 per pool; 4,000 CL8Y ≈ $1,932.24 total. Matching ALPHA at GDEX $0.0000104787 ≈ 92,198,269 ALPHA (was 42,881,403 at the old $0.00002253 print). Re-quote both legs together.cl8y.com spot can differ from CoinGecko — use one recorded print for both the CL8Y USD notional and the matching ALPHA/WILLY size.
SpaceUSD
Peg 1 SpaceUSD = 1 UST1 (not an external USD oracle). Mint UST1 1:1 human against the SpaceUSD amount actually provided.
Known mainnet anchors
terra1ejpgvv7g3hj0u6fpcnxhflqp84g0w3cnaskqkg5733ygwlmf963sfchseaterra1e7s0h9ftxakwca5gxspyt4haeuaqxds6swr08ul3tsepq7el924sprrsrwterra16j5u6ey7a84g40sr3gd94nzg5w5fm45046k9s2347qhfpwm5fr6sem3lr2terra1zlmv2xydxcusurtr6rl78wsvytdc6mfex6hep7terra1f0eqgy9w7e5e7up97vjudqwx38tesf8ylx75x2lv3nwm0clry0pqmgfy72terra16wtml2q66g82fdkx66tap0qjkahqwp4lwq3ngtygacg5q0kzycgqvhpax3terra1x6e64es6yhauhvs3prvpdg2gkqdtfru840wgnhs935x8axr7zxkqzysuxzterra1ljqgc0cdkl7gcc7s64eczv3hrgga32vfh8xvfjterra1xu5kwmurh9jlz647ksu77lrd3ylz0hpnjljvkwsscadsxnwwq4yqmnq765— Garuda marketterra1cvd5cgrs8rrl96hte34n57497u5f9cwuv3e6ztxgetkx4uzmcdyswv79zlF4tzWuCqabuxjZPEouLTFsPAsdi1XrR9BqVdXfvNaEX6(wild willy); DexScreener Meteora WILLY/SOLEW8okuUphZ78qZ23TKuXNpGFGTiFkk6fPhSA62zYX4TM; Terra Classic CW20 after CL8Y bridge registerALPHA live
CodeInfochecksum 11630E60A6E31BB0261505170208BBF2B0E17CDB4C6258D701E2E6D22E362CA872B96. Former 8654 checksum85B92B099C828F236F6B1B09EAADF62DEA5BB5DCE56F16153827C1E850A1101A(do not list). SpaceUSD checksum953AD60CF6D8C9631B99ADC84C3ABF4083815743F86FF81B2A422FDFDF5F95C0.Factory whitelist 2026-08-26 LCD:
[6036, 8266, 10184, 11630]. SpaceUSD, UST1/ALPHA, and CL8Y/ALPHACreatePairRAN. NeverAddWhitelistedCodeId8654. Bridged WILLY: whitelist its actual post-bridge code ID (likely 10184 if the CL8Y bridge mints with cw20-mintable; confirm on LCD).ALPHA adopt (RAN 2026-08-26, S4 — not wrap, not 8654 list)
In-place
MsgMigrateContractonto listed tax pin 11630, thenMsgUpdateAdmin→ CMM in the same tx. CW20 address unchanged. Oldtax_map/ FoT wiped (fot_wiped=1). Wrap vs drop is superseded by this adopt.crates.io:cl8y-community-tax-token/1.0.0)crates.io:cw20-base/1.1.0+taxed001)22667F2125045F900C06B295CCD6BBFA095A2293133353CAE6772A71F07D7D2Bterra16j5u6ey7a84g40sr3gd94nzg5w5fm45046k9s2347qhfpwm5fr6sem3lr2transfer_bpsnull → 0)ALPHA Lunc Universe, symbolALPHA, 6 dp,total_supply1328073898910899(~1.328B)Adopt payload (on-chain):
Do not
RegisterListedPairTerraport ALPHA/LUNC, ALPHA/USTC, or GDEX ALPHA/LUNC. FactoryCreatePairautoregistered the new UST1/ALPHA and CL8Y/ALPHA pairs on ALPHA (#633). External DEX stays 1:1 after the wipe.Factory seeds RAN 2026-08-26 (CMM LP custody)
DEX 2-of-3 provide with
receiver= CMM. 5% then 95% remainder. Temporary scripts:scripts/tmp-558-seed-cl8y-alpha.sh,scripts/tmp-558-seed-ust1-alpha.sh.CL8Y / ALPHA — sized 2,000 CL8Y from deepest factory CL8Y pool (CL8Y/cUSTC) + GDEX×LUNC ALPHA.
terra163qm8z5rjgp8av6c6sg673lq2v4kfa0we5uhtzj8alfwhddfhjfs27k40zterra1hymuueuu43750rzut69hxmefl3m5gg27uxnu9fytcvlah27l5rtsrg87rcBD257C97B692B5582263909A86293D9845B0D404BFE2EE5B4F2C25CC03160FE0height 3011720878A4D6959FC64977346E104CB9DC6FC55989E86348E2124D917FA0EFE3637876height 3011723469DB2780D5A9F24430E5A3A4C0D3FA3123C41334C6F2B7EFA9A3E5C6C33CCDB4height 30117256456193389812784420(total_share+1000 burn). 2-of-3 LP 0UST1 / ALPHA — hub-sized $1k / $1k at provide-time GDEX ALPHA $0.000010618 × hub UST1 $0.95789 (not 1000 face UST1).
terra1rmdtckz5gd0usja36ydwat6prnmew639ry37yq72xh9ek4s3m83sehn5u6terra12ff3nhu239y6a5lh0rs8nwlntc9wulkm3c4x598hp5gjfeqk87xszxkrmpA51FC4053EA0ED477C2D13AA6DE17C7CF2C6AA78E2FBDD22BD29682E09ED4731height 30117302 (register_listed_pair)C249992404041841B6E041EBD07FB33B61546A319BA52C3F89B7D6D922C74351height 301173096DCD53D57DD4A3A9CE7B4F4D573AC3E12C50955DDFC26FF4A64DBCD91F4386D6height 30117336313558847300(total_share+1000 burn). 2-of-3 LP 0terra1w37akazcflgtyp9teawfgq7xm99z7kc4cpdrsj(LCD: Dist105198754965622, 2-of-3 ALPHA 0; transfer tax 0 /honest)2-of-3 CL8Y after both ALPHA seeds: 0. Remaining 2,000 CL8Y for WILLY is not on 2-of-3 — still needs a liquidity send.
CMM balances snapshot (2026-08-18, LCD)
20003218010000000000000017977151Inventory staging (2026-08-19): partner ALPHA + liquidity CL8Y landed on the DEX 2-of-3 (
terra1zlmv2xydxcusurtr6rl78wsvytdc6mfex6hep7), not CMM. LCD after those sends: 2-of-3 holds 207,000,000 ALPHA and 2,000 CL8Y; CMM still 10,000,000 ALPHA and 0 CL8Y. Provide must still usereceiver= CMM. Tx hashes in issue comments.If more SpaceUSD sits off CMM, move it in first, then mint UST1 1:1 against the final CMM (or provide-wallet) SpaceUSD amount. SpaceUSD
total_supplyis 530 human — CMM already holds ~200 of that.Workstream
0. Whitelist (blocker)
AddWhitelistedCodeId8266 — height 30060600, txBA7C9FD05D0FC0BC14713A53325E1F42AAAECF3A11E4EC3BC91368013D8FC5D1AddWhitelistedCodeId8654 (H-01 /cw20_taxed). 11630 is listed.AddWhitelistedCodeIdif not already 10184 / 60361. SpaceUSD / UST1 (1:1)
scripts/rebalance-mint-ust1-lp.sh— not wrap-stack governance)CreatePairSpaceUSD + UST1; provide withreceiver= CMM2. UST1 / ALPHA (replace old CZB pool) — unchanged: $1k / $1k
receiver= CMM.CreatePairvia 11630 adoptCreatePairUST1 + ALPHA; 5%+95% provide $1k/$1k withreceiver= CMM; factory autoregistered this pair only (not GDEX/Terraport)3. CL8Y / ALPHA (replace existing CL8Y/ALPHA venue)
receiver= CMM.CreatePairvia 11630 adoptCreatePairCL8Y + ALPHA; provide 2,000 CL8Y + matching ALPHA withreceiver= CMM; factory autoregistered this pair only (not GDEX/Terraport)terra12u7khzrzn05a73xkpq6a5zrcazz2xmqn7lvupmqmca06pgcyt5qsa9e7p6stays 1:1 after wipe — do not register it)4. Register WILLY on CL8Y bridge (Solana → Terra Classic)
F4tzWuCqabuxjZPEouLTFsPAsdi1XrR9BqVdXfvNaEX6(DexScreener pair above)frontend-dappregistry/logo for WILLY (ALPHA and SpaceUSD are already intokenlist/tokenlist.json)5. CL8Y / WILLY
CreatePairCL8Y + WILLY; provide withreceiver= CMM6. Indexer / UI / catalog
/pool//trade//chartsshow the new markets (ALPHA + SpaceUSD already listed; WILLY after #4)MAINNET_SOFT_LAUNCH_PAIRSAcceptance criteria
[6036, 8266, 10184, 11630])RemoveLiquidity/ LP sale from CMM as part of this workLabels
deploygovernanceproductdocsfrontendenhancementOwner type
ops / governance (DEX 2-of-3 + CMM) / product
Priority
P1 — partner LP + bridge listing; not a launch-blocker for existing UST1 window pairs
changed the description
Sizing correction (description updated):
changed the description
Ops update 2026-08-19 — inventory staging + WILLY Solana mint
Anonymized operator notes (no chat logs, no names). Transfers went to the DEX 2-of-3 (
terra1zlmv2xydxcusurtr6rl78wsvytdc6mfex6hep7), not CMM. Provide must still usereceiver= CMM.WILLY (Solana) — workstream 4 input
F4tzWuCqabuxjZPEouLTFsPAsdi1XrR9BqVdXfvNaEX6(wild willy)EW8okuUphZ78qZ23TKuXNpGFGTiFkk6fPhSA62zYX4TMRe-quote at bridge/provide. Terra Classic CW20 still TBD after CL8Y bridge register.
Transfers (columbus-5,
code0)Operator sizing (not LCD): matching ALPHA for 2,000 CL8Y ≈ 99,699,839 → sent 100M. UST1/ALPHA ≈ 106,352,430 → sent 107M (extra flex; 7d volume was light).
First LCD check: transfers succeeded. Office double-check still pending.
LCD balances after these sends (2026-08-19)
Remaining 2,000 CL8Y for CL8Y/WILLY not sent yet. Whitelist +
CreatePair/ provide still open.changed the description
ALPHA code 8654 — do not whitelist (fee-on-transfer)
LCD
token_info/tax_mapon ALPHA (terra1x6e64es6yhauhvs3prvpdg2gkqdtfru840wgnhs935x8axr7zxkqzysuxz) iscw20_taxed, not a 1:1 CW20. Code ID 8654, checksum85B92B099C828F236F6B1B09EAADF62DEA5BB5DCE56F16153827C1E850A1101A.Live
tax_map(2026-08-20):on_sendon_transferon_transfer_from/on_send_fromterra1ljqgc0cdkl7gcc7s64eczv3hrgga32vfh8xvfj(mutable; not DEX 2-of-3)Factory whitelist is still
[6036, 10184].CreatePairwith ALPHA will failCodeIdNotWhitelisted. That is the correct failure.Trap:
increase_allowance+provide_liquidityusestransfer_from, which this tax map does not tax. A seed can look 1:1 and CMM LP balances will increase. The first traderSendinto a CL8Y pair (wasm 11586, not 8260/8214) then pays 1%. Pair credits the declaredSend.amount(P2 / #377). InternalRESERVESthen exceed the CW20 balance. Limit-order escrow has the same declared-amount credit (SEC-I01). Documented in-repo byadversarial_token::fee_on_transfer_creates_reserve_imbalance. H-01 /cw20-code-id-ops.md: do not implement balance-delta reconciliation; do not whitelist FoT templates.Whitelisting 8654 is also factory-global: any other instantiate of that wasm could
CreatePair, not only this ALPHA.UST1/ALPHA and CL8Y/ALPHA stay inventory-ready on the 2-of-3 (207M ALPHA + 2,000 CL8Y-cb at 18 dp). They must not go live on this factory as raw ALPHA.
Why this is the Balancer-class bug (and why “just sync” is not a fix)
Balancer STA/STONK, 2020-06-28 (~$500k). Pools held deflationary ERC20s (1% transfer fee). BPool stored
_records[token]from the declaredtransferFromamount, notbalanceOf. Repeated swaps drove actual STA to ~1 wei while internal reserves stayed high. Attacker calledgulp()(sync internal records to actual near-zero balance), STA marked as extremely expensive vs WETH/WBTC/SNX/LINK, then drained the other legs. Write-ups: Balancer post-mortem, 1inch analysis, PeckShield / CertiK.Our pair is the same accounting model as pre-gulp Balancer: reserves follow protocol messages, not CW20 balance deltas. We have sweep for excess donations (opposite of underfunding). Sweep does not repair a shortfall; a shortfall breaks withdraw / cancel.
Uniswap V2 / PancakeSwap later added
swapSupportingFeeOnTransferTokens(measurebalanceOfbefore/after). That is a protocol change we explicitly rejected (H-01). It also does not close the class:K.skim()is a steal; negative rebase needssync().sync()/skim()/addLiquidityfrom their own fee hook have been used to corrupt Pancake V2 reserves (fee-token skim / auto-liq class). ALPHA’s tax proceeds go toterra1w37akazcflgtyp9teawfgq7xm99z7kc4cpdrsj; even if that address is “just a wallet” today, the wasm is still a taxed template under someone else’s admin.So: do not whitelist 8654, and do not add FoT-supporting swap math to ship these two pools.
How others handle taxed assets (what actually works)
dst8260/8214 onsend,srctax on transfer-out)AddWhitelistedCodeId8654, which we must not do. Tax admin can revert the exemption later. Transfer-out of the pair (swap out / LP remove) is 4.5% on Terraport — that direction also desyncs us unless we measured balances.cALPHA(10184), not ALPHA (8654).*SupportingFeeOnTransferTokensStrategies (preferred first)
1. Wrap ALPHA into a 10184 CW20 (
cALPHA) and route like native (recommended)Same shape as LUNC → treasury/
WrapDeposit→ cLUNC → pairSend, and reverseunwrap_output:cALPHA(already whitelisted). DEX 2-of-3 extra minter (or wrap-stack governance) as on UST1.increase_allowance+ wrappertransfer_from— ALPHAon_transfer_fromis untaxed, so the wrap itself can be 1:1 without begging the tax admin. Unwrap = burn cALPHA +transferALPHA out (on_transfertaxes only when source is Terraport pair code, so a 10184 wrapper should also be 1:1 on unwrap).receiver= CMM. Raw ALPHA never becomes a pair asset.NATIVE_TOKEN_WRAPPING.md). Retail can also hold cALPHA.Advantages vs tax-map exemption: factory never lists 8654; P2 holds; tax admin cannot rug the pool by editing
tax_map; swaps do not pay 1% per hop; limit book sees 10184. Cost: one new CW20, wrap UX or at least a protocol-owned wrap, tokenlist/logo for cALPHA, partner communication that the CL8Y venue is wrapped ALPHA not Terraport ALPHA.A POL-only wrap (no public wrap-mapper) is the simpler subset: wrap the 2-of-3 inventory, list cALPHA pools, skip retail wrap until later. That is enough for this issue’s custody LP.
Do not add 10184 to ALPHA’s
on_senddest exemption just to makeSend-based wrap tax-free — that would exempt every 10184 contract as a destination. Address-level exemption of the wrapper only would be fine if the tax wasm supports it;transfer_fromwrap avoids that ask.2. Ask ALPHA tax admin to exempt CL8Y pair code 11586 (Terraport clone) — not sufficient alone
Even a perfect exemption still wants
AddWhitelistedCodeId8654, which opens the factory to the whole taxed template and to latertax_mapedits. Treat as a Terraport compatibility nicety for other venues, not as the listing path here.3. Do not list ALPHA on this factory
Simplest ops: leave 2-of-3 ALPHA idle (or return to partner). No 8654, no wrap contract. Fails the UST1/ALPHA and CL8Y/ALPHA rows of this issue.
4. Pair/router balance-delta / FoT swap support
Would be a new audit surface, fights H-01, and historically failed in the Balancer gulp direction and in Pancake “token fee hook calls sync/skim/addLiquidity” direction. Out of scope for these pools.
Proposed issue update
AddWhitelistedCodeId8654cALPHAvs full wrap-mapper analogue) vs drop ALPHA pairstransfer_from, thenCreatePair/ provide UST1/cALPHA and CL8Y/cALPHA withreceiver= CMMSendraw ALPHA into CL8Y pairsWorkstream 2 and 3 (UST1/ALPHA, CL8Y/ALPHA) stay blocked on this decision. CL8Y/WILLY is independent (bridge + remaining 2,000 CL8Y).
mentioned in issue #581
marked as related to #581
Gate for SpaceUSD/UST1: do not
AddWhitelistedCodeId8266 or create/seed the pair until #581 (CW20 8266 source review) is closed with a go/no-go. Workstream 1 is blocked on that audit.mentioned in issue #582
marked as related to #582
Gate for workstream 1 (SpaceUSD/UST1)
#581 (8266 source audit) is itself gated by #582: listed CW20s can
MsgMigrateContractoff the factory whitelist afterCreatePair. Do not seed SpaceUSD/UST1 until both 581 and 582 are decided.ALPHA 8654 remains a separate do not whitelist (already
cw20_taxed); that is not the 582 migrate hole.mentioned in issue #589
mentioned in issue #591
marked as related to #591
#581 template gate is GO via merged !1115 (
codeids/8266/REPORT.md). Workstream 0 can take DEX 2-of-3AddWhitelistedCodeIdfor 8266 (columbus-5 code id only — not a LocalTerra store id).8654 / ALPHA is still not approved by this GO. Split the whitelist step: 8266 may proceed; 8654 stays blocked until its own audit.
SpaceUSD/UST1 create+provide (
receiver= CMM) remains this issue’s workstream 1. Leftover BLOCK/NO-GO copy in launch-checklist / testing / qa-invariants: #591.changed the description
changed the description
Workstream 0 — 8266 live on columbus-5
DEX 2-of-3 executed factory
AddWhitelistedCodeId { code_id: 8266 }. Verified on LCD/RPC.terra1ejpgvv7g3hj0u6fpcnxhflqp84g0w3cnaskqkg5733ygwlmf963sfchseaterra1zlmv2xydxcusurtr6rl78wsvytdc6mfex6hep7(multisig_2of3)action=add_whitelisted_code_idcode_id=8266BA7C9FD05D0FC0BC14713A53325E1F42AAAECF3A11E4EC3BC91368013D8FC5D1GetWhitelistedCodeIds[6036, 8266, 10184]IsCodeIdWhitelisted 8266Template gate was already GO on #581. This is the listing tx.
Not done / do not whitelist: ALPHA 8654 (
cw20_taxed). WILLY still needs a post-bridge code id.Next: workstream 1 —
CreatePairSpaceUSD/UST1 + provide withreceiver= CMM. This issue stays open.Query note:
terrad query … --nodeis Tendermint RPC (https://terra-classic-rpc.publicnode.com:443), not LCD. LCD without a port fails withmissing port in address.marked the checklist item Mint UST1 1:1 via DEX 2-of-3 extra minter (same path as scripts/rebalance-mint-ust1-lp.sh — not wrap-stack governance) as completed
marked the checklist item CreatePair SpaceUSD + UST1; provide with receiver = CMM as completed
marked the checklist item Record pair addr, create tx, provide tx, amounts as completed
Workstream 1 — SpaceUSD/UST1 pair live (1000/1000 → CMM)
Factory
CreatePair+ first provide at 1 SpaceUSD = 1 UST1. LP minted to CMM. Admin holds 0 LP.terra1xx5t5em3aza3lst0s5yc7rjgx9psapa3345v2vzfqkrprhw3vv6q3hahxyterra1s3jk92zeslgxxaux5nj8gtcqxafwsufglw2rhkazv4rrt7sg3wfsqj7twz(UST1-SPAC-LP)total_share1e9)999999000(1e3 locked as minimum liquidity)cl8ydeployLPProposeWithdrawif we add it later)fee_bps=180, treasury = CMM, discount registry inheritedcl8ydeploy38FF6C28…cl8ydeploy552E79DA…CreatePair30C5DA6A…receiver=CMM5F47FF93…UST1 mint was DEX 2-of-3 extra minter, not wrap-stack governance. ALPHA / CL8Y / WILLY workstreams unchanged.
Come back: SpaceUSD CMM withdraw — 2026-08-30 03:09:45 UTC
CMM
ProposeWithdrawof leftover 200.032180 SpaceUSD →cl8ydeployis pending (7-day timelock). Funds are still in CMM untilExecuteWithdraw.bb2be6e91c4c35921b51c6381a0b1c55200032180SpaceUSDterra1hu4zggf3f8yw6jw3rxrjxn2drwad675gq5k2lv(cl8ydeploy)C605AD4E…(height 30070519)Duplicate: a second identical propose was broadcast 11s later (
cac18b31e5d5b29b8141233f33f8b05b, tx5CEFC1E3…). CMM only holds 200.032180. Cancel the duplicate now (cl8y2_admin):After unlock:
ExecuteWithdrawbb2be6e91c4c35921b51c6381a0b1c55→ mint 200.032180 UST1 1:1 →provide_liquidityon existing pairterra1xx5t5em3aza3lst0s5yc7rjgx9psapa3345v2vzfqkrprhw3vv6q3hahxywithreceiver= CMM. No secondCreatePair.Duplicate CMM withdraw cancelled.
cancel_withdrawcac18b31e5d5b29b8141233f33f8b05b— txD2C982A4…height 30070543 (2026-08-23T03:12:06Z).One pending left:
bb2be6e91c4c35921b51c6381a0b1c55. Come back 2026-08-30 03:09:45 UTC forExecuteWithdraw→ mint 200.032180 UST1 → provide on existing SpaceUSD/UST1 pair to CMM.Recommendation: ALPHA venues on 11611 (do not whitelist 8654)
Factory already lists the DEX-safe community tax template (11611, #601 REPORT GO,
GetWhitelistedCodeIds[6036, 8266, 10184, 11611]). That is the only taxed CW20 this factory will list. 8654 stays known-bad (cw20_taxed/ inbound FoT / P2). Do notAddWhitelistedCodeId 8654.This is the preferred path for UST1/ALPHA and CL8Y/ALPHA if ALPHA governance wants tax + CL8Y listing. It is not a wrap (
cALPHA/ 10184) and not a Terraporttax_mapexemption.Does the current situation allow
MsgMigrateContract8654 → 11611?Admin can sign. The wasm cannot accept it. In-place migrate is not available.
terra1x6e64es6yhauhvs3prvpdg2gkqdtfru840wgnhs935x8axr7zxkqzysuxz)code_idterra1ljqgc0cdkl7gcc7s64eczv3hrgga32vfh8xvfj(Lunc Universe — not CMM, not DEX 2-of-3)terra1ghewclqpgu2j2pr76g3m3d945ldfyv58zrucp9cw20_taxed(notcrates.io:cl8y-community-tax-token)11611
migrateis a same-crate version bump only (ensure_from_older_versiononcrates.io:cl8y-community-tax-token). ALPHA’s store iscw20_taxed+tax_map. A migrate signed byterra1ljqgc…would revert (wrong cw2 name) or, if forced with a custom importer we do not have, brick balances/config. There is no importer for 8654 state.CMM / DEX 2-of-3 cannot migrate ALPHA. Only the ALPHA wasm admin can. Even with that signature, 11611 will not load 8654 state.
Keep using the existing ALPHA address on Terraport. For this factory, ship a new 11611 instantiate (new
terra1…) via the canonical launcher 11614 (terra126pr5…ahzwze), thenCreatePair/ provide. Holders stay on 8654 unless they swap into the new token.Live ALPHA settings (LCD 2026-08-23)
ALPHA Lunc Universe/ALPHA/ 6total_supply1328073898910899raw (~1.328B human)minternull(mint off)terra1w37akazcflgtyp9teawfgq7xm99z7kc4cpdrsjon_sendsrc0.01)on_senddston_transfersrc0.045)on_transferdston_transfer_from/on_send_fromThat
on_sendAlways 1% is inbound FoT into any non-exemptSenddest — why P2 fails and why we will not list 8654.Closest 11611 settings (new token, not a migrate)
Launcher create (
CreateToken0-SKU, or paid SKUs via #595). Wasm admin will be CMMterra16j5u6…sem3lr2(T592-5). ALPHA’s current admin becomes manager only — they cannotMsgMigrateContract/UpdateAdminafter create. They must accept that.sell_bpsSend+Swapto a registered CL8Y pair; pair still creditsamountbuy_bpsTransfer/Sendfrom a registered listed pairtransfer_bps/ TransferTax SKUtransfer_taxtransfer_fromuntaxedterra1w37akazc…cpdrsjtreasuryterra1ljqgc…xvfjmanagerdecimals/symbolALPHA(name can stayALPHA Lunc Universe)max_*max_sell=100,max_buy=450,max_transfer=0(sum 550 ≤ 2500)RegisterListedPairCreatePair, register this factory’s UST1/ALPHA and CL8Y/ALPHA pair addresses — not Terraport codesThen: DEX 2-of-3 / CMM
CreatePairUST1 + new ALPHA and CL8Y + new ALPHA;RegisterListedPairon the token; provide withreceiver= CMM (this issue’s custody rule). 11611 is already whitelisted — workstream 0 for ALPHA is unblocked on the new address.Unlock later only if they want it:
variable_rates(raise buy/sell within caps),exemption_directory, AutoLP. Each SKU / settings save is 50 UST1 to launcher/token.What 11611 cannot copy
tax_map(1% on every Send, 4.5% only when src is 8260/8214). 11611 taxes listed CL8Y pairs only (plus optional wallet transfer tax).UpdateTaxMapwith no invoice. 11611 rate changes need a 50 UST1 settings batch and stay inside instantiate caps.If they need the existing ALPHA balances in CL8Y pools without a new ticker, that is still the 10184
cALPHAwrap path already on this issue (allowancetransfer_fromis untaxed on 8654). 11611 is the path when they want a listed tax token under T592, not a wrap of 8654.Decision for workstreams 2 / 3
RegisterListedPair.cALPHA10184 — keep 8654 as the holder asset; pools see 1:1 wrap.Do not mix (1) with
AddWhitelistedCodeId 8654. Playbooks:AGENTS_COMMUNITY_TAX_CW20.md(T592 / O601), Create Token #593 / #602.mentioned in issue #603
marked as related to #603
mentioned in issue #626
marked as related to #626
mentioned in merge request !1136
#626 / !1136 ships listed-template in-place adopt onto 11619. It does not replace POL wrap vs drop for ALPHA. S4 (8654) stays no-go on the migrate page. This issue stays open.
mentioned in issue #628
marked as related to #628
changed the description
ALPHA S4 adopt verified (8654 → 11630) — wrap vs drop superseded
LCD
https://terra-classic-lcd.publicnode.com2026-08-26. Address unchanged. Do notAddWhitelistedCodeId8654.terra1x6e64es6yhauhvs3prvpdg2gkqdtfru840wgnhs935x8axr7zxkqzysuxzcrates.io:cl8y-community-tax-token/1.0.0· hashE60A6E31BB0261505170208BBF2B0E17CDB4C6258D701E2E6D22E362CA872B96crates.io:cw20-base/1.1.0+taxed00122667F2125045F900C06B295CCD6BBFA095A2293133353CAE6772A71F07D7D2BMsgMigrateContract{adopt:…}thenMsgUpdateAdmin→ CMM (same bundle, M626-5)terra16j5u6ey7a84g40sr3gd94nzg5w5fm45046k9s2347qhfpwm5fr6sem3lr2action=migrate-adoptfot_wiped=1s4=truemint_revoked=false(source had no minter;minterquery isnull; MintControl off)Adopt payload matches on-chain
msg:Token check (live)
ALPHA Lunc Universe· symbolALPHA· 6 dp ·total_supply1328073898910899(~1.328B) — matches tokenlist addressGetConfigterra1ljqgc0…xvfj· treasury/CMM/factory/router/UST1/launcher pins match payload · buy 450 / sell 100 / transfer 0 · max same · combined 550 ≤ 2500GetFeaturesGetMigrateOrigincrates.io:cw20-base· version1.1.0+taxed001· source_code_id 8654 · migrated_at_height 30116924GetLauncherOriginterra126pr5323xkhwas7y03azv48sqr2fy3fxxg0sxu8xhmjdxr8v5tzqahzwzetax_mapTaxPreviewwallet→wallettax=0)TaxPreview→ Terraport ALPHA/LUNCGetWhitelistedCodeIds[6036, 8266, 10184, 11630]· 11630 true · 8654 falsePairUST1/ALPHA and CL8Y/ALPHAconfigured=true· code_id 11630 ·attested_cmm=true·launcher_tx=null(adopt origin, not faked)Inventory (unchanged by migrate)
1000000000000020700000000000002649073555816623466167250What this unblocks
Workstreams 2 and 3 may
CreatePairagainst this address (listed 11630). After each new CL8Y factory pair,RegisterListedPairso sell extra-debit / buy split apply (#633). Do not register Terraport/GDEX pairs. Provide still usesreceiver= CMM. Re-quote ALPHA before send.Issue description updated with the same anchors. This issue stays open for create + provide + WILLY.
changed the description
GDEX ALPHA/LUNC quote + post-adopt LUNC→ALPHA swap verified
LCD
https://terra-classic-lcd.publicnode.com2026-08-26.Swap tx is LUNC → ALPHA on Garuda / GDEX
72E31C013AB41C0FF9CA42F74929B65925952BF4EF95B249332E08689784C0D6terra1eel4krahz8nr5vjw5w784ly7tjuu839mgmredngu7qdvwjxs43ds304q76·source=Garuda·action=swap_splitterra1xu5kwmurh9jlz647ksu77lrd3ylz0hpnjljvkwsscadsxnwwq4yqmnq765(Garuda market)return_asset= ALPHA CW20tax_kind=honesttax=0(GDEX is not a CL8Y listed pair — M626-10)terra1w37akazcflgtyp9teawfgq7xm99z7kc4cpdrsj(former 8654 tax-map sink)Route path is
uluna→ ALPHA on that pair. This is a live post-wipe 1:1 hop on GDEX, not a CL8Y extra-debit sell.GDEX pool vs operator USD 0.0000104787
Pair code 10902 (
pair_base) · LPterra143h0wpyhdwnlhj3g6xhlzs6rh9lx2tcluq258ktx2a3773cqm50q8cxu8z(code 9788).asset1terra1x6e64…zysuxzasset2ulunareserve1147906572793300(147,906,572.793300 ALPHA)reserve229500063251813(29,500,063.251813 LUNC)simulate_swap1000 LUNC4988534264ALPHA (now; reserves moved after the smoke swap)Operator $0.0000104787 = GDEX spot × LUNC ≈ $0.00005254. Independent cross-check (same spot × indexer LUNC $0.00005338) → $0.000010647 (+1.58%). CoinGecko LUNC
$0.00005354→ $0.000010679. Treat 0.0000104787 as the GDEX UI print; it is consistent with the pool, not the old $0.00002253 Coinhall figure.Terraport ALPHA/LUNC (
terra12u7kh…e7p6) is thinner: 26.49M ALPHA / 5.443M LUNC →$0.00001097 at indexer LUNC. GDEX is the deeper venue ($3.1k TVL).Sizing at $0.0000104787: $1,000 → 95,431,685 ALPHA. 2,000 CL8Y at the 2026-08-18 $0.483059 print → 92,198,269 ALPHA. 2-of-3 207M still covers both (~187.6M) with ~19M flex. Re-quote CL8Y + ALPHA together at provide.
Do not
RegisterListedPairthis GDEX addr. Description price table updated. Issue stays open for create + provide.changed the description
CL8Y/ALPHA + UST1/ALPHA CMM seeds complete (2026-08-26)
LCD verified. Provide used DEX 2-of-3 with
receiver= CMM. FactoryCreatePairautoregistered these two pairs on ALPHA. Do notRegisterListedPairGDEXterra1xu5k…mnq765or Terraport ALPHA/LUNC.CL8Y / ALPHA — done
terra163qm8z5rjgp8av6c6sg673lq2v4kfa0we5uhtzj8alfwhddfhjfs27k40zterra1hymuueuu43750rzut69hxmefl3m5gg27uxnu9fytcvlah27l5rtsrg87rcBD257C97…0FE0h 3011720878A4D695…7876h 3011723469DB2780…CDB4h 30117256456193389812784420(2-of-3 LP 0)UST1 / ALPHA — done ($1k/$1k hub-sized)
terra1rmdtckz5gd0usja36ydwat6prnmew639ry37yq72xh9ek4s3m83sehn5u6terra12ff3nhu239y6a5lh0rs8nwlntc9wulkm3c4x598hp5gjfeqk87xszxkrmpA51FC405…4731h 30117302C2499924…4351h 301173096DCD53D5…86D6h 30117336313558847300(2-of-3 LP 0)Leftover 8,764,882.921173 ALPHA returned 2-of-3 → Dist
terra1w37akazcflgtyp9teawfgq7xm99z7kc4cpdrsj(LCD Dist105198754965622, 2-of-3 ALPHA 0, transferhonest/ tax 0). 1.060217 UST1 dust remains on 2-of-3.Still open on this ticket
MAINNET_SOFT_LAUNCH_PAIRS)ProposeWithdraw) — already noted under workstream 13/4 factory pairs live. Ticket stays open for WILLY + venue notes.
mentioned in issue #673
mentioned in issue #698
mentioned in issue #699
mentioned in issue #700