@1stdex/first-sdk 1.0.67 → 1.0.69

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.
@@ -1,8 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.prepareMarketOrderWithSetup = exports.prepareLimitOrderWithSetup = void 0;
3
+ exports.prepareWithdrawFromVault = exports.prepareMarketOrderWithSetup = exports.prepareLimitOrderWithSetup = void 0;
4
4
  var prepare_limit_order_with_setup_1 = require("./prepare-limit-order-with-setup");
5
5
  Object.defineProperty(exports, "prepareLimitOrderWithSetup", { enumerable: true, get: function () { return prepare_limit_order_with_setup_1.prepareLimitOrderWithSetup; } });
6
6
  var prepare_market_order_with_setup_1 = require("./prepare-market-order-with-setup");
7
7
  Object.defineProperty(exports, "prepareMarketOrderWithSetup", { enumerable: true, get: function () { return prepare_market_order_with_setup_1.prepareMarketOrderWithSetup; } });
8
+ var prepare_withdraw_from_vault_1 = require("./prepare-withdraw-from-vault");
9
+ Object.defineProperty(exports, "prepareWithdrawFromVault", { enumerable: true, get: function () { return prepare_withdraw_from_vault_1.prepareWithdrawFromVault; } });
8
10
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/calls/batch/index.ts"],"names":[],"mappings":";;;AAAA,mFAA8E;AAArE,4IAAA,0BAA0B,OAAA;AACnC,qFAAgF;AAAvE,8IAAA,2BAA2B,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/calls/batch/index.ts"],"names":[],"mappings":";;;AAAA,mFAA8E;AAArE,4IAAA,0BAA0B,OAAA;AACnC,qFAAgF;AAAvE,8IAAA,2BAA2B,OAAA;AACpC,6EAAyE;AAAhE,uIAAA,wBAAwB,OAAA"}
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.prepareWithdrawFromVault = void 0;
4
+ const viem_1 = require("viem");
5
+ const chain_1 = require("../../constants/chain-configs/chain");
6
+ const addresses_1 = require("../../constants/chain-configs/addresses");
7
+ const vault_1 = require("../../views/vault");
8
+ const withdraw_from_vault_1 = require("../vault/withdraw-from-vault");
9
+ const prepareWithdrawFromVault = async ({ chainId, userAddress, currency, amount, options, }) => {
10
+ const controllerAddress = addresses_1.CONTRACT_ADDRESSES[chainId].Controller;
11
+ const publicClient = (0, viem_1.createPublicClient)({
12
+ chain: chain_1.CHAIN_MAP[chainId],
13
+ transport: options?.rpcUrl ? (0, viem_1.http)(options.rpcUrl) : (0, viem_1.http)(),
14
+ });
15
+ const calls = [];
16
+ const vault = await (0, vault_1.getVault)({
17
+ chainId,
18
+ tokenAddress: currency,
19
+ ...(options?.rpcUrl && { options: { rpcUrl: options.rpcUrl } }),
20
+ });
21
+ const allowance = await publicClient.readContract({
22
+ address: vault.address,
23
+ abi: viem_1.erc20Abi,
24
+ functionName: 'allowance',
25
+ args: [userAddress, controllerAddress],
26
+ });
27
+ const maxValue = 2n ** 256n - 1n;
28
+ if (allowance < amount) {
29
+ calls.push({
30
+ to: vault.address,
31
+ data: (0, viem_1.encodeFunctionData)({
32
+ abi: viem_1.erc20Abi,
33
+ functionName: 'approve',
34
+ args: [controllerAddress, maxValue],
35
+ }),
36
+ value: 0n,
37
+ });
38
+ }
39
+ const hasApprovalCall = calls.length > 0;
40
+ const withdrawTx = await (0, withdraw_from_vault_1.withdrawFromVault)({
41
+ chainId,
42
+ userAddress,
43
+ currency,
44
+ amount,
45
+ options: {
46
+ ...options,
47
+ skipGasEstimation: hasApprovalCall,
48
+ },
49
+ });
50
+ calls.push({
51
+ to: withdrawTx.to,
52
+ data: withdrawTx.data,
53
+ value: withdrawTx.value,
54
+ });
55
+ return calls;
56
+ };
57
+ exports.prepareWithdrawFromVault = prepareWithdrawFromVault;
58
+ //# sourceMappingURL=prepare-withdraw-from-vault.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prepare-withdraw-from-vault.js","sourceRoot":"","sources":["../../../../src/calls/batch/prepare-withdraw-from-vault.ts"],"names":[],"mappings":";;;AAAA,+BAA8E;AAE9E,+DAA2E;AAC3E,uEAA6E;AAC7E,6CAA6C;AAC7C,sEAAiE;AA+B1D,MAAM,wBAAwB,GAAG,KAAK,EAAE,EAC7C,OAAO,EACP,WAAW,EACX,QAAQ,EACR,MAAM,EACN,OAAO,GAOR,EAAwB,EAAE;IACzB,MAAM,iBAAiB,GAAG,8BAAkB,CAAC,OAAO,CAAE,CAAC,UAAU,CAAC;IAElE,MAAM,YAAY,GAAG,IAAA,yBAAkB,EAAC;QACtC,KAAK,EAAE,iBAAS,CAAC,OAAO,CAAC;QACzB,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,IAAA,WAAI,EAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAA,WAAI,GAAE;KAC3D,CAAC,CAAC;IAEH,MAAM,KAAK,GAAgB,EAAE,CAAC;IAG9B,MAAM,KAAK,GAAG,MAAM,IAAA,gBAAQ,EAAC;QAC3B,OAAO;QACP,YAAY,EAAE,QAAQ;QACtB,GAAG,CAAC,OAAO,EAAE,MAAM,IAAI,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;KAChE,CAAC,CAAC;IAGH,MAAM,SAAS,GAAG,MAAM,YAAY,CAAC,YAAY,CAAC;QAChD,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,GAAG,EAAE,eAAQ;QACb,YAAY,EAAE,WAAW;QACzB,IAAI,EAAE,CAAC,WAAW,EAAE,iBAAiB,CAAC;KACvC,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,CAAC;IAGjC,IAAI,SAAS,GAAG,MAAM,EAAE,CAAC;QACvB,KAAK,CAAC,IAAI,CAAC;YACT,EAAE,EAAE,KAAK,CAAC,OAAO;YACjB,IAAI,EAAE,IAAA,yBAAkB,EAAC;gBACvB,GAAG,EAAE,eAAQ;gBACb,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,CAAC,iBAAiB,EAAE,QAAQ,CAAC;aACpC,CAAC;YACF,KAAK,EAAE,EAAE;SACV,CAAC,CAAC;IACL,CAAC;IAID,MAAM,eAAe,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;IAEzC,MAAM,UAAU,GAAG,MAAM,IAAA,uCAAiB,EAAC;QACzC,OAAO;QACP,WAAW;QACX,QAAQ;QACR,MAAM;QACN,OAAO,EAAE;YACP,GAAG,OAAO;YACV,iBAAiB,EAAE,eAAe;SACJ;KACjC,CAAC,CAAC;IAEH,KAAK,CAAC,IAAI,CAAC;QACT,EAAE,EAAE,UAAU,CAAC,EAAE;QACjB,IAAI,EAAE,UAAU,CAAC,IAAI;QACrB,KAAK,EAAE,UAAU,CAAC,KAAK;KACxB,CAAC,CAAC;IAEH,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AA1EW,QAAA,wBAAwB,4BA0EnC"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.prepareMarketOrderWithSetup = exports.prepareLimitOrderWithSetup = exports.withdrawFromVault = exports.depositToVault = exports.removeVault = exports.setVault = exports.approveAllForMarket = exports.setTokenAllowances = exports.setApprovalOfOpenOrdersForAll = exports.cancelOrders = exports.cancelOrder = exports.claimOrders = exports.claimOrder = exports.InsufficientLiquidityError = exports.marketOrder = exports.limitOrder = exports.placeMarketMakingQuotes = exports.openMarket = void 0;
3
+ exports.prepareWithdrawFromVault = exports.prepareMarketOrderWithSetup = exports.prepareLimitOrderWithSetup = exports.withdrawFromVault = exports.depositToVault = exports.removeVault = exports.setVault = exports.approveAllForMarket = exports.setTokenAllowances = exports.setApprovalOfOpenOrdersForAll = exports.cancelOrders = exports.cancelOrder = exports.claimOrders = exports.claimOrder = exports.ZeroTakenAmountError = exports.InsufficientLiquidityError = exports.marketOrder = exports.limitOrder = exports.placeMarketMakingQuotes = exports.openMarket = void 0;
4
4
  var open_1 = require("./market/open");
