import { AnyChain, ConfigService } from '@galacticcouncil/xc-core'; import { WormholeScan } from './WormholeScan'; import { WhTransfer } from './types'; export declare class WormholeTransfer { private parachainId; private config; readonly whScan: WormholeScan; constructor(config: ConfigService, parachainId: number); get chains(): AnyChain[]; get filters(): Record; private get parachain(); /** * Get NTT transfers sent from parachain (via wormhole). * * @param address - parachain user address (ss58 or H160) * @returns pending & completed wormhole withdrawals */ getWithdraws(address: string): Promise; /** * Get NTT transfers received on parachain (via wormhole). * * @param address - parachain user address (ss58 or H160) * @returns pending & completed wormhole deposits */ getDeposits(address: string): Promise; /** * Get all NTT transfers of given user. * * Transfers are matched against the NTT token registry by the VAA * emitter (source transceiver) address. * * @param address - parachain user address (ss58 or H160) * @returns pending & completed wormhole transfers */ getTransfers(address: string): Promise; private toTransfer; /** * Whether the destination transceiver already consumed the vaa. * * Wormholescan doesn't observe the redeem on every chain (`targetChain` * stays empty for hydration), so a delivered transfer would otherwise * keep offering a claim that reverts. Evm destinations only - solana & * sui still rely on the indexer. */ private isRedeemed; private findChainByWormholeId; /** * NTT deployment of the transferred token on the destination chain. * * The emitter identifies the token by its key on the **source** chain, * which is not necessarily the key it carries on the destination (`dai` * on ethereum, `dai_wh` on hydration). The registered route holds that * mapping, so resolve through it when the key doesn't carry over. */ private findDestinationNtt; private findNttByEmitter; private getStatus; }