import { Asset, AssetAmount, TransferCtx, TransferConfig } from '@galacticcouncil/xc-core'; import { Call, PlatformAdapter } from '../platforms'; import { DataProcessor } from './DataProcessor'; /** * Resolves origin-side transfer data — balance, minimum and existential * deposit (via {@link DataProcessor}) plus the source/destination fee * estimates and the transfer {@link Call} — sourcing `(chain, asset)` and the * route from its `TransferConfig`. */ export declare class DataOriginProcessor extends DataProcessor { readonly config: TransferConfig; constructor(adapter: PlatformAdapter, config: TransferConfig); getCall(ctx: TransferCtx): Promise; getCalls(ctx: TransferCtx): Promise; /** * @param address - recipient on the destination. Only needed by a fee whose * size depends on the accounts the delivery opens there (an svm redeem * opening the recipient's ata), and it has to match what the transfer is * built with - the executor honours a quote only for what it priced. */ getDestinationFee(transferAmount?: bigint, address?: string): Promise<{ fee: AssetAmount; feeBreakdown: { [key: string]: bigint; }; }>; getDestinationFeeBalance(address: string): Promise; getFee(ctx: TransferCtx): Promise; getFeeBalance(address: string): Promise; getFeeAsset(address: string): Promise; /** * Calls of the transfer, in execution order. * * A route may declare a config per signer origin: an h160 signer takes the * `contract` and signs the evm calls itself, anyone else takes the * `extrinsic`, which on an evm parachain wraps the very same calls in * `EVM.call`. Where only one is declared, that one serves every origin the * chain has. */ private getTransfer; }