@baking-bad/tezos-etherlink-bridge-sdk
Version:
SDK designed for building token bridge applications between Tezos (L1) and Etherlink (L2)
70 lines (69 loc) • 5.67 kB
TypeScript
import type { DipDupBridgeDataProviderOptions } from './dipDupBridgeDataProviderOptions';
import { DipDupGraphQLQueryBuilder, type GraphQLTransfersFilter } from './dipDupGraphQLQueryBuilder';
import type { GraphQLResponse } from './dtos';
import { DipDupWebSocketClient, type DipDupWebSocketResponseDto } from './webSocket';
import { type BridgeTokenTransfer } from '../../bridgeCore';
import { RemoteService } from '../../common';
import type { NonNativeEtherlinkToken } from '../../tokens';
import type { BalancesBridgeDataProvider, AccountTokenBalance, AccountTokenBalances, BalancesFetchOptions } from '../balancesBridgeDataProvider';
import type { TransfersBridgeDataProvider, TransfersFetchOptions } from '../transfersBridgeDataProvider';
export declare class DipDupBridgeDataProvider extends RemoteService implements TransfersBridgeDataProvider, BalancesBridgeDataProvider, Disposable {
protected static readonly defaultLoadDataLimit = 100;
readonly events: TransfersBridgeDataProvider['events'];
protected readonly dipDupGraphQLQueryBuilder: DipDupGraphQLQueryBuilder;
protected readonly _dipDupWebSocketClient: DipDupWebSocketClient | null;
private subscribedAddresses;
private currentTokenTransfersSubscription;
constructor(options: DipDupBridgeDataProviderOptions);
protected get dipDupWebSocketClient(): DipDupWebSocketClient;
getTokenTransfer(tokenTransferId: string): Promise<BridgeTokenTransfer | null>;
getTokenTransfers(): Promise<BridgeTokenTransfer[]>;
getTokenTransfers(fetchOptions: TransfersFetchOptions): Promise<BridgeTokenTransfer[]>;
getTokenTransfers(fetchOptions?: TransfersFetchOptions): Promise<BridgeTokenTransfer[]>;
getAccountTokenTransfers(accountAddress: string): Promise<BridgeTokenTransfer[]>;
getAccountTokenTransfers(accountAddresses: readonly string[]): Promise<BridgeTokenTransfer[]>;
getAccountTokenTransfers(accountAddress: string, fetchOptions: TransfersFetchOptions): Promise<BridgeTokenTransfer[]>;
getAccountTokenTransfers(accountAddresses: readonly string[], fetchOptions: TransfersFetchOptions): Promise<BridgeTokenTransfer[]>;
getAccountTokenTransfers(accountAddressOrAddresses: string | readonly string[], fetchOptions?: TransfersFetchOptions): Promise<BridgeTokenTransfer[]>;
getOperationTokenTransfers(operationHash: string): Promise<BridgeTokenTransfer[]>;
getOperationTokenTransfers(tokenTransfer: BridgeTokenTransfer): Promise<BridgeTokenTransfer[]>;
getOperationTokenTransfers(operationHashOrTokenTransfer: string | BridgeTokenTransfer): Promise<BridgeTokenTransfer[]>;
subscribeToTokenTransfer(tokenTransferId: string): void;
unsubscribeFromTokenTransfer(tokenTransferId: string): void;
subscribeToTokenTransfers(): void;
unsubscribeFromTokenTransfers(): void;
subscribeToAccountTokenTransfers(accountAddress: string): void;
subscribeToAccountTokenTransfers(accountAddresses: readonly string[]): void;
subscribeToAccountTokenTransfers(accountAddressOrAddresses: string | readonly string[]): void;
unsubscribeFromAccountTokenTransfers(accountAddress: string): void;
unsubscribeFromAccountTokenTransfers(accountAddresses: readonly string[]): void;
unsubscribeFromAccountTokenTransfers(accountAddressOrAddresses: string | readonly string[]): void;
subscribeToOperationTokenTransfers(operationHash: string): void;
subscribeToOperationTokenTransfers(tokenTransfer: BridgeTokenTransfer): void;
subscribeToOperationTokenTransfers(operationHashOrTokenTransfer: string | BridgeTokenTransfer): void;
unsubscribeFromOperationTokenTransfers(operationHash: string): void;
unsubscribeFromOperationTokenTransfers(tokenTransfer: BridgeTokenTransfer): void;
unsubscribeFromOperationTokenTransfers(operationHashOrTokenTransfer: string | BridgeTokenTransfer): void;
unsubscribeFromAllSubscriptions(): void;
getBalance(accountAddress: string, token: NonNativeEtherlinkToken): Promise<AccountTokenBalance>;
getBalances(accountAddress: string): Promise<AccountTokenBalances>;
getBalances(accountAddress: string, tokens: readonly NonNativeEtherlinkToken[]): Promise<AccountTokenBalances>;
getBalances(accountAddress: string, fetchOptions: BalancesFetchOptions): Promise<AccountTokenBalances>;
getBalances(accountAddress: string, tokensOrFetchOptions?: readonly NonNativeEtherlinkToken[] | BalancesFetchOptions): Promise<AccountTokenBalances>;
[Symbol.dispose](): void;
protected startDipDupWebSocketClientIfNeeded(): void;
protected stopDipDupWebSocketClient(): void;
protected getTokenTransfersInternal(addressOrAddresses: string | readonly string[] | undefined | null, fetchOptions?: TransfersFetchOptions | undefined | null): Promise<BridgeTokenTransfer[]>;
protected subscribeToTokenTransfersInternal(addressOrAddresses: string | readonly string[] | undefined | null): void;
protected unsubscribeFromTokenTransfersInternal(addressOrAddresses: string | readonly string[] | undefined | null): void;
protected createDipDupGraphQLQueryBuilder(): DipDupGraphQLQueryBuilder;
protected mapTransfersFilterToGraphQLTransfersFilter(filter: TransfersFetchOptions['filter']): GraphQLTransfersFilter | null;
protected ensureNoDipDupGraphQLErrors<TData>(response: GraphQLResponse<TData>): void;
protected readonly onSocketMessageReceived: (message: DipDupWebSocketResponseDto) => void;
private resubscribeToTokenTransfers;
private updateSubscribedAddresses;
private validateAccountAddressOrAddresses;
private getPreparedOffsetParameter;
private getPreparedLimitParameter;
private isBridgeOperationCreated;
}