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)

54 lines (40 loc) 1.51 kB
// import { Field, Mina, Poseidon } from 'o1js'; // import { RandomManagerManager } from '../src/StateManager/RandomManagerManager'; // import { // compileRandomManager, // configDefaultInstance, // findPlottery, // findRandomManager, // getDeployer, // getRMStoreManager, // storeRMStoreManager, // } from './utils'; // import { CommitValue } from '../src/Random/RandomManager'; // configDefaultInstance(); // let round = process.argv[2]; // if (!round) { // throw Error(`You should specify round`); // } // let deploy_epoch = process.argv[3] ? process.argv[3] : 'current'; // let { deployer, deployerKey } = getDeployer(); // let { randomManager } = findRandomManager(deploy_epoch); // await compileRandomManager(deploy_epoch); // let rmStoreManager: RandomManagerManager = getRMStoreManager(deploy_epoch); // const { witness: commitRoundWitness } = rmStoreManager.getCommitWitness(+round); // const { witness: resultRoundWitness } = rmStoreManager.getResultWitness(+round); // const commitValue = rmStoreManager.commits[+round]; // const vrfValue = randomManager.curRandomValue.get(); // let tx = await Mina.transaction(deployer, async () => { // await randomManager.reveal( // commitValue, // commitRoundWitness, // resultRoundWitness // ); // }); // await tx.prove(); // await tx.sign([deployerKey]).send(); // rmStoreManager.addResultValue( // +round, // Poseidon.hash([commitValue.value, vrfValue]) // ); // storeRMStoreManager(rmStoreManager, deploy_epoch);