Skip to content

Commit

Permalink
Moving from Market's mdm to disputeMechanism (#144)
Browse files Browse the repository at this point in the history
* Add new replicated field for disputeMechanism

* Create new db migration

* Generate code based on changes

* Copy mappings of mdm for disputeMechanism
  • Loading branch information
saboonikhil committed Aug 4, 2022
1 parent 831c4a5 commit b9140c1
Show file tree
Hide file tree
Showing 4 changed files with 23 additions and 4 deletions.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 3 additions & 1 deletion schema.graphql
Original file line number Diff line number Diff line change
Expand Up @@ -153,7 +153,9 @@ type Market @entity {
"Resolved outcome for the market"
resolvedOutcome: String
"Can be `authorized` or `court` or `simpleDisputes`"
mdm: MarketDisputeMechanism!
mdm: MarketDisputeMechanism! @deprecated
"Can be `authorized` or `court` or `simpleDisputes`"
disputeMechanism: MarketDisputeMechanism!
}

"""
Expand Down
6 changes: 6 additions & 0 deletions src/model/generated/market.model.ts
Original file line number Diff line number Diff line change
Expand Up @@ -146,4 +146,10 @@ export class Market {
*/
@Column_("jsonb", {transformer: {to: obj => obj.toJSON(), from: obj => new MarketDisputeMechanism(undefined, marshal.nonNull(obj))}, nullable: false})
mdm!: MarketDisputeMechanism

/**
* Can be `authorized` or `court` or `simpleDisputes`
*/
@Column_("jsonb", {transformer: {to: obj => obj.toJSON(), from: obj => new MarketDisputeMechanism(undefined, marshal.nonNull(obj))}, nullable: false})
disputeMechanism!: MarketDisputeMechanism
}
11 changes: 11 additions & 0 deletions src/processor/markets.ts
Original file line number Diff line number Diff line change
Expand Up @@ -243,6 +243,17 @@ export async function predictionMarketCreated(ctx: EventHandlerContext) {
}
newMarket.mdm = mdm

const disputeMechanism = new MarketDisputeMechanism()
const d = market.mdm as any
if (d.authorized) {
disputeMechanism.authorized = d.authorized.toString()
} else if (d.court !== undefined) {
disputeMechanism.court = true
} else if (d.simpleDisputes !== undefined) {
disputeMechanism.simpleDisputes = true
}
newMarket.disputeMechanism = disputeMechanism

console.log(`[${event.name}] Saving market: ${JSON.stringify(newMarket, null, 2)}`)
await store.save<Market>(newMarket)

Expand Down

0 comments on commit b9140c1

Please sign in to comment.