@0xobelisk/rooch-client
Version:
Tookit for interacting with rooch move framework
86 lines (85 loc) • 2.56 kB
TypeScript
import { AnnotatedFunctionResultView, ExecuteTransactionResponseView, ModuleABIView, TypeTag, NetworkType, MoveFunctionTypeParamView, Transaction } from '@roochnetwork/rooch-sdk';
export type DubheParams = {
mnemonics?: string;
secretKey?: string;
fullnodeUrls?: string[];
faucetUrl?: string;
networkType?: NetworkType;
packageId?: string;
metadata?: ModuleABIView[];
};
export type ComponentFieldType = {
components: {
type: string;
fields: {
id: {
id: string;
};
size: string;
};
};
};
export type ComponentValueType = {
id: {
id: string;
};
name: string;
value: {
type: string;
fields: ComponentFieldType;
};
};
export type ComponentContentType = {
type: string;
fields: ComponentValueType;
hasPublicTransfer: boolean;
dataType: 'moveObject';
};
export type MoveModuleFuncType = {
contractAddress: string;
moduleName: string;
funcName: string;
isEntry: boolean;
typeParams: MoveFunctionTypeParamView[];
params: string[];
return: string[];
};
export interface MessageMeta {
readonly meta: MoveModuleFuncType;
}
export interface ContractQuery extends MessageMeta {
(): Promise<AnnotatedFunctionResultView>;
({ params, typeArguments, }: {
params?: any[];
typeArguments?: TypeTag[];
}): Promise<AnnotatedFunctionResultView>;
}
export interface ContractTx extends MessageMeta {
({ tx, sender, params, typeArguments, isRaw, }: {
tx: Transaction;
sender?: string;
params?: any[];
typeArguments?: TypeTag[];
isRaw?: boolean;
}): Promise<ExecuteTransactionResponseView>;
}
export type MapMessageTx = Record<string, ContractTx>;
export type MapMessageQuery = Record<string, ContractQuery>;
export type MapModuleFuncTx = Record<string, MapMessageTx>;
export type MapModuleFuncQuery = Record<string, MapMessageQuery>;
export type MapModuleFuncTest = Record<string, Record<string, string>>;
export type MapModuleFuncQueryTest = Record<string, Record<string, string>>;
export type AccountMangerParams = {
mnemonics?: string;
secretKey?: string;
};
export type DerivePathParams = {
accountIndex?: number;
isExternal?: boolean;
addressIndex?: number;
};
/**
* These are the basics types that can be used in the APT
*/
export type MoveBasicTypes = 'address' | 'bool' | 'u8' | 'u16' | 'u32' | 'u64' | 'u128' | 'u256';
export type MoveInputTypes = 'object' | MoveBasicTypes;