@1stdex/first-sdk 1.0.12 → 1.0.14

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.
Files changed (44) hide show
  1. package/dist/cjs/calls/batch/index.js +3 -1
  2. package/dist/cjs/calls/batch/index.js.map +1 -1
  3. package/dist/cjs/calls/batch/prepare-market-order-with-setup.js +125 -0
  4. package/dist/cjs/calls/batch/prepare-market-order-with-setup.js.map +1 -0
  5. package/dist/cjs/calls/index.js +2 -1
  6. package/dist/cjs/calls/index.js.map +1 -1
  7. package/dist/cjs/calls/market/market.js +2 -2
  8. package/dist/cjs/calls/market/market.js.map +1 -1
  9. package/dist/cjs/constants/abis/core/mirror-token-abi.js +58 -0
  10. package/dist/cjs/constants/abis/core/mirror-token-abi.js.map +1 -0
  11. package/dist/cjs/views/balance.js +64 -2
  12. package/dist/cjs/views/balance.js.map +1 -1
  13. package/dist/cjs/views/index.js +2 -1
  14. package/dist/cjs/views/index.js.map +1 -1
  15. package/dist/esm/calls/batch/index.js +1 -0
  16. package/dist/esm/calls/batch/index.js.map +1 -1
  17. package/dist/esm/calls/batch/prepare-market-order-with-setup.js +157 -0
  18. package/dist/esm/calls/batch/prepare-market-order-with-setup.js.map +1 -0
  19. package/dist/esm/calls/index.js +1 -1
  20. package/dist/esm/calls/index.js.map +1 -1
  21. package/dist/esm/calls/market/market.js +2 -2
  22. package/dist/esm/calls/market/market.js.map +1 -1
  23. package/dist/esm/constants/abis/core/mirror-token-abi.js +55 -0
  24. package/dist/esm/constants/abis/core/mirror-token-abi.js.map +1 -0
  25. package/dist/esm/views/balance.js +91 -2
  26. package/dist/esm/views/balance.js.map +1 -1
  27. package/dist/esm/views/index.js +1 -1
  28. package/dist/esm/views/index.js.map +1 -1
  29. package/dist/tsconfig.build.tsbuildinfo +1 -1
  30. package/dist/types/calls/batch/index.d.ts +1 -0
  31. package/dist/types/calls/batch/index.d.ts.map +1 -1
  32. package/dist/types/calls/batch/prepare-market-order-with-setup.d.ts +48 -0
  33. package/dist/types/calls/batch/prepare-market-order-with-setup.d.ts.map +1 -0
  34. package/dist/types/calls/index.d.ts +1 -1
  35. package/dist/types/calls/index.d.ts.map +1 -1
  36. package/dist/types/calls/market/market.d.ts +1 -0
  37. package/dist/types/calls/market/market.d.ts.map +1 -1
  38. package/dist/types/constants/abis/core/mirror-token-abi.d.ts +80 -0
  39. package/dist/types/constants/abis/core/mirror-token-abi.d.ts.map +1 -0
  40. package/dist/types/views/balance.d.ts +30 -0
  41. package/dist/types/views/balance.d.ts.map +1 -1
  42. package/dist/types/views/index.d.ts +1 -1
  43. package/dist/types/views/index.d.ts.map +1 -1
  44. package/package.json +1 -1
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.prepareOrderWithSetup = void 0;
3
+ exports.prepareMarketOrderWithSetup = exports.prepareOrderWithSetup = void 0;
4
4
  var prepare_order_with_setup_1 = require("./prepare-order-with-setup");
5
5
  Object.defineProperty(exports, "prepareOrderWithSetup", { enumerable: true, get: function () { return prepare_order_with_setup_1.prepareOrderWithSetup; } });
