wallets-wrapper
Version:
How to install
77 lines (76 loc) • 2.14 kB
TypeScript
import { BlockchainEventMessage, DeviceEventMessage, TransportEventMessage } from '@trezor/connect-web';
import { BehaviorSubject } from 'rxjs';
import { AllCoins } from '../wallets/trezor';
import { EosContractCoins, ERC20Names } from '..';
import { WalletsNames } from './enums';
export interface ChainInfo {
chainId: string;
name: string;
}
export interface IProviderRpcError extends Error {
message: string;
code: number | string;
data?: unknown;
}
export interface ProviderMessage {
type: string;
data: unknown;
}
export interface TransferEvent {
operator?: string;
from: string;
to: string;
values?: number[];
ids?: number[];
event: string;
}
export interface TransferToken {
addressTo: string;
value: number;
}
export interface TransferERC721Token {
addressTo: string;
tokenId: number;
}
export interface TransferContractToken {
addressFrom?: string;
addressTo: string;
tokenIds?: number[];
values?: number[];
data?: string;
}
export interface ApproveToken {
address: string;
amount?: string;
tokenId?: number;
}
export interface SetApprovalForAll {
operator: string;
approved: boolean;
}
export interface GetContractBalance {
addresses?: string[];
ids?: number[];
}
export interface GlobalState<T> {
place: string;
payload: T;
}
export interface AccountInfo {
address?: string;
balance?: number | string;
coin?: AllCoins;
}
export interface WalletsWrapperProps {
type?: WalletsNames;
infuraApiKey: string;
}
export interface WalletStateProps {
address$: BehaviorSubject<string[]>;
chainId$: BehaviorSubject<ChainInfo | null>;
isConnected$: BehaviorSubject<boolean>;
subscriptionMessage$: BehaviorSubject<SubscriptionMessage | null>;
errors$: BehaviorSubject<IProviderRpcError | null>;
}
export declare type SubscriptionMessage = ProviderMessage | DeviceEventMessage | TransportEventMessage | BlockchainEventMessage;
export declare type CoinsNames = ERC20Names | EosContractCoins | AllCoins;