UNPKG

l1-lottery-contracts

Version:

This repo contains smart contracts and related scripts for ZkNoid L1 Lottery proposed [here](https://forums.minaprotocol.com/t/zknoid-l1-lottery/6269)

27 lines 1.23 kB
import { Field, MerkleMap } from 'o1js'; import { PStateManager } from './PStateManager.js'; import { PLottery } from '../PLottery.js'; import { RandomManagerManager } from './RandomManagerManager.js'; import RandomManager from '../Random/RandomManager.js'; export class FactoryManager { constructor(isMock = true, shouldUpdateState = false) { this.roundsMap = new MerkleMap(); this.deploys = {}; this.plotteryManagers = {}; this.randomManagers = {}; this.isMock = isMock; this.shouldUpdateState = shouldUpdateState; } addDeploy(round, randomManager, plottery) { if (this.deploys[round]) { throw Error(`Round ${round} already deployed`); } this.deploys[round] = { round, randomManager, plottery }; this.roundsMap.set(Field(round), Field(1)); const plotteryContract = new PLottery(plottery); const randomManagerContract = new RandomManager(randomManager); this.plotteryManagers[round] = new PStateManager(plotteryContract, this.isMock, this.shouldUpdateState); this.randomManagers[round] = new RandomManagerManager(randomManagerContract); } } //# sourceMappingURL=FactoryStateManager.js.map