@cowprotocol/sdk-trading 1.1.1 → 1.2.0
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.js +55 -54
- package/dist/index.mjs +3 -2
- package/package.json +10 -10
package/dist/index.js
CHANGED
|
@@ -197,7 +197,7 @@ function getOrderToSign({
|
|
|
197
197
|
}
|
|
198
198
|
|
|
199
199
|
// src/postSellNativeCurrencyOrder.ts
|
|
200
|
-
var
|
|
200
|
+
var import_sdk_common3 = require("@cowprotocol/sdk-common");
|
|
201
201
|
var import_sdk_order_book3 = require("@cowprotocol/sdk-order-book");
|
|
202
202
|
|
|
203
203
|
// src/calculateUniqueOrderId.ts
|
|
@@ -241,6 +241,7 @@ var import_sdk_config4 = require("@cowprotocol/sdk-config");
|
|
|
241
241
|
|
|
242
242
|
// src/utils/misc.ts
|
|
243
243
|
var import_sdk_config3 = require("@cowprotocol/sdk-config");
|
|
244
|
+
var import_sdk_common = require("@cowprotocol/sdk-common");
|
|
244
245
|
function swapParamsToLimitOrderParams(params, quoteResponse) {
|
|
245
246
|
return {
|
|
246
247
|
...params,
|
|
@@ -251,7 +252,7 @@ function swapParamsToLimitOrderParams(params, quoteResponse) {
|
|
|
251
252
|
};
|
|
252
253
|
}
|
|
253
254
|
function getIsEthFlowOrder(params) {
|
|
254
|
-
return params.sellToken
|
|
255
|
+
return (0, import_sdk_common.areAddressesEqual)(params.sellToken, import_sdk_config3.ETH_ADDRESS);
|
|
255
256
|
}
|
|
256
257
|
function calculateGasMargin(value) {
|
|
257
258
|
return value + value * BigInt(20) / BigInt(100);
|
|
@@ -308,9 +309,9 @@ function adjustEthFlowOrderParams(chainId, params) {
|
|
|
308
309
|
}
|
|
309
310
|
|
|
310
311
|
// src/getEthFlowTransaction.ts
|
|
311
|
-
var
|
|
312
|
+
var import_sdk_common2 = require("@cowprotocol/sdk-common");
|
|
312
313
|
async function getEthFlowTransaction(appDataKeccak256, _params, chainId, additionalParams = {}, paramSigner) {
|
|
313
|
-
const signer = paramSigner ? (0,
|
|
314
|
+
const signer = paramSigner ? (0, import_sdk_common2.getGlobalAdapter)().createSigner(paramSigner) : (0, import_sdk_common2.getGlobalAdapter)().signer;
|
|
314
315
|
const { networkCostsAmount = "0", checkEthFlowOrderExists } = additionalParams;
|
|
315
316
|
const from = await signer.getAddress();
|
|
316
317
|
const slippageBps = _params.slippageBps ?? getDefaultSlippageBps(chainId, true);
|
|
@@ -368,13 +369,13 @@ async function getEthFlowTransaction(appDataKeccak256, _params, chainId, additio
|
|
|
368
369
|
function getEthFlowContract(signer, chainId, options) {
|
|
369
370
|
const { env, ethFlowContractOverride } = options ?? {};
|
|
370
371
|
const address = ethFlowContractOverride?.[chainId] ?? (env === "staging" ? import_sdk_config4.BARN_ETH_FLOW_ADDRESSES[chainId] : import_sdk_config4.ETH_FLOW_ADDRESSES[chainId]);
|
|
371
|
-
return
|
|
372
|
+
return import_sdk_common2.ContractFactory.createEthFlowContract(address, signer);
|
|
372
373
|
}
|
|
373
374
|
|
|
374
375
|
// src/postSellNativeCurrencyOrder.ts
|
|
375
|
-
var
|
|
376
|
+
var import_sdk_common4 = require("@cowprotocol/sdk-common");
|
|
376
377
|
async function postSellNativeCurrencyOrder(orderBookApi, appData, _params, additionalParams = {}, paramSigner) {
|
|
377
|
-
const signer = paramSigner ? (0,
|
|
378
|
+
const signer = paramSigner ? (0, import_sdk_common3.getGlobalAdapter)().createSigner(paramSigner) : (0, import_sdk_common3.getGlobalAdapter)().signer;
|
|
378
379
|
const { appDataKeccak256, fullAppData } = appData;
|
|
379
380
|
const { orderId, transaction, orderToSign } = await getEthFlowTransaction(
|
|
380
381
|
appDataKeccak256,
|
|
@@ -387,21 +388,21 @@ async function postSellNativeCurrencyOrder(orderBookApi, appData, _params, addit
|
|
|
387
388
|
additionalParams,
|
|
388
389
|
signer
|
|
389
390
|
);
|
|
390
|
-
(0,
|
|
391
|
+
(0, import_sdk_common4.log)("Uploading app-data");
|
|
391
392
|
await orderBookApi.uploadAppData(appDataKeccak256, fullAppData);
|
|
392
|
-
(0,
|
|
393
|
+
(0, import_sdk_common4.log)("Sending on-chain order transaction");
|
|
393
394
|
const txReceipt = await signer.sendTransaction(transaction);
|
|
394
|
-
(0,
|
|
395
|
+
(0, import_sdk_common4.log)(`On-chain order transaction sent, txHash: ${txReceipt.hash}, order: ${orderId}`);
|
|
395
396
|
return { txHash: txReceipt.hash, orderId, orderToSign, signature: "", signingScheme: import_sdk_order_book3.SigningScheme.EIP1271 };
|
|
396
397
|
}
|
|
397
398
|
|
|
398
399
|
// src/postCoWProtocolTrade.ts
|
|
399
|
-
var
|
|
400
|
+
var import_sdk_common6 = require("@cowprotocol/sdk-common");
|
|
400
401
|
|
|
401
402
|
// src/utils/resolveSigner.ts
|
|
402
|
-
var
|
|
403
|
+
var import_sdk_common5 = require("@cowprotocol/sdk-common");
|
|
403
404
|
function resolveSigner(signer) {
|
|
404
|
-
const adapter = (0,
|
|
405
|
+
const adapter = (0, import_sdk_common5.getGlobalAdapter)();
|
|
405
406
|
return signer ? adapter.createSigner(signer) : adapter.signer;
|
|
406
407
|
}
|
|
407
408
|
|
|
@@ -434,9 +435,9 @@ async function postCoWProtocolTrade(orderBookApi, appData, params, additionalPar
|
|
|
434
435
|
params,
|
|
435
436
|
appData.appDataKeccak256
|
|
436
437
|
);
|
|
437
|
-
(0,
|
|
438
|
+
(0, import_sdk_common6.log)("Uploading app-data");
|
|
438
439
|
await orderBookApi.uploadAppData(appDataKeccak256, fullAppData);
|
|
439
|
-
(0,
|
|
440
|
+
(0, import_sdk_common6.log)("Signing order...");
|
|
440
441
|
const { signature, signingScheme } = await (async () => {
|
|
441
442
|
if (_signingScheme === import_sdk_order_book4.SigningScheme.PRESIGN) {
|
|
442
443
|
return { signature: from, signingScheme: import_sdk_order_book4.SigningScheme.PRESIGN };
|
|
@@ -472,25 +473,25 @@ async function postCoWProtocolTrade(orderBookApi, appData, params, additionalPar
|
|
|
472
473
|
appData: fullAppData,
|
|
473
474
|
appDataHash: appDataKeccak256
|
|
474
475
|
};
|
|
475
|
-
(0,
|
|
476
|
+
(0, import_sdk_common6.log)("Posting order...");
|
|
476
477
|
const orderId = await orderBookApi.sendOrder(orderBody);
|
|
477
|
-
(0,
|
|
478
|
+
(0, import_sdk_common6.log)(`Order created, id: ${orderId}`);
|
|
478
479
|
return { orderId, signature, signingScheme, orderToSign };
|
|
479
480
|
}
|
|
480
481
|
|
|
481
482
|
// src/getQuote.ts
|
|
482
|
-
var
|
|
483
|
+
var import_sdk_common12 = require("@cowprotocol/sdk-common");
|
|
483
484
|
var import_sdk_order_book7 = require("@cowprotocol/sdk-order-book");
|
|
484
485
|
|
|
485
486
|
// src/appDataUtils.ts
|
|
486
487
|
var import_sdk_app_data = require("@cowprotocol/sdk-app-data");
|
|
487
|
-
var
|
|
488
|
+
var import_sdk_common7 = require("@cowprotocol/sdk-common");
|
|
488
489
|
var import_deepmerge = __toESM(require("deepmerge"));
|
|
489
490
|
|
|
490
491
|
// ../sdk/package.json
|
|
491
492
|
var package_default = {
|
|
492
493
|
name: "@cowprotocol/cow-sdk",
|
|
493
|
-
version: "8.0.
|
|
494
|
+
version: "8.0.4",
|
|
494
495
|
license: "(MIT OR Apache-2.0)",
|
|
495
496
|
description: "CoW Protocol SDK - get quote, configure your order, and trade",
|
|
496
497
|
repository: {
|
|
@@ -590,7 +591,7 @@ function getDefaultUtmParams() {
|
|
|
590
591
|
async function buildAppData({ slippageBps, appCode, orderClass: orderClassName, partnerFee }, advancedParams) {
|
|
591
592
|
const quoteParams = { slippageBips: slippageBps };
|
|
592
593
|
const orderClass = { orderClass: orderClassName };
|
|
593
|
-
const metadataApiSdk = new import_sdk_app_data.MetadataApi((0,
|
|
594
|
+
const metadataApiSdk = new import_sdk_app_data.MetadataApi((0, import_sdk_common7.getGlobalAdapter)());
|
|
594
595
|
const shouldAddDefaultUtm = !advancedParams?.metadata?.utm;
|
|
595
596
|
const baseMetadata = {
|
|
596
597
|
quote: quoteParams,
|
|
@@ -611,7 +612,7 @@ async function buildAppData({ slippageBps, appCode, orderClass: orderClassName,
|
|
|
611
612
|
return { doc, fullAppData, appDataKeccak256 };
|
|
612
613
|
}
|
|
613
614
|
async function generateAppDataFromDoc(doc) {
|
|
614
|
-
const adapter = (0,
|
|
615
|
+
const adapter = (0, import_sdk_common7.getGlobalAdapter)();
|
|
615
616
|
const fullAppData = await (0, import_sdk_app_data.stringifyDeterministic)(doc);
|
|
616
617
|
const appDataKeccak256 = adapter.utils.keccak256(adapter.utils.toUtf8Bytes(fullAppData));
|
|
617
618
|
return { fullAppData, appDataKeccak256 };
|
|
@@ -656,15 +657,15 @@ async function getOrderTypedData(chainId, orderToSign, options) {
|
|
|
656
657
|
}
|
|
657
658
|
|
|
658
659
|
// src/resolveSlippageSuggestion.ts
|
|
659
|
-
var
|
|
660
|
+
var import_sdk_common11 = require("@cowprotocol/sdk-common");
|
|
660
661
|
var import_sdk_order_book6 = require("@cowprotocol/sdk-order-book");
|
|
661
662
|
|
|
662
663
|
// src/suggestSlippageBps.ts
|
|
663
|
-
var
|
|
664
|
+
var import_sdk_common10 = require("@cowprotocol/sdk-common");
|
|
664
665
|
var import_sdk_order_book5 = require("@cowprotocol/sdk-order-book");
|
|
665
666
|
|
|
666
667
|
// src/suggestSlippageFromFee.ts
|
|
667
|
-
var
|
|
668
|
+
var import_sdk_common8 = require("@cowprotocol/sdk-common");
|
|
668
669
|
function suggestSlippageFromFee(params) {
|
|
669
670
|
const { feeAmount, multiplyingFactorPercent } = params;
|
|
670
671
|
if (feeAmount < 0n) {
|
|
@@ -673,11 +674,11 @@ function suggestSlippageFromFee(params) {
|
|
|
673
674
|
if (multiplyingFactorPercent < 0) {
|
|
674
675
|
throw new Error("multiplyingFactorPercent must be non-negative: " + multiplyingFactorPercent);
|
|
675
676
|
}
|
|
676
|
-
return (0,
|
|
677
|
+
return (0, import_sdk_common8.applyPercentage)(feeAmount, multiplyingFactorPercent);
|
|
677
678
|
}
|
|
678
679
|
|
|
679
680
|
// src/suggestSlippageFromVolume.ts
|
|
680
|
-
var
|
|
681
|
+
var import_sdk_common9 = require("@cowprotocol/sdk-common");
|
|
681
682
|
function suggestSlippageFromVolume(params) {
|
|
682
683
|
const { sellAmountBeforeNetworkCosts, sellAmountAfterNetworkCosts, isSell, slippagePercent } = params;
|
|
683
684
|
const sellAmount = isSell ? sellAmountAfterNetworkCosts : sellAmountBeforeNetworkCosts;
|
|
@@ -687,7 +688,7 @@ function suggestSlippageFromVolume(params) {
|
|
|
687
688
|
if (slippagePercent < 0) {
|
|
688
689
|
throw new Error("slippagePercent must be non-negative: " + slippagePercent);
|
|
689
690
|
}
|
|
690
|
-
return (0,
|
|
691
|
+
return (0, import_sdk_common9.applyPercentage)(sellAmount, slippagePercent);
|
|
691
692
|
}
|
|
692
693
|
|
|
693
694
|
// src/suggestSlippageBps.ts
|
|
@@ -725,7 +726,7 @@ function suggestSlippageBps(params) {
|
|
|
725
726
|
sellAmountAfterNetworkCosts,
|
|
726
727
|
slippage: totalSlippageBps
|
|
727
728
|
});
|
|
728
|
-
const slippageBps = (0,
|
|
729
|
+
const slippageBps = (0, import_sdk_common10.percentageToBps)(slippagePercent);
|
|
729
730
|
const lowerCap = isEthFlow ? ETH_FLOW_DEFAULT_SLIPPAGE_BPS[trader.chainId] : 0;
|
|
730
731
|
return Math.max(Math.min(slippageBps, MAX_SLIPPAGE_BPS), lowerCap);
|
|
731
732
|
}
|
|
@@ -764,11 +765,11 @@ async function resolveSlippageSuggestion(chainId, tradeParameters, trader, quote
|
|
|
764
765
|
return {
|
|
765
766
|
slippageBps: suggestedSlippageBps ? suggestSlippageBps({
|
|
766
767
|
...suggestSlippageParams,
|
|
767
|
-
volumeMultiplierPercent: (0,
|
|
768
|
+
volumeMultiplierPercent: (0, import_sdk_common11.bpsToPercentage)(suggestedSlippageBps)
|
|
768
769
|
}) : defaultSuggestion
|
|
769
770
|
};
|
|
770
771
|
} catch (e) {
|
|
771
|
-
(0,
|
|
772
|
+
(0, import_sdk_common11.log)(`getSlippageSuggestion() error: ${e.message || String(e)}`);
|
|
772
773
|
return { slippageBps: defaultSuggestion };
|
|
773
774
|
}
|
|
774
775
|
}
|
|
@@ -803,13 +804,13 @@ async function getQuoteRaw(_tradeParameters, trader, advancedSettings, _orderBoo
|
|
|
803
804
|
);
|
|
804
805
|
}
|
|
805
806
|
const effectiveValidFor = validFor ?? DEFAULT_QUOTE_VALIDITY;
|
|
806
|
-
(0,
|
|
807
|
+
(0, import_sdk_common12.log)(
|
|
807
808
|
`getQuote for: Swap ${amount} ${sellToken} for ${buyToken} on chain ${chainId} with ${slippageBps !== void 0 ? `${slippageBps} BPS` : "AUTO"} slippage`
|
|
808
809
|
);
|
|
809
810
|
const orderBookApi = _orderBookApi || new import_sdk_order_book7.OrderBookApi({ chainId, env });
|
|
810
811
|
const receiver = tradeParameters.receiver || from;
|
|
811
812
|
const isSell = kind === "sell";
|
|
812
|
-
(0,
|
|
813
|
+
(0, import_sdk_common12.log)("Building app data...");
|
|
813
814
|
const defaultSlippageBps = getDefaultSlippageBps(chainId, isEthFlow);
|
|
814
815
|
const slippageBpsOrDefault = slippageBps ?? defaultSlippageBps;
|
|
815
816
|
const buildAppDataParams = {
|
|
@@ -820,7 +821,7 @@ async function getQuoteRaw(_tradeParameters, trader, advancedSettings, _orderBoo
|
|
|
820
821
|
};
|
|
821
822
|
const appDataInfo = await buildAppData(buildAppDataParams, advancedSettings?.appData);
|
|
822
823
|
const { appDataKeccak256, fullAppData } = appDataInfo;
|
|
823
|
-
(0,
|
|
824
|
+
(0, import_sdk_common12.log)(`App data: appDataKeccak256=${appDataKeccak256} fullAppData=${fullAppData}`);
|
|
824
825
|
const quoteRequest = {
|
|
825
826
|
from,
|
|
826
827
|
sellToken,
|
|
@@ -836,7 +837,7 @@ async function getQuoteRaw(_tradeParameters, trader, advancedSettings, _orderBoo
|
|
|
836
837
|
...isSell ? { kind: import_sdk_order_book7.OrderQuoteSideKindSell.SELL, sellAmountBeforeFee: amount } : { kind: import_sdk_order_book7.OrderQuoteSideKindBuy.BUY, buyAmountAfterFee: amount },
|
|
837
838
|
...advancedSettings?.quoteRequest
|
|
838
839
|
};
|
|
839
|
-
(0,
|
|
840
|
+
(0, import_sdk_common12.log)("Getting quote...");
|
|
840
841
|
const quote = await orderBookApi.getQuote(quoteRequest);
|
|
841
842
|
if (quote.protocolFeeBps) {
|
|
842
843
|
const protocolFeeBps = Number(quote.protocolFeeBps);
|
|
@@ -860,7 +861,7 @@ async function getQuoteRaw(_tradeParameters, trader, advancedSettings, _orderBoo
|
|
|
860
861
|
};
|
|
861
862
|
if (slippageBps === void 0) {
|
|
862
863
|
if (suggestedSlippageBps) {
|
|
863
|
-
(0,
|
|
864
|
+
(0, import_sdk_common12.log)(
|
|
864
865
|
`Suggested slippage is greater than ${defaultSlippageBps} BPS (default), using the suggested slippage (${suggestedSlippageBps} BPS)`
|
|
865
866
|
);
|
|
866
867
|
const newAppDataInfo = await buildAppData(
|
|
@@ -870,7 +871,7 @@ async function getQuoteRaw(_tradeParameters, trader, advancedSettings, _orderBoo
|
|
|
870
871
|
},
|
|
871
872
|
advancedSettings?.appData
|
|
872
873
|
);
|
|
873
|
-
(0,
|
|
874
|
+
(0, import_sdk_common12.log)(
|
|
874
875
|
`App data with new suggested slippage: appDataKeccak256=${newAppDataInfo.appDataKeccak256} fullAppData=${newAppDataInfo.fullAppData}`
|
|
875
876
|
);
|
|
876
877
|
return {
|
|
@@ -880,7 +881,7 @@ async function getQuoteRaw(_tradeParameters, trader, advancedSettings, _orderBoo
|
|
|
880
881
|
slippageBps: suggestedSlippageBps
|
|
881
882
|
};
|
|
882
883
|
} else {
|
|
883
|
-
(0,
|
|
884
|
+
(0, import_sdk_common12.log)(`No suggested slippage. Using the default slippage (${defaultSlippageBps} BPS)`);
|
|
884
885
|
}
|
|
885
886
|
}
|
|
886
887
|
return {
|
|
@@ -929,7 +930,7 @@ async function getQuote(_tradeParameters, trader, advancedSettings, _orderBookAp
|
|
|
929
930
|
};
|
|
930
931
|
}
|
|
931
932
|
async function getTrader(swapParameters) {
|
|
932
|
-
const signer = (0,
|
|
933
|
+
const signer = (0, import_sdk_common12.getGlobalAdapter)().signerOrNull();
|
|
933
934
|
const account = swapParameters.owner || await signer?.getAddress();
|
|
934
935
|
return {
|
|
935
936
|
chainId: swapParameters.chainId,
|
|
@@ -1011,16 +1012,16 @@ async function postSwapOrderFromQuote({
|
|
|
1011
1012
|
|
|
1012
1013
|
// src/postLimitOrder.ts
|
|
1013
1014
|
var import_sdk_order_book8 = require("@cowprotocol/sdk-order-book");
|
|
1014
|
-
var
|
|
1015
|
+
var import_sdk_common13 = require("@cowprotocol/sdk-common");
|
|
1015
1016
|
async function postLimitOrder(_params, advancedSettings, _orderBookApi) {
|
|
1016
1017
|
const params = applySettingsToLimitTradeParameters(_params, advancedSettings);
|
|
1017
1018
|
if (!params.slippageBps) {
|
|
1018
1019
|
params.slippageBps = 0;
|
|
1019
1020
|
}
|
|
1020
1021
|
const { appCode, chainId, sellToken, buyToken, sellAmount, buyAmount, partnerFee } = params;
|
|
1021
|
-
(0,
|
|
1022
|
+
(0, import_sdk_common13.log)(`Limit order ${sellAmount} ${sellToken} for ${buyAmount} ${buyToken} on chain ${chainId}`);
|
|
1022
1023
|
const orderBookApi = _orderBookApi || new import_sdk_order_book8.OrderBookApi({ chainId, env: params.env });
|
|
1023
|
-
(0,
|
|
1024
|
+
(0, import_sdk_common13.log)("Building app data...");
|
|
1024
1025
|
const appDataInfo = await buildAppData(
|
|
1025
1026
|
{
|
|
1026
1027
|
slippageBps: params.slippageBps,
|
|
@@ -1038,11 +1039,11 @@ async function postLimitOrder(_params, advancedSettings, _orderBookApi) {
|
|
|
1038
1039
|
}
|
|
1039
1040
|
|
|
1040
1041
|
// src/getSettlementContract.ts
|
|
1041
|
-
var
|
|
1042
|
+
var import_sdk_common14 = require("@cowprotocol/sdk-common");
|
|
1042
1043
|
var import_sdk_config5 = require("@cowprotocol/sdk-config");
|
|
1043
1044
|
function getSettlementContract(chainId, signer, options) {
|
|
1044
1045
|
const { env, settlementContractOverride } = options ?? {};
|
|
1045
|
-
return
|
|
1046
|
+
return import_sdk_common14.ContractFactory.createSettlementContract(
|
|
1046
1047
|
settlementContractOverride?.[chainId] ?? (env === "staging" ? import_sdk_config5.COW_PROTOCOL_SETTLEMENT_CONTRACT_ADDRESS_STAGING[chainId] : import_sdk_config5.COW_PROTOCOL_SETTLEMENT_CONTRACT_ADDRESS[chainId]),
|
|
1047
1048
|
signer
|
|
1048
1049
|
);
|
|
@@ -1062,7 +1063,7 @@ async function getPreSignTransaction(signer, chainId, orderId, options) {
|
|
|
1062
1063
|
}
|
|
1063
1064
|
|
|
1064
1065
|
// src/tradingSdk.ts
|
|
1065
|
-
var
|
|
1066
|
+
var import_sdk_common15 = require("@cowprotocol/sdk-common");
|
|
1066
1067
|
var import_sdk_order_signing4 = require("@cowprotocol/sdk-order-signing");
|
|
1067
1068
|
|
|
1068
1069
|
// src/onChainCancellation.ts
|
|
@@ -1140,10 +1141,10 @@ var TradingSdk = class {
|
|
|
1140
1141
|
this.traderParams = traderParams;
|
|
1141
1142
|
this.options = options;
|
|
1142
1143
|
if (options.enableLogging !== void 0) {
|
|
1143
|
-
(0,
|
|
1144
|
+
(0, import_sdk_common15.enableLogging)(options.enableLogging);
|
|
1144
1145
|
}
|
|
1145
1146
|
if (adapter) {
|
|
1146
|
-
(0,
|
|
1147
|
+
(0, import_sdk_common15.setGlobalAdapter)(adapter);
|
|
1147
1148
|
}
|
|
1148
1149
|
}
|
|
1149
1150
|
setTraderParams(params) {
|
|
@@ -1179,7 +1180,7 @@ var TradingSdk = class {
|
|
|
1179
1180
|
}),
|
|
1180
1181
|
// It's important to get a fresh instance of the signer
|
|
1181
1182
|
// Because quote might be called with another signer
|
|
1182
|
-
signer: (0,
|
|
1183
|
+
signer: (0, import_sdk_common15.getGlobalAdapter)().signer
|
|
1183
1184
|
}
|
|
1184
1185
|
},
|
|
1185
1186
|
advancedSettings2
|
|
@@ -1320,7 +1321,7 @@ var TradingSdk = class {
|
|
|
1320
1321
|
const { env, chainId, settlementContractOverride, ethFlowContractOverride } = this.mergeParams(params);
|
|
1321
1322
|
const order = _order ?? await this.getOrder(params);
|
|
1322
1323
|
const isEthFlowOrder = !!order.onchainOrderData;
|
|
1323
|
-
const signer = params.signer ? (0,
|
|
1324
|
+
const signer = params.signer ? (0, import_sdk_common15.getGlobalAdapter)().createSigner(params.signer) : (0, import_sdk_common15.getGlobalAdapter)().signer;
|
|
1324
1325
|
const { transaction } = await (isEthFlowOrder ? getEthFlowCancellation(getEthFlowContract(signer, chainId, { env, ethFlowContractOverride }), order) : getSettlementCancellation(getSettlementContract(chainId, signer, { env, settlementContractOverride }), order));
|
|
1325
1326
|
const txReceipt = await signer.sendTransaction(transaction);
|
|
1326
1327
|
return txReceipt.hash;
|
|
@@ -1345,11 +1346,11 @@ var TradingSdk = class {
|
|
|
1345
1346
|
*/
|
|
1346
1347
|
async getCowProtocolAllowance(params) {
|
|
1347
1348
|
const { env, chainId } = this.mergeParams(params);
|
|
1348
|
-
const adapter = (0,
|
|
1349
|
+
const adapter = (0, import_sdk_common15.getGlobalAdapter)();
|
|
1349
1350
|
const vaultRelayerAddress = params.vaultRelayerAddress ?? (env === "staging" ? import_sdk_config6.COW_PROTOCOL_VAULT_RELAYER_ADDRESS_STAGING[chainId] : import_sdk_config6.COW_PROTOCOL_VAULT_RELAYER_ADDRESS[chainId]);
|
|
1350
1351
|
return await adapter.readContract({
|
|
1351
1352
|
address: params.tokenAddress,
|
|
1352
|
-
abi:
|
|
1353
|
+
abi: import_sdk_common15.ERC20_ALLOWANCE_ABI,
|
|
1353
1354
|
functionName: "allowance",
|
|
1354
1355
|
args: [params.owner, vaultRelayerAddress]
|
|
1355
1356
|
});
|
|
@@ -1375,12 +1376,12 @@ var TradingSdk = class {
|
|
|
1375
1376
|
*/
|
|
1376
1377
|
async approveCowProtocol(params) {
|
|
1377
1378
|
const { env, chainId, signer: signerLike } = this.mergeParams(params);
|
|
1378
|
-
const adapter = (0,
|
|
1379
|
+
const adapter = (0, import_sdk_common15.getGlobalAdapter)();
|
|
1379
1380
|
const signer = resolveSigner(signerLike);
|
|
1380
1381
|
const vaultRelayerAddress = params.vaultRelayerAddress ?? (env === "staging" ? import_sdk_config6.COW_PROTOCOL_VAULT_RELAYER_ADDRESS_STAGING[chainId] : import_sdk_config6.COW_PROTOCOL_VAULT_RELAYER_ADDRESS[chainId]);
|
|
1381
1382
|
const txParams = {
|
|
1382
1383
|
to: params.tokenAddress,
|
|
1383
|
-
data: adapter.utils.encodeFunction(
|
|
1384
|
+
data: adapter.utils.encodeFunction(import_sdk_common15.ERC20_APPROVE_ABI, "approve", [
|
|
1384
1385
|
vaultRelayerAddress,
|
|
1385
1386
|
"0x" + params.amount.toString(16)
|
|
1386
1387
|
])
|
|
@@ -1401,7 +1402,7 @@ var TradingSdk = class {
|
|
|
1401
1402
|
const orderBookContext = this.options.orderBookApi?.context;
|
|
1402
1403
|
const traderParams = {
|
|
1403
1404
|
chainId: chainId ?? this.traderParams.chainId ?? orderBookContext?.chainId,
|
|
1404
|
-
signer: signer ?? this.traderParams.signer ?? (0,
|
|
1405
|
+
signer: signer ?? this.traderParams.signer ?? (0, import_sdk_common15.getGlobalAdapter)().signer,
|
|
1405
1406
|
appCode: appCode ?? this.traderParams.appCode,
|
|
1406
1407
|
env: env ?? this.traderParams.env ?? orderBookContext?.env,
|
|
1407
1408
|
settlementContractOverride: settlementContractOverride ?? this.traderParams.settlementContractOverride,
|
package/dist/index.mjs
CHANGED
|
@@ -195,6 +195,7 @@ import {
|
|
|
195
195
|
|
|
196
196
|
// src/utils/misc.ts
|
|
197
197
|
import { ETH_ADDRESS, WRAPPED_NATIVE_CURRENCIES as WRAPPED_NATIVE_CURRENCIES2 } from "@cowprotocol/sdk-config";
|
|
198
|
+
import { areAddressesEqual } from "@cowprotocol/sdk-common";
|
|
198
199
|
function swapParamsToLimitOrderParams(params, quoteResponse) {
|
|
199
200
|
return {
|
|
200
201
|
...params,
|
|
@@ -205,7 +206,7 @@ function swapParamsToLimitOrderParams(params, quoteResponse) {
|
|
|
205
206
|
};
|
|
206
207
|
}
|
|
207
208
|
function getIsEthFlowOrder(params) {
|
|
208
|
-
return params.sellToken
|
|
209
|
+
return areAddressesEqual(params.sellToken, ETH_ADDRESS);
|
|
209
210
|
}
|
|
210
211
|
function calculateGasMargin(value) {
|
|
211
212
|
return value + value * BigInt(20) / BigInt(100);
|
|
@@ -457,7 +458,7 @@ import deepmerge from "deepmerge";
|
|
|
457
458
|
// ../sdk/package.json
|
|
458
459
|
var package_default = {
|
|
459
460
|
name: "@cowprotocol/cow-sdk",
|
|
460
|
-
version: "8.0.
|
|
461
|
+
version: "8.0.4",
|
|
461
462
|
license: "(MIT OR Apache-2.0)",
|
|
462
463
|
description: "CoW Protocol SDK - get quote, configure your order, and trade",
|
|
463
464
|
repository: {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cowprotocol/sdk-trading",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.2.0",
|
|
4
4
|
"description": "CowProtocol trading",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -34,18 +34,18 @@
|
|
|
34
34
|
"ts-jest": "^29.0.0",
|
|
35
35
|
"tsx": "^4.19.4",
|
|
36
36
|
"@cow-sdk/typescript-config": "0.0.0-beta.0",
|
|
37
|
-
"@cowprotocol/sdk-ethers-
|
|
38
|
-
"@cowprotocol/sdk-
|
|
39
|
-
"@cowprotocol/sdk-
|
|
37
|
+
"@cowprotocol/sdk-ethers-v6-adapter": "0.4.0",
|
|
38
|
+
"@cowprotocol/sdk-viem-adapter": "0.3.14",
|
|
39
|
+
"@cowprotocol/sdk-ethers-v5-adapter": "0.4.0"
|
|
40
40
|
},
|
|
41
41
|
"dependencies": {
|
|
42
42
|
"deepmerge": "^4.3.1",
|
|
43
|
-
"@cowprotocol/sdk-common": "0.8.
|
|
44
|
-
"@cowprotocol/sdk-
|
|
45
|
-
"@cowprotocol/sdk-
|
|
46
|
-
"@cowprotocol/sdk-
|
|
47
|
-
"@cowprotocol/sdk-order-
|
|
48
|
-
"@cowprotocol/sdk-contracts-ts": "2.
|
|
43
|
+
"@cowprotocol/sdk-common": "0.8.2",
|
|
44
|
+
"@cowprotocol/sdk-config": "1.1.2",
|
|
45
|
+
"@cowprotocol/sdk-order-book": "2.0.3",
|
|
46
|
+
"@cowprotocol/sdk-app-data": "4.6.12",
|
|
47
|
+
"@cowprotocol/sdk-order-signing": "0.2.3",
|
|
48
|
+
"@cowprotocol/sdk-contracts-ts": "2.2.0"
|
|
49
49
|
},
|
|
50
50
|
"scripts": {
|
|
51
51
|
"build": "tsup src/index.ts --format esm,cjs --dts",
|