@xlink-network/xlink-sdk
Version:
44 lines (41 loc) • 2.04 kB
text/typescript
import { BigNumber } from './BigNumber.mjs';
import { OneOrMore } from './typeHelpers.mjs';
import { TransferProphet_Fee_Rate, TransferProphet_Fee_Fixed, TransferProphet, TransferProphetAggregated } from './types/TransferProphet.mjs';
import 'big.js';
import '../xlinkSdkUtils/types.mjs';
import './buildSupportedRoutes.mjs';
import '../types.internal-8d3OI2Qm.mjs';
import 'viem';
import '../evmUtils/evmContractAddresses.mjs';
import './types/knownIds.mjs';
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 };