@velora-dex/sdk 9.4.2 → 9.4.3-dev.1

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 (51) hide show
  1. package/dist/examples/wagmi.d.ts.map +1 -1
  2. package/dist/index.d.ts +11 -5
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/methods/delta/buildDeltaOrder.d.ts +2 -2
  5. package/dist/methods/delta/buildDeltaOrder.d.ts.map +1 -1
  6. package/dist/methods/delta/buildExternalDeltaOrder.d.ts +2 -2
  7. package/dist/methods/delta/buildExternalDeltaOrder.d.ts.map +1 -1
  8. package/dist/methods/delta/buildTWAPDeltaOrder.d.ts +65 -0
  9. package/dist/methods/delta/buildTWAPDeltaOrder.d.ts.map +1 -0
  10. package/dist/methods/delta/deltaTokenModule.d.ts +7 -1
  11. package/dist/methods/delta/deltaTokenModule.d.ts.map +1 -1
  12. package/dist/methods/delta/helpers/buildTWAPOrderData.d.ts +74 -0
  13. package/dist/methods/delta/helpers/buildTWAPOrderData.d.ts.map +1 -0
  14. package/dist/methods/delta/helpers/misc.d.ts +10 -2
  15. package/dist/methods/delta/helpers/misc.d.ts.map +1 -1
  16. package/dist/methods/delta/helpers/types.d.ts +47 -6
  17. package/dist/methods/delta/helpers/types.d.ts.map +1 -1
  18. package/dist/methods/delta/index.d.ts +17 -1
  19. package/dist/methods/delta/index.d.ts.map +1 -1
  20. package/dist/methods/delta/postTWAPDeltaOrder.d.ts +16 -0
  21. package/dist/methods/delta/postTWAPDeltaOrder.d.ts.map +1 -0
  22. package/dist/methods/delta/preSignTWAPDeltaOrder.d.ts +20 -0
  23. package/dist/methods/delta/preSignTWAPDeltaOrder.d.ts.map +1 -0
  24. package/dist/methods/delta/signTWAPDeltaOrder.d.ts +9 -0
  25. package/dist/methods/delta/signTWAPDeltaOrder.d.ts.map +1 -0
  26. package/dist/sdk/partial.d.ts +3 -1
  27. package/dist/sdk/partial.d.ts.map +1 -1
  28. package/dist/sdk.cjs.development.js +985 -132
  29. package/dist/sdk.cjs.development.js.map +1 -1
  30. package/dist/sdk.cjs.production.min.js +1 -1
  31. package/dist/sdk.cjs.production.min.js.map +1 -1
  32. package/dist/sdk.esm.js +981 -133
  33. package/dist/sdk.esm.js.map +1 -1
  34. package/package.json +1 -1
  35. package/src/index.ts +63 -0
  36. package/src/methods/delta/buildDeltaOrder.ts +2 -2
  37. package/src/methods/delta/buildExternalDeltaOrder.ts +2 -2
  38. package/src/methods/delta/buildTWAPDeltaOrder.ts +187 -0
  39. package/src/methods/delta/deltaTokenModule.ts +229 -1
  40. package/src/methods/delta/helpers/buildTWAPOrderData.ts +233 -0
  41. package/src/methods/delta/helpers/misc.ts +39 -3
  42. package/src/methods/delta/helpers/types.ts +59 -9
  43. package/src/methods/delta/index.ts +80 -1
  44. package/src/methods/delta/postTWAPDeltaOrder.ts +57 -0
  45. package/src/methods/delta/preSignTWAPDeltaOrder.ts +170 -0
  46. package/src/methods/delta/signTWAPDeltaOrder.ts +32 -0
  47. package/src/sdk/partial.ts +3 -1
  48. package/src/constants.js +0 -3
  49. package/src/gas.js +0 -1
  50. package/src/index.js +0 -73
  51. package/src/types.js +0 -1
@@ -703,7 +703,7 @@ var constructApproveToken = function constructApproveToken(options) {
703
703
  };
704
704
  };
705
705
 
