Audit leftover EOA control and DEX 2-of-3 accept queue #526

Open
opened 2026-08-15 12:43:42 +00:00 by PlasticDigits · 18 comments
PlasticDigits commented 2026-08-15 12:43:42 +00:00 (Migrated from gitlab.com)

Current state — verified 2026-09-24

Columbus-5 LCD block 30540667 (09:09 UTC). The DEX account is a 2-of-3 multisig.

  • Wrap-mapper and CMM treasury app governance and wasm admin are the DEX 2-of-3. App accepts are in #525; wasm-admin rotations are in #638.
  • ust1-window/oracle governance and wasm admin remain cl8y2_admin.
  • UST1/USTR/cLUNC/cUSTC CW20 admin and primary minter remain cl8y2_admin; vFDUSD wasm admin remains cl8y2_admin.
  • See current REGISTRY governance split.

Remaining DEX accept queue

  • Window/oracle transfer after product proposal: ust1-window#30.
  • CMM swap and product CW20 controls: ustr-cmm#15. Add DEX as an extra cLUNC minter before moving its primary minter.
  • Bridge admin transfer: cl8y-bridge-monorepo#135.
  • Broader LCD attestation and playbook reconciliation: #697.

Keep this issue open for the outstanding DEX accepts. #697 tracks security verification; it does not replace the accept queue.

## Current state — verified 2026-09-24 Columbus-5 LCD block **30540667** (09:09 UTC). The DEX account is a 2-of-3 multisig. - Wrap-mapper and CMM treasury app governance and wasm admin are the DEX 2-of-3. App accepts are in [#525](https://git.cl8y.com/code/cl8y-dex-terraclassic/issues/525); wasm-admin rotations are in [#638](https://git.cl8y.com/code/cl8y-dex-terraclassic/issues/638). - ust1-window/oracle governance and wasm admin remain cl8y2_admin. - UST1/USTR/cLUNC/cUSTC CW20 admin and primary minter remain cl8y2_admin; vFDUSD wasm admin remains cl8y2_admin. - See current [REGISTRY governance split](https://git.cl8y.com/code/cl8y-dex-terraclassic/src/branch/main/deployments/mainnet-ust1-wrap/REGISTRY.md#governance-split-ops-critical). ## Remaining DEX accept queue - Window/oracle transfer after product proposal: [ust1-window#30](https://gitlab.com/PlasticDigits/ust1-window/-/work_items/30). - CMM swap and product CW20 controls: [ustr-cmm#15](https://gitlab.com/PlasticDigits2/ustr-cmm/-/work_items/15). Add DEX as an extra cLUNC minter before moving its primary minter. - Bridge admin transfer: [cl8y-bridge-monorepo#135](https://gitlab.com/PlasticDigits/cl8y-bridge-monorepo/-/work_items/135). - Broader LCD attestation and playbook reconciliation: [#697](https://git.cl8y.com/code/cl8y-dex-terraclassic/issues/697). Keep this issue open for the outstanding DEX accepts. #697 tracks security verification; it does not replace the accept queue.
PlasticDigits commented 2026-08-15 12:43:43 +00:00 (Migrated from gitlab.com)

marked as related to #525

marked as related to #525
PlasticDigits commented 2026-08-15 12:43:43 +00:00 (Migrated from gitlab.com)

marked as related to #503

marked as related to #503
PlasticDigits commented 2026-08-15 12:43:44 +00:00 (Migrated from gitlab.com)

marked as related to #516

marked as related to #516
PlasticDigits commented 2026-08-15 12:43:46 +00:00 (Migrated from gitlab.com)

mentioned in issue PlasticDigits2/ustr-cmm#15

mentioned in issue PlasticDigits2/ustr-cmm#15
PlasticDigits commented 2026-08-15 12:44:01 +00:00 (Migrated from gitlab.com)

mentioned in issue #525

mentioned in issue #525
PlasticDigits commented 2026-08-25 05:56:54 +00:00 (Migrated from gitlab.com)

Two accept-queue items landed 2026-08-25. Re-queried LCD after both txs.

Done

