@airgap/etherlink
Version:
The @airgap/etherlink package is an implementation of the ICoinProtocol interface from @airgap/coinlib-core.
61 lines (60 loc) • 6.37 kB
TypeScript
import { FetchDataForAddressExtension, FetchDataForAddressProtocol } from '../protocol/extensions/address/FetchDataForAddressExtension';
import { FetchDataForMultipleAddressesExtension, FetchDataForMultipleAddressesProtocol } from '../protocol/extensions/address/FetchDataForMultipleAddressesExtension';
import { MultiAddressPublicKeyExtension, MultiAddressPublicKeyProtocol } from '../protocol/extensions/address/MultiAddressPublicKeyExtension';
import { BaseBip32Protocol, Bip32Extension, OfflineBip32Protocol, OnlineBip32Protocol } from '../protocol/extensions/bip/Bip32Extension';
import { ConfigurableContractProtocol } from '../protocol/extensions/contract/ConfigurableContractExtension';
import { AES, AESExtension } from '../protocol/extensions/crypto/AESExtension';
import { AsymmetricEncryptionExtension, BaseAsymmetricEncryption, OfflineAsymmetricEncryption } from '../protocol/extensions/crypto/AsymmetricEncryptionExtension';
import { BaseSignMessage, OfflineSignMessage, SignMessageExtension } from '../protocol/extensions/crypto/SignMessageExtension';
import { WalletConnectExtension, WalletConnectProtocol } from '../protocol/extensions/dapp/WalletConnectProtocol';
import { GetTokenBalances, GetTokenBalancesExtension } from '../protocol/extensions/sub-protocol/GetTokenBalancesExtension';
import { BaseMultiTokenSubProtocol, MultiTokenSubProtocolExtension, OnlineMultiTokenSubProtocol } from '../protocol/extensions/sub-protocol/MultiTokenSubProtocolExtension';
import { SingleTokenSubProtocol, SingleTokenSubProtocolExtension } from '../protocol/extensions/sub-protocol/SingleTokenSubProtocolExtension';
import { SubProtocol } from '../protocol/extensions/sub-protocol/SubProtocolExtension';
import { ConfigurableTransactionInjectorProtocol } from '../protocol/extensions/transaction/ConfigurableTransactionInjectorExtension';
import { TransactionStatusChecker, TransactionStatusCheckerExtension } from '../protocol/extensions/transaction/TransactionStatusCheckerExtension';
import { AnyProtocol, BaseProtocol, OfflineProtocol, OnlineProtocol } from '../protocol/protocol';
import { ProtocolNetwork } from '../types/protocol';
import { Schema } from './interface';
export declare const baseProtocolSchema: Schema<BaseProtocol>;
export declare const offlineProtocolSchema: Schema<OfflineProtocol>;
export declare const onlineProtocolSchema: Schema<OnlineProtocol>;
export declare const bip32BaseProtocolSchema: Schema<BaseBip32Protocol>;
export declare const bip32OfflineProtocolSchema: Schema<OfflineBip32Protocol>;
export declare const bip32OnlineProtocolSchema: Schema<OnlineBip32Protocol>;
export declare const subProtocolSchema: Schema<SubProtocol>;
export declare const singleTokenSubProtocolSchema: Schema<SingleTokenSubProtocol>;
export declare const multiTokenSubProtocolBaseSchema: Schema<BaseMultiTokenSubProtocol>;
export declare const multiTokenSubProtocolOnlineSchema: Schema<OnlineMultiTokenSubProtocol>;
export declare const getTokenBalancesSchema: Schema<GetTokenBalances>;
export declare const fetchDataForAddressProtocolSchema: Schema<FetchDataForAddressProtocol>;
export declare const fetchDataForMultipleAddressesProtocolSchema: Schema<FetchDataForMultipleAddressesProtocol>;
export declare const multiAddressPublicKeyProtocolSchema: Schema<MultiAddressPublicKeyProtocol>;
export declare const configurableContractProtocolSchema: Schema<ConfigurableContractProtocol>;
export declare const aesEncryptionSchema: Schema<AES>;
export declare const asymmetricEncryptionBaseSchema: Schema<BaseAsymmetricEncryption>;
export declare const asymmetricEncryptionOfflineSchema: Schema<OfflineAsymmetricEncryption>;
export declare const signMessageBaseSchema: Schema<BaseSignMessage>;
export declare const signMessageOfflineSchema: Schema<OfflineSignMessage>;
export declare const configurableTransactionInjectorSchema: Schema<ConfigurableTransactionInjectorProtocol>;
export declare const transactionStatusCheckerSchema: Schema<TransactionStatusChecker>;
export declare const walletConnectProtocolSchema: Schema<WalletConnectProtocol>;
export declare function isAnyProtocol(object: unknown): object is AnyProtocol;
export declare function isOfflineProtocol(object: unknown): object is OfflineProtocol;
export declare function isOnlineProtocol(object: unknown): object is OnlineProtocol;
export declare function isBip32Protocol<T extends AnyProtocol>(protocol: T): protocol is T & Bip32Extension<T>;
export declare function isSubProtocol<T extends AnyProtocol>(protocol: T): protocol is T & SubProtocol;
export declare function isSingleTokenSubProtocol<T extends AnyProtocol>(protocol: T): protocol is T & SingleTokenSubProtocolExtension<T>;
export declare function isMultiTokenSubProtocol<T extends AnyProtocol>(protocol: T): protocol is T & MultiTokenSubProtocolExtension<T>;
export declare function canGetTokenBalances<T extends OnlineProtocol>(protocol: T): protocol is T & GetTokenBalancesExtension<T>;
export declare function canFetchDataForAddress<T extends OnlineProtocol>(protocol: T): protocol is T & FetchDataForAddressExtension<T>;
export declare function canFetchDataForMultipleAddresses<T extends OnlineProtocol>(protocol: T): protocol is T & FetchDataForMultipleAddressesExtension<T>;
export declare function hasMultiAddressPublicKeys<T extends AnyProtocol>(protocol: T): protocol is T & MultiAddressPublicKeyExtension<T>;
export declare function hasConfigurableContract<T extends AnyProtocol>(protocol: T): protocol is T & ConfigurableContractProtocol;
export declare function canEncryptAES<T extends OfflineProtocol>(protocol: T): protocol is T & AESExtension<T>;
export declare function canEncryptAsymmetric<T extends AnyProtocol>(protocol: T): protocol is T & AsymmetricEncryptionExtension<T>;
export declare function canSignMessage<T extends AnyProtocol>(protocol: T): protocol is T & SignMessageExtension<T>;
export declare function hasConfigurableTransactionInjector<T extends OnlineProtocol>(protocol: T): protocol is T & ConfigurableTransactionInjectorProtocol;
export declare function isTransactionStatusChecker<T extends OnlineProtocol>(protocol: T): protocol is T & TransactionStatusCheckerExtension<T>;
export declare function supportsWalletConnect<T extends OnlineProtocol>(protocol: T): protocol is T & WalletConnectExtension<T>;
export declare function protocolNetworkIdentifier(network: ProtocolNetwork): string;