@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
@@ -1257,6 +1257,7 @@ function assetAddressToUint(assetAddress, assetType) {
1257
1257
  // ERC1155 = 1,
1258
1258
  // ERC721 = 2,
1259
1259
  // }
1260
+ /** @deprecated NFT Orders are deprecated and will be removed in a future version. */
1260
1261
  var AssetType = {
1261
1262
  ERC20: 0,
1262
1263
  ERC1155: 1,
@@ -1474,6 +1475,7 @@ function buildOrderData(_ref) {
1474
1475
  };
1475
1476
  }
1476
1477
 
1478
+ /** @deprecated Limit Orders are deprecated and will be removed in a future version. */
1477
1479
  var constructBuildLimitOrder = function constructBuildLimitOrder(options) {
1478
1480
  var chainId = options.chainId;
1479
1481
  // getContracts is cached internally for the same instance of SDK
@@ -1517,6 +1519,7 @@ var constructBuildLimitOrder = function constructBuildLimitOrder(options) {
1517
1519
 
1518
1520
  // returns whatever `contractCaller` returns
1519
1521
  // to allow for better versatility
1522
+ /** @deprecated Limit Orders are deprecated and will be removed in a future version. */
1520
1523
  var constructSignLimitOrder = function constructSignLimitOrder(options) {
1521
1524
  var signLimitOrder = function signLimitOrder(typedData) {
1522
1525
  // types allow to pass OrderData & extra_stuff, but tx will break like that
@@ -1554,6 +1557,7 @@ var MinAugustusRFQAbi$1 = [{
1554
1557
  }];
1555
1558
  // returns whatever `contractCaller` returns
1556
1559
  // to allow for better versatility
1560
+ /** @deprecated Limit Orders are deprecated and will be removed in a future version. */
1557
1561
  var constructCancelLimitOrder = function constructCancelLimitOrder(options) {
1558
1562
  // getAugustusRFQ is cached internally for the same instance of SDK
1559
1563
  // so should persist across same apiUrl & network
@@ -1987,6 +1991,7 @@ var MinAugustusRFQAbi = [{
1987
1991
  }];
1988
1992
  // returns whatever `contractCaller` returns
1989
1993
  // to allow for better versatility
1994
+ /** @deprecated Limit Orders are deprecated and will be removed in a future version. */
1990
1995
  function constructFillOrderDirectly(options) {
1991
1996
  // getAugustusRFQ is cached internally for the same instance of SDK
1992
1997
  // so should persist across same apiUrl & network
@@ -2080,6 +2085,7 @@ function constructFillOrderDirectly(options) {
2080
2085
  };
2081
2086
  }
2082
2087
 
2088
+ /** @deprecated Limit Orders are deprecated and will be removed in a future version. */
2083
2089
  var constructGetLimitOrders = function constructGetLimitOrders(_ref) {
2084
2090
  var _ref$apiURL = _ref.apiURL,
2085
2091
  apiURL = _ref$apiURL === void 0 ? API_URL : _ref$apiURL,
@@ -2186,6 +2192,7 @@ var constructGetLimitOrders = function constructGetLimitOrders(_ref) {
2186
2192
  };
2187
2193
  };
2188
2194
 
2195
+ /** @deprecated Limit Orders are deprecated and will be removed in a future version. */
2189
2196
  var constructPostLimitOrder = function constructPostLimitOrder(_ref) {
2190
2197
  var _ref$apiURL = _ref.apiURL,
2191
2198
  apiURL = _ref$apiURL === void 0 ? API_URL : _ref$apiURL,
@@ -2237,6 +2244,7 @@ var constructPostLimitOrder = function constructPostLimitOrder(_ref) {
2237
2244
 
2238
2245
  // returns whatever `contractCaller` returns
2239
2246
  // to allow for better versatility
2247
+ /** @deprecated Limit Orders are deprecated and will be removed in a future version. */
2240
2248
  var constructApproveTokenForLimitOrder = function constructApproveTokenForLimitOrder(options) {
2241
2249
  // getAugustusRFQ is cached internally for the same instance of SDK
2242
2250
  // so should persist across same apiUrl & network
@@ -2253,6 +2261,7 @@ var constructApproveTokenForLimitOrder = function constructApproveTokenForLimitO
2253
2261
  };
2254
2262
  };
2255
2263
 
2264
+ /** @deprecated Limit Orders are deprecated and will be removed in a future version. */
2256
2265
  var constructGetLimitOrdersContract = function constructGetLimitOrdersContract(options) {
2257
2266
  // analogous to getSpender() but for Limit Orders Contract = AugustusRFQ
2258
2267
  var _constructGetSpender = constructGetSpender(options),
@@ -2265,6 +2274,7 @@ var constructGetLimitOrdersContract = function constructGetLimitOrdersContract(o
2265
2274
  };
2266
2275
 
2267
2276
  var _excluded$7 = ["srcToken", "destToken", "amount", "options"];
2277
+ /** @deprecated Limit Orders are deprecated and will be removed in a future version. */
2268
2278
  var constructBuildLimitOrderTx = function constructBuildLimitOrderTx(_ref) {
2269
2279
  var _ref$apiURL = _ref.apiURL,
2270
2280
  apiURL = _ref$apiURL === void 0 ? API_URL : _ref$apiURL,
@@ -2400,6 +2410,7 @@ function checkAndParseOrders$1(orders) {
2400
2410
  };
2401
2411
  }
2402
2412
 
2413
+ /** @deprecated NFT Orders are deprecated and will be removed in a future version. */
2403
2414
  var constructBuildNFTOrder = function constructBuildNFTOrder(options) {
2404
2415
  var chainId = options.chainId;
2405
2416
  // getContracts is cached internally for the same instance of SDK
@@ -2440,6 +2451,7 @@ var constructBuildNFTOrder = function constructBuildNFTOrder(options) {
2440
2451
 
2441
2452
  // returns whatever `contractCaller` returns
2442
2453
  // to allow for better versatility
2454
+ /** @deprecated NFT Orders are deprecated and will be removed in a future version. */
2443
2455
  var constructSignNFTOrder = function constructSignNFTOrder(options) {
2444
2456
  var signNFTOrder = function signNFTOrder(typedData) {
2445
2457
  // types allow to pass OrderData & extra_stuff, but tx will break like that
@@ -2456,6 +2468,7 @@ var constructSignNFTOrder = function constructSignNFTOrder(options) {
2456
2468
  };
2457
2469
 
2458
2470
  // should work the same as for LimitOrders
2471
+ /** @deprecated NFT Orders are deprecated and will be removed in a future version. */
2459
2472
  var constructCancelNFTOrder = function constructCancelNFTOrder(options) {
2460
2473
  var _constructCancelLimit = constructCancelLimitOrder(options),
2461
2474
  cancelLimitOrder = _constructCancelLimit.cancelLimitOrder,
@@ -2466,6 +2479,7 @@ var constructCancelNFTOrder = function constructCancelNFTOrder(options) {
2466
2479
  };
2467
2480
  };
2468
2481
 
2482
+ /** @deprecated NFT Orders are deprecated and will be removed in a future version. */
2469
2483
  var constructGetNFTOrders = function constructGetNFTOrders(_ref) {
2470
2484
  var _ref$apiURL = _ref.apiURL,
2471
2485
  apiURL = _ref$apiURL === void 0 ? API_URL : _ref$apiURL,
@@ -2536,6 +2550,7 @@ var constructGetNFTOrders = function constructGetNFTOrders(_ref) {
2536
2550
  };
2537
2551
  };
2538
2552
 
2553
+ /** @deprecated NFT Orders are deprecated and will be removed in a future version. */
2539
2554
  var constructPostNFTOrder = function constructPostNFTOrder(_ref) {
2540
2555
  var _ref$apiURL = _ref.apiURL,
2541
2556
  apiURL = _ref$apiURL === void 0 ? API_URL : _ref$apiURL,
@@ -2586,6 +2601,7 @@ var constructPostNFTOrder = function constructPostNFTOrder(_ref) {
2586
2601
  };
2587
2602
 
2588
2603
  // should work the same as LimitOrders
2604
+ /** @deprecated NFT Orders are deprecated and will be removed in a future version. */
2589
2605
  var constructGetNFTOrdersContract = function constructGetNFTOrdersContract(options) {
2590
2606
  // analogous to getSpender() but for Limit Orders Contract = AugustusRFQ
2591
2607
  var _constructGetSpender = constructGetSpender(options),
@@ -2614,6 +2630,7 @@ var MinNFTAbi = [{
2614
2630
  }];
2615
2631
  // returns whatever `contractCaller` returns
2616
2632
  // to allow for better versatility
2633
+ /** @deprecated NFT Orders are deprecated and will be removed in a future version. */
2617
2634
  var constructApproveTokenForNFTOrder = function constructApproveTokenForNFTOrder(options) {
2618
2635
  // approving TokenTransaferProxy as for the swap
2619
2636
  var _constructApproveToke = constructApproveToken(options),
@@ -2661,6 +2678,7 @@ var constructApproveTokenForNFTOrder = function constructApproveTokenForNFTOrder
2661
2678
  };
2662
2679
 
2663
2680
  var _excluded$6 = ["srcToken", "destToken", "amount", "options"];
2681
+ /** @deprecated NFT Orders are deprecated and will be removed in a future version. */
2664
2682
  var constructBuildNFTOrderTx = function constructBuildNFTOrderTx(_ref) {
2665
2683
  var _ref$apiURL = _ref.apiURL,
2666
2684
  apiURL = _ref$apiURL === void 0 ? API_URL : _ref$apiURL,
@@ -3571,6 +3589,186 @@ var constructGetPartnerFee = function constructGetPartnerFee(_ref) {
3571
3589
  };
3572
3590
  };
3573
3591
 
3592
+ // default deadline = 10 min
3593
+ var DELTA_DEFAULT_EXPIRY = 10 * 60; // seconds
3594
+ // fee and address are encoded together
3595
+ function producePartnerAndFee(_ref) {
3596
+ var partnerFeeBps = _ref.partnerFeeBps,
3597
+ partnerAddress = _ref.partnerAddress,
3598
+ partnerTakesSurplus = _ref.partnerTakesSurplus,
3599
+ capSurplus = _ref.capSurplus;
3600
+ var capSurplusShifted = BigInt(capSurplus) << BigInt(9);
3601
+ if (partnerAddress === ZERO_ADDRESS) {
3602
+ return capSurplusShifted.toString(10);
3603
+ } else {
3604
+ var partnerAndFee = BigInt(partnerAddress) << BigInt(96) | BigInt(partnerFeeBps.toFixed(0)) | BigInt(partnerTakesSurplus) << BigInt(8) | capSurplusShifted;
3605
+ return partnerAndFee.toString(10);
3606
+ }
3607
+ }
3608
+ function applySlippage(_ref2) {
3609
+ var amount = _ref2.amount,
3610
+ slippageBps = _ref2.slippageBps,
3611
+ increase = _ref2.increase;
3612
+ tsEssentials.assert(Number.isInteger(slippageBps) && slippageBps >= 0 && slippageBps <= 10000, 'slippageBps must be an integer between 0 and 10_000');
3613
+ var BPS_BASE = 10000n;
3614
+ var amt = BigInt(amount);
3615
+ var bps = BigInt(slippageBps);
3616
+ return increase ? (amt * (BPS_BASE + bps) / BPS_BASE).toString(10) : (amt * (BPS_BASE - bps) / BPS_BASE).toString(10);
3617
+ }
3618
+ function resolvePartnerFee(_x, _x2, _x3) {
3619
+ return _resolvePartnerFee.apply(this, arguments);
3620
+ }
3621
+ function _resolvePartnerFee() {
3622
+ _resolvePartnerFee = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(options, getPartnerFee, requestParams) {
3623
+ var _options$partnerFeeBp, _partnerFeeBps2, _partnerTakesSurplus2;
3624
+ var partnerAddress, partnerFeeBps, partnerTakesSurplus, feeOrTakeSurplusSupplied, partner, _partnerAddress, _partnerAddress2, _partnerFeeBps, _partnerTakesSurplus, partnerFeeResponse;
3625
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
3626
+ while (1) switch (_context.prev = _context.next) {
3627
+ case 0:
3628
+ // externally supplied partner fee data takes precedence
3629
+ partnerAddress = options.partnerAddress;
3630
+ partnerFeeBps = (_options$partnerFeeBp = options.partnerFeeBps) != null ? _options$partnerFeeBp : options.deltaPrice.partnerFee ? options.deltaPrice.partnerFee * 100 : undefined;
3631
+ partnerTakesSurplus = options.partnerTakesSurplus; // if fee given, takeSurplus is ignored
3632
+ feeOrTakeSurplusSupplied = partnerFeeBps !== undefined || partnerTakesSurplus !== undefined;
3633
+ if (!(partnerAddress === undefined || feeOrTakeSurplusSupplied)) {
3634
+ _context.next = 16;
3635
+ break;
3636
+ }
3637
+ partner = options.partner || options.deltaPrice.partner;
3638
+ if (partner) {
3639
+ _context.next = 10;
3640
+ break;
3641
+ }
3642
+ // if no partner given in options or deltaPrice, default partnerAddress to zero,
3643
+ // unless supplied explicitly
3644
+ partnerAddress = (_partnerAddress = partnerAddress) != null ? _partnerAddress : ZERO_ADDRESS;
3645
+ _context.next = 16;
3646
+ break;
3647
+ case 10:
3648
+ _context.next = 12;
3649
+ return getPartnerFee({
3650
+ partner: partner
3651
+ }, requestParams);
3652
+ case 12:
3653
+ partnerFeeResponse = _context.sent;
3654
+ partnerAddress = (_partnerAddress2 = partnerAddress) != null ? _partnerAddress2 : partnerFeeResponse.partnerAddress;
3655
+ // deltaPrice.partnerFee and partnerFeeResponse.partnerFee should be the same, but give priority to externally provided
3656
+ partnerFeeBps = (_partnerFeeBps = partnerFeeBps) != null ? _partnerFeeBps : partnerFeeResponse.partnerFee * 100;
3657
+ partnerTakesSurplus = (_partnerTakesSurplus = partnerTakesSurplus) != null ? _partnerTakesSurplus : partnerFeeResponse.takeSurplus;
3658
+ case 16:
3659
+ return _context.abrupt("return", {
3660
+ partnerAddress: partnerAddress,
3661
+ partnerFeeBps: (_partnerFeeBps2 = partnerFeeBps) != null ? _partnerFeeBps2 : 0,
3662
+ partnerTakesSurplus: (_partnerTakesSurplus2 = partnerTakesSurplus) != null ? _partnerTakesSurplus2 : false
3663
+ });
3664
+ case 17:
3665
+ case "end":
3666
+ return _context.stop();
3667
+ }
3668
+ }, _callee);
3669
+ }));
3670
+ return _resolvePartnerFee.apply(this, arguments);
3671
+ }
3672
+ function resolveAmounts(options) {
3673
+ var _options$side;
3674
+ var srcAmount;
3675
+ var destAmount;
3676
+ var swapSide = options.slippage !== undefined ? options.srcAmount !== undefined ? core.SwapSide.SELL : core.SwapSide.BUY : (_options$side = options.side) != null ? _options$side : core.SwapSide.SELL;
3677
+ if (options.slippage !== undefined) {
3678
+ if (options.srcAmount !== undefined) {
3679
+ // SELL with slippage: destAmount auto-computed
3680
+ srcAmount = options.srcAmount;
3681
+ destAmount = applySlippage({
3682
+ amount: options.deltaPrice.destAmount,
3683
+ slippageBps: options.slippage,
3684
+ increase: false
3685
+ });
3686
+ } else {
3687
+ // BUY with slippage: srcAmount auto-computed
3688
+ destAmount = options.destAmount;
3689
+ srcAmount = applySlippage({
3690
+ amount: options.deltaPrice.srcAmount,
3691
+ slippageBps: options.slippage,
3692
+ increase: true
3693
+ });
3694
+ }
3695
+ } else {
3696
+ srcAmount = options.srcAmount;
3697
+ destAmount = options.destAmount;
3698
+ }
3699
+ var expectedAmount = swapSide === core.SwapSide.SELL ? options.deltaPrice.destAmount : options.deltaPrice.srcAmount;
3700
+ return {
3701
+ srcAmount: srcAmount,
3702
+ destAmount: destAmount,
3703
+ expectedAmount: expectedAmount,
3704
+ swapSide: swapSide
3705
+ };
3706
+ }
3707
+ function sanitizeDeltaOrderData(_ref3) {
3708
+ var owner = _ref3.owner,
3709
+ beneficiary = _ref3.beneficiary,
3710
+ srcToken = _ref3.srcToken,
3711
+ destToken = _ref3.destToken,
3712
+ srcAmount = _ref3.srcAmount,
3713
+ destAmount = _ref3.destAmount,
3714
+ expectedAmount = _ref3.expectedAmount,
3715
+ deadline = _ref3.deadline,
3716
+ nonce = _ref3.nonce,
3717
+ permit = _ref3.permit,
3718
+ partnerAndFee = _ref3.partnerAndFee,
3719
+ bridge = _ref3.bridge,
3720
+ kind = _ref3.kind,
3721
+ metadata = _ref3.metadata;
3722
+ return {
3723
+ owner: owner,
3724
+ beneficiary: beneficiary,
3725
+ srcToken: srcToken,
3726
+ destToken: destToken,
3727
+ srcAmount: srcAmount,
3728
+ destAmount: destAmount,
3729
+ expectedAmount: expectedAmount,
3730
+ deadline: deadline,
3731
+ nonce: nonce,
3732
+ permit: permit,
3733
+ partnerAndFee: partnerAndFee,
3734
+ bridge: bridge,
3735
+ kind: kind,
3736
+ metadata: metadata
3737
+ };
3738
+ }
3739
+ function sanitizeExternalOrderData(_ref4) {
3740
+ var owner = _ref4.owner,
3741
+ handler = _ref4.handler,
3742
+ srcToken = _ref4.srcToken,
3743
+ destToken = _ref4.destToken,
3744
+ srcAmount = _ref4.srcAmount,
3745
+ destAmount = _ref4.destAmount,
3746
+ expectedAmount = _ref4.expectedAmount,
3747
+ deadline = _ref4.deadline,
3748
+ nonce = _ref4.nonce,
3749
+ permit = _ref4.permit,
3750
+ partnerAndFee = _ref4.partnerAndFee,
3751
+ kind = _ref4.kind,
3752
+ metadata = _ref4.metadata,
3753
+ data = _ref4.data;
3754
+ return {
3755
+ owner: owner,
3756
+ handler: handler,
3757
+ srcToken: srcToken,
3758
+ destToken: destToken,
3759
+ srcAmount: srcAmount,
3760
+ destAmount: destAmount,
3761
+ expectedAmount: expectedAmount,
3762
+ deadline: deadline,
3763
+ nonce: nonce,
3764
+ permit: permit,
3765
+ partnerAndFee: partnerAndFee,
3766
+ kind: kind,
3767
+ metadata: metadata,
3768
+ data: data
3769
+ };
3770
+ }
3771
+
3574
3772
  // Order(address owner,address beneficiary,address srcToken,address destToken,uint256 srcAmount,uint256 destAmount,uint256 deadline,uint256 nonce,bytes permit, bridge Bridge)";
3575
3773
  var SWAP_ORDER_EIP_712_TYPES = {
3576
3774
  Order: [{
@@ -3637,7 +3835,7 @@ function produceDeltaOrderTypedData(_ref) {
3637
3835
  var orderInput = _ref.orderInput,
3638
3836
  chainId = _ref.chainId,
3639
3837
  paraswapDeltaAddress = _ref.paraswapDeltaAddress;
3640
- var typedData = {
3838
+ return {
3641
3839
  types: {
3642
3840
  Order: SWAP_ORDER_EIP_712_TYPES.Order,
3643
3841
  Bridge: SWAP_ORDER_EIP_712_TYPES.Bridge
@@ -3650,10 +3848,7 @@ function produceDeltaOrderTypedData(_ref) {
3650
3848
  },
3651
3849
  data: orderInput
3652
3850
  };
3653
- return typedData;
3654
3851
  }
3655
- // default deadline = 1 hour for now (may be changed later)
3656
- var DELTA_DEFAULT_EXPIRY = 60 * 60; // seconds
3657
3852
  function buildDeltaSignableOrderData(_ref2) {
3658
3853
  var owner = _ref2.owner,
3659
3854
  _ref2$beneficiary = _ref2.beneficiary,
@@ -3708,20 +3903,6 @@ function buildDeltaSignableOrderData(_ref2) {
3708
3903
  paraswapDeltaAddress: paraswapDeltaAddress
3709
3904
  });
3710
3905
  }
3711
- // fee and address are encoded together
3712
- function producePartnerAndFee(_ref3) {
3713
- var partnerFeeBps = _ref3.partnerFeeBps,
3714
- partnerAddress = _ref3.partnerAddress,
3715
- partnerTakesSurplus = _ref3.partnerTakesSurplus,
3716
- capSurplus = _ref3.capSurplus;
3717
- var capSurplusShifted = BigInt(capSurplus) << BigInt(9);
3718
- if (partnerAddress === ZERO_ADDRESS) {
3719
- return capSurplusShifted.toString(10);
3720
- } else {
3721
- var partnerAndFee = BigInt(partnerAddress) << BigInt(96) | BigInt(partnerFeeBps.toFixed(0)) | BigInt(partnerTakesSurplus) << BigInt(8) | capSurplusShifted;
3722
- return partnerAndFee.toString(10);
3723
- }
3724
- }
3725
3906
 
3726
3907
  var _SwapSideToOrderKind;
3727
3908
  var OrderKind;
@@ -3741,8 +3922,8 @@ var constructBuildDeltaOrder = function constructBuildDeltaOrder(options) {
3741
3922
  getPartnerFee = _constructGetPartnerF.getPartnerFee;
3742
3923
  var buildDeltaOrder = /*#__PURE__*/function () {
3743
3924
  var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(options, requestParams) {
3744
- var _options$partnerFeeBp, _partnerFeeBps2, _partnerTakesSurplus2, _options$side, _options$nonce;
3745
- var ParaswapDelta, partnerAddress, partnerFeeBps, partnerTakesSurplus, feeOrTakeSurplusSupplied, partner, _partnerAddress, _partnerAddress2, _partnerFeeBps, _partnerTakesSurplus, partnerFeeResponse, swapSide, expectedAmount, input;
3925
+ var _options$nonce;
3926
+ var ParaswapDelta, _yield$resolvePartner, partnerAddress, partnerFeeBps, partnerTakesSurplus, _resolveAmounts, srcAmount, destAmount, expectedAmount, swapSide, input;
3746
3927
  return _regeneratorRuntime().wrap(function _callee$(_context) {
3747
3928
  while (1) switch (_context.prev = _context.next) {
3748
3929
  case 0:
@@ -3756,42 +3937,14 @@ var constructBuildDeltaOrder = function constructBuildDeltaOrder(options) {
3756
3937
  }
3757
3938
  throw new Error("Delta is not available on chain " + chainId);
3758
3939
  case 5:
3759
- ////// Partner logic //////
3760
- // externally supplied partner fee data takes precedence
3761
- partnerAddress = options.partnerAddress;
3762
- partnerFeeBps = (_options$partnerFeeBp = options.partnerFeeBps) != null ? _options$partnerFeeBp : options.deltaPrice.partnerFee ? options.deltaPrice.partnerFee * 100 : undefined;
3763
- partnerTakesSurplus = options.partnerTakesSurplus; // if fee given, takeSurplus is ignored
3764
- feeOrTakeSurplusSupplied = partnerFeeBps !== undefined || partnerTakesSurplus !== undefined;
3765
- if (!(partnerAddress === undefined || feeOrTakeSurplusSupplied)) {
3766
- _context.next = 21;
3767
- break;
3768
- }
3769
- partner = options.partner || options.deltaPrice.partner;
3770
- if (partner) {
3771
- _context.next = 15;
3772
- break;
3773
- }
3774
- // if no partner given in options or deltaPrice, default partnerAddress to zero,
3775
- // unless supplied explicitly
3776
- partnerAddress = (_partnerAddress = partnerAddress) != null ? _partnerAddress : ZERO_ADDRESS;
3777
- _context.next = 21;
3778
- break;
3779
- case 15:
3780
- _context.next = 17;
3781
- return getPartnerFee({
3782
- partner: partner
3783
- }, requestParams);
3784
- case 17:
3785
- partnerFeeResponse = _context.sent;
3786
- partnerAddress = (_partnerAddress2 = partnerAddress) != null ? _partnerAddress2 : partnerFeeResponse.partnerAddress;
3787
- // deltaPrice.partnerFee and partnerFeeResponse.partnerFee should be the same, but give priority to externally provided
3788
- partnerFeeBps = (_partnerFeeBps = partnerFeeBps) != null ? _partnerFeeBps : partnerFeeResponse.partnerFee;
3789
- partnerTakesSurplus = (_partnerTakesSurplus = partnerTakesSurplus) != null ? _partnerTakesSurplus : partnerFeeResponse.takeSurplus;
3790
- case 21:
3791
- partnerFeeBps = (_partnerFeeBps2 = partnerFeeBps) != null ? _partnerFeeBps2 : 0;
3792
- partnerTakesSurplus = (_partnerTakesSurplus2 = partnerTakesSurplus) != null ? _partnerTakesSurplus2 : false;
3793
- swapSide = (_options$side = options.side) != null ? _options$side : core.SwapSide.SELL;
3794
- expectedAmount = swapSide === core.SwapSide.SELL ? options.deltaPrice.destAmount : options.deltaPrice.srcAmount;
3940
+ _context.next = 7;
3941
+ return resolvePartnerFee(options, getPartnerFee, requestParams);
3942
+ case 7:
3943
+ _yield$resolvePartner = _context.sent;
3944
+ partnerAddress = _yield$resolvePartner.partnerAddress;
3945
+ partnerFeeBps = _yield$resolvePartner.partnerFeeBps;
3946
+ partnerTakesSurplus = _yield$resolvePartner.partnerTakesSurplus;
3947
+ _resolveAmounts = resolveAmounts(options), srcAmount = _resolveAmounts.srcAmount, destAmount = _resolveAmounts.destAmount, expectedAmount = _resolveAmounts.expectedAmount, swapSide = _resolveAmounts.swapSide;
3795
3948
  input = {
3796
3949
  owner: options.owner,
3797
3950
  beneficiary: options.beneficiary,
@@ -3799,8 +3952,8 @@ var constructBuildDeltaOrder = function constructBuildDeltaOrder(options) {
3799
3952
  // for some cases of WETH->ETH crosschain swaps, the destToken is changed to WETH or ETH,
3800
3953
  // this is already reflected in deltaPrice
3801
3954
  destToken: options.deltaPrice.destToken,
3802
- srcAmount: options.srcAmount,
3803
- destAmount: options.destAmount,
3955
+ srcAmount: srcAmount,
3956
+ destAmount: destAmount,
3804
3957
  expectedAmount: expectedAmount,
3805
3958
  deadline: options.deadline,
3806
3959
  nonce: (_options$nonce = options.nonce) == null ? void 0 : _options$nonce.toString(10),
@@ -3816,7 +3969,7 @@ var constructBuildDeltaOrder = function constructBuildDeltaOrder(options) {
3816
3969
  bridge: options.deltaPrice.bridge // ZERO_BRIDGE for same-chain Orders
3817
3970
  };
3818
3971
  return _context.abrupt("return", buildDeltaSignableOrderData(input));
3819
- case 27:
3972
+ case 14:
3820
3973
  case "end":
3821
3974
  return _context.stop();
3822
3975
  }
@@ -3860,39 +4013,6 @@ var constructPostDeltaOrder = function constructPostDeltaOrder(_ref) {
3860
4013
  };
3861
4014
  };
3862
4015
 
3863
- function sanitizeDeltaOrderData(_ref) {
3864
- var owner = _ref.owner,
3865
- beneficiary = _ref.beneficiary,
3866
- srcToken = _ref.srcToken,
3867
- destToken = _ref.destToken,
3868
- srcAmount = _ref.srcAmount,
3869
- destAmount = _ref.destAmount,
3870
- expectedAmount = _ref.expectedAmount,
3871
- deadline = _ref.deadline,
3872
- nonce = _ref.nonce,
3873
- permit = _ref.permit,
3874
- partnerAndFee = _ref.partnerAndFee,
3875
- bridge = _ref.bridge,
3876
- kind = _ref.kind,
3877
- metadata = _ref.metadata;
3878
- return {
3879
- owner: owner,
3880
- beneficiary: beneficiary,
3881
- srcToken: srcToken,
3882
- destToken: destToken,
3883
- srcAmount: srcAmount,
3884
- destAmount: destAmount,
3885
- expectedAmount: expectedAmount,
3886
- deadline: deadline,
3887
- nonce: nonce,
3888
- permit: permit,
3889
- partnerAndFee: partnerAndFee,
3890
- bridge: bridge,
3891
- kind: kind,
3892
- metadata: metadata
3893
- };
3894
- }
3895
-
3896
4016
  // returns whatever `contractCaller` returns
3897
4017
  // to allow for better versatility
3898
4018
  var constructSignDeltaOrder = function constructSignDeltaOrder(options) {
@@ -3941,6 +4061,7 @@ var PreSignatureModuleAbi = [{
3941
4061
  stateMutability: 'nonpayable',
3942
4062
  type: 'function'
3943
4063
  }];
4064
+
3944
4065
  // returns whatever `contractCaller` returns
3945
4066
  // to allow for better versatility
3946
4067
  var constructPreSignDeltaOrder = function constructPreSignDeltaOrder(options) {
@@ -4198,6 +4319,7 @@ var constructGetDeltaOrders = function constructGetDeltaOrders(_ref) {
4198
4319
  page: options.page,
4199
4320
  limit: options.limit,
4200
4321
  type: options.type,
4322
+ onChainOrderType: options.onChainOrderType,
4201
4323
  chainId: chainIdString,
4202
4324
  status: statusString
4203
4325
  });
@@ -4409,6 +4531,379 @@ var constructIsTokenSupportedInDelta = function constructIsTokenSupportedInDelta
4409
4531
  };
4410
4532
  };
4411
4533
 
4534
+ var EXTERNAL_ORDER_EIP_712_TYPES = {
4535
+ ExternalOrder: [{
4536
+ name: 'owner',
4537
+ type: 'address'
4538
+ }, {
4539
+ name: 'handler',
4540
+ type: 'address'
4541
+ }, {
4542
+ name: 'srcToken',
4543
+ type: 'address'
4544
+ }, {
4545
+ name: 'destToken',
4546
+ type: 'address'
4547
+ }, {
4548
+ name: 'srcAmount',
4549
+ type: 'uint256'
4550
+ }, {
4551
+ name: 'destAmount',
4552
+ type: 'uint256'
4553
+ }, {
4554
+ name: 'expectedAmount',
4555
+ type: 'uint256'
4556
+ }, {
4557
+ name: 'deadline',
4558
+ type: 'uint256'
4559
+ }, {
4560
+ name: 'kind',
4561
+ type: 'uint8'
4562
+ }, {
4563
+ name: 'nonce',
4564
+ type: 'uint256'
4565
+ }, {
4566
+ name: 'partnerAndFee',
4567
+ type: 'uint256'
4568
+ }, {
4569
+ name: 'permit',
4570
+ type: 'bytes'
4571
+ }, {
4572
+ name: 'metadata',
4573
+ type: 'bytes'
4574
+ }, {
4575
+ name: 'data',
4576
+ type: 'bytes'
4577
+ }]
4578
+ };
4579
+ function produceExternalOrderTypedData(_ref) {
4580
+ var orderInput = _ref.orderInput,
4581
+ chainId = _ref.chainId,
4582
+ paraswapDeltaAddress = _ref.paraswapDeltaAddress;
4583
+ return {
4584
+ types: {
4585
+ ExternalOrder: EXTERNAL_ORDER_EIP_712_TYPES.ExternalOrder
4586
+ },
4587
+ domain: {
4588
+ name: 'Portikus',
4589
+ version: '2.0.0',
4590
+ chainId: chainId,
4591
+ verifyingContract: paraswapDeltaAddress
4592
+ },
4593
+ data: orderInput
4594
+ };
4595
+ }
4596
+ function buildExternalOrderSignableData(_ref2) {
4597
+ var owner = _ref2.owner,
4598
+ handler = _ref2.handler,
4599
+ srcToken = _ref2.srcToken,
4600
+ destToken = _ref2.destToken,
4601
+ srcAmount = _ref2.srcAmount,
4602
+ destAmount = _ref2.destAmount,
4603
+ expectedAmount = _ref2.expectedAmount,
4604
+ _ref2$deadline = _ref2.deadline,
4605
+ deadline = _ref2$deadline === void 0 ? Math.floor(Date.now() / 1000 + DELTA_DEFAULT_EXPIRY) : _ref2$deadline,
4606
+ _ref2$nonce = _ref2.nonce,
4607
+ nonce = _ref2$nonce === void 0 ? Date.now().toString(10) : _ref2$nonce,
4608
+ _ref2$permit = _ref2.permit,
4609
+ permit = _ref2$permit === void 0 ? '0x' : _ref2$permit,
4610
+ kind = _ref2.kind,
4611
+ _ref2$metadata = _ref2.metadata,
4612
+ metadata = _ref2$metadata === void 0 ? '0x' : _ref2$metadata,
4613
+ data = _ref2.data,
4614
+ partnerAddress = _ref2.partnerAddress,
4615
+ partnerFeeBps = _ref2.partnerFeeBps,
4616
+ _ref2$partnerTakesSur = _ref2.partnerTakesSurplus,
4617
+ partnerTakesSurplus = _ref2$partnerTakesSur === void 0 ? false : _ref2$partnerTakesSur,
4618
+ _ref2$capSurplus = _ref2.capSurplus,
4619
+ capSurplus = _ref2$capSurplus === void 0 ? true : _ref2$capSurplus,
4620
+ chainId = _ref2.chainId,
4621
+ paraswapDeltaAddress = _ref2.paraswapDeltaAddress;
4622
+ var orderInput = {
4623
+ owner: owner,
4624
+ handler: handler,
4625
+ srcToken: srcToken,
4626
+ destToken: destToken,
4627
+ srcAmount: srcAmount,
4628
+ destAmount: destAmount,
4629
+ expectedAmount: expectedAmount,
4630
+ deadline: deadline,
4631
+ nonce: nonce,
4632
+ permit: permit,
4633
+ partnerAndFee: producePartnerAndFee({
4634
+ partnerFeeBps: partnerFeeBps,
4635
+ partnerAddress: partnerAddress,
4636
+ partnerTakesSurplus: partnerTakesSurplus,
4637
+ capSurplus: capSurplus
4638
+ }),
4639
+ kind: kind,
4640
+ metadata: metadata,
4641
+ data: data
4642
+ };
4643
+ return produceExternalOrderTypedData({
4644
+ orderInput: orderInput,
4645
+ chainId: chainId,
4646
+ paraswapDeltaAddress: paraswapDeltaAddress
4647
+ });
4648
+ }
4649
+
4650
+ var constructBuildExternalDeltaOrder = function constructBuildExternalDeltaOrder(options) {
4651
+ var chainId = options.chainId;
4652
+ // cached internally
4653
+ var _constructGetDeltaCon = constructGetDeltaContract(options),
4654
+ getDeltaContract = _constructGetDeltaCon.getDeltaContract;
4655
+ // cached internally for `partner`
4656
+ var _constructGetPartnerF = constructGetPartnerFee(options),
4657
+ getPartnerFee = _constructGetPartnerF.getPartnerFee;
4658
+ var buildExternalDeltaOrder = /*#__PURE__*/function () {
4659
+ var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(options, requestParams) {
4660
+ var _options$nonce;
4661
+ var ParaswapDelta, _yield$resolvePartner, partnerAddress, partnerFeeBps, partnerTakesSurplus, _resolveAmounts, srcAmount, destAmount, expectedAmount, swapSide, input;
4662
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
4663
+ while (1) switch (_context.prev = _context.next) {
4664
+ case 0:
4665
+ _context.next = 2;
4666
+ return getDeltaContract(requestParams);
4667
+ case 2:
4668
+ ParaswapDelta = _context.sent;
4669
+ if (ParaswapDelta) {
4670
+ _context.next = 5;
4671
+ break;
4672
+ }
4673
+ throw new Error("Delta is not available on chain " + chainId);
4674
+ case 5:
4675
+ _context.next = 7;
4676
+ return resolvePartnerFee(options, getPartnerFee, requestParams);
4677
+ case 7:
4678
+ _yield$resolvePartner = _context.sent;
4679
+ partnerAddress = _yield$resolvePartner.partnerAddress;
4680
+ partnerFeeBps = _yield$resolvePartner.partnerFeeBps;
4681
+ partnerTakesSurplus = _yield$resolvePartner.partnerTakesSurplus;
4682
+ _resolveAmounts = resolveAmounts(options), srcAmount = _resolveAmounts.srcAmount, destAmount = _resolveAmounts.destAmount, expectedAmount = _resolveAmounts.expectedAmount, swapSide = _resolveAmounts.swapSide;
4683
+ input = {
4684
+ owner: options.owner,
4685
+ handler: options.handler,
4686
+ srcToken: options.srcToken,
4687
+ destToken: options.deltaPrice.destToken,
4688
+ srcAmount: srcAmount,
4689
+ destAmount: destAmount,
4690
+ expectedAmount: expectedAmount,
4691
+ deadline: options.deadline,
4692
+ nonce: (_options$nonce = options.nonce) == null ? void 0 : _options$nonce.toString(10),
4693
+ permit: options.permit,
4694
+ kind: SwapSideToOrderKind[swapSide],
4695
+ metadata: options.metadata,
4696
+ data: options.data,
4697
+ chainId: chainId,
4698
+ paraswapDeltaAddress: ParaswapDelta,
4699
+ partnerAddress: partnerAddress,
4700
+ partnerTakesSurplus: partnerTakesSurplus,
4701
+ partnerFeeBps: partnerFeeBps,
4702
+ capSurplus: options.capSurplus
4703
+ };
4704
+ return _context.abrupt("return", buildExternalOrderSignableData(input));
4705
+ case 14:
4706
+ case "end":
4707
+ return _context.stop();
4708
+ }
4709
+ }, _callee);
4710
+ }));
4711
+ return function buildExternalDeltaOrder(_x, _x2) {
4712
+ return _ref.apply(this, arguments);
4713
+ };
4714
+ }();
4715
+ return {
4716
+ buildExternalDeltaOrder: buildExternalDeltaOrder
4717
+ };
4718
+ };
4719
+
4720
+ // returns whatever `contractCaller` returns
4721
+ // to allow for better versatility
4722
+ var constructSignExternalDeltaOrder = function constructSignExternalDeltaOrder(options) {
4723
+ var signExternalDeltaOrder = /*#__PURE__*/function () {
4724
+ var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(typedData) {
4725
+ var typedDataOnly, signature;
4726
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
4727
+ while (1) switch (_context.prev = _context.next) {
4728
+ case 0:
4729
+ // types allow to pass OrderData & extra_stuff, but tx will break like that
4730
+ typedDataOnly = _extends({}, typedData, {
4731
+ data: sanitizeExternalOrderData(typedData.data)
4732
+ });
4733
+ _context.next = 3;
4734
+ return options.contractCaller.signTypedDataCall(typedDataOnly);
4735
+ case 3:
4736
+ signature = _context.sent;
4737
+ return _context.abrupt("return", signature);
4738
+ case 5:
4739
+ case "end":
4740
+ return _context.stop();
4741
+ }
4742
+ }, _callee);
4743
+ }));
4744
+ return function signExternalDeltaOrder(_x) {
4745
+ return _ref.apply(this, arguments);
4746
+ };
4747
+ }();
4748
+ return {
4749
+ signExternalDeltaOrder: signExternalDeltaOrder
4750
+ };
4751
+ };
4752
+
4753
+ var constructPostExternalDeltaOrder = function constructPostExternalDeltaOrder(_ref) {
4754
+ var _ref$apiURL = _ref.apiURL,
4755
+ apiURL = _ref$apiURL === void 0 ? API_URL : _ref$apiURL,
4756
+ chainId = _ref.chainId,
4757
+ fetcher = _ref.fetcher;
4758
+ var postOrderUrl = apiURL + "/delta/orders";
4759
+ var postExternalDeltaOrder = function postExternalDeltaOrder(postData, requestParams) {
4760
+ var deltaOrderToPost = _extends({}, postData, {
4761
+ chainId: chainId
4762
+ });
4763
+ return fetcher({
4764
+ url: postOrderUrl,
4765
+ method: 'POST',
4766
+ data: deltaOrderToPost,
4767
+ requestParams: requestParams
4768
+ });
4769
+ };
4770
+ return {
4771
+ postExternalDeltaOrder: postExternalDeltaOrder
4772
+ };
4773
+ };
4774
+
4775
+ // returns whatever `contractCaller` returns
4776
+ // to allow for better versatility
4777
+ var constructPreSignExternalDeltaOrder = function constructPreSignExternalDeltaOrder(options) {
4778
+ var hashExternalDeltaOrderTypedData = function hashExternalDeltaOrderTypedData(typedData) {
4779
+ // types allow to pass OrderData & extra_stuff, but tx will break like that
4780
+ var typedDataOnly = _extends({}, typedData, {
4781
+ data: sanitizeExternalOrderData(typedData.data)
4782
+ });
4783
+ var orderHash = produceExternalOrderHash(typedDataOnly);
4784
+ return orderHash;
4785
+ };
4786
+ // cached internally
4787
+ var _constructGetDeltaCon = constructGetDeltaContract(options),
4788
+ getDeltaContract = _constructGetDeltaCon.getDeltaContract;
4789
+ var hashExternalDeltaOrder = /*#__PURE__*/function () {
4790
+ var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(orderData, requestParams) {
4791
+ var ParaswapDelta, typedData;
4792
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
4793
+ while (1) switch (_context.prev = _context.next) {
4794
+ case 0:
4795
+ _context.next = 2;
4796
+ return getDeltaContract(requestParams);
4797
+ case 2:
4798
+ ParaswapDelta = _context.sent;
4799
+ if (ParaswapDelta) {
4800
+ _context.next = 5;
4801
+ break;
4802
+ }
4803
+ throw new Error("Delta is not available on chain " + options.chainId);
4804
+ case 5:
4805
+ typedData = produceExternalOrderTypedData({
4806
+ orderInput: orderData,
4807
+ chainId: options.chainId,
4808
+ paraswapDeltaAddress: ParaswapDelta
4809
+ });
4810
+ return _context.abrupt("return", hashExternalDeltaOrderTypedData(typedData));
4811
+ case 7:
4812
+ case "end":
4813
+ return _context.stop();
4814
+ }
4815
+ }, _callee);
4816
+ }));
4817
+ return function hashExternalDeltaOrder(_x, _x2) {
4818
+ return _ref.apply(this, arguments);
4819
+ };
4820
+ }();
4821
+ var setExternalDeltaOrderPreSignature = /*#__PURE__*/function () {
4822
+ var _ref2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2(orderHash, overrides, requestParams) {
4823
+ var ParaswapDelta, res;
4824
+ return _regeneratorRuntime().wrap(function _callee2$(_context2) {
4825
+ while (1) switch (_context2.prev = _context2.next) {
4826
+ case 0:
4827
+ if (overrides === void 0) {
4828
+ overrides = {};
4829
+ }
4830
+ _context2.next = 3;
4831
+ return getDeltaContract(requestParams);
4832
+ case 3:
4833
+ ParaswapDelta = _context2.sent;
4834
+ if (ParaswapDelta) {
4835
+ _context2.next = 6;
4836
+ break;
4837
+ }
4838
+ throw new Error("Delta is not available on chain " + options.chainId);
4839
+ case 6:
4840
+ _context2.next = 8;
4841
+ return options.contractCaller.transactCall({
4842
+ address: ParaswapDelta,
4843
+ abi: PreSignatureModuleAbi,
4844
+ contractMethod: 'setPreSignature',
4845
+ args: [orderHash, true],
4846
+ overrides: overrides
4847
+ });
4848
+ case 8:
4849
+ res = _context2.sent;
4850
+ return _context2.abrupt("return", res);
4851
+ case 10:
4852
+ case "end":
4853
+ return _context2.stop();
4854
+ }
4855
+ }, _callee2);
4856
+ }));
4857
+ return function setExternalDeltaOrderPreSignature(_x3, _x4, _x5) {
4858
+ return _ref2.apply(this, arguments);
4859
+ };
4860
+ }();
4861
+ var preSignExternalDeltaOrder = /*#__PURE__*/function () {
4862
+ var _ref3 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee3(signableOrderData, overrides, requestParams) {
4863
+ var orderHash, res;
4864
+ return _regeneratorRuntime().wrap(function _callee3$(_context3) {
4865
+ while (1) switch (_context3.prev = _context3.next) {
4866
+ case 0:
4867
+ if (overrides === void 0) {
4868
+ overrides = {};
4869
+ }
4870
+ orderHash = hashExternalDeltaOrderTypedData(signableOrderData);
4871
+ _context3.next = 4;
4872
+ return setExternalDeltaOrderPreSignature(orderHash, overrides, requestParams);
4873
+ case 4:
4874
+ res = _context3.sent;
4875
+ return _context3.abrupt("return", res);
4876
+ case 6:
4877
+ case "end":
4878
+ return _context3.stop();
4879
+ }
4880
+ }, _callee3);
4881
+ }));
4882
+ return function preSignExternalDeltaOrder(_x6, _x7, _x8) {
4883
+ return _ref3.apply(this, arguments);
4884
+ };
4885
+ }();
4886
+ return {
4887
+ hashExternalDeltaOrderTypedData: hashExternalDeltaOrderTypedData,
4888
+ hashExternalDeltaOrder: hashExternalDeltaOrder,
4889
+ setExternalDeltaOrderPreSignature: setExternalDeltaOrderPreSignature,
4890
+ preSignExternalDeltaOrder: preSignExternalDeltaOrder
4891
+ };
4892
+ };
4893
+ function produceExternalOrderHash(typedData) {
4894
+ return utils.hashTypedData({
4895
+ domain: {
4896
+ name: typedData.domain.name,
4897
+ version: typedData.domain.version,
4898
+ chainId: typedData.domain.chainId,
4899
+ verifyingContract: typedData.domain.verifyingContract
4900
+ },
4901
+ types: typedData.types,
4902
+ primaryType: findPrimaryType(typedData.types),
4903
+ message: typedData.data
4904
+ });
4905
+ }
4906
+
4412
4907
  var constructGetQuote = function constructGetQuote(_ref) {
4413
4908
  var _ref$apiURL = _ref.apiURL,
4414
4909
  apiURL = _ref$apiURL === void 0 ? API_URL : _ref$apiURL,
@@ -4942,6 +5437,7 @@ var constructSwapSDK = function constructSwapSDK(config) {
4942
5437
  return constructPartialSDK(config, constructGetBalances, constructGetTokens, constructGetSpender, constructApproveTokenWithTxResponse, constructBuildTx, constructGetAdapters, constructGetRate, constructSwapTx);
4943
5438
  };
4944
5439
 
5440
+ /** @deprecated Limit Orders are deprecated and will be removed in a future version. */
4945
5441
  var constructSubmitLimitOrder = function constructSubmitLimitOrder(options) {
4946
5442
  var _constructBuildLimitO = constructBuildLimitOrder(options),
4947
5443
  buildLimitOrder = _constructBuildLimitO.buildLimitOrder;
@@ -5039,7 +5535,10 @@ var constructSubmitLimitOrder = function constructSubmitLimitOrder(options) {
5039
5535
  submitP2POrder: submitP2POrder
5040
5536
  };
5041
5537
  };
5042
- /** @description construct SDK with every LimitOrders-related method, fetching from API and contract calls */
5538
+ /**
5539
+ * @description construct SDK with every LimitOrders-related method, fetching from API and contract calls
5540
+ * @deprecated Limit Orders are deprecated and will be removed in a future version.
5541
+ */
5043
5542
  var constructAllLimitOrdersHandlers = function constructAllLimitOrdersHandlers(options) {
5044
5543
  var limitOrdersGetters = constructGetLimitOrders(options);
5045
5544
  var limitOrdersContractGetter = constructGetLimitOrdersContract(options);
@@ -5105,6 +5604,55 @@ var constructSubmitDeltaOrder = function constructSubmitDeltaOrder(options) {
5105
5604
  submitDeltaOrder: submitDeltaOrder
5106
5605
  };
5107
5606
  };
5607
+ var constructSubmitExternalDeltaOrder = function constructSubmitExternalDeltaOrder(options) {
5608
+ var _constructBuildExtern = constructBuildExternalDeltaOrder(options),
5609
+ buildExternalDeltaOrder = _constructBuildExtern.buildExternalDeltaOrder;
5610
+ var _constructSignExterna = constructSignExternalDeltaOrder(options),
5611
+ signExternalDeltaOrder = _constructSignExterna.signExternalDeltaOrder;
5612
+ var _constructPostExterna = constructPostExternalDeltaOrder(options),
5613
+ postExternalDeltaOrder = _constructPostExterna.postExternalDeltaOrder;
5614
+ var submitExternalDeltaOrder = /*#__PURE__*/function () {
5615
+ var _ref2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2(orderParams) {
5616
+ var orderData, signature, response;
5617
+ return _regeneratorRuntime().wrap(function _callee2$(_context2) {
5618
+ while (1) switch (_context2.prev = _context2.next) {
5619
+ case 0:
5620
+ _context2.next = 2;
5621
+ return buildExternalDeltaOrder(orderParams);
5622
+ case 2:
5623
+ orderData = _context2.sent;
5624
+ _context2.next = 5;
5625
+ return signExternalDeltaOrder(orderData);
5626
+ case 5:
5627
+ signature = _context2.sent;
5628
+ _context2.next = 8;
5629
+ return postExternalDeltaOrder({
5630
+ signature: signature,
5631
+ partner: orderParams.partner,
5632
+ order: orderData.data,
5633
+ partiallyFillable: orderParams.partiallyFillable,
5634
+ referrerAddress: orderParams.referrerAddress,
5635
+ type: orderParams.type,
5636
+ includeAgents: orderParams.includeAgents,
5637
+ excludeAgents: orderParams.excludeAgents
5638
+ });
5639
+ case 8:
5640
+ response = _context2.sent;
5641
+ return _context2.abrupt("return", response);
5642
+ case 10:
5643
+ case "end":
5644
+ return _context2.stop();
5645
+ }
5646
+ }, _callee2);
5647
+ }));
5648
+ return function submitExternalDeltaOrder(_x2) {
5649
+ return _ref2.apply(this, arguments);
5650
+ };
5651
+ }();
5652
+ return {
5653
+ submitExternalDeltaOrder: submitExternalDeltaOrder
5654
+ };
5655
+ };
5108
5656
  /** @description construct SDK with every Delta Order-related method, fetching from API and Order signing */
5109
5657
  var constructAllDeltaOrdersHandlers = function constructAllDeltaOrdersHandlers(options) {
5110
5658
  var deltaOrdersGetters = constructGetDeltaOrders(options);
@@ -5121,9 +5669,15 @@ var constructAllDeltaOrdersHandlers = function constructAllDeltaOrdersHandlers(o
5121
5669
  var deltaOrdersPost = constructPostDeltaOrder(options);
5122
5670
  var deltaOrdersCancel = constructCancelDeltaOrder(options);
5123
5671
  var deltaTokenModule = constructDeltaTokenModule(options);
5124
- return _extends({}, deltaOrdersGetters, deltaOrdersContractGetter, deltaPrice, partnerFee, bridgeInfo, isTokenSupportedInDelta, approveTokenForDelta, deltaOrdersSubmit, deltaOrdersBuild, deltaOrdersSign, deltaOrdersPreSign, deltaOrdersPost, deltaOrdersCancel, deltaTokenModule);
5672
+ var externalDeltaOrdersSubmit = constructSubmitExternalDeltaOrder(options);
5673
+ var externalDeltaOrdersBuild = constructBuildExternalDeltaOrder(options);
5674
+ var externalDeltaOrdersSign = constructSignExternalDeltaOrder(options);
5675
+ var externalDeltaOrdersPost = constructPostExternalDeltaOrder(options);
5676
+ var externalDeltaOrdersPreSign = constructPreSignExternalDeltaOrder(options);
5677
+ return _extends({}, deltaOrdersGetters, deltaOrdersContractGetter, deltaPrice, partnerFee, bridgeInfo, isTokenSupportedInDelta, approveTokenForDelta, deltaOrdersSubmit, deltaOrdersBuild, deltaOrdersSign, deltaOrdersPreSign, deltaOrdersPost, deltaOrdersCancel, deltaTokenModule, externalDeltaOrdersSubmit, externalDeltaOrdersBuild, externalDeltaOrdersSign, externalDeltaOrdersPost, externalDeltaOrdersPreSign);
5125
5678
  };
5126
5679
 
5680
+ /** @deprecated NFT Orders are deprecated and will be removed in a future version. */
5127
5681
  var constructSubmitNFTOrder = function constructSubmitNFTOrder(options) {
5128
5682
  var _constructBuildNFTOrd = constructBuildNFTOrder(options),
5129
5683
  buildNFTOrder = _constructBuildNFTOrd.buildNFTOrder;
@@ -5221,7 +5775,10 @@ var constructSubmitNFTOrder = function constructSubmitNFTOrder(options) {
5221
5775
  submitP2POrder: submitP2POrder
5222
5776
  };
5223
5777
  };
5224
- /** @description construct SDK with every NFTOrders-related method, fetching from API and contract calls */
5778
+ /**
5779
+ * @description construct SDK with every NFTOrders-related method, fetching from API and contract calls
5780
+ * @deprecated NFT Orders are deprecated and will be removed in a future version.
5781
+ */
5225
5782
  var constructAllNFTOrdersHandlers = function constructAllNFTOrdersHandlers(options) {
5226
5783
  var NFTOrdersGetters = constructGetNFTOrders(options);
5227
5784
  var NFTOrdersContractGetter = constructGetNFTOrdersContract(options);
@@ -5460,6 +6017,7 @@ exports.constructApproveTokenForLimitOrder = constructApproveTokenForLimitOrder;
5460
6017
  exports.constructApproveTokenForNFTOrder = constructApproveTokenForNFTOrder;
5461
6018
  exports.constructAxiosFetcher = constructFetcher$2;
5462
6019
  exports.constructBuildDeltaOrder = constructBuildDeltaOrder;
6020
+ exports.constructBuildExternalDeltaOrder = constructBuildExternalDeltaOrder;
5463
6021
  exports.constructBuildLimitOrder = constructBuildLimitOrder;
5464
6022
  exports.constructBuildLimitOrderTx = constructBuildLimitOrderTx;
5465
6023
  exports.constructBuildNFTOrder = constructBuildNFTOrder;
@@ -5493,14 +6051,18 @@ exports.constructGetTokens = constructGetTokens;
5493
6051
  exports.constructIsTokenSupportedInDelta = constructIsTokenSupportedInDelta;
5494
6052
  exports.constructPartialSDK = constructPartialSDK;
5495
6053
  exports.constructPostDeltaOrder = constructPostDeltaOrder;
6054
+ exports.constructPostExternalDeltaOrder = constructPostExternalDeltaOrder;
5496
6055
  exports.constructPostLimitOrder = constructPostLimitOrder;
5497
6056
  exports.constructPostNFTOrder = constructPostNFTOrder;
5498
6057
  exports.constructPreSignDeltaOrder = constructPreSignDeltaOrder;
6058
+ exports.constructPreSignExternalDeltaOrder = constructPreSignExternalDeltaOrder;
5499
6059
  exports.constructSignDeltaOrder = constructSignDeltaOrder;
6060
+ exports.constructSignExternalDeltaOrder = constructSignExternalDeltaOrder;
5500
6061
  exports.constructSignLimitOrder = constructSignLimitOrder;
5501
6062
  exports.constructSignNFTOrder = constructSignNFTOrder;
5502
6063
  exports.constructSimpleSDK = constructSimpleSDK;
5503
6064
  exports.constructSubmitDeltaOrder = constructSubmitDeltaOrder;
6065
+ exports.constructSubmitExternalDeltaOrder = constructSubmitExternalDeltaOrder;
5504
6066
  exports.constructSubmitLimitOrder = constructSubmitLimitOrder;
5505
6067
  exports.constructSubmitNFTOrder = constructSubmitNFTOrder;
5506
6068
  exports.constructSwapSDK = constructSwapSDK;