@orderly.network/default-evm-adapter
Version:
106 lines (100 loc) • 3.76 kB
TypeScript
import { IContract, BaseWalletAdapter, RegisterAccountInputs, Message, AddOrderlyKeyInputs, WithdrawInputs, SignatureDomain, InternalTransferInputs, SettleInputs, DexRequestInputs } from '@orderly.network/core';
import { API, ChainNamespace } from '@orderly.network/types';
declare global {
interface Window {
__ORDERLY_VERSION__?: {
[key: string]: string;
};
}
}
declare const _default: "2.7.2";
type Eip1193Provider = {
request: (args: {
method: string;
params?: any[];
}) => Promise<any>;
};
interface Web3Provider {
set provider(provider: Eip1193Provider);
parseUnits(amount: string, decimals: number): string;
formatUnits(amount: string, decimals: number): string;
signTypedData(address: string, toSignatureMessage: any): Promise<string>;
send(method: string, params: Array<any> | Record<string, any>): Promise<any>;
call(address: string, method: string, params: any[], options?: {
abi: any;
}): Promise<any>;
/**
* send transaction
*/
sendTransaction(contractAddress: string, method: string, payload: {
from: string;
to?: string;
data: any[];
value?: bigint;
}, options: {
abi: any;
}): Promise<any>;
callOnChain(chain: API.NetworkInfos, address: string, method: string, params: any[], options: {
abi: any;
}): Promise<any>;
getBalance(userAddress: string): Promise<bigint>;
pollTransactionReceiptWithBackoff(txHash: string, baseInterval?: number, maxInterval?: number, maxRetries?: number): Promise<any>;
}
interface EVMAdapterOptions {
provider: Eip1193Provider;
address: string;
chain: {
id: number;
};
contractManager: IContract;
}
declare class DefaultEVMWalletAdapter extends BaseWalletAdapter<EVMAdapterOptions> {
private readonly web3Provider;
chainNamespace: ChainNamespace;
private _address;
private _chainId;
private contractManager;
constructor(web3Provider: Web3Provider);
get address(): string;
get chainId(): number;
set chainId(chainId: number);
private setConfig;
active(config: EVMAdapterOptions): void;
deactivate(): void;
update(config: EVMAdapterOptions): void;
generateSecretKey(): string;
private lifecycleName;
private signTypedData;
generateRegisterAccountMessage(inputs: RegisterAccountInputs): Promise<Message>;
generateAddOrderlyKeyMessage(inputs: AddOrderlyKeyInputs): Promise<Message>;
generateWithdrawMessage(inputs: WithdrawInputs): Promise<Message & {
domain: SignatureDomain;
}>;
generateInternalTransferMessage(inputs: InternalTransferInputs): Promise<Message & {
domain: SignatureDomain;
}>;
generateSettleMessage(inputs: SettleInputs): Promise<Message & {
domain: SignatureDomain;
}>;
generateDexRequestMessage(inputs: DexRequestInputs): Promise<Message & {
domain: SignatureDomain;
}>;
getBalance(): Promise<bigint>;
call(address: string, method: string, params: any[], options?: {
abi: any;
}): Promise<any>;
sendTransaction(contractAddress: string, method: string, payload: {
from: string;
to?: string;
data: any[];
value?: bigint;
}, options: {
abi: any;
}): Promise<any>;
callOnChain(chain: API.NetworkInfos, address: string, method: string, params: any[], options: {
abi: any;
}): Promise<any>;
getDomain(onChainDomain?: boolean): SignatureDomain;
pollTransactionReceiptWithBackoff(txHash: string, baseInterval?: number, maxInterval?: number, maxRetries?: number): Promise<any>;
}
export { DefaultEVMWalletAdapter, type Web3Provider, _default as version };