UNPKG

@xlink-network/xlink-sdk

Version:
44 lines (41 loc) 2.04 kB
import { BigNumber } from './BigNumber.js'; import { OneOrMore } from './typeHelpers.js'; import { TransferProphet_Fee_Rate, TransferProphet_Fee_Fixed, TransferProphet, TransferProphetAggregated } from './types/TransferProphet.js'; import 'big.js'; import '../xlinkSdkUtils/types.js'; import './buildSupportedRoutes.js'; import '../types.internal-BwEnb5-y.js'; import 'viem'; import '../evmUtils/evmContractAddresses.js'; import './types/knownIds.js'; interface TransferProphetAppliedResult { fees: ((TransferProphet_Fee_Rate & { amount: BigNumber; }) | TransferProphet_Fee_Fixed)[]; netAmount: BigNumber; } declare const applyTransferProphets: (transferProphets: OneOrMore<TransferProphet>, amount: BigNumber) => OneOrMore<TransferProphetAppliedResult>; declare const applyTransferProphet: (transferProphet: TransferProphet, amount: BigNumber) => TransferProphetAppliedResult; /** * @example * composeTransferProphets( * [ * // tokenA : chain1 -> chain2 * transferProphetOf(tokenAChain1, tokenAChain2), * // tokenB : chain2 -> chain3 * transferProphetOf(tokenBChain2, tokenBChain3), * // tokenC : chain3 -> chain4 * transferProphetOf(tokenCChain3, tokenCChain4), * ], * [ * // tokenA -> tokenB : chain2 * exchangeRateOf(tokenAChain2, tokenBChain2), * // tokenB -> tokenC : chain3 * exchangeRateOf(tokenBChain3, tokenCChain3), * ], * ) */ declare const composeTransferProphets: (transferProphets: readonly TransferProphet[], exchangeRates: readonly BigNumber[]) => TransferProphetAggregated<TransferProphet[]>; declare const composeTransferProphet2: (transferProphet1: TransferProphet, transferProphet2: TransferProphet, exchangeRate: BigNumber) => TransferProphetAggregated<[TransferProphet, TransferProphet]>; declare const composeRates2: (rate1: BigNumber, rate2: BigNumber) => BigNumber; export { type TransferProphetAppliedResult, applyTransferProphet, applyTransferProphets, composeRates2, composeTransferProphet2, composeTransferProphets };