@f5i23q999d/cow-sdk
Version:
<p align="center"> <img width="400" src="https://github.com/cowprotocol/cow-sdk/raw/main/docs/images/CoW.png" /> </p>
45 lines • 1.74 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getOrderToSign = void 0;
const order_book_1 = require("../order-book/index.js");
const consts_1 = require("./consts.js");
function getOrderToSign({ from, networkCostsAmount = '0' }, limitOrderParams, appDataKeccak256) {
const { sellAmount, buyAmount, sellToken, sellTokenDecimals, buyToken, buyTokenDecimals, kind, partiallyFillable = false, slippageBps = consts_1.DEFAULT_SLIPPAGE_BPS, partnerFee, validFor, } = limitOrderParams;
const receiver = limitOrderParams.receiver || from;
const validTo = limitOrderParams.validTo || Math.floor(Date.now() / 1000) + (validFor || consts_1.DEFAULT_QUOTE_VALIDITY);
const orderParams = {
sellToken,
buyToken,
sellAmount,
buyAmount,
receiver,
validTo,
kind,
feeAmount: networkCostsAmount,
appData: appDataKeccak256,
partiallyFillable,
};
const { afterSlippage } = (0, order_book_1.getQuoteAmountsAndCosts)({
orderParams,
slippagePercentBps: slippageBps,
partnerFeeBps: partnerFee?.bps,
sellDecimals: sellTokenDecimals,
buyDecimals: buyTokenDecimals,
});
return {
sellToken,
buyToken,
sellAmount: afterSlippage.sellAmount.toString(),
buyAmount: afterSlippage.buyAmount.toString(),
validTo,
kind,
partiallyFillable,
appData: appDataKeccak256,
receiver,
feeAmount: '0',
sellTokenBalance: order_book_1.SellTokenSource.ERC20,
buyTokenBalance: order_book_1.BuyTokenDestination.ERC20,
};
}
exports.getOrderToSign = getOrderToSign;
//# sourceMappingURL=getOrderToSign.js.map