UNPKG

@hashgraph/hedera-wallet-connect

Version:

A library to facilitate integrating Hedera with WalletConnect

40 lines (39 loc) 2.72 kB
import { Web3Wallet, Web3WalletTypes } from '@walletconnect/web3wallet'; import { SessionTypes } from '@walletconnect/types'; import { Wallet as HederaWallet, AccountId, Transaction, Query } from '@hashgraph/sdk'; import { HederaChainId, HederaSessionEvent, HederaJsonRpcMethod } from '../shared'; import Provider from './provider'; import type { HederaNativeWallet } from './types'; export type { HederaNativeWallet } from './types'; export { default as WalletProvider } from './provider'; export declare class HederaWeb3Wallet extends Web3Wallet implements HederaNativeWallet { chains: HederaChainId[] | string[]; methods: string[]; sessionEvents: HederaSessionEvent[] | string[]; constructor(opts: Web3WalletTypes.Options, chains?: HederaChainId[] | string[], methods?: string[], sessionEvents?: HederaSessionEvent[] | string[]); static create(projectId: string, metadata: Web3WalletTypes.Metadata, chains?: HederaChainId[], methods?: string[], sessionEvents?: HederaSessionEvent[] | string[]): Promise<HederaWeb3Wallet>; getHederaWallet(chainId: HederaChainId, accountId: AccountId | string, privateKey: string, _provider?: Provider): HederaWallet; buildAndApproveSession(accounts: string[], { id, params }: Web3WalletTypes.SessionProposal): Promise<SessionTypes.Struct>; validateParam(name: string, value: any, expectedType: string): void; parseSessionRequest(event: Web3WalletTypes.SessionRequest, shouldThrow?: boolean): { method: HederaJsonRpcMethod; chainId: HederaChainId; id: number; topic: string; body?: Transaction | Query<any> | string | Uint8Array | undefined; accountId?: AccountId; }; executeSessionRequest(event: Web3WalletTypes.SessionRequest, hederaWallet: HederaWallet): Promise<void>; rejectSessionRequest(event: Web3WalletTypes.SessionRequest, error: { code: number; message: string; }): Promise<void>; hedera_getNodeAddresses(id: number, topic: string, _: any, // ignore this param to be consistent call signature with other functions signer: HederaWallet): Promise<void>; hedera_executeTransaction(id: number, topic: string, body: Transaction, signer: HederaWallet): Promise<void>; hedera_signMessage(id: number, topic: string, body: string, signer: HederaWallet): Promise<void>; hedera_signAndExecuteQuery(id: number, topic: string, body: Query<any>, signer: HederaWallet): Promise<void>; hedera_signAndExecuteTransaction(id: number, topic: string, body: Transaction, signer: HederaWallet): Promise<void>; hedera_signTransaction(id: number, topic: string, body: Uint8Array, signer: HederaWallet): Promise<void>; } export default HederaWeb3Wallet;