6
+ var prepare_market_order_with_setup_1 = require("./prepare-market-order-with-setup");
7
+ Object.defineProperty(exports, "prepareMarketOrderWithSetup", { enumerable: true, get: function () { return prepare_market_order_with_setup_1.prepareMarketOrderWithSetup; } });
6
8
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/calls/batch/index.ts"],"names":[],"mappings":";;;AAAA,uEAAmE;AAA1D,iIAAA,qBAAqB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/calls/batch/index.ts"],"names":[],"mappings":";;;AAAA,uEAAmE;AAA1D,iIAAA,qBAAqB,OAAA;AAC9B,qFAAgF;AAAvE,8IAAA,2BAA2B,OAAA"}
@@ -0,0 +1,125 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.prepareMarketOrderWithSetup = 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 book_manager_abi_1 = require("../../constants/abis/core/book-manager-abi");
8
+ const setup_1 = require("../../views/setup");
9
+ const vault_1 = require("../../views/vault");
10
+ const apis_1 = require("../../entities/currency/apis");
11
+ const deposit_to_vault_1 = require("../vault/deposit-to-vault");
12
+ const market_1 = require("../market/market");
13
+ const prepareMarketOrderWithSetup = async ({ chainId, userAddress, inputToken, outputToken, amountIn, amountOut, options, }) => {
14
+ if (!amountIn && !amountOut) {
15
+ throw new Error('Either amountIn or amountOut must be provided');
16
+ }
17
+ const publicClient = (0, viem_1.createPublicClient)({
18
+ chain: chain_1.CHAIN_MAP[chainId],
19
+ transport: options?.rpcUrl ? (0, viem_1.http)(options.rpcUrl) : (0, viem_1.http)(),
20
+ });
21
+ const controllerAddress = addresses_1.CONTRACT_ADDRESSES[chainId].Controller;
22
+ const bookManagerAddress = addresses_1.CONTRACT_ADDRESSES[chainId].BookManager;
23
+ const calls = [];
24
+ const requiredAmount = amountIn || '0';
25
+ const [status, currency, vault] = await Promise.all([
26
+ (0, setup_1.getOrderSetupStatus)({
27
+ chainId,
28
+ userAddress,
29
+ tokenAddress: inputToken,
30
+ requiredAmount,
31
+ ...(options?.rpcUrl && { options: { rpcUrl: options.rpcUrl } }),
32
+ }),
33
+ (0, apis_1.fetchCurrency)(publicClient, chainId, inputToken),
34
+ (0, vault_1.getVault)({
35
+ chainId,
36
+ tokenAddress: inputToken,
37
+ ...(options?.rpcUrl && { options: { rpcUrl: options.rpcUrl } }),
38
+ }),
39
+ ]);
40
+ const maxValue = 2n ** 256n - 1n;
41
+ if (!status.tokenAllowances.tokenToController) {
42
+ calls.push({
43
+ to: inputToken,
44
+ data: (0, viem_1.encodeFunctionData)({
45
+ abi: viem_1.erc20Abi,
46
+ functionName: 'approve',
47
+ args: [controllerAddress, maxValue],
48
+ }),
49
+ value: 0n,
50
+ });
51
+ }
52
+ if (!status.tokenAllowances.vaultToController) {
53
+ calls.push({
54
+ to: vault.address,
55
+ data: (0, viem_1.encodeFunctionData)({
56
+ abi: viem_1.erc20Abi,
57
+ functionName: 'approve',
58
+ args: [controllerAddress, maxValue],
59
+ }),
60
+ value: 0n,
61
+ });
62
+ }
63
+ if (!status.tokenAllowances.vaultToBookManager) {
64
+ calls.push({
65
+ to: vault.address,
66
+ data: (0, viem_1.encodeFunctionData)({
67
+ abi: viem_1.erc20Abi,
68
+ functionName: 'approve',
69
+ args: [bookManagerAddress, maxValue],
70
+ }),
71
+ value: 0n,
72
+ });
73
+ }
74
+ if (!status.operatorApproved) {
75
+ calls.push({
76
+ to: bookManagerAddress,
77
+ data: (0, viem_1.encodeFunctionData)({
78
+ abi: book_manager_abi_1.BOOK_MANAGER_ABI,
79
+ functionName: 'setOrderOperator',
80
+ args: [controllerAddress, true],
81
+ }),
82
+ value: 0n,
83
+ });
84
+ }
85
+ if (status.needsDeposit && amountIn) {
86
+ const depositAmount = (0, viem_1.parseUnits)(amountIn, currency.decimals);
87
+ const depositTx = await (0, deposit_to_vault_1.depositToVault)({
88
+ chainId,
89
+ userAddress,
90
+ currency: inputToken,
91
+ amount: depositAmount,
92
+ ...(options?.rpcUrl && {
93
+ options: { rpcUrl: options.rpcUrl, skipGasEstimation: true },
94
+ }),
95
+ ...(!options?.rpcUrl && { options: { skipGasEstimation: true } }),
96
+ });
97
+ calls.push({
98
+ to: depositTx.to,
99
+ data: depositTx.data,
100
+ value: depositTx.value,
101
+ });
102
+ }
103
+ const hasSetupCalls = calls.length > 0;
104
+ const { transaction } = await (0, market_1.marketOrder)({
105
+ chainId,
106
+ userAddress,
107
+ inputToken,
108
+ outputToken,
109
+ ...(amountIn && { amountIn }),
110
+ ...(amountOut && { amountOut }),
111
+ options: {
112
+ ...options,
113
+ useSubgraph: false,
114
+ skipGasEstimation: hasSetupCalls,
115
+ },
116
+ });
117
+ calls.push({
118
+ to: transaction.to,
119
+ data: transaction.data,
120
+ value: transaction.value,
121
+ });
122
+ return calls;
123
+ };
124
+ exports.prepareMarketOrderWithSetup = prepareMarketOrderWithSetup;
125
+ //# sourceMappingURL=prepare-market-order-with-setup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prepare-market-order-with-setup.js","sourceRoot":"","sources":["../../../../src/calls/batch/prepare-market-order-with-setup.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.prepareOrderWithSetup = exports.withdrawFromVault = exports.depositToVault = exports.removeVault = exports.setVault = exports.approveControllerAsOrderOperator = exports.setOrderOperatorApproval = exports.approveAllForMarket = exports.setTokenAllowances = exports.setApprovalOfOpenOrdersForAll = exports.cancelOrders = exports.cancelOrder = exports.claimOrders = exports.claimOrder = exports.marketOrder = exports.limitOrder = exports.placeMarketMakingQuotes = exports.openMarket = void 0;
3
+ exports.prepareMarketOrderWithSetup = exports.prepareOrderWithSetup = exports.withdrawFromVault = exports.depositToVault = exports.removeVault = exports.setVault = exports.approveControllerAsOrderOperator = exports.setOrderOperatorApproval = exports.approveAllForMarket = exports.setTokenAllowances = exports.setApprovalOfOpenOrdersForAll = exports.cancelOrders = exports.cancelOrder = exports.claimOrders = exports.claimOrder = 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");
@@ -31,4 +31,5 @@ Object.defineProperty(exports, "depositToVault", { enumerable: true, get: functi
31
31
  Object.defineProperty(exports, "withdrawFromVault", { enumerable: true, get: function () { return vault_1.withdrawFromVault; } });
32
32
  var batch_1 = require("./batch");
33
33
  Object.defineProperty(exports, "prepareOrderWithSetup", { enumerable: true, get: function () { return batch_1.prepareOrderWithSetup; } });
34
+ Object.defineProperty(exports, "prepareMarketOrderWithSetup", { enumerable: true, get: function () { return batch_1.prepareMarketOrderWithSetup; } });
34
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,0CAA8C;AAArC,qGAAA,WAAW,OAAA;AACpB,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;AAC5B,0CAG0B;AAFxB,iHAAA,wBAAwB,OAAA;AACxB,yHAAA,gCAAgC,OAAA;AAGlC,iCAKiB;AAJf,iGAAA,QAAQ,OAAA;AACR,oGAAA,WAAW,OAAA;AACX,uGAAA,cAAc,OAAA;AACd,0GAAA,iBAAiB,OAAA;AAGnB,iCAAgD;AAAvC,8GAAA,qBAAqB,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,0CAA8C;AAArC,qGAAA,WAAW,OAAA;AACpB,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;AAC5B,0CAG0B;AAFxB,iHAAA,wBAAwB,OAAA;AACxB,yHAAA,gCAAgC,OAAA;AAGlC,iCAKiB;AAJf,iGAAA,QAAQ,OAAA;AACR,oGAAA,WAAW,OAAA;AACX,uGAAA,cAAc,OAAA;AACd,0GAAA,iBAAiB,OAAA;AAGnB,iCAA6E;AAApE,8GAAA,qBAAqB,OAAA;AAAE,oHAAA,2BAA2B,OAAA"}
@@ -76,7 +76,7 @@ const marketOrder = async ({ chainId, userAddress, inputToken, outputToken, amou
76
76
  (0, time_1.getDeadlineTimestampInSeconds)(),
77
77
  ],
78
78
  value: isETH ? baseAmount : 0n,
79
- }, options?.gasLimit),
79
+ }, options?.gasLimit, undefined, options?.skipGasEstimation),
80
80
  result: {
81
81
  spent: {
82
82
  amount: spentAmount,
@@ -140,7 +140,7 @@ const marketOrder = async ({ chainId, userAddress, inputToken, outputToken, amou
140
140
  (0, time_1.getDeadlineTimestampInSeconds)(),
141
141
  ],
142
142
  value: isETH ? maxBaseAmount : 0n,
143
- }, options?.gasLimit),
143
+ }, options?.gasLimit, undefined, options?.skipGasEstimation),
144
144
  result: {
145
145
  spent: {
146
146
  amount: spentAmount,
@@ -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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"}
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MIRROR_TOKEN_ABI = void 0;
4
+ exports.MIRROR_TOKEN_ABI = [
5
+ {
6
+ inputs: [],
7
+ name: 'realToken',
8
+ outputs: [{ internalType: 'address', name: '', type: 'address' }],
9
+ stateMutability: 'view',
10
+ type: 'function',
11
+ },
12
+ {
13
+ inputs: [
14
+ { internalType: 'address[]', name: 'recipients', type: 'address[]' },
15
+ { internalType: 'uint256[]', name: 'amounts', type: 'uint256[]' },
16
+ ],
17
+ name: 'addAllocations',
18
+ outputs: [],
19
+ stateMutability: 'nonpayable',
20
+ type: 'function',
21
+ },
22
+ {
23
+ inputs: [],
24
+ name: 'name',
25
+ outputs: [{ internalType: 'string', name: '', type: 'string' }],
26
+ stateMutability: 'view',
27
+ type: 'function',
28
+ },
29
+ {
30
+ inputs: [],
31
+ name: 'symbol',
32
+ outputs: [{ internalType: 'string', name: '', type: 'string' }],
33
+ stateMutability: 'view',
34
+ type: 'function',
35
+ },
36
+ {
37
+ inputs: [],
38
+ name: 'decimals',
39
+ outputs: [{ internalType: 'uint8', name: '', type: 'uint8' }],
40
+ stateMutability: 'view',
41
+ type: 'function',
42
+ },
43
+ {
44
+ inputs: [],
45
+ name: 'totalSupply',
46
+ outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],
47
+ stateMutability: 'view',
48
+ type: 'function',
49
+ },
50
+ {
51
+ inputs: [{ internalType: 'address', name: 'account', type: 'address' }],
52
+ name: 'balanceOf',
53
+ outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],
54
+ stateMutability: 'view',
55
+ type: 'function',
56
+ },
57
+ ];
58
+ //# sourceMappingURL=mirror-token-abi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mirror-token-abi.js","sourceRoot":"","sources":["../../../../../src/constants/abis/core/mirror-token-abi.ts"],"names":[],"mappings":";;;AAAa,QAAA,gBAAgB,GAAG;IAC9B;QACE,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACjE,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN,EAAE,YAAY,EAAE,WAAW,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,WAAW,EAAE;YACpE,EAAE,YAAY,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE;SAClE;QACD,IAAI,EAAE,gBAAgB;QACtB,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,CAAC,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;QAC/D,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,CAAC,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;QAC/D,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,CAAC,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;QAC7D,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,aAAa;QACnB,OAAO,EAAE,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACjE,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACvE,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACjE,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;CACO,CAAC"}
@@ -1,11 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getTradingBalance = void 0;
3
+ exports.getPortfolioBalance = exports.getTradingBalance = void 0;
4
4
  const viem_1 = require("viem");