706
- var _excluded$b = ["tokenType", "mainConnector", "connectors", "network"];
706
+ var _excluded$c = ["tokenType", "mainConnector", "connectors", "network"];
707
707
  var constructToken = function constructToken(tokenProps) {
708
708
  var _tokenProps$tokenType = tokenProps.tokenType,
709
709
  tokenType = _tokenProps$tokenType === void 0 ? 'ERC20' : _tokenProps$tokenType,
@@ -713,7 +713,7 @@ var constructToken = function constructToken(tokenProps) {
713
713
  connectorsInput = _tokenProps$connector === void 0 ? [] : _tokenProps$connector,
714
714
  _tokenProps$network = tokenProps.network,
715
715
  network = _tokenProps$network === void 0 ? 1 : _tokenProps$network,
716
- rest = _objectWithoutPropertiesLoose(tokenProps, _excluded$b);
716
+ rest = _objectWithoutPropertiesLoose(tokenProps, _excluded$c);
717
717
  var connectors = connectorsInput.length > 0 ? connectorsInput : [mainConnector];
718
718
  return _extends({
719
719
  tokenType: tokenType,
@@ -911,12 +911,12 @@ var constructGetAdapters = function constructGetAdapters(_ref) {
911
911
  };
912
912
  };
913
913
 
914
- var _excluded$a = ["options"],
914
+ var _excluded$b = ["options"],
915
915
  _excluded2$4 = ["excludeContractMethods", "includeContractMethods", "partner", "includeDEXS", "excludeDEXS", "excludePools"];
916
916
  function normalizeRateOptions(_ref) {
917
917
  var _ref$options = _ref.options,
918
918
  options = _ref$options === void 0 ? {} : _ref$options,
919
- restInput = _objectWithoutPropertiesLoose(_ref, _excluded$a);
919
+ restInput = _objectWithoutPropertiesLoose(_ref, _excluded$b);
920
920
  var excludeContractMethods = options.excludeContractMethods,
921
921
  includeContractMethods = options.includeContractMethods,
922
922
  partner = options.partner,
@@ -945,7 +945,7 @@ function normalizeRateOptions(_ref) {
945
945
  return _extends({}, transformed, restOptions, restInput);
946
946
  }
947
947
 
948
- var _excluded$9 = ["srcToken", "destToken"],
948
+ var _excluded$a = ["srcToken", "destToken"],
949
949
  _excluded2$3 = ["route"];
950
950
  var INVALID_ROUTE = 'Invalid Route';
951
951
  var constructGetRate = function constructGetRate(_ref) {
@@ -962,7 +962,7 @@ var constructGetRate = function constructGetRate(_ref) {
962
962
  return _regeneratorRuntime().wrap(function _callee$(_context) {
963
963
  while (1) switch (_context.prev = _context.next) {
964
964
  case 0:
965
- srcToken = _ref2.srcToken, destToken = _ref2.destToken, rest = _objectWithoutPropertiesLoose(_ref2, _excluded$9);
965
+ srcToken = _ref2.srcToken, destToken = _ref2.destToken, rest = _objectWithoutPropertiesLoose(_ref2, _excluded$a);
966
966
  parsedOptions = normalizeRateOptions(rest); // always pass explicit type to make sure UrlSearchParams are correct
967
967
  search = constructSearchString(_extends({
968
968
  srcToken: srcToken,
@@ -1037,7 +1037,7 @@ var constructGetRate = function constructGetRate(_ref) {
1037
1037
  };
1038
1038
  };
1039
1039
 
1040
- var _excluded$8 = ["srcToken", "destToken", "amount", "route"];
1040
+ var _excluded$9 = ["srcToken", "destToken", "amount", "route"];
1041
1041
  var constructSwapTx = function constructSwapTx(_ref) {
1042
1042
  var _ref$apiURL = _ref.apiURL,
1043
1043
  apiURL = _ref$apiURL === void 0 ? API_URL : _ref$apiURL,
@@ -1052,7 +1052,7 @@ var constructSwapTx = function constructSwapTx(_ref) {
1052
1052
  return _regeneratorRuntime().wrap(function _callee$(_context) {
1053
1053
  while (1) switch (_context.prev = _context.next) {
1054
1054
  case 0:
1055
- srcToken = _ref2.srcToken, destToken = _ref2.destToken, amount = _ref2.amount, route = _ref2.route, rest = _objectWithoutPropertiesLoose(_ref2, _excluded$8);
1055
+ srcToken = _ref2.srcToken, destToken = _ref2.destToken, amount = _ref2.amount, route = _ref2.route, rest = _objectWithoutPropertiesLoose(_ref2, _excluded$9);
1056
1056
  parsedOptions = normalizeRateOptions(rest);
1057
1057
  _route = route == null ? void 0 : route.join('-'); // always pass explicit type to make sure UrlSearchParams are correct
1058
1058
  search = constructSearchString(_extends({
@@ -2273,7 +2273,7 @@ var constructGetLimitOrdersContract = function constructGetLimitOrdersContract(o
2273
2273
  };
2274
2274
  };
2275
2275
 
2276
- var _excluded$7 = ["srcToken", "destToken", "amount", "options"];
2276
+ var _excluded$8 = ["srcToken", "destToken", "amount", "options"];
2277
2277
  /** @deprecated Limit Orders are deprecated and will be removed in a future version. */
2278
2278
  var constructBuildLimitOrderTx = function constructBuildLimitOrderTx(_ref) {
2279
2279
  var _ref$apiURL = _ref.apiURL,
@@ -2303,7 +2303,7 @@ var constructBuildLimitOrderTx = function constructBuildLimitOrderTx(_ref) {
2303
2303
  return _regeneratorRuntime().wrap(function _callee$(_context) {
2304
2304
  while (1) switch (_context.prev = _context.next) {
2305
2305
  case 0:
2306
- srcToken = _ref2.srcToken, destToken = _ref2.destToken, amount = _ref2.amount, _ref2$options = _ref2.options, _options = _ref2$options === void 0 ? {} : _ref2$options, rest = _objectWithoutPropertiesLoose(_ref2, _excluded$7);
2306
+ srcToken = _ref2.srcToken, destToken = _ref2.destToken, amount = _ref2.amount, _ref2$options = _ref2.options, _options = _ref2$options === void 0 ? {} : _ref2$options, rest = _objectWithoutPropertiesLoose(_ref2, _excluded$8);
2307
2307
  tsEssentials.assert(orders.length > 0, 'must pass at least 1 order');
2308
2308
  _checkAndParseOrders = checkAndParseOrders$1(orders), totalTakerAmount = _checkAndParseOrders.totalTakerAmount, takerAsset = _checkAndParseOrders.takerAsset;
2309
2309
  tsEssentials.assert(takerAsset.toLowerCase() === destToken.toLowerCase(), 'All orders must have the same takerAsset as destToken');
@@ -2677,7 +2677,7 @@ var constructApproveTokenForNFTOrder = function constructApproveTokenForNFTOrder
2677
2677
  };
2678
2678
  };
2679
2679
 
2680
- var _excluded$6 = ["srcToken", "destToken", "amount", "options"];
2680
+ var _excluded$7 = ["srcToken", "destToken", "amount", "options"];
2681
2681
  /** @deprecated NFT Orders are deprecated and will be removed in a future version. */
2682
2682
  var constructBuildNFTOrderTx = function constructBuildNFTOrderTx(_ref) {
2683
2683
  var _ref$apiURL = _ref.apiURL,
@@ -2707,7 +2707,7 @@ var constructBuildNFTOrderTx = function constructBuildNFTOrderTx(_ref) {
2707
2707
  return _regeneratorRuntime().wrap(function _callee$(_context) {
2708
2708
  while (1) switch (_context.prev = _context.next) {
2709
2709
  case 0:
2710
- srcToken = _ref2.srcToken, destToken = _ref2.destToken, amount = _ref2.amount, _ref2$options = _ref2.options, _options = _ref2$options === void 0 ? {} : _ref2$options, rest = _objectWithoutPropertiesLoose(_ref2, _excluded$6);
2710
+ srcToken = _ref2.srcToken, destToken = _ref2.destToken, amount = _ref2.amount, _ref2$options = _ref2.options, _options = _ref2$options === void 0 ? {} : _ref2$options, rest = _objectWithoutPropertiesLoose(_ref2, _excluded$7);
2711
2711
  tsEssentials.assert(orders.length > 0, 'must pass at least 1 order');
2712
2712
  _checkAndParseOrders = checkAndParseOrders(orders), totalTakerAmount = _checkAndParseOrders.totalTakerAmount, takerAsset = _checkAndParseOrders.takerAsset;
2713
2713
  tsEssentials.assert(takerAsset.toLowerCase() === destToken.toLowerCase(), 'All orders must have the same takerAsset as destToken');
@@ -2816,7 +2816,7 @@ function uintToAssetAddress(assetUint) {
2816
2816
  return '0x' + (BigInt(assetUint) & (BigInt(1) << BigInt(160)) - BigInt(1)).toString(16);
2817
2817
  }
2818
2818
 
2819
- var _excluded$5 = ["requestParams"];
2819
+ var _excluded$6 = ["requestParams"];
2820
2820
  var constructFetcher$2 = function constructFetcher(axios, extra) {
2821
2821
  return /*#__PURE__*/function () {
2822
2822
  var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(params) {
@@ -2825,7 +2825,7 @@ var constructFetcher$2 = function constructFetcher(axios, extra) {
2825
2825
  while (1) switch (_context.prev = _context.next) {
2826
2826
  case 0:
2827
2827
  _context.prev = 0;
2828
- requestParams = params.requestParams, rest = _objectWithoutPropertiesLoose(params, _excluded$5); // adding apiKey to headers if it's provided
2828
+ requestParams = params.requestParams, rest = _objectWithoutPropertiesLoose(params, _excluded$6); // adding apiKey to headers if it's provided
2829
2829
  headers = extra != null && extra.apiKey ? _extends({}, extra.headers, {
2830
2830
  'X-API-KEY': extra.apiKey
2831
2831
  }, rest.headers, requestParams == null ? void 0 : requestParams.headers) : _extends({}, extra == null ? void 0 : extra.headers, rest.headers, requestParams == null ? void 0 : requestParams.headers);
@@ -2934,7 +2934,7 @@ var constructFetcher$1 = function constructFetcher(fetch, extra) {
2934
2934
  }();
2935
2935
  };
2936
2936
 
2937
- var _excluded$4 = ["block", "gas"],
2937
+ var _excluded$5 = ["block", "gas"],
2938
2938
  _excluded2$2 = ["gas", "from"];
2939
2939
  var constructEthersV5ContractCaller = function constructEthersV5ContractCaller(_ref, account) {
2940
2940
  var providerOrSigner = _ref.ethersProviderOrSigner,
@@ -2950,7 +2950,7 @@ var constructEthersV5ContractCaller = function constructEthersV5ContractCaller(_
2950
2950
  contract = new Contract(address, abi, providerOrSigner);
2951
2951
  assertEthersContractHasMethodsV5(contract, contractMethod);
2952
2952
  // drop keys not in CallOverrides
2953
- block = overrides.block, gas = overrides.gas, restOverrides = _objectWithoutPropertiesLoose(overrides, _excluded$4); // reassign values to keys in CallOverrides
2953
+ block = overrides.block, gas = overrides.gas, restOverrides = _objectWithoutPropertiesLoose(overrides, _excluded$5); // reassign values to keys in CallOverrides
2954
2954
  normalizedOverrides = _extends({}, restOverrides, {
2955
2955
  blockTag: block,
2956
2956
  gasLimit: gas
@@ -3057,7 +3057,7 @@ function assertEthersContractHasMethodsV5(contract) {
3057
3057
  tsEssentials.assert(ethersContractHasMethodsV5.apply(void 0, [contract].concat(methods)), "Contract must have methods: " + methods.join(', '));
3058
3058
  }
3059
3059
 
3060
- var _excluded$3 = ["block", "gas"],
3060
+ var _excluded$4 = ["block", "gas"],
3061
3061
  _excluded2$1 = ["gas", "from"];
3062
3062
  var constructContractCaller$2 = function constructContractCaller(_ref, account) {
3063
3063
  var providerOrSigner = _ref.ethersV6ProviderOrSigner,
@@ -3070,7 +3070,7 @@ var constructContractCaller$2 = function constructContractCaller(_ref, account)
3070
3070
  case 0:
3071
3071
  address = params.address, abi = params.abi, contractMethod = params.contractMethod, args = params.args, overrides = params.overrides;
3072
3072
  contract = new Contract(address, abi, providerOrSigner); // drop keys not in CallOverrides
3073
- block = overrides.block, gas = overrides.gas, restOverrides = _objectWithoutPropertiesLoose(overrides, _excluded$3); // reassign values to keys in CallOverrides
3073
+ block = overrides.block, gas = overrides.gas, restOverrides = _objectWithoutPropertiesLoose(overrides, _excluded$4); // reassign values to keys in CallOverrides
3074
3074
  normalizedOverrides = _extends({}, restOverrides, {
3075
3075
  blockTag: block,
3076
3076
  gasLimit: gas
@@ -3203,7 +3203,7 @@ function findPrimaryType(types) {
3203
3203
  return primaryType;
3204
3204
  }
3205
3205
 
3206
- var _excluded$2 = ["block", "gas", "value"],
3206
+ var _excluded$3 = ["block", "gas", "value"],
3207
3207
  _excluded2 = ["gas", "from", "value", "nonce"];
3208
3208
  var constructContractCaller$1 = function constructContractCaller(web3, account) {
3209
3209
  var staticCall = /*#__PURE__*/function () {
@@ -3219,7 +3219,7 @@ var constructContractCaller$1 = function constructContractCaller(web3, account)
3219
3219
  // FIXME abi types ethers dependant
3220
3220
  address);
3221
3221
  assertWeb3ContractHasMethods(contract, contractMethod);
3222
- gas = overrides.gas, value = overrides.value, restOverrides = _objectWithoutPropertiesLoose(overrides, _excluded$2);
3222
+ gas = overrides.gas, value = overrides.value, restOverrides = _objectWithoutPropertiesLoose(overrides, _excluded$3);
3223
3223
  normalizedOverrides = _extends({}, restOverrides, {
3224
3224
  gas: gas == null ? void 0 : gas.toString(10),
3225
3225
  value: value == null ? void 0 : value.toString(10)
@@ -3768,6 +3768,34 @@ function sanitizeExternalOrderData(_ref4) {
3768
3768
  data: data
3769
3769
  };
3770
3770
  }
3771
+ function sanitizeTWAPOrderData(orderData) {
3772
+ var common = {
3773
+ owner: orderData.owner,
3774
+ beneficiary: orderData.beneficiary,
3775
+ srcToken: orderData.srcToken,
3776
+ destToken: orderData.destToken,
3777
+ nonce: orderData.nonce,
3778
+ partnerAndFee: orderData.partnerAndFee,
3779
+ deadline: orderData.deadline,
3780
+ interval: orderData.interval,
3781
+ numSlices: orderData.numSlices,
3782
+ permit: orderData.permit,
3783
+ metadata: orderData.metadata,
3784
+ bridge: orderData.bridge
3785
+ };
3786
+ if ('destAmountPerSlice' in orderData) {
3787
+ // TWAPOrder (SELL)
3788
+ return _extends({}, common, {
3789
+ destAmountPerSlice: orderData.destAmountPerSlice,
3790
+ totalSrcAmount: orderData.totalSrcAmount
3791
+ });
3792
+ }
3793
+ // TWAPBuyOrder (BUY)
3794
+ return _extends({}, common, {
3795
+ totalDestAmount: orderData.totalDestAmount,
3796
+ maxSrcAmount: orderData.maxSrcAmount
3797
+ });
3798
+ }
3771
3799
 
3772
3800
  // Order(address owner,address beneficiary,address srcToken,address destToken,uint256 srcAmount,uint256 destAmount,uint256 deadline,uint256 nonce,bytes permit, bridge Bridge)";
3773
3801
  var SWAP_ORDER_EIP_712_TYPES = {
@@ -3984,7 +4012,7 @@ var constructBuildDeltaOrder = function constructBuildDeltaOrder(options) {
3984
4012
  };
3985
4013
  };
3986
4014
 
3987
- var _excluded$1 = ["degenMode"];
4015
+ var _excluded$2 = ["degenMode"];
3988
4016
  var constructPostDeltaOrder = function constructPostDeltaOrder(_ref) {
3989
4017
  var _ref$apiURL = _ref.apiURL,
3990
4018
  apiURL = _ref$apiURL === void 0 ? API_URL : _ref$apiURL,
@@ -3993,7 +4021,7 @@ var constructPostDeltaOrder = function constructPostDeltaOrder(_ref) {
3993
4021
  var postOrderUrl = apiURL + "/delta/orders";
3994
4022
  var postDeltaOrder = function postDeltaOrder(_postData, requestParams) {
3995
4023
  var degenMode = _postData.degenMode,
3996
- postData = _objectWithoutPropertiesLoose(_postData, _excluded$1);
4024
+ postData = _objectWithoutPropertiesLoose(_postData, _excluded$2);
3997
4025
  var deltaOrderToPost = _extends({}, postData, {
3998
4026
  chainId: chainId
3999
4027
  });
@@ -4194,7 +4222,7 @@ function produceDeltaOrderHash(typedData) {
4194
4222
  });
4195
4223
  }
4196
4224
 
4197
- var _excluded = ["includeAgents", "excludeAgents", "includeBridges", "excludeBridges"];
4225
+ var _excluded$1 = ["includeAgents", "excludeAgents", "includeBridges", "excludeBridges"];
4198
4226
  var constructGetDeltaPrice = function constructGetDeltaPrice(_ref) {
4199
4227
  var _ref$apiURL = _ref.apiURL,
4200
4228
  apiURL = _ref$apiURL === void 0 ? API_URL : _ref$apiURL,
@@ -4211,7 +4239,7 @@ var constructGetDeltaPrice = function constructGetDeltaPrice(_ref) {
4211
4239
  return _regeneratorRuntime().wrap(function _callee$(_context) {
4212
4240
  while (1) switch (_context.prev = _context.next) {
4213
4241
  case 0:
4214
- includeAgents = options.includeAgents, excludeAgents = options.excludeAgents, includeBridges = options.includeBridges, excludeBridges = options.excludeBridges, rest = _objectWithoutPropertiesLoose(options, _excluded);
4242
+ includeAgents = options.includeAgents, excludeAgents = options.excludeAgents, includeBridges = options.includeBridges, excludeBridges = options.excludeBridges, rest = _objectWithoutPropertiesLoose(options, _excluded$1);
4215
4243
  includeAgentsString = includeAgents ? includeAgents.join(',') : undefined;
4216
4244
  excludeAgentsString = excludeAgents ? excludeAgents.join(',') : undefined;
4217
4245
  includeBridgesString = includeBridges ? includeBridges.join(',') : undefined;
@@ -4904,85 +4932,232 @@ function produceExternalOrderHash(typedData) {
4904
4932
  });
4905
4933
  }
4906
4934
 
4907
- var constructGetQuote = function constructGetQuote(_ref) {
4908
- var _ref$apiURL = _ref.apiURL,
4909
- apiURL = _ref$apiURL === void 0 ? API_URL : _ref$apiURL,
4910
- chainId = _ref.chainId,
4911
- fetcher = _ref.fetcher;
4912
- var pricesUrl = apiURL + "/quote";
4913
- function getQuote(_x, _x2) {
4914
- return _getQuote.apply(this, arguments);
4915
- }
4916
- function _getQuote() {
4917
- _getQuote = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(options, requestParams) {
4918
- var _options$side;
4919
- var search, fetchURL, data;
4920
- return _regeneratorRuntime().wrap(function _callee$(_context) {
4921
- while (1) switch (_context.prev = _context.next) {
4922
- case 0:
4923
- search = constructSearchString(_extends({}, options, {
4924
- chainId: chainId,
4925
- side: (_options$side = options.side) != null ? _options$side : core.SwapSide.SELL
4926
- }));
4927
- fetchURL = pricesUrl + "/" + search;
4928
- _context.next = 4;
4929
- return fetcher({
4930
- url: fetchURL,
4931
- method: 'GET',
4932
- requestParams: requestParams
4933
- });
4934
- case 4:
4935
- data = _context.sent;
4936
- return _context.abrupt("return", data);
4937
- case 6:
4938
- case "end":
4939
- return _context.stop();
4940
- }
4941
- }, _callee);
4942
- }));
4943
- return _getQuote.apply(this, arguments);
4944
- }
4945
- return {
4946
- getQuote: getQuote
4947
- };
4935
+ // for same-chain Orders, all 0 params
4936
+ var DEFAULT_BRIDGE = {
4937
+ protocolSelector: '0x00000000',
4938
+ // 4 bytes
4939
+ destinationChainId: 0,
4940
+ outputToken: ZERO_ADDRESS,
4941
+ scalingFactor: 0,
4942
+ protocolData: '0x'
4948
4943
  };
4949
4944
 
4950
- var ORDER_CANCELLATIONS_EIP_712_TYPES = {
4951
- OrderCancellations: [{
4952
- name: 'orderIds',
4953
- type: 'string[]'
4954
- }]
4945
+ var BRIDGE_EIP_712_TYPE = [{
4946
+ name: 'protocolSelector',
4947
+ type: 'bytes4'
4948
+ }, {
4949
+ name: 'destinationChainId',
4950
+ type: 'uint256'
4951
+ }, {
4952
+ name: 'outputToken',
4953
+ type: 'address'
4954
+ }, {
4955
+ name: 'scalingFactor',
4956
+ type: 'int8'
4957
+ }, {
4958
+ name: 'protocolData',
4959
+ type: 'bytes'
4960
+ }];
4961
+ var TWAP_ORDER_EIP_712_TYPES = {
4962
+ TWAPOrder: [{
4963
+ name: 'owner',
4964
+ type: 'address'
4965
+ }, {
4966
+ name: 'beneficiary',
4967
+ type: 'address'
4968
+ }, {
4969
+ name: 'srcToken',
4970
+ type: 'address'
4971
+ }, {
4972
+ name: 'destToken',
4973
+ type: 'address'
4974
+ }, {
4975
+ name: 'nonce',
4976
+ type: 'uint256'
4977
+ }, {
4978
+ name: 'partnerAndFee',
4979
+ type: 'uint256'
4980
+ }, {
4981
+ name: 'deadline',
4982
+ type: 'uint64'
4983
+ }, {
4984
+ name: 'interval',
4985
+ type: 'uint64'
4986
+ }, {
4987
+ name: 'numSlices',
4988
+ type: 'uint32'
4989
+ }, {
4990
+ name: 'destAmountPerSlice',
4991
+ type: 'uint256'
4992
+ }, {
4993
+ name: 'totalSrcAmount',
4994
+ type: 'uint256'
4995
+ }, {
4996
+ name: 'permit',
4997
+ type: 'bytes'
4998
+ }, {
4999
+ name: 'metadata',
5000
+ type: 'bytes'
5001
+ }, {
5002
+ name: 'bridge',
5003
+ type: 'Bridge'
5004
+ }],
5005
+ Bridge: BRIDGE_EIP_712_TYPE
4955
5006
  };
4956
- function buildCancelDeltaOrderSignableData(_ref) {
5007
+ var TWAP_BUY_ORDER_EIP_712_TYPES = {
5008
+ TWAPBuyOrder: [{
5009
+ name: 'owner',
5010
+ type: 'address'
5011
+ }, {
5012
+ name: 'beneficiary',
5013
+ type: 'address'
5014
+ }, {
5015
+ name: 'srcToken',
5016
+ type: 'address'
5017
+ }, {
5018
+ name: 'destToken',
5019
+ type: 'address'
5020
+ }, {
5021
+ name: 'nonce',
5022
+ type: 'uint256'
5023
+ }, {
5024
+ name: 'partnerAndFee',
5025
+ type: 'uint256'
5026
+ }, {
5027
+ name: 'deadline',
5028
+ type: 'uint64'
5029
+ }, {
5030
+ name: 'interval',
5031
+ type: 'uint64'
5032
+ }, {
5033
+ name: 'numSlices',
5034
+ type: 'uint32'
5035
+ }, {
5036
+ name: 'totalDestAmount',
5037
+ type: 'uint256'
5038
+ }, {
5039
+ name: 'maxSrcAmount',
5040
+ type: 'uint256'
5041
+ }, {
5042
+ name: 'permit',
5043
+ type: 'bytes'
5044
+ }, {
5045
+ name: 'metadata',
5046
+ type: 'bytes'
5047
+ }, {
5048
+ name: 'bridge',
5049
+ type: 'Bridge'
5050
+ }],
5051
+ Bridge: BRIDGE_EIP_712_TYPE
5052
+ };
5053
+ function produceTWAPOrderTypedData(_ref) {
4957
5054
  var orderInput = _ref.orderInput,
4958
5055
  chainId = _ref.chainId,
4959
- paraswapDeltaAddress = _ref.paraswapDeltaAddress;
4960
- var typedData = {
4961
- types: {
4962
- OrderCancellations: ORDER_CANCELLATIONS_EIP_712_TYPES.OrderCancellations
4963
- },
4964
- domain: {
4965
- name: 'Portikus',
4966
- version: '2.0.0',
4967
- chainId: chainId,
4968
- verifyingContract: paraswapDeltaAddress
4969
- },
4970
- data: {
4971
- // explicityly pick only the necessary fields,
4972
- // otherwise signing will break if more is present
4973
- orderIds: orderInput.orderIds
4974
- }
5056
+ paraswapDeltaAddress = _ref.paraswapDeltaAddress,
5057
+ onChainOrderType = _ref.onChainOrderType;
5058
+ var domain = {
5059
+ name: 'Portikus',
5060
+ version: '2.0.0',
5061
+ chainId: chainId,
5062
+ verifyingContract: paraswapDeltaAddress
4975
5063
  };
4976
- return typedData;
5064
+ if (onChainOrderType === 'TWAPOrder') {
5065
+ return {
5066
+ types: TWAP_ORDER_EIP_712_TYPES,
5067
+ domain: domain,
5068
+ data: orderInput
5069
+ };
5070
+ }
5071
+ return {
5072
+ types: TWAP_BUY_ORDER_EIP_712_TYPES,
5073
+ domain: domain,
5074
+ data: orderInput
5075
+ };
5076
+ }
5077
+ function buildTWAPSignableOrderData(input) {
5078
+ var _input$deadline;
5079
+ var owner = input.owner,
5080
+ _input$beneficiary = input.beneficiary,
5081
+ beneficiary = _input$beneficiary === void 0 ? owner : _input$beneficiary,
5082
+ srcToken = input.srcToken,
5083
+ destToken = input.destToken,
5084
+ _input$nonce = input.nonce,
5085
+ nonce = _input$nonce === void 0 ? Date.now().toString(10) : _input$nonce,
5086
+ _input$permit = input.permit,
5087
+ permit = _input$permit === void 0 ? '0x' : _input$permit,
5088
+ _input$metadata = input.metadata,
5089
+ metadata = _input$metadata === void 0 ? '0x' : _input$metadata,
5090
+ interval = input.interval,
5091
+ numSlices = input.numSlices,
5092
+ bridge = input.bridge,
5093
+ partnerAddress = input.partnerAddress,
5094
+ partnerFeeBps = input.partnerFeeBps,
5095
+ _input$partnerTakesSu = input.partnerTakesSurplus,
5096
+ partnerTakesSurplus = _input$partnerTakesSu === void 0 ? false : _input$partnerTakesSu,
5097
+ _input$capSurplus = input.capSurplus,
5098
+ capSurplus = _input$capSurplus === void 0 ? true : _input$capSurplus,
5099
+ chainId = input.chainId,
5100
+ paraswapDeltaAddress = input.paraswapDeltaAddress,
5101
+ onChainOrderType = input.onChainOrderType;
5102
+ var deadline = (_input$deadline = input.deadline) != null ? _input$deadline :
5103
+ // all slices must execute before the deadline,
5104
+ // so we add the total duration of the TWAP (interval * numSlices) to the current time,
5105
+ // plus a buffer defined by DELTA_DEFAULT_EXPIRY
5106
+ Math.floor(Date.now() / 1000 + interval * numSlices + DELTA_DEFAULT_EXPIRY);
5107
+ var partnerAndFee = producePartnerAndFee({
5108
+ partnerFeeBps: partnerFeeBps,
5109
+ partnerAddress: partnerAddress,
5110
+ partnerTakesSurplus: partnerTakesSurplus,
5111
+ capSurplus: capSurplus
5112
+ });
5113
+ var commonFields = {
5114
+ owner: owner,
5115
+ beneficiary: beneficiary,
5116
+ srcToken: srcToken,
5117
+ destToken: destToken,
5118
+ nonce: nonce,
5119
+ partnerAndFee: partnerAndFee,
5120
+ deadline: deadline,
5121
+ interval: interval,
5122
+ numSlices: numSlices,
5123
+ permit: permit,
5124
+ metadata: metadata,
5125
+ bridge: bridge
5126
+ };
5127
+ if (onChainOrderType === 'TWAPOrder') {
5128
+ var _orderInput = _extends({}, commonFields, {
5129
+ destAmountPerSlice: input.destAmountPerSlice,
5130
+ totalSrcAmount: input.totalSrcAmount
5131
+ });
5132
+ return produceTWAPOrderTypedData({
5133
+ orderInput: _orderInput,
5134
+ chainId: chainId,
5135
+ paraswapDeltaAddress: paraswapDeltaAddress,
5136
+ onChainOrderType: 'TWAPOrder'
5137
+ });
5138
+ }
5139
+ var orderInput = _extends({}, commonFields, {
5140
+ totalDestAmount: input.totalDestAmount,
5141
+ maxSrcAmount: input.maxSrcAmount
5142
+ });
5143
+ return produceTWAPOrderTypedData({
5144
+ orderInput: orderInput,
5145
+ chainId: chainId,
5146
+ paraswapDeltaAddress: paraswapDeltaAddress,
5147
+ onChainOrderType: 'TWAPBuyOrder'
5148
+ });
4977
5149
  }
4978
5150
 
4979
- var constructCancelDeltaOrder = function constructCancelDeltaOrder(options) {
4980
- // cached internally
5151
+ var constructBuildTWAPDeltaOrder = function constructBuildTWAPDeltaOrder(options) {
5152
+ var chainId = options.chainId;
4981
5153
  var _constructGetDeltaCon = constructGetDeltaContract(options),
4982
5154
  getDeltaContract = _constructGetDeltaCon.getDeltaContract;
4983
- var signCancelLimitDeltaOrderRequest = /*#__PURE__*/function () {
5155
+ var _constructGetPartnerF = constructGetPartnerFee(options),
5156
+ getPartnerFee = _constructGetPartnerF.getPartnerFee;
5157
+ var buildTWAPDeltaOrder = /*#__PURE__*/function () {
4984
5158
  var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(params, requestParams) {
4985
- var ParaswapDelta, typedData, signature;
5159
+ var _params$nonce;
5160
+ var ParaswapDelta, _yield$resolvePartner, partnerAddress, partnerFeeBps, partnerTakesSurplus, commonInput, input, _params$slippage, slippage, destAmountPerSlice, _params$slippage2, _slippage, maxSrcAmount;
4986
5161
  return _regeneratorRuntime().wrap(function _callee$(_context) {
4987
5162
  while (1) switch (_context.prev = _context.next) {
4988
5163
  case 0:
@@ -4994,50 +5169,419 @@ var constructCancelDeltaOrder = function constructCancelDeltaOrder(options) {
4994
5169
  _context.next = 5;
4995
5170
  break;
4996
5171
  }
4997
- throw new Error("Delta is not available on chain " + options.chainId);
5172
+ throw new Error("Delta is not available on chain " + chainId);
4998
5173
  case 5:
4999
- typedData = buildCancelDeltaOrderSignableData({
5000
- orderInput: params,
5174
+ _context.next = 7;
5175
+ return resolvePartnerFee(params, getPartnerFee, requestParams);
5176
+ case 7:
5177
+ _yield$resolvePartner = _context.sent;
5178
+ partnerAddress = _yield$resolvePartner.partnerAddress;
5179
+ partnerFeeBps = _yield$resolvePartner.partnerFeeBps;
5180
+ partnerTakesSurplus = _yield$resolvePartner.partnerTakesSurplus;
5181
+ commonInput = {
5182
+ owner: params.owner,
5183
+ beneficiary: params.beneficiary,
5184
+ srcToken: params.srcToken,
5185
+ destToken: params.deltaPrice.destToken,
5186
+ deadline: params.deadline,
5187
+ nonce: (_params$nonce = params.nonce) == null ? void 0 : _params$nonce.toString(10),
5188
+ permit: params.permit,
5189
+ metadata: params.metadata,
5190
+ interval: params.interval,
5191
+ numSlices: params.numSlices,
5192
+ bridge: _extends({}, params.deltaPrice.bridge, {
5193
+ // TWAP child orders get their bridge data at execution time
5194
+ protocolData: DEFAULT_BRIDGE.protocolData
5195
+ }),
5196
+ chainId: chainId,
5001
5197
  paraswapDeltaAddress: ParaswapDelta,
5002
- chainId: options.chainId
5003
- });
5004
- _context.next = 8;
5005
- return options.contractCaller.signTypedDataCall(typedData);
5006
- case 8:
5007
- signature = _context.sent;
5008
- return _context.abrupt("return", signature);
5009
- case 10:
5198
+ partnerAddress: partnerAddress,
5199
+ partnerTakesSurplus: partnerTakesSurplus,
5200
+ partnerFeeBps: partnerFeeBps,
5201
+ capSurplus: params.capSurplus
5202
+ };
5203
+ if (params.onChainOrderType === 'TWAPOrder') {
5204
+ slippage = (_params$slippage = params.slippage) != null ? _params$slippage : 0;
5205
+ destAmountPerSlice = slippage > 0 ? applySlippage({
5206
+ amount: params.deltaPrice.destAmount,
5207
+ slippageBps: slippage,
5208
+ increase: false
5209
+ }) : params.deltaPrice.destAmount;
5210
+ input = _extends({}, commonInput, {
5211
+ onChainOrderType: 'TWAPOrder',
5212
+ destAmountPerSlice: destAmountPerSlice,
5213
+ totalSrcAmount: params.totalSrcAmount
5214
+ });
5215
+ } else {
5216
+ _slippage = (_params$slippage2 = params.slippage) != null ? _params$slippage2 : 0;
5217
+ maxSrcAmount = _slippage > 0 ? applySlippage({
5218
+ amount: params.maxSrcAmount,
5219
+ slippageBps: _slippage,
5220
+ increase: true
5221
+ }) : params.maxSrcAmount;
5222
+ input = _extends({}, commonInput, {
5223
+ onChainOrderType: 'TWAPBuyOrder',
5224
+ totalDestAmount: params.totalDestAmount,
5225
+ maxSrcAmount: maxSrcAmount
5226
+ });
5227
+ }
5228
+ return _context.abrupt("return", buildTWAPSignableOrderData(input));
5229
+ case 14:
5010
5230
  case "end":
5011
5231
  return _context.stop();
5012
5232
  }
5013
5233
  }, _callee);
5014
5234
  }));
5015
- return function signCancelLimitDeltaOrderRequest(_x, _x2) {
5235
+ return function buildTWAPDeltaOrder(_x, _x2) {
5016
5236
  return _ref.apply(this, arguments);
5017
5237
  };
5018
5238
  }();
5019
- var postCancelLimitDeltaOrderRequest = /*#__PURE__*/function () {
5020
- var _ref2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2(params, requestParams) {
5021
- var cancelUrl, res;
5022
- return _regeneratorRuntime().wrap(function _callee2$(_context2) {
5023
- while (1) switch (_context2.prev = _context2.next) {
5239
+ return {
5240
+ buildTWAPDeltaOrder: buildTWAPDeltaOrder
5241
+ };
5242
+ };
5243
+
5244
+ var constructSignTWAPDeltaOrder = function constructSignTWAPDeltaOrder(options) {
5245
+ var signTWAPDeltaOrder = /*#__PURE__*/function () {
5246
+ var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(typedData) {
5247
+ var typedDataOnly, signature;
5248
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
5249
+ while (1) switch (_context.prev = _context.next) {
5024
5250
  case 0:
5025
- cancelUrl = options.apiURL + "/delta/orders/cancel";
5026
- _context2.next = 3;
5027
- return options.fetcher({
5028
- url: cancelUrl,
5029
- method: 'POST',
5030
- data: params,
5031
- requestParams: requestParams
5251
+ typedDataOnly = _extends({}, typedData, {
5252
+ data: sanitizeTWAPOrderData(typedData.data)
5032
5253
  });
5254
+ _context.next = 3;
5255
+ return options.contractCaller.signTypedDataCall(typedDataOnly);
5033
5256
  case 3:
5034
- res = _context2.sent;
5035
- return _context2.abrupt("return", res);
5257
+ signature = _context.sent;
5258
+ return _context.abrupt("return", signature);
5036
5259
  case 5:
5037
5260
  case "end":
5038
- return _context2.stop();
5261
+ return _context.stop();
5039
5262
  }
5040
- }, _callee2);
5263
+ }, _callee);
5264
+ }));
5265
+ return function signTWAPDeltaOrder(_x) {
5266
+ return _ref.apply(this, arguments);
5267
+ };
5268
+ }();
5269
+ return {
5270
+ signTWAPDeltaOrder: signTWAPDeltaOrder
5271
+ };
5272
+ };
5273
+
5274
+ var _excluded = ["degenMode"];
5275
+ var constructPostTWAPDeltaOrder = function constructPostTWAPDeltaOrder(_ref) {
5276
+ var _ref$apiURL = _ref.apiURL,
5277
+ apiURL = _ref$apiURL === void 0 ? API_URL : _ref$apiURL,
5278
+ chainId = _ref.chainId,
5279
+ fetcher = _ref.fetcher;
5280
+ var postOrderUrl = apiURL + "/delta/orders";
5281
+ var postTWAPDeltaOrder = function postTWAPDeltaOrder(_postData, requestParams) {
5282
+ var degenMode = _postData.degenMode,
5283
+ postData = _objectWithoutPropertiesLoose(_postData, _excluded);
5284
+ var deltaOrderToPost = _extends({}, postData, {
5285
+ chainId: chainId
5286
+ });
5287
+ var search = constructSearchString({
5288
+ degenMode: degenMode
5289
+ });
5290
+ var fetchURL = postOrderUrl + "/" + search;
5291
+ return fetcher({
5292
+ url: fetchURL,
5293
+ method: 'POST',
5294
+ data: deltaOrderToPost,
5295
+ requestParams: requestParams
5296
+ });
5297
+ };
5298
+ return {
5299
+ postTWAPDeltaOrder: postTWAPDeltaOrder
5300
+ };
5301
+ };
5302
+
5303
+ var constructPreSignTWAPDeltaOrder = function constructPreSignTWAPDeltaOrder(options) {
5304
+ var hashTWAPDeltaOrderTypedData = function hashTWAPDeltaOrderTypedData(typedData) {
5305
+ var typedDataOnly = _extends({}, typedData, {
5306
+ data: sanitizeTWAPOrderData(typedData.data)
5307
+ });
5308
+ var orderHash = produceTWAPOrderHash(typedDataOnly);
5309
+ return orderHash;
5310
+ };
5311
+ var _constructGetDeltaCon = constructGetDeltaContract(options),
5312
+ getDeltaContract = _constructGetDeltaCon.getDeltaContract;
5313
+ var hashTWAPDeltaOrder = /*#__PURE__*/function () {
5314
+ var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(orderData, onChainOrderType, requestParams) {
5315
+ var ParaswapDelta, typedData, _typedData;
5316
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
5317
+ while (1) switch (_context.prev = _context.next) {
5318
+ case 0:
5319
+ _context.next = 2;
5320
+ return getDeltaContract(requestParams);
5321
+ case 2:
5322
+ ParaswapDelta = _context.sent;
5323
+ if (ParaswapDelta) {
5324
+ _context.next = 5;
5325
+ break;
5326
+ }
5327
+ throw new Error("Delta is not available on chain " + options.chainId);
5328
+ case 5:
5329
+ if (!(onChainOrderType === 'TWAPOrder' && 'totalSrcAmount' in orderData)) {
5330
+ _context.next = 8;
5331
+ break;
5332
+ }
5333
+ typedData = produceTWAPOrderTypedData({
5334
+ orderInput: orderData,
5335
+ chainId: options.chainId,
5336
+ paraswapDeltaAddress: ParaswapDelta,
5337
+ onChainOrderType: onChainOrderType
5338
+ });
5339
+ return _context.abrupt("return", hashTWAPDeltaOrderTypedData(typedData));
5340
+ case 8:
5341
+ if (!(onChainOrderType === 'TWAPBuyOrder' && 'maxSrcAmount' in orderData)) {
5342
+ _context.next = 11;
5343
+ break;
5344
+ }
5345
+ _typedData = produceTWAPOrderTypedData({
5346
+ orderInput: orderData,
5347
+ chainId: options.chainId,
5348
+ paraswapDeltaAddress: ParaswapDelta,
5349
+ onChainOrderType: onChainOrderType
5350
+ });
5351
+ return _context.abrupt("return", hashTWAPDeltaOrderTypedData(_typedData));
5352
+ case 11:
5353
+ throw new Error("Invalid order data for onChainOrderType " + onChainOrderType);
5354
+ case 12:
5355
+ case "end":
5356
+ return _context.stop();
5357
+ }
5358
+ }, _callee);
5359
+ }));
5360
+ return function hashTWAPDeltaOrder(_x, _x2, _x3) {
5361
+ return _ref.apply(this, arguments);
5362
+ };
5363
+ }();
5364
+ var setTWAPDeltaOrderPreSignature = /*#__PURE__*/function () {
5365
+ var _ref2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2(orderHash, overrides, requestParams) {
5366
+ var ParaswapDelta, res;
5367
+ return _regeneratorRuntime().wrap(function _callee2$(_context2) {
5368
+ while (1) switch (_context2.prev = _context2.next) {
5369
+ case 0:
5370
+ if (overrides === void 0) {
5371
+ overrides = {};
5372
+ }
5373
+ _context2.next = 3;
5374
+ return getDeltaContract(requestParams);
5375
+ case 3:
5376
+ ParaswapDelta = _context2.sent;
5377
+ if (ParaswapDelta) {
5378
+ _context2.next = 6;
5379
+ break;
5380
+ }
5381
+ throw new Error("Delta is not available on chain " + options.chainId);
5382
+ case 6:
5383
+ _context2.next = 8;
5384
+ return options.contractCaller.transactCall({
5385
+ address: ParaswapDelta,
5386
+ abi: PreSignatureModuleAbi,
5387
+ contractMethod: 'setPreSignature',
5388
+ args: [orderHash, true],
5389
+ overrides: overrides
5390
+ });
5391
+ case 8:
5392
+ res = _context2.sent;
5393
+ return _context2.abrupt("return", res);
5394
+ case 10:
5395
+ case "end":
5396
+ return _context2.stop();
5397
+ }
5398
+ }, _callee2);
5399
+ }));
5400
+ return function setTWAPDeltaOrderPreSignature(_x4, _x5, _x6) {
5401
+ return _ref2.apply(this, arguments);
5402
+ };
5403
+ }();
5404
+ var preSignTWAPDeltaOrder = /*#__PURE__*/function () {
5405
+ var _ref3 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee3(signableOrderData, overrides, requestParams) {
5406
+ var orderHash, res;
5407
+ return _regeneratorRuntime().wrap(function _callee3$(_context3) {
5408
+ while (1) switch (_context3.prev = _context3.next) {
5409
+ case 0:
5410
+ if (overrides === void 0) {
5411
+ overrides = {};
5412
+ }
5413
+ orderHash = hashTWAPDeltaOrderTypedData(signableOrderData);
5414
+ _context3.next = 4;
5415
+ return setTWAPDeltaOrderPreSignature(orderHash, overrides, requestParams);
5416
+ case 4:
5417
+ res = _context3.sent;
5418
+ return _context3.abrupt("return", res);
5419
+ case 6:
5420
+ case "end":
5421
+ return _context3.stop();
5422
+ }
5423
+ }, _callee3);
5424
+ }));
5425
+ return function preSignTWAPDeltaOrder(_x7, _x8, _x9) {
5426
+ return _ref3.apply(this, arguments);
5427
+ };
5428
+ }();
5429
+ return {
5430
+ hashTWAPDeltaOrderTypedData: hashTWAPDeltaOrderTypedData,
5431
+ hashTWAPDeltaOrder: hashTWAPDeltaOrder,
5432
+ setTWAPDeltaOrderPreSignature: setTWAPDeltaOrderPreSignature,
5433
+ preSignTWAPDeltaOrder: preSignTWAPDeltaOrder
5434
+ };
5435
+ };
5436
+ function produceTWAPOrderHash(typedData) {
5437
+ var types = typedData.types;
5438
+ return utils.hashTypedData({
5439
+ domain: {
5440
+ name: typedData.domain.name,
5441
+ version: typedData.domain.version,
5442
+ chainId: typedData.domain.chainId,
5443
+ verifyingContract: typedData.domain.verifyingContract
5444
+ },
5445
+ types: types,
5446
+ primaryType: findPrimaryType(types),
5447
+ message: typedData.data
5448
+ });
5449
+ }
5450
+
5451
+ var constructGetQuote = function constructGetQuote(_ref) {
5452
+ var _ref$apiURL = _ref.apiURL,
5453
+ apiURL = _ref$apiURL === void 0 ? API_URL : _ref$apiURL,
5454
+ chainId = _ref.chainId,
5455
+ fetcher = _ref.fetcher;
5456
+ var pricesUrl = apiURL + "/quote";
5457
+ function getQuote(_x, _x2) {
5458
+ return _getQuote.apply(this, arguments);
5459
+ }
5460
+ function _getQuote() {
5461
+ _getQuote = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(options, requestParams) {
5462
+ var _options$side;
5463
+ var search, fetchURL, data;
5464
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
5465
+ while (1) switch (_context.prev = _context.next) {
5466
+ case 0:
5467
+ search = constructSearchString(_extends({}, options, {
5468
+ chainId: chainId,
5469
+ side: (_options$side = options.side) != null ? _options$side : core.SwapSide.SELL
5470
+ }));
5471
+ fetchURL = pricesUrl + "/" + search;
5472
+ _context.next = 4;
5473
+ return fetcher({
5474
+ url: fetchURL,
5475
+ method: 'GET',
5476
+ requestParams: requestParams
5477
+ });
5478
+ case 4:
5479
+ data = _context.sent;
5480
+ return _context.abrupt("return", data);
5481
+ case 6:
5482
+ case "end":
5483
+ return _context.stop();
5484
+ }
5485
+ }, _callee);
5486
+ }));
5487
+ return _getQuote.apply(this, arguments);
5488
+ }
5489
+ return {
5490
+ getQuote: getQuote
5491
+ };
5492
+ };
5493
+
5494
+ var ORDER_CANCELLATIONS_EIP_712_TYPES = {
5495
+ OrderCancellations: [{
5496
+ name: 'orderIds',
5497
+ type: 'string[]'
5498
+ }]
5499
+ };
5500
+ function buildCancelDeltaOrderSignableData(_ref) {
5501
+ var orderInput = _ref.orderInput,
5502
+ chainId = _ref.chainId,
5503
+ paraswapDeltaAddress = _ref.paraswapDeltaAddress;
5504
+ var typedData = {
5505
+ types: {
5506
+ OrderCancellations: ORDER_CANCELLATIONS_EIP_712_TYPES.OrderCancellations
5507
+ },
5508
+ domain: {
5509
+ name: 'Portikus',
5510
+ version: '2.0.0',
5511
+ chainId: chainId,
5512
+ verifyingContract: paraswapDeltaAddress
5513
+ },
5514
+ data: {
5515
+ // explicityly pick only the necessary fields,
5516
+ // otherwise signing will break if more is present
5517
+ orderIds: orderInput.orderIds
5518
+ }
5519
+ };
5520
+ return typedData;
5521
+ }
5522
+
5523
+ var constructCancelDeltaOrder = function constructCancelDeltaOrder(options) {
5524
+ // cached internally
5525
+ var _constructGetDeltaCon = constructGetDeltaContract(options),
5526
+ getDeltaContract = _constructGetDeltaCon.getDeltaContract;
5527
+ var signCancelLimitDeltaOrderRequest = /*#__PURE__*/function () {
5528
+ var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(params, requestParams) {
5529
+ var ParaswapDelta, typedData, signature;
5530
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
5531
+ while (1) switch (_context.prev = _context.next) {
5532
+ case 0:
5533
+ _context.next = 2;
5534
+ return getDeltaContract(requestParams);
5535
+ case 2:
5536
+ ParaswapDelta = _context.sent;
5537
+ if (ParaswapDelta) {
5538
+ _context.next = 5;
5539
+ break;
5540
+ }
5541
+ throw new Error("Delta is not available on chain " + options.chainId);
5542
+ case 5:
5543
+ typedData = buildCancelDeltaOrderSignableData({
5544
+ orderInput: params,
5545
+ paraswapDeltaAddress: ParaswapDelta,
5546
+ chainId: options.chainId
5547
+ });
5548
+ _context.next = 8;
5549
+ return options.contractCaller.signTypedDataCall(typedData);
5550
+ case 8:
5551
+ signature = _context.sent;
5552
+ return _context.abrupt("return", signature);
5553
+ case 10:
5554
+ case "end":
5555
+ return _context.stop();
5556
+ }
5557
+ }, _callee);
5558
+ }));
5559
+ return function signCancelLimitDeltaOrderRequest(_x, _x2) {
5560
+ return _ref.apply(this, arguments);
5561
+ };
5562
+ }();
5563
+ var postCancelLimitDeltaOrderRequest = /*#__PURE__*/function () {
5564
+ var _ref2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2(params, requestParams) {
5565
+ var cancelUrl, res;
5566
+ return _regeneratorRuntime().wrap(function _callee2$(_context2) {
5567
+ while (1) switch (_context2.prev = _context2.next) {
5568
+ case 0:
5569
+ cancelUrl = options.apiURL + "/delta/orders/cancel";
5570
+ _context2.next = 3;
5571
+ return options.fetcher({
5572
+ url: cancelUrl,
5573
+ method: 'POST',
5574
+ data: params,
5575
+ requestParams: requestParams
5576
+ });
5577
+ case 3:
5578
+ res = _context2.sent;
5579
+ return _context2.abrupt("return", res);
5580
+ case 5:
5581
+ case "end":
5582
+ return _context2.stop();
5583
+ }
5584
+ }, _callee2);
5041
5585
  }));
5042
5586
  return function postCancelLimitDeltaOrderRequest(_x3, _x4) {
5043
5587
  return _ref2.apply(this, arguments);
@@ -5081,16 +5625,6 @@ var constructCancelDeltaOrder = function constructCancelDeltaOrder(options) {
5081
5625
  };
5082
5626
  };
5083
5627
 
5084
- // for same-chain Orders, all 0 params
5085
- var DEFAULT_BRIDGE = {
5086
- protocolSelector: '0x00000000',
5087
- // 4 bytes
5088
- destinationChainId: 0,
5089
- outputToken: ZERO_ADDRESS,
5090
- scalingFactor: 0,
5091
- protocolData: '0x'
5092
- };
5093
-
5094
5628
  var DeltaTokenModuleAbi = [{
5095
5629
  type: 'function',
5096
5630
  name: 'cancelAndWithdraw',
@@ -5209,6 +5743,182 @@ var DeltaTokenModuleAbi = [{
5209
5743
  }],
5210
5744
  outputs: [],
5211
5745
  stateMutability: 'nonpayable'
5746
+ }, {
5747
+ type: 'function',
5748
+ name: 'cancelTWAPAndWithdraw',
5749
+ inputs: [{
5750
+ name: 'order',
5751
+ type: 'tuple',
5752
+ internalType: 'struct TWAPOrder',
5753
+ components: [{
5754
+ name: 'owner',
5755
+ type: 'address',
5756
+ internalType: 'address'
5757
+ }, {
5758
+ name: 'beneficiary',
5759
+ type: 'address',
5760
+ internalType: 'address'
5761
+ }, {
5762
+ name: 'srcToken',
5763
+ type: 'address',
5764
+ internalType: 'address'
5765
+ }, {
5766
+ name: 'destToken',
5767
+ type: 'address',
5768
+ internalType: 'address'
5769
+ }, {
5770
+ name: 'nonce',
5771
+ type: 'uint256',
5772
+ internalType: 'uint256'
5773
+ }, {
5774
+ name: 'partnerAndFee',
5775
+ type: 'uint256',
5776
+ internalType: 'uint256'
5777
+ }, {
5778
+ name: 'deadline',
5779
+ type: 'uint64',
5780
+ internalType: 'uint64'
5781
+ }, {
5782
+ name: 'interval',
5783
+ type: 'uint64',
5784
+ internalType: 'uint64'
5785
+ }, {
5786
+ name: 'numSlices',
5787
+ type: 'uint32',
5788
+ internalType: 'uint32'
5789
+ }, {
5790
+ name: 'destAmountPerSlice',
5791
+ type: 'uint256',
5792
+ internalType: 'uint256'
5793
+ }, {
5794
+ name: 'totalSrcAmount',
5795
+ type: 'uint256',
5796
+ internalType: 'uint256'
5797
+ }, {
5798
+ name: 'permit',
5799
+ type: 'bytes',
5800
+ internalType: 'bytes'
5801
+ }, {
5802
+ name: 'metadata',
5803
+ type: 'bytes',
5804
+ internalType: 'bytes'
5805
+ }, {
5806
+ name: 'bridge',
5807
+ type: 'tuple',
5808
+ internalType: 'struct Bridge',
5809
+ components: [{
5810
+ name: 'protocolSelector',
5811
+ type: 'bytes4',
5812
+ internalType: 'bytes4'
5813
+ }, {
5814
+ name: 'destinationChainId',
5815
+ type: 'uint256',
5816
+ internalType: 'uint256'
5817
+ }, {
5818
+ name: 'outputToken',
5819
+ type: 'address',
5820
+ internalType: 'address'
5821
+ }, {
5822
+ name: 'scalingFactor',
5823
+ type: 'int8',
5824
+ internalType: 'int8'
5825
+ }, {
5826
+ name: 'protocolData',
5827
+ type: 'bytes',
5828
+ internalType: 'bytes'
5829
+ }]
5830
+ }]
5831
+ }],
5832
+ outputs: [],
5833
+ stateMutability: 'nonpayable'
5834
+ }, {
5835
+ type: 'function',
5836
+ name: 'cancelTWAPBuyAndWithdraw',
5837
+ inputs: [{
5838
+ name: 'order',
5839
+ type: 'tuple',
5840
+ internalType: 'struct TWAPBuyOrder',
5841
+ components: [{
5842
+ name: 'owner',
5843
+ type: 'address',
5844
+ internalType: 'address'
5845
+ }, {
5846
+ name: 'beneficiary',
5847
+ type: 'address',
5848
+ internalType: 'address'
5849
+ }, {
5850
+ name: 'srcToken',
5851
+ type: 'address',
5852
+ internalType: 'address'
5853
+ }, {
5854
+ name: 'destToken',
5855
+ type: 'address',
5856
+ internalType: 'address'
5857
+ }, {
5858
+ name: 'nonce',
5859
+ type: 'uint256',
5860
+ internalType: 'uint256'
5861
+ }, {
5862
+ name: 'partnerAndFee',
5863
+ type: 'uint256',
5864
+ internalType: 'uint256'
5865
+ }, {
5866
+ name: 'deadline',
5867
+ type: 'uint64',
5868
+ internalType: 'uint64'
5869
+ }, {
5870
+ name: 'interval',
5871
+ type: 'uint64',
5872
+ internalType: 'uint64'
5873
+ }, {
5874
+ name: 'numSlices',
5875
+ type: 'uint32',
5876
+ internalType: 'uint32'
5877
+ }, {
5878
+ name: 'totalDestAmount',
5879
+ type: 'uint256',
5880
+ internalType: 'uint256'
5881
+ }, {
5882
+ name: 'maxSrcAmount',
5883
+ type: 'uint256',
5884
+ internalType: 'uint256'
5885
+ }, {
5886
+ name: 'permit',
5887
+ type: 'bytes',
5888
+ internalType: 'bytes'
5889
+ }, {
5890
+ name: 'metadata',
5891
+ type: 'bytes',
5892
+ internalType: 'bytes'
5893
+ }, {
5894
+ name: 'bridge',
5895
+ type: 'tuple',
5896
+ internalType: 'struct Bridge',
5897
+ components: [{
5898
+ name: 'protocolSelector',
5899
+ type: 'bytes4',
5900
+ internalType: 'bytes4'
5901
+ }, {
5902
+ name: 'destinationChainId',
5903
+ type: 'uint256',
5904
+ internalType: 'uint256'
5905
+ }, {
5906
+ name: 'outputToken',
5907
+ type: 'address',
5908
+ internalType: 'address'
5909
+ }, {
5910
+ name: 'scalingFactor',
5911
+ type: 'int8',
5912
+ internalType: 'int8'
5913
+ }, {
5914
+ name: 'protocolData',
5915
+ type: 'bytes',
5916
+ internalType: 'bytes'
5917
+ }]
5918
+ }]
5919
+ }],
5920
+ outputs: [],
5921
+ stateMutability: 'nonpayable'
5212
5922
  }, {
5213
5923
  type: 'function',
5214
5924
  name: 'withdrawNative',
@@ -5404,11 +6114,93 @@ var constructDeltaTokenModule = function constructDeltaTokenModule(options) {
5404
6114
  return _ref7.apply(this, arguments);
5405
6115
  };
5406
6116
  }();
6117
+ var cancelTWAPAndWithdrawDeltaOrder = /*#__PURE__*/function () {
6118
+ var _ref8 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee5(order, overrides, requestParams) {
6119
+ var ParaswapDelta, res;
6120
+ return _regeneratorRuntime().wrap(function _callee5$(_context5) {
6121
+ while (1) switch (_context5.prev = _context5.next) {
6122
+ case 0:
6123
+ if (overrides === void 0) {
6124
+ overrides = {};
6125
+ }
6126
+ _context5.next = 3;
6127
+ return getDeltaContract(requestParams);
6128
+ case 3:
6129
+ ParaswapDelta = _context5.sent;
6130
+ if (ParaswapDelta) {
6131
+ _context5.next = 6;
6132
+ break;
6133
+ }
6134
+ throw new Error("Delta is not available on chain " + options.chainId);
6135
+ case 6:
6136
+ _context5.next = 8;
6137
+ return options.contractCaller.transactCall({
6138
+ address: ParaswapDelta,
6139
+ abi: DeltaTokenModuleAbi,
6140
+ contractMethod: 'cancelTWAPAndWithdraw',
6141
+ args: [order],
6142
+ overrides: overrides
6143
+ });
6144
+ case 8:
6145
+ res = _context5.sent;
6146
+ return _context5.abrupt("return", res);
6147
+ case 10:
6148
+ case "end":
6149
+ return _context5.stop();
6150
+ }
6151
+ }, _callee5);
6152
+ }));
6153
+ return function cancelTWAPAndWithdrawDeltaOrder(_x13, _x14, _x15) {
6154
+ return _ref8.apply(this, arguments);
6155
+ };
6156
+ }();
6157
+ var cancelTWAPBuyAndWithdrawDeltaOrder = /*#__PURE__*/function () {
6158
+ var _ref9 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee6(order, overrides, requestParams) {
6159
+ var ParaswapDelta, res;
6160
+ return _regeneratorRuntime().wrap(function _callee6$(_context6) {
6161
+ while (1) switch (_context6.prev = _context6.next) {
6162
+ case 0:
6163
+ if (overrides === void 0) {
6164
+ overrides = {};
6165
+ }
6166
+ _context6.next = 3;
6167
+ return getDeltaContract(requestParams);
6168
+ case 3:
6169
+ ParaswapDelta = _context6.sent;
6170
+ if (ParaswapDelta) {
6171
+ _context6.next = 6;
6172
+ break;
6173
+ }
6174
+ throw new Error("Delta is not available on chain " + options.chainId);
6175
+ case 6:
6176
+ _context6.next = 8;
6177
+ return options.contractCaller.transactCall({
6178
+ address: ParaswapDelta,
6179
+ abi: DeltaTokenModuleAbi,
6180
+ contractMethod: 'cancelTWAPBuyAndWithdraw',
6181
+ args: [order],
6182
+ overrides: overrides
6183
+ });
6184
+ case 8:
6185
+ res = _context6.sent;
6186
+ return _context6.abrupt("return", res);
6187
+ case 10:
6188
+ case "end":
6189
+ return _context6.stop();
6190
+ }
6191
+ }, _callee6);
6192
+ }));
6193
+ return function cancelTWAPBuyAndWithdrawDeltaOrder(_x16, _x17, _x18) {
6194
+ return _ref9.apply(this, arguments);
6195
+ };
6196
+ }();
5407
6197
  return {
5408
6198
  cancelAndWithdrawDeltaOrder: cancelAndWithdrawDeltaOrder,
5409
6199
  withdrawDeltaNative: withdrawDeltaNative,
5410
6200
  depositNativeAndPreSign: depositNativeAndPreSign,
5411
- depositNativeAndPreSignDeltaOrder: depositNativeAndPreSignDeltaOrder
6201
+ depositNativeAndPreSignDeltaOrder: depositNativeAndPreSignDeltaOrder,
6202
+ cancelTWAPAndWithdrawDeltaOrder: cancelTWAPAndWithdrawDeltaOrder,
6203
+ cancelTWAPBuyAndWithdrawDeltaOrder: cancelTWAPBuyAndWithdrawDeltaOrder
5412
6204
  };
5413
6205
  };
5414
6206
 
@@ -5653,6 +6445,57 @@ var constructSubmitExternalDeltaOrder = function constructSubmitExternalDeltaOrd
5653
6445
  submitExternalDeltaOrder: submitExternalDeltaOrder
5654
6446
  };
5655
6447
  };
6448
+ var constructSubmitTWAPDeltaOrder = function constructSubmitTWAPDeltaOrder(options) {
6449
+ var _constructBuildTWAPDe = constructBuildTWAPDeltaOrder(options),
6450
+ buildTWAPDeltaOrder = _constructBuildTWAPDe.buildTWAPDeltaOrder;
6451
+ var _constructSignTWAPDel = constructSignTWAPDeltaOrder(options),
6452
+ signTWAPDeltaOrder = _constructSignTWAPDel.signTWAPDeltaOrder;
6453
+ var _constructPostTWAPDel = constructPostTWAPDeltaOrder(options),
6454
+ postTWAPDeltaOrder = _constructPostTWAPDel.postTWAPDeltaOrder;
6455
+ var submitTWAPDeltaOrder = /*#__PURE__*/function () {
6456
+ var _ref3 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee3(orderParams) {
6457
+ var orderData, signature, response;
6458
+ return _regeneratorRuntime().wrap(function _callee3$(_context3) {
6459
+ while (1) switch (_context3.prev = _context3.next) {
6460
+ case 0:
6461
+ _context3.next = 2;
6462
+ return buildTWAPDeltaOrder(orderParams);
6463
+ case 2:
6464
+ orderData = _context3.sent;
6465
+ _context3.next = 5;
6466
+ return signTWAPDeltaOrder(orderData);
6467
+ case 5:
6468
+ signature = _context3.sent;
6469
+ _context3.next = 8;
6470
+ return postTWAPDeltaOrder({
6471
+ signature: signature,
6472
+ partner: orderParams.partner,
6473
+ order: orderData.data,
6474
+ onChainOrderType: orderParams.onChainOrderType,
6475
+ partiallyFillable: orderParams.partiallyFillable,
6476
+ referrerAddress: orderParams.referrerAddress,
6477
+ type: orderParams.type,
6478
+ includeAgents: orderParams.includeAgents,
6479
+ excludeAgents: orderParams.excludeAgents,
6480
+ degenMode: orderParams.degenMode
6481
+ });
6482
+ case 8:
6483
+ response = _context3.sent;
6484
+ return _context3.abrupt("return", response);
6485
+ case 10:
6486
+ case "end":
6487
+ return _context3.stop();
6488
+ }
6489
+ }, _callee3);
6490
+ }));
6491
+ return function submitTWAPDeltaOrder(_x3) {
6492
+ return _ref3.apply(this, arguments);
6493
+ };
6494
+ }();
6495
+ return {
6496
+ submitTWAPDeltaOrder: submitTWAPDeltaOrder
6497
+ };
6498
+ };
5656
6499
  /** @description construct SDK with every Delta Order-related method, fetching from API and Order signing */
5657
6500
  var constructAllDeltaOrdersHandlers = function constructAllDeltaOrdersHandlers(options) {
5658
6501
  var deltaOrdersGetters = constructGetDeltaOrders(options);
@@ -5674,7 +6517,12 @@ var constructAllDeltaOrdersHandlers = function constructAllDeltaOrdersHandlers(o
5674
6517
  var externalDeltaOrdersSign = constructSignExternalDeltaOrder(options);
5675
6518
  var externalDeltaOrdersPost = constructPostExternalDeltaOrder(options);
5676
6519
  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);
6520
+ var twapDeltaOrdersSubmit = constructSubmitTWAPDeltaOrder(options);
6521
+ var twapDeltaOrdersBuild = constructBuildTWAPDeltaOrder(options);
6522
+ var twapDeltaOrdersSign = constructSignTWAPDeltaOrder(options);
6523
+ var twapDeltaOrdersPost = constructPostTWAPDeltaOrder(options);
6524
+ var twapDeltaOrdersPreSign = constructPreSignTWAPDeltaOrder(options);
6525
+ return _extends({}, deltaOrdersGetters, deltaOrdersContractGetter, deltaPrice, partnerFee, bridgeInfo, isTokenSupportedInDelta, approveTokenForDelta, deltaOrdersSubmit, deltaOrdersBuild, deltaOrdersSign, deltaOrdersPreSign, deltaOrdersPost, deltaOrdersCancel, deltaTokenModule, externalDeltaOrdersSubmit, externalDeltaOrdersBuild, externalDeltaOrdersSign, externalDeltaOrdersPost, externalDeltaOrdersPreSign, twapDeltaOrdersSubmit, twapDeltaOrdersBuild, twapDeltaOrdersSign, twapDeltaOrdersPost, twapDeltaOrdersPreSign);
5678
6526
  };
5679
6527
 
5680
6528
  /** @deprecated NFT Orders are deprecated and will be removed in a future version. */
@@ -6022,6 +6870,7 @@ exports.constructBuildLimitOrder = constructBuildLimitOrder;
6022
6870
  exports.constructBuildLimitOrderTx = constructBuildLimitOrderTx;
6023
6871
  exports.constructBuildNFTOrder = constructBuildNFTOrder;
6024
6872
  exports.constructBuildNFTOrderTx = constructBuildNFTOrderTx;
6873
+ exports.constructBuildTWAPDeltaOrder = constructBuildTWAPDeltaOrder;
6025
6874
  exports.constructBuildTx = constructBuildTx;
6026
6875
  exports.constructCancelDeltaOrder = constructCancelDeltaOrder;
6027
6876
  exports.constructCancelLimitOrder = constructCancelLimitOrder;
@@ -6054,17 +6903,21 @@ exports.constructPostDeltaOrder = constructPostDeltaOrder;
6054
6903
  exports.constructPostExternalDeltaOrder = constructPostExternalDeltaOrder;
6055
6904
  exports.constructPostLimitOrder = constructPostLimitOrder;
6056
6905
  exports.constructPostNFTOrder = constructPostNFTOrder;
6906
+ exports.constructPostTWAPDeltaOrder = constructPostTWAPDeltaOrder;
6057
6907
  exports.constructPreSignDeltaOrder = constructPreSignDeltaOrder;
6058
6908
  exports.constructPreSignExternalDeltaOrder = constructPreSignExternalDeltaOrder;
6909
+ exports.constructPreSignTWAPDeltaOrder = constructPreSignTWAPDeltaOrder;
6059
6910
  exports.constructSignDeltaOrder = constructSignDeltaOrder;
6060
6911
  exports.constructSignExternalDeltaOrder = constructSignExternalDeltaOrder;
6061
6912
  exports.constructSignLimitOrder = constructSignLimitOrder;
6062
6913
  exports.constructSignNFTOrder = constructSignNFTOrder;
6914
+ exports.constructSignTWAPDeltaOrder = constructSignTWAPDeltaOrder;
6063
6915
  exports.constructSimpleSDK = constructSimpleSDK;
6064
6916
  exports.constructSubmitDeltaOrder = constructSubmitDeltaOrder;
6065
6917
  exports.constructSubmitExternalDeltaOrder = constructSubmitExternalDeltaOrder;
6066
6918
  exports.constructSubmitLimitOrder = constructSubmitLimitOrder;
6067
6919
  exports.constructSubmitNFTOrder = constructSubmitNFTOrder;
6920
+ exports.constructSubmitTWAPDeltaOrder = constructSubmitTWAPDeltaOrder;
6068
6921
  exports.constructSwapSDK = constructSwapSDK;
6069
6922
  exports.constructSwapTx = constructSwapTx;
6070
6923
  exports.constructToken = constructToken;