Skip to main content

oo-propose

Calls oo_resolution::propose<T> against an OO MarketLink with a DUSDC bond.
pnpm oo:propose \
  --market-link <SPORTS_OO_MARKET_LINK_ID> \
  --outcome 1 \
  --bond 50 \
  --execute
Flags
FlagRequiredDescription
--market-linkyesOO MarketLink id (from .env)
--outcomeyes1 = YES, 2 = NO
--bondyesWhole DUSDC bond. Must be ≥ OO_MIN_BOND (50 default)
--executenoSign + submit
Returns the new Proposal id. Finalizable after the 30-min challenge window.

oo-finalize

Calls oo_resolution::finalize_auto<T> (no dispute) or finalize_vote<T> (post-DAO-vote). Pre-flight reads the Proposal and prints time-remaining instead of letting the Move call abort early.
pnpm oo:finalize --proposal 0x… --mode auto --execute
Flags
FlagRequiredDescription
--proposalyesProposal object id
--modeyesauto or vote
--executenoSign + submit
Errors:
  • EChallengeWindowOpen. Challenge deadline not reached. Script prints time-remaining instead.
  • EVoteWindowOpen. Vote deadline not reached.
  • EWrongState. Trying finalize_auto on a DISPUTED proposal, or finalize_vote on an OPEN one.
The finalize PTB has a multi-return pattern (returns proposer bond, disputer bond, and an address); the script transferObjects-es both bond coins to sender and drops the address return.