import { Field, SmartContract, State, SelfProof, Provable, PublicKey, Bool } from 'o1js'; import { IpfsHash } from '@auxo-dev/auxo-libs'; import { Timeline, TimelineLevel1Witness } from '../storages/CampaignStorage.js'; import { AddressWitness, ZkAppRef } from '../storages/SharedStorage.js'; import { Storage } from '@auxo-dev/dkg'; export { CampaignAction, CampaignContract, CampaignContractMock, RollupCampaign, RollupCampaignOutput, RollupCampaignProof, }; declare const CampaignAction_base: (new (value: { campaignId: import("o1js/dist/node/lib/provable/field.js").Field; ipfsHash: IpfsHash; owner: PublicKey; timeline: Timeline; committeeId: import("o1js/dist/node/lib/provable/field.js").Field; keyId: import("o1js/dist/node/lib/provable/field.js").Field; }) => { campaignId: import("o1js/dist/node/lib/provable/field.js").Field; ipfsHash: IpfsHash; owner: PublicKey; timeline: Timeline; committeeId: import("o1js/dist/node/lib/provable/field.js").Field; keyId: import("o1js/dist/node/lib/provable/field.js").Field; }) & { _isStruct: true; } & Omit, "fromFields"> & { fromFields: (fields: import("o1js/dist/node/lib/provable/field.js").Field[]) => { campaignId: import("o1js/dist/node/lib/provable/field.js").Field; ipfsHash: IpfsHash; owner: PublicKey; timeline: Timeline; committeeId: import("o1js/dist/node/lib/provable/field.js").Field; keyId: import("o1js/dist/node/lib/provable/field.js").Field; }; } & { toInput: (x: { campaignId: import("o1js/dist/node/lib/provable/field.js").Field; ipfsHash: IpfsHash; owner: PublicKey; timeline: Timeline; committeeId: import("o1js/dist/node/lib/provable/field.js").Field; keyId: import("o1js/dist/node/lib/provable/field.js").Field; }) => { fields?: import("o1js/dist/node/lib/provable/field.js").Field[] | undefined; packed?: [import("o1js/dist/node/lib/provable/field.js").Field, number][] | undefined; }; toJSON: (x: { campaignId: import("o1js/dist/node/lib/provable/field.js").Field; ipfsHash: IpfsHash; owner: PublicKey; timeline: Timeline; committeeId: import("o1js/dist/node/lib/provable/field.js").Field; keyId: import("o1js/dist/node/lib/provable/field.js").Field; }) => { campaignId: string; ipfsHash: { length: string; values: { toFields: {}; toAuxiliary: {}; sizeInFields: {}; check: {}; fromFields: {}; }[]; }; owner: string; timeline: { startParticipation: string; startFunding: string; startRequesting: string; }; committeeId: string; keyId: string; }; fromJSON: (x: { campaignId: string; ipfsHash: { length: string; values: { toFields: {}; toAuxiliary: {}; sizeInFields: {}; check: {}; fromFields: {}; }[]; }; owner: string; timeline: { startParticipation: string; startFunding: string; startRequesting: string; }; committeeId: string; keyId: string; }) => { campaignId: import("o1js/dist/node/lib/provable/field.js").Field; ipfsHash: IpfsHash; owner: PublicKey; timeline: Timeline; committeeId: import("o1js/dist/node/lib/provable/field.js").Field; keyId: import("o1js/dist/node/lib/provable/field.js").Field; }; empty: () => { campaignId: import("o1js/dist/node/lib/provable/field.js").Field; ipfsHash: IpfsHash; owner: PublicKey; timeline: Timeline; committeeId: import("o1js/dist/node/lib/provable/field.js").Field; keyId: import("o1js/dist/node/lib/provable/field.js").Field; }; }; declare class CampaignAction extends CampaignAction_base { static fromFields(fields: Field[]): CampaignAction; } declare const RollupCampaignOutput_base: (new (value: { initialCampaignId: import("o1js/dist/node/lib/provable/field.js").Field; initialTimelineRoot: import("o1js/dist/node/lib/provable/field.js").Field; initialIpfsHashRoot: import("o1js/dist/node/lib/provable/field.js").Field; initialKeyIndexRoot: import("o1js/dist/node/lib/provable/field.js").Field; initialActionState: import("o1js/dist/node/lib/provable/field.js").Field; nextCampaignId: import("o1js/dist/node/lib/provable/field.js").Field; nextTimelineRoot: import("o1js/dist/node/lib/provable/field.js").Field; nextIpfsHashRoot: import("o1js/dist/node/lib/provable/field.js").Field; nextKeyIndexRoot: import("o1js/dist/node/lib/provable/field.js").Field; nextActionState: import("o1js/dist/node/lib/provable/field.js").Field; }) => { initialCampaignId: import("o1js/dist/node/lib/provable/field.js").Field; initialTimelineRoot: import("o1js/dist/node/lib/provable/field.js").Field; initialIpfsHashRoot: import("o1js/dist/node/lib/provable/field.js").Field; initialKeyIndexRoot: import("o1js/dist/node/lib/provable/field.js").Field; initialActionState: import("o1js/dist/node/lib/provable/field.js").Field; nextCampaignId: import("o1js/dist/node/lib/provable/field.js").Field; nextTimelineRoot: import("o1js/dist/node/lib/provable/field.js").Field; nextIpfsHashRoot: import("o1js/dist/node/lib/provable/field.js").Field; nextKeyIndexRoot: import("o1js/dist/node/lib/provable/field.js").Field; nextActionState: import("o1js/dist/node/lib/provable/field.js").Field; }) & { _isStruct: true; } & Omit, "fromFields"> & { fromFields: (fields: import("o1js/dist/node/lib/provable/field.js").Field[]) => { initialCampaignId: import("o1js/dist/node/lib/provable/field.js").Field; initialTimelineRoot: import("o1js/dist/node/lib/provable/field.js").Field; initialIpfsHashRoot: import("o1js/dist/node/lib/provable/field.js").Field; initialKeyIndexRoot: import("o1js/dist/node/lib/provable/field.js").Field; initialActionState: import("o1js/dist/node/lib/provable/field.js").Field; nextCampaignId: import("o1js/dist/node/lib/provable/field.js").Field; nextTimelineRoot: import("o1js/dist/node/lib/provable/field.js").Field; nextIpfsHashRoot: import("o1js/dist/node/lib/provable/field.js").Field; nextKeyIndexRoot: import("o1js/dist/node/lib/provable/field.js").Field; nextActionState: import("o1js/dist/node/lib/provable/field.js").Field; }; } & { toInput: (x: { initialCampaignId: import("o1js/dist/node/lib/provable/field.js").Field; initialTimelineRoot: import("o1js/dist/node/lib/provable/field.js").Field; initialIpfsHashRoot: import("o1js/dist/node/lib/provable/field.js").Field; initialKeyIndexRoot: import("o1js/dist/node/lib/provable/field.js").Field; initialActionState: import("o1js/dist/node/lib/provable/field.js").Field; nextCampaignId: import("o1js/dist/node/lib/provable/field.js").Field; nextTimelineRoot: import("o1js/dist/node/lib/provable/field.js").Field; nextIpfsHashRoot: import("o1js/dist/node/lib/provable/field.js").Field; nextKeyIndexRoot: import("o1js/dist/node/lib/provable/field.js").Field; nextActionState: import("o1js/dist/node/lib/provable/field.js").Field; }) => { fields?: import("o1js/dist/node/lib/provable/field.js").Field[] | undefined; packed?: [import("o1js/dist/node/lib/provable/field.js").Field, number][] | undefined; }; toJSON: (x: { initialCampaignId: import("o1js/dist/node/lib/provable/field.js").Field; initialTimelineRoot: import("o1js/dist/node/lib/provable/field.js").Field; initialIpfsHashRoot: import("o1js/dist/node/lib/provable/field.js").Field; initialKeyIndexRoot: import("o1js/dist/node/lib/provable/field.js").Field; initialActionState: import("o1js/dist/node/lib/provable/field.js").Field; nextCampaignId: import("o1js/dist/node/lib/provable/field.js").Field; nextTimelineRoot: import("o1js/dist/node/lib/provable/field.js").Field; nextIpfsHashRoot: import("o1js/dist/node/lib/provable/field.js").Field; nextKeyIndexRoot: import("o1js/dist/node/lib/provable/field.js").Field; nextActionState: import("o1js/dist/node/lib/provable/field.js").Field; }) => { initialCampaignId: string; initialTimelineRoot: string; initialIpfsHashRoot: string; initialKeyIndexRoot: string; initialActionState: string; nextCampaignId: string; nextTimelineRoot: string; nextIpfsHashRoot: string; nextKeyIndexRoot: string; nextActionState: string; }; fromJSON: (x: { initialCampaignId: string; initialTimelineRoot: string; initialIpfsHashRoot: string; initialKeyIndexRoot: string; initialActionState: string; nextCampaignId: string; nextTimelineRoot: string; nextIpfsHashRoot: string; nextKeyIndexRoot: string; nextActionState: string; }) => { initialCampaignId: import("o1js/dist/node/lib/provable/field.js").Field; initialTimelineRoot: import("o1js/dist/node/lib/provable/field.js").Field; initialIpfsHashRoot: import("o1js/dist/node/lib/provable/field.js").Field; initialKeyIndexRoot: import("o1js/dist/node/lib/provable/field.js").Field; initialActionState: import("o1js/dist/node/lib/provable/field.js").Field; nextCampaignId: import("o1js/dist/node/lib/provable/field.js").Field; nextTimelineRoot: import("o1js/dist/node/lib/provable/field.js").Field; nextIpfsHashRoot: import("o1js/dist/node/lib/provable/field.js").Field; nextKeyIndexRoot: import("o1js/dist/node/lib/provable/field.js").Field; nextActionState: import("o1js/dist/node/lib/provable/field.js").Field; }; empty: () => { initialCampaignId: import("o1js/dist/node/lib/provable/field.js").Field; initialTimelineRoot: import("o1js/dist/node/lib/provable/field.js").Field; initialIpfsHashRoot: import("o1js/dist/node/lib/provable/field.js").Field; initialKeyIndexRoot: import("o1js/dist/node/lib/provable/field.js").Field; initialActionState: import("o1js/dist/node/lib/provable/field.js").Field; nextCampaignId: import("o1js/dist/node/lib/provable/field.js").Field; nextTimelineRoot: import("o1js/dist/node/lib/provable/field.js").Field; nextIpfsHashRoot: import("o1js/dist/node/lib/provable/field.js").Field; nextKeyIndexRoot: import("o1js/dist/node/lib/provable/field.js").Field; nextActionState: import("o1js/dist/node/lib/provable/field.js").Field; }; }; declare class RollupCampaignOutput extends RollupCampaignOutput_base { } declare const RollupCampaign: { name: string; compile: (options?: { cache?: import("o1js/dist/node/lib/proof-system/cache.js").Cache | undefined; forceRecompile?: boolean | undefined; } | undefined) => Promise<{ verificationKey: { data: string; hash: import("o1js/dist/node/lib/provable/field.js").Field; }; }>; verify: (proof: import("o1js/dist/node/lib/proof-system/zkprogram.js").Proof) => Promise; digest: () => Promise; analyzeMethods: () => Promise<{ firstStep: { rows: number; digest: string; gates: import("o1js/dist/node/snarky.js").Gate[]; publicInputSize: number; print(): void; summary(): Partial>; }; createCampaignStep: { rows: number; digest: string; gates: import("o1js/dist/node/snarky.js").Gate[]; publicInputSize: number; print(): void; summary(): Partial>; }; }>; publicInputType: import("o1js/dist/node/lib/provable/types/struct.js").ProvablePureExtended; publicOutputType: typeof RollupCampaignOutput; privateInputTypes: { firstStep: [typeof import("o1js/dist/node/lib/provable/field.js").Field & ((x: string | number | bigint | import("o1js/dist/node/lib/provable/field.js").Field | import("o1js/dist/node/lib/provable/core/fieldvar.js").FieldVar | import("o1js/dist/node/lib/provable/core/fieldvar.js").FieldConst) => import("o1js/dist/node/lib/provable/field.js").Field), typeof import("o1js/dist/node/lib/provable/field.js").Field & ((x: string | number | bigint | import("o1js/dist/node/lib/provable/field.js").Field | import("o1js/dist/node/lib/provable/core/fieldvar.js").FieldVar | import("o1js/dist/node/lib/provable/core/fieldvar.js").FieldConst) => import("o1js/dist/node/lib/provable/field.js").Field), typeof import("o1js/dist/node/lib/provable/field.js").Field & ((x: string | number | bigint | import("o1js/dist/node/lib/provable/field.js").Field | import("o1js/dist/node/lib/provable/core/fieldvar.js").FieldVar | import("o1js/dist/node/lib/provable/core/fieldvar.js").FieldConst) => import("o1js/dist/node/lib/provable/field.js").Field), typeof import("o1js/dist/node/lib/provable/field.js").Field & ((x: string | number | bigint | import("o1js/dist/node/lib/provable/field.js").Field | import("o1js/dist/node/lib/provable/core/fieldvar.js").FieldVar | import("o1js/dist/node/lib/provable/core/fieldvar.js").FieldConst) => import("o1js/dist/node/lib/provable/field.js").Field), typeof import("o1js/dist/node/lib/provable/field.js").Field & ((x: string | number | bigint | import("o1js/dist/node/lib/provable/field.js").Field | import("o1js/dist/node/lib/provable/core/fieldvar.js").FieldVar | import("o1js/dist/node/lib/provable/core/fieldvar.js").FieldConst) => import("o1js/dist/node/lib/provable/field.js").Field)]; createCampaignStep: [{ new ({ proof, publicInput, publicOutput, maxProofsVerified, }: { proof: unknown; publicInput: undefined; publicOutput: RollupCampaignOutput; maxProofsVerified: 0 | 2 | 1; }): SelfProof; publicInputType: import("o1js/dist/node/lib/provable/types/struct.js").FlexibleProvablePure; publicOutputType: import("o1js/dist/node/lib/provable/types/struct.js").FlexibleProvablePure; tag: () => { name: string; }; fromJSON import("o1js/dist/node/lib/proof-system/zkprogram.js").Proof) & { prototype: import("o1js/dist/node/lib/proof-system/zkprogram.js").Proof; publicInputType: import("o1js/dist/node/lib/provable/types/struct.js").FlexibleProvablePure; publicOutputType: import("o1js/dist/node/lib/provable/types/struct.js").FlexibleProvablePure; tag: () => { name: string; }; fromJSON: typeof import("o1js/dist/node/lib/proof-system/zkprogram.js").Proof.fromJSON; dummy: typeof import("o1js/dist/node/lib/proof-system/zkprogram.js").Proof.dummy; } & { prototype: import("o1js/dist/node/lib/proof-system/zkprogram.js").Proof; }>(this: S, { maxProofsVerified, proof: proofString, publicInput: publicInputJson, publicOutput: publicOutputJson, }: import("o1js/dist/node/lib/proof-system/zkprogram.js").JsonProof): import("o1js/dist/node/lib/proof-system/zkprogram.js").Proof, import("o1js/dist/node/bindings/lib/provable-generic.js").InferProvable>; dummy(publicInput: Input, publicOutput: OutPut, maxProofsVerified: 0 | 2 | 1, domainLog2?: number | undefined): Promise>; }, typeof CampaignAction, typeof TimelineLevel1Witness, typeof TimelineLevel1Witness, typeof TimelineLevel1Witness]; }; rawMethods: { firstStep: (...args: [import("o1js/dist/node/lib/provable/field.js").Field, import("o1js/dist/node/lib/provable/field.js").Field, import("o1js/dist/node/lib/provable/field.js").Field, import("o1js/dist/node/lib/provable/field.js").Field, import("o1js/dist/node/lib/provable/field.js").Field] & any[]) => Promise; createCampaignStep: (...args: [SelfProof, CampaignAction, TimelineLevel1Witness, TimelineLevel1Witness, TimelineLevel1Witness] & any[]) => Promise; }; } & { firstStep: (...args: [import("o1js/dist/node/lib/provable/field.js").Field, import("o1js/dist/node/lib/provable/field.js").Field, import("o1js/dist/node/lib/provable/field.js").Field, import("o1js/dist/node/lib/provable/field.js").Field, import("o1js/dist/node/lib/provable/field.js").Field] & any[]) => Promise>; createCampaignStep: (...args: [SelfProof, CampaignAction, TimelineLevel1Witness, TimelineLevel1Witness, TimelineLevel1Witness] & any[]) => Promise>; }; declare const RollupCampaignProof_base: { new ({ proof, publicInput, publicOutput, maxProofsVerified, }: { proof: unknown; publicInput: undefined; publicOutput: RollupCampaignOutput; maxProofsVerified: 0 | 2 | 1; }): { publicInput: undefined; publicOutput: RollupCampaignOutput; proof: unknown; maxProofsVerified: 0 | 2 | 1; shouldVerify: import("o1js/dist/node/lib/provable/bool.js").Bool; verify(): void; verifyIf(condition: import("o1js/dist/node/lib/provable/bool.js").Bool): void; toJSON(): import("o1js/dist/node/lib/proof-system/zkprogram.js").JsonProof; }; publicInputType: import("o1js/dist/node/lib/provable/types/struct.js").ProvablePureExtended; publicOutputType: typeof RollupCampaignOutput; tag: () => { name: string; publicInputType: import("o1js/dist/node/lib/provable/types/struct.js").ProvablePureExtended; publicOutputType: typeof RollupCampaignOutput; }; fromJSON import("o1js/dist/node/lib/proof-system/zkprogram.js").Proof) & { prototype: import("o1js/dist/node/lib/proof-system/zkprogram.js").Proof; publicInputType: import("o1js/dist/node/lib/provable/types/struct.js").FlexibleProvablePure; publicOutputType: import("o1js/dist/node/lib/provable/types/struct.js").FlexibleProvablePure; tag: () => { name: string; }; fromJSON: typeof import("o1js/dist/node/lib/proof-system/zkprogram.js").Proof.fromJSON; dummy: typeof import("o1js/dist/node/lib/proof-system/zkprogram.js").Proof.dummy; } & { prototype: import("o1js/dist/node/lib/proof-system/zkprogram.js").Proof; }>(this: S, { maxProofsVerified, proof: proofString, publicInput: publicInputJson, publicOutput: publicOutputJson, }: import("o1js/dist/node/lib/proof-system/zkprogram.js").JsonProof): import("o1js/dist/node/lib/proof-system/zkprogram.js").Proof, import("o1js/dist/node/bindings/lib/provable-generic.js").InferProvable>; dummy(publicInput: Input, publicOutput: OutPut, maxProofsVerified: 0 | 2 | 1, domainLog2?: number | undefined): Promise>; }; declare class RollupCampaignProof extends RollupCampaignProof_base { } declare class CampaignContract extends SmartContract { nextCampaignId: State; timelineRoot: State; ipfsHashRoot: State; keyIndexRoot: State; zkAppRoot: State; actionState: State; reducer: { dispatch(action: CampaignAction): void; reduce(actions: CampaignAction[][], stateType: Provable, reduce: (state: State_1, action: CampaignAction) => State_1, initial: { state: State_1; actionState: import("o1js/dist/node/lib/provable/field.js").Field; }, options?: { maxTransactionsWithActions?: number | undefined; maxActionsPerMethod?: number | undefined; skipActionStatePrecondition?: boolean | undefined; } | undefined): { state: State_1; actionState: import("o1js/dist/node/lib/provable/field.js").Field; }; forEach(actions: CampaignAction[][], reduce: (action: CampaignAction) => void, fromActionState: import("o1js/dist/node/lib/provable/field.js").Field, options?: { maxTransactionsWithActions?: number | undefined; maxActionsPerMethod?: number | undefined; skipActionStatePrecondition?: boolean | undefined; } | undefined): import("o1js/dist/node/lib/provable/field.js").Field; getActions({ fromActionState, endActionState, }?: { fromActionState?: import("o1js/dist/node/lib/provable/field.js").Field | undefined; endActionState?: import("o1js/dist/node/lib/provable/field.js").Field | undefined; } | undefined): CampaignAction[][]; fetchActions({ fromActionState, endActionState, }: { fromActionState?: import("o1js/dist/node/lib/provable/field.js").Field | undefined; endActionState?: import("o1js/dist/node/lib/provable/field.js").Field | undefined; }): Promise; }; init(): void; createCampaign(timeline: Timeline, ipfsHash: IpfsHash, committeeId: Field, keyId: Field, keyStatusWitness: Storage.DKGStorage.DkgLevel1Witness, campaignContractWitness: AddressWitness, dkgContractRef: ZkAppRef, requesterContractRef: ZkAppRef): Promise; rollup(rollupCampaignProof: RollupCampaignProof): Promise; getCampaignTimelineState(campaignId: Field, timeline: Timeline, timelineWitness: TimelineLevel1Witness): Field; isValidKey(campaignId: Field, committeeId: Field, keyId: Field, keyWitness: TimelineLevel1Witness): Bool; } declare class CampaignContractMock extends SmartContract { nextCampaignId: State; timelineRoot: State; ipfsHashRoot: State; keyIndexRoot: State; zkAppRoot: State; actionState: State; reducer: { dispatch(action: CampaignAction): void; reduce(actions: CampaignAction[][], stateType: Provable, reduce: (state: State_1, action: CampaignAction) => State_1, initial: { state: State_1; actionState: import("o1js/dist/node/lib/provable/field.js").Field; }, options?: { maxTransactionsWithActions?: number | undefined; maxActionsPerMethod?: number | undefined; skipActionStatePrecondition?: boolean | undefined; } | undefined): { state: State_1; actionState: import("o1js/dist/node/lib/provable/field.js").Field; }; forEach(actions: CampaignAction[][], reduce: (action: CampaignAction) => void, fromActionState: import("o1js/dist/node/lib/provable/field.js").Field, options?: { maxTransactionsWithActions?: number | undefined; maxActionsPerMethod?: number | undefined; skipActionStatePrecondition?: boolean | undefined; } | undefined): import("o1js/dist/node/lib/provable/field.js").Field; getActions({ fromActionState, endActionState, }?: { fromActionState?: import("o1js/dist/node/lib/provable/field.js").Field | undefined; endActionState?: import("o1js/dist/node/lib/provable/field.js").Field | undefined; } | undefined): CampaignAction[][]; fetchActions({ fromActionState, endActionState, }: { fromActionState?: import("o1js/dist/node/lib/provable/field.js").Field | undefined; endActionState?: import("o1js/dist/node/lib/provable/field.js").Field | undefined; }): Promise; }; init(): void; createCampaign(timeline: Timeline, ipfsHash: IpfsHash, committeeId: Field, keyId: Field, campaignContractWitness: AddressWitness, dkgContractRef: ZkAppRef, requesterContractRef: ZkAppRef): Promise; rollup(rollupCampaignProof: RollupCampaignProof): Promise; getCampaignTimelineState(campaignId: Field, timeline: Timeline, timelineWitness: TimelineLevel1Witness): Field; isValidKey(campaignId: Field, committeeId: Field, keyId: Field, keyWitness: TimelineLevel1Witness): Bool; }