scripts/ and run via tsx. They’re typechecked together by pnpm typecheck:scripts (tsc -p scripts), which root pnpm typecheck chains.
Shared conventions
- Dry-run by default. Every script prints what it would do without
--execute. --executesigns + submits.- Shared CLI.
scripts/lib/cli.tsprovidesScriptContext. Loads env, buildsSuiClient, derives the keypair fromAGENT_KEY/RESOLVER_KEY, parses flags, dry-run-awaresignAndExecute,findCreatedObjecthelpers. - All scripts respect
.envat repo root.
Grouped
Bootstrap
| Script | Purpose |
|---|---|
parse-publish-output | Parse sui client publish --json → rewrite .env |
create-predict-manager | predict::create_manager + capture id |
fund-manager | Fund PredictManager via predict_manager::deposit<T> |
register-trade-agent | darkpool::agent::register_agent |
register-market | Register a price or OO MarketLink |
create-seal-policy | Share a fresh AccessPolicy (needed after each republish) |
Binary event markets
| Script | Purpose |
|---|---|
create-binary-market | Scaffold → build → publish → create_market → registry.json |
finish-create-market | Recovery: finish a half-completed publish from its digest |
resolve-binary-market | settlement::mark_resolved via ResolverCap |
DeepBook V3
| Script | Purpose |
|---|---|
create-v3-pools | Pool<YES,DUSDC> + Pool<NO,DUSDC> (500 DEEP fee each) |
seed-v3-liquidity | Two-sided POST_ONLY quotes on both pools, one PTB |
Dark-pool vault
| Script | Purpose |
|---|---|
create-darkpool-vault | One PTB: balance_manager::new → mint_trade_cap → dark_pool::create_vault |
vault-deposit | dark_pool::deposit smoke test |
keeper-tick | Vault keeper: pull → mint_pair → BM deposit → record_mint → V3 asks |
Predict + smoke
| Script | Purpose |
|---|---|
predict-mint-smoke | Live predict::mint<T> smoke test |
supply-plp | predict::supply<T> → Coin<PLP> + DarkPool attribution |
Optimistic Oracle
| Script | Purpose |
|---|---|
oo-propose | oo_resolution::propose<T> with DUSDC bond |
oo-finalize | finalize_auto / finalize_vote with clock pre-check |
Utility
| Script | Purpose |
|---|---|
return-testnet-dusdc | DUSDC return sweep (80% commitment) |
pnpm aliases
All scripts are wired into rootpackage.json: