feat(window): redeem via treasury InstantWithdrawCw20 (#20) #34

Merged
PlasticDigits merged 1 commit from feat/instant-withdraw-cw20 into main 2026-08-08 02:46:54 +00:00
PlasticDigits commented 2026-08-08 00:36:34 +00:00 (Migrated from gitlab.com)

Summary

  • Replace UST1 withdraw path: CW20 TransferFrom + treasury allowance → treasury InstantWithdrawCw20 (Option 3 / #20).
  • Add treasury.rs client, stub-treasury multitest + integration coverage (zero allowance; atomic reject), and document INV-WITHDRAW-001/002.
  • Update docs/DEPLOYMENT.md Phase 5 ops (migrate + SetCw20Spender/limit_24h) and add skills/window-instant-withdraw-cw20 for agents.

Depends on closed ustr-cmm#6 / #7. Unblocks #19 Phase 5 withdraw smoke after ops.

Closes #20

Test plan

  • cargo test -p ust1-window --lib (13 passed, run twice)
  • cargo test -p ust1-integration-tests --lib (8 passed, run twice)
  • Review wire JSON instant_withdraw_cw20 matches ustr-cmm treasury
  • After merge: optimize/store window wasm; migrate terra1zxwp…
  • Treasury gov SetCw20Spender with limit_24h for vFDUSD → window
  • Small mainnet withdraw smoke; confirm treasury Transfer (not TransferFrom)
## Summary - Replace UST1 withdraw path: CW20 `TransferFrom` + treasury allowance → treasury `InstantWithdrawCw20` (Option 3 / [#20](https://gitlab.com/PlasticDigits/ust1-window/-/issues/20)). - Add `treasury.rs` client, stub-treasury multitest + integration coverage (zero allowance; atomic reject), and document **INV-WITHDRAW-001/002**. - Update `docs/DEPLOYMENT.md` Phase 5 ops (`migrate` + `SetCw20Spender`/`limit_24h`) and add `skills/window-instant-withdraw-cw20` for agents. Depends on closed [ustr-cmm#6](https://gitlab.com/PlasticDigits2/ustr-cmm/-/issues/6) / [#7](https://gitlab.com/PlasticDigits2/ustr-cmm/-/issues/7). Unblocks [#19](https://gitlab.com/PlasticDigits/ust1-window/-/issues/19) Phase 5 withdraw smoke after ops. Closes #20 ## Test plan - [x] `cargo test -p ust1-window --lib` (13 passed, run twice) - [x] `cargo test -p ust1-integration-tests --lib` (8 passed, run twice) - [ ] Review wire JSON `instant_withdraw_cw20` matches ustr-cmm treasury - [ ] After merge: optimize/store window wasm; migrate `terra1zxwp…` - [ ] Treasury gov `SetCw20Spender` with `limit_24h` for vFDUSD → window - [ ] Small mainnet withdraw smoke; confirm treasury `Transfer` (not `TransferFrom`)
PlasticDigits commented 2026-08-08 00:36:42 +00:00 (Migrated from gitlab.com)

mentioned in issue #20

mentioned in issue #20
PlasticDigits commented 2026-08-08 02:46:54 +00:00 (Migrated from gitlab.com)

mentioned in commit 5b1e719622

mentioned in commit 5b1e719622f7739c04b06b6e6c36b92808cf79fd
PlasticDigits (Migrated from gitlab.com) merged commit 5b1e719622 into main 2026-08-08 02:46:54 +00:00
PlasticDigits commented 2026-08-08 03:10:48 +00:00 (Migrated from gitlab.com)

mentioned in issue #19

mentioned in issue #19
PlasticDigits commented 2026-08-08 04:29:52 +00:00 (Migrated from gitlab.com)

mentioned in commit 6367d18df9

mentioned in commit 6367d18df99f280d3289ffd617ba0ed112f4447e
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/ust1-window!34
No description provided.