@cowprotocol/sdk-trading 0.4.6 → 0.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.mts CHANGED
@@ -365,8 +365,9 @@ interface OrderToSignParams {
365
365
  from: string;
366
366
  networkCostsAmount?: string;
367
367
  applyCostsSlippageAndFees?: boolean;
368
+ protocolFeeBps?: number;
368
369
  }
369
- declare function getOrderToSign({ chainId, from, networkCostsAmount, isEthFlow, applyCostsSlippageAndFees }: OrderToSignParams, limitOrderParams: LimitTradeParameters, appDataKeccak256: string): UnsignedOrder;
370
+ declare function getOrderToSign({ chainId, from, networkCostsAmount, isEthFlow, applyCostsSlippageAndFees, protocolFeeBps }: OrderToSignParams, limitOrderParams: LimitTradeParameters, appDataKeccak256: string): UnsignedOrder;
370
371
 
371
372
  declare function postCoWProtocolTrade(orderBookApi: OrderBookApi, appData: TradingAppDataInfo, params: LimitTradeParameters, additionalParams?: PostTradeAdditionalParams, paramSigner?: SignerLike): Promise<OrderPostingResult>;
372
373
 
package/dist/index.d.ts CHANGED
@@ -365,8 +365,9 @@ interface OrderToSignParams {
365
365
  from: string;
366
366
  networkCostsAmount?: string;
367
367
  applyCostsSlippageAndFees?: boolean;
368
+ protocolFeeBps?: number;
368
369
  }
369
- declare function getOrderToSign({ chainId, from, networkCostsAmount, isEthFlow, applyCostsSlippageAndFees }: OrderToSignParams, limitOrderParams: LimitTradeParameters, appDataKeccak256: string): UnsignedOrder;
370
+ declare function getOrderToSign({ chainId, from, networkCostsAmount, isEthFlow, applyCostsSlippageAndFees, protocolFeeBps }: OrderToSignParams, limitOrderParams: LimitTradeParameters, appDataKeccak256: string): UnsignedOrder;
370
371
 
371
372
  declare function postCoWProtocolTrade(orderBookApi: OrderBookApi, appData: TradingAppDataInfo, params: LimitTradeParameters, additionalParams?: PostTradeAdditionalParams, paramSigner?: SignerLike): Promise<OrderPostingResult>;
372
373
 
package/dist/index.js CHANGED
@@ -133,7 +133,7 @@ function unsignedOrderForSigning(order) {
133
133
  }
134
134
 
135
135
  // src/getOrderToSign.ts
