starknetkit
Version:
<!-- logo --> <p align="center"> <img width='300' src="https://starknetkit-website-git-blo-1541-argentlabs.vercel.app/starknetKit-logo.svg"> </p>
61 lines (59 loc) • 2.31 kB
TypeScript
import { RequestFn } from '@starknet-io/get-starknet-core';
import { StarknetWindowObject } from '@starknet-io/types-js';
import { JsonRpcProvider } from '@walletconnect/jsonrpc-provider';
import { default as SignClient } from '@walletconnect/sign-client';
import { SignerConnection } from '@walletconnect/signer-connection';
import { SessionTypes } from '@walletconnect/types';
import { AccountInterface, ProviderInterface, SignerInterface, constants } from 'starknet';
import { NamespaceAdapterOptions, NamespaceAdapter } from '../adapter';
export interface EthereumRpcConfig {
chains: string[];
methods: string[];
events: string[];
}
export declare const serializeStarknetChainId: (chainId: string) => string;
export declare const deserializeStarknetChainId: (chainId: string) => string;
export declare class StarknetAdapter extends NamespaceAdapter implements StarknetWindowObject {
id: string;
name: string;
version: string;
icon: string;
provider: ProviderInterface;
signer: undefined;
account: AccountInterface;
selectedAddress: string;
namespace: string;
methods: string[];
events: string[];
remoteSigner: SignerInterface;
signerConnection: SignerConnection;
rpcProvider: JsonRpcProvider;
chainId: string;
client: SignClient;
session?: SessionTypes.Struct;
rpc: EthereumRpcConfig;
private walletRpc;
private handleRequest;
constructor({ client, chainId, rpcUrl, provider }: NamespaceAdapterOptions);
getNetworkName(chainId: string): constants.NetworkName;
request: RequestFn;
enable(): Promise<string[]>;
get isConnected(): true;
isPreauthorized(): Promise<boolean>;
on: StarknetWindowObject["on"];
off: StarknetWindowObject["off"];
private requestWallet;
get isConnecting(): boolean;
disable(): Promise<void>;
get isWalletConnect(): boolean;
protected registerEventListeners(): void;
protected formatChainId(chainId: string): string;
protected parseChainId(chainId: string): string;
protected setAccounts(accounts: string[]): void;
private handleRequestChainId;
private handleRequestAccounts;
private handleGetPermissions;
private handleAddInvokeTransaction;
private handleSignTypedData;
private handleSupportedSpecs;
}