UNPKG

@roochnetwork/sdk

Version:
1,324 lines (1,281 loc) 47.2 kB
import fetch from 'isomorphic-fetch'; declare const ROOCH_ADDRESS_LENGTH = 64; declare const DEFAULT_MAX_GAS_AMOUNT = 1000000; interface ChainInfo { chainId: string; blockExplorerUrls?: string[]; chainName?: string; iconUrls?: string[]; nativeCurrency?: { name: string; symbol: string; decimals: number; }; rpcUrls?: string[]; } interface ConnectionOptions { url: string; websocket?: string; } declare class Chain { id: number; name: string; options: ConnectionOptions; constructor(id: number, name: string, options: ConnectionOptions); get url(): string; get websocket(): string; get info(): ChainInfo; } declare const LocalChain: Chain; declare const DevChain: Chain; declare const TestChain: Chain; declare const AllChain: Chain[]; /** * TODO: * * All bytes (Vec<u8>) data is represented as hex-encoded string prefixed with `0x` and fulfilled with * two hex digits per byte. * * Unlike the `Address` type, HexEncodedBytes will not trim any zeros. * */ type HexEncodedBytes = string; type MaybeHexString = HexString | string; /** * A util class for working with hex strings. * Hex strings are strings that are prefixed with `0x` */ declare class HexString { private readonly hexString; /** * Creates new hex string from Buffer * @param buffer A buffer to convert * @returns New HexString */ static fromBuffer(buffer: Uint8Array): HexString; /** * Creates new hex string from Uint8Array * @param arr Uint8Array to convert * @returns New HexString */ static fromUint8Array(arr: Uint8Array): HexString; /** * Ensures `hexString` is instance of `HexString` class * @param hexString String to check * @returns New HexString if `hexString` is regular string or `hexString` if it is HexString instance * @example * ``` * const regularString = "string"; * const hexString = new HexString("string"); // "0xstring" * HexString.ensure(regularString); // "0xstring" * HexString.ensure(hexString); // "0xstring" * ``` */ static ensure(hexString: MaybeHexString): HexString; /** * Creates new HexString instance from regular string. If specified string already starts with "0x" prefix, * it will not add another one * @param hexString String to convert * @example * ``` * const string = "string"; * new HexString(string); // "0xstring" * ``` */ constructor(hexString: string | HexEncodedBytes); /** * Getter for inner hexString * @returns Inner hex string */ hex(): string; /** * Getter for inner hexString without prefix * @returns Inner hex string without prefix * @example * ``` * const hexString = new HexString("string"); // "0xstring" * hexString.noPrefix(); // "string" * ``` */ noPrefix(): string; /** * Overrides default `toString` method * @returns Inner hex string */ toString(): string; /** * Trimmes extra zeroes in the begining of a string * @returns Inner hexString without leading zeroes * @example * ``` * new HexString("0x000000string").toShortString(); // result = "0xstring" * ``` */ toShortString(): string; /** * Converts hex string to a Uint8Array * @returns Uint8Array from inner hexString without prefix */ toUint8Array(): Uint8Array; } type Identifier$1 = string; type AccountAddress$1 = string; type HashValue = string; type Bool = boolean; type U8 = number; type U16 = number; type U32 = number; type U64 = bigint; type U128 = bigint; type U256 = bigint; type BlockNumber = number; type AuthenticationKey = string; type MultiEd25519PublicKey = string; type MultiEd25519Signature = string; type EventKey = string; type ModuleId$1 = string | { address: AccountAddress$1; name: Identifier$1; }; type FunctionId$1 = string | { address: AccountAddress$1; module: Identifier$1; functionName: Identifier$1; }; interface StructTag$1 { address: string; module: string; name: string; type_params?: TypeTag$1[]; } type TypeTag$1 = 'Bool' | 'U8' | 'U64' | 'U128' | 'Address' | 'Signer' | 'Ascii' | 'String' | { Vector: TypeTag$1; } | { Struct: StructTag$1; } | 'U16' | 'U32' | 'U256'; type ArgType = Bool | U8 | U16 | U32 | U64 | U128 | U256 | string | AccountAddress$1 | ArgType[]; type Arg = { type: TypeTag$1; value: ArgType; }; type Bytes = Uint8Array; type AnnotatedEventView = { event: EventView; parsed_event_data: AnnotatedMoveStructView; sender: RoochAccountAddress; timestamp_ms?: number | null; tx_hash?: Hex | null; }; type AnnotatedFunctionResultView = { return_values?: AnnotatedFunctionReturnValueView[] | null; vm_status: VMStatusView; }; type AnnotatedFunctionReturnValueView = { move_value: AnnotatedMoveValueView; value: FunctionReturnValueView; }; type AnnotatedMoveStructView = { abilities: number; type: RoochStructTag; value: { [key: string]: AnnotatedMoveValueView; }; }; type AnnotatedMoveValueView = number | unknown | u128 | boolean | RoochAccountAddress | AnnotatedMoveValueView[] | Uint8Array | AnnotatedMoveStructView | SpecificStructView | number | number | RoochU256; type AnnotatedStateView = { move_value: AnnotatedMoveValueView; state: StateView; }; type AuthenticatorView = { auth_validator_id: u64; payload: Uint8Array; }; type BalanceInfoView = { balance: RoochU256; coin_type: RoochStructTag; decimals: number; symbol: string; }; type EventID = { event_handle_id: unknown; event_seq: number; }; type EventView = { event_data: Uint8Array; event_id: EventID; event_index: number; type_tag: RoochTypeTag; }; type ExecuteTransactionResponseView = { execution_info: TransactionExecutionInfoView; output: TransactionOutputView; sequence_info: TransactionSequenceInfoView; }; type FunctionCallView = { args: Uint8Array[]; function_id: RoochFunctionId; ty_args: RoochTypeTag[]; }; type FunctionReturnValueView = { type_tag: RoochTypeTag; value: Uint8Array; }; type Hex = string; type KeptVMStatusView0 = { type: string; }; type KeptVMStatusView1 = { type: string; }; type KeptVMStatusView2 = { abort_code: u64; location: AbortLocation; type: string; }; type KeptVMStatusView3 = { code_offset: number; function: number; location: AbortLocation; type: string; }; type KeptVMStatusView4 = { type: string; }; type KeptVMStatusView = KeptVMStatusView0 | KeptVMStatusView1 | KeptVMStatusView2 | KeptVMStatusView3 | KeptVMStatusView4; type MoveActionTypeView = string; type MoveActionView = { function_call?: FunctionCallView | null; module_bundle?: Uint8Array[] | null; script_call?: ScriptCallView | null; }; type MoveAsciiString$1 = { bytes: number[]; }; type MoveString$1 = { bytes: number[]; }; type OpView_for_StateView0 = { type: string; value: Uint8Array; value_type: RoochTypeTag; }; type OpView_for_StateView1 = { type: string; value: Uint8Array; value_type: RoochTypeTag; }; type OpView_for_StateView2 = { type: string; }; type OpView_for_StateView = OpView_for_StateView0 | OpView_for_StateView1 | OpView_for_StateView2; type AnnotatedEventResultPageView = { data: AnnotatedEventView | null[]; has_next_page: boolean; next_cursor?: number | null; }; type PageView_for_Nullable_AnnotatedStateView_and_alloc_vec_Vec_U8Array = { data: AnnotatedStateView | null[]; has_next_page: boolean; next_cursor?: Uint8Array | null; }; type PageView_for_Nullable_BalanceInfoView_and_alloc_vec_Vec_U8Array = { data: BalanceInfoView | null[]; has_next_page: boolean; next_cursor?: Uint8Array | null; }; type StateResultPageView = { data: StateView | null[]; has_next_page: boolean; next_cursor?: Uint8Array | null; }; type TransactionResultPageView = { data: TransactionResultView[]; has_next_page: boolean; next_cursor?: number | null; }; type ScriptCallView = { args: Uint8Array[]; code: Uint8Array; ty_args: RoochTypeTag[]; }; type SpecificStructView = MoveString$1 | MoveAsciiString$1 | Hex; type StateChangeSetView = { changes: { [key: string]: TableChangeView; }; new_tables: { [key: string]: TableTypeInfoView; }; removed_tables: Hex[]; }; type StateView = { value: Uint8Array; value_type: RoochTypeTag; }; type TableChangeView = { entries: { [key: string]: OpView_for_StateView; }; }; type TableTypeInfoView = { key_type: RoochTypeTag; }; type TransactionExecutionInfoView = { event_root: Hex; gas_used: number; state_root: Hex; status: KeptVMStatusView; tx_hash: Hex; }; type TransactionOutputView = { events: EventView[]; gas_used: number; status: KeptVMStatusView; table_changeset: StateChangeSetView; }; type TransactionResultView = { execution_info: TransactionExecutionInfoView; sequence_info: TransactionSequenceInfoView; transaction: TransactionView; }; type TransactionSequenceInfoView = { tx_accumulator_root: Hex; tx_order: u128; tx_order_signature: AuthenticatorView; }; type TransactionTypeView = string; type TransactionView = { action: MoveActionView; action_type: MoveActionTypeView; raw: Uint8Array; sender: string; sequence_number: number; transaction_type: TransactionTypeView; }; type VMStatusView0 = string; type VMStatusView1 = { MoveAbort: { abort_code: u64; location: AbortLocation; }; }; type VMStatusView2 = { ExecutionFailure: { code_offset: number; function: number; location: AbortLocation; status_code: u64; }; }; type VMStatusView3 = { Error: u64; }; type VMStatusView = VMStatusView0 | VMStatusView1 | VMStatusView2 | VMStatusView3; type RoochAccountAddress = string; type RoochStructTag = string; type RoochTypeTag = string; type RoochU256 = string; type AbortLocation = string; type AccessPath = string; type RoochFunctionId = string; type u128 = string; type u64 = string; declare function fromB64(sBase64: string, nBlocksSize?: number): Uint8Array; declare function toB64(aBytes: Uint8Array): string; /** * Copyright (c) Facebook, Inc. and its affiliates * SPDX-License-Identifier: MIT OR Apache-2.0 */ interface Serializer { serializeStr(value: string): void; serializeBytes(value: Uint8Array): void; serializeBool(value: boolean): void; serializeUnit(value: null): void; serializeChar(value: string): void; serializeF32(value: number): void; serializeF64(value: number): void; serializeU8(value: number): void; serializeU16(value: number): void; serializeU32(value: number): void; serializeU64(value: bigint | number): void; serializeU128(value: bigint | number): void; serializeI8(value: number): void; serializeI16(value: number): void; serializeI32(value: number): void; serializeI64(value: bigint | number): void; serializeI128(value: bigint | number): void; serializeLen(value: number): void; serializeVariantIndex(value: number): void; serializeOptionTag(value: boolean): void; getBufferOffset(): number; getBytes(): Uint8Array; sortMapEntries(offsets: number[]): void; } /** * Copyright (c) Facebook, Inc. and its affiliates * SPDX-License-Identifier: MIT OR Apache-2.0 */ declare abstract class BinarySerializer implements Serializer { private static readonly BIG_32; private static readonly BIG_64; private static readonly BIG_32Fs; private static readonly BIG_64Fs; private static readonly textEncoder; private buffer; private offset; constructor(); private ensureBufferWillHandleSize; protected serialize(values: Uint8Array): void; abstract serializeLen(value: number): void; abstract serializeVariantIndex(value: number): void; abstract sortMapEntries(offsets: number[]): void; serializeStr(value: string): void; serializeBytes(value: Uint8Array): void; serializeBool(value: boolean): void; serializeUnit(_value: null): void; private serializeWithFunction; serializeU8(value: number): void; serializeU16(value: number): void; serializeU32(value: number): void; serializeU64(value: BigInt | number): void; serializeU128(value: BigInt | number): void; serializeI8(value: number): void; serializeI16(value: number): void; serializeI32(value: number): void; serializeI64(value: bigint | number): void; serializeI128(value: bigint | number): void; serializeOptionTag(value: boolean): void; getBufferOffset(): number; getBytes(): Uint8Array; serializeChar(_value: string): void; serializeF32(value: number): void; serializeF64(value: number): void; } /** * Copyright (c) Facebook, Inc. and its affiliates * SPDX-License-Identifier: MIT OR Apache-2.0 */ declare class BcsSerializer extends BinarySerializer { serializeU32AsUleb128(value: number): void; serializeLen(value: number): void; serializeVariantIndex(value: number): void; sortMapEntries(_offsets: number[]): void; } /** * Copyright (c) Facebook, Inc. and its affiliates * SPDX-License-Identifier: MIT OR Apache-2.0 */ interface Deserializer { deserializeStr(): string; deserializeBytes(): Uint8Array; deserializeBool(): boolean; deserializeUnit(): null; deserializeChar(): string; deserializeF32(): number; deserializeF64(): number; deserializeU8(): number; deserializeU16(): number; deserializeU32(): number; deserializeU64(): bigint; deserializeU128(): bigint; deserializeI8(): number; deserializeI16(): number; deserializeI32(): number; deserializeI64(): bigint; deserializeI128(): bigint; deserializeLen(): number; deserializeVariantIndex(): number; deserializeOptionTag(): boolean; getBufferOffset(): number; checkThatKeySlicesAreIncreasing(key1: [number, number], key2: [number, number]): void; } /** * Copyright (c) Facebook, Inc. and its affiliates * SPDX-License-Identifier: MIT OR Apache-2.0 */ declare abstract class BinaryDeserializer implements Deserializer { private static readonly BIG_32; private static readonly BIG_64; private static readonly textDecoder; buffer: ArrayBuffer; offset: number; constructor(data: Uint8Array); private read; abstract deserializeLen(): number; abstract deserializeVariantIndex(): number; abstract checkThatKeySlicesAreIncreasing(key1: [number, number], key2: [number, number]): void; deserializeStr(): string; deserializeBytes(): Uint8Array; deserializeBool(): boolean; deserializeUnit(): null; deserializeU8(): number; deserializeU16(): number; deserializeU32(): number; deserializeU64(): bigint; deserializeU128(): bigint; deserializeI8(): number; deserializeI16(): number; deserializeI32(): number; deserializeI64(): bigint; deserializeI128(): bigint; deserializeOptionTag(): boolean; getBufferOffset(): number; deserializeChar(): string; deserializeF32(): number; deserializeF64(): number; } /** * Copyright (c) Facebook, Inc. and its affiliates * SPDX-License-Identifier: MIT OR Apache-2.0 */ declare class BcsDeserializer extends BinaryDeserializer { private static readonly MAX_UINT_32; deserializeUleb128AsU32(): number; deserializeLen(): number; deserializeVariantIndex(): number; checkThatKeySlicesAreIncreasing(_key1: [number, number], _key2: [number, number]): void; } /** * Copyright (c) Facebook, Inc. and its affiliates * SPDX-License-Identifier: MIT OR Apache-2.0 */ type Optional<T> = T | null; type Seq<T> = T[]; type Tuple<T extends any[]> = T; type ListTuple<T extends any[]> = Tuple<T>[]; type unit = null; type bool = boolean; type int8 = number; type int16 = number; type int32 = number; type int64 = bigint; type int128 = bigint; type uint8 = number; type uint16 = number; type uint32 = number; type uint64 = bigint; type uint128 = bigint; type float32 = number; type float64 = number; type char = string; type str = string; type bytes = Uint8Array; declare class AccountAddress { value: ListTuple<[uint8]>; constructor(value: ListTuple<[uint8]>); serialize(serializer: Serializer): void; static deserialize(deserializer: Deserializer): AccountAddress; } declare class Authenticator { auth_validator_id: uint64; payload: Seq<uint8>; constructor(auth_validator_id: uint64, payload: Seq<uint8>); serialize(serializer: Serializer): void; static deserialize(deserializer: Deserializer): Authenticator; } declare class FunctionCall { function_id: FunctionId; ty_args: Seq<TypeTag>; args: Seq<Seq<uint8>>; constructor(function_id: FunctionId, ty_args: Seq<TypeTag>, args: Seq<Seq<uint8>>); serialize(serializer: Serializer): void; static deserialize(deserializer: Deserializer): FunctionCall; } declare class FunctionId { module_id: ModuleId; function_name: Identifier; constructor(module_id: ModuleId, function_name: Identifier); serialize(serializer: Serializer): void; static deserialize(deserializer: Deserializer): FunctionId; } declare class Identifier { value: str; constructor(value: str); serialize(serializer: Serializer): void; static deserialize(deserializer: Deserializer): Identifier; } declare class ModuleId { address: AccountAddress; name: Identifier; constructor(address: AccountAddress, name: Identifier); serialize(serializer: Serializer): void; static deserialize(deserializer: Deserializer): ModuleId; } declare abstract class MoveAction { abstract serialize(serializer: Serializer): void; static deserialize(deserializer: Deserializer): MoveAction; } declare class MoveActionVariantScript extends MoveAction { value: ScriptCall; constructor(value: ScriptCall); serialize(serializer: Serializer): void; static load(deserializer: Deserializer): MoveActionVariantScript; } declare class MoveActionVariantFunction extends MoveAction { value: FunctionCall; constructor(value: FunctionCall); serialize(serializer: Serializer): void; static load(deserializer: Deserializer): MoveActionVariantFunction; } declare class MoveActionVariantModuleBundle extends MoveAction { value: Seq<Seq<uint8>>; constructor(value: Seq<Seq<uint8>>); serialize(serializer: Serializer): void; static load(deserializer: Deserializer): MoveActionVariantModuleBundle; } declare class RoochTransaction { data: RoochTransactionData; authenticator: Authenticator; constructor(data: RoochTransactionData, authenticator: Authenticator); serialize(serializer: Serializer): void; static deserialize(deserializer: Deserializer): RoochTransaction; } declare class RoochTransactionData { sender: AccountAddress; sequence_number: uint64; chain_id: uint64; max_gas_amount: uint64; action: MoveAction; constructor(sender: AccountAddress, sequence_number: uint64, chain_id: uint64, max_gas_amount: uint64, action: MoveAction); serialize(serializer: Serializer): void; static deserialize(deserializer: Deserializer): RoochTransactionData; } declare class ScriptCall { code: bytes; ty_args: Seq<TypeTag>; args: Seq<Seq<uint8>>; constructor(code: bytes, ty_args: Seq<TypeTag>, args: Seq<Seq<uint8>>); serialize(serializer: Serializer): void; static deserialize(deserializer: Deserializer): ScriptCall; } declare class StructTag { address: AccountAddress; module: Identifier; name: Identifier; type_args: Seq<TypeTag>; constructor(address: AccountAddress, module: Identifier, name: Identifier, type_args: Seq<TypeTag>); serialize(serializer: Serializer): void; static deserialize(deserializer: Deserializer): StructTag; } declare abstract class TypeTag { abstract serialize(serializer: Serializer): void; static deserialize(deserializer: Deserializer): TypeTag; } declare class TypeTagVariantbool extends TypeTag { constructor(); serialize(serializer: Serializer): void; static load(deserializer: Deserializer): TypeTagVariantbool; } declare class TypeTagVariantu8 extends TypeTag { constructor(); serialize(serializer: Serializer): void; static load(deserializer: Deserializer): TypeTagVariantu8; } declare class TypeTagVariantu64 extends TypeTag { constructor(); serialize(serializer: Serializer): void; static load(deserializer: Deserializer): TypeTagVariantu64; } declare class TypeTagVariantu128 extends TypeTag { constructor(); serialize(serializer: Serializer): void; static load(deserializer: Deserializer): TypeTagVariantu128; } declare class TypeTagVariantaddress extends TypeTag { constructor(); serialize(serializer: Serializer): void; static load(deserializer: Deserializer): TypeTagVariantaddress; } declare class TypeTagVariantsigner extends TypeTag { constructor(); serialize(serializer: Serializer): void; static load(deserializer: Deserializer): TypeTagVariantsigner; } declare class TypeTagVariantvector extends TypeTag { value: TypeTag; constructor(value: TypeTag); serialize(serializer: Serializer): void; static load(deserializer: Deserializer): TypeTagVariantvector; } declare class TypeTagVariantstruct extends TypeTag { value: StructTag; constructor(value: StructTag); serialize(serializer: Serializer): void; static load(deserializer: Deserializer): TypeTagVariantstruct; } declare class TypeTagVariantu16 extends TypeTag { constructor(); serialize(serializer: Serializer): void; static load(deserializer: Deserializer): TypeTagVariantu16; } declare class TypeTagVariantu32 extends TypeTag { constructor(); serialize(serializer: Serializer): void; static load(deserializer: Deserializer): TypeTagVariantu32; } declare class TypeTagVariantu256 extends TypeTag { constructor(); serialize(serializer: Serializer): void; static load(deserializer: Deserializer): TypeTagVariantu256; } declare class Helpers { static serializeArray32U8Array(value: ListTuple<[uint8]>, serializer: Serializer): void; static deserializeArray32U8Array(deserializer: Deserializer): ListTuple<[uint8]>; static serializeVectorTypeTag(value: Seq<TypeTag>, serializer: Serializer): void; static deserializeVectorTypeTag(deserializer: Deserializer): Seq<TypeTag>; static serializeVectorU8(value: Seq<uint8>, serializer: Serializer): void; static deserializeVectorU8(deserializer: Deserializer): Seq<uint8>; static serializeVectorVectorU8(value: Seq<Seq<uint8>>, serializer: Serializer): void; static deserializeVectorVectorU8(deserializer: Deserializer): Seq<Seq<uint8>>; } declare class MoveString { private bytes; constructor(bytes: Seq<uint8>); serialize(serializer: Serializer): void; static deserialize(deserializer: Deserializer): MoveString; } declare class MoveAsciiString { private bytes; constructor(bytes: Seq<uint8>); serialize(serializer: Serializer): void; static deserialize(deserializer: Deserializer): MoveAsciiString; } declare function serializeU256(se: BcsSerializer, value: bigint | number): void; type index_AccountAddress = AccountAddress; declare const index_AccountAddress: typeof AccountAddress; type index_Authenticator = Authenticator; declare const index_Authenticator: typeof Authenticator; type index_BcsDeserializer = BcsDeserializer; declare const index_BcsDeserializer: typeof BcsDeserializer; type index_BcsSerializer = BcsSerializer; declare const index_BcsSerializer: typeof BcsSerializer; type index_BinaryDeserializer = BinaryDeserializer; declare const index_BinaryDeserializer: typeof BinaryDeserializer; type index_BinarySerializer = BinarySerializer; declare const index_BinarySerializer: typeof BinarySerializer; type index_Deserializer = Deserializer; type index_FunctionCall = FunctionCall; declare const index_FunctionCall: typeof FunctionCall; type index_FunctionId = FunctionId; declare const index_FunctionId: typeof FunctionId; type index_Helpers = Helpers; declare const index_Helpers: typeof Helpers; type index_Identifier = Identifier; declare const index_Identifier: typeof Identifier; type index_ListTuple<T extends any[]> = ListTuple<T>; type index_ModuleId = ModuleId; declare const index_ModuleId: typeof ModuleId; type index_MoveAction = MoveAction; declare const index_MoveAction: typeof MoveAction; type index_MoveActionVariantFunction = MoveActionVariantFunction; declare const index_MoveActionVariantFunction: typeof MoveActionVariantFunction; type index_MoveActionVariantModuleBundle = MoveActionVariantModuleBundle; declare const index_MoveActionVariantModuleBundle: typeof MoveActionVariantModuleBundle; type index_MoveActionVariantScript = MoveActionVariantScript; declare const index_MoveActionVariantScript: typeof MoveActionVariantScript; type index_MoveAsciiString = MoveAsciiString; declare const index_MoveAsciiString: typeof MoveAsciiString; type index_MoveString = MoveString; declare const index_MoveString: typeof MoveString; type index_Optional<T> = Optional<T>; type index_RoochTransaction = RoochTransaction; declare const index_RoochTransaction: typeof RoochTransaction; type index_RoochTransactionData = RoochTransactionData; declare const index_RoochTransactionData: typeof RoochTransactionData; type index_ScriptCall = ScriptCall; declare const index_ScriptCall: typeof ScriptCall; type index_Seq<T> = Seq<T>; type index_Serializer = Serializer; type index_StructTag = StructTag; declare const index_StructTag: typeof StructTag; type index_Tuple<T extends any[]> = Tuple<T>; type index_TypeTag = TypeTag; declare const index_TypeTag: typeof TypeTag; type index_TypeTagVariantaddress = TypeTagVariantaddress; declare const index_TypeTagVariantaddress: typeof TypeTagVariantaddress; type index_TypeTagVariantbool = TypeTagVariantbool; declare const index_TypeTagVariantbool: typeof TypeTagVariantbool; type index_TypeTagVariantsigner = TypeTagVariantsigner; declare const index_TypeTagVariantsigner: typeof TypeTagVariantsigner; type index_TypeTagVariantstruct = TypeTagVariantstruct; declare const index_TypeTagVariantstruct: typeof TypeTagVariantstruct; type index_TypeTagVariantu128 = TypeTagVariantu128; declare const index_TypeTagVariantu128: typeof TypeTagVariantu128; type index_TypeTagVariantu16 = TypeTagVariantu16; declare const index_TypeTagVariantu16: typeof TypeTagVariantu16; type index_TypeTagVariantu256 = TypeTagVariantu256; declare const index_TypeTagVariantu256: typeof TypeTagVariantu256; type index_TypeTagVariantu32 = TypeTagVariantu32; declare const index_TypeTagVariantu32: typeof TypeTagVariantu32; type index_TypeTagVariantu64 = TypeTagVariantu64; declare const index_TypeTagVariantu64: typeof TypeTagVariantu64; type index_TypeTagVariantu8 = TypeTagVariantu8; declare const index_TypeTagVariantu8: typeof TypeTagVariantu8; type index_TypeTagVariantvector = TypeTagVariantvector; declare const index_TypeTagVariantvector: typeof TypeTagVariantvector; type index_bool = bool; type index_bytes = bytes; type index_char = char; type index_float32 = float32; type index_float64 = float64; declare const index_fromB64: typeof fromB64; type index_int128 = int128; type index_int16 = int16; type index_int32 = int32; type index_int64 = int64; type index_int8 = int8; declare const index_serializeU256: typeof serializeU256; type index_str = str; declare const index_toB64: typeof toB64; type index_uint128 = uint128; type index_uint16 = uint16; type index_uint32 = uint32; type index_uint64 = uint64; type index_uint8 = uint8; type index_unit = unit; declare namespace index { export { index_AccountAddress as AccountAddress, index_Authenticator as Authenticator, index_BcsDeserializer as BcsDeserializer, index_BcsSerializer as BcsSerializer, index_BinaryDeserializer as BinaryDeserializer, index_BinarySerializer as BinarySerializer, index_Deserializer as Deserializer, index_FunctionCall as FunctionCall, index_FunctionId as FunctionId, index_Helpers as Helpers, index_Identifier as Identifier, index_ListTuple as ListTuple, index_ModuleId as ModuleId, index_MoveAction as MoveAction, index_MoveActionVariantFunction as MoveActionVariantFunction, index_MoveActionVariantModuleBundle as MoveActionVariantModuleBundle, index_MoveActionVariantScript as MoveActionVariantScript, index_MoveAsciiString as MoveAsciiString, index_MoveString as MoveString, index_Optional as Optional, index_RoochTransaction as RoochTransaction, index_RoochTransactionData as RoochTransactionData, index_ScriptCall as ScriptCall, index_Seq as Seq, index_Serializer as Serializer, index_StructTag as StructTag, index_Tuple as Tuple, index_TypeTag as TypeTag, index_TypeTagVariantaddress as TypeTagVariantaddress, index_TypeTagVariantbool as TypeTagVariantbool, index_TypeTagVariantsigner as TypeTagVariantsigner, index_TypeTagVariantstruct as TypeTagVariantstruct, index_TypeTagVariantu128 as TypeTagVariantu128, index_TypeTagVariantu16 as TypeTagVariantu16, index_TypeTagVariantu256 as TypeTagVariantu256, index_TypeTagVariantu32 as TypeTagVariantu32, index_TypeTagVariantu64 as TypeTagVariantu64, index_TypeTagVariantu8 as TypeTagVariantu8, index_TypeTagVariantvector as TypeTagVariantvector, index_bool as bool, index_bytes as bytes, index_char as char, index_float32 as float32, index_float64 as float64, index_fromB64 as fromB64, index_int128 as int128, index_int16 as int16, index_int32 as int32, index_int64 as int64, index_int8 as int8, index_serializeU256 as serializeU256, index_str as str, index_toB64 as toB64, index_uint128 as uint128, index_uint16 as uint16, index_uint32 as uint32, index_uint64 as uint64, index_uint8 as uint8, index_unit as unit, }; } /** In TypeScript, we can’t inherit or extend from more than one class, Mixins helps us to get around that by creating a partial classes that we can combine to form a single class that contains all the methods and properties from the partial classes. {@link https://www.typescriptlang.org/docs/handbook/mixins.html#alternative-pattern} */ declare function applyMixin(targetClass: any, baseClass: any, baseClassProp: string): void; declare function toHexString(byteArray: Iterable<number>): string; declare function fromHexString(hex: string, padding?: number): Uint8Array; /** * @public * Should be called to pad string to expected length */ declare function padLeft(str: string, chars: number, sign?: string): string; /** * @public * Should be called to pad string to expected length */ declare function padRight(str: string, chars: number, sign?: string): string; declare function encodeFunctionCall(functionId: FunctionId$1, tyArgs: TypeTag$1[], args: bytes[]): MoveActionVariantFunction; declare function typeTagToSCS(ty: TypeTag$1): TypeTag; declare function structTagToSCS(data: StructTag$1): StructTag; declare function addressToSCS(addr: AccountAddress$1): AccountAddress; declare function encodeStructTypeTags(typeArgsString: string[]): TypeTag$1[]; declare function addressToListTuple(ethAddress: string): ListTuple<[uint8]>; declare function addressToSeqNumber(ethAddress: string): Seq<number>; declare function encodeArg(arg: Arg): bytes; declare const encodeMoveCallData: (funcId: FunctionId$1, tyArgs: TypeTag$1[], args: Arg[]) => Uint8Array; declare function functionIdToStirng(functionId: FunctionId$1): string; declare function parseFunctionId(functionId: FunctionId$1): { address: AccountAddress$1; module: Identifier$1; functionName: Identifier$1; }; /** * Perform the following operations: * 1. Make the address lower case * 2. Prepend `0x` if the string does not start with `0x`. * 3. Add more zeros if the length of the address(excluding `0x`) is less than `Rooch_ADDRESS_LENGTH` * * WARNING: if the address value itself starts with `0x`, e.g., `0x0x`, the default behavior * is to treat the first `0x` not as part of the address. The default behavior can be overridden by * setting `forceAdd0x` to true * */ declare function normalizeRoochAddress(value: string, forceAdd0x?: boolean): string; declare function typeTagToString(type_tag: TypeTag$1): string; declare function uint8Array2SeqNumber(bytes: Uint8Array): Seq<number>; /** * Value to be converted into public key. */ type PublicKeyInitData = string | Uint8Array | Iterable<number>; /** * A public key */ declare abstract class PublicKey { /** * Checks if two public keys are equal */ equals(publicKey: PublicKey): boolean; /** * Return the base-64 representation of the public key */ toBase64(): string; /** * Return the Rooch representation of the public key encoded in * base-64. A Rooch public key is formed by the concatenation * of the scheme flag with the raw bytes of the public key */ toRoochPublicKey(): string; /** * Return the byte array representation of the public key */ abstract toBytes(): Uint8Array; /** * Return the Rooch address associated with this public key */ abstract toRoochAddress(): string; /** * Return signature scheme flag of the public key */ abstract flag(): number; } type SignatureScheme = 'ED25519'; /** * Pair of signature and corresponding public key */ type SignaturePubkeyPair = { signatureScheme: SignatureScheme; /** Base64-encoded signature */ signature: Uint8Array; /** Base64-encoded public key */ pubKey: PublicKey; }; /** * (`flag || signature || pubkey` bytes, as base-64 encoded string). * Signature is committed to the intent message of the transaction data, as base-64 encoded string. */ type SerializedSignature = Uint8Array; declare const SIGNATURE_SCHEME_TO_FLAG: { ED25519: number; }; declare const SIGNATURE_FLAG_TO_SCHEME: { readonly 0: "ED25519"; }; type SignatureFlag = keyof typeof SIGNATURE_FLAG_TO_SCHEME; declare function toSerializedSignature({ signature, signatureScheme, pubKey, }: SignaturePubkeyPair): SerializedSignature; /** * Parse and validate a path that is compliant to SLIP-0010 in form * m/44'/784'/{account_index}'/{change_index}'/{address_index}'. * * @param path path string (e.g. `m/44'/784'/0'/0'/0'`). */ declare function isValidHardenedPath(path: string): boolean; /** * Parse and validate a path that is compliant to BIP-32 in form * m/54'/784'/{account_index}'/{change_index}/{address_index} * for Secp256k1 and m/74'/784'/{account_index}'/{change_index}/{address_index} for Secp256r1. * * Note that the purpose for Secp256k1 is registered as 54, to differentiate from Ed25519 with purpose 44. * * @param path path string (e.g. `m/54'/784'/0'/0/0`). */ declare function isValidBIP32Path(path: string): boolean; /** * Uses KDF to derive 64 bytes of key data from mnemonic with empty password. * * @param mnemonics 12 words string split by spaces. */ declare function mnemonicToSeed(mnemonics: string): Uint8Array; /** * Derive the seed in hex format from a 12-word mnemonic string. * * @param mnemonics 12 words string split by spaces. */ declare function mnemonicToSeedHex(mnemonics: string): string; type ExportedKeypair = { schema: SignatureScheme; privateKey: string; }; declare abstract class BaseSigner { abstract sign(bytes: Uint8Array): Promise<Uint8Array>; signMessage(bytes: Uint8Array): Promise<{ signature: Uint8Array; bytes: Uint8Array; }>; signMessageWithHashed(bytes: Uint8Array): Promise<{ signature: Uint8Array; bytes: Uint8Array; }>; toRoochAddress(): string; /** * Return the signature for the data. * Prefer the async verion {@link sign}, as this method will be deprecated in a future release. */ abstract signData(data: Uint8Array): Uint8Array; /** * Get the key scheme of the keypair: Secp256k1 or ED25519 */ abstract getKeyScheme(): SignatureScheme; /** * The public key for this keypair */ abstract getPublicKey(): PublicKey; } /** * TODO: Document */ declare abstract class Keypair extends BaseSigner { abstract export(): ExportedKeypair; } /** * An Ed25519 public key */ declare class Ed25519PublicKey extends PublicKey { static SIZE: number; private data; /** * Create a new Ed25519PublicKey object * @param value ed25519 public key as buffer or base-64 encoded string */ constructor(value: PublicKeyInitData); /** * Checks if two Ed25519 public keys are equal */ equals(publicKey: Ed25519PublicKey): boolean; /** * Return the byte array representation of the Ed25519 public key */ toBytes(): Uint8Array; /** * Return the Rooch address associated with this Ed25519 public key */ toRoochAddress(): string; /** * Return the Rooch address associated with this Ed25519 public key */ flag(): number; } declare const DEFAULT_ED25519_DERIVATION_PATH = "m/44'/784'/0'/0'/0'"; declare const DEFAULT_ED25519_SCHEMAS = "ED25519"; /** * Ed25519 Keypair data. The publickey is the 32-byte public key and * the secretkey is 64-byte, where the first 32 bytes is the secret * key and the last 32 bytes is the public key. */ interface Ed25519KeypairData { publicKey: Uint8Array; secretKey: Uint8Array; } /** * An Ed25519 Keypair used for signing transactions. */ declare class Ed25519Keypair extends Keypair { private keypair; private scheme; /** * Create a new Ed25519 keypair instance. * Generate random keypair if no {@link Ed25519Keypair} is provided. * * @param keypair Ed25519 keypair */ constructor(keypair?: Ed25519KeypairData); /** * Get the key scheme of the keypair ED25519 */ getKeyScheme(): SignatureScheme; /** * Generate a new random Ed25519 keypair */ static generate(): Ed25519Keypair; /** * Create a Ed25519 keypair from a raw secret key byte array, also known as seed. * This is NOT the private scalar which is result of hashing and bit clamping of * the raw secret key. * * The rooch.keystore key is a list of Base64 encoded `flag || privkey`. To import * a key from rooch.keystore to typescript, decode from base64 and remove the first * flag byte after checking it is indeed the Ed25519 scheme flag 0x00 (See more * on flag for signature scheme: https://github.com/rooch-network/rooch/blob/main/crates/rooch-types/src/crypto.rs): * ``` * import { Ed25519Keypair, fromB64 } from 'rooch' * const raw = fromB64(t[1]) * if (raw[0] !== 0 || raw.length !== PRIVATE_KEY_SIZE + 1) { * throw new Error('invalid key') * } * const imported = Ed25519Keypair.fromSecretKey(raw.slice(1)) * ``` * @throws error if the provided secret key is invalid and validation is not skipped. * * @param secretKey secret key byte array * @param options: skip secret key validation */ static fromSecretKey(secretKey: Uint8Array, options?: { skipValidation?: boolean; }): Ed25519Keypair; /** * The public key for this Ed25519 keypair */ getPublicKey(): Ed25519PublicKey; sign(data: Uint8Array): Promise<Uint8Array>; /** * Return the signature for the provided data using Ed25519. */ signData(data: Uint8Array): Uint8Array; /** * Derive Ed25519 keypair from mnemonics and path. The mnemonics must be normalized * and validated against the english wordlist. * * If path is none, it will default to m/44'/784'/0'/0'/0', otherwise the path must * be compliant to SLIP-0010 in form m/44'/784'/{account_index}'/{change_index}'/{address_index}'. */ static deriveKeypair(mnemonics: string, path?: string): Ed25519Keypair; /** * Derive Ed25519 keypair from mnemonicSeed and path. * * If path is none, it will default to m/44'/784'/0'/0'/0', otherwise the path must * be compliant to SLIP-0010 in form m/44'/784'/{account_index}'/{change_index}'/{address_index}'. */ static deriveKeypairFromSeed(seedHex: string, path?: string): Ed25519Keypair; /** * This returns an exported keypair object, the private key field is the pure 32-byte seed. */ export(): ExportedKeypair; } interface IProvider { getRpcApiVersion(): Promise<string | undefined>; getChainId(): number; executeViewFunction(funcId: FunctionId$1, tyArgs?: TypeTag$1[], args?: Arg[]): Promise<AnnotatedFunctionResultView>; sendRawTransaction(playload: Bytes): Promise<string>; } /** * Configuration options for the JsonRpcProvider. If the value of a field is not provided, * value in `DEFAULT_OPTIONS` for that field will be used */ type RpcProviderOptions = { /** * Cache timeout in seconds for the RPC API Version */ versionCacheTimeoutInSeconds?: number; /** Allow defining a custom RPC client to use */ fetcher?: typeof fetch; }; declare class JsonRpcProvider { options: RpcProviderOptions; chain: Chain; private client; private rpcApiVersion; private cacheExpiry; constructor(chain?: Chain, options?: RpcProviderOptions); switchChain(chain: Chain): void; ChainInfo(): ChainInfo; getChainId(): number; getRpcApiVersion(): Promise<string | undefined>; executeViewFunction(funcId: FunctionId$1, tyArgs?: TypeTag$1[], args?: Arg[]): Promise<AnnotatedFunctionResultView>; sendRawTransaction(playload: Bytes): Promise<string>; getTransactionsByHash(tx_hashes: string[]): Promise<TransactionView | null[]>; getAnnotatedStates(accessPath: string): Promise<AnnotatedStateView | null[]>; getTransactionsByOrder(cursor: number, limit: number): Promise<TransactionResultPageView>; getEventsByEventHandle(event_handle_type: string, cursor: number, limit: number): Promise<AnnotatedEventResultPageView>; getStates(access_path: string): Promise<StateView | null[]>; listStates(access_path: string, cursor: Uint8Array, limit: number): Promise<StateResultPageView>; } interface IAuthorization { scheme: number; payload: Bytes; } interface IAuthorizer { auth(callData: Bytes): Promise<IAuthorization>; } declare class PrivateKeyAuth implements IAuthorizer { private pk; constructor(pk: Keypair); auth(data: Bytes): Promise<IAuthorization>; } interface CallOption { maxGasAmount?: number; } interface IAccount { /** * Get account address */ getAddress(): string; /** * Run move function by current account * * @param funcId FunctionId the function like '0x3::empty::empty' * @param tyArgs Generic parameter list * @param args parameter list * @param opts Call option */ runFunction(funcId: FunctionId$1, tyArgs?: TypeTag$1[], args?: Arg[], opts?: CallOption): Promise<string>; /** * Create session account with scope * * @param scope string the scope of created account * @param maxInactiveInterval number The max inactive interval * @param opts CallOption */ createSessionAccount(scope: Array<string>, maxInactiveInterval: number, opts?: CallOption): Promise<IAccount>; /** * Create session key * * @param authKey * @param scopes * @param maxInactiveInterval * @param opts */ registerSessionKey(authKey: AccountAddress$1, scopes: Array<string>, maxInactiveInterval: number, opts?: CallOption): Promise<void>; } declare class Account implements IAccount { private provider; private address; private authorizer; constructor(provider: IProvider, address: AccountAddress$1, authorizer: IAuthorizer); getAddress(): string; runFunction(funcId: FunctionId$1, tyArgs: TypeTag$1[], args: Arg[], opts: CallOption): Promise<string>; private makeAuth; sequenceNumber(): Promise<number>; createSessionAccount(scope: Array<string>, maxInactiveInterval: number, opts?: CallOption): Promise<IAccount>; registerSessionKey(authKey: AccountAddress$1, scopes: Array<string>, maxInactiveInterval: number, opts?: CallOption): Promise<void>; } export { AbortLocation, AccessPath, Account, AccountAddress$1 as AccountAddress, AllChain, AnnotatedEventResultPageView, AnnotatedEventView, AnnotatedFunctionResultView, AnnotatedFunctionReturnValueView, AnnotatedMoveStructView, AnnotatedMoveValueView, AnnotatedStateView, Arg, ArgType, AuthenticationKey, AuthenticatorView, BalanceInfoView, BlockNumber, Bool, Bytes, CallOption, Chain, ChainInfo, DEFAULT_ED25519_DERIVATION_PATH, DEFAULT_ED25519_SCHEMAS, DEFAULT_MAX_GAS_AMOUNT, DevChain, Ed25519Keypair, Ed25519KeypairData, Ed25519PublicKey, EventID, EventKey, EventView, ExecuteTransactionResponseView, ExportedKeypair, FunctionCallView, FunctionId$1 as FunctionId, FunctionReturnValueView, HashValue, Hex, HexEncodedBytes, HexString, IAccount, IAuthorization, IAuthorizer, IProvider, Identifier$1 as Identifier, JsonRpcProvider, KeptVMStatusView, KeptVMStatusView0, KeptVMStatusView1, KeptVMStatusView2, KeptVMStatusView3, KeptVMStatusView4, Keypair, LocalChain, MaybeHexString, ModuleId$1 as ModuleId, MoveActionTypeView, MoveActionView, MoveAsciiString$1 as MoveAsciiString, MoveString$1 as MoveString, MultiEd25519PublicKey, MultiEd25519Signature, OpView_for_StateView, OpView_for_StateView0, OpView_for_StateView1, OpView_for_StateView2, PageView_for_Nullable_AnnotatedStateView_and_alloc_vec_Vec_U8Array, PageView_for_Nullable_BalanceInfoView_and_alloc_vec_Vec_U8Array, PrivateKeyAuth, PublicKey, ROOCH_ADDRESS_LENGTH, RoochAccountAddress, RoochFunctionId, RoochStructTag, RoochTypeTag, RoochU256, RpcProviderOptions, SIGNATURE_FLAG_TO_SCHEME, SIGNATURE_SCHEME_TO_FLAG, ScriptCallView, SerializedSignature, SignatureFlag, SignaturePubkeyPair, SignatureScheme, BaseSigner as Signer, SpecificStructView, StateChangeSetView, StateResultPageView, StateView, StructTag$1 as StructTag, TableChangeView, TableTypeInfoView, TestChain, TransactionExecutionInfoView, TransactionOutputView, TransactionResultPageView, TransactionResultView, TransactionSequenceInfoView, TransactionTypeView, TransactionView, TypeTag$1 as TypeTag, U128, U16, U256, U32, U64, U8, VMStatusView, VMStatusView0, VMStatusView1, VMStatusView2, VMStatusView3, addressToListTuple, addressToSCS, addressToSeqNumber, applyMixin, index as bcsTypes, encodeArg, encodeFunctionCall, encodeMoveCallData, encodeStructTypeTags, fromHexString, functionIdToStirng, isValidBIP32Path, isValidHardenedPath, mnemonicToSeed, mnemonicToSeedHex, normalizeRoochAddress, padLeft, padRight, parseFunctionId, structTagToSCS, toHexString, toSerializedSignature, typeTagToSCS, typeTagToString, u128, u64, uint8Array2SeqNumber };