@cowprotocol/sdk-trading 0.3.2 → 0.4.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/README.md CHANGED
@@ -690,6 +690,8 @@ console.log('Buy amount:', order.buyAmount)
690
690
 
691
691
  Cancels an order off-chain by sending a signed cancellation request to the order book API. This is a "soft cancel" that is faster and doesn't require gas, but requires order book support.
692
692
 
693
+ You always can cancel orders using [CoW Swap](https://swap.cow.fi), [see the tutorial for more details](https://docs.cow.fi/cow-protocol/tutorials/cow-swap/swap#cancel-your-order).
694
+
693
695
  **Parameters:**
694
696
  - `orderUid` - The unique identifier of the order to cancel
695
697
  - `chainId` - (Optional) Chain ID, uses trader params if not provided
package/dist/index.d.mts CHANGED
@@ -55,6 +55,11 @@ interface TradeOptionalParameters {
55
55
  slippageBps?: cowAppDataLatestScheme.SlippageBips;
56
56
  receiver?: OrderParameters['receiver'];
57
57
  validFor?: OrderParameters['validTo'];
58
+ /**
59
+ * Exact validTo timestamp in seconds since epoch.
60
+ * If provided, this will be used instead of calculating from validFor.
61
+ */
62
+ validTo?: OrderParameters['validTo'];
58
63
  partnerFee?: cowAppDataLatestScheme.PartnerFee;
59
64
  }
60
65
  /**
package/dist/index.d.ts CHANGED
@@ -55,6 +55,11 @@ interface TradeOptionalParameters {
55
55
  slippageBps?: cowAppDataLatestScheme.SlippageBips;
56
56
  receiver?: OrderParameters['receiver'];
57
57
  validFor?: OrderParameters['validTo'];
58
+ /**
59
+ * Exact validTo timestamp in seconds since epoch.
60
+ * If provided, this will be used instead of calculating from validFor.
61
+ */
62
+ validTo?: OrderParameters['validTo'];
58
63
  partnerFee?: cowAppDataLatestScheme.PartnerFee;
59
64
  }
60
65
  /**
package/dist/index.js CHANGED
@@ -677,10 +677,15 @@ async function getQuoteRaw(_tradeParameters, trader, advancedSettings, _orderBoo
677
677
  amount,
678
678
  kind,
679
679
  partnerFee,
680
- validFor = DEFAULT_QUOTE_VALIDITY,
680
+ validFor,
681
+ validTo,
681
682
  slippageBps,
682
683
  env = "prod"
683
684
  } = tradeParameters;
685
+ if (validTo !== void 0 && validFor !== void 0) {
686
+ throw new Error("Cannot specify both validFor and validTo. Use validFor for relative time or validTo for absolute time.");
687
+ }
688
+ const effectiveValidFor = validFor ?? DEFAULT_QUOTE_VALIDITY;
684
689
  (0, import_sdk_common11.log)(
685
690
  `getQuote for: Swap ${amount} ${sellToken} for ${buyToken} on chain ${chainId} with ${slippageBps !== void 0 ? `${slippageBps} BPS` : "AUTO"} slippage`
686
691
  );
@@ -704,7 +709,7 @@ async function getQuoteRaw(_tradeParameters, trader, advancedSettings, _orderBoo
704
709
  sellToken,
705
710
  buyToken,
706
711
  receiver,
707
- validFor,
712
+ ...validTo !== void 0 ? { validTo } : { validFor: effectiveValidFor },
708
713
  appData: fullAppData,
709
714
  appDataHash: appDataKeccak256,
710
715
  priceQuality: import_sdk_order_book7.PriceQuality.OPTIMAL,
package/dist/index.mjs CHANGED
@@ -642,10 +642,15 @@ async function getQuoteRaw(_tradeParameters, trader, advancedSettings, _orderBoo
642
642
  amount,
643
643
  kind,
644
644
  partnerFee,
645
- validFor = DEFAULT_QUOTE_VALIDITY,
645
+ validFor,
646
+ validTo,
646
647
  slippageBps,
647
648
  env = "prod"
648
649
  } = tradeParameters;
650
+ if (validTo !== void 0 && validFor !== void 0) {
651
+ throw new Error("Cannot specify both validFor and validTo. Use validFor for relative time or validTo for absolute time.");
652
+ }
653
+ const effectiveValidFor = validFor ?? DEFAULT_QUOTE_VALIDITY;
649
654
  log4(
650
655
  `getQuote for: Swap ${amount} ${sellToken} for ${buyToken} on chain ${chainId} with ${slippageBps !== void 0 ? `${slippageBps} BPS` : "AUTO"} slippage`
651
656
  );
@@ -669,7 +674,7 @@ async function getQuoteRaw(_tradeParameters, trader, advancedSettings, _orderBoo
669
674
  sellToken,
670
675
  buyToken,
671
676
  receiver,
672
- validFor,
677
+ ...validTo !== void 0 ? { validTo } : { validFor: effectiveValidFor },
673
678
  appData: fullAppData,
674
679
  appDataHash: appDataKeccak256,
675
680
  priceQuality: PriceQuality2.OPTIMAL,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cowprotocol/sdk-trading",
3
- "version": "0.3.2",
3
+ "version": "0.4.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
- "@cow-sdk/typescript-config": "0.0.0-beta.0",
32
- "@cowprotocol/sdk-ethers-v6-adapter": "0.1.2",
33
31
  "@cowprotocol/sdk-ethers-v5-adapter": "0.1.2",
34
- "@cowprotocol/sdk-viem-adapter": "0.1.2"
32
+ "@cowprotocol/sdk-ethers-v6-adapter": "0.1.2",
33
+ "@cowprotocol/sdk-viem-adapter": "0.1.2",
34
+ "@cow-sdk/typescript-config": "0.0.0-beta.0"
35
35
  },
36
36
  "dependencies": {
37
37
  "deepmerge": "^4.3.1",
38
38
  "@cowprotocol/sdk-common": "0.2.1",
39
39
  "@cowprotocol/sdk-config": "0.1.0",
40
40
  "@cowprotocol/sdk-order-book": "0.1.2",
41
- "@cowprotocol/sdk-app-data": "4.1.1",
42
- "@cowprotocol/sdk-order-signing": "0.1.5",
43
- "@cowprotocol/sdk-contracts-ts": "0.3.1"
41
+ "@cowprotocol/sdk-app-data": "4.1.3",
42
+ "@cowprotocol/sdk-order-signing": "0.1.6",
43
+ "@cowprotocol/sdk-contracts-ts": "0.4.0"
44
44
  },
45
45
  "scripts": {
46
46
  "build": "tsup src/index.ts --format esm,cjs --dts",