@velora-dex/sdk 9.3.6 → 9.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (132) hide show
  1. package/README.md +2 -0
  2. package/dist/examples/externalDelta.d.ts +2 -0
  3. package/dist/examples/externalDelta.d.ts.map +1 -0
  4. package/dist/examples/helpers/delta.d.ts +2 -2
  5. package/dist/examples/helpers/delta.d.ts.map +1 -1
  6. package/dist/index.d.ts +11 -6
  7. package/dist/index.d.ts.map +1 -1
  8. package/dist/methods/delta/buildDeltaOrder.d.ts +4 -10
  9. package/dist/methods/delta/buildDeltaOrder.d.ts.map +1 -1
  10. package/dist/methods/delta/buildExternalDeltaOrder.d.ts +46 -0
  11. package/dist/methods/delta/buildExternalDeltaOrder.d.ts.map +1 -0
  12. package/dist/methods/delta/getDeltaOrders.d.ts +14 -6
  13. package/dist/methods/delta/getDeltaOrders.d.ts.map +1 -1
  14. package/dist/methods/delta/helpers/abi.d.ts +16 -0
  15. package/dist/methods/delta/helpers/abi.d.ts.map +1 -0
  16. package/dist/methods/delta/helpers/buildDeltaOrderData.d.ts +0 -1
  17. package/dist/methods/delta/helpers/buildDeltaOrderData.d.ts.map +1 -1
  18. package/dist/methods/delta/helpers/buildExternalOrderData.d.ts +34 -0
  19. package/dist/methods/delta/helpers/buildExternalOrderData.d.ts.map +1 -0
  20. package/dist/methods/delta/helpers/misc.d.ts +43 -0
  21. package/dist/methods/delta/helpers/misc.d.ts.map +1 -1
  22. package/dist/methods/delta/helpers/types.d.ts +74 -3
  23. package/dist/methods/delta/helpers/types.d.ts.map +1 -1
  24. package/dist/methods/delta/index.d.ts +19 -3
  25. package/dist/methods/delta/index.d.ts.map +1 -1
  26. package/dist/methods/delta/postDeltaOrder.d.ts +4 -9
  27. package/dist/methods/delta/postDeltaOrder.d.ts.map +1 -1
  28. package/dist/methods/delta/postExternalDeltaOrder.d.ts +11 -0
  29. package/dist/methods/delta/postExternalDeltaOrder.d.ts.map +1 -0
  30. package/dist/methods/delta/preSignDeltaOrder.d.ts.map +1 -1
  31. package/dist/methods/delta/preSignExternalDeltaOrder.d.ts +17 -0
  32. package/dist/methods/delta/preSignExternalDeltaOrder.d.ts.map +1 -0
  33. package/dist/methods/delta/signExternalDeltaOrder.d.ts +9 -0
  34. package/dist/methods/delta/signExternalDeltaOrder.d.ts.map +1 -0
  35. package/dist/methods/limitOrders/approveForOrder.d.ts +2 -0
  36. package/dist/methods/limitOrders/approveForOrder.d.ts.map +1 -1
  37. package/dist/methods/limitOrders/buildOrder.d.ts +3 -0
  38. package/dist/methods/limitOrders/buildOrder.d.ts.map +1 -1
  39. package/dist/methods/limitOrders/cancelOrder.d.ts +2 -0
  40. package/dist/methods/limitOrders/cancelOrder.d.ts.map +1 -1
  41. package/dist/methods/limitOrders/fillOrderDirectly.d.ts +2 -0
  42. package/dist/methods/limitOrders/fillOrderDirectly.d.ts.map +1 -1
  43. package/dist/methods/limitOrders/getOrders.d.ts +2 -0
  44. package/dist/methods/limitOrders/getOrders.d.ts.map +1 -1
  45. package/dist/methods/limitOrders/getOrdersContract.d.ts +2 -0
  46. package/dist/methods/limitOrders/getOrdersContract.d.ts.map +1 -1
  47. package/dist/methods/limitOrders/index.d.ts +7 -1
  48. package/dist/methods/limitOrders/index.d.ts.map +1 -1
  49. package/dist/methods/limitOrders/postOrder.d.ts +2 -0
  50. package/dist/methods/limitOrders/postOrder.d.ts.map +1 -1
  51. package/dist/methods/limitOrders/signOrder.d.ts +2 -0
  52. package/dist/methods/limitOrders/signOrder.d.ts.map +1 -1
  53. package/dist/methods/limitOrders/transaction.d.ts +2 -0
  54. package/dist/methods/limitOrders/transaction.d.ts.map +1 -1
  55. package/dist/methods/nftOrders/approveForOrder.d.ts +2 -0
  56. package/dist/methods/nftOrders/approveForOrder.d.ts.map +1 -1
  57. package/dist/methods/nftOrders/buildOrder.d.ts +3 -0
  58. package/dist/methods/nftOrders/buildOrder.d.ts.map +1 -1
  59. package/dist/methods/nftOrders/cancelOrder.d.ts +2 -0
  60. package/dist/methods/nftOrders/cancelOrder.d.ts.map +1 -1
  61. package/dist/methods/nftOrders/getOrders.d.ts +2 -0
  62. package/dist/methods/nftOrders/getOrders.d.ts.map +1 -1
  63. package/dist/methods/nftOrders/getOrdersContract.d.ts +2 -0
  64. package/dist/methods/nftOrders/getOrdersContract.d.ts.map +1 -1
  65. package/dist/methods/nftOrders/helpers/misc.d.ts +1 -0
  66. package/dist/methods/nftOrders/helpers/misc.d.ts.map +1 -1
  67. package/dist/methods/nftOrders/index.d.ts +7 -1
  68. package/dist/methods/nftOrders/index.d.ts.map +1 -1
  69. package/dist/methods/nftOrders/postOrder.d.ts +2 -0
  70. package/dist/methods/nftOrders/postOrder.d.ts.map +1 -1
  71. package/dist/methods/nftOrders/signOrder.d.ts +2 -0
  72. package/dist/methods/nftOrders/signOrder.d.ts.map +1 -1
  73. package/dist/methods/nftOrders/transaction.d.ts +2 -0
  74. package/dist/methods/nftOrders/transaction.d.ts.map +1 -1
  75. package/dist/sdk/full.d.ts +2 -0
  76. package/dist/sdk/full.d.ts.map +1 -1
  77. package/dist/sdk/partial.d.ts +2 -0
  78. package/dist/sdk/partial.d.ts.map +1 -1
  79. package/dist/sdk/simple.d.ts +6 -0
  80. package/dist/sdk/simple.d.ts.map +1 -1
  81. package/dist/sdk.cjs.development.js +657 -95
  82. package/dist/sdk.cjs.development.js.map +1 -1
  83. package/dist/sdk.cjs.production.min.js +1 -1
  84. package/dist/sdk.cjs.production.min.js.map +1 -1
  85. package/dist/sdk.esm.js +653 -96
  86. package/dist/sdk.esm.js.map +1 -1
  87. package/package.json +1 -1
  88. package/src/constants.js +8 -0
  89. package/src/examples/delta.ts +9 -20
  90. package/src/examples/externalDelta.ts +162 -0
  91. package/src/examples/helpers/delta.ts +8 -4
  92. package/src/gas.js +1 -0
  93. package/src/index.js +142 -0
  94. package/src/index.ts +40 -3
  95. package/src/methods/delta/buildDeltaOrder.ts +13 -61
  96. package/src/methods/delta/buildExternalDeltaOrder.ts +124 -0
  97. package/src/methods/delta/getDeltaOrders.ts +31 -13
  98. package/src/methods/delta/helpers/abi.ts +20 -0
  99. package/src/methods/delta/helpers/buildDeltaOrderData.ts +3 -35
  100. package/src/methods/delta/helpers/buildExternalOrderData.ts +129 -0
  101. package/src/methods/delta/helpers/misc.ts +210 -0
  102. package/src/methods/delta/helpers/types.ts +87 -8
  103. package/src/methods/delta/index.ts +82 -3
  104. package/src/methods/delta/postDeltaOrder.ts +9 -11
  105. package/src/methods/delta/postExternalDeltaOrder.ts +45 -0
  106. package/src/methods/delta/preSignDeltaOrder.ts +1 -21
  107. package/src/methods/delta/preSignExternalDeltaOrder.ts +141 -0
  108. package/src/methods/delta/signExternalDeltaOrder.ts +35 -0
  109. package/src/methods/limitOrders/approveForOrder.ts +2 -0
  110. package/src/methods/limitOrders/buildOrder.ts +3 -0
  111. package/src/methods/limitOrders/cancelOrder.ts +2 -0
  112. package/src/methods/limitOrders/fillOrderDirectly.ts +2 -0
  113. package/src/methods/limitOrders/getOrders.ts +2 -0
  114. package/src/methods/limitOrders/getOrdersContract.ts +2 -0
  115. package/src/methods/limitOrders/index.ts +7 -1
  116. package/src/methods/limitOrders/postOrder.ts +2 -0
  117. package/src/methods/limitOrders/signOrder.ts +2 -0
  118. package/src/methods/limitOrders/transaction.ts +2 -0
  119. package/src/methods/nftOrders/approveForOrder.ts +2 -0
  120. package/src/methods/nftOrders/buildOrder.ts +3 -0
  121. package/src/methods/nftOrders/cancelOrder.ts +2 -0
  122. package/src/methods/nftOrders/getOrders.ts +2 -0
  123. package/src/methods/nftOrders/getOrdersContract.ts +2 -0
  124. package/src/methods/nftOrders/helpers/misc.ts +1 -0
  125. package/src/methods/nftOrders/index.ts +7 -1
  126. package/src/methods/nftOrders/postOrder.ts +2 -0
  127. package/src/methods/nftOrders/signOrder.ts +2 -0
  128. package/src/methods/nftOrders/transaction.ts +2 -0
  129. package/src/sdk/full.ts +2 -0
  130. package/src/sdk/partial.ts +2 -0
  131. package/src/sdk/simple.ts +6 -0
  132. package/src/types.js +1 -0
