import { IAirGapTransaction } from '../../../interfaces/IAirGapTransaction'; import { RawTezosTransaction } from '../../../serializer/types'; import { ProtocolSymbols } from '../../../utils/ProtocolSymbols'; import { RemoteDataFactory } from '../../../utils/remote-data/RemoteDataFactory'; import { FeeDefaults } from '../../ICoinProtocol'; import { ICoinSubProtocol, SubProtocolType } from '../../ICoinSubProtocol'; import { TezosContract } from '../contract/TezosContract'; import { TezosContractCall } from '../contract/TezosContractCall'; import { TezosProtocol } from '../TezosProtocol'; import { TezosProtocolNetworkResolver } from '../TezosProtocolOptions'; import { ConseilPredicate } from '../types/contract/ConseilPredicate'; import { TezosContractMetadata } from '../types/contract/TezosContractMetadata'; import { TezosFATokenMetadata } from '../types/fa/TezosFATokenMetadata'; import { MichelineDataNode } from '../types/micheline/MichelineNode'; import { TezosTransactionOperation, TezosTransactionParameters } from '../types/operations/Transaction'; import { TezosTransactionCursor } from '../types/TezosTransactionCursor'; import { TezosTransactionResult } from '../types/TezosTransactionResult'; import { TezosNetwork } from './../TezosProtocol'; import { TezosFAProtocolOptions } from './TezosFAProtocolOptions'; export interface TezosFAProtocolConfiguration { symbol: string; name: string; marketSymbol: string; identifier: ProtocolSymbols; contractAddress: string; feeDefaults: FeeDefaults; decimals?: number; jsonRPCAPI?: string; baseApiUrl?: string; network?: TezosNetwork; baseApiKey?: string; baseApiNetwork?: string; } export declare abstract class TezosFAProtocol extends TezosProtocol implements ICoinSubProtocol { readonly options: TezosFAProtocolOptions; readonly isSubProtocol: boolean; readonly subProtocolType: SubProtocolType; readonly contractAddress: string; readonly tokenMetadataBigMapID?: number; protected readonly contract: TezosContract; protected readonly defaultSourceAddress: string; protected readonly remoteDataFactory: RemoteDataFactory; constructor(options: TezosFAProtocolOptions); abstract transactionDetailsFromParameters(parameters: TezosTransactionParameters): Partial[]; bigMapValue(key: string, isKeyHash?: boolean, bigMapID?: number): Promise; contractMetadata(networkResolver?: TezosProtocolNetworkResolver): Promise; estimateMaxTransactionValueFromPublicKey(publicKey: string, recipients: string[], fee?: string, data?: any): Promise; getTransactionsFromPublicKey(publicKey: string, limit: number, cursor?: TezosTransactionCursor): Promise; getTransactionsFromAddresses(addresses: string[], limit: number, cursor?: TezosTransactionCursor): Promise; getTransactionQueryPredicates(address: string, addressQueryType: 'string' | 'bytes'): ConseilPredicate[]; protected getAdditionalTransactionQueryPredicates(address: string, addressQueryType: 'string' | 'bytes'): ConseilPredicate[]; getTransactions(limit: number, cursor?: TezosTransactionCursor): Promise; normalizeTransactionParameters(parameters: string, fallbackEntrypointName?: string): Promise; getAllTokenMetadata(): Promise | undefined>; protected getTokenMetadataForTokenID(tokenID: number): Promise; private createRemoteData; protected getTransactionOperationDetails(transactionOperation: TezosTransactionOperation): Promise[]>; private parseParameters; private transactionToAirGapTransactions; protected runContractCall(contractCall: TezosContractCall, source: string): Promise; protected prepareContractCall(contractCalls: TezosContractCall[], fee: string, publicKey: string): Promise; protected requireSource(source?: string, defaultSource?: string, ...excludedPrefixes: string[]): string; private prepareMockContractCall; private url; private isTokenMetadata; }