@snowflake-so/safe-saber-walletkit
Version:
Snowflake Safe forked version of @saberhq/use-solana package. Used for integration purpose.
45 lines (44 loc) • 1.66 kB
TypeScript
import type Transport from '@ledgerhq/hw-transport';
import type { Broadcaster, PendingTransaction, SignAndBroadcastOptions } from '@saberhq/solana-contrib';
import type { Connection, PublicKey, Transaction } from '@solana/web3.js';
import EventEmitter from 'eventemitter3';
import type { WalletAdapter } from '../types';
export interface LedgerHDWalletPath {
account?: number;
change?: number;
}
/**
* An account associated with the connected Ledger device.
*/
export interface LedgerHDWalletAccount extends LedgerHDWalletPath {
key: PublicKey;
}
export declare class LedgerWalletAdapter extends EventEmitter implements WalletAdapter {
private _connecting;
private _publicKey;
private _transport;
private _derivationPath;
constructor();
get publicKey(): PublicKey | null;
get connected(): boolean;
get autoApprove(): boolean;
signAndBroadcastTransaction(transaction: Transaction, _connection: Connection, broadcaster: Broadcaster, opts?: SignAndBroadcastOptions): Promise<PendingTransaction>;
signAllTransactions(transactions: Transaction[]): Promise<Transaction[]>;
signTransaction(transaction: Transaction): Promise<Transaction>;
connect(args?: unknown): Promise<void>;
disconnect(): Promise<void>;
/**
* Ledger transport.
*/
get transport(): Transport | null;
/**
* Fetches accounts associated with the given derivation paths.
*
* @param paths
* @returns
*/
static fetchAccountsForPaths(paths: LedgerHDWalletPath[]): Promise<LedgerHDWalletAccount[]>;
}
export declare class LedgerError extends Error {
constructor(error: Error);
}