@1stdex/first-sdk 1.0.7 → 1.0.9

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 (32) hide show
  1. package/dist/cjs/calls/batch/index.js +6 -0
  2. package/dist/cjs/calls/batch/index.js.map +1 -0
  3. package/dist/cjs/calls/batch/prepare-order-with-setup.js +118 -0
  4. package/dist/cjs/calls/batch/prepare-order-with-setup.js.map +1 -0
  5. package/dist/cjs/calls/index.js +3 -1
  6. package/dist/cjs/calls/index.js.map +1 -1
  7. package/dist/cjs/calls/market/limit.js +3 -6
  8. package/dist/cjs/calls/market/limit.js.map +1 -1
  9. package/dist/cjs/utils/build-transaction.js +11 -1
  10. package/dist/cjs/utils/build-transaction.js.map +1 -1
  11. package/dist/esm/calls/batch/index.js +2 -0
  12. package/dist/esm/calls/batch/index.js.map +1 -0
  13. package/dist/esm/calls/batch/prepare-order-with-setup.js +151 -0
  14. package/dist/esm/calls/batch/prepare-order-with-setup.js.map +1 -0
  15. package/dist/esm/calls/index.js +1 -0
  16. package/dist/esm/calls/index.js.map +1 -1
  17. package/dist/esm/calls/market/limit.js +3 -6
  18. package/dist/esm/calls/market/limit.js.map +1 -1
  19. package/dist/esm/utils/build-transaction.js +12 -1
  20. package/dist/esm/utils/build-transaction.js.map +1 -1
  21. package/dist/tsconfig.build.tsbuildinfo +1 -1
  22. package/dist/types/calls/batch/index.d.ts +3 -0
  23. package/dist/types/calls/batch/index.d.ts.map +1 -0
  24. package/dist/types/calls/batch/prepare-order-with-setup.d.ts +53 -0
  25. package/dist/types/calls/batch/prepare-order-with-setup.d.ts.map +1 -0
  26. package/dist/types/calls/index.d.ts +2 -0
  27. package/dist/types/calls/index.d.ts.map +1 -1
  28. package/dist/types/calls/market/limit.d.ts +1 -0
  29. package/dist/types/calls/market/limit.d.ts.map +1 -1
  30. package/dist/types/utils/build-transaction.d.ts +1 -1
  31. package/dist/types/utils/build-transaction.d.ts.map +1 -1
  32. package/package.json +1 -1
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.prepareOrderWithSetup = void 0;
4
+ var prepare_order_with_setup_1 = require("./prepare-order-with-setup");
5
+ Object.defineProperty(exports, "prepareOrderWithSetup", { enumerable: true, get: function () { return prepare_order_with_setup_1.prepareOrderWithSetup; } });
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/calls/batch/index.ts"],"names":[],"mappings":";;;AAAA,uEAAmE;AAA1D,iIAAA,qBAAqB,OAAA"}
@@ -0,0 +1,118 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.prepareOrderWithSetup = 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 limit_1 = require("../market/limit");
13
+ const prepareOrderWithSetup = async ({ chainId, userAddress, inputToken, outputToken, amount, price, options, }) => {
14
+ const publicClient = (0, viem_1.createPublicClient)({
15
+ chain: chain_1.CHAIN_MAP[chainId],
16
+ transport: options?.rpcUrl ? (0, viem_1.http)(options.rpcUrl) : (0, viem_1.http)(),
17
+ });
18
+ const controllerAddress = addresses_1.CONTRACT_ADDRESSES[chainId].Controller;
19
+ const bookManagerAddress = addresses_1.CONTRACT_ADDRESSES[chainId].BookManager;
20
+ const calls = [];
21
+ const [status, currency, vault] = await Promise.all([
22
+ (0, setup_1.getOrderSetupStatus)({
23
+ chainId,
24
+ userAddress,
25
+ tokenAddress: inputToken,
26
+ requiredAmount: amount,
27
+ ...(options?.rpcUrl && { options: { rpcUrl: options.rpcUrl } }),
28
+ }),
29
+ (0, apis_1.fetchCurrency)(publicClient, chainId, inputToken),
30
+ (0, vault_1.getVault)({
31
+ chainId,
32
+ tokenAddress: inputToken,
33
+ ...(options?.rpcUrl && { options: { rpcUrl: options.rpcUrl } }),
34
+ }),
35
+ ]);
36
+ const maxValue = 2n ** 256n - 1n;
37
+ if (!status.tokenAllowances.tokenToController) {
38
+ calls.push({
39
+ to: inputToken,
40
+ data: (0, viem_1.encodeFunctionData)({
41
+ abi: viem_1.erc20Abi,
42
+ functionName: 'approve',
43
+ args: [controllerAddress, maxValue],
44
+ }),
45
+ value: 0n,
46
+ });
47
+ }
48
+ if (!status.tokenAllowances.vaultToController) {
49
+ calls.push({
50
+ to: vault.address,
51
+ data: (0, viem_1.encodeFunctionData)({
52
+ abi: viem_1.erc20Abi,
53
+ functionName: 'approve',
54
+ args: [controllerAddress, maxValue],
55
+ }),
56
+ value: 0n,
57
+ });
58
+ }
59
+ if (!status.tokenAllowances.vaultToBookManager) {
60
+ calls.push({
61
+ to: vault.address,
62
+ data: (0, viem_1.encodeFunctionData)({
63
+ abi: viem_1.erc20Abi,
64
+ functionName: 'approve',
65
+ args: [bookManagerAddress, maxValue],
66
+ }),
67
+ value: 0n,
68
+ });
69
+ }
70
+ if (!status.operatorApproved) {
71
+ calls.push({
72
+ to: bookManagerAddress,
73
+ data: (0, viem_1.encodeFunctionData)({
74
+ abi: book_manager_abi_1.BOOK_MANAGER_ABI,
75
+ functionName: 'setOrderOperator',
76
+ args: [controllerAddress, true],
77
+ }),
78
+ value: 0n,
79
+ });
80
+ }
81
+ if (status.needsDeposit) {
82
+ const depositAmount = (0, viem_1.parseUnits)(amount, currency.decimals);
83
+ const depositTx = await (0, deposit_to_vault_1.depositToVault)({
84
+ chainId,
85
+ userAddress,
86
+ currency: inputToken,
87
+ amount: depositAmount,
88
+ ...(options?.rpcUrl && { options: { rpcUrl: options.rpcUrl } }),
89
+ });
90
+ calls.push({
91
+ to: depositTx.to,
92
+ data: depositTx.data,
93
+ value: depositTx.value,
94
+ });
95
+ }
96
+ const hasSetupCalls = calls.length > 0;
97
+ const { transaction } = await (0, limit_1.limitOrder)({
98
+ chainId,
99
+ userAddress,
100
+ inputToken,
101
+ outputToken,
102
+ amount,
103
+ price,
104
+ options: {
105
+ ...options,
106
+ useSubgraph: false,
107
+ skipGasEstimation: hasSetupCalls,
108
+ },
109
+ });
110
+ calls.push({
111
+ to: transaction.to,
112
+ data: transaction.data,
113
+ value: transaction.value,
114
+ });
115
+ return calls;
116
+ };
117
+ exports.prepareOrderWithSetup = prepareOrderWithSetup;
118
+ //# sourceMappingURL=prepare-order-with-setup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prepare-order-with-setup.js","sourceRoot":"","sources":["../../../../src/calls/batch/prepare-order-with-setup.ts"],"names":[],"mappings":";;;AAAA,+BAMc;AAEd,+DAA2E;AAC3E,uEAA6E;AAC7E,iFAA8E;AAC9E,6CAAwD;AACxD,6CAA6C;AAC7C,uDAA6D;AAC7D,gEAA2D;AAC3D,2CAA6C;AAuCtC,MAAM,qBAAqB,GAAG,KAAK,EAAE,EAC1C,OAAO,EACP,WAAW,EACX,UAAU,EACV,WAAW,EACX,MAAM,EACN,KAAK,EACL,OAAO,GAeR,EAAwB,EAAE;IACzB,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,iBAAiB,GAAG,8BAAkB,CAAC,OAAO,CAAE,CAAC,UAAU,CAAC;IAClE,MAAM,kBAAkB,GAAG,8BAAkB,CAAC,OAAO,CAAE,CAAC,WAAW,CAAC;IAEpE,MAAM,KAAK,GAAgB,EAAE,CAAC;IAG9B,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAClD,IAAA,2BAAmB,EAAC;YAClB,OAAO;YACP,WAAW;YACX,YAAY,EAAE,UAAU;YACxB,cAAc,EAAE,MAAM;YACtB,GAAG,CAAC,OAAO,EAAE,MAAM,IAAI,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;SAChE,CAAC;QACF,IAAA,oBAAa,EAAC,YAAY,EAAE,OAAO,EAAE,UAAU,CAAC;QAChD,IAAA,gBAAQ,EAAC;YACP,OAAO;YACP,YAAY,EAAE,UAAU;YACxB,GAAG,CAAC,OAAO,EAAE,MAAM,IAAI,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;SAChE,CAAC;KACH,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,CAAC;IAGjC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,iBAAiB,EAAE,CAAC;QAC9C,KAAK,CAAC,IAAI,CAAC;YACT,EAAE,EAAE,UAAU;YACd,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;IAED,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,iBAAiB,EAAE,CAAC;QAC9C,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;IAED,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,kBAAkB,EAAE,CAAC;QAC/C,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,kBAAkB,EAAE,QAAQ,CAAC;aACrC,CAAC;YACF,KAAK,EAAE,EAAE;SACV,CAAC,CAAC;IACL,CAAC;IAGD,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC;QAC7B,KAAK,CAAC,IAAI,CAAC;YACT,EAAE,EAAE,kBAAkB;YACtB,IAAI,EAAE,IAAA,yBAAkB,EAAC;gBACvB,GAAG,EAAE,mCAAgB;gBACrB,YAAY,EAAE,kBAAkB;gBAChC,IAAI,EAAE,CAAC,iBAAiB,EAAE,IAAI,CAAC;aAChC,CAAC;YACF,KAAK,EAAE,EAAE;SACV,CAAC,CAAC;IACL,CAAC;IAGD,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;QACxB,MAAM,aAAa,GAAG,IAAA,iBAAU,EAAC,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC5D,MAAM,SAAS,GAAG,MAAM,IAAA,iCAAc,EAAC;YACrC,OAAO;YACP,WAAW;YACX,QAAQ,EAAE,UAAU;YACpB,MAAM,EAAE,aAAa;YACrB,GAAG,CAAC,OAAO,EAAE,MAAM,IAAI,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;SAChE,CAAC,CAAC;QAEH,KAAK,CAAC,IAAI,CAAC;YACT,EAAE,EAAE,SAAS,CAAC,EAAE;YAChB,IAAI,EAAE,SAAS,CAAC,IAAI;YACpB,KAAK,EAAE,SAAS,CAAC,KAAK;SACvB,CAAC,CAAC;IACL,CAAC;IAKD,MAAM,aAAa,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;IAEvC,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,IAAA,kBAAU,EAAC;QACvC,OAAO;QACP,WAAW;QACX,UAAU;QACV,WAAW;QACX,MAAM;QACN,KAAK;QACL,OAAO,EAAE;YACP,GAAG,OAAO;YACV,WAAW,EAAE,KAAK;YAClB,iBAAiB,EAAE,aAAa;SACjC;KACF,CAAC,CAAC;IAEH,KAAK,CAAC,IAAI,CAAC;QACT,EAAE,EAAE,WAAW,CAAC,EAAE;QAClB,IAAI,EAAE,WAAW,CAAC,IAAI;QACtB,KAAK,EAAE,WAAW,CAAC,KAAK;KACzB,CAAC,CAAC;IAEH,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAlJW,QAAA,qBAAqB,yBAkJhC"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- 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.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");
@@ -29,4 +29,6 @@ Object.defineProperty(exports, "setVault", { enumerable: true, get: function ()
29
29
  Object.defineProperty(exports, "removeVault", { enumerable: true, get: function () { return vault_1.removeVault; } });
30
30
  Object.defineProperty(exports, "depositToVault", { enumerable: true, get: function () { return vault_1.depositToVault; } });
31
31
  Object.defineProperty(exports, "withdrawFromVault", { enumerable: true, get: function () { return vault_1.withdrawFromVault; } });
32
+ var batch_1 = require("./batch");
33
+ Object.defineProperty(exports, "prepareOrderWithSetup", { enumerable: true, get: function () { return batch_1.prepareOrderWithSetup; } });
32
34
  //# 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"}
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"}
@@ -61,10 +61,7 @@ const limitOrder = async ({ chainId, userAddress, inputToken, outputToken, amoun
61
61
  inputToken,
62
62
  outputToken,
63
63
  amountIn: amount,
64
- options: {
65
- ...options,
66
- limitPrice: price,
67
- },
64
+ options: { ...options, limitPrice: price },
68
65
  });
69
66
  const isETH = (0, viem_1.isAddressEqual)(inputToken, viem_1.zeroAddress);
70
67
  const makeParam = {
@@ -91,7 +88,7 @@ const limitOrder = async ({ chainId, userAddress, inputToken, outputToken, amoun
91
88
  functionName: 'make',
92
89
  args: [[makeParam], [], (0, time_1.getDeadlineTimestampInSeconds)()],
93
90
  value: isETH ? quoteAmount : 0n,
94
- }, options?.gasLimit),
91
+ }, options?.gasLimit, undefined, options?.skipGasEstimation),
95
92
  result: {
96
93
  make: {
97
94
  amount: (0, viem_1.formatUnits)(quoteAmount, inputCurrency.decimals),
@@ -151,7 +148,7 @@ const limitOrder = async ({ chainId, userAddress, inputToken, outputToken, amoun
151
148
  (0, time_1.getDeadlineTimestampInSeconds)(),
152
149
  ],
153
150
  value: isETH ? quoteAmount : 0n,
154
- }, options?.gasLimit),
151
+ }, options?.gasLimit, undefined, options?.skipGasEstimation),
155
152
  result: {
156
153
  make: {
157
154
  amount: (0, viem_1.formatUnits)(quoteAmount - (0, viem_1.parseUnits)(spentAmount, inputCurrency.decimals), inputCurrency.decimals),
@@ -1 +1 @@
1
- {"version":3,"file":"limit.js","sourceRoot":"","sources":["../../../../src/calls/market/limit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"limit.js","sourceRoot":"","sources":["../../../../src/calls/market/limit.ts"],"names":[],"mappings":"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"}
@@ -2,8 +2,18 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.buildTransaction = void 0;
4
4
  const viem_1 = require("viem");
5
- const buildTransaction = async (publicClient, args, gasLimit, gasPriceLimit) => {
5
+ const buildTransaction = async (publicClient, args, gasLimit, gasPriceLimit, skipGasEstimation) => {
6
6
  const data = (0, viem_1.encodeFunctionData)(args);
7
+ if (skipGasEstimation) {
8
+ return {
9
+ gas: gasLimit || 0n,
10
+ gasPrice: gasPriceLimit || 0n,
11
+ data,
12
+ value: args.value || 0n,
13
+ to: args.address,
14
+ from: args.account,
15
+ };
16
+ }
7
17
  const [gas, gasPrice] = await Promise.all([
8
18
  gasLimit ??
9
19
  publicClient.estimateGas({
@@ -1 +1 @@
1
- {"version":3,"file":"build-transaction.js","sourceRoot":"","sources":["../../../src/utils/build-transaction.ts"],"names":[],"mappings":";;;AAAA,+BAKc;AAIP,MAAM,gBAAgB,GAAG,KAAK,EACnC,YAA0B,EAC1B,IAA0D,EAC1D,QAAiB,EACjB,aAAsB,EACA,EAAE;IACxB,MAAM,IAAI,GAAG,IAAA,yBAAkB,EAAC,IAAI,CAAC,CAAC;IACtC,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACxC,QAAQ;YACN,YAAY,CAAC,WAAW,CAAC;gBACvB,OAAO,EAAE,IAAI,CAAC,OAAQ;gBACtB,IAAI;gBACJ,EAAE,EAAE,IAAI,CAAC,OAAO;gBAChB,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE;aACxB,CAAC;QACJ,aAAa,IAAI,YAAY,CAAC,WAAW,EAAE;KAC5C,CAAC,CAAC;IACH,OAAO;QACL,GAAG;QACH,QAAQ;QACR,IAAI;QACJ,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE;QACvB,EAAE,EAAE,IAAI,CAAC,OAAO;QAChB,IAAI,EAAE,IAAI,CAAC,OAAQ;KACpB,CAAC;AACJ,CAAC,CAAC;AAzBW,QAAA,gBAAgB,oBAyB3B"}
1
+ {"version":3,"file":"build-transaction.js","sourceRoot":"","sources":["../../../src/utils/build-transaction.ts"],"names":[],"mappings":";;;AAAA,+BAKc;AAIP,MAAM,gBAAgB,GAAG,KAAK,EACnC,YAA0B,EAC1B,IAA0D,EAC1D,QAAiB,EACjB,aAAsB,EACtB,iBAA2B,EACL,EAAE;IACxB,MAAM,IAAI,GAAG,IAAA,yBAAkB,EAAC,IAAI,CAAC,CAAC;IAEtC,IAAI,iBAAiB,EAAE,CAAC;QAEtB,OAAO;YACL,GAAG,EAAE,QAAQ,IAAI,EAAE;YACnB,QAAQ,EAAE,aAAa,IAAI,EAAE;YAC7B,IAAI;YACJ,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE;YACvB,EAAE,EAAE,IAAI,CAAC,OAAO;YAChB,IAAI,EAAE,IAAI,CAAC,OAAQ;SACpB,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACxC,QAAQ;YACN,YAAY,CAAC,WAAW,CAAC;gBACvB,OAAO,EAAE,IAAI,CAAC,OAAQ;gBACtB,IAAI;gBACJ,EAAE,EAAE,IAAI,CAAC,OAAO;gBAChB,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE;aACxB,CAAC;QACJ,aAAa,IAAI,YAAY,CAAC,WAAW,EAAE;KAC5C,CAAC,CAAC;IACH,OAAO;QACL,GAAG;QACH,QAAQ;QACR,IAAI;QACJ,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE;QACvB,EAAE,EAAE,IAAI,CAAC,OAAO;QAChB,IAAI,EAAE,IAAI,CAAC,OAAQ;KACpB,CAAC;AACJ,CAAC,CAAC;AAvCW,QAAA,gBAAgB,oBAuC3B"}
@@ -0,0 +1,2 @@
1
+ export { prepareOrderWithSetup } from './prepare-order-with-setup';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/calls/batch/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC"}
@@ -0,0 +1,151 @@
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 { limitOrder } from '../market/limit';
10
+ /**
11
+ * Prepares all necessary transactions for placing an 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 amount The amount to trade (decimal-adjusted string).
20
+ * @param price The limit price.
21
+ * @param options Optional parameters.
22
+ * @returns Promise resolving to array of batch calls.
23
+ * @example
24
+ * import { prepareOrderWithSetup } from '@clober/v2-sdk'
25
+ * import { useSmartWallets } from '@privy-io/react-auth/smart-wallets'
26
+ *
27
+ * const calls = await prepareOrderWithSetup({
28
+ * chainId: 421614,
29
+ * userAddress: '0xF8c1869Ecd4df136693C45EcE1b67f85B6bDaE69',
30
+ * inputToken: '0x00bfd44e79fb7f6dd5887a9426c8ef85a0cd23e0',
31
+ * outputToken: '0x0000000000000000000000000000000000000000',
32
+ * amount: '100',
33
+ * price: '4000'
34
+ * })
35
+ *
36
+ * // Send all calls in one batched transaction
37
+ * const { client } = useSmartWallets()
38
+ * const txHash = await client.sendUserOperation({ calls })
39
+ */
40
+ export const prepareOrderWithSetup = async ({ chainId, userAddress, inputToken, outputToken, amount, price, options, }) => {
41
+ const publicClient = createPublicClient({
42
+ chain: CHAIN_MAP[chainId],
43
+ transport: options?.rpcUrl ? http(options.rpcUrl) : http(),
44
+ });
45
+ const controllerAddress = CONTRACT_ADDRESSES[chainId].Controller;
46
+ const bookManagerAddress = CONTRACT_ADDRESSES[chainId].BookManager;
47
+ const calls = [];
48
+ // Get setup status for input token
49
+ const [status, currency, vault] = await Promise.all([
50
+ getOrderSetupStatus({
51
+ chainId,
52
+ userAddress,
53
+ tokenAddress: inputToken,
54
+ requiredAmount: amount,
55
+ ...(options?.rpcUrl && { options: { rpcUrl: options.rpcUrl } }),
56
+ }),
57
+ fetchCurrency(publicClient, chainId, inputToken),
58
+ getVault({
59
+ chainId,
60
+ tokenAddress: inputToken,
61
+ ...(options?.rpcUrl && { options: { rpcUrl: options.rpcUrl } }),
62
+ }),
63
+ ]);
64
+ const maxValue = 2n ** 256n - 1n;
65
+ // 1. Token allowances (if needed)
66
+ if (!status.tokenAllowances.tokenToController) {
67
+ calls.push({
68
+ to: inputToken,
69
+ data: encodeFunctionData({
70
+ abi: erc20Abi,
71
+ functionName: 'approve',
72
+ args: [controllerAddress, maxValue],
73
+ }),
74
+ value: 0n,
75
+ });
76
+ }
77
+ if (!status.tokenAllowances.vaultToController) {
78
+ calls.push({
79
+ to: vault.address,
80
+ data: encodeFunctionData({
81
+ abi: erc20Abi,
82
+ functionName: 'approve',
83
+ args: [controllerAddress, maxValue],
84
+ }),
85
+ value: 0n,
86
+ });
87
+ }
88
+ if (!status.tokenAllowances.vaultToBookManager) {
89
+ calls.push({
90
+ to: vault.address,
91
+ data: encodeFunctionData({
92
+ abi: erc20Abi,
93
+ functionName: 'approve',
94
+ args: [bookManagerAddress, maxValue],
95
+ }),
96
+ value: 0n,
97
+ });
98
+ }
99
+ // 2. Order operator approval (if needed)
100
+ if (!status.operatorApproved) {
101
+ calls.push({
102
+ to: bookManagerAddress,
103
+ data: encodeFunctionData({
104
+ abi: BOOK_MANAGER_ABI,
105
+ functionName: 'setOrderOperator',
106
+ args: [controllerAddress, true],
107
+ }),
108
+ value: 0n,
109
+ });
110
+ }
111
+ // 3. Vault deposit (if needed)
112
+ if (status.needsDeposit) {
113
+ const depositAmount = parseUnits(amount, currency.decimals);
114
+ const depositTx = await depositToVault({
115
+ chainId,
116
+ userAddress,
117
+ currency: inputToken,
118
+ amount: depositAmount,
119
+ ...(options?.rpcUrl && { options: { rpcUrl: options.rpcUrl } }),
120
+ });
121
+ calls.push({
122
+ to: depositTx.to,
123
+ data: depositTx.data,
124
+ value: depositTx.value,
125
+ });
126
+ }
127
+ // 4. Limit order
128
+ // Only skip gas estimation if we have setup calls (batch scenario)
129
+ // If no setup needed, estimate gas normally for better error messages
130
+ const hasSetupCalls = calls.length > 0;
131
+ const { transaction } = await limitOrder({
132
+ chainId,
133
+ userAddress,
134
+ inputToken,
135
+ outputToken,
136
+ amount,
137
+ price,
138
+ options: {
139
+ ...options,
140
+ useSubgraph: false,
141
+ skipGasEstimation: hasSetupCalls,
142
+ },
143
+ });
144
+ calls.push({
145
+ to: transaction.to,
146
+ data: transaction.data,
147
+ value: transaction.value,
148
+ });
149
+ return calls;
150
+ };
151
+ //# sourceMappingURL=prepare-order-with-setup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prepare-order-with-setup.js","sourceRoot":"","sources":["../../../../src/calls/batch/prepare-order-with-setup.ts"],"names":[],"mappings":"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"}
@@ -9,4 +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
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"}
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"}
@@ -103,10 +103,7 @@ export const limitOrder = async ({ chainId, userAddress, inputToken, outputToken
103
103
  inputToken,
104
104
  outputToken,
105
105
  amountIn: amount,
106
- options: {
107
- ...options,
108
- limitPrice: price,
109
- },
106
+ options: { ...options, limitPrice: price },
110
107
  });
111
108
  const isETH = isAddressEqual(inputToken, zeroAddress);
112
109
  const makeParam = {
@@ -133,7 +130,7 @@ export const limitOrder = async ({ chainId, userAddress, inputToken, outputToken
133
130
  functionName: 'make',
134
131
  args: [[makeParam], [], getDeadlineTimestampInSeconds()],
135
132
  value: isETH ? quoteAmount : 0n,
136
- }, options?.gasLimit),
133
+ }, options?.gasLimit, undefined, options?.skipGasEstimation),
137
134
  result: {
138
135
  make: {
139
136
  amount: formatUnits(quoteAmount, inputCurrency.decimals),
@@ -194,7 +191,7 @@ export const limitOrder = async ({ chainId, userAddress, inputToken, outputToken
194
191
  getDeadlineTimestampInSeconds(),
195
192
  ],
196
193
  value: isETH ? quoteAmount : 0n,
197
- }, options?.gasLimit),
194
+ }, options?.gasLimit, undefined, options?.skipGasEstimation),
198
195
  result: {
199
196
  make: {
200
197
  amount: formatUnits(quoteAmount - parseUnits(spentAmount, inputCurrency.decimals), inputCurrency.decimals),
@@ -1 +1 @@
1
- {"version":3,"file":"limit.js","sourceRoot":"","sources":["../../../../src/calls/market/limit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"limit.js","sourceRoot":"","sources":["../../../../src/calls/market/limit.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,17 @@
1
1
  import { encodeFunctionData, } from 'viem';
2
- export const buildTransaction = async (publicClient, args, gasLimit, gasPriceLimit) => {
2
+ export const buildTransaction = async (publicClient, args, gasLimit, gasPriceLimit, skipGasEstimation) => {
3
3
  const data = encodeFunctionData(args);
4
+ if (skipGasEstimation) {
5
+ // Skip gas estimation - used for batched calls where gas is estimated for entire batch
6
+ return {
7
+ gas: gasLimit || 0n,
8
+ gasPrice: gasPriceLimit || 0n,
9
+ data,
10
+ value: args.value || 0n,
11
+ to: args.address,
12
+ from: args.account,
13
+ };
14
+ }
4
15
  const [gas, gasPrice] = await Promise.all([
5
16
  gasLimit ??
6
17
  publicClient.estimateGas({
@@ -1 +1 @@
1
- {"version":3,"file":"build-transaction.js","sourceRoot":"","sources":["../../../src/utils/build-transaction.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,GAInB,MAAM,MAAM,CAAC;AAId,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,EACnC,YAA0B,EAC1B,IAA0D,EAC1D,QAAiB,EACjB,aAAsB,EACA,EAAE;IACxB,MAAM,IAAI,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACtC,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACxC,QAAQ;YACN,YAAY,CAAC,WAAW,CAAC;gBACvB,OAAO,EAAE,IAAI,CAAC,OAAQ;gBACtB,IAAI;gBACJ,EAAE,EAAE,IAAI,CAAC,OAAO;gBAChB,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE;aACxB,CAAC;QACJ,aAAa,IAAI,YAAY,CAAC,WAAW,EAAE;KAC5C,CAAC,CAAC;IACH,OAAO;QACL,GAAG;QACH,QAAQ;QACR,IAAI;QACJ,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE;QACvB,EAAE,EAAE,IAAI,CAAC,OAAO;QAChB,IAAI,EAAE,IAAI,CAAC,OAAQ;KACpB,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"build-transaction.js","sourceRoot":"","sources":["../../../src/utils/build-transaction.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,GAInB,MAAM,MAAM,CAAC;AAId,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,EACnC,YAA0B,EAC1B,IAA0D,EAC1D,QAAiB,EACjB,aAAsB,EACtB,iBAA2B,EACL,EAAE;IACxB,MAAM,IAAI,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAEtC,IAAI,iBAAiB,EAAE,CAAC;QACtB,uFAAuF;QACvF,OAAO;YACL,GAAG,EAAE,QAAQ,IAAI,EAAE;YACnB,QAAQ,EAAE,aAAa,IAAI,EAAE;YAC7B,IAAI;YACJ,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE;YACvB,EAAE,EAAE,IAAI,CAAC,OAAO;YAChB,IAAI,EAAE,IAAI,CAAC,OAAQ;SACpB,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACxC,QAAQ;YACN,YAAY,CAAC,WAAW,CAAC;gBACvB,OAAO,EAAE,IAAI,CAAC,OAAQ;gBACtB,IAAI;gBACJ,EAAE,EAAE,IAAI,CAAC,OAAO;gBAChB,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE;aACxB,CAAC;QACJ,aAAa,IAAI,YAAY,CAAC,WAAW,EAAE;KAC5C,CAAC,CAAC;IACH,OAAO;QACL,GAAG;QACH,QAAQ;QACR,IAAI;QACJ,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE;QACvB,EAAE,EAAE,IAAI,CAAC,OAAO;QAChB,IAAI,EAAE,IAAI,CAAC,OAAQ;KACpB,CAAC;AACJ,CAAC,CAAC"}