pulsar-contracts
Version:
373 lines (372 loc) • 12.1 kB
TypeScript
import { Bool, Field, PublicKey } from 'o1js';
export { PulsarAction, Batch, PulsarActionBase, PulsarAuth, CosmosSignature };
declare const CosmosSignature_base: (new (value: {
r: import("o1js/dist/node/lib/provable/field.js").Field;
s: import("o1js/dist/node/lib/provable/field.js").Field;
}) => {
r: import("o1js/dist/node/lib/provable/field.js").Field;
s: import("o1js/dist/node/lib/provable/field.js").Field;
}) & {
_isStruct: true;
} & Omit<import("o1js/dist/node/lib/provable/types/provable-intf.js").Provable<{
r: import("o1js/dist/node/lib/provable/field.js").Field;
s: import("o1js/dist/node/lib/provable/field.js").Field;
}, {
r: bigint;
s: bigint;
}>, "fromFields"> & {
fromFields: (fields: import("o1js/dist/node/lib/provable/field.js").Field[]) => {
r: import("o1js/dist/node/lib/provable/field.js").Field;
s: import("o1js/dist/node/lib/provable/field.js").Field;
};
} & {
fromValue: (value: {
r: string | number | bigint | import("o1js/dist/node/lib/provable/field.js").Field;
s: string | number | bigint | import("o1js/dist/node/lib/provable/field.js").Field;
}) => {
r: import("o1js/dist/node/lib/provable/field.js").Field;
s: import("o1js/dist/node/lib/provable/field.js").Field;
};
toInput: (x: {
r: import("o1js/dist/node/lib/provable/field.js").Field;
s: import("o1js/dist/node/lib/provable/field.js").Field;
}) => {
fields?: Field[] | undefined;
packed?: [Field, number][] | undefined;
};
toJSON: (x: {
r: import("o1js/dist/node/lib/provable/field.js").Field;
s: import("o1js/dist/node/lib/provable/field.js").Field;
}) => {
r: string;
s: string;
};
fromJSON: (x: {
r: string;
s: string;
}) => {
r: import("o1js/dist/node/lib/provable/field.js").Field;
s: import("o1js/dist/node/lib/provable/field.js").Field;
};
empty: () => {
r: import("o1js/dist/node/lib/provable/field.js").Field;
s: import("o1js/dist/node/lib/provable/field.js").Field;
};
};
declare class CosmosSignature extends CosmosSignature_base {
static empty(): CosmosSignature;
static from(r: Field, s: Field): CosmosSignature;
toFields(): import("o1js/dist/node/lib/provable/field.js").Field[];
toJSON(): {
r: string;
s: string;
};
}
declare const PulsarAuth_base: (new (value: {
cosmosAddress: import("o1js/dist/node/lib/provable/field.js").Field;
cosmosSignature: CosmosSignature;
}) => {
cosmosAddress: import("o1js/dist/node/lib/provable/field.js").Field;
cosmosSignature: CosmosSignature;
}) & {
_isStruct: true;
} & Omit<import("o1js/dist/node/lib/provable/types/provable-intf.js").Provable<{
cosmosAddress: import("o1js/dist/node/lib/provable/field.js").Field;
cosmosSignature: CosmosSignature;
}, {
cosmosAddress: bigint;
cosmosSignature: {
r: bigint;
s: bigint;
};
}>, "fromFields"> & {
fromFields: (fields: import("o1js/dist/node/lib/provable/field.js").Field[]) => {
cosmosAddress: import("o1js/dist/node/lib/provable/field.js").Field;
cosmosSignature: CosmosSignature;
};
} & {
fromValue: (value: {
cosmosAddress: string | number | bigint | import("o1js/dist/node/lib/provable/field.js").Field;
cosmosSignature: CosmosSignature | {
r: string | number | bigint | import("o1js/dist/node/lib/provable/field.js").Field;
s: string | number | bigint | import("o1js/dist/node/lib/provable/field.js").Field;
};
}) => {
cosmosAddress: import("o1js/dist/node/lib/provable/field.js").Field;
cosmosSignature: CosmosSignature;
};
toInput: (x: {
cosmosAddress: import("o1js/dist/node/lib/provable/field.js").Field;
cosmosSignature: CosmosSignature;
}) => {
fields?: Field[] | undefined;
packed?: [Field, number][] | undefined;
};
toJSON: (x: {
cosmosAddress: import("o1js/dist/node/lib/provable/field.js").Field;
cosmosSignature: CosmosSignature;
}) => {
cosmosAddress: string;
cosmosSignature: {
r: string;
s: string;
};
};
fromJSON: (x: {
cosmosAddress: string;
cosmosSignature: {
r: string;
s: string;
};
}) => {
cosmosAddress: import("o1js/dist/node/lib/provable/field.js").Field;
cosmosSignature: CosmosSignature;
};
empty: () => {
cosmosAddress: import("o1js/dist/node/lib/provable/field.js").Field;
cosmosSignature: CosmosSignature;
};
};
declare class PulsarAuth extends PulsarAuth_base {
static empty(): PulsarAuth;
static from(cosmosAddress: Field, cosmosSignature: CosmosSignature): PulsarAuth;
toFields(): import("o1js/dist/node/lib/provable/field.js").Field[];
toJSON(): {
cosmosAddress: string;
cosmosSignature: {
r: string;
s: string;
};
};
}
type PulsarActionBase = {
type: Field;
account: PublicKey;
amount: Field;
pulsarAuth: PulsarAuth;
};
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;
pulsarAuth: PulsarAuth;
}) => {
type: import("o1js/dist/node/lib/provable/field.js").Field;
account: PublicKey;
amount: import("o1js/dist/node/lib/provable/field.js").Field;
pulsarAuth: PulsarAuth;
}) & {
_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;
pulsarAuth: PulsarAuth;
}, {
type: bigint;
account: {
x: bigint;
isOdd: boolean;
};
amount: bigint;
pulsarAuth: {
cosmosAddress: bigint;
cosmosSignature: {
r: bigint;
s: 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;
pulsarAuth: PulsarAuth;
};
} & {
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;
pulsarAuth: PulsarAuth | {
cosmosAddress: string | number | bigint | import("o1js/dist/node/lib/provable/field.js").Field;
cosmosSignature: CosmosSignature | {
r: string | number | bigint | import("o1js/dist/node/lib/provable/field.js").Field;
s: 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;
pulsarAuth: PulsarAuth;
};
toInput: (x: {
type: import("o1js/dist/node/lib/provable/field.js").Field;
account: PublicKey;
amount: import("o1js/dist/node/lib/provable/field.js").Field;
pulsarAuth: PulsarAuth;
}) => {
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;
pulsarAuth: PulsarAuth;
}) => {
type: string;
account: string;
amount: string;
pulsarAuth: {
cosmosAddress: string;
cosmosSignature: {
r: string;
s: string;
};
};
};
fromJSON: (x: {
type: string;
account: string;
amount: string;
pulsarAuth: {
cosmosAddress: string;
cosmosSignature: {
r: string;
s: string;
};
};
}) => {
type: import("o1js/dist/node/lib/provable/field.js").Field;
account: PublicKey;
amount: import("o1js/dist/node/lib/provable/field.js").Field;
pulsarAuth: PulsarAuth;
};
empty: () => {
type: import("o1js/dist/node/lib/provable/field.js").Field;
account: PublicKey;
amount: import("o1js/dist/node/lib/provable/field.js").Field;
pulsarAuth: PulsarAuth;
};
};
declare class PulsarAction extends PulsarAction_base {
static deposit(account: PublicKey, amount: Field, pulsarAuth: PulsarAuth): PulsarAction;
static withdrawal(account: PublicKey, amount: Field): PulsarAction;
static isDummy(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;
toFields(): import("o1js/dist/node/lib/provable/field.js").Field[];
toJSON(): {
type: string;
account: string;
amount: string;
pulsarAuth: {
cosmosAddress: string;
cosmosSignature: {
r: string;
s: 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;
pulsarAuth: {
cosmosAddress: bigint;
cosmosSignature: {
r: bigint;
s: 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;
pulsarAuth: {
cosmosAddress: bigint;
cosmosSignature: {
r: bigint;
s: 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;
pulsarAuth: {
cosmosAddress: string;
cosmosSignature: {
r: string;
s: string;
};
};
}[];
};
fromJSON: (x: {
actions: {
type: string;
account: string;
amount: string;
pulsarAuth: {
cosmosAddress: string;
cosmosSignature: {
r: string;
s: string;
};
};
}[];
}) => {
actions: PulsarAction[];
};
empty: () => {
actions: PulsarAction[];
};
};
declare class Batch extends Batch_base {
static empty(): Batch;
static fromArray(actions: PulsarAction[]): Batch;
}