create-darkpool-vault
One PTB: balance_manager::new → mint_trade_cap → dark_pool::create_vault<DUSDC> wired to a scaffolded binary market from registry.json. Shares the vault + BalanceManager; keeps TradeCap + VaultAdminCap with the keeper (sender).
| Flag | Required | Description |
|---|---|---|
--market | yes | Slug from .binary-markets/registry.json |
--min-deposit | yes | Minimum deposit in micro DUSDC (1_000_000 = $1) |
--label | no | Override the vault label (defaults to market label) |
--execute | no | Sign + submit |
VAULT_OBJECT_ID. Paste into .env.
vault-deposit
Deposits DUSDC into a DarkPoolVault with the exact PTB shape the frontend uses (split → dark_pool::deposit → receipt to sender). Smoke test + demo TVL seeder.
| Flag | Required | Description |
|---|---|---|
--amount | yes | Whole DUSDC amount |
--vault | no | Override VAULT_OBJECT_ID |
--execute | no | Sign + submit |
attribution_hash as 32 zero bytes (Seal off). Frontend does the same.
keeper-tick
One vault keeper tick. Idempotent.
yesPoolId / noPoolId existing in the registry. Quotes roundLot(held × 100/105) to leave 5% input-token fee headroom.
Market resolved path (after mark_resolved):
| Flag | Required | Description |
|---|---|---|
--amount | no | Override pull amount (default: all idle balance) |
--ask | no | Override ask price for V3 asks (default: 0.55) |
--execute | no | Sign + submit |