Still open (do not close this tracker)

  • Wasm set-contract-admin on mapper + treasury (still cl8y2_admin)
  • Window / oracle ProposeGovernance then AcceptGovernance (ust1-window#30) — not proposed
  • Swap ProposeAdmin + 7d AcceptAdmin (ustr-cmm#15) — not proposed
  • Bridge admin transfer (cl8y-bridge-monorepo#135) — not proposed
  • Token primary minters / cLUNC extra minter before dropping primary

In-repo docs updated: REGISTRY.md governance split, O6, wrap-mapper-pause, deploy-trace. Pause/set_fees/set_wrapping_paused on mapper + treasury now require the 2-of-3.

Two accept-queue items landed 2026-08-25. Re-queried LCD after both txs. Done - CMM treasury AcceptGovernanceTransfer: https://finder.terraclassic.community/columbus-5/tx/E819E59471BCD82A230AF5771F062B2D7F984F6B12EAEB2FD146F83248F4B9A1 height 30101431. config.governance = terra1zlmv2…hep7. pending proposals = []. - Wrap-mapper accept_governance_transfer: https://finder.terraclassic.community/columbus-5/tx/02F139F16BEA7322EC87C14FC8EB4EEEFB9E66B6CB2DED2D95AEC291FE0F00A2 height 30101435. config.governance = terra1zlmv2…hep7. pending new_governance = null. Closed #525. Still open (do not close this tracker) - Wasm set-contract-admin on mapper + treasury (still cl8y2_admin) - Window / oracle ProposeGovernance then AcceptGovernance (ust1-window#30) — not proposed - Swap ProposeAdmin + 7d AcceptAdmin (ustr-cmm#15) — not proposed - Bridge admin transfer (cl8y-bridge-monorepo#135) — not proposed - Token primary minters / cLUNC extra minter before dropping primary In-repo docs updated: REGISTRY.md governance split, O6, wrap-mapper-pause, deploy-trace. Pause/set_fees/set_wrapping_paused on mapper + treasury now require the 2-of-3.
PlasticDigits commented 2026-08-25 05:56:59 +00:00 (Migrated from gitlab.com)

mentioned in issue #503

mentioned in issue #503
PlasticDigits commented 2026-08-25 06:29:06 +00:00 (Migrated from gitlab.com)

mentioned in commit 093cd1dc17

mentioned in commit 093cd1dc170b5578a097bee89f06fd0112fda94b
PlasticDigits commented 2026-08-25 06:29:24 +00:00 (Migrated from gitlab.com)

Local wrap-ops stash from this merge pass is now on main (093cd1dc): columbus-5 2026-08-25 DEX 2-of-3 accepts for wrap-mapper (02F139F1…00A2 height 30101435, code 11574) and CMM treasury (E819E594…B9A1 height 30101431). Registry + pause runbooks + UST1_OPS_WRAP_GOVERNANCE default now match queried app gov.

Still leftover (this issue): window/oracle app gov and mapper/treasury wasm admin remain cl8y2_admin. set-contract-admin was not done.

Local wrap-ops stash from this merge pass is now on `main` (`093cd1dc`): columbus-5 2026-08-25 DEX 2-of-3 accepts for wrap-mapper (`02F139F1…00A2` height 30101435, code **11574**) and CMM treasury (`E819E594…B9A1` height 30101431). Registry + pause runbooks + `UST1_OPS_WRAP_GOVERNANCE` default now match queried app gov. **Still leftover (this issue):** window/oracle app gov and mapper/treasury **wasm admin** remain `cl8y2_admin`. `set-contract-admin` was not done.
PlasticDigits commented 2026-08-25 06:29:43 +00:00 (Migrated from gitlab.com)

mentioned in issue #638

mentioned in issue #638
PlasticDigits commented 2026-08-25 06:29:47 +00:00 (Migrated from gitlab.com)

marked as related to #638

marked as related to #638
PlasticDigits commented 2026-08-25 06:30:02 +00:00 (Migrated from gitlab.com)

Post-merge leftovers for the !1140/!1142/!1143/!1144/!1145 pass: #638.

Post-merge leftovers for the !1140/!1142/!1143/!1144/!1145 pass: #638.
PlasticDigits commented 2026-08-26 03:10:01 +00:00 (Migrated from gitlab.com)

Mapper + treasury set-contract-admin RAN (2026-08-26)

cl8y2_admin → DEX 2-of-3 terra1zlmv2xydxcusurtr6rl78wsvytdc6mfex6hep7.

Contract Tx Height
wrap-mapper terra1xuuuhpmyd5t29ry7mydg7ra2q2phrwhx7j28nx7x9sjw6zznkumsz0nmd2 56DF7694C389DBB690021FF4950615A0B7851ECE853BD90D5885505F67512ABD 30114344 code=0
CMM treasury terra16j5u6ey7a84g40sr3gd94nzg5w5fm45046k9s2347qhfpwm5fr6sem3lr2 1E4F1FD45B9A8021FAE2F1C66E107FA472CEF6919751D5F24AFB5DF3E8A22CF5 30114345 code=0

LCD admin on both is terra1zlmv2…hep7. Window/oracle app gov + wasm admin still cl8y2_admin (propose on ust1-window#30). Registry split draft is in-tree on REGISTRY.md (uncommitted).

## Mapper + treasury `set-contract-admin` RAN (2026-08-26) `cl8y2_admin` → DEX 2-of-3 `terra1zlmv2xydxcusurtr6rl78wsvytdc6mfex6hep7`. | Contract | Tx | Height | |----------|----|--------| | wrap-mapper `terra1xuuuhpmyd5t29ry7mydg7ra2q2phrwhx7j28nx7x9sjw6zznkumsz0nmd2` | [`56DF7694C389DBB690021FF4950615A0B7851ECE853BD90D5885505F67512ABD`](https://finder.terraclassic.community/columbus-5/tx/56DF7694C389DBB690021FF4950615A0B7851ECE853BD90D5885505F67512ABD) | **30114344** `code=0` | | CMM treasury `terra16j5u6ey7a84g40sr3gd94nzg5w5fm45046k9s2347qhfpwm5fr6sem3lr2` | [`1E4F1FD45B9A8021FAE2F1C66E107FA472CEF6919751D5F24AFB5DF3E8A22CF5`](https://finder.terraclassic.community/columbus-5/tx/1E4F1FD45B9A8021FAE2F1C66E107FA472CEF6919751D5F24AFB5DF3E8A22CF5) | **30114345** `code=0` | LCD admin on both is `terra1zlmv2…hep7`. Window/oracle app gov + wasm admin still `cl8y2_admin` (propose on [ust1-window#30](https://gitlab.com/PlasticDigits/ust1-window/-/work_items/30)). Registry split draft is in-tree on `REGISTRY.md` (uncommitted).
PlasticDigits commented 2026-08-26 03:18:11 +00:00 (Migrated from gitlab.com)

mentioned in commit eb7728d38a

mentioned in commit eb7728d38a19fcca9ed9b5c40c2d377b65cc3b37
PlasticDigits commented 2026-08-28 09:24:26 +00:00 (Migrated from gitlab.com)

mentioned in issue #697

mentioned in issue #697
PlasticDigits commented 2026-08-28 09:24:26 +00:00 (Migrated from gitlab.com)

marked as related to #697

marked as related to #697

Read-only verification at columbus-5 LCD block 30540667 (2026-09-24 09:09 UTC):

  • DEX multisig account: threshold 2 with 3 public keys.
  • Wrap-mapper config governance, no pending governance proposal, and ContractInfo.admin: DEX 2-of-3.
  • CMM treasury config governance and ContractInfo.admin: DEX 2-of-3.
  • ust1-window/oracle config governance and ContractInfo.admin: cl8y2_admin.
  • UST1/USTR/cLUNC/cUSTC ContractInfo.admin and primary minter: cl8y2_admin. vFDUSD ContractInfo.admin: cl8y2_admin.

Remaining transfers are linked in the updated summary above. #697 is the newer security-attestation tracker; #526 remains the DEX accept queue because those live EOA controls still require proposals and multisig accepts.

Read-only verification at columbus-5 LCD block 30540667 (2026-09-24 09:09 UTC): - DEX multisig account: threshold 2 with 3 public keys. - Wrap-mapper config governance, no pending governance proposal, and ContractInfo.admin: DEX 2-of-3. - CMM treasury config governance and ContractInfo.admin: DEX 2-of-3. - ust1-window/oracle config governance and ContractInfo.admin: cl8y2_admin. - UST1/USTR/cLUNC/cUSTC ContractInfo.admin and primary minter: cl8y2_admin. vFDUSD ContractInfo.admin: cl8y2_admin. Remaining transfers are linked in the updated summary above. #697 is the newer security-attestation tracker; #526 remains the DEX accept queue because those live EOA controls still require proposals and multisig accepts.

Security close-out #697 now records the read-only columbus-5 LCD table at height 30540960 and provides VERIFY697_MAINNET=1 make verify-issue-697 for repeat checks. Mapper and CMM treasury governance/admin match the DEX 2-of-3. Window/oracle governance/admin, UST1 minter/admin, cLUNC/cUSTC/USTR minter/admin, and vFDUSD admin remain documented EOA residuals. Full addresses and sister trackers are in #697. No chain transaction was broadcast. Keep #526 open; it has no assignee and the close-out still needs each residual's named owner and UTC revisit date or a completed transfer.

Security close-out [#697](https://git.cl8y.com/code/cl8y-dex-terraclassic/issues/697) now records the read-only columbus-5 LCD table at height **30540960** and provides `VERIFY697_MAINNET=1 make verify-issue-697` for repeat checks. Mapper and CMM treasury governance/admin match the DEX 2-of-3. Window/oracle governance/admin, UST1 minter/admin, cLUNC/cUSTC/USTR minter/admin, and vFDUSD admin remain documented EOA residuals. Full addresses and sister trackers are in #697. No chain transaction was broadcast. Keep #526 open; it has no assignee and the close-out still needs each residual's named owner and UTC revisit date or a completed transfer.
Sign in to join this conversation.
No milestone
No project
No assignees
2 participants
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#526
No description provided.