o1js
Version:
TypeScript framework for zk-SNARKs and zkApps
206 lines (205 loc) • 6.64 kB
TypeScript
import { GenericBool, GenericField, GenericHashInput, GenericSignableBool, GenericSignableField } from '../../lib/generic.js';
import * as Json from '../gen/v1/transaction-json.js';
import { HashHelpers } from '../../../lib/provable/crypto/hash-generic.js';
export { derivedLeafTypes, derivedLeafTypesSignable, tokenSymbolLength };
declare const tokenSymbolLength = 6;
declare function derivedLeafTypes<Field, Bool>({ Field, Bool, HashHelpers, packToFields, }: {
Field: GenericField<Field>;
Bool: GenericBool<Field, Bool>;
HashHelpers: HashHelpers<Field>;
packToFields: (input: GenericHashInput<Field>) => Field[];
}): {
TokenId: Omit<import("../../lib/generic.js").GenericProvableExtended<Field, bigint, string, Field>, "toJSON" | "fromJSON"> & {
empty: () => Field;
toJSON(x: Field): string;
fromJSON(x: string): Field;
};
StateHash: Omit<import("../../lib/generic.js").GenericProvableExtended<Field, bigint, string, Field>, "toJSON" | "fromJSON"> & {
empty: () => Field;
toJSON(x: Field): string;
fromJSON(x: string): Field;
};
TokenSymbol: Omit<import("../../lib/generic.js").GenericProvableExtended<{
field: Field;
symbol: string;
}, {
field: bigint;
symbol: string;
}, {
field: string;
symbol: string;
}, Field>, "toJSON" | "fromJSON"> & {
toInput({ field }: TokenSymbol<Field>): GenericHashInput<Field>;
toJSON({ symbol }: TokenSymbol<Field>): string;
fromJSON(symbol: string): TokenSymbol<Field>;
};
AuthRequired: Omit<import("../../lib/generic.js").GenericProvableExtended<{
constant: Bool;
signatureNecessary: Bool;
signatureSufficient: Bool;
}, {
constant: boolean;
signatureNecessary: boolean;
signatureSufficient: boolean;
}, {
constant: boolean;
signatureNecessary: boolean;
signatureSufficient: boolean;
}, Field>, "toJSON" | "fromJSON"> & {
empty(): AuthRequired<Bool>;
toJSON(x: AuthRequired<Bool>): Json.AuthRequired;
fromJSON(json: Json.AuthRequired): AuthRequired<Bool>;
};
ZkappUri: import("../../lib/generic.js").GenericProvableExtended<{
data: string;
hash: Field;
}, {
data: string;
hash: bigint;
}, string, Field>;
};
declare function derivedLeafTypesSignable<Field, Bool>({ Field, Bool, HashHelpers, packToFields, }: {
Field: GenericSignableField<Field>;
Bool: GenericSignableBool<Field, Bool>;
HashHelpers: HashHelpers<Field>;
packToFields: (input: GenericHashInput<Field>) => Field[];
}): {
TokenId: Omit<{
toInput: (x: Field) => {
fields?: Field[] | undefined;
packed?: [Field, number][] | undefined;
};
toJSON: (x: Field) => string;
fromJSON: (x: string) => Field;
empty: () => Field;
}, "toJSON" | "fromJSON"> & {
empty: () => Field;
toJSON(x: Field): string;
fromJSON(x: string): Field;
};
StateHash: Omit<{
toInput: (x: Field) => {
fields?: Field[] | undefined;
packed?: [Field, number][] | undefined;
};
toJSON: (x: Field) => string;
fromJSON: (x: string) => Field;
empty: () => Field;
}, "toJSON" | "fromJSON"> & {
empty: () => Field;
toJSON(x: Field): string;
fromJSON(x: string): Field;
};
TokenSymbol: Omit<{
toInput: (x: {
field: Field;
symbol: string;
}) => {
fields?: Field[] | undefined;
packed?: [Field, number][] | undefined;
};
toJSON: (x: {
field: Field;
symbol: string;
}) => {
field: string;
symbol: string;
};
fromJSON: (x: {
field: string;
symbol: string;
}) => {
field: Field;
symbol: string;
};
empty: () => {
field: Field;
symbol: string;
};
}, "toJSON" | "fromJSON"> & {
toInput({ field }: TokenSymbol<Field>): GenericHashInput<Field>;
toJSON({ symbol }: TokenSymbol<Field>): string;
fromJSON(symbol: string): TokenSymbol<Field>;
};
AuthRequired: Omit<{
toInput: (x: {
constant: Bool;
signatureNecessary: Bool;
signatureSufficient: Bool;
}) => {
fields?: Field[] | undefined;
packed?: [Field, number][] | undefined;
};
toJSON: (x: {
constant: Bool;
signatureNecessary: Bool;
signatureSufficient: Bool;
}) => {
constant: boolean;
signatureNecessary: boolean;
signatureSufficient: boolean;
};
fromJSON: (x: {
constant: boolean;
signatureNecessary: boolean;
signatureSufficient: boolean;
}) => {
constant: Bool;
signatureNecessary: Bool;
signatureSufficient: Bool;
};
empty: () => {
constant: Bool;
signatureNecessary: Bool;
signatureSufficient: Bool;
};
}, "toJSON" | "fromJSON"> & {
empty(): AuthRequired<Bool>;
toJSON(x: AuthRequired<Bool>): Json.AuthRequired;
fromJSON(json: Json.AuthRequired): AuthRequired<Bool>;
};
MayUseToken: {
toInput: (x: {
parentsOwnToken: Bool;
inheritFromParent: Bool;
}) => {
fields?: Field[] | undefined;
packed?: [Field, number][] | undefined;
};
toJSON: (x: {
parentsOwnToken: Bool;
inheritFromParent: Bool;
}) => {
parentsOwnToken: boolean;
inheritFromParent: boolean;
};
fromJSON: (x: {
parentsOwnToken: boolean;
inheritFromParent: boolean;
}) => {
parentsOwnToken: Bool;
inheritFromParent: Bool;
};
empty: () => {
parentsOwnToken: Bool;
inheritFromParent: Bool;
};
};
Bool: GenericSignableBool<Field, Bool>;
ZkappUri: import("../../lib/generic.js").GenericProvableExtended<{
data: string;
hash: Field;
}, {
data: string;
hash: bigint;
}, string, Field>;
};
type TokenSymbol<Field> = {
symbol: string;
field: Field;
};
type AuthRequired<Bool> = {
constant: Bool;
signatureNecessary: Bool;
signatureSufficient: Bool;
};