wowok
Version:
Wowok Blockchain TypeScript API
151 lines (150 loc) • 4.04 kB
TypeScript
import { MessageType } from "@protobuf-ts/runtime";
export interface Package {
storageId?: string;
originalId?: string;
version?: bigint;
modules: Module[];
typeOrigins: TypeOrigin[];
linkage: Linkage[];
}
export interface Module {
name?: string;
contents?: Uint8Array;
datatypes: DatatypeDescriptor[];
functions: FunctionDescriptor[];
}
export interface DatatypeDescriptor {
typeName?: string;
definingId?: string;
module?: string;
name?: string;
abilities: Ability[];
typeParameters: TypeParameter[];
kind?: DatatypeDescriptor_DatatypeKind;
fields: FieldDescriptor[];
variants: VariantDescriptor[];
}
export declare enum DatatypeDescriptor_DatatypeKind {
DATATYPE_KIND_UNKNOWN = 0,
STRUCT = 1,
ENUM = 2
}
export interface TypeParameter {
constraints: Ability[];
isPhantom?: boolean;
}
export interface FieldDescriptor {
name?: string;
position?: number;
type?: OpenSignatureBody;
}
export interface VariantDescriptor {
name?: string;
position?: number;
fields: FieldDescriptor[];
}
export interface OpenSignatureBody {
type?: OpenSignatureBody_Type;
typeName?: string;
typeParameterInstantiation: OpenSignatureBody[];
typeParameter?: number;
}
export declare enum OpenSignatureBody_Type {
TYPE_UNKNOWN = 0,
ADDRESS = 1,
BOOL = 2,
U8 = 3,
U16 = 4,
U32 = 5,
U64 = 6,
U128 = 7,
U256 = 8,
VECTOR = 9,
DATATYPE = 10,
TYPE_PARAMETER = 11
}
export interface FunctionDescriptor {
name?: string;
visibility?: FunctionDescriptor_Visibility;
isEntry?: boolean;
typeParameters: TypeParameter[];
parameters: OpenSignature[];
returns: OpenSignature[];
}
export declare enum FunctionDescriptor_Visibility {
VISIBILITY_UNKNOWN = 0,
PRIVATE = 1,
PUBLIC = 2,
FRIEND = 3
}
export interface OpenSignature {
reference?: OpenSignature_Reference;
body?: OpenSignatureBody;
}
export declare enum OpenSignature_Reference {
REFERENCE_UNKNOWN = 0,
IMMUTABLE = 1,
MUTABLE = 2
}
export interface TypeOrigin {
moduleName?: string;
datatypeName?: string;
packageId?: string;
}
export interface Linkage {
originalId?: string;
upgradedId?: string;
upgradedVersion?: bigint;
}
export declare enum Ability {
ABILITY_UNKNOWN = 0,
COPY = 1,
DROP = 2,
STORE = 3,
KEY = 4
}
declare class Package$Type extends MessageType<Package> {
constructor();
}
export declare const Package: Package$Type;
declare class Module$Type extends MessageType<Module> {
constructor();
}
export declare const Module: Module$Type;
declare class DatatypeDescriptor$Type extends MessageType<DatatypeDescriptor> {
constructor();
}
export declare const DatatypeDescriptor: DatatypeDescriptor$Type;
declare class TypeParameter$Type extends MessageType<TypeParameter> {
constructor();
}
export declare const TypeParameter: TypeParameter$Type;
declare class FieldDescriptor$Type extends MessageType<FieldDescriptor> {
constructor();
}
export declare const FieldDescriptor: FieldDescriptor$Type;
declare class VariantDescriptor$Type extends MessageType<VariantDescriptor> {
constructor();
}
export declare const VariantDescriptor: VariantDescriptor$Type;
declare class OpenSignatureBody$Type extends MessageType<OpenSignatureBody> {
constructor();
}
export declare const OpenSignatureBody: OpenSignatureBody$Type;
declare class FunctionDescriptor$Type extends MessageType<FunctionDescriptor> {
constructor();
}
export declare const FunctionDescriptor: FunctionDescriptor$Type;
declare class OpenSignature$Type extends MessageType<OpenSignature> {
constructor();
}
export declare const OpenSignature: OpenSignature$Type;
declare class TypeOrigin$Type extends MessageType<TypeOrigin> {
constructor();
}
export declare const TypeOrigin: TypeOrigin$Type;
declare class Linkage$Type extends MessageType<Linkage> {
constructor();
}
export declare const Linkage: Linkage$Type;
export {};