5
5
  Object.defineProperty(exports, "openMarket", { enumerable: true, get: function () { return open_1.openMarket; } });
6
6
  var make_1 = require("./market/make");
@@ -10,6 +10,7 @@ Object.defineProperty(exports, "limitOrder", { enumerable: true, get: function (
10
10
  var market_1 = require("./market/market");
11
11
  Object.defineProperty(exports, "marketOrder", { enumerable: true, get: function () { return market_1.marketOrder; } });
12
12
  Object.defineProperty(exports, "InsufficientLiquidityError", { enumerable: true, get: function () { return market_1.InsufficientLiquidityError; } });
13
+ Object.defineProperty(exports, "ZeroTakenAmountError", { enumerable: true, get: function () { return market_1.ZeroTakenAmountError; } });
13
14
  var claim_1 = require("./market/claim");
14
15
  Object.defineProperty(exports, "claimOrder", { enumerable: true, get: function () { return claim_1.claimOrder; } });
15
16
  Object.defineProperty(exports, "claimOrders", { enumerable: true, get: function () { return claim_1.claimOrders; } });
@@ -30,4 +31,5 @@ Object.defineProperty(exports, "withdrawFromVault", { enumerable: true, get: fun
30
31
  var batch_1 = require("./batch");
31
32
  Object.defineProperty(exports, "prepareLimitOrderWithSetup", { enumerable: true, get: function () { return batch_1.prepareLimitOrderWithSetup; } });
32
33
  Object.defineProperty(exports, "prepareMarketOrderWithSetup", { enumerable: true, get: function () { return batch_1.prepareMarketOrderWithSetup; } });
34
+ Object.defineProperty(exports, "prepareWithdrawFromVault", { enumerable: true, get: function () { return batch_1.prepareWithdrawFromVault; } });
33
35
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/calls/index.ts"],"names":[],"mappings":";;;AAAA,sCAA2C;AAAlC,kGAAA,UAAU,OAAA;AACnB,sCAAwD;AAA/C,+GAAA,uBAAuB,OAAA;AAChC,wCAA4C;AAAnC,mGAAA,UAAU,OAAA;AACnB,0CAA0E;AAAjE,qGAAA,WAAW,OAAA;AAAE,oHAAA,0BAA0B,OAAA;AAChD,wCAAyD;AAAhD,mGAAA,UAAU,OAAA;AAAE,oGAAA,WAAW,OAAA;AAChC,0CAA4D;AAAnD,qGAAA,WAAW,OAAA;AAAE,sGAAA,YAAY,OAAA;AAElC,oDAAsE;AAA7D,2HAAA,6BAA6B,OAAA;AACtC,0CAAsD;AAA7C,2GAAA,kBAAkB,OAAA;AAC3B,4CAAwD;AAA/C,6GAAA,mBAAmB,OAAA;AAE5B,iCAKiB;AAJf,iGAAA,QAAQ,OAAA;AACR,oGAAA,WAAW,OAAA;AACX,uGAAA,cAAc,OAAA;AACd,0GAAA,iBAAiB,OAAA;AAGnB,iCAGiB;AAFf,mHAAA,0BAA0B,OAAA;AAC1B,oHAAA,2BAA2B,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/calls/index.ts"],"names":[],"mappings":";;;AAAA,sCAA2C;AAAlC,kGAAA,UAAU,OAAA;AACnB,sCAAwD;AAA/C,+GAAA,uBAAuB,OAAA;AAChC,wCAA4C;AAAnC,mGAAA,UAAU,OAAA;AACnB,0CAIyB;AAHvB,qGAAA,WAAW,OAAA;AACX,oHAAA,0BAA0B,OAAA;AAC1B,8GAAA,oBAAoB,OAAA;AAEtB,wCAAyD;AAAhD,mGAAA,UAAU,OAAA;AAAE,oGAAA,WAAW,OAAA;AAChC,0CAA4D;AAAnD,qGAAA,WAAW,OAAA;AAAE,sGAAA,YAAY,OAAA;AAElC,oDAAsE;AAA7D,2HAAA,6BAA6B,OAAA;AACtC,0CAAsD;AAA7C,2GAAA,kBAAkB,OAAA;AAC3B,4CAAwD;AAA/C,6GAAA,mBAAmB,OAAA;AAE5B,iCAKiB;AAJf,iGAAA,QAAQ,OAAA;AACR,oGAAA,WAAW,OAAA;AACX,uGAAA,cAAc,OAAA;AACd,0GAAA,iBAAiB,OAAA;AAGnB,iCAIiB;AAHf,mHAAA,0BAA0B,OAAA;AAC1B,oHAAA,2BAA2B,OAAA;AAC3B,iHAAA,wBAAwB,OAAA"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.marketOrder = exports.InsufficientLiquidityError = void 0;
3
+ exports.marketOrder = exports.ZeroTakenAmountError = exports.InsufficientLiquidityError = void 0;
4
4
  const viem_1 = require("viem");
5
5
  const chain_1 = require("../../constants/chain-configs/chain");
6
6
  const apis_1 = require("../../entities/market/apis");
@@ -30,6 +30,32 @@ class InsufficientLiquidityError extends Error {
30
30
  }
31
31
  }
32
32
  exports.InsufficientLiquidityError = InsufficientLiquidityError;
33
+ class ZeroTakenAmountError extends Error {
34
+ constructor(message, inputAmount, inputTokenSymbol, outputTokenSymbol) {
35
+ super(message);
36
+ Object.defineProperty(this, "inputAmount", {
37
+ enumerable: true,
38
+ configurable: true,
39
+ writable: true,
40
+ value: inputAmount
41
+ });
42
+ Object.defineProperty(this, "inputTokenSymbol", {
43
+ enumerable: true,
44
+ configurable: true,
45
+ writable: true,
46
+ value: inputTokenSymbol
47
+ });
48
+ Object.defineProperty(this, "outputTokenSymbol", {
49
+ enumerable: true,
50
+ configurable: true,
51
+ writable: true,
52
+ value: outputTokenSymbol
53
+ });
54
+ this.name = 'ZeroTakenAmountError';
55
+ Object.setPrototypeOf(this, ZeroTakenAmountError.prototype);
56
+ }
57
+ }
58
+ exports.ZeroTakenAmountError = ZeroTakenAmountError;
33
59
  const marketOrder = async ({ chainId, userAddress, inputToken, outputToken, amountIn, amountOut, options, }) => {
34
60
  if (!amountIn && !amountOut) {
35
61
  throw new Error('Either amountIn or amountOut must be provided');
@@ -71,7 +97,11 @@ const marketOrder = async ({ chainId, userAddress, inputToken, outputToken, amou
71
97
  },
72
98
  });
73
99
  if (Number(takenAmount) === 0) {
74
- throw new InsufficientLiquidityError(`Insufficient liquidity: No ${outputCurrency.symbol} available to fulfill this order. The ${isTakingBid ? 'bid' : 'ask'} book is empty.`, outputCurrency.symbol, isTakingBid ? 'bid' : 'ask');
100
+ const relevantBook = isTakingBid ? market.bids : market.asks;
101
+ if (relevantBook.length === 0) {
102
+ throw new InsufficientLiquidityError(`Insufficient liquidity: No ${outputCurrency.symbol} available to fulfill this order. The ${isTakingBid ? 'bid' : 'ask'} book is empty.`, outputCurrency.symbol, isTakingBid ? 'bid' : 'ask');
103
+ }
104
+ throw new ZeroTakenAmountError(`Input amount (${amountIn} ${inputCurrency.symbol}) is too low to take any ${outputCurrency.symbol}. Try increasing the input amount.`, amountIn, inputCurrency.symbol, outputCurrency.symbol);
75
105
  }
76
106
  const baseAmount = (0, viem_1.parseUnits)(amountIn, inputCurrency.decimals);
77
107
  return {
@@ -130,6 +160,10 @@ const marketOrder = async ({ chainId, userAddress, inputToken, outputToken, amou
130
160
  },
131
161
  });
132
162
  if (Number(spentAmount) === 0 || Number(takenAmount) === 0) {
163
+ const relevantBook = isTakingBid ? market.bids : market.asks;
164
+ if (relevantBook.length === 0) {
165
+ throw new InsufficientLiquidityError(`Insufficient liquidity: No ${outputCurrency.symbol} available to fulfill this order. The ${isTakingBid ? 'bid' : 'ask'} book is empty.`, outputCurrency.symbol, isTakingBid ? 'bid' : 'ask');
166
+ }
133
167
  throw new InsufficientLiquidityError(`Insufficient liquidity: Cannot take ${amountOut} ${outputCurrency.symbol}. The ${isTakingBid ? 'bid' : 'ask'} book has insufficient depth.`, outputCurrency.symbol, isTakingBid ? 'bid' : 'ask');
134
168
  }
135
169
  const quoteAmount = (0, viem_1.parseUnits)(amountOut, outputCurrency.decimals);
@@ -1 +1 @@
1
- {"version":3,"file":"market.js","sourceRoot":"","sources":["../../../../src/calls/market/market.ts"],"names":[],"mappings":";;;AAAA,+BAMc;AAEd,+DAA2E;AAM3E,qDAAyD;AACzD,uCAAkE;AAClE,qEAAiE;AACjE,uEAA6E;AAC7E,6EAA0E;AAC1E,+CAAkD;AAClD,2CAAiE;AAKjE,MAAa,0BAA2B,SAAQ,KAAK;IACnD,YACE,OAAe,EACC,WAAmB,EACnB,QAAuB;QAEvC,KAAK,CAAC,OAAO,CAAC,CAAC;QAHf;;;;mBAAgB,WAAW;WAAQ;QACnC;;;;mBAAgB,QAAQ;WAAe;QAGvC,IAAI,CAAC,IAAI,GAAG,4BAA4B,CAAC;QACzC,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,0BAA0B,CAAC,SAAS,CAAC,CAAC;IACpE,CAAC;CACF;AAVD,gEAUC;AAkCM,MAAM,WAAW,GAAG,KAAK,EAAE,EAChC,OAAO,EACP,WAAW,EACX,UAAU,EACV,WAAW,EACX,QAAQ,EACR,SAAS,EACT,OAAO,GAgBR,EAME,EAAE;IACH,IAAI,CAAC,QAAQ,IAAI,CAAC,SAAS,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;IACnE,CAAC;SAAM,IAAI,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;IACvE,CAAC;IACD,MAAM,YAAY,GAAG,IAAA,yBAAkB,EAAC;QACtC,KAAK,EAAE,iBAAS,CAAC,OAAO,CAAC;QACzB,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,IAAA,WAAI,EAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAA,WAAI,GAAE;KAC3D,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,MAAM,IAAA,kBAAW,EAC9B,YAAY,EACZ,OAAO,EACP,CAAC,UAAU,EAAE,WAAW,CAAC,EACzB,CAAC,CAAC,CAAC,OAAO,IAAI,OAAO,CAAC,WAAW,CAAC,CACnC,CAAC;IACF,MAAM,WAAW,GAAG,IAAA,qBAAc,EAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IACpE,MAAM,CAAC,aAAa,EAAE,cAAc,CAAC,GAAG,WAAW;QACjD,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC;QAC7B,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IAChC,IACE,CAAC,WAAW,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC;QACzC,CAAC,CAAC,WAAW,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAC1C,CAAC;QACD,MAAM,IAAI,KAAK,CAAC;;;;;cAKN,OAAO;cACP,UAAU;cACV,WAAW;;KAEpB,CAAC,CAAC;IACL,CAAC;IACD,MAAM,KAAK,GAAG,IAAA,qBAAc,EAAC,UAAU,EAAE,kBAAW,CAAC,CAAC;IAEtD,IAAI,QAAQ,IAAI,CAAC,SAAS,EAAE,CAAC;QAC3B,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,GAChD,MAAM,IAAA,yBAAiB,EAAC;YACtB,OAAO;YACP,UAAU;YACV,WAAW;YACX,QAAQ;YACR,OAAO,EAAE;gBACP,GAAG,OAAO;aAEX;SACF,CAAC,CAAC;QACL,IAAI,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,0BAA0B,CAClC,8BAA8B,cAAc,CAAC,MAAM,yCAAyC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,iBAAiB,EACxI,cAAc,CAAC,MAAM,EACrB,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAC5B,CAAC;QACJ,CAAC;QACD,MAAM,UAAU,GAAG,IAAA,iBAAU,EAAC,QAAQ,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC;QAChE,OAAO;YACL,WAAW,EAAE,MAAM,IAAA,oCAAgB,EACjC,YAAY,EACZ;gBACE,KAAK,EAAE,iBAAS,CAAC,OAAO,CAAC;gBACzB,OAAO,EAAE,WAAW;gBACpB,OAAO,EAAE,8BAAkB,CAAC,OAAO,CAAE,CAAC,UAAU;gBAChD,GAAG,EAAE,+BAAc;gBACnB,YAAY,EAAE,OAAO;gBACrB,IAAI,EAAE;oBACJ;wBACE;4BACE,EAAE,EAAE,MAAM;4BACV,UAAU,EAAE,EAAE;4BACd,UAAU;4BACV,cAAc,EAAE,OAAO,EAAE,QAAQ;gCAC/B,CAAC,CAAC,IAAA,qBAAY,EACV,IAAA,iBAAU,EAAC,WAAW,EAAE,cAAc,CAAC,QAAQ,CAAC,EAChD,GAAG,GAAG,OAAO,CAAC,QAAQ,CACvB;gCACH,CAAC,CAAC,EAAE;4BACN,QAAQ,EAAE,OAAO,EAAE,QAAQ;yBAC5B;qBACF;oBACD,IAAA,oCAA6B,GAAE;iBAChC;gBACD,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE;aAC/B,EACD,OAAO,EAAE,QAAQ,EACjB,SAAS,EACT,OAAO,EAAE,iBAAiB,CAC3B;YACD,MAAM,EAAE;gBACN,KAAK,EAAE;oBACL,MAAM,EAAE,WAAW;oBACnB,QAAQ,EAAE,aAAa;oBACvB,SAAS,EAAE,IAAI;oBACf,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC;wBAC9C,KAAK;wBACL,MAAM,EAAE,WAAW;qBACpB,CAAC,CAAC;iBACJ;gBACD,KAAK,EAAE;oBACL,MAAM,EAAE,WAAW;oBACnB,QAAQ,EAAE,cAAc;oBACxB,SAAS,EAAE,KAAK;oBAChB,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC;wBAC9C,KAAK;wBACL,MAAM,EAAE,WAAW;qBACpB,CAAC,CAAC;iBACJ;aACF;SACF,CAAC;IACJ,CAAC;SAAM,IAAI,CAAC,QAAQ,IAAI,SAAS,EAAE,CAAC;QAClC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,MAAM,IAAA,wBAAgB,EACzE;YACE,OAAO;YACP,UAAU;YACV,WAAW;YACX,SAAS;YACT,OAAO,EAAE;gBACP,GAAG,OAAO;aAEX;SACF,CACF,CAAC;QACF,IAAI,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3D,MAAM,IAAI,0BAA0B,CAClC,uCAAuC,SAAS,IAAI,cAAc,CAAC,MAAM,SAAS,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,+BAA+B,EAC5I,cAAc,CAAC,MAAM,EACrB,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAC5B,CAAC;QACJ,CAAC;QACD,MAAM,WAAW,GAAG,IAAA,iBAAU,EAAC,SAAS,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC;QACnE,MAAM,UAAU,GAAG,IAAA,iBAAU,EAAC,WAAW,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC;QACnE,MAAM,aAAa,GAAG,OAAO,EAAE,QAAQ;YACrC,CAAC,CAAC,IAAA,qBAAY,EAAC,UAAU,EAAE,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC;YAClD,CAAC,CAAC,KAAK;gBACL,CAAC,CAAC,UAAU;gBACZ,CAAC,CAAC,EAAE,IAAI,IAAI,GAAG,EAAE,CAAC;QACtB,OAAO;YACL,WAAW,EAAE,MAAM,IAAA,oCAAgB,EACjC,YAAY,EACZ;gBACE,KAAK,EAAE,iBAAS,CAAC,OAAO,CAAC;gBACzB,OAAO,EAAE,WAAW;gBACpB,OAAO,EAAE,8BAAkB,CAAC,OAAO,CAAE,CAAC,UAAU;gBAChD,GAAG,EAAE,+BAAc;gBACnB,YAAY,EAAE,MAAM;gBACpB,IAAI,EAAE;oBACJ;wBACE;4BACE,EAAE,EAAE,MAAM;4BACV,UAAU,EAAE,EAAE;4BACd,WAAW;4BACX,aAAa;4BACb,QAAQ,EAAE,OAAO,EAAE,QAAQ;yBAC5B;qBACF;oBACD,IAAA,oCAA6B,GAAE;iBAChC;gBACD,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE;aAClC,EACD,OAAO,EAAE,QAAQ,EACjB,SAAS,EACT,OAAO,EAAE,iBAAiB,CAC3B;YACD,MAAM,EAAE;gBACN,KAAK,EAAE;oBACL,MAAM,EAAE,WAAW;oBACnB,QAAQ,EAAE,aAAa;oBACvB,SAAS,EAAE,IAAI;oBACf,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC;wBAC9C,KAAK;wBACL,MAAM,EAAE,WAAW;qBACpB,CAAC,CAAC;iBACJ;gBACD,KAAK,EAAE;oBACL,MAAM,EAAE,WAAW;oBACnB,QAAQ,EAAE,cAAc;oBACxB,SAAS,EAAE,KAAK;oBAChB,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC;wBAC9C,KAAK;wBACL,MAAM,EAAE,WAAW;qBACpB,CAAC,CAAC;iBACJ;aACF;SACF,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;IACnE,CAAC;AACH,CAAC,CAAC;AAzNW,QAAA,WAAW,eAyNtB"}
1
+ {"version":3,"file":"market.js","sourceRoot":"","sources":["../../../../src/calls/market/market.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
1
  export { prepareLimitOrderWithSetup } from './prepare-limit-order-with-setup';
2
2
  export { prepareMarketOrderWithSetup } from './prepare-market-order-with-setup';
3
+ export { prepareWithdrawFromVault } from './prepare-withdraw-from-vault';
3
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/calls/batch/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,kCAAkC,CAAC;AAC9E,OAAO,EAAE,2BAA2B,EAAE,MAAM,mCAAmC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/calls/batch/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,kCAAkC,CAAC;AAC9E,OAAO,EAAE,2BAA2B,EAAE,MAAM,mCAAmC,CAAC;AAChF,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC"}
@@ -0,0 +1,85 @@
1
+ import { createPublicClient, encodeFunctionData, erc20Abi, http } from 'viem';
2
+ import { CHAIN_MAP } from '../../constants/chain-configs/chain';
3
+ import { CONTRACT_ADDRESSES } from '../../constants/chain-configs/addresses';
4
+ import { getVault } from '../../views/vault';
5
+ import { withdrawFromVault } from '../vault/withdraw-from-vault';
6
+ /**
7
+ * Prepares all necessary transactions for withdrawing from a vault, including approval if needed.
8
+ * Checks if controller has allowance on vault and includes approval call if needed.
9
+ * Returns array of calls that can be batched in a single smart wallet transaction.
10
+ *
11
+ * @param chainId The chain ID.
12
+ * @param userAddress The user address.
13
+ * @param currency The currency/token address to withdraw.
14
+ * @param amount The amount to withdraw (in wei).
15
+ * @param options Optional parameters.
16
+ * @returns Promise resolving to array of batch calls (1 or 2 calls).
17
+ * @example
18
+ * import { prepareWithdrawFromVault } from '@1stdex/first-sdk'
19
+ * import { useSmartWallets } from '@privy-io/react-auth/smart-wallets'
20
+ *
21
+ * const calls = await prepareWithdrawFromVault({
22
+ * chainId: 421614,
23
+ * userAddress: '0xF8c1869Ecd4df136693C45EcE1b67f85B6bDaE69',
24
+ * currency: '0x00bfd44e79fb7f6dd5887a9426c8ef85a0cd23e0',
25
+ * amount: 1000000000000000000n // 1 token (18 decimals)
26
+ * })
27
+ *
28
+ * // Send all calls in one batched transaction
29
+ * const { client } = useSmartWallets()
30
+ * const txHash = await client.sendUserOperation({ calls })
31
+ */
32
+ export const prepareWithdrawFromVault = async ({ chainId, userAddress, currency, amount, options, }) => {
33
+ const controllerAddress = CONTRACT_ADDRESSES[chainId].Controller;
34
+ const publicClient = createPublicClient({
35
+ chain: CHAIN_MAP[chainId],
36
+ transport: options?.rpcUrl ? http(options.rpcUrl) : http(),
37
+ });
38
+ const calls = [];
39
+ // Get vault address for the currency
40
+ const vault = await getVault({
41
+ chainId,
42
+ tokenAddress: currency,
43
+ ...(options?.rpcUrl && { options: { rpcUrl: options.rpcUrl } }),
44
+ });
45
+ // Check if user has approved vault token to controller
46
+ const allowance = await publicClient.readContract({
47
+ address: vault.address,
48
+ abi: erc20Abi,
49
+ functionName: 'allowance',
50
+ args: [userAddress, controllerAddress],
51
+ });
52
+ const maxValue = 2n ** 256n - 1n;
53
+ // Add approval call if allowance is insufficient
54
+ if (allowance < amount) {
55
+ calls.push({
56
+ to: vault.address,
57
+ data: encodeFunctionData({
58
+ abi: erc20Abi,
59
+ functionName: 'approve',
60
+ args: [controllerAddress, maxValue],
61
+ }),
62
+ value: 0n,
63
+ });
64
+ }
65
+ // Build withdraw transaction
66
+ // Skip gas estimation if we have approval call (batch scenario)
67
+ const hasApprovalCall = calls.length > 0;
68
+ const withdrawTx = await withdrawFromVault({
69
+ chainId,
70
+ userAddress,
71
+ currency,
72
+ amount,
73
+ options: {
74
+ ...options,
75
+ skipGasEstimation: hasApprovalCall,
76
+ },
77
+ });
78
+ calls.push({
79
+ to: withdrawTx.to,
80
+ data: withdrawTx.data,
81
+ value: withdrawTx.value,
82
+ });
83
+ return calls;
84
+ };
85
+ //# sourceMappingURL=prepare-withdraw-from-vault.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prepare-withdraw-from-vault.js","sourceRoot":"","sources":["../../../../src/calls/batch/prepare-withdraw-from-vault.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE9E,OAAO,EAAa,SAAS,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAC7E,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAKjE;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,KAAK,EAAE,EAC7C,OAAO,EACP,WAAW,EACX,QAAQ,EACR,MAAM,EACN,OAAO,GAOR,EAAwB,EAAE;IACzB,MAAM,iBAAiB,GAAG,kBAAkB,CAAC,OAAO,CAAE,CAAC,UAAU,CAAC;IAElE,MAAM,YAAY,GAAG,kBAAkB,CAAC;QACtC,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC;QACzB,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;KAC3D,CAAC,CAAC;IAEH,MAAM,KAAK,GAAgB,EAAE,CAAC;IAE9B,qCAAqC;IACrC,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC;QAC3B,OAAO;QACP,YAAY,EAAE,QAAQ;QACtB,GAAG,CAAC,OAAO,EAAE,MAAM,IAAI,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;KAChE,CAAC,CAAC;IAEH,uDAAuD;IACvD,MAAM,SAAS,GAAG,MAAM,YAAY,CAAC,YAAY,CAAC;QAChD,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,GAAG,EAAE,QAAQ;QACb,YAAY,EAAE,WAAW;QACzB,IAAI,EAAE,CAAC,WAAW,EAAE,iBAAiB,CAAC;KACvC,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,CAAC;IAEjC,iDAAiD;IACjD,IAAI,SAAS,GAAG,MAAM,EAAE,CAAC;QACvB,KAAK,CAAC,IAAI,CAAC;YACT,EAAE,EAAE,KAAK,CAAC,OAAO;YACjB,IAAI,EAAE,kBAAkB,CAAC;gBACvB,GAAG,EAAE,QAAQ;gBACb,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,CAAC,iBAAiB,EAAE,QAAQ,CAAC;aACpC,CAAC;YACF,KAAK,EAAE,EAAE;SACV,CAAC,CAAC;IACL,CAAC;IAED,6BAA6B;IAC7B,gEAAgE;IAChE,MAAM,eAAe,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;IAEzC,MAAM,UAAU,GAAG,MAAM,iBAAiB,CAAC;QACzC,OAAO;QACP,WAAW;QACX,QAAQ;QACR,MAAM;QACN,OAAO,EAAE;YACP,GAAG,OAAO;YACV,iBAAiB,EAAE,eAAe;SACJ;KACjC,CAAC,CAAC;IAEH,KAAK,CAAC,IAAI,CAAC;QACT,EAAE,EAAE,UAAU,CAAC,EAAE;QACjB,IAAI,EAAE,UAAU,CAAC,IAAI;QACrB,KAAK,EAAE,UAAU,CAAC,KAAK;KACxB,CAAC,CAAC;IAEH,OAAO,KAAK,CAAC;AACf,CAAC,CAAC"}
@@ -1,12 +1,12 @@
1
1
  export { openMarket } from './market/open';
2
2
  export { placeMarketMakingQuotes } from './market/make';
3
3
  export { limitOrder } from './market/limit';
4
- export { marketOrder, InsufficientLiquidityError } from './market/market';
4
+ export { marketOrder, InsufficientLiquidityError, ZeroTakenAmountError, } from './market/market';
5
5
  export { claimOrder, claimOrders } from './market/claim';
6
6
  export { cancelOrder, cancelOrders } from './market/cancel';
7
7
  export { setApprovalOfOpenOrdersForAll } from './approval/open-order';
8
8
  export { setTokenAllowances } from './approval/token';
9
9
  export { approveAllForMarket } from './approval/market';
10
10
  export { setVault, removeVault, depositToVault, withdrawFromVault, } from './vault';
11
- export { prepareLimitOrderWithSetup, prepareMarketOrderWithSetup, } from './batch';
11
+ export { prepareLimitOrderWithSetup, prepareMarketOrderWithSetup, prepareWithdrawFromVault, } from './batch';
12
12
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/calls/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAC1E,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE5D,OAAO,EAAE,6BAA6B,EAAE,MAAM,uBAAuB,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAExD,OAAO,EACL,QAAQ,EACR,WAAW,EACX,cAAc,EACd,iBAAiB,GAClB,MAAM,SAAS,CAAC;AAEjB,OAAO,EACL,0BAA0B,EAC1B,2BAA2B,GAC5B,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/calls/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EACL,WAAW,EACX,0BAA0B,EAC1B,oBAAoB,GACrB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE5D,OAAO,EAAE,6BAA6B,EAAE,MAAM,uBAAuB,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAExD,OAAO,EACL,QAAQ,EACR,WAAW,EACX,cAAc,EACd,iBAAiB,GAClB,MAAM,SAAS,CAAC;AAEjB,OAAO,EACL,0BAA0B,EAC1B,2BAA2B,EAC3B,wBAAwB,GACzB,MAAM,SAAS,CAAC"}
@@ -29,6 +29,34 @@ export class InsufficientLiquidityError extends Error {
29
29
  Object.setPrototypeOf(this, InsufficientLiquidityError.prototype);
30
30
  }
31
31
  }
32
+ /**
33
+ * Error thrown when the input amount is too low to take any output amount, despite liquidity existing.
34
+ */
35
+ export class ZeroTakenAmountError extends Error {
36
+ constructor(message, inputAmount, inputTokenSymbol, outputTokenSymbol) {
37
+ super(message);
38
+ Object.defineProperty(this, "inputAmount", {
39
+ enumerable: true,
40
+ configurable: true,
41
+ writable: true,
42
+ value: inputAmount
43
+ });
44
+ Object.defineProperty(this, "inputTokenSymbol", {
45
+ enumerable: true,
46
+ configurable: true,
47
+ writable: true,
48
+ value: inputTokenSymbol
49
+ });
50
+ Object.defineProperty(this, "outputTokenSymbol", {
51
+ enumerable: true,
52
+ configurable: true,
53
+ writable: true,
54
+ value: outputTokenSymbol
55
+ });
56
+ this.name = 'ZeroTakenAmountError';
57
+ Object.setPrototypeOf(this, ZeroTakenAmountError.prototype);
58
+ }
59
+ }
32
60
  /**
33
61
  * Executes a market order on the specified chain for trading tokens.
34
62
  * If only `amountIn` is provided, spend the specified amount of input tokens.
@@ -103,7 +131,11 @@ export const marketOrder = async ({ chainId, userAddress, inputToken, outputToke
103
131
  },
104
132
  });
105
133
  if (Number(takenAmount) === 0) {
106
- throw new InsufficientLiquidityError(`Insufficient liquidity: No ${outputCurrency.symbol} available to fulfill this order. The ${isTakingBid ? 'bid' : 'ask'} book is empty.`, outputCurrency.symbol, isTakingBid ? 'bid' : 'ask');
134
+ const relevantBook = isTakingBid ? market.bids : market.asks;
135
+ if (relevantBook.length === 0) {
136
+ throw new InsufficientLiquidityError(`Insufficient liquidity: No ${outputCurrency.symbol} available to fulfill this order. The ${isTakingBid ? 'bid' : 'ask'} book is empty.`, outputCurrency.symbol, isTakingBid ? 'bid' : 'ask');
137
+ }
138
+ throw new ZeroTakenAmountError(`Input amount (${amountIn} ${inputCurrency.symbol}) is too low to take any ${outputCurrency.symbol}. Try increasing the input amount.`, amountIn, inputCurrency.symbol, outputCurrency.symbol);
107
139
  }
108
140
  const baseAmount = parseUnits(amountIn, inputCurrency.decimals);
109
141
  return {
@@ -163,6 +195,10 @@ export const marketOrder = async ({ chainId, userAddress, inputToken, outputToke
163
195
  },
164
196
  });
165
197
  if (Number(spentAmount) === 0 || Number(takenAmount) === 0) {
198
+ const relevantBook = isTakingBid ? market.bids : market.asks;
199
+ if (relevantBook.length === 0) {
200
+ throw new InsufficientLiquidityError(`Insufficient liquidity: No ${outputCurrency.symbol} available to fulfill this order. The ${isTakingBid ? 'bid' : 'ask'} book is empty.`, outputCurrency.symbol, isTakingBid ? 'bid' : 'ask');
201
+ }
166
202
  throw new InsufficientLiquidityError(`Insufficient liquidity: Cannot take ${amountOut} ${outputCurrency.symbol}. The ${isTakingBid ? 'bid' : 'ask'} book has insufficient depth.`, outputCurrency.symbol, isTakingBid ? 'bid' : 'ask');
167
203
  }
168
204
  const quoteAmount = parseUnits(amountOut, outputCurrency.decimals);
@@ -1 +1 @@
1
- {"version":3,"file":"market.js","sourceRoot":"","sources":["../../../../src/calls/market/market.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"market.js","sourceRoot":"","sources":["../../../../src/calls/market/market.ts"],"names":[],"mappings":"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"}