UI boilerplate for quick actions.
npm install
npm run devnpm run lint
npm run type-check
npm run test
npm run buildGitHub Pages deployment is configured in .github/workflows/deploy-pages.yml.
Step-by-step instructions for doing the same thing inside a multisig UI (e.g. Safe{Wallet}). No deep technical background—only what to click and what to paste.
Option A — pick the method (contract interaction)
- In Contract address / To, paste the vault contract address
- When methods are listed, choose
setSupplyQueue. - For the
_newSupplyQueueargument (address list), enter exactly[]
Option B — raw calldata only (no method picker)
-
Create a transaction whose destination address is the vault address
-
Use raw data / hex / custom calldata (wording depends on the Safe version).
-
Paste the full string below (one line, including the
0xprefix):
0x4e083eb300000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000
---
### Remove a market from the withdraw queue and reallocate
1. **`reallocate`** — `_allocations` (`MarketAllocation[]`): pull the vault’s liquidity **from** the market you are removing, and supply it **into** destination market(s). On the **source** (the market you remove), `assets` must be **`0`** (full exit). On each **destination**, `assets` is **`type(uint256).max`** so the vault supplies everything it just withdrew (order and headroom matter on-chain).
**Example (exactly two markets — one “from”, one “to”):**
- **From** = market you empty (`0xFrom…`).
- **To** = market that receives the liquidity (`0xTo…`).
- Paste as JSON (both tuple values quoted), one line:
[["0x1111111111111111111111111111111111111111","0"],["0x2222222222222222222222222222222222222222","115792089237316195423570985008687907853269984665640564039457584007913129639935"]]
2. **`submitCap`** — `_market` (address), `_newSupplyCap` (`uint256`). Only when that market’s cap is **> 0** before the change; new cap is **0**.
**Example:** `_market` = `0x1111111111111111111111111111111111111111` (the same market you are removing), `_newSupplyCap` = `0`.
3. **`updateWithdrawQueue`** — `_indexes` (`uint256[]`): indices into the **previous** withdraw queue, in order, **without** the removed index.
**Example:** withdraw queue had **4** markets at indices `0,1,2,3` and you remove index **2**. New permutation: `[0, 1, 3]`.
4. **`setSupplyQueue`** — `_newSupplyQueue` (`address[]`): supply queue addresses **after** dropping the removed market; **relative order** of the rest unchanged. **Optional** (wizard checkbox).
**Example:** supply queue was `[0xA…, 0xB…, 0xC…]` and you remove `0xB…`. New queue: `[0xA…, 0xC…]`.
Copy-paste: `[0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa,0xcccccccccccccccccccccccccccccccccccccccc]`
---