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)

48 lines (38 loc) 1.27 kB
import dotenv from 'dotenv'; dotenv.config(); import { Mina } from 'o1js'; import { FactoryManager } from '../src/StateManager/FactoryStateManager.js'; import { PlotteryFactory } from '../src/Factory.js'; import { Network, NETWORKS } from '../src/Network.js'; export const configDefaultInstance = (): { transactionFee: number; network: Network; } => { const transactionFee = 100_000_000; const network_ = NETWORKS[process.env.NETWORK_ID!]; const network = Mina.Network({ networkId: network_.isMainnet ? 'mainnet' : 'testnet', mina: network_.graphql, // lightnetAccountManager: network_.lightnetAccountManager, archive: network_.archive, }); Mina.setActiveInstance(network); return { transactionFee, network: network_ }; }; export const getFedFactoryManager = async ( factory: PlotteryFactory ): Promise<FactoryManager> => { const factoryManager = new FactoryManager(); const factoryEvents = await factory.fetchEvents(); for (const event of factoryEvents) { const deployEvent = event.event.data as any; console.log('event'); console.log(deployEvent); factoryManager.addDeploy( +deployEvent.round, deployEvent.randomManager, deployEvent.plottery ); } return factoryManager; };