pulsar-contracts
Version:
59 lines (58 loc) • 2.59 kB
TypeScript
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;
}>;