5
5
  const chain_1 = require("../constants/chain-configs/chain");
6
- const vault_1 = require("./vault");
6
+ const currency_1 = require("../constants/chain-configs/currency");
7
7
  const dex_vault_abi_1 = require("../constants/abis/core/dex-vault-abi");
8
+ const mirror_token_abi_1 = require("../constants/abis/core/mirror-token-abi");
8
9
  const apis_1 = require("../entities/currency/apis");
10
+ const vault_1 = require("./vault");
9
11
  const getTradingBalance = async ({ chainId, userAddress, tokenAddress, options, }) => {
10
12
  const publicClient = (0, viem_1.createPublicClient)({
11
13
  chain: chain_1.CHAIN_MAP[chainId],
@@ -52,4 +54,64 @@ const getTradingBalance = async ({ chainId, userAddress, tokenAddress, options,
52
54
  };
53
55
  };
54
56
  exports.getTradingBalance = getTradingBalance;
57
+ const getPortfolioBalance = async ({ chainId, userAddress, tokenAddress, options, }) => {
58
+ const publicClient = (0, viem_1.createPublicClient)({
59
+ chain: chain_1.CHAIN_MAP[chainId],
60
+ transport: options?.rpcUrl ? (0, viem_1.http)(options.rpcUrl) : (0, viem_1.http)(),
61
+ });
62
+ const [currency, vault] = await Promise.all([
63
+ (0, apis_1.fetchCurrency)(publicClient, chainId, tokenAddress),
64
+ (0, vault_1.getVault)({ chainId, tokenAddress, ...(options && { options }) }),
65
+ ]);
66
+ const isUSDC = currency_1.STABLE_COINS[chainId]?.some((stableCoin) => (0, viem_1.isAddressEqual)(stableCoin.address, tokenAddress));
67
+ const results = await publicClient.multicall({
68
+ contracts: [
69
+ {
70
+ address: tokenAddress,
71
+ abi: viem_1.erc20Abi,
72
+ functionName: 'balanceOf',
73
+ args: [userAddress],
74
+ },
75
+ {
76
+ address: vault.address,
77
+ abi: dex_vault_abi_1.DEX_VAULT_ABI,
78
+ functionName: 'maxWithdraw',
79
+ args: [userAddress],
80
+ },
81
+ ],
82
+ });
83
+ const walletBalanceRaw = results[0].result || 0n;
84
+ const vaultAvailableRaw = results[1].result || 0n;
85
+ const totalBalance = (0, viem_1.formatUnits)(walletBalanceRaw + vaultAvailableRaw, currency.decimals);
86
+ let totalRealTokenBalance = undefined;
87
+ if (!isUSDC) {
88
+ try {
89
+ const realTokenAddress = await publicClient.readContract({
90
+ address: tokenAddress,
91
+ abi: mirror_token_abi_1.MIRROR_TOKEN_ABI,
92
+ functionName: 'realToken',
93
+ });
94
+ const realTokenBalanceRaw = await publicClient.readContract({
95
+ address: realTokenAddress,
96
+ abi: viem_1.erc20Abi,
97
+ functionName: 'balanceOf',
98
+ args: [userAddress],
99
+ });
100
+ const realTokenCurrency = await (0, apis_1.fetchCurrency)(publicClient, chainId, realTokenAddress);
101
+ const realTokenBalance = (0, viem_1.formatUnits)(realTokenBalanceRaw, realTokenCurrency.decimals);
102
+ totalRealTokenBalance = {
103
+ currency: realTokenCurrency,
104
+ value: realTokenBalance,
105
+ };
106
+ }
107
+ catch (error) {
108
+ console.warn(`Failed to get real token balance for ${tokenAddress}:`, error);
109
+ }
110
+ }
111
+ return {
112
+ totalBalance: { currency, value: totalBalance },
113
+ totalRealTokenBalance,
114
+ };
115
+ };
116
+ exports.getPortfolioBalance = getPortfolioBalance;
55
117
  //# sourceMappingURL=balance.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"balance.js","sourceRoot":"","sources":["../../../src/views/balance.ts"],"names":[],"mappings":";;;AAAA,+BAAuE;AAEvE,4DAAwE;AACxE,mCAAmC;AACnC,wEAAqE;AAErE,oDAA0D;AAqBnD,MAAM,iBAAiB,GAAG,KAAK,EAAE,EACtC,OAAO,EACP,WAAW,EACX,YAAY,EACZ,OAAO,GAMR,EAKE,EAAE;IACH,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;IAGH,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAC1C,IAAA,oBAAa,EAAC,YAAY,EAAE,OAAO,EAAE,YAAY,CAAC;QAClD,IAAA,gBAAQ,EAAC,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,CAAC,OAAO,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;KACjE,CAAC,CAAC;IAGH,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,SAAS,CAAC;QAC3C,SAAS,EAAE;YACT;gBACE,OAAO,EAAE,YAAY;gBACrB,GAAG,EAAE,eAAQ;gBACb,YAAY,EAAE,WAAW;gBACzB,IAAI,EAAE,CAAC,WAAW,CAAC;aACpB;YACD;gBACE,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,GAAG,EAAE,6BAAa;gBAClB,YAAY,EAAE,aAAa;gBAC3B,IAAI,EAAE,CAAC,WAAW,CAAC;aACpB;YACD;gBACE,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,GAAG,EAAE,6BAAa;gBAClB,YAAY,EAAE,iBAAiB;gBAC/B,IAAI,EAAE,CAAC,WAAW,CAAC;aACpB;SACF;KACF,CAAC,CAAC;IAEH,MAAM,gBAAgB,GAAI,OAAO,CAAC,CAAC,CAAC,CAAC,MAAiB,IAAI,EAAE,CAAC;IAC7D,MAAM,iBAAiB,GAAI,OAAO,CAAC,CAAC,CAAC,CAAC,MAAiB,IAAI,EAAE,CAAC;IAC9D,MAAM,cAAc,GAAI,OAAO,CAAC,CAAC,CAAC,CAAC,MAAiB,IAAI,EAAE,CAAC;IAG3D,MAAM,aAAa,GAAG,IAAA,kBAAW,EAAC,gBAAgB,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACvE,MAAM,cAAc,GAAG,IAAA,kBAAW,EAAC,iBAAiB,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACzE,MAAM,WAAW,GAAG,IAAA,kBAAW,EAAC,cAAc,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACnE,MAAM,cAAc,GAAG,IAAA,kBAAW,EAChC,gBAAgB,GAAG,iBAAiB,EACpC,QAAQ,CAAC,QAAQ,CAClB,CAAC;IAEF,OAAO;QACL,aAAa,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,aAAa,EAAE;QACjD,cAAc,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,cAAc,EAAE;QACnD,WAAW,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE;QAC7C,cAAc,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,cAAc,EAAE;KACpD,CAAC;AACJ,CAAC,CAAC;AAtEW,QAAA,iBAAiB,qBAsE5B"}
1
+ {"version":3,"file":"balance.js","sourceRoot":"","sources":["../../../src/views/balance.ts"],"names":[],"mappings":";;;AAAA,+BAMc;AAEd,4DAAwE;AACxE,kEAAmE;AACnE,wEAAqE;AACrE,8EAA2E;AAE3E,oDAA0D;AAE1D,mCAAmC;AAqB5B,MAAM,iBAAiB,GAAG,KAAK,EAAE,EACtC,OAAO,EACP,WAAW,EACX,YAAY,EACZ,OAAO,GAMR,EAKE,EAAE;IACH,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;IAGH,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAC1C,IAAA,oBAAa,EAAC,YAAY,EAAE,OAAO,EAAE,YAAY,CAAC;QAClD,IAAA,gBAAQ,EAAC,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,CAAC,OAAO,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;KACjE,CAAC,CAAC;IAGH,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,SAAS,CAAC;QAC3C,SAAS,EAAE;YACT;gBACE,OAAO,EAAE,YAAY;gBACrB,GAAG,EAAE,eAAQ;gBACb,YAAY,EAAE,WAAW;gBACzB,IAAI,EAAE,CAAC,WAAW,CAAC;aACpB;YACD;gBACE,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,GAAG,EAAE,6BAAa;gBAClB,YAAY,EAAE,aAAa;gBAC3B,IAAI,EAAE,CAAC,WAAW,CAAC;aACpB;YACD;gBACE,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,GAAG,EAAE,6BAAa;gBAClB,YAAY,EAAE,iBAAiB;gBAC/B,IAAI,EAAE,CAAC,WAAW,CAAC;aACpB;SACF;KACF,CAAC,CAAC;IAEH,MAAM,gBAAgB,GAAI,OAAO,CAAC,CAAC,CAAC,CAAC,MAAiB,IAAI,EAAE,CAAC;IAC7D,MAAM,iBAAiB,GAAI,OAAO,CAAC,CAAC,CAAC,CAAC,MAAiB,IAAI,EAAE,CAAC;IAC9D,MAAM,cAAc,GAAI,OAAO,CAAC,CAAC,CAAC,CAAC,MAAiB,IAAI,EAAE,CAAC;IAG3D,MAAM,aAAa,GAAG,IAAA,kBAAW,EAAC,gBAAgB,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACvE,MAAM,cAAc,GAAG,IAAA,kBAAW,EAAC,iBAAiB,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACzE,MAAM,WAAW,GAAG,IAAA,kBAAW,EAAC,cAAc,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACnE,MAAM,cAAc,GAAG,IAAA,kBAAW,EAChC,gBAAgB,GAAG,iBAAiB,EACpC,QAAQ,CAAC,QAAQ,CAClB,CAAC;IAEF,OAAO;QACL,aAAa,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,aAAa,EAAE;QACjD,cAAc,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,cAAc,EAAE;QACnD,WAAW,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE;QAC7C,cAAc,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,cAAc,EAAE;KACpD,CAAC;AACJ,CAAC,CAAC;AAtEW,QAAA,iBAAiB,qBAsE5B;AAqBK,MAAM,mBAAmB,GAAG,KAAK,EAAE,EACxC,OAAO,EACP,WAAW,EACX,YAAY,EACZ,OAAO,GAMR,EAGE,EAAE;IACH,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;IAGH,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAC1C,IAAA,oBAAa,EAAC,YAAY,EAAE,OAAO,EAAE,YAAY,CAAC;QAClD,IAAA,gBAAQ,EAAC,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,CAAC,OAAO,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;KACjE,CAAC,CAAC;IAGH,MAAM,MAAM,GAAG,uBAAY,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE,CACxD,IAAA,qBAAc,EAAC,UAAU,CAAC,OAAO,EAAE,YAAY,CAAC,CACjD,CAAC;IAGF,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,SAAS,CAAC;QAC3C,SAAS,EAAE;YACT;gBACE,OAAO,EAAE,YAAY;gBACrB,GAAG,EAAE,eAAQ;gBACb,YAAY,EAAE,WAAW;gBACzB,IAAI,EAAE,CAAC,WAAW,CAAC;aACpB;YACD;gBACE,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,GAAG,EAAE,6BAAa;gBAClB,YAAY,EAAE,aAAa;gBAC3B,IAAI,EAAE,CAAC,WAAW,CAAC;aACpB;SACF;KACF,CAAC,CAAC;IAEH,MAAM,gBAAgB,GAAI,OAAO,CAAC,CAAC,CAAC,CAAC,MAAiB,IAAI,EAAE,CAAC;IAC7D,MAAM,iBAAiB,GAAI,OAAO,CAAC,CAAC,CAAC,CAAC,MAAiB,IAAI,EAAE,CAAC;IAG9D,MAAM,YAAY,GAAG,IAAA,kBAAW,EAC9B,gBAAgB,GAAG,iBAAiB,EACpC,QAAQ,CAAC,QAAQ,CAClB,CAAC;IAEF,IAAI,qBAAqB,GAA+B,SAAS,CAAC;IAGlE,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,IAAI,CAAC;YAEH,MAAM,gBAAgB,GAAG,MAAM,YAAY,CAAC,YAAY,CAAC;gBACvD,OAAO,EAAE,YAAY;gBACrB,GAAG,EAAE,mCAAgB;gBACrB,YAAY,EAAE,WAAW;aAC1B,CAAC,CAAC;YAGH,MAAM,mBAAmB,GAAG,MAAM,YAAY,CAAC,YAAY,CAAC;gBAC1D,OAAO,EAAE,gBAAgB;gBACzB,GAAG,EAAE,eAAQ;gBACb,YAAY,EAAE,WAAW;gBACzB,IAAI,EAAE,CAAC,WAAW,CAAC;aACpB,CAAC,CAAC;YAGH,MAAM,iBAAiB,GAAG,MAAM,IAAA,oBAAa,EAC3C,YAAY,EACZ,OAAO,EACP,gBAAgB,CACjB,CAAC;YAEF,MAAM,gBAAgB,GAAG,IAAA,kBAAW,EAClC,mBAAmB,EACnB,iBAAiB,CAAC,QAAQ,CAC3B,CAAC;YAEF,qBAAqB,GAAG;gBACtB,QAAQ,EAAE,iBAAiB;gBAC3B,KAAK,EAAE,gBAAgB;aACxB,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAEf,OAAO,CAAC,IAAI,CACV,wCAAwC,YAAY,GAAG,EACvD,KAAK,CACN,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO;QACL,YAAY,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,YAAY,EAAE;QAC/C,qBAAqB;KACtB,CAAC;AACJ,CAAC,CAAC;AA1GW,QAAA,mBAAmB,uBA0G9B"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getOrderSetupStatus = exports.needsVaultDeposit = exports.checkTokenAllowances = exports.isOrderOperatorApproved = exports.getTradingBalance = exports.getVault = exports.getReferralSummary = exports.getUserNativeVolume = exports.getTopUsersByNativeVolume = exports.getUserDailyVolumes = exports.getProtocolAnalytics = exports.getLatestPrice = exports.getDailyClosePriceMap = exports.getLatestPriceMap = exports.getStableCurrencies = exports.getCurrencies = exports.getContractAddresses = exports.getSubgraphBlock = exports.getSubgraphBlockNumber = exports.getSubgraphEndpoint = exports.getOpenOrders = exports.getOpenOrder = exports.getPriceNeighborhood = exports.parseMakeOrderIdsFromReceipt = exports.getQuoteToken = exports.getMarketSnapshot = exports.getMarketSnapshots = exports.getExpectedInput = exports.getExpectedOutput = exports.getLatestChartLog = exports.getChartLogs = exports.getMarket = void 0;
3
+ exports.getOrderSetupStatus = exports.needsVaultDeposit = exports.checkTokenAllowances = exports.isOrderOperatorApproved = exports.getPortfolioBalance = exports.getTradingBalance = exports.getVault = exports.getReferralSummary = exports.getUserNativeVolume = exports.getTopUsersByNativeVolume = exports.getUserDailyVolumes = exports.getProtocolAnalytics = exports.getLatestPrice = exports.getDailyClosePriceMap = exports.getLatestPriceMap = exports.getStableCurrencies = exports.getCurrencies = exports.getContractAddresses = exports.getSubgraphBlock = exports.getSubgraphBlockNumber = exports.getSubgraphEndpoint = exports.getOpenOrders = exports.getOpenOrder = exports.getPriceNeighborhood = exports.parseMakeOrderIdsFromReceipt = exports.getQuoteToken = exports.getMarketSnapshot = exports.getMarketSnapshots = exports.getExpectedInput = exports.getExpectedOutput = exports.getLatestChartLog = exports.getChartLogs = exports.getMarket = void 0;
4
4
  var market_1 = require("./market");
5
5
  Object.defineProperty(exports, "getMarket", { enumerable: true, get: function () { return market_1.getMarket; } });
6
6
  Object.defineProperty(exports, "getChartLogs", { enumerable: true, get: function () { return market_1.getChartLogs; } });
@@ -38,6 +38,7 @@ var vault_1 = require("./vault");
38
38
  Object.defineProperty(exports, "getVault", { enumerable: true, get: function () { return vault_1.getVault; } });
39
39
  var balance_1 = require("./balance");
40
40
  Object.defineProperty(exports, "getTradingBalance", { enumerable: true, get: function () { return balance_1.getTradingBalance; } });
41
+ Object.defineProperty(exports, "getPortfolioBalance", { enumerable: true, get: function () { return balance_1.getPortfolioBalance; } });
41
42
  var setup_1 = require("./setup");
42
43
  Object.defineProperty(exports, "isOrderOperatorApproved", { enumerable: true, get: function () { return setup_1.isOrderOperatorApproved; } });
43
44
  Object.defineProperty(exports, "checkTokenAllowances", { enumerable: true, get: function () { return setup_1.checkTokenAllowances; } });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/views/index.ts"],"names":[],"mappings":";;;AAAA,mCAUkB;AAThB,mGAAA,SAAS,OAAA;AACT,sGAAA,YAAY,OAAA;AACZ,2GAAA,iBAAiB,OAAA;AACjB,2GAAA,iBAAiB,OAAA;AACjB,0GAAA,gBAAgB,OAAA;AAChB,4GAAA,kBAAkB,OAAA;AAClB,2GAAA,iBAAiB,OAAA;AACjB,uGAAA,aAAa,OAAA;AACb,sHAAA,4BAA4B,OAAA;AAG9B,+BAA8C;AAArC,4GAAA,oBAAoB,OAAA;AAC7B,2CAA2D;AAAlD,0GAAA,YAAY,OAAA;AAAE,2GAAA,aAAa,OAAA;AACpC,uCAIoB;AAHlB,+GAAA,mBAAmB,OAAA;AACnB,kHAAA,sBAAsB,OAAA;AACtB,4GAAA,gBAAgB,OAAA;AAElB,qCAAiD;AAAxC,+GAAA,oBAAoB,OAAA;AAC7B,uCAMoB;AALlB,yGAAA,aAAa,OAAA;AACb,+GAAA,mBAAmB,OAAA;AACnB,6GAAA,iBAAiB,OAAA;AACjB,iHAAA,qBAAqB,OAAA;AACrB,0GAAA,cAAc,OAAA;AAEhB,yCAMqB;AALnB,iHAAA,oBAAoB,OAAA;AACpB,gHAAA,mBAAmB,OAAA;AACnB,sHAAA,yBAAyB,OAAA;AACzB,gHAAA,mBAAmB,OAAA;AACnB,+GAAA,kBAAkB,OAAA;AAEpB,iCAAmC;AAA1B,iGAAA,QAAQ,OAAA;AACjB,qCAA8C;AAArC,4GAAA,iBAAiB,OAAA;AAC1B,iCAKiB;AAJf,gHAAA,uBAAuB,OAAA;AACvB,6GAAA,oBAAoB,OAAA;AACpB,0GAAA,iBAAiB,OAAA;AACjB,4GAAA,mBAAmB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/views/index.ts"],"names":[],"mappings":";;;AAAA,mCAUkB;AAThB,mGAAA,SAAS,OAAA;AACT,sGAAA,YAAY,OAAA;AACZ,2GAAA,iBAAiB,OAAA;AACjB,2GAAA,iBAAiB,OAAA;AACjB,0GAAA,gBAAgB,OAAA;AAChB,4GAAA,kBAAkB,OAAA;AAClB,2GAAA,iBAAiB,OAAA;AACjB,uGAAA,aAAa,OAAA;AACb,sHAAA,4BAA4B,OAAA;AAG9B,+BAA8C;AAArC,4GAAA,oBAAoB,OAAA;AAC7B,2CAA2D;AAAlD,0GAAA,YAAY,OAAA;AAAE,2GAAA,aAAa,OAAA;AACpC,uCAIoB;AAHlB,+GAAA,mBAAmB,OAAA;AACnB,kHAAA,sBAAsB,OAAA;AACtB,4GAAA,gBAAgB,OAAA;AAElB,qCAAiD;AAAxC,+GAAA,oBAAoB,OAAA;AAC7B,uCAMoB;AALlB,yGAAA,aAAa,OAAA;AACb,+GAAA,mBAAmB,OAAA;AACnB,6GAAA,iBAAiB,OAAA;AACjB,iHAAA,qBAAqB,OAAA;AACrB,0GAAA,cAAc,OAAA;AAEhB,yCAMqB;AALnB,iHAAA,oBAAoB,OAAA;AACpB,gHAAA,mBAAmB,OAAA;AACnB,sHAAA,yBAAyB,OAAA;AACzB,gHAAA,mBAAmB,OAAA;AACnB,+GAAA,kBAAkB,OAAA;AAEpB,iCAAmC;AAA1B,iGAAA,QAAQ,OAAA;AACjB,qCAAmE;AAA1D,4GAAA,iBAAiB,OAAA;AAAE,8GAAA,mBAAmB,OAAA;AAC/C,iCAKiB;AAJf,gHAAA,uBAAuB,OAAA;AACvB,6GAAA,oBAAoB,OAAA;AACpB,0GAAA,iBAAiB,OAAA;AACjB,4GAAA,mBAAmB,OAAA"}
@@ -1,2 +1,3 @@
1
1
  export { prepareOrderWithSetup } from './prepare-order-with-setup';
2
+ export { prepareMarketOrderWithSetup } from './prepare-market-order-with-setup';
2
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/calls/batch/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/calls/batch/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,2BAA2B,EAAE,MAAM,mCAAmC,CAAC"}
@@ -0,0 +1,157 @@
1
+ import { createPublicClient, http, encodeFunctionData, erc20Abi, parseUnits, } from 'viem';
2
+ import { CHAIN_MAP } from '../../constants/chain-configs/chain';
3
+ import { CONTRACT_ADDRESSES } from '../../constants/chain-configs/addresses';
4
+ import { BOOK_MANAGER_ABI } from '../../constants/abis/core/book-manager-abi';
5
+ import { getOrderSetupStatus } from '../../views/setup';
6
+ import { getVault } from '../../views/vault';
7
+ import { fetchCurrency } from '../../entities/currency/apis';
8
+ import { depositToVault } from '../vault/deposit-to-vault';
9
+ import { marketOrder } from '../market/market';
10
+ /**
11
+ * Prepares all necessary transactions for placing a market order, including setup if needed.
12
+ * Checks current state and only includes transactions for missing setup steps.
13
+ * Returns array of calls that can be batched in a single smart wallet transaction.
14
+ *
15
+ * @param chainId The chain ID.
16
+ * @param userAddress The user address.
17
+ * @param inputToken The input token address.
18
+ * @param outputToken The output token address.
19
+ * @param amountIn The amount to spend (decimal-adjusted string).
20
+ * @param amountOut The amount to receive (decimal-adjusted string).
21
+ * @param options Optional parameters including slippage.
22
+ * @returns Promise resolving to array of batch calls.
23
+ * @example
24
+ * import { prepareMarketOrderWithSetup } from '@clober/v2-sdk'
25
+ * import { useSmartWallets } from '@privy-io/react-auth/smart-wallets'
26
+ *
27
+ * const calls = await prepareMarketOrderWithSetup({
28
+ * chainId: 421614,
29
+ * userAddress: '0xF8c1869Ecd4df136693C45EcE1b67f85B6bDaE69',
30
+ * inputToken: '0x00bfd44e79fb7f6dd5887a9426c8ef85a0cd23e0',
31
+ * outputToken: '0x0000000000000000000000000000000000000000',
32
+ * amountIn: '100',
33
+ * options: { slippage: 1 } // 1% max slippage
34
+ * })
35
+ *
36
+ * const { client } = useSmartWallets()
37
+ * const txHash = await client.sendUserOperation({ calls })
38
+ */
39
+ export const prepareMarketOrderWithSetup = async ({ chainId, userAddress, inputToken, outputToken, amountIn, amountOut, options, }) => {
40
+ if (!amountIn && !amountOut) {
41
+ throw new Error('Either amountIn or amountOut must be provided');
42
+ }
43
+ const publicClient = createPublicClient({
44
+ chain: CHAIN_MAP[chainId],
45
+ transport: options?.rpcUrl ? http(options.rpcUrl) : http(),
46
+ });
47
+ const controllerAddress = CONTRACT_ADDRESSES[chainId].Controller;
48
+ const bookManagerAddress = CONTRACT_ADDRESSES[chainId].BookManager;
49
+ const calls = [];
50
+ // Determine required amount for setup check (use inputToken amount)
51
+ const requiredAmount = amountIn || '0';
52
+ // Get setup status for input token
53
+ const [status, currency, vault] = await Promise.all([
54
+ getOrderSetupStatus({
55
+ chainId,
56
+ userAddress,
57
+ tokenAddress: inputToken,
58
+ requiredAmount,
59
+ ...(options?.rpcUrl && { options: { rpcUrl: options.rpcUrl } }),
60
+ }),
61
+ fetchCurrency(publicClient, chainId, inputToken),
62
+ getVault({
63
+ chainId,
64
+ tokenAddress: inputToken,
65
+ ...(options?.rpcUrl && { options: { rpcUrl: options.rpcUrl } }),
66
+ }),
67
+ ]);
68
+ const maxValue = 2n ** 256n - 1n;
69
+ // 1. Token allowances (if needed)
70
+ if (!status.tokenAllowances.tokenToController) {
71
+ calls.push({
72
+ to: inputToken,
73
+ data: encodeFunctionData({
74
+ abi: erc20Abi,
75
+ functionName: 'approve',
76
+ args: [controllerAddress, maxValue],
77
+ }),
78
+ value: 0n,
79
+ });
80
+ }
81
+ if (!status.tokenAllowances.vaultToController) {
82
+ calls.push({
83
+ to: vault.address,
84
+ data: encodeFunctionData({
85
+ abi: erc20Abi,
86
+ functionName: 'approve',
87
+ args: [controllerAddress, maxValue],
88
+ }),
89
+ value: 0n,
90
+ });
91
+ }
92
+ if (!status.tokenAllowances.vaultToBookManager) {
93
+ calls.push({
94
+ to: vault.address,
95
+ data: encodeFunctionData({
96
+ abi: erc20Abi,
97
+ functionName: 'approve',
98
+ args: [bookManagerAddress, maxValue],
99
+ }),
100
+ value: 0n,
101
+ });
102
+ }
103
+ // 2. Order operator approval (if needed)
104
+ if (!status.operatorApproved) {
105
+ calls.push({
106
+ to: bookManagerAddress,
107
+ data: encodeFunctionData({
108
+ abi: BOOK_MANAGER_ABI,
109
+ functionName: 'setOrderOperator',
110
+ args: [controllerAddress, true],
111
+ }),
112
+ value: 0n,
113
+ });
114
+ }
115
+ // 3. Vault deposit (if needed)
116
+ if (status.needsDeposit && amountIn) {
117
+ const depositAmount = parseUnits(amountIn, currency.decimals);
118
+ const depositTx = await depositToVault({
119
+ chainId,
120
+ userAddress,
121
+ currency: inputToken,
122
+ amount: depositAmount,
123
+ ...(options?.rpcUrl && {
124
+ options: { rpcUrl: options.rpcUrl, skipGasEstimation: true },
125
+ }),
126
+ ...(!options?.rpcUrl && { options: { skipGasEstimation: true } }),
127
+ });
128
+ calls.push({
129
+ to: depositTx.to,
130
+ data: depositTx.data,
131
+ value: depositTx.value,
132
+ });
133
+ }
134
+ // 4. Market order
135
+ // Only skip gas estimation if we have setup calls
136
+ const hasSetupCalls = calls.length > 0;
137
+ const { transaction } = await marketOrder({
138
+ chainId,
139
+ userAddress,
140
+ inputToken,
141
+ outputToken,
142
+ ...(amountIn && { amountIn }),
143
+ ...(amountOut && { amountOut }),
144
+ options: {
145
+ ...options,
146
+ useSubgraph: false,
147
+ skipGasEstimation: hasSetupCalls,
148
+ },
149
+ });
150
+ calls.push({
151
+ to: transaction.to,
152
+ data: transaction.data,
153
+ value: transaction.value,
154
+ });
155
+ return calls;
156
+ };
157
+ //# sourceMappingURL=prepare-market-order-with-setup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prepare-market-order-with-setup.js","sourceRoot":"","sources":["../../../../src/calls/batch/prepare-market-order-with-setup.ts"],"names":[],"mappings":"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"}
@@ -9,5 +9,5 @@ export { setTokenAllowances } from './approval/token';
9
9
  export { approveAllForMarket } from './approval/market';
10
10
  export { setOrderOperatorApproval, approveControllerAsOrderOperator, } from './approval/order';
11
11
  export { setVault, removeVault, depositToVault, withdrawFromVault, } from './vault';
12
- export { prepareOrderWithSetup } from './batch';
12
+ export { prepareOrderWithSetup, prepareMarketOrderWithSetup } from './batch';
13
13
  //# 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,MAAM,iBAAiB,CAAC;AAC9C,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;AACxD,OAAO,EACL,wBAAwB,EACxB,gCAAgC,GACjC,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,QAAQ,EACR,WAAW,EACX,cAAc,EACd,iBAAiB,GAClB,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,qBAAqB,EAAE,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,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,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;AACxD,OAAO,EACL,wBAAwB,EACxB,gCAAgC,GACjC,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,QAAQ,EACR,WAAW,EACX,cAAc,EACd,iBAAiB,GAClB,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,qBAAqB,EAAE,2BAA2B,EAAE,MAAM,SAAS,CAAC"}
@@ -107,7 +107,7 @@ export const marketOrder = async ({ chainId, userAddress, inputToken, outputToke
107
107
  getDeadlineTimestampInSeconds(),
108
108
  ],
109
109
  value: isETH ? baseAmount : 0n,
110
- }, options?.gasLimit),
110
+ }, options?.gasLimit, undefined, options?.skipGasEstimation),
111
111
  result: {
112
112
  spent: {
113
113
  amount: spentAmount,
@@ -172,7 +172,7 @@ export const marketOrder = async ({ chainId, userAddress, inputToken, outputToke
172
172
  getDeadlineTimestampInSeconds(),
173
173
  ],
174
174
  value: isETH ? maxBaseAmount : 0n,
175
- }, options?.gasLimit),
175
+ }, options?.gasLimit, undefined, options?.skipGasEstimation),
176
176
  result: {
177
177
  spent: {
178
178
  amount: spentAmount,