UNPKG

pulsar-contracts

Version:

59 lines (58 loc) 2.59 kB
import { Field } from 'o1js'; import { ValidateReducePublicInput } from '../ValidateReduce.js'; import { Batch, PulsarAction } from '../types/PulsarAction.js'; import { SettlementContract } from '../SettlementContract.js'; import { ReduceMask } from '../types/common.js'; export { MapFromArray, CalculateMax, CalculateMaxWithBalances, PrepareBatch, PrepareBatchWithActions, PackActions, }; declare function MapFromArray(array: Field[]): Map<string, number>; declare function CalculateMax(includedActionsMap: Map<string, number>, contractInstance: SettlementContract, packedActions: Array<{ action: PulsarAction; hash: bigint; }>): { endActionState: bigint; batchActions: PulsarAction[]; publicInput: ValidateReducePublicInput; mask: ReduceMask; }; declare function CalculateMaxWithBalances(withdrawBalances: Map<string, number>, contractInstance: SettlementContract, packedActions: Array<{ action: PulsarAction; hash: bigint; }>): { endActionState: bigint; batchActions: PulsarAction[]; publicInput: ValidateReducePublicInput; mask: ReduceMask; }; declare function PackActions(initialState: Field, actions: Array<PulsarAction>): { action: PulsarAction; hash: bigint; }[]; declare function PrepareBatch(includedActions: Map<string, number>, contractInstance: SettlementContract): Promise<{ endActionState: bigint; batchActions: never[]; batch: Batch; useActionStack: import("o1js/dist/node/lib/provable/bool.js").Bool; actionStackProof: undefined; publicInput: ValidateReducePublicInput; mask: ReduceMask; } | { batchActions: PulsarAction[]; batch: Batch; useActionStack: import("o1js/dist/node/lib/provable/bool.js").Bool; actionStackProof: import("o1js").Proof<import("o1js/dist/node/lib/provable/field.js").Field, import("o1js/dist/node/lib/provable/field.js").Field>; publicInput: ValidateReducePublicInput; mask: ReduceMask; endActionState?: undefined; }>; declare function PrepareBatchWithActions(includedActions: Map<string, number>, contractInstance: SettlementContract, packedActions: { action: PulsarAction; hash: bigint; }[]): Promise<{ endActionState: import("o1js/dist/node/lib/provable/field.js").Field; batchActions: PulsarAction[]; batch: Batch; useActionStack: import("o1js/dist/node/lib/provable/bool.js").Bool; actionStackProof: import("o1js").Proof<import("o1js/dist/node/lib/provable/field.js").Field, import("o1js/dist/node/lib/provable/field.js").Field>; publicInput: ValidateReducePublicInput; mask: ReduceMask; }>;