archethic
Version:
Archethic Javascript SDK
46 lines (45 loc) • 2.29 kB
TypeScript
import { AccountIdentity, ConnectionState, Endpoint, RpcRequestOrigin, RpcSubscription, TransactionSuccess } from "./types.js";
import { Service } from "../types";
import TransactionBuilder from "../transaction_builder";
import { ExtendedTransactionBuilder } from "../transaction";
export declare class RpcRequest {
private origin;
private version;
private payload;
constructor(origin: RpcRequestOrigin, payload?: {}, version?: number);
}
export declare class ArchethicRPCClient {
private origin;
private client;
private websocket;
private _connectionStateEventTarget;
private _rpcNotificationEventTarget;
static _instance: ArchethicRPCClient;
constructor();
static get instance(): ArchethicRPCClient;
setOrigin(origin: RpcRequestOrigin): ArchethicRPCClient;
_dispatchConnectionState(): void;
connect(host: string, port: number): Promise<void>;
close(): Promise<void>;
_ensuresConnectionAlive(): void;
onAccountUpdate(accountName: string, listener: Function): PromiseLike<RpcSubscription> | undefined;
_subscribe(method: string, data: object, listener: Function): PromiseLike<RpcSubscription> | undefined;
unsubscribe(subscription: RpcSubscription): void;
get connectionState(): ConnectionState;
onconnectionstatechange(listener: Function): ArchethicRPCClient;
unsubscribeconnectionstatechange(): this;
getEndpoint(): Promise<Endpoint>;
sendTransaction(transaction: TransactionBuilder | ExtendedTransactionBuilder): Promise<TransactionSuccess>;
signTransactions(serviceName: string, pathSuffix: string, transactions: TransactionBuilder[] | ExtendedTransactionBuilder[]): Promise<TransactionBuilder[] | ExtendedTransactionBuilder[]>;
addService(name: string): Promise<TransactionSuccess>;
getAccounts(): Promise<AccountIdentity[]>;
getCurrentAccount(): Promise<AccountIdentity>;
getServices(): Promise<Service[]>;
keychainDeriveKeypair(serviceName: string, index?: number, pathSuffix?: string): Promise<{
"publicKey": string;
}>;
keychainDeriveAddress(serviceName: string, index?: number, pathSuffix?: string): Promise<{
"address": string;
}>;
onCurrentAccountChange(listener: Function): PromiseLike<RpcSubscription> | undefined;
}