diff --git a/packages/sdk/src/models/market.ts b/packages/sdk/src/models/market.ts index 4257a2d..6d55627 100644 --- a/packages/sdk/src/models/market.ts +++ b/packages/sdk/src/models/market.ts @@ -54,7 +54,7 @@ class Market { /** Timestamp at which market should end */ public end: BigInt; - public mdm: MarketDisputeMechanism; + public disputeMechanism: MarketDisputeMechanism; /** The description of the market. */ public description: string; /** The market question. */ @@ -93,7 +93,7 @@ class Market { status: this.status, report: this.report, resolvedOutcome: this.resolvedOutcome, - mdm: this.mdm, + disputeMechanism: this.disputeMechanism, outcomeAssets: this.outcomeAssets, end: this.end, } = market); diff --git a/packages/sdk/src/types/guards.ts b/packages/sdk/src/types/guards.ts new file mode 100644 index 0000000..cd99f12 --- /dev/null +++ b/packages/sdk/src/types/guards.ts @@ -0,0 +1,10 @@ +import { AuthorisedDisputeMechanism, MarketDisputeMechanism } from "."; + +export const isAuthorisedDisputeMechanism = ( + marketDisputeMechanism: MarketDisputeMechanism +): marketDisputeMechanism is AuthorisedDisputeMechanism => { + return ( + (marketDisputeMechanism as AuthorisedDisputeMechanism).authorized !== + undefined + ); +}; diff --git a/packages/sdk/src/types/index.ts b/packages/sdk/src/types/index.ts index 5f708d8..cbd38ab 100644 --- a/packages/sdk/src/types/index.ts +++ b/packages/sdk/src/types/index.ts @@ -122,7 +122,7 @@ export type MarketResponse = { status: string; report: Report | null; resolvedOutcome: OutcomeReport | null; - mdm: MarketDisputeMechanism; + disputeMechanism: MarketDisputeMechanism; outcomeAssets: Asset[]; end: BigInt; }; @@ -189,10 +189,16 @@ export type MarketTypeOf = { Categorical: number } | { Scalar: number[] }; export type ScoringRule = "CPMM" | "RikiddoSigmoidFeeMarketEma"; +export type AuthorisedDisputeMechanism = { authorized: string }; + +export type CourtDisputeMechanism = { Court: null }; + +export type SimpleDisputeMechanism = { SimpleDisputes: null }; + export type MarketDisputeMechanism = - | { Authorized: number } - | { Court: null } - | { SimpleDisputes: null }; + | AuthorisedDisputeMechanism + | CourtDisputeMechanism + | SimpleDisputeMechanism; export type MarketDispute = { at: number; @@ -314,3 +320,5 @@ export type ActiveAssetsResponse = { qty: string; price: number; }[]; + +export * from "./guards";