@arcana/ca-sdk
Version:
Arcana Network's chain abstraction SDK for unified balance in Web3 apps
70 lines (69 loc) • 2.58 kB
TypeScript
import { Environment } from "@arcana/ca-common";
import SafeEventEmitter from "@metamask/safe-event-emitter";
import { FuelConnector, Provider } from "fuels";
import { AllowanceQuery } from "./query";
import { BridgeQueryInput, EthereumProvider, OnAllowanceHook, OnIntentHook, RequestArguments, SDKConfig, TransferQueryInput, TxOptions } from "./typings";
export declare class CA {
#private;
static getSupportedChains: (env?: Environment) => {
id: number;
logo: string;
name: string;
tokens: import("./typings").TokenInfo[];
}[];
caEvents: SafeEventEmitter;
private chainList;
private config;
private evm?;
private fuel?;
private hooks;
private initPromises;
private initStatus;
private isArcanaProvider;
private networkConfig;
private refundInterval;
constructor(config?: SDKConfig);
allowance(): AllowanceQuery;
bridge(input: BridgeQueryInput): Promise<{
exec: () => Promise<unknown>;
simulate: () => Promise<{
intent: import("./typings").ReadableIntent;
token: import("./typings").TokenInfo;
}>;
}>;
deinit: () => void;
getEVMProviderWithCA: () => EthereumProvider;
getFuelWithCA(): Promise<{
connector: FuelConnector;
provider: Provider;
}>;
getMyIntents(page?: number): Promise<import("./typings").RFF[]>;
getUnifiedBalance(symbol: string): Promise<import("./typings").UserAssetDatum | undefined>;
getUnifiedBalances(): Promise<import("./typings").UserAssetDatum[]>;
handleEVMTx(args: RequestArguments, options?: Partial<TxOptions>): Promise<unknown>;
init: () => Promise<void>;
onAccountsChanged: (accounts: Array<`0x${string}`>) => void;
setEVMProvider(provider: EthereumProvider): Promise<void>;
setFuelConnector(connector: FuelConnector): Promise<void>;
setOnAllowanceHook(hook: OnAllowanceHook): void;
setOnIntentHook(hook: OnIntentHook): void;
transfer(input: TransferQueryInput): Promise<{
exec: () => Promise<unknown>;
simulate: () => Promise<{
intent: import("./typings").ReadableIntent;
token: import("./typings").TokenInfo;
}>;
}>;
private changeChain;
private checkPendingRefunds;
private createCosmosWallet;
private createEVMHandler;
private createFuelHandler;
private getChainID;
private getCosmosWallet;
private getEVMAddress;
private resolveInitPromises;
private setProviderHooks;
private signatureForLogin;
private waitForInit;
}