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)
23 lines (22 loc) • 1.02 kB
TypeScript
import { Field } from 'o1js';
import { Ticket } from '../Structs/Ticket.js';
import { LotteryAction, TicketReduceProof } from '../Proofs/TicketReduceProof.js';
import { BaseStateManager } from './BaseStateManager.js';
import { PLottery } from '../PLottery.js';
export declare function mockProof<I, O, P>(publicOutput: O, ProofType: new ({ proof, publicInput, publicOutput, maxProofsVerified, }: {
proof: unknown;
publicInput: I;
publicOutput: any;
maxProofsVerified: 0 | 2 | 1;
}) => P, publicInput: I): Promise<P>;
export declare class PStateManager extends BaseStateManager {
contract: PLottery;
processedTicketData: {
ticketId: number;
round: number;
};
constructor(plottery: PLottery, isMock?: boolean, shouldUpdateState?: boolean);
addTicket(ticket: Ticket, forceUpdate?: boolean): void;
removeLastTicket(): Promise<void>;
reduceTickets(winningNumberPacked: Field, actionLists?: LotteryAction[][], updateState?: boolean): Promise<TicketReduceProof>;
}