@airgap/etherlink
Version:
The @airgap/etherlink package is an implementation of the ICoinProtocol interface from @airgap/coinlib-core.
42 lines (41 loc) • 2.79 kB
TypeScript
import { _AnyProtocol, _OfflineProtocol, _OnlineProtocol, _Protocol } from '../protocol';
import { FetchDataForAddressExtension } from './address/FetchDataForAddressExtension';
import { FetchDataForMultipleAddressesExtension } from './address/FetchDataForMultipleAddressesExtension';
import { MultiAddressPublicKeyExtension } from './address/MultiAddressPublicKeyExtension';
import { Bip32Extension } from './bip/Bip32Extension';
import { ConfigurableContractExtension } from './contract/ConfigurableContractExtension';
import { AESExtension } from './crypto/AESExtension';
import { AsymmetricEncryptionExtension } from './crypto/AsymmetricEncryptionExtension';
import { CryptoExtension } from './crypto/CryptoExtension';
import { SignMessageExtension } from './crypto/SignMessageExtension';
import { WalletConnectExtension } from './dapp/WalletConnectProtocol';
import { GetTokenBalancesExtension } from './sub-protocol/GetTokenBalancesExtension';
import { MultiTokenSubProtocolExtension } from './sub-protocol/MultiTokenSubProtocolExtension';
import { SingleTokenSubProtocolExtension } from './sub-protocol/SingleTokenSubProtocolExtension';
import { SubProtocolExtension } from './sub-protocol/SubProtocolExtension';
import { ConfigurableTransactionInjectorExtension } from './transaction/ConfigurableTransactionInjectorExtension';
import { TransactionStatusCheckerExtension } from './transaction/TransactionStatusCheckerExtension';
export declare type ProtocolExtensions<T> = T extends _Protocol ? OfflineExtensions<T> & OnlineExtensions<T> : T extends _OfflineProtocol ? OfflineExtensions<T> : T extends _OnlineProtocol ? OnlineExtensions<T> : never;
interface OfflineAndOnlineExtensions<T extends _AnyProtocol> {
Bip32: Bip32Extension<T>;
ConfigurableContract: ConfigurableContractExtension<T>;
MultiAddressPublicKey: MultiAddressPublicKeyExtension<T>;
SubProtocol: SubProtocolExtension<T>;
SingleTokenSubProtocol: SingleTokenSubProtocolExtension<T>;
MultiTokenSubProtocol: MultiTokenSubProtocolExtension<T>;
Crypto: CryptoExtension<T>;
AsymmetricEncryption: AsymmetricEncryptionExtension<T>;
SignMessage: SignMessageExtension<T>;
}
interface OfflineExtensions<T extends _OfflineProtocol> extends OfflineAndOnlineExtensions<T> {
AES: AESExtension<T>;
}
interface OnlineExtensions<T extends _OnlineProtocol> extends OfflineAndOnlineExtensions<T> {
FetchDataForAddress: FetchDataForAddressExtension<T>;
FetchDataForMultipleAddresses: FetchDataForMultipleAddressesExtension<T>;
GetTokenBalances: GetTokenBalancesExtension<T>;
ConfigurableTransactionInjector: ConfigurableTransactionInjectorExtension<T>;
TransactionStatusChecker: TransactionStatusCheckerExtension<T>;
WalletConnect: WalletConnectExtension<T>;
}
export {};