UNPKG

pulsar-contracts

Version:

284 lines (283 loc) 12.7 kB
import { Bool, Field, PublicKey } from 'o1js'; import { ProofGenerators } from './proofGenerators.js'; export { PulsarAction, Batch }; declare const PulsarAction_base: (new (value: { type: import("o1js/dist/node/lib/provable/field.js").Field; account: PublicKey; amount: import("o1js/dist/node/lib/provable/field.js").Field; initialState: import("o1js/dist/node/lib/provable/field.js").Field; newState: import("o1js/dist/node/lib/provable/field.js").Field; initialMerkleListRoot: import("o1js/dist/node/lib/provable/field.js").Field; newMerkleListRoot: import("o1js/dist/node/lib/provable/field.js").Field; initialBlockHeight: import("o1js/dist/node/lib/provable/field.js").Field; newBlockHeight: import("o1js/dist/node/lib/provable/field.js").Field; rewardListUpdateHash: import("o1js/dist/node/lib/provable/field.js").Field; }) => { type: import("o1js/dist/node/lib/provable/field.js").Field; account: PublicKey; amount: import("o1js/dist/node/lib/provable/field.js").Field; initialState: import("o1js/dist/node/lib/provable/field.js").Field; newState: import("o1js/dist/node/lib/provable/field.js").Field; initialMerkleListRoot: import("o1js/dist/node/lib/provable/field.js").Field; newMerkleListRoot: import("o1js/dist/node/lib/provable/field.js").Field; initialBlockHeight: import("o1js/dist/node/lib/provable/field.js").Field; newBlockHeight: import("o1js/dist/node/lib/provable/field.js").Field; rewardListUpdateHash: import("o1js/dist/node/lib/provable/field.js").Field; }) & { _isStruct: true; } & Omit<import("o1js/dist/node/lib/provable/types/provable-intf.js").Provable<{ type: import("o1js/dist/node/lib/provable/field.js").Field; account: PublicKey; amount: import("o1js/dist/node/lib/provable/field.js").Field; initialState: import("o1js/dist/node/lib/provable/field.js").Field; newState: import("o1js/dist/node/lib/provable/field.js").Field; initialMerkleListRoot: import("o1js/dist/node/lib/provable/field.js").Field; newMerkleListRoot: import("o1js/dist/node/lib/provable/field.js").Field; initialBlockHeight: import("o1js/dist/node/lib/provable/field.js").Field; newBlockHeight: import("o1js/dist/node/lib/provable/field.js").Field; rewardListUpdateHash: import("o1js/dist/node/lib/provable/field.js").Field; }, { type: bigint; account: { x: bigint; isOdd: boolean; }; amount: bigint; initialState: bigint; newState: bigint; initialMerkleListRoot: bigint; newMerkleListRoot: bigint; initialBlockHeight: bigint; newBlockHeight: bigint; rewardListUpdateHash: bigint; }>, "fromFields"> & { fromFields: (fields: import("o1js/dist/node/lib/provable/field.js").Field[]) => { type: import("o1js/dist/node/lib/provable/field.js").Field; account: PublicKey; amount: import("o1js/dist/node/lib/provable/field.js").Field; initialState: import("o1js/dist/node/lib/provable/field.js").Field; newState: import("o1js/dist/node/lib/provable/field.js").Field; initialMerkleListRoot: import("o1js/dist/node/lib/provable/field.js").Field; newMerkleListRoot: import("o1js/dist/node/lib/provable/field.js").Field; initialBlockHeight: import("o1js/dist/node/lib/provable/field.js").Field; newBlockHeight: import("o1js/dist/node/lib/provable/field.js").Field; rewardListUpdateHash: import("o1js/dist/node/lib/provable/field.js").Field; }; } & { fromValue: (value: { type: string | number | bigint | import("o1js/dist/node/lib/provable/field.js").Field; account: PublicKey | { x: Field | bigint; isOdd: Bool | boolean; }; amount: string | number | bigint | import("o1js/dist/node/lib/provable/field.js").Field; initialState: string | number | bigint | import("o1js/dist/node/lib/provable/field.js").Field; newState: string | number | bigint | import("o1js/dist/node/lib/provable/field.js").Field; initialMerkleListRoot: string | number | bigint | import("o1js/dist/node/lib/provable/field.js").Field; newMerkleListRoot: string | number | bigint | import("o1js/dist/node/lib/provable/field.js").Field; initialBlockHeight: string | number | bigint | import("o1js/dist/node/lib/provable/field.js").Field; newBlockHeight: string | number | bigint | import("o1js/dist/node/lib/provable/field.js").Field; rewardListUpdateHash: string | number | bigint | import("o1js/dist/node/lib/provable/field.js").Field; }) => { type: import("o1js/dist/node/lib/provable/field.js").Field; account: PublicKey; amount: import("o1js/dist/node/lib/provable/field.js").Field; initialState: import("o1js/dist/node/lib/provable/field.js").Field; newState: import("o1js/dist/node/lib/provable/field.js").Field; initialMerkleListRoot: import("o1js/dist/node/lib/provable/field.js").Field; newMerkleListRoot: import("o1js/dist/node/lib/provable/field.js").Field; initialBlockHeight: import("o1js/dist/node/lib/provable/field.js").Field; newBlockHeight: import("o1js/dist/node/lib/provable/field.js").Field; rewardListUpdateHash: import("o1js/dist/node/lib/provable/field.js").Field; }; toInput: (x: { type: import("o1js/dist/node/lib/provable/field.js").Field; account: PublicKey; amount: import("o1js/dist/node/lib/provable/field.js").Field; initialState: import("o1js/dist/node/lib/provable/field.js").Field; newState: import("o1js/dist/node/lib/provable/field.js").Field; initialMerkleListRoot: import("o1js/dist/node/lib/provable/field.js").Field; newMerkleListRoot: import("o1js/dist/node/lib/provable/field.js").Field; initialBlockHeight: import("o1js/dist/node/lib/provable/field.js").Field; newBlockHeight: import("o1js/dist/node/lib/provable/field.js").Field; rewardListUpdateHash: import("o1js/dist/node/lib/provable/field.js").Field; }) => { fields?: Field[] | undefined; packed?: [Field, number][] | undefined; }; toJSON: (x: { type: import("o1js/dist/node/lib/provable/field.js").Field; account: PublicKey; amount: import("o1js/dist/node/lib/provable/field.js").Field; initialState: import("o1js/dist/node/lib/provable/field.js").Field; newState: import("o1js/dist/node/lib/provable/field.js").Field; initialMerkleListRoot: import("o1js/dist/node/lib/provable/field.js").Field; newMerkleListRoot: import("o1js/dist/node/lib/provable/field.js").Field; initialBlockHeight: import("o1js/dist/node/lib/provable/field.js").Field; newBlockHeight: import("o1js/dist/node/lib/provable/field.js").Field; rewardListUpdateHash: import("o1js/dist/node/lib/provable/field.js").Field; }) => { type: string; account: string; amount: string; initialState: string; newState: string; initialMerkleListRoot: string; newMerkleListRoot: string; initialBlockHeight: string; newBlockHeight: string; rewardListUpdateHash: string; }; fromJSON: (x: { type: string; account: string; amount: string; initialState: string; newState: string; initialMerkleListRoot: string; newMerkleListRoot: string; initialBlockHeight: string; newBlockHeight: string; rewardListUpdateHash: string; }) => { type: import("o1js/dist/node/lib/provable/field.js").Field; account: PublicKey; amount: import("o1js/dist/node/lib/provable/field.js").Field; initialState: import("o1js/dist/node/lib/provable/field.js").Field; newState: import("o1js/dist/node/lib/provable/field.js").Field; initialMerkleListRoot: import("o1js/dist/node/lib/provable/field.js").Field; newMerkleListRoot: import("o1js/dist/node/lib/provable/field.js").Field; initialBlockHeight: import("o1js/dist/node/lib/provable/field.js").Field; newBlockHeight: import("o1js/dist/node/lib/provable/field.js").Field; rewardListUpdateHash: import("o1js/dist/node/lib/provable/field.js").Field; }; empty: () => { type: import("o1js/dist/node/lib/provable/field.js").Field; account: PublicKey; amount: import("o1js/dist/node/lib/provable/field.js").Field; initialState: import("o1js/dist/node/lib/provable/field.js").Field; newState: import("o1js/dist/node/lib/provable/field.js").Field; initialMerkleListRoot: import("o1js/dist/node/lib/provable/field.js").Field; newMerkleListRoot: import("o1js/dist/node/lib/provable/field.js").Field; initialBlockHeight: import("o1js/dist/node/lib/provable/field.js").Field; newBlockHeight: import("o1js/dist/node/lib/provable/field.js").Field; rewardListUpdateHash: import("o1js/dist/node/lib/provable/field.js").Field; }; }; declare class PulsarAction extends PulsarAction_base { static settlement(initialState: Field, newState: Field, initialMerkleListRoot: Field, newMerkleListRoot: Field, initialBlockHeight: Field, newBlockHeight: Field, rewardListUpdate: ProofGenerators): PulsarAction; static deposit(account: PublicKey, amount: Field): PulsarAction; static withdrawal(account: PublicKey, amount: Field): PulsarAction; static isDummy(action: PulsarAction): Bool; static isSettlement(action: PulsarAction): Bool; static isDeposit(action: PulsarAction): Bool; static isWithdrawal(action: PulsarAction): Bool; unconstrainedHash(): import("o1js/dist/node/lib/provable/field.js").Field; static fromRawAction(rawAction: string[]): PulsarAction; toJSON(): { type: string; account: string; amount: string; initialState: string; newState: string; initialMerkleListRoot: string; newMerkleListRoot: string; initialBlockHeight: string; newBlockHeight: string; rewardListUpdateHash: string; }; } declare const Batch_base: (new (value: { actions: PulsarAction[]; }) => { actions: PulsarAction[]; }) & { _isStruct: true; } & Omit<import("o1js/dist/node/lib/provable/types/provable-intf.js").Provable<{ actions: PulsarAction[]; }, { actions: { type: bigint; account: { x: bigint; isOdd: boolean; }; amount: bigint; initialState: bigint; newState: bigint; initialMerkleListRoot: bigint; newMerkleListRoot: bigint; initialBlockHeight: bigint; newBlockHeight: bigint; rewardListUpdateHash: bigint; }[]; }>, "fromFields"> & { fromFields: (fields: import("o1js/dist/node/lib/provable/field.js").Field[]) => { actions: PulsarAction[]; }; } & { fromValue: (value: { actions: PulsarAction[] | { type: bigint; account: { x: bigint; isOdd: boolean; }; amount: bigint; initialState: bigint; newState: bigint; initialMerkleListRoot: bigint; newMerkleListRoot: bigint; initialBlockHeight: bigint; newBlockHeight: bigint; rewardListUpdateHash: bigint; }[]; }) => { actions: PulsarAction[]; }; toInput: (x: { actions: PulsarAction[]; }) => { fields?: Field[] | undefined; packed?: [Field, number][] | undefined; }; toJSON: (x: { actions: PulsarAction[]; }) => { actions: { type: string; account: string; amount: string; initialState: string; newState: string; initialMerkleListRoot: string; newMerkleListRoot: string; initialBlockHeight: string; newBlockHeight: string; rewardListUpdateHash: string; }[]; }; fromJSON: (x: { actions: { type: string; account: string; amount: string; initialState: string; newState: string; initialMerkleListRoot: string; newMerkleListRoot: string; initialBlockHeight: string; newBlockHeight: string; rewardListUpdateHash: string; }[]; }) => { actions: PulsarAction[]; }; empty: () => { actions: PulsarAction[]; }; }; declare class Batch extends Batch_base { static empty(): Batch; static fromArray(actions: PulsarAction[]): Batch; }