package/dist/sdk.esm.js CHANGED
@@ -1254,6 +1254,7 @@ function assetAddressToUint(assetAddress, assetType) {
1254
1254
  // ERC1155 = 1,
1255
1255
  // ERC721 = 2,
1256
1256
  // }
1257
+ /** @deprecated NFT Orders are deprecated and will be removed in a future version. */
1257
1258
  var AssetType = {
1258
1259
  ERC20: 0,
1259
1260
  ERC1155: 1,
@@ -1471,6 +1472,7 @@ function buildOrderData(_ref) {
1471
1472
  };
1472
1473
  }
1473
1474
 
1475
+ /** @deprecated Limit Orders are deprecated and will be removed in a future version. */
1474
1476
  var constructBuildLimitOrder = function constructBuildLimitOrder(options) {
1475
1477
  var chainId = options.chainId;
1476
1478
  // getContracts is cached internally for the same instance of SDK
@@ -1514,6 +1516,7 @@ var constructBuildLimitOrder = function constructBuildLimitOrder(options) {
1514
1516
 
1515
1517
  // returns whatever `contractCaller` returns
1516
1518
  // to allow for better versatility
1519
+ /** @deprecated Limit Orders are deprecated and will be removed in a future version. */
1517
1520
  var constructSignLimitOrder = function constructSignLimitOrder(options) {
1518
1521
  var signLimitOrder = function signLimitOrder(typedData) {
1519
1522
  // types allow to pass OrderData & extra_stuff, but tx will break like that
@@ -1551,6 +1554,7 @@ var MinAugustusRFQAbi$1 = [{
1551
1554
  }];
1552
1555
  // returns whatever `contractCaller` returns
1553
1556
  // to allow for better versatility
1557
+ /** @deprecated Limit Orders are deprecated and will be removed in a future version. */
1554
1558
  var constructCancelLimitOrder = function constructCancelLimitOrder(options) {
1555
1559
  // getAugustusRFQ is cached internally for the same instance of SDK
1556
1560
  // so should persist across same apiUrl & network
@@ -1984,6 +1988,7 @@ var MinAugustusRFQAbi = [{
1984
1988
  }];
1985
1989
  // returns whatever `contractCaller` returns
1986
1990
  // to allow for better versatility
1991
+ /** @deprecated Limit Orders are deprecated and will be removed in a future version. */
1987
1992
  function constructFillOrderDirectly(options) {
1988
1993
  // getAugustusRFQ is cached internally for the same instance of SDK
1989
1994
  // so should persist across same apiUrl & network
@@ -2077,6 +2082,7 @@ function constructFillOrderDirectly(options) {
2077
2082
  };
2078
2083
  }
2079
2084
 
2085
+ /** @deprecated Limit Orders are deprecated and will be removed in a future version. */
2080
2086
  var constructGetLimitOrders = function constructGetLimitOrders(_ref) {
2081
2087
  var _ref$apiURL = _ref.apiURL,
2082
2088
  apiURL = _ref$apiURL === void 0 ? API_URL : _ref$apiURL,
@@ -2183,6 +2189,7 @@ var constructGetLimitOrders = function constructGetLimitOrders(_ref) {
2183
2189
  };
2184
2190
  };
2185
2191
 
2192
+ /** @deprecated Limit Orders are deprecated and will be removed in a future version. */
2186
2193
  var constructPostLimitOrder = function constructPostLimitOrder(_ref) {
2187
2194
  var _ref$apiURL = _ref.apiURL,
2188
2195
  apiURL = _ref$apiURL === void 0 ? API_URL : _ref$apiURL,
@@ -2234,6 +2241,7 @@ var constructPostLimitOrder = function constructPostLimitOrder(_ref) {
2234
2241
 
2235
2242
  // returns whatever `contractCaller` returns
2236
2243
  // to allow for better versatility
2244
+ /** @deprecated Limit Orders are deprecated and will be removed in a future version. */
2237
2245
  var constructApproveTokenForLimitOrder = function constructApproveTokenForLimitOrder(options) {
2238
2246
  // getAugustusRFQ is cached internally for the same instance of SDK
2239
2247
  // so should persist across same apiUrl & network
@@ -2250,6 +2258,7 @@ var constructApproveTokenForLimitOrder = function constructApproveTokenForLimitO
2250
2258
  };
2251
2259
  };
2252
2260
 
2261
+ /** @deprecated Limit Orders are deprecated and will be removed in a future version. */
2253
2262
  var constructGetLimitOrdersContract = function constructGetLimitOrdersContract(options) {
2254
2263
  // analogous to getSpender() but for Limit Orders Contract = AugustusRFQ
2255
2264
  var _constructGetSpender = constructGetSpender(options),
@@ -2262,6 +2271,7 @@ var constructGetLimitOrdersContract = function constructGetLimitOrdersContract(o
2262
2271
  };
2263
2272
 
2264
2273
  var _excluded$7 = ["srcToken", "destToken", "amount", "options"];
2274
+ /** @deprecated Limit Orders are deprecated and will be removed in a future version. */
2265
2275
  var constructBuildLimitOrderTx = function constructBuildLimitOrderTx(_ref) {
2266
2276
  var _ref$apiURL = _ref.apiURL,
2267
2277
  apiURL = _ref$apiURL === void 0 ? API_URL : _ref$apiURL,
@@ -2397,6 +2407,7 @@ function checkAndParseOrders$1(orders) {
2397
2407
  };
2398
2408
  }
2399
2409
 
2410
+ /** @deprecated NFT Orders are deprecated and will be removed in a future version. */
2400
2411
  var constructBuildNFTOrder = function constructBuildNFTOrder(options) {
2401
2412
  var chainId = options.chainId;
2402
2413
  // getContracts is cached internally for the same instance of SDK
@@ -2437,6 +2448,7 @@ var constructBuildNFTOrder = function constructBuildNFTOrder(options) {
2437
2448
 
2438
2449
  // returns whatever `contractCaller` returns
2439
2450
  // to allow for better versatility
2451
+ /** @deprecated NFT Orders are deprecated and will be removed in a future version. */
2440
2452
  var constructSignNFTOrder = function constructSignNFTOrder(options) {
2441
2453
  var signNFTOrder = function signNFTOrder(typedData) {
2442
2454
  // types allow to pass OrderData & extra_stuff, but tx will break like that
@@ -2453,6 +2465,7 @@ var constructSignNFTOrder = function constructSignNFTOrder(options) {
2453
2465
  };
2454
2466
 
2455
2467
  // should work the same as for LimitOrders
2468
+ /** @deprecated NFT Orders are deprecated and will be removed in a future version. */
2456
2469
  var constructCancelNFTOrder = function constructCancelNFTOrder(options) {
2457
2470
  var _constructCancelLimit = constructCancelLimitOrder(options),
2458
2471
  cancelLimitOrder = _constructCancelLimit.cancelLimitOrder,
@@ -2463,6 +2476,7 @@ var constructCancelNFTOrder = function constructCancelNFTOrder(options) {
2463
2476
  };
2464
2477
  };
2465
2478
 
2479
+ /** @deprecated NFT Orders are deprecated and will be removed in a future version. */
2466
2480
  var constructGetNFTOrders = function constructGetNFTOrders(_ref) {
2467
2481
  var _ref$apiURL = _ref.apiURL,
2468
2482
  apiURL = _ref$apiURL === void 0 ? API_URL : _ref$apiURL,
@@ -2533,6 +2547,7 @@ var constructGetNFTOrders = function constructGetNFTOrders(_ref) {
2533
2547
  };
2534
2548
  };
2535
2549
 
2550
+ /** @deprecated NFT Orders are deprecated and will be removed in a future version. */
2536
2551
  var constructPostNFTOrder = function constructPostNFTOrder(_ref) {
2537
2552
  var _ref$apiURL = _ref.apiURL,
2538
2553
  apiURL = _ref$apiURL === void 0 ? API_URL : _ref$apiURL,
@@ -2583,6 +2598,7 @@ var constructPostNFTOrder = function constructPostNFTOrder(_ref) {
2583
2598
  };
2584
2599
 
2585
2600
  // should work the same as LimitOrders
2601
+ /** @deprecated NFT Orders are deprecated and will be removed in a future version. */
2586
2602
  var constructGetNFTOrdersContract = function constructGetNFTOrdersContract(options) {
2587
2603
  // analogous to getSpender() but for Limit Orders Contract = AugustusRFQ
2588
2604
  var _constructGetSpender = constructGetSpender(options),
@@ -2611,6 +2627,7 @@ var MinNFTAbi = [{
2611
2627
  }];
2612
2628
  // returns whatever `contractCaller` returns
2613
2629
  // to allow for better versatility
2630
+ /** @deprecated NFT Orders are deprecated and will be removed in a future version. */
2614
2631
  var constructApproveTokenForNFTOrder = function constructApproveTokenForNFTOrder(options) {
2615
2632
  // approving TokenTransaferProxy as for the swap
2616
2633
  var _constructApproveToke = constructApproveToken(options),
@@ -2658,6 +2675,7 @@ var constructApproveTokenForNFTOrder = function constructApproveTokenForNFTOrder
2658
2675
  };
2659
2676
 
2660
2677
  var _excluded$6 = ["srcToken", "destToken", "amount", "options"];
2678
+ /** @deprecated NFT Orders are deprecated and will be removed in a future version. */
2661
2679
  var constructBuildNFTOrderTx = function constructBuildNFTOrderTx(_ref) {
2662
2680
  var _ref$apiURL = _ref.apiURL,
2663
2681
  apiURL = _ref$apiURL === void 0 ? API_URL : _ref$apiURL,
@@ -3568,6 +3586,186 @@ var constructGetPartnerFee = function constructGetPartnerFee(_ref) {
3568
3586
  };
3569
3587
  };
3570
3588
 
3589
+ // default deadline = 10 min
3590
+ var DELTA_DEFAULT_EXPIRY = 10 * 60; // seconds
3591
+ // fee and address are encoded together
3592
+ function producePartnerAndFee(_ref) {
3593
+ var partnerFeeBps = _ref.partnerFeeBps,
3594
+ partnerAddress = _ref.partnerAddress,
3595
+ partnerTakesSurplus = _ref.partnerTakesSurplus,
3596
+ capSurplus = _ref.capSurplus;
3597
+ var capSurplusShifted = BigInt(capSurplus) << BigInt(9);
3598
+ if (partnerAddress === ZERO_ADDRESS) {
3599
+ return capSurplusShifted.toString(10);
3600
+ } else {
3601
+ var partnerAndFee = BigInt(partnerAddress) << BigInt(96) | BigInt(partnerFeeBps.toFixed(0)) | BigInt(partnerTakesSurplus) << BigInt(8) | capSurplusShifted;
3602
+ return partnerAndFee.toString(10);
3603
+ }
3604
+ }
3605
+ function applySlippage(_ref2) {
3606
+ var amount = _ref2.amount,
3607
+ slippageBps = _ref2.slippageBps,
3608
+ increase = _ref2.increase;
3609
+ assert(Number.isInteger(slippageBps) && slippageBps >= 0 && slippageBps <= 10000, 'slippageBps must be an integer between 0 and 10_000');
3610
+ var BPS_BASE = 10000n;
3611
+ var amt = BigInt(amount);
3612
+ var bps = BigInt(slippageBps);
3613
+ return increase ? (amt * (BPS_BASE + bps) / BPS_BASE).toString(10) : (amt * (BPS_BASE - bps) / BPS_BASE).toString(10);
3614
+ }
3615
+ function resolvePartnerFee(_x, _x2, _x3) {
3616
+ return _resolvePartnerFee.apply(this, arguments);
3617
+ }
3618
+ function _resolvePartnerFee() {
3619
+ _resolvePartnerFee = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(options, getPartnerFee, requestParams) {
3620
+ var _options$partnerFeeBp, _partnerFeeBps2, _partnerTakesSurplus2;
3621
+ var partnerAddress, partnerFeeBps, partnerTakesSurplus, feeOrTakeSurplusSupplied, partner, _partnerAddress, _partnerAddress2, _partnerFeeBps, _partnerTakesSurplus, partnerFeeResponse;
3622
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
3623
+ while (1) switch (_context.prev = _context.next) {
3624
+ case 0:
3625
+ // externally supplied partner fee data takes precedence
3626
+ partnerAddress = options.partnerAddress;
3627
+ partnerFeeBps = (_options$partnerFeeBp = options.partnerFeeBps) != null ? _options$partnerFeeBp : options.deltaPrice.partnerFee ? options.deltaPrice.partnerFee * 100 : undefined;
3628
+ partnerTakesSurplus = options.partnerTakesSurplus; // if fee given, takeSurplus is ignored
3629
+ feeOrTakeSurplusSupplied = partnerFeeBps !== undefined || partnerTakesSurplus !== undefined;
3630
+ if (!(partnerAddress === undefined || feeOrTakeSurplusSupplied)) {
3631
+ _context.next = 16;
3632
+ break;
3633
+ }
3634
+ partner = options.partner || options.deltaPrice.partner;
3635
+ if (partner) {
3636
+ _context.next = 10;
3637
+ break;
3638
+ }
3639
+ // if no partner given in options or deltaPrice, default partnerAddress to zero,
3640
+ // unless supplied explicitly
3641
+ partnerAddress = (_partnerAddress = partnerAddress) != null ? _partnerAddress : ZERO_ADDRESS;
3642
+ _context.next = 16;
3643
+ break;
3644
+ case 10:
3645
+ _context.next = 12;
3646
+ return getPartnerFee({
3647
+ partner: partner
3648
+ }, requestParams);
3649
+ case 12:
3650
+ partnerFeeResponse = _context.sent;
3651
+ partnerAddress = (_partnerAddress2 = partnerAddress) != null ? _partnerAddress2 : partnerFeeResponse.partnerAddress;
3652
+ // deltaPrice.partnerFee and partnerFeeResponse.partnerFee should be the same, but give priority to externally provided
3653
+ partnerFeeBps = (_partnerFeeBps = partnerFeeBps) != null ? _partnerFeeBps : partnerFeeResponse.partnerFee * 100;
3654
+ partnerTakesSurplus = (_partnerTakesSurplus = partnerTakesSurplus) != null ? _partnerTakesSurplus : partnerFeeResponse.takeSurplus;
3655
+ case 16:
3656
+ return _context.abrupt("return", {
3657
+ partnerAddress: partnerAddress,
3658
+ partnerFeeBps: (_partnerFeeBps2 = partnerFeeBps) != null ? _partnerFeeBps2 : 0,
3659
+ partnerTakesSurplus: (_partnerTakesSurplus2 = partnerTakesSurplus) != null ? _partnerTakesSurplus2 : false
3660
+ });
3661
+ case 17:
3662
+ case "end":
3663
+ return _context.stop();
3664
+ }
3665
+ }, _callee);
3666
+ }));
3667
+ return _resolvePartnerFee.apply(this, arguments);
3668
+ }
3669
+ function resolveAmounts(options) {
3670
+ var _options$side;
3671
+ var srcAmount;
3672
+ var destAmount;
3673
+ var swapSide = options.slippage !== undefined ? options.srcAmount !== undefined ? SwapSide.SELL : SwapSide.BUY : (_options$side = options.side) != null ? _options$side : SwapSide.SELL;
3674
+ if (options.slippage !== undefined) {
3675
+ if (options.srcAmount !== undefined) {
3676
+ // SELL with slippage: destAmount auto-computed
3677
+ srcAmount = options.srcAmount;
3678
+ destAmount = applySlippage({
3679
+ amount: options.deltaPrice.destAmount,
3680
+ slippageBps: options.slippage,
3681
+ increase: false
3682
+ });
3683
+ } else {
3684
+ // BUY with slippage: srcAmount auto-computed
3685
+ destAmount = options.destAmount;
3686
+ srcAmount = applySlippage({
3687
+ amount: options.deltaPrice.srcAmount,
3688
+ slippageBps: options.slippage,
3689
+ increase: true
3690
+ });
3691
+ }
3692
+ } else {
3693
+ srcAmount = options.srcAmount;
3694
+ destAmount = options.destAmount;
3695
+ }
3696
+ var expectedAmount = swapSide === SwapSide.SELL ? options.deltaPrice.destAmount : options.deltaPrice.srcAmount;
3697
+ return {
3698
+ srcAmount: srcAmount,
3699
+ destAmount: destAmount,
3700
+ expectedAmount: expectedAmount,
3701
+ swapSide: swapSide
3702
+ };
3703
+ }
3704
+ function sanitizeDeltaOrderData(_ref3) {
3705
+ var owner = _ref3.owner,
3706
+ beneficiary = _ref3.beneficiary,
3707
+ srcToken = _ref3.srcToken,
3708
+ destToken = _ref3.destToken,
3709
+ srcAmount = _ref3.srcAmount,
3710
+ destAmount = _ref3.destAmount,
3711
+ expectedAmount = _ref3.expectedAmount,
3712
+ deadline = _ref3.deadline,
3713
+ nonce = _ref3.nonce,
3714
+ permit = _ref3.permit,
3715
+ partnerAndFee = _ref3.partnerAndFee,
3716
+ bridge = _ref3.bridge,
3717
+ kind = _ref3.kind,
3718
+ metadata = _ref3.metadata;
3719
+ return {
3720
+ owner: owner,
3721
+ beneficiary: beneficiary,
3722
+ srcToken: srcToken,
3723
+ destToken: destToken,
3724
+ srcAmount: srcAmount,
3725
+ destAmount: destAmount,
3726
+ expectedAmount: expectedAmount,
3727
+ deadline: deadline,
3728
+ nonce: nonce,
3729
+ permit: permit,
3730
+ partnerAndFee: partnerAndFee,
3731
+ bridge: bridge,
3732
+ kind: kind,
3733
+ metadata: metadata
3734
+ };
3735
+ }
3736
+ function sanitizeExternalOrderData(_ref4) {
3737
+ var owner = _ref4.owner,
3738
+ handler = _ref4.handler,
3739
+ srcToken = _ref4.srcToken,
3740
+ destToken = _ref4.destToken,
3741
+ srcAmount = _ref4.srcAmount,
3742
+ destAmount = _ref4.destAmount,
3743
+ expectedAmount = _ref4.expectedAmount,
3744
+ deadline = _ref4.deadline,
3745
+ nonce = _ref4.nonce,
3746
+ permit = _ref4.permit,
3747
+ partnerAndFee = _ref4.partnerAndFee,
3748
+ kind = _ref4.kind,
3749
+ metadata = _ref4.metadata,
3750
+ data = _ref4.data;
3751
+ return {
3752
+ owner: owner,
3753
+ handler: handler,
3754
+ srcToken: srcToken,
3755
+ destToken: destToken,
3756
+ srcAmount: srcAmount,
3757
+ destAmount: destAmount,
3758
+ expectedAmount: expectedAmount,
3759
+ deadline: deadline,
3760
+ nonce: nonce,
3761
+ permit: permit,
3762
+ partnerAndFee: partnerAndFee,
3763
+ kind: kind,
3764
+ metadata: metadata,
3765
+ data: data
3766
+ };
3767
+ }
3768
+
3571
3769
  // Order(address owner,address beneficiary,address srcToken,address destToken,uint256 srcAmount,uint256 destAmount,uint256 deadline,uint256 nonce,bytes permit, bridge Bridge)";
3572
3770
  var SWAP_ORDER_EIP_712_TYPES = {
3573
3771
  Order: [{
@@ -3634,7 +3832,7 @@ function produceDeltaOrderTypedData(_ref) {
3634
3832
  var orderInput = _ref.orderInput,
3635
3833
  chainId = _ref.chainId,
3636
3834
  paraswapDeltaAddress = _ref.paraswapDeltaAddress;
3637
- var typedData = {
3835
+ return {
3638
3836
  types: {
3639
3837
  Order: SWAP_ORDER_EIP_712_TYPES.Order,
3640
3838
  Bridge: SWAP_ORDER_EIP_712_TYPES.Bridge
@@ -3647,10 +3845,7 @@ function produceDeltaOrderTypedData(_ref) {
3647
3845
  },
3648
3846
  data: orderInput
3649
3847
  };
3650
- return typedData;
3651
3848
  }
3652
- // default deadline = 1 hour for now (may be changed later)
3653
- var DELTA_DEFAULT_EXPIRY = 60 * 60; // seconds
3654
3849
  function buildDeltaSignableOrderData(_ref2) {
3655
3850
  var owner = _ref2.owner,
3656
3851
  _ref2$beneficiary = _ref2.beneficiary,
@@ -3705,20 +3900,6 @@ function buildDeltaSignableOrderData(_ref2) {
3705
3900
  paraswapDeltaAddress: paraswapDeltaAddress
3706
3901
  });
3707
3902
  }
3708
- // fee and address are encoded together
3709
- function producePartnerAndFee(_ref3) {
3710
- var partnerFeeBps = _ref3.partnerFeeBps,
3711
- partnerAddress = _ref3.partnerAddress,
3712
- partnerTakesSurplus = _ref3.partnerTakesSurplus,
3713
- capSurplus = _ref3.capSurplus;
3714
- var capSurplusShifted = BigInt(capSurplus) << BigInt(9);
3715
- if (partnerAddress === ZERO_ADDRESS) {
3716
- return capSurplusShifted.toString(10);
3717
- } else {
3718
- var partnerAndFee = BigInt(partnerAddress) << BigInt(96) | BigInt(partnerFeeBps.toFixed(0)) | BigInt(partnerTakesSurplus) << BigInt(8) | capSurplusShifted;
3719
- return partnerAndFee.toString(10);
3720
- }
3721
- }
3722
3903
 
3723
3904
  var _SwapSideToOrderKind;
3724
3905
  var OrderKind;
@@ -3738,8 +3919,8 @@ var constructBuildDeltaOrder = function constructBuildDeltaOrder(options) {
3738
3919
  getPartnerFee = _constructGetPartnerF.getPartnerFee;
3739
3920
  var buildDeltaOrder = /*#__PURE__*/function () {
3740
3921
  var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(options, requestParams) {
3741
- var _options$partnerFeeBp, _partnerFeeBps2, _partnerTakesSurplus2, _options$side, _options$nonce;
3742
- var ParaswapDelta, partnerAddress, partnerFeeBps, partnerTakesSurplus, feeOrTakeSurplusSupplied, partner, _partnerAddress, _partnerAddress2, _partnerFeeBps, _partnerTakesSurplus, partnerFeeResponse, swapSide, expectedAmount, input;
3922
+ var _options$nonce;
3923
+ var ParaswapDelta, _yield$resolvePartner, partnerAddress, partnerFeeBps, partnerTakesSurplus, _resolveAmounts, srcAmount, destAmount, expectedAmount, swapSide, input;
3743
3924
  return _regeneratorRuntime().wrap(function _callee$(_context) {
3744
3925
  while (1) switch (_context.prev = _context.next) {
3745
3926
  case 0:
@@ -3753,42 +3934,14 @@ var constructBuildDeltaOrder = function constructBuildDeltaOrder(options) {
3753
3934
  }
3754
3935
  throw new Error("Delta is not available on chain " + chainId);
3755
3936
  case 5:
3756
- ////// Partner logic //////
3757
- // externally supplied partner fee data takes precedence
3758
- partnerAddress = options.partnerAddress;
3759
- partnerFeeBps = (_options$partnerFeeBp = options.partnerFeeBps) != null ? _options$partnerFeeBp : options.deltaPrice.partnerFee ? options.deltaPrice.partnerFee * 100 : undefined;
3760
- partnerTakesSurplus = options.partnerTakesSurplus; // if fee given, takeSurplus is ignored
3761
- feeOrTakeSurplusSupplied = partnerFeeBps !== undefined || partnerTakesSurplus !== undefined;
3762
- if (!(partnerAddress === undefined || feeOrTakeSurplusSupplied)) {
3763
- _context.next = 21;
3764
- break;
3765
- }
3766
- partner = options.partner || options.deltaPrice.partner;
3767
- if (partner) {
3768
- _context.next = 15;
3769
- break;
3770
- }
3771
- // if no partner given in options or deltaPrice, default partnerAddress to zero,
3772
- // unless supplied explicitly
3773
- partnerAddress = (_partnerAddress = partnerAddress) != null ? _partnerAddress : ZERO_ADDRESS;
3774
- _context.next = 21;
3775
- break;
3776
- case 15:
3777
- _context.next = 17;
3778
- return getPartnerFee({
3779
- partner: partner
3780
- }, requestParams);
3781
- case 17:
3782
- partnerFeeResponse = _context.sent;
3783
- partnerAddress = (_partnerAddress2 = partnerAddress) != null ? _partnerAddress2 : partnerFeeResponse.partnerAddress;
3784
- // deltaPrice.partnerFee and partnerFeeResponse.partnerFee should be the same, but give priority to externally provided
3785
- partnerFeeBps = (_partnerFeeBps = partnerFeeBps) != null ? _partnerFeeBps : partnerFeeResponse.partnerFee;
3786
- partnerTakesSurplus = (_partnerTakesSurplus = partnerTakesSurplus) != null ? _partnerTakesSurplus : partnerFeeResponse.takeSurplus;
3787
- case 21:
3788
- partnerFeeBps = (_partnerFeeBps2 = partnerFeeBps) != null ? _partnerFeeBps2 : 0;
3789
- partnerTakesSurplus = (_partnerTakesSurplus2 = partnerTakesSurplus) != null ? _partnerTakesSurplus2 : false;
3790
- swapSide = (_options$side = options.side) != null ? _options$side : SwapSide.SELL;
3791
- expectedAmount = swapSide === SwapSide.SELL ? options.deltaPrice.destAmount : options.deltaPrice.srcAmount;
3937
+ _context.next = 7;
3938
+ return resolvePartnerFee(options, getPartnerFee, requestParams);
3939
+ case 7:
3940
+ _yield$resolvePartner = _context.sent;
3941
+ partnerAddress = _yield$resolvePartner.partnerAddress;
3942
+ partnerFeeBps = _yield$resolvePartner.partnerFeeBps;
3943
+ partnerTakesSurplus = _yield$resolvePartner.partnerTakesSurplus;
3944
+ _resolveAmounts = resolveAmounts(options), srcAmount = _resolveAmounts.srcAmount, destAmount = _resolveAmounts.destAmount, expectedAmount = _resolveAmounts.expectedAmount, swapSide = _resolveAmounts.swapSide;
3792
3945
  input = {
3793
3946
  owner: options.owner,
3794
3947
  beneficiary: options.beneficiary,
@@ -3796,8 +3949,8 @@ var constructBuildDeltaOrder = function constructBuildDeltaOrder(options) {
3796
3949
  // for some cases of WETH->ETH crosschain swaps, the destToken is changed to WETH or ETH,
3797
3950
  // this is already reflected in deltaPrice
3798
3951
  destToken: options.deltaPrice.destToken,
3799
- srcAmount: options.srcAmount,
3800
- destAmount: options.destAmount,
3952
+ srcAmount: srcAmount,
3953
+ destAmount: destAmount,
3801
3954
  expectedAmount: expectedAmount,
3802
3955
  deadline: options.deadline,
3803
3956
  nonce: (_options$nonce = options.nonce) == null ? void 0 : _options$nonce.toString(10),
@@ -3813,7 +3966,7 @@ var constructBuildDeltaOrder = function constructBuildDeltaOrder(options) {
3813
3966
  bridge: options.deltaPrice.bridge // ZERO_BRIDGE for same-chain Orders
3814
3967
  };
3815
3968
  return _context.abrupt("return", buildDeltaSignableOrderData(input));
3816
- case 27:
3969
+ case 14:
3817
3970
  case "end":
3818
3971
  return _context.stop();
3819
3972
  }
@@ -3857,39 +4010,6 @@ var constructPostDeltaOrder = function constructPostDeltaOrder(_ref) {
3857
4010
  };
3858
4011
  };
3859
4012
 
3860
- function sanitizeDeltaOrderData(_ref) {
3861
- var owner = _ref.owner,
3862
- beneficiary = _ref.beneficiary,
3863
- srcToken = _ref.srcToken,
3864
- destToken = _ref.destToken,
3865
- srcAmount = _ref.srcAmount,
3866
- destAmount = _ref.destAmount,
3867
- expectedAmount = _ref.expectedAmount,
3868
- deadline = _ref.deadline,
3869
- nonce = _ref.nonce,
3870
- permit = _ref.permit,
3871
- partnerAndFee = _ref.partnerAndFee,
3872
- bridge = _ref.bridge,
3873
- kind = _ref.kind,
3874
- metadata = _ref.metadata;
3875
- return {
3876
- owner: owner,
3877
- beneficiary: beneficiary,
3878
- srcToken: srcToken,
3879
- destToken: destToken,
3880
- srcAmount: srcAmount,
3881
- destAmount: destAmount,
3882
- expectedAmount: expectedAmount,
3883
- deadline: deadline,
3884
- nonce: nonce,
3885
- permit: permit,
3886
- partnerAndFee: partnerAndFee,
3887
- bridge: bridge,
3888
- kind: kind,
3889
- metadata: metadata
3890
- };
3891
- }
3892
-
3893
4013
  // returns whatever `contractCaller` returns
3894
4014
  // to allow for better versatility
3895
4015
  var constructSignDeltaOrder = function constructSignDeltaOrder(options) {
@@ -3938,6 +4058,7 @@ var PreSignatureModuleAbi = [{
3938
4058
  stateMutability: 'nonpayable',
3939
4059
  type: 'function'
3940
4060
  }];
4061
+
3941
4062
  // returns whatever `contractCaller` returns
3942
4063
  // to allow for better versatility
3943
4064
  var constructPreSignDeltaOrder = function constructPreSignDeltaOrder(options) {
@@ -4195,6 +4316,7 @@ var constructGetDeltaOrders = function constructGetDeltaOrders(_ref) {
4195
4316
  page: options.page,
4196
4317
  limit: options.limit,
4197
4318
  type: options.type,
4319
+ onChainOrderType: options.onChainOrderType,
4198
4320
  chainId: chainIdString,
4199
4321
  status: statusString
4200
4322
  });
@@ -4406,6 +4528,379 @@ var constructIsTokenSupportedInDelta = function constructIsTokenSupportedInDelta
4406
4528
  };
4407
4529
  };
4408
4530
 
4531
+ var EXTERNAL_ORDER_EIP_712_TYPES = {
4532
+ ExternalOrder: [{
4533
+ name: 'owner',
4534
+ type: 'address'
4535
+ }, {
4536
+ name: 'handler',
4537
+ type: 'address'
4538
+ }, {
4539
+ name: 'srcToken',
4540
+ type: 'address'
4541
+ }, {
4542
+ name: 'destToken',
4543
+ type: 'address'
4544
+ }, {
4545
+ name: 'srcAmount',
4546
+ type: 'uint256'
4547
+ }, {
4548
+ name: 'destAmount',
4549
+ type: 'uint256'
4550
+ }, {
4551
+ name: 'expectedAmount',
4552
+ type: 'uint256'
4553
+ }, {
4554
+ name: 'deadline',
4555
+ type: 'uint256'
4556
+ }, {
4557
+ name: 'kind',
4558
+ type: 'uint8'
4559
+ }, {
4560
+ name: 'nonce',
4561
+ type: 'uint256'
4562
+ }, {
4563
+ name: 'partnerAndFee',
4564
+ type: 'uint256'
4565
+ }, {
4566
+ name: 'permit',
4567
+ type: 'bytes'
4568
+ }, {
4569
+ name: 'metadata',
4570
+ type: 'bytes'
4571
+ }, {
4572
+ name: 'data',
4573
+ type: 'bytes'
4574
+ }]
4575
+ };
4576
+ function produceExternalOrderTypedData(_ref) {
4577
+ var orderInput = _ref.orderInput,
4578
+ chainId = _ref.chainId,
4579
+ paraswapDeltaAddress = _ref.paraswapDeltaAddress;
4580
+ return {
4581
+ types: {
4582
+ ExternalOrder: EXTERNAL_ORDER_EIP_712_TYPES.ExternalOrder
4583
+ },
4584
+ domain: {
4585
+ name: 'Portikus',
4586
+ version: '2.0.0',
4587
+ chainId: chainId,
4588
+ verifyingContract: paraswapDeltaAddress
4589
+ },
4590
+ data: orderInput
4591
+ };
4592
+ }
4593
+ function buildExternalOrderSignableData(_ref2) {
4594
+ var owner = _ref2.owner,
4595
+ handler = _ref2.handler,
4596
+ srcToken = _ref2.srcToken,
4597
+ destToken = _ref2.destToken,
4598
+ srcAmount = _ref2.srcAmount,
4599
+ destAmount = _ref2.destAmount,
4600
+ expectedAmount = _ref2.expectedAmount,
4601
+ _ref2$deadline = _ref2.deadline,
4602
+ deadline = _ref2$deadline === void 0 ? Math.floor(Date.now() / 1000 + DELTA_DEFAULT_EXPIRY) : _ref2$deadline,
4603
+ _ref2$nonce = _ref2.nonce,
4604
+ nonce = _ref2$nonce === void 0 ? Date.now().toString(10) : _ref2$nonce,
4605
+ _ref2$permit = _ref2.permit,
4606
+ permit = _ref2$permit === void 0 ? '0x' : _ref2$permit,
4607
+ kind = _ref2.kind,
4608
+ _ref2$metadata = _ref2.metadata,
4609
+ metadata = _ref2$metadata === void 0 ? '0x' : _ref2$metadata,
4610
+ data = _ref2.data,
4611
+ partnerAddress = _ref2.partnerAddress,
4612
+ partnerFeeBps = _ref2.partnerFeeBps,
4613
+ _ref2$partnerTakesSur = _ref2.partnerTakesSurplus,
4614
+ partnerTakesSurplus = _ref2$partnerTakesSur === void 0 ? false : _ref2$partnerTakesSur,
4615
+ _ref2$capSurplus = _ref2.capSurplus,
4616
+ capSurplus = _ref2$capSurplus === void 0 ? true : _ref2$capSurplus,
4617
+ chainId = _ref2.chainId,
4618
+ paraswapDeltaAddress = _ref2.paraswapDeltaAddress;
4619
+ var orderInput = {
4620
+ owner: owner,
4621
+ handler: handler,
4622
+ srcToken: srcToken,
4623
+ destToken: destToken,
4624
+ srcAmount: srcAmount,
4625
+ destAmount: destAmount,
4626
+ expectedAmount: expectedAmount,
4627
+ deadline: deadline,
4628
+ nonce: nonce,
4629
+ permit: permit,
4630
+ partnerAndFee: producePartnerAndFee({
4631
+ partnerFeeBps: partnerFeeBps,
4632
+ partnerAddress: partnerAddress,
4633
+ partnerTakesSurplus: partnerTakesSurplus,
4634
+ capSurplus: capSurplus
4635
+ }),
4636
+ kind: kind,
4637
+ metadata: metadata,
4638
+ data: data
4639
+ };
4640
+ return produceExternalOrderTypedData({
4641
+ orderInput: orderInput,
4642
+ chainId: chainId,
4643
+ paraswapDeltaAddress: paraswapDeltaAddress
4644
+ });
4645
+ }
4646
+
4647
+ var constructBuildExternalDeltaOrder = function constructBuildExternalDeltaOrder(options) {
4648
+ var chainId = options.chainId;
4649
+ // cached internally
4650
+ var _constructGetDeltaCon = constructGetDeltaContract(options),
4651
+ getDeltaContract = _constructGetDeltaCon.getDeltaContract;
4652
+ // cached internally for `partner`
4653
+ var _constructGetPartnerF = constructGetPartnerFee(options),
4654
+ getPartnerFee = _constructGetPartnerF.getPartnerFee;
4655
+ var buildExternalDeltaOrder = /*#__PURE__*/function () {
4656
+ var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(options, requestParams) {
4657
+ var _options$nonce;
4658
+ var ParaswapDelta, _yield$resolvePartner, partnerAddress, partnerFeeBps, partnerTakesSurplus, _resolveAmounts, srcAmount, destAmount, expectedAmount, swapSide, input;
4659
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
4660
+ while (1) switch (_context.prev = _context.next) {
4661
+ case 0:
4662
+ _context.next = 2;
4663
+ return getDeltaContract(requestParams);
4664
+ case 2:
4665
+ ParaswapDelta = _context.sent;
4666
+ if (ParaswapDelta) {
4667
+ _context.next = 5;
4668
+ break;
4669
+ }
4670
+ throw new Error("Delta is not available on chain " + chainId);
4671
+ case 5:
4672
+ _context.next = 7;
4673
+ return resolvePartnerFee(options, getPartnerFee, requestParams);
4674
+ case 7:
4675
+ _yield$resolvePartner = _context.sent;
4676
+ partnerAddress = _yield$resolvePartner.partnerAddress;
4677
+ partnerFeeBps = _yield$resolvePartner.partnerFeeBps;
4678
+ partnerTakesSurplus = _yield$resolvePartner.partnerTakesSurplus;
4679
+ _resolveAmounts = resolveAmounts(options), srcAmount = _resolveAmounts.srcAmount, destAmount = _resolveAmounts.destAmount, expectedAmount = _resolveAmounts.expectedAmount, swapSide = _resolveAmounts.swapSide;
4680
+ input = {
4681
+ owner: options.owner,
4682
+ handler: options.handler,
4683
+ srcToken: options.srcToken,
4684
+ destToken: options.deltaPrice.destToken,
4685
+ srcAmount: srcAmount,
4686
+ destAmount: destAmount,
4687
+ expectedAmount: expectedAmount,
4688
+ deadline: options.deadline,
4689
+ nonce: (_options$nonce = options.nonce) == null ? void 0 : _options$nonce.toString(10),
4690
+ permit: options.permit,
4691
+ kind: SwapSideToOrderKind[swapSide],
4692
+ metadata: options.metadata,
4693
+ data: options.data,
4694
+ chainId: chainId,
4695
+ paraswapDeltaAddress: ParaswapDelta,
4696
+ partnerAddress: partnerAddress,
4697
+ partnerTakesSurplus: partnerTakesSurplus,
4698
+ partnerFeeBps: partnerFeeBps,
4699
+ capSurplus: options.capSurplus
4700
+ };
4701
+ return _context.abrupt("return", buildExternalOrderSignableData(input));
4702
+ case 14:
4703
+ case "end":
4704
+ return _context.stop();
4705
+ }
4706
+ }, _callee);
4707
+ }));
4708
+ return function buildExternalDeltaOrder(_x, _x2) {
4709
+ return _ref.apply(this, arguments);
4710
+ };
4711
+ }();
4712
+ return {
4713
+ buildExternalDeltaOrder: buildExternalDeltaOrder
4714
+ };
4715
+ };
4716
+
4717
+ // returns whatever `contractCaller` returns
4718
+ // to allow for better versatility
4719
+ var constructSignExternalDeltaOrder = function constructSignExternalDeltaOrder(options) {
4720
+ var signExternalDeltaOrder = /*#__PURE__*/function () {
4721
+ var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(typedData) {
4722
+ var typedDataOnly, signature;
4723
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
4724
+ while (1) switch (_context.prev = _context.next) {
4725
+ case 0:
4726
+ // types allow to pass OrderData & extra_stuff, but tx will break like that
4727
+ typedDataOnly = _extends({}, typedData, {
4728
+ data: sanitizeExternalOrderData(typedData.data)
4729
+ });
4730
+ _context.next = 3;
4731
+ return options.contractCaller.signTypedDataCall(typedDataOnly);
4732
+ case 3:
4733
+ signature = _context.sent;
4734
+ return _context.abrupt("return", signature);
4735
+ case 5:
4736
+ case "end":
4737
+ return _context.stop();
4738
+ }
4739
+ }, _callee);
4740
+ }));
4741
+ return function signExternalDeltaOrder(_x) {
4742
+ return _ref.apply(this, arguments);
4743
+ };
4744
+ }();
4745
+ return {
4746
+ signExternalDeltaOrder: signExternalDeltaOrder
4747
+ };
4748
+ };
4749
+
4750
+ var constructPostExternalDeltaOrder = function constructPostExternalDeltaOrder(_ref) {
4751
+ var _ref$apiURL = _ref.apiURL,
4752
+ apiURL = _ref$apiURL === void 0 ? API_URL : _ref$apiURL,
4753
+ chainId = _ref.chainId,
4754
+ fetcher = _ref.fetcher;
4755
+ var postOrderUrl = apiURL + "/delta/orders";
4756
+ var postExternalDeltaOrder = function postExternalDeltaOrder(postData, requestParams) {
4757
+ var deltaOrderToPost = _extends({}, postData, {
4758
+ chainId: chainId
4759
+ });
4760
+ return fetcher({
4761
+ url: postOrderUrl,
4762
+ method: 'POST',
4763
+ data: deltaOrderToPost,
4764
+ requestParams: requestParams
4765
+ });
4766
+ };
4767
+ return {
4768
+ postExternalDeltaOrder: postExternalDeltaOrder
4769
+ };
4770
+ };
4771
+
4772
+ // returns whatever `contractCaller` returns
4773
+ // to allow for better versatility
4774
+ var constructPreSignExternalDeltaOrder = function constructPreSignExternalDeltaOrder(options) {
4775
+ var hashExternalDeltaOrderTypedData = function hashExternalDeltaOrderTypedData(typedData) {
4776
+ // types allow to pass OrderData & extra_stuff, but tx will break like that
4777
+ var typedDataOnly = _extends({}, typedData, {
4778
+ data: sanitizeExternalOrderData(typedData.data)
4779
+ });
4780
+ var orderHash = produceExternalOrderHash(typedDataOnly);
4781
+ return orderHash;
4782
+ };
4783
+ // cached internally
4784
+ var _constructGetDeltaCon = constructGetDeltaContract(options),
4785
+ getDeltaContract = _constructGetDeltaCon.getDeltaContract;
4786
+ var hashExternalDeltaOrder = /*#__PURE__*/function () {
4787
+ var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(orderData, requestParams) {
4788
+ var ParaswapDelta, typedData;
4789
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
4790
+ while (1) switch (_context.prev = _context.next) {
4791
+ case 0:
4792
+ _context.next = 2;
4793
+ return getDeltaContract(requestParams);
4794
+ case 2:
4795
+ ParaswapDelta = _context.sent;
4796
+ if (ParaswapDelta) {
4797
+ _context.next = 5;
4798
+ break;
4799
+ }
4800
+ throw new Error("Delta is not available on chain " + options.chainId);
4801
+ case 5:
4802
+ typedData = produceExternalOrderTypedData({
4803
+ orderInput: orderData,
4804
+ chainId: options.chainId,
4805
+ paraswapDeltaAddress: ParaswapDelta
4806
+ });
4807
+ return _context.abrupt("return", hashExternalDeltaOrderTypedData(typedData));
4808
+ case 7:
4809
+ case "end":
4810
+ return _context.stop();
4811
+ }
4812
+ }, _callee);
4813
+ }));
4814
+ return function hashExternalDeltaOrder(_x, _x2) {
4815
+ return _ref.apply(this, arguments);
4816
+ };
4817
+ }();
4818
+ var setExternalDeltaOrderPreSignature = /*#__PURE__*/function () {
4819
+ var _ref2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2(orderHash, overrides, requestParams) {
4820
+ var ParaswapDelta, res;
4821
+ return _regeneratorRuntime().wrap(function _callee2$(_context2) {
4822
+ while (1) switch (_context2.prev = _context2.next) {
4823
+ case 0:
4824
+ if (overrides === void 0) {
4825
+ overrides = {};
4826
+ }
4827
+ _context2.next = 3;
4828
+ return getDeltaContract(requestParams);
4829
+ case 3:
4830
+ ParaswapDelta = _context2.sent;
4831
+ if (ParaswapDelta) {
4832
+ _context2.next = 6;
4833
+ break;
4834
+ }
4835
+ throw new Error("Delta is not available on chain " + options.chainId);
4836
+ case 6:
4837
+ _context2.next = 8;
4838
+ return options.contractCaller.transactCall({
4839
+ address: ParaswapDelta,
4840
+ abi: PreSignatureModuleAbi,
4841
+ contractMethod: 'setPreSignature',
4842
+ args: [orderHash, true],
4843
+ overrides: overrides
4844
+ });
4845
+ case 8:
4846
+ res = _context2.sent;
4847
+ return _context2.abrupt("return", res);
4848
+ case 10:
4849
+ case "end":
4850
+ return _context2.stop();
4851
+ }
4852
+ }, _callee2);
4853
+ }));
4854
+ return function setExternalDeltaOrderPreSignature(_x3, _x4, _x5) {
4855
+ return _ref2.apply(this, arguments);
4856
+ };
4857
+ }();
4858
+ var preSignExternalDeltaOrder = /*#__PURE__*/function () {
4859
+ var _ref3 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee3(signableOrderData, overrides, requestParams) {
4860
+ var orderHash, res;
4861
+ return _regeneratorRuntime().wrap(function _callee3$(_context3) {
4862
+ while (1) switch (_context3.prev = _context3.next) {
4863
+ case 0:
4864
+ if (overrides === void 0) {
4865
+ overrides = {};
4866
+ }
4867
+ orderHash = hashExternalDeltaOrderTypedData(signableOrderData);
4868
+ _context3.next = 4;
4869
+ return setExternalDeltaOrderPreSignature(orderHash, overrides, requestParams);
4870
+ case 4:
4871
+ res = _context3.sent;
4872
+ return _context3.abrupt("return", res);
4873
+ case 6:
4874
+ case "end":
4875
+ return _context3.stop();
4876
+ }
4877
+ }, _callee3);
4878
+ }));
4879
+ return function preSignExternalDeltaOrder(_x6, _x7, _x8) {
4880
+ return _ref3.apply(this, arguments);
4881
+ };
4882
+ }();
4883
+ return {
4884
+ hashExternalDeltaOrderTypedData: hashExternalDeltaOrderTypedData,
4885
+ hashExternalDeltaOrder: hashExternalDeltaOrder,
4886
+ setExternalDeltaOrderPreSignature: setExternalDeltaOrderPreSignature,
4887
+ preSignExternalDeltaOrder: preSignExternalDeltaOrder
4888
+ };
4889
+ };
4890
+ function produceExternalOrderHash(typedData) {
4891
+ return hashTypedData({
4892
+ domain: {
4893
+ name: typedData.domain.name,
4894
+ version: typedData.domain.version,
4895
+ chainId: typedData.domain.chainId,
4896
+ verifyingContract: typedData.domain.verifyingContract
4897
+ },
4898
+ types: typedData.types,
4899
+ primaryType: findPrimaryType(typedData.types),
4900
+ message: typedData.data
4901
+ });
4902
+ }
4903
+
4409
4904
  var constructGetQuote = function constructGetQuote(_ref) {
4410
4905
  var _ref$apiURL = _ref.apiURL,
4411
4906
  apiURL = _ref$apiURL === void 0 ? API_URL : _ref$apiURL,
@@ -4939,6 +5434,7 @@ var constructSwapSDK = function constructSwapSDK(config) {
4939
5434
  return constructPartialSDK(config, constructGetBalances, constructGetTokens, constructGetSpender, constructApproveTokenWithTxResponse, constructBuildTx, constructGetAdapters, constructGetRate, constructSwapTx);
4940
5435
  };
4941
5436
 
5437
+ /** @deprecated Limit Orders are deprecated and will be removed in a future version. */
4942
5438
  var constructSubmitLimitOrder = function constructSubmitLimitOrder(options) {
4943
5439
  var _constructBuildLimitO = constructBuildLimitOrder(options),
4944
5440
  buildLimitOrder = _constructBuildLimitO.buildLimitOrder;
@@ -5036,7 +5532,10 @@ var constructSubmitLimitOrder = function constructSubmitLimitOrder(options) {
5036
5532
  submitP2POrder: submitP2POrder
5037
5533
  };
5038
5534
  };
5039
- /** @description construct SDK with every LimitOrders-related method, fetching from API and contract calls */
5535
+ /**
5536
+ * @description construct SDK with every LimitOrders-related method, fetching from API and contract calls
5537
+ * @deprecated Limit Orders are deprecated and will be removed in a future version.
5538
+ */
5040
5539
  var constructAllLimitOrdersHandlers = function constructAllLimitOrdersHandlers(options) {
5041
5540
  var limitOrdersGetters = constructGetLimitOrders(options);
5042
5541
  var limitOrdersContractGetter = constructGetLimitOrdersContract(options);
@@ -5102,6 +5601,55 @@ var constructSubmitDeltaOrder = function constructSubmitDeltaOrder(options) {
5102
5601
  submitDeltaOrder: submitDeltaOrder
5103
5602
  };
5104
5603
  };
5604
+ var constructSubmitExternalDeltaOrder = function constructSubmitExternalDeltaOrder(options) {
5605
+ var _constructBuildExtern = constructBuildExternalDeltaOrder(options),
5606
+ buildExternalDeltaOrder = _constructBuildExtern.buildExternalDeltaOrder;
5607
+ var _constructSignExterna = constructSignExternalDeltaOrder(options),
5608
+ signExternalDeltaOrder = _constructSignExterna.signExternalDeltaOrder;
5609
+ var _constructPostExterna = constructPostExternalDeltaOrder(options),
5610
+ postExternalDeltaOrder = _constructPostExterna.postExternalDeltaOrder;
5611
+ var submitExternalDeltaOrder = /*#__PURE__*/function () {
5612
+ var _ref2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2(orderParams) {
5613
+ var orderData, signature, response;
5614
+ return _regeneratorRuntime().wrap(function _callee2$(_context2) {
5615
+ while (1) switch (_context2.prev = _context2.next) {
5616
+ case 0:
5617
+ _context2.next = 2;
5618
+ return buildExternalDeltaOrder(orderParams);
5619
+ case 2:
5620
+ orderData = _context2.sent;
5621
+ _context2.next = 5;
5622
+ return signExternalDeltaOrder(orderData);
5623
+ case 5:
5624
+ signature = _context2.sent;
5625
+ _context2.next = 8;
5626
+ return postExternalDeltaOrder({
5627
+ signature: signature,
5628
+ partner: orderParams.partner,
5629
+ order: orderData.data,
5630
+ partiallyFillable: orderParams.partiallyFillable,
5631
+ referrerAddress: orderParams.referrerAddress,
5632
+ type: orderParams.type,
5633
+ includeAgents: orderParams.includeAgents,
5634
+ excludeAgents: orderParams.excludeAgents
5635
+ });
5636
+ case 8:
5637
+ response = _context2.sent;
5638
+ return _context2.abrupt("return", response);
5639
+ case 10:
5640
+ case "end":
5641
+ return _context2.stop();
5642
+ }
5643
+ }, _callee2);
5644
+ }));
5645
+ return function submitExternalDeltaOrder(_x2) {
5646
+ return _ref2.apply(this, arguments);
5647
+ };
5648
+ }();
5649
+ return {
5650
+ submitExternalDeltaOrder: submitExternalDeltaOrder
5651
+ };
5652
+ };
5105
5653
  /** @description construct SDK with every Delta Order-related method, fetching from API and Order signing */
5106
5654
  var constructAllDeltaOrdersHandlers = function constructAllDeltaOrdersHandlers(options) {
5107
5655
  var deltaOrdersGetters = constructGetDeltaOrders(options);
@@ -5118,9 +5666,15 @@ var constructAllDeltaOrdersHandlers = function constructAllDeltaOrdersHandlers(o
5118
5666
  var deltaOrdersPost = constructPostDeltaOrder(options);
5119
5667
  var deltaOrdersCancel = constructCancelDeltaOrder(options);
5120
5668
  var deltaTokenModule = constructDeltaTokenModule(options);
5121
- return _extends({}, deltaOrdersGetters, deltaOrdersContractGetter, deltaPrice, partnerFee, bridgeInfo, isTokenSupportedInDelta, approveTokenForDelta, deltaOrdersSubmit, deltaOrdersBuild, deltaOrdersSign, deltaOrdersPreSign, deltaOrdersPost, deltaOrdersCancel, deltaTokenModule);
5669
+ var externalDeltaOrdersSubmit = constructSubmitExternalDeltaOrder(options);
5670
+ var externalDeltaOrdersBuild = constructBuildExternalDeltaOrder(options);
5671
+ var externalDeltaOrdersSign = constructSignExternalDeltaOrder(options);
5672
+ var externalDeltaOrdersPost = constructPostExternalDeltaOrder(options);
5673
+ var externalDeltaOrdersPreSign = constructPreSignExternalDeltaOrder(options);
5674
+ return _extends({}, deltaOrdersGetters, deltaOrdersContractGetter, deltaPrice, partnerFee, bridgeInfo, isTokenSupportedInDelta, approveTokenForDelta, deltaOrdersSubmit, deltaOrdersBuild, deltaOrdersSign, deltaOrdersPreSign, deltaOrdersPost, deltaOrdersCancel, deltaTokenModule, externalDeltaOrdersSubmit, externalDeltaOrdersBuild, externalDeltaOrdersSign, externalDeltaOrdersPost, externalDeltaOrdersPreSign);
5122
5675
  };
5123
5676
 
5677
+ /** @deprecated NFT Orders are deprecated and will be removed in a future version. */
5124
5678
  var constructSubmitNFTOrder = function constructSubmitNFTOrder(options) {
5125
5679
  var _constructBuildNFTOrd = constructBuildNFTOrder(options),
5126
5680
  buildNFTOrder = _constructBuildNFTOrd.buildNFTOrder;
@@ -5218,7 +5772,10 @@ var constructSubmitNFTOrder = function constructSubmitNFTOrder(options) {
5218
5772
  submitP2POrder: submitP2POrder
5219
5773
  };
5220
5774
  };
5221
- /** @description construct SDK with every NFTOrders-related method, fetching from API and contract calls */
5775
+ /**
5776
+ * @description construct SDK with every NFTOrders-related method, fetching from API and contract calls
5777
+ * @deprecated NFT Orders are deprecated and will be removed in a future version.
5778
+ */
5222
5779
  var constructAllNFTOrdersHandlers = function constructAllNFTOrdersHandlers(options) {
5223
5780
  var NFTOrdersGetters = constructGetNFTOrders(options);
5224
5781
  var NFTOrdersContractGetter = constructGetNFTOrdersContract(options);
@@ -5429,5 +5986,5 @@ function constructSimpleContractCaller(providerOptions) {
5429
5986
  };
5430
5987
  }
5431
5988
 
5432
- export { API_URL, AssetType, DEFAULT_VERSION, constructAllDeltaOrdersHandlers, constructAllLimitOrdersHandlers, constructAllNFTOrdersHandlers, constructApproveToken, constructApproveTokenForDelta, constructApproveTokenForLimitOrder, constructApproveTokenForNFTOrder, constructFetcher$2 as constructAxiosFetcher, constructBuildDeltaOrder, constructBuildLimitOrder, constructBuildLimitOrderTx, constructBuildNFTOrder, constructBuildNFTOrderTx, constructBuildTx, constructCancelDeltaOrder, constructCancelLimitOrder, constructCancelNFTOrder, constructDeltaTokenModule, constructEthersV5ContractCaller as constructEthersContractCaller, constructEthersV5ContractCaller, constructContractCaller$2 as constructEthersV6ContractCaller, constructFetcher$1 as constructFetchFetcher, constructFillOrderDirectly, constructFullSDK, constructGetAdapters, constructGetBalances, constructGetBridgeInfo, constructGetDeltaContract, constructGetDeltaOrders, constructGetDeltaPrice, constructGetLimitOrders, constructGetLimitOrdersContract, constructGetNFTOrders, constructGetNFTOrdersContract, constructGetPartnerFee, constructGetQuote, constructGetRate, constructGetSpender, constructGetTokens, constructIsTokenSupportedInDelta, constructPartialSDK, constructPostDeltaOrder, constructPostLimitOrder, constructPostNFTOrder, constructPreSignDeltaOrder, constructSignDeltaOrder, constructSignLimitOrder, constructSignNFTOrder, constructSimpleSDK, constructSubmitDeltaOrder, constructSubmitLimitOrder, constructSubmitNFTOrder, constructSwapSDK, constructSwapTx, constructToken, constructContractCaller as constructViemContractCaller, constructContractCaller$1 as constructWeb3ContractCaller, isAllowance, isFetcherError, txParamsToViemTxParams };
5989
+ export { API_URL, AssetType, DEFAULT_VERSION, constructAllDeltaOrdersHandlers, constructAllLimitOrdersHandlers, constructAllNFTOrdersHandlers, constructApproveToken, constructApproveTokenForDelta, constructApproveTokenForLimitOrder, constructApproveTokenForNFTOrder, constructFetcher$2 as constructAxiosFetcher, constructBuildDeltaOrder, constructBuildExternalDeltaOrder, constructBuildLimitOrder, constructBuildLimitOrderTx, constructBuildNFTOrder, constructBuildNFTOrderTx, constructBuildTx, constructCancelDeltaOrder, constructCancelLimitOrder, constructCancelNFTOrder, constructDeltaTokenModule, constructEthersV5ContractCaller as constructEthersContractCaller, constructEthersV5ContractCaller, constructContractCaller$2 as constructEthersV6ContractCaller, constructFetcher$1 as constructFetchFetcher, constructFillOrderDirectly, constructFullSDK, constructGetAdapters, constructGetBalances, constructGetBridgeInfo, constructGetDeltaContract, constructGetDeltaOrders, constructGetDeltaPrice, constructGetLimitOrders, constructGetLimitOrdersContract, constructGetNFTOrders, constructGetNFTOrdersContract, constructGetPartnerFee, constructGetQuote, constructGetRate, constructGetSpender, constructGetTokens, constructIsTokenSupportedInDelta, constructPartialSDK, constructPostDeltaOrder, constructPostExternalDeltaOrder, constructPostLimitOrder, constructPostNFTOrder, constructPreSignDeltaOrder, constructPreSignExternalDeltaOrder, constructSignDeltaOrder, constructSignExternalDeltaOrder, constructSignLimitOrder, constructSignNFTOrder, constructSimpleSDK, constructSubmitDeltaOrder, constructSubmitExternalDeltaOrder, constructSubmitLimitOrder, constructSubmitNFTOrder, constructSwapSDK, constructSwapTx, constructToken, constructContractCaller as constructViemContractCaller, constructContractCaller$1 as constructWeb3ContractCaller, isAllowance, isFetcherError, txParamsToViemTxParams };
5433
5990
  //# sourceMappingURL=sdk.esm.js.map