wallets-wrapper
Version:
How to install
130 lines (129 loc) • 4.51 kB
TypeScript
import { NEMTransaction } from '@trezor/connect/lib/types/api/nem';
import { BinanceSDKTransaction, CardanoSignedTxData, CardanoSignTransaction, EosSDKTransaction, EthereumSignedTx, Params, PROTO, RefTransaction, SignedTransaction, StellarTransaction, TezosTransactionOperation } from '@trezor/connect-web';
import { TxInputType, TxOutputType } from '@trezor/transport/lib/types/messages';
import { BigNumber, BigNumberish, ethers } from 'ethers';
import { TxResponse } from 'xrpl';
import { Networks } from '../../../models';
import { BinanceCoins, BitcoinCoins, EosCoins, EthereumCoins, RippleCoins } from '../../../networks';
import { CardanoCoins, NemCoins, StellarCoins, TezosCoins } from './enums';
export interface TrezorData {
id: string;
label: string;
unavailableCapabilities: AllCoins[];
}
export declare type AllCoins = BitcoinCoins | EthereumCoins | RippleCoins | StellarCoins | NemCoins | CardanoCoins | TezosCoins | EosCoins | BinanceCoins;
export interface CoinInNetwork {
network: Networks;
coin: AllCoins;
}
export declare type CustomTrezorGetAddress = {
(args: {
network?: Networks.Bitcoin;
coins?: BitcoinCoins[];
showOnTrezor?: boolean;
}): Promise<(string | undefined)[]>;
(args: {
network?: Networks.Ethereum;
coins?: EthereumCoins[];
showOnTrezor?: boolean;
}): Promise<(string | undefined)[]>;
(args: {
network?: Networks.Ripple;
coins?: RippleCoins[];
showOnTrezor?: boolean;
}): Promise<(string | undefined)[]>;
(args: {
network?: Networks.Stellar;
coins?: StellarCoins[];
showOnTrezor?: boolean;
}): Promise<(string | undefined)[]>;
(args: {
network?: Networks.NEM;
coins?: NemCoins[];
showOnTrezor?: boolean;
}): Promise<(string | undefined)[]>;
(args: {
network?: Networks.Cardano;
coins?: CardanoCoins[];
showOnTrezor?: boolean;
}): Promise<(string | undefined)[]>;
(args: {
network?: Networks.Tezos;
coins?: TezosCoins[];
showOnTrezor?: boolean;
}): Promise<(string | undefined)[]>;
(args: {
network?: Networks.Eos;
coins?: EosCoins[];
showOnTrezor?: boolean;
}): Promise<(string | undefined)[]>;
(args: {
network?: Networks.Binance;
coins?: BinanceCoins[];
showOnTrezor?: boolean;
}): Promise<(string | undefined)[]>;
};
export interface GetAddressProps {
network?: Networks;
coins?: AllCoins[];
showOnTrezor?: boolean;
}
export interface BitcoinTransaction {
inputs: TxInputType[];
outputs: TxOutputType[];
refTxs?: RefTransaction[];
}
export declare type AllTransactions = BitcoinTransaction | CustomTransaction | StellarTransaction | NEMTransaction | Params<CardanoSignTransaction> | TezosTransactionOperation | EosSDKTransaction | BinanceSDKTransaction;
export interface PushedTransaction {
txid: string;
}
export declare type AllResponses = TxResponse | SignedTransaction | EthereumSignedTx | CardanoSignedTxData | PROTO.EosSignedTx | PushedTransaction | ethers.providers.TransactionResponse;
export interface SendSignedTransactionProps {
network?: Networks;
coin?: AllCoins;
transaction?: AllTransactions;
}
export interface SendTransactionProps {
coin?: AllCoins;
transaction?: string;
}
export interface TransferProps {
network?: Networks;
coin?: AllCoins;
from?: string;
addressTo?: string;
value?: number;
}
export interface CustomTransaction {
from: string;
to: string;
value?: number;
data?: string;
}
export interface GetBalanceTrezor {
coins: AllCoins[];
address?: string;
}
export interface EthAccountInfo {
balance?: BigNumber;
coin: AllCoins;
address?: string;
}
export interface GetTrezorAccountInfo {
coin: AllCoins;
address: string;
network?: Networks;
}
export interface GetAccountInfoMiddle {
coin: AllCoins;
address: string;
balance: number | BigNumberish;
network?: Networks;
}
export interface GetAccountInfoResult {
coin?: AllCoins;
address?: string;
balance?: number;
network?: Networks;
}
export declare type AllCoinsAtTheSameTime = BitcoinCoins[] & EthereumCoins[] & RippleCoins[] & StellarCoins[] & NemCoins[] & CardanoCoins[] & TezosCoins[] & BinanceCoins[];