pulsar-contracts
Version:
284 lines (283 loc) • 12.7 kB
TypeScript
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;
}