136
- function getOrderToSign({ chainId, from, networkCostsAmount = "0", isEthFlow, applyCostsSlippageAndFees = true }, limitOrderParams, appDataKeccak256) {
136
+ function getOrderToSign({ chainId, from, networkCostsAmount = "0", isEthFlow, applyCostsSlippageAndFees = true, protocolFeeBps }, limitOrderParams, appDataKeccak256) {
137
137
  const {
138
138
  sellAmount,
139
139
  buyAmount,
@@ -168,6 +168,7 @@ function getOrderToSign({ chainId, from, networkCostsAmount = "0", isEthFlow, ap
168
168
  orderParams,
169
169
  slippagePercentBps: slippageBps,
170
170
  partnerFeeBps: getPartnerFeeBps(partnerFee),
171
+ protocolFeeBps,
171
172
  sellDecimals: sellTokenDecimals,
172
173
  buyDecimals: buyTokenDecimals
173
174
  });
@@ -245,7 +246,7 @@ function calculateGasMargin(value) {
245
246
  }
246
247
  function mapQuoteAmountsAndCosts(value, mapper) {
247
248
  const {
248
- costs: { networkFee, partnerFee }
249
+ costs: { networkFee, partnerFee, protocolFee }
249
250
  } = value;
250
251
  function serializeAmounts(value2) {
251
252
  return {
@@ -265,8 +266,13 @@ function mapQuoteAmountsAndCosts(value, mapper) {
265
266
  partnerFee: {
266
267
  ...partnerFee,
267
268
  amount: mapper(partnerFee.amount)
269
+ },
270
+ protocolFee: {
271
+ ...protocolFee,
272
+ amount: mapper(protocolFee.amount)
268
273
  }
269
274
  },
275
+ beforeAllFees: serializeAmounts(value.beforeAllFees),
270
276
  beforeNetworkCosts: serializeAmounts(value.beforeNetworkCosts),
271
277
  afterNetworkCosts: serializeAmounts(value.afterNetworkCosts),
272
278
  afterPartnerFees: serializeAmounts(value.afterPartnerFees),
@@ -479,7 +485,7 @@ async function mergeAppDataDoc(_doc, appDataOverride) {
479
485
  ..._doc.metadata,
480
486
  hooks: {}
481
487
  }
482
- } : _doc;
488
+ } : { ..._doc };
483
489
  const appData = appDataOverride ? (0, import_deepmerge.default)(doc, appDataOverride) : doc;
484
490
  const { fullAppData, appDataKeccak256 } = await generateAppDataFromDoc(appData);
485
491
  return {
@@ -606,6 +612,7 @@ async function resolveSlippageSuggestion(chainId, tradeParameters, trader, quote
606
612
  orderParams: quote.quote,
607
613
  slippagePercentBps: 0,
608
614
  partnerFeeBps: getPartnerFeeBps(tradeParameters.partnerFee),
615
+ protocolFeeBps: quote.protocolFeeBps ? Number(quote.protocolFeeBps) : void 0,
609
616
  sellDecimals: tradeParameters.sellTokenDecimals,
610
617
  buyDecimals: tradeParameters.buyTokenDecimals
611
618
  });
@@ -749,11 +756,12 @@ async function getQuote(_tradeParameters, trader, advancedSettings, _orderBookAp
749
756
  orderParams: quote.quote,
750
757
  slippagePercentBps: slippageBps,
751
758
  partnerFeeBps: getPartnerFeeBps(partnerFee),
759
+ protocolFeeBps: quote.protocolFeeBps ? Number(quote.protocolFeeBps) : void 0,
752
760
  sellDecimals: sellTokenDecimals,
753
761
  buyDecimals: buyTokenDecimals
754
762
  });
755
763
  const orderToSign = getOrderToSign(
756
- { chainId, from, networkCostsAmount: quote.quote.feeAmount, isEthFlow },
764
+ { chainId, from, networkCostsAmount: quote.quote.feeAmount, isEthFlow, protocolFeeBps: quote.protocolFeeBps ? Number(quote.protocolFeeBps) : void 0 },
757
765
  swapParamsToLimitOrderParams(tradeParameters, quote),
758
766
  appDataInfo.appDataKeccak256
759
767
  );
package/dist/index.mjs CHANGED
@@ -81,7 +81,7 @@ function unsignedOrderForSigning(order) {
81
81
  }
82
82
 
83
83
  // src/getOrderToSign.ts
84
- function getOrderToSign({ chainId, from, networkCostsAmount = "0", isEthFlow, applyCostsSlippageAndFees = true }, limitOrderParams, appDataKeccak256) {
84
+ function getOrderToSign({ chainId, from, networkCostsAmount = "0", isEthFlow, applyCostsSlippageAndFees = true, protocolFeeBps }, limitOrderParams, appDataKeccak256) {
85
85
  const {
86
86
  sellAmount,
87
87
  buyAmount,
@@ -116,6 +116,7 @@ function getOrderToSign({ chainId, from, networkCostsAmount = "0", isEthFlow, ap
116
116
  orderParams,
117
117
  slippagePercentBps: slippageBps,
118
118
  partnerFeeBps: getPartnerFeeBps(partnerFee),
119
+ protocolFeeBps,
119
120
  sellDecimals: sellTokenDecimals,
120
121
  buyDecimals: buyTokenDecimals
121
122
  });
@@ -198,7 +199,7 @@ function calculateGasMargin(value) {
198
199
  }
199
200
  function mapQuoteAmountsAndCosts(value, mapper) {
200
201
  const {
201
- costs: { networkFee, partnerFee }
202
+ costs: { networkFee, partnerFee, protocolFee }
202
203
  } = value;
203
204
  function serializeAmounts(value2) {
204
205
  return {
@@ -218,8 +219,13 @@ function mapQuoteAmountsAndCosts(value, mapper) {
218
219
  partnerFee: {
219
220
  ...partnerFee,
220
221
  amount: mapper(partnerFee.amount)
222
+ },
223
+ protocolFee: {
224
+ ...protocolFee,
225
+ amount: mapper(protocolFee.amount)
221
226
  }
222
227
  },
228
+ beforeAllFees: serializeAmounts(value.beforeAllFees),
223
229
  beforeNetworkCosts: serializeAmounts(value.beforeNetworkCosts),
224
230
  afterNetworkCosts: serializeAmounts(value.afterNetworkCosts),
225
231
  afterPartnerFees: serializeAmounts(value.afterPartnerFees),
@@ -445,7 +451,7 @@ async function mergeAppDataDoc(_doc, appDataOverride) {
445
451
  ..._doc.metadata,
446
452
  hooks: {}
447
453
  }
448
- } : _doc;
454
+ } : { ..._doc };
449
455
  const appData = appDataOverride ? deepmerge(doc, appDataOverride) : doc;
450
456
  const { fullAppData, appDataKeccak256 } = await generateAppDataFromDoc(appData);
451
457
  return {
@@ -572,6 +578,7 @@ async function resolveSlippageSuggestion(chainId, tradeParameters, trader, quote
572
578
  orderParams: quote.quote,
573
579
  slippagePercentBps: 0,
574
580
  partnerFeeBps: getPartnerFeeBps(tradeParameters.partnerFee),
581
+ protocolFeeBps: quote.protocolFeeBps ? Number(quote.protocolFeeBps) : void 0,
575
582
  sellDecimals: tradeParameters.sellTokenDecimals,
576
583
  buyDecimals: tradeParameters.buyTokenDecimals
577
584
  });
@@ -715,11 +722,12 @@ async function getQuote(_tradeParameters, trader, advancedSettings, _orderBookAp
715
722
  orderParams: quote.quote,
716
723
  slippagePercentBps: slippageBps,
717
724
  partnerFeeBps: getPartnerFeeBps(partnerFee),
725
+ protocolFeeBps: quote.protocolFeeBps ? Number(quote.protocolFeeBps) : void 0,
718
726
  sellDecimals: sellTokenDecimals,
719
727
  buyDecimals: buyTokenDecimals
720
728
  });
721
729
  const orderToSign = getOrderToSign(
722
- { chainId, from, networkCostsAmount: quote.quote.feeAmount, isEthFlow },
730
+ { chainId, from, networkCostsAmount: quote.quote.feeAmount, isEthFlow, protocolFeeBps: quote.protocolFeeBps ? Number(quote.protocolFeeBps) : void 0 },
723
731
  swapParamsToLimitOrderParams(tradeParameters, quote),
724
732
  appDataInfo.appDataKeccak256
725
733
  );
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cowprotocol/sdk-trading",
3
- "version": "0.4.6",
3
+ "version": "0.5.1",
4
4
  "description": "CowProtocol trading",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.mjs",
@@ -28,19 +28,19 @@
28
28
  "viem": "^2.28.4",
29
29
  "ts-jest": "^29.0.0",
30
30
  "tsx": "^4.19.4",
31
- "@cowprotocol/sdk-ethers-v5-adapter": "0.2.0",
32
- "@cowprotocol/sdk-ethers-v6-adapter": "0.2.0",
33
- "@cowprotocol/sdk-viem-adapter": "0.2.0",
34
- "@cow-sdk/typescript-config": "0.0.0-beta.0"
31
+ "@cow-sdk/typescript-config": "0.0.0-beta.0",
32
+ "@cowprotocol/sdk-viem-adapter": "0.3.0",
33
+ "@cowprotocol/sdk-ethers-v6-adapter": "0.3.0",
34
+ "@cowprotocol/sdk-ethers-v5-adapter": "0.3.0"
35
35
  },
36
36
  "dependencies": {
37
37
  "deepmerge": "^4.3.1",
38
- "@cowprotocol/sdk-common": "0.3.0",
39
- "@cowprotocol/sdk-order-book": "0.2.0",
40
- "@cowprotocol/sdk-config": "0.3.0",
41
- "@cowprotocol/sdk-app-data": "4.1.6",
42
- "@cowprotocol/sdk-order-signing": "0.1.11",
43
- "@cowprotocol/sdk-contracts-ts": "0.5.0"
38
+ "@cowprotocol/sdk-common": "0.4.0",
39
+ "@cowprotocol/sdk-config": "0.4.0",
40
+ "@cowprotocol/sdk-app-data": "4.3.0",
41
+ "@cowprotocol/sdk-order-book": "0.3.0",
42
+ "@cowprotocol/sdk-order-signing": "0.1.13",
43
+ "@cowprotocol/sdk-contracts-ts": "0.7.0"
44
44
  },
45
45
  "scripts": {
46
46
  "build": "tsup src/index.ts --format esm,cjs --dts",