UNPKG

@f5i23q999d/cow-sdk

Version:

<p align="center"> <img width="400" src="https://github.com/cowprotocol/cow-sdk/raw/main/docs/images/CoW.png" /> </p>

48 lines 2.3 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.postSwapOrderFromQuote = exports.postSwapOrder = void 0; const postCoWProtocolTrade_1 = require("./postCoWProtocolTrade.js"); const getQuote_1 = require("./getQuote.js"); const utils_1 = require("./utils.js"); const appDataUtils_1 = require("./appDataUtils.js"); async function postSwapOrder(params, advancedSettings, orderBookApi) { return postSwapOrderFromQuote(await (0, getQuote_1.getQuoteWithSigner)(params, advancedSettings, orderBookApi), advancedSettings); } exports.postSwapOrder = postSwapOrder; async function postSwapOrderFromQuote({ orderBookApi, result: { signer, appDataInfo: _appDataInfo, quoteResponse, tradeParameters }, }, advancedSettings) { const params = (0, utils_1.swapParamsToLimitOrderParams)(tradeParameters, quoteResponse); const appDataOverride = advancedSettings?.appData; const appDataInfo = appDataOverride ? await (0, appDataUtils_1.mergeAppDataDoc)(_appDataInfo.doc, appDataOverride) : _appDataInfo; const appDataSlippageOverride = appDataOverride?.metadata?.quote?.slippageBips; const partnerFeeOverride = appDataOverride?.metadata?.partnerFee; /** * Special case for CoW Swap where we have smart slippage * We update appData slippage without refetching quote */ if (typeof appDataSlippageOverride !== 'undefined') { params.slippageBps = appDataSlippageOverride; } /** * Same as above, in case if partnerFee dynamically changed */ if (partnerFeeOverride) { params.partnerFee = partnerFeeOverride; } /** * Override receiver and validTo in params */ if (advancedSettings?.quoteRequest) { const { receiver, validTo } = advancedSettings.quoteRequest; if (receiver) params.receiver = receiver; if (validTo) params.validTo = validTo; } return (0, postCoWProtocolTrade_1.postCoWProtocolTrade)(orderBookApi, signer, appDataInfo, params, { signingScheme: advancedSettings?.quoteRequest?.signingScheme, networkCostsAmount: quoteResponse.quote.feeAmount, ...advancedSettings?.additionalParams, }); } exports.postSwapOrderFromQuote = postSwapOrderFromQuote; //# sourceMappingURL=postSwapOrder.js.map