@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
JavaScript
;
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