@velora-dex/sdk 8.1.0 → 8.1.1-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 (53) hide show
  1. package/dist/helpers/providers/viem.d.ts +1 -1
  2. package/dist/helpers/providers/viem.d.ts.map +1 -1
  3. package/dist/index.d.ts +3 -2
  4. package/dist/index.d.ts.map +1 -1
  5. package/dist/methods/delta/buildCrosschainOrderBridge.d.ts +1 -1
  6. package/dist/methods/delta/buildCrosschainOrderBridge.d.ts.map +1 -1
  7. package/dist/methods/delta/buildDeltaOrder.d.ts +9 -6
  8. package/dist/methods/delta/buildDeltaOrder.d.ts.map +1 -1
  9. package/dist/methods/delta/cancelDeltaOrder.d.ts +21 -0
  10. package/dist/methods/delta/cancelDeltaOrder.d.ts.map +1 -0
  11. package/dist/methods/delta/getDeltaOrders.d.ts +11 -1
  12. package/dist/methods/delta/getDeltaOrders.d.ts.map +1 -1
  13. package/dist/methods/delta/getDeltaPrice.d.ts +29 -10
  14. package/dist/methods/delta/getDeltaPrice.d.ts.map +1 -1
  15. package/dist/methods/delta/helpers/buildCancelDeltaOrderData.d.ts +25 -0
  16. package/dist/methods/delta/helpers/buildCancelDeltaOrderData.d.ts.map +1 -0
  17. package/dist/methods/delta/helpers/buildDeltaOrderData.d.ts +3 -3
  18. package/dist/methods/delta/helpers/buildDeltaOrderData.d.ts.map +1 -1
  19. package/dist/methods/delta/helpers/misc.d.ts +1 -1
  20. package/dist/methods/delta/helpers/misc.d.ts.map +1 -1
  21. package/dist/methods/delta/helpers/types.d.ts +34 -6
  22. package/dist/methods/delta/helpers/types.d.ts.map +1 -1
  23. package/dist/methods/delta/index.d.ts +7 -5
  24. package/dist/methods/delta/index.d.ts.map +1 -1
  25. package/dist/methods/delta/postDeltaOrder.d.ts +9 -1
  26. package/dist/methods/delta/postDeltaOrder.d.ts.map +1 -1
  27. package/dist/methods/quote/getQuote.d.ts +4 -4
  28. package/dist/methods/quote/getQuote.d.ts.map +1 -1
  29. package/dist/sdk.cjs.development.js +354 -407
  30. package/dist/sdk.cjs.development.js.map +1 -1
  31. package/dist/sdk.cjs.production.min.js +1 -1
  32. package/dist/sdk.cjs.production.min.js.map +1 -1
  33. package/dist/sdk.esm.js +354 -408
  34. package/dist/sdk.esm.js.map +1 -1
  35. package/package.json +1 -1
  36. package/src/helpers/providers/viem.ts +4 -1
  37. package/src/index.ts +6 -0
  38. package/src/methods/delta/buildCrosschainOrderBridge.ts +15 -6
  39. package/src/methods/delta/buildDeltaOrder.ts +33 -65
  40. package/src/methods/delta/cancelDeltaOrder.ts +109 -0
  41. package/src/methods/delta/getDeltaOrders.ts +38 -0
  42. package/src/methods/delta/getDeltaPrice.ts +60 -15
  43. package/src/methods/delta/helpers/across.ts +1 -1
  44. package/src/methods/delta/helpers/buildCancelDeltaOrderData.ts +48 -0
  45. package/src/methods/delta/helpers/buildDeltaOrderData.ts +36 -11
  46. package/src/methods/delta/helpers/misc.ts +6 -2
  47. package/src/methods/delta/helpers/types.ts +55 -7
  48. package/src/methods/delta/index.ts +19 -4
  49. package/src/methods/delta/postDeltaOrder.ts +11 -1
  50. package/src/methods/quote/getQuote.ts +7 -10
  51. package/dist/methods/delta/helpers/composePermit.d.ts +0 -5
  52. package/dist/methods/delta/helpers/composePermit.d.ts.map +0 -1
  53. package/src/methods/delta/helpers/composePermit.ts +0 -76
@@ -702,7 +702,7 @@ var constructApproveToken = function constructApproveToken(options) {
702
702
  };
703
703
  };
704
704
 
705
- var _excluded$9 = ["tokenType", "mainConnector", "connectors", "network"];
705
+ var _excluded$a = ["tokenType", "mainConnector", "connectors", "network"];
706
706
  var constructToken = function constructToken(tokenProps) {
707
707
  var _tokenProps$tokenType = tokenProps.tokenType,
708
708
  tokenType = _tokenProps$tokenType === void 0 ? 'ERC20' : _tokenProps$tokenType,
@@ -712,7 +712,7 @@ var constructToken = function constructToken(tokenProps) {
712
712
  connectorsInput = _tokenProps$connector === void 0 ? [] : _tokenProps$connector,
713
713
  _tokenProps$network = tokenProps.network,
714
714
  network = _tokenProps$network === void 0 ? 1 : _tokenProps$network,
715
- rest = _objectWithoutPropertiesLoose(tokenProps, _excluded$9);
715
+ rest = _objectWithoutPropertiesLoose(tokenProps, _excluded$a);
716
716
  var connectors = connectorsInput.length > 0 ? connectorsInput : [mainConnector];
717
717
  return _extends({
718
718
  tokenType: tokenType,
@@ -910,12 +910,12 @@ var constructGetAdapters = function constructGetAdapters(_ref) {
910
910
  };
911
911
  };
912
912
 
913
- var _excluded$8 = ["options"],
913
+ var _excluded$9 = ["options"],
914
914
  _excluded2$4 = ["excludeContractMethods", "includeContractMethods", "partner", "includeDEXS", "excludeDEXS", "excludePools"];
915
915
  function normalizeRateOptions(_ref) {
916
916
  var _ref$options = _ref.options,
917
917
  options = _ref$options === void 0 ? {} : _ref$options,
918
- restInput = _objectWithoutPropertiesLoose(_ref, _excluded$8);
918
+ restInput = _objectWithoutPropertiesLoose(_ref, _excluded$9);
919
919
  var excludeContractMethods = options.excludeContractMethods,
920
920
  includeContractMethods = options.includeContractMethods,
921
921
  partner = options.partner,
@@ -944,7 +944,7 @@ function normalizeRateOptions(_ref) {
944
944
  return _extends({}, transformed, restOptions, restInput);
945
945
  }
946
946
 
947
- var _excluded$7 = ["srcToken", "destToken"],
947
+ var _excluded$8 = ["srcToken", "destToken"],
948
948
  _excluded2$3 = ["route"];
949
949
  var INVALID_ROUTE = 'Invalid Route';
950
950
  var constructGetRate = function constructGetRate(_ref) {
@@ -961,7 +961,7 @@ var constructGetRate = function constructGetRate(_ref) {
961
961
  return _regeneratorRuntime().wrap(function _callee$(_context) {
962
962
  while (1) switch (_context.prev = _context.next) {
963
963
  case 0:
964
- srcToken = _ref2.srcToken, destToken = _ref2.destToken, rest = _objectWithoutPropertiesLoose(_ref2, _excluded$7);
964
+ srcToken = _ref2.srcToken, destToken = _ref2.destToken, rest = _objectWithoutPropertiesLoose(_ref2, _excluded$8);
965
965
  parsedOptions = normalizeRateOptions(rest); // always pass explicit type to make sure UrlSearchParams are correct
966
966
  search = constructSearchString(_extends({
967
967
  srcToken: srcToken,
@@ -1036,7 +1036,7 @@ var constructGetRate = function constructGetRate(_ref) {
1036
1036
  };
1037
1037
  };
1038
1038
 
1039
- var _excluded$6 = ["srcToken", "destToken", "amount", "route"];
1039
+ var _excluded$7 = ["srcToken", "destToken", "amount", "route"];
1040
1040
  var constructSwapTx = function constructSwapTx(_ref) {
1041
1041
  var _ref$apiURL = _ref.apiURL,
1042
1042
  apiURL = _ref$apiURL === void 0 ? API_URL : _ref$apiURL,
@@ -1051,7 +1051,7 @@ var constructSwapTx = function constructSwapTx(_ref) {
1051
1051
  return _regeneratorRuntime().wrap(function _callee$(_context) {
1052
1052
  while (1) switch (_context.prev = _context.next) {
1053
1053
  case 0:
1054
- srcToken = _ref2.srcToken, destToken = _ref2.destToken, amount = _ref2.amount, route = _ref2.route, rest = _objectWithoutPropertiesLoose(_ref2, _excluded$6);
1054
+ srcToken = _ref2.srcToken, destToken = _ref2.destToken, amount = _ref2.amount, route = _ref2.route, rest = _objectWithoutPropertiesLoose(_ref2, _excluded$7);
1055
1055
  parsedOptions = normalizeRateOptions(rest);
1056
1056
  _route = route == null ? void 0 : route.join('-'); // always pass explicit type to make sure UrlSearchParams are correct
1057
1057
  search = constructSearchString(_extends({
@@ -2263,7 +2263,7 @@ var constructGetLimitOrdersContract = function constructGetLimitOrdersContract(o
2263
2263
  };
2264
2264
  };
2265
2265
 
2266
- var _excluded$5 = ["srcToken", "destToken", "amount", "options"];
2266
+ var _excluded$6 = ["srcToken", "destToken", "amount", "options"];
2267
2267
  var constructBuildLimitOrderTx = function constructBuildLimitOrderTx(_ref) {
2268
2268
  var _ref$apiURL = _ref.apiURL,
2269
2269
  apiURL = _ref$apiURL === void 0 ? API_URL : _ref$apiURL,
@@ -2292,7 +2292,7 @@ var constructBuildLimitOrderTx = function constructBuildLimitOrderTx(_ref) {
2292
2292
  return _regeneratorRuntime().wrap(function _callee$(_context) {
2293
2293
  while (1) switch (_context.prev = _context.next) {
2294
2294
  case 0:
2295
- srcToken = _ref2.srcToken, destToken = _ref2.destToken, amount = _ref2.amount, _ref2$options = _ref2.options, _options = _ref2$options === void 0 ? {} : _ref2$options, rest = _objectWithoutPropertiesLoose(_ref2, _excluded$5);
2295
+ 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);
2296
2296
  tsEssentials.assert(orders.length > 0, 'must pass at least 1 order');
2297
2297
  _checkAndParseOrders = checkAndParseOrders$1(orders), totalTakerAmount = _checkAndParseOrders.totalTakerAmount, takerAsset = _checkAndParseOrders.takerAsset;
2298
2298
  tsEssentials.assert(takerAsset.toLowerCase() === destToken.toLowerCase(), 'All orders must have the same takerAsset as destToken');
@@ -2659,7 +2659,7 @@ var constructApproveTokenForNFTOrder = function constructApproveTokenForNFTOrder
2659
2659
  };
2660
2660
  };
2661
2661
 
2662
- var _excluded$4 = ["srcToken", "destToken", "amount", "options"];
2662
+ var _excluded$5 = ["srcToken", "destToken", "amount", "options"];
2663
2663
  var constructBuildNFTOrderTx = function constructBuildNFTOrderTx(_ref) {
2664
2664
  var _ref$apiURL = _ref.apiURL,
2665
2665
  apiURL = _ref$apiURL === void 0 ? API_URL : _ref$apiURL,
@@ -2688,7 +2688,7 @@ var constructBuildNFTOrderTx = function constructBuildNFTOrderTx(_ref) {
2688
2688
  return _regeneratorRuntime().wrap(function _callee$(_context) {
2689
2689
  while (1) switch (_context.prev = _context.next) {
2690
2690
  case 0:
2691
- srcToken = _ref2.srcToken, destToken = _ref2.destToken, amount = _ref2.amount, _ref2$options = _ref2.options, _options = _ref2$options === void 0 ? {} : _ref2$options, rest = _objectWithoutPropertiesLoose(_ref2, _excluded$4);
2691
+ srcToken = _ref2.srcToken, destToken = _ref2.destToken, amount = _ref2.amount, _ref2$options = _ref2.options, _options = _ref2$options === void 0 ? {} : _ref2$options, rest = _objectWithoutPropertiesLoose(_ref2, _excluded$5);
2692
2692
  tsEssentials.assert(orders.length > 0, 'must pass at least 1 order');
2693
2693
  _checkAndParseOrders = checkAndParseOrders(orders), totalTakerAmount = _checkAndParseOrders.totalTakerAmount, takerAsset = _checkAndParseOrders.takerAsset;
2694
2694
  tsEssentials.assert(takerAsset.toLowerCase() === destToken.toLowerCase(), 'All orders must have the same takerAsset as destToken');
@@ -2797,7 +2797,7 @@ function uintToAssetAddress(assetUint) {
2797
2797
  return '0x' + (BigInt(assetUint) & (BigInt(1) << BigInt(160)) - BigInt(1)).toString(16);
2798
2798
  }
2799
2799
 
2800
- var _excluded$3 = ["requestParams"];
2800
+ var _excluded$4 = ["requestParams"];
2801
2801
  var constructFetcher$2 = function constructFetcher(axios, extra) {
2802
2802
  return /*#__PURE__*/function () {
2803
2803
  var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(params) {
@@ -2806,7 +2806,7 @@ var constructFetcher$2 = function constructFetcher(axios, extra) {
2806
2806
  while (1) switch (_context.prev = _context.next) {
2807
2807
  case 0:
2808
2808
  _context.prev = 0;
2809
- requestParams = params.requestParams, rest = _objectWithoutPropertiesLoose(params, _excluded$3); // adding apiKey to headers if it's provided
2809
+ requestParams = params.requestParams, rest = _objectWithoutPropertiesLoose(params, _excluded$4); // adding apiKey to headers if it's provided
2810
2810
  headers = extra != null && extra.apiKey ? _extends({
2811
2811
  'X-API-KEY': extra.apiKey
2812
2812
  }, rest.headers, requestParams == null ? void 0 : requestParams.headers) : _extends({}, rest.headers, requestParams == null ? void 0 : requestParams.headers);
@@ -2914,7 +2914,7 @@ var constructFetcher$1 = function constructFetcher(fetch, extra) {
2914
2914
  }();
2915
2915
  };
2916
2916
 
2917
- var _excluded$2 = ["block", "gas"],
2917
+ var _excluded$3 = ["block", "gas"],
2918
2918
  _excluded2$2 = ["gas", "from"];
2919
2919
  var constructEthersV5ContractCaller = function constructEthersV5ContractCaller(_ref, account) {
2920
2920
  var providerOrSigner = _ref.ethersProviderOrSigner,
@@ -2930,7 +2930,7 @@ var constructEthersV5ContractCaller = function constructEthersV5ContractCaller(_
2930
2930
  contract = new Contract(address, abi, providerOrSigner);
2931
2931
  assertEthersContractHasMethodsV5(contract, contractMethod);
2932
2932
  // drop keys not in CallOverrides
2933
- block = overrides.block, gas = overrides.gas, restOverrides = _objectWithoutPropertiesLoose(overrides, _excluded$2); // reassign values to keys in CallOverrides
2933
+ block = overrides.block, gas = overrides.gas, restOverrides = _objectWithoutPropertiesLoose(overrides, _excluded$3); // reassign values to keys in CallOverrides
2934
2934
  normalizedOverrides = _extends({}, restOverrides, {
2935
2935
  blockTag: block,
2936
2936
  gasLimit: gas
@@ -3037,7 +3037,7 @@ function assertEthersContractHasMethodsV5(contract) {
3037
3037
  tsEssentials.assert(ethersContractHasMethodsV5.apply(void 0, [contract].concat(methods)), "Contract must have methods: " + methods.join(', '));
3038
3038
  }
3039
3039
 
3040
- var _excluded$1 = ["block", "gas"],
3040
+ var _excluded$2 = ["block", "gas"],
3041
3041
  _excluded2$1 = ["gas", "from"];
3042
3042
  var constructContractCaller$2 = function constructContractCaller(_ref, account) {
3043
3043
  var providerOrSigner = _ref.ethersV6ProviderOrSigner,
@@ -3050,7 +3050,7 @@ var constructContractCaller$2 = function constructContractCaller(_ref, account)
3050
3050
  case 0:
3051
3051
  address = params.address, abi = params.abi, contractMethod = params.contractMethod, args = params.args, overrides = params.overrides;
3052
3052
  contract = new Contract(address, abi, providerOrSigner); // drop keys not in CallOverrides
3053
- block = overrides.block, gas = overrides.gas, restOverrides = _objectWithoutPropertiesLoose(overrides, _excluded$1); // reassign values to keys in CallOverrides
3053
+ block = overrides.block, gas = overrides.gas, restOverrides = _objectWithoutPropertiesLoose(overrides, _excluded$2); // reassign values to keys in CallOverrides
3054
3054
  normalizedOverrides = _extends({}, restOverrides, {
3055
3055
  blockTag: block,
3056
3056
  gasLimit: gas
@@ -3183,7 +3183,7 @@ function findPrimaryType(types) {
3183
3183
  return primaryType;
3184
3184
  }
3185
3185
 
3186
- var _excluded = ["block", "gas", "value"],
3186
+ var _excluded$1 = ["block", "gas", "value"],
3187
3187
  _excluded2 = ["gas", "from", "value", "nonce"];
3188
3188
  var constructContractCaller$1 = function constructContractCaller(web3, account) {
3189
3189
  var staticCall = /*#__PURE__*/function () {
@@ -3199,7 +3199,7 @@ var constructContractCaller$1 = function constructContractCaller(web3, account)
3199
3199
  // FIXME abi types ethers dependant
3200
3200
  address);
3201
3201
  assertWeb3ContractHasMethods(contract, contractMethod);
3202
- gas = overrides.gas, value = overrides.value, restOverrides = _objectWithoutPropertiesLoose(overrides, _excluded);
3202
+ gas = overrides.gas, value = overrides.value, restOverrides = _objectWithoutPropertiesLoose(overrides, _excluded$1);
3203
3203
  normalizedOverrides = _extends({}, restOverrides, {
3204
3204
  gas: gas == null ? void 0 : gas.toString(10),
3205
3205
  value: value == null ? void 0 : value.toString(10)
@@ -3569,62 +3569,6 @@ var constructGetPartnerFee = function constructGetPartnerFee(_ref) {
3569
3569
  };
3570
3570
  };
3571
3571
 
3572
- function composeDeltaOrderPermit(_ref) {
3573
- var permit = _ref.permit,
3574
- nonce = _ref.nonce;
3575
- // Can be empty Permit if allowance is available for srcToken
3576
- if (permit === '0x' || permit === '0x01') {
3577
- // 0x01 is a special permit value that signifies existing Permit2 allowance.
3578
- return permit;
3579
- }
3580
- // In the Contract, specifically for Permit2 transferFrom, we have signature consisting of
3581
- // bytes32(permit2nonce) + bytes64(compacted signature) = bytes96 Permit2 Transfer format
3582
- if (permit.length >= 194) {
3583
- // "0x".length + 96bytes*2 = 194, means permit already concatenated with nonce
3584
- // or it's a different type of Permit all together
3585
- return permit;
3586
- }
3587
- return encodePermit2Transfer(BigInt(nonce), permit);
3588
- }
3589
- function uintTo32ByteArrayBuffer(nonce) {
3590
- // Create a 32-byte ArrayBuffer
3591
- var buffer = new Uint8Array(32);
3592
- // Convert nonce to hex string and pad it to 64 hex characters (32 bytes)
3593
- var nonceHex = nonce.toString(16).padStart(64, '0');
3594
- // Convert the hex string to bytes and fill the ArrayBuffer
3595
- for (var i = 0; i < 32; i++) {
3596
- buffer[i] = parseInt(nonceHex.slice(i * 2, i * 2 + 2), 16);
3597
- }
3598
- return buffer;
3599
- }
3600
- function hexToByteArray(hexString) {
3601
- // Remove "0x" prefix if present
3602
- hexString = hexString.replace(/^0x/, '');
3603
- // Convert hex string to Uint8Array
3604
- var byteArray = new Uint8Array(hexString.length / 2);
3605
- for (var i = 0; i < hexString.length; i += 2) {
3606
- byteArray[i / 2] = parseInt(hexString.slice(i, i + 2), 16);
3607
- }
3608
- return byteArray;
3609
- }
3610
- function encodePermit2Transfer(nonce, signature) {
3611
- // Get 32-byte ArrayBuffer for nonce
3612
- var nonceBuffer = uintTo32ByteArrayBuffer(nonce);
3613
- // Convert signature hex string to Uint8Array (64 bytes)
3614
- var signatureBuffer = hexToByteArray(signature);
3615
- if (signatureBuffer.length !== 64) {
3616
- throw new Error('Signature must be exactly 64 bytes');
3617
- }
3618
- // Concatenate nonceBuffer and signatureBuffer
3619
- var packedBuffer = new Uint8Array(32 + 64);
3620
- packedBuffer.set(nonceBuffer, 0); // Copy nonceBuffer at the start
3621
- packedBuffer.set(signatureBuffer, 32); // Copy signatureBuffer after nonce
3622
- // Convert to hex string for output
3623
- return '0x' + Array.from(packedBuffer).map(function (b) {
3624
- return b.toString(16).padStart(2, '0');
3625
- }).join('');
3626
- }
3627
-
3628
3572
  // Order(address owner,address beneficiary,address srcToken,address destToken,uint256 srcAmount,uint256 destAmount,uint256 deadline,uint256 nonce,bytes permit, bridge Bridge)";
3629
3573
  var SWAP_ORDER_EIP_712_TYPES = {
3630
3574
  Order: [{
@@ -3646,11 +3590,14 @@ var SWAP_ORDER_EIP_712_TYPES = {
3646
3590
  name: 'destAmount',
3647
3591
  type: 'uint256'
3648
3592
  }, {
3649
- name: 'expectedDestAmount',
3593
+ name: 'expectedAmount',
3650
3594
  type: 'uint256'
3651
3595
  }, {
3652
3596
  name: 'deadline',
3653
3597
  type: 'uint256'
3598
+ }, {
3599
+ name: 'kind',
3600
+ type: 'uint8'
3654
3601
  }, {
3655
3602
  name: 'nonce',
3656
3603
  type: 'uint256'
@@ -3660,13 +3607,16 @@ var SWAP_ORDER_EIP_712_TYPES = {
3660
3607
  }, {
3661
3608
  name: 'permit',
3662
3609
  type: 'bytes'
3610
+ }, {
3611
+ name: 'metadata',
3612
+ type: 'bytes'
3663
3613
  }, {
3664
3614
  name: 'bridge',
3665
3615
  type: 'Bridge'
3666
3616
  }],
3667
3617
  Bridge: [{
3668
- name: 'maxRelayerFee',
3669
- type: 'uint256'
3618
+ name: 'protocolSelector',
3619
+ type: 'bytes4'
3670
3620
  }, {
3671
3621
  name: 'destinationChainId',
3672
3622
  type: 'uint256'
@@ -3674,8 +3624,11 @@ var SWAP_ORDER_EIP_712_TYPES = {
3674
3624
  name: 'outputToken',
3675
3625
  type: 'address'
3676
3626
  }, {
3677
- name: 'multiCallHandler',
3678
- type: 'address'
3627
+ name: 'scalingFactor',
3628
+ type: 'int8'
3629
+ }, {
3630
+ name: 'protocolData',
3631
+ type: 'bytes'
3679
3632
  }]
3680
3633
  };
3681
3634
  function produceDeltaOrderTypedData(_ref) {
@@ -3697,7 +3650,7 @@ function produceDeltaOrderTypedData(_ref) {
3697
3650
  };
3698
3651
  return typedData;
3699
3652
  }
3700
- // default deadline = 1 hour from now (may be changed later)
3653
+ // default deadline = 1 hour for now (may be changed later)
3701
3654
  var DELTA_DEFAULT_EXPIRY = 60 * 60; // seconds
3702
3655
  function buildDeltaSignableOrderData(_ref2) {
3703
3656
  var owner = _ref2.owner,
@@ -3707,13 +3660,16 @@ function buildDeltaSignableOrderData(_ref2) {
3707
3660
  destToken = _ref2.destToken,
3708
3661
  srcAmount = _ref2.srcAmount,
3709
3662
  destAmount = _ref2.destAmount,
3710
- expectedDestAmount = _ref2.expectedDestAmount,
3663
+ expectedAmount = _ref2.expectedAmount,
3711
3664
  _ref2$deadline = _ref2.deadline,
3712
3665
  deadline = _ref2$deadline === void 0 ? Math.floor(Date.now() / 1000 + DELTA_DEFAULT_EXPIRY) : _ref2$deadline,
3713
3666
  _ref2$nonce = _ref2.nonce,
3714
3667
  nonce = _ref2$nonce === void 0 ? Date.now().toString(10) : _ref2$nonce,
3715
3668
  _ref2$permit = _ref2.permit,
3716
3669
  permit = _ref2$permit === void 0 ? '0x' : _ref2$permit,
3670
+ kind = _ref2.kind,
3671
+ _ref2$metadata = _ref2.metadata,
3672
+ metadata = _ref2$metadata === void 0 ? '0x' : _ref2$metadata,
3717
3673
  partnerAddress = _ref2.partnerAddress,
3718
3674
  partnerFeeBps = _ref2.partnerFeeBps,
3719
3675
  _ref2$partnerTakesSur = _ref2.partnerTakesSurplus,
@@ -3728,19 +3684,18 @@ function buildDeltaSignableOrderData(_ref2) {
3728
3684
  destToken: destToken,
3729
3685
  srcAmount: srcAmount,
3730
3686
  destAmount: destAmount,
3731
- expectedDestAmount: expectedDestAmount,
3687
+ expectedAmount: expectedAmount,
3732
3688
  deadline: deadline,
3733
3689
  nonce: nonce,
3734
- permit: composeDeltaOrderPermit({
3735
- permit: permit,
3736
- nonce: nonce
3737
- }),
3690
+ permit: permit,
3738
3691
  partnerAndFee: producePartnerAndFee({
3739
3692
  partnerFeeBps: partnerFeeBps,
3740
3693
  partnerAddress: partnerAddress,
3741
3694
  partnerTakesSurplus: partnerTakesSurplus
3742
3695
  }),
3743
- bridge: bridge
3696
+ bridge: bridge,
3697
+ kind: kind,
3698
+ metadata: metadata
3744
3699
  };
3745
3700
  return produceDeltaOrderTypedData({
3746
3701
  orderInput: orderInput,
@@ -3758,266 +3713,14 @@ function producePartnerAndFee(_ref3) {
3758
3713
  return partnerAndFee.toString(10);
3759
3714
  }
3760
3715
 
3761
- var constructGetMulticallHandlers = function constructGetMulticallHandlers(_ref) {
3762
- var _ref$apiURL = _ref.apiURL,
3763
- apiURL = _ref$apiURL === void 0 ? API_URL : _ref$apiURL,
3764
- fetcher = _ref.fetcher;
3765
- var multicallHandlersUrl = apiURL + "/delta/prices/multicall-handlers";
3766
- var _getMulticallHandlers = /*#__PURE__*/function () {
3767
- var _ref2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(requestParams) {
3768
- var data;
3769
- return _regeneratorRuntime().wrap(function _callee$(_context) {
3770
- while (1) switch (_context.prev = _context.next) {
3771
- case 0:
3772
- _context.next = 2;
3773
- return fetcher({
3774
- url: multicallHandlersUrl,
3775
- method: 'GET',
3776
- requestParams: requestParams
3777
- });
3778
- case 2:
3779
- data = _context.sent;
3780
- return _context.abrupt("return", data);
3781
- case 4:
3782
- case "end":
3783
- return _context.stop();
3784
- }
3785
- }, _callee);
3786
- }));
3787
- return function _getMulticallHandlers(_x) {
3788
- return _ref2.apply(this, arguments);
3789
- };
3790
- }();
3791
- // cached for the same instance of `{getMulticallHandlers} = constructGetMulticallHandlers()`
3792
- // so should persist across same apiUrl & network (and response is even network agnostic)
3793
- var getMulticallHandlers = runOnceAndCache(_getMulticallHandlers);
3794
- return {
3795
- getMulticallHandlers: getMulticallHandlers
3796
- };
3797
- };
3716
+ var _SwapSideToOrderKind;
3717
+ var OrderKind;
3718
+ (function (OrderKind) {
3719
+ OrderKind[OrderKind["Sell"] = 0] = "Sell";
3720
+ OrderKind[OrderKind["Buy"] = 1] = "Buy";
3721
+ })(OrderKind || (OrderKind = {}));
3722
+ var SwapSideToOrderKind = (_SwapSideToOrderKind = {}, _SwapSideToOrderKind[core.SwapSide.SELL] = OrderKind.Sell, _SwapSideToOrderKind[core.SwapSide.BUY] = OrderKind.Buy, _SwapSideToOrderKind);
3798
3723
 
3799
- var ACROSS_WETH_ADDRESSES_MAP = {
3800
- // Mainnet
3801
- 1: '0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2',
3802
- // Sepolia
3803
- 11155111: '0xfFf9976782d46CC05630D1f6eBAb18b2324d6B14',
3804
- // Base
3805
- 8453: '0x4200000000000000000000000000000000000006',
3806
- // Base Sepolia
3807
- 84532: '0x4200000000000000000000000000000000000006',
3808
- // Optimism
3809
- 10: '0x4200000000000000000000000000000000000006',
3810
- // Optimism Sepolia
3811
- 11155420: '0x4200000000000000000000000000000000000006',
3812
- // Polygon
3813
- 137: '0x7ceB23fD6bC0adD59E62ac25578270cFf1b9f619',
3814
- // Polygon Amoy
3815
- 80002: '0x52eF3d68BaB452a294342DC3e5f464d7f610f72E',
3816
- // Aleph Zero
3817
- 41455: '0xB3f0eE446723f4258862D949B4c9688e7e7d35d3',
3818
- // Arbitrum
3819
- 42161: '0x82aF49447D8a07e3bd95BD0d56f35241523fBab1',
3820
- // Arbitrum Sepolia
3821
- 421614: '0x980B62Da83eFf3D4576C647993b0c1D7faf17c73',
3822
- // Boba
3823
- 288: '0xDeadDeAddeAddEAddeadDEaDDEAdDeaDDeAD0000',
3824
- // Blast
3825
- 81457: '0x4300000000000000000000000000000000000004',
3826
- // Blast Sepolia
3827
- 168587773: '0x4200000000000000000000000000000000000023',
3828
- // BSC
3829
- 56: '0x2170Ed0880ac9A755fd29B2688956BD959F933F8',
3830
- // Ink
3831
- 57073: '0x4200000000000000000000000000000000000006',
3832
- // Ink Sepolia
3833
- 763373: '0x4200000000000000000000000000000000000006',
3834
- // Lens
3835
- 232: '0xE5ecd226b3032910CEaa43ba92EE8232f8237553',
3836
- // Lens Sepolia
3837
- 37111: '0xaA91D645D7a6C1aeaa5988e0547267B77d33fe16',
3838
- // Linea
3839
- 59144: '0xe5D7C2a44FfDDf6b295A15c148167daaAf5Cf34f',
3840
- // Lisk
3841
- 1135: '0x4200000000000000000000000000000000000006',
3842
- // Lisk Sepolia
3843
- 4202: '0x4200000000000000000000000000000000000006',
3844
- // Mode
3845
- 34443: '0x4200000000000000000000000000000000000006',
3846
- // Mode Sepolia
3847
- 919: '0x4200000000000000000000000000000000000006',
3848
- // Redstone
3849
- 690: '0x4200000000000000000000000000000000000006',
3850
- // Scroll
3851
- 534352: '0x5300000000000000000000000000000000000004',
3852
- // Scroll Sepolia
3853
- 534351: '0x5300000000000000000000000000000000000004',
3854
- // Soneium
3855
- 1868: '0x4200000000000000000000000000000000000006',
3856
- // Tatara
3857
- 129399: '0x17B8Ee96E3bcB3b04b3e8334de4524520C51caB4',
3858
- // Unichain
3859
- 130: '0x4200000000000000000000000000000000000006',
3860
- // Unichain Sepolia
3861
- 1301: '0x4200000000000000000000000000000000000006',
3862
- // World Chain
3863
- 480: '0x4200000000000000000000000000000000000006',
3864
- // ZK Sync
3865
- 324: '0x5AEa5775959fBC2557Cc8789bC1bf90A239D9a91',
3866
- // ZK Sync Sepolia
3867
- 300: '0x2D6Db36B3117802E996f13073A08A685D3FeF7eD',
3868
- // Zora
3869
- 7777777: '0x4200000000000000000000000000000000000006'
3870
- };
3871
- function isAcrossWETH(tokenAddress, chainId) {
3872
- var _ACROSS_WETH_ADDRESSE;
3873
- return ((_ACROSS_WETH_ADDRESSE = ACROSS_WETH_ADDRESSES_MAP[chainId]) == null ? void 0 : _ACROSS_WETH_ADDRESSE.toLowerCase()) === tokenAddress.toLowerCase();
3874
- }
3875
- var ETH_ADDRESS = '0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE';
3876
- var ETH_ADDRESS_LOWERCASE = /*#__PURE__*/ETH_ADDRESS.toLowerCase();
3877
- function isETHaddress(tokenAddress) {
3878
- return tokenAddress.toLowerCase() === ETH_ADDRESS_LOWERCASE;
3879
- }
3880
- function getDeltaBridge(_x) {
3881
- return _getDeltaBridge.apply(this, arguments);
3882
- }
3883
- function _getDeltaBridge() {
3884
- _getDeltaBridge = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(_ref) {
3885
- var destTokenDestChain, destChainId, bridgeFee, bridgeOutputToken, beneficiaryType, getMulticallHandler, outputToken, multiCallHandler, bridge;
3886
- return _regeneratorRuntime().wrap(function _callee$(_context) {
3887
- while (1) switch (_context.prev = _context.next) {
3888
- case 0:
3889
- destTokenDestChain = _ref.destTokenDestChain, destChainId = _ref.destChainId, bridgeFee = _ref.bridgeFee, bridgeOutputToken = _ref.bridgeOutputToken, beneficiaryType = _ref.beneficiaryType, getMulticallHandler = _ref.getMulticallHandler;
3890
- tsEssentials.assert(beneficiaryType === 'EOA' || beneficiaryType === 'SmartContract', 'beneficiaryType must be EOA or SmartContract');
3891
- outputToken = bridgeOutputToken.toLowerCase(); // for uniformity
3892
- multiCallHandler = ZERO_ADDRESS;
3893
- if (beneficiaryType === 'EOA' && isETHaddress(destTokenDestChain)) {
3894
- /*
3895
- if beneficiary is an EOA and destToken on destChain = ETH
3896
- order.destToken=ETH (deltaPrice already contains correct destToken)
3897
- order.bridge.outputToken=WETH_DEST_CHAIN (deltaPrice already contains correct bridge.outputToken)
3898
- order.bridge.multiCallHandler=NULL_ADDRESS
3899
- */
3900
- multiCallHandler = ZERO_ADDRESS;
3901
- }
3902
- if (!(beneficiaryType === 'EOA' && isAcrossWETH(destTokenDestChain, destChainId))) {
3903
- _context.next = 9;
3904
- break;
3905
- }
3906
- _context.next = 8;
3907
- return getMulticallHandler(destChainId);
3908
- case 8:
3909
- multiCallHandler = _context.sent;
3910
- case 9:
3911
- if (!(beneficiaryType === 'SmartContract' && isETHaddress(destTokenDestChain))) {
3912
- _context.next = 13;
3913
- break;
3914
- }
3915
- _context.next = 12;
3916
- return getMulticallHandler(destChainId);
3917
- case 12:
3918
- multiCallHandler = _context.sent;
3919
- case 13:
3920
- if (beneficiaryType === 'SmartContract' && isAcrossWETH(destTokenDestChain, destChainId)) {
3921
- /*
3922
- if beneficiary is a contract and destToken on destChain = WETH
3923
- order.destToken=WETH (deltaPrice already contains correct destToken)
3924
- order.bridge.outputToken=WETH_DEST_CHAIN (deltaPrice already contains correct bridge.outputToken)
3925
- order.bridge.multiCallHandler=NULL_ADDRESS
3926
- */
3927
- multiCallHandler = ZERO_ADDRESS;
3928
- }
3929
- bridge = {
3930
- maxRelayerFee: bridgeFee,
3931
- destinationChainId: destChainId,
3932
- outputToken: outputToken,
3933
- multiCallHandler: multiCallHandler
3934
- };
3935
- return _context.abrupt("return", {
3936
- bridge: bridge
3937
- });
3938
- case 16:
3939
- case "end":
3940
- return _context.stop();
3941
- }
3942
- }, _callee);
3943
- }));
3944
- return _getDeltaBridge.apply(this, arguments);
3945
- }
3946
-
3947
- var constructBuildCrosschainOrderBridge = function constructBuildCrosschainOrderBridge(options) {
3948
- var chainId = options.chainId;
3949
- // cached internally for `multicall` contracts
3950
- var _constructGetMultical = constructGetMulticallHandlers(options),
3951
- getMulticallHandlers = _constructGetMultical.getMulticallHandlers;
3952
- var buildCrosschainOrderBridge = /*#__PURE__*/function () {
3953
- var _ref2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2(_ref, requestParams) {
3954
- var destToken, destChainId, beneficiaryType, deltaPrice, getMulticallHandler, _yield$getDeltaBridge, bridge;
3955
- return _regeneratorRuntime().wrap(function _callee2$(_context2) {
3956
- while (1) switch (_context2.prev = _context2.next) {
3957
- case 0:
3958
- destToken = _ref.destToken, destChainId = _ref.destChainId, beneficiaryType = _ref.beneficiaryType, deltaPrice = _ref.deltaPrice;
3959
- tsEssentials.assert(chainId !== deltaPrice.bridge.destinationChainId, '`deltaPrice.bridge.destinationChainId` must be different from `chainId` for crosschain Order.bridge');
3960
- tsEssentials.assert(destChainId === deltaPrice.bridge.destinationChainId, '`destChainId` must match `deltaPrice.bridge.destinationChainId` for crosschain Order.bridge');
3961
- getMulticallHandler = /*#__PURE__*/function () {
3962
- var _ref3 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(chainId) {
3963
- var multicallHandlersMap, multicallHandler;
3964
- return _regeneratorRuntime().wrap(function _callee$(_context) {
3965
- while (1) switch (_context.prev = _context.next) {
3966
- case 0:
3967
- _context.next = 2;
3968
- return getMulticallHandlers(requestParams);
3969
- case 2:
3970
- multicallHandlersMap = _context.sent;
3971
- multicallHandler = multicallHandlersMap[chainId];
3972
- tsEssentials.assert(multicallHandler, "Multicall handler not found for chain " + chainId);
3973
- return _context.abrupt("return", multicallHandler);
3974
- case 6:
3975
- case "end":
3976
- return _context.stop();
3977
- }
3978
- }, _callee);
3979
- }));
3980
- return function getMulticallHandler(_x3) {
3981
- return _ref3.apply(this, arguments);
3982
- };
3983
- }();
3984
- _context2.next = 6;
3985
- return getDeltaBridge({
3986
- destTokenDestChain: destToken,
3987
- destChainId: destChainId,
3988
- bridgeFee: deltaPrice.bridgeFee,
3989
- bridgeOutputToken: deltaPrice.bridge.outputToken,
3990
- beneficiaryType: beneficiaryType,
3991
- getMulticallHandler: getMulticallHandler
3992
- });
3993
- case 6:
3994
- _yield$getDeltaBridge = _context2.sent;
3995
- bridge = _yield$getDeltaBridge.bridge;
3996
- return _context2.abrupt("return", {
3997
- bridge: bridge
3998
- });
3999
- case 9:
4000
- case "end":
4001
- return _context2.stop();
4002
- }
4003
- }, _callee2);
4004
- }));
4005
- return function buildCrosschainOrderBridge(_x, _x2) {
4006
- return _ref2.apply(this, arguments);
4007
- };
4008
- }();
4009
- return {
4010
- buildCrosschainOrderBridge: buildCrosschainOrderBridge
4011
- };
4012
- };
4013
-
4014
- // for same-chain Orders, all 0 params
4015
- var DEFAULT_BRIDGE = {
4016
- maxRelayerFee: '0',
4017
- destinationChainId: 0,
4018
- outputToken: ZERO_ADDRESS,
4019
- multiCallHandler: ZERO_ADDRESS
4020
- };
4021
3724
  var constructBuildDeltaOrder = function constructBuildDeltaOrder(options) {
4022
3725
  var chainId = options.chainId;
4023
3726
  // cached internally
@@ -4026,12 +3729,10 @@ var constructBuildDeltaOrder = function constructBuildDeltaOrder(options) {
4026
3729
  // cached internally for `partner`
4027
3730
  var _constructGetPartnerF = constructGetPartnerFee(options),
4028
3731
  getPartnerFee = _constructGetPartnerF.getPartnerFee;
4029
- var _constructBuildCrossc = constructBuildCrosschainOrderBridge(options),
4030
- buildCrosschainOrderBridge = _constructBuildCrossc.buildCrosschainOrderBridge;
4031
3732
  var buildDeltaOrder = /*#__PURE__*/function () {
4032
3733
  var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(options, requestParams) {
4033
- var _options$partnerFeeBp, _options$nonce;
4034
- var ParaswapDelta, partnerAddress, partnerFeeBps, partnerTakesSurplus, feeOrTakeSurplusSupplied, _partnerAddress, _partnerFeeBps, _partnerTakesSurplus, partner, partnerFeeResponse, bridge, _options$beneficiaryT, deltaPrice, _yield$buildCrosschai, constructedBridge, input;
3734
+ var _options$partnerFeeBp, _options$side, _options$nonce;
3735
+ var ParaswapDelta, partnerAddress, partnerFeeBps, partnerTakesSurplus, feeOrTakeSurplusSupplied, _partnerAddress, _partnerFeeBps, _partnerTakesSurplus, partner, partnerFeeResponse, swapSide, expectedAmount, input;
4035
3736
  return _regeneratorRuntime().wrap(function _callee$(_context) {
4036
3737
  while (1) switch (_context.prev = _context.next) {
4037
3738
  case 0:
@@ -4067,41 +3768,8 @@ var constructBuildDeltaOrder = function constructBuildDeltaOrder(options) {
4067
3768
  partnerFeeBps = (_partnerFeeBps = partnerFeeBps) != null ? _partnerFeeBps : partnerFeeResponse.partnerFee;
4068
3769
  partnerTakesSurplus = (_partnerTakesSurplus = partnerTakesSurplus) != null ? _partnerTakesSurplus : partnerFeeResponse.takeSurplus;
4069
3770
  case 17:
4070
- ////// Bridge logic //////
4071
- // Bridge is necessary for Crosschain Delta Orders
4072
- bridge = options.bridge; // give preference to user-provided bridge
4073
- if (bridge) {
4074
- _context.next = 31;
4075
- break;
4076
- }
4077
- if (!(options.destChainId && chainId !== options.destChainId)) {
4078
- _context.next = 30;
4079
- break;
4080
- }
4081
- // crosschain Delta Order
4082
- deltaPrice = options.deltaPrice;
4083
- tsEssentials.assert(deltaPrice.bridgeFee, '`bridgeFee` is required in `deltaPrice` for crosschain Delta Orders');
4084
- tsEssentials.assert(deltaPrice.bridge, '`bridge` is required in `deltaPrice` for crosschain Delta Orders');
4085
- _context.next = 25;
4086
- return buildCrosschainOrderBridge({
4087
- destToken: options.destToken,
4088
- destChainId: options.destChainId,
4089
- beneficiaryType: (_options$beneficiaryT = options.beneficiaryType) != null ? _options$beneficiaryT : 'EOA',
4090
- deltaPrice: {
4091
- bridgeFee: deltaPrice.bridgeFee,
4092
- bridge: deltaPrice.bridge // already contains destChainId and outputToken
4093
- }
4094
- }, requestParams);
4095
- case 25:
4096
- _yield$buildCrosschai = _context.sent;
4097
- constructedBridge = _yield$buildCrosschai.bridge;
4098
- bridge = constructedBridge;
4099
- _context.next = 31;
4100
- break;
4101
- case 30:
4102
- // 0-values bridge for same-chain Orders
4103
- bridge = DEFAULT_BRIDGE;
4104
- case 31:
3771
+ swapSide = (_options$side = options.side) != null ? _options$side : core.SwapSide.SELL;
3772
+ expectedAmount = swapSide === core.SwapSide.SELL ? options.deltaPrice.destAmount : options.deltaPrice.srcAmount;
4105
3773
  input = {
4106
3774
  owner: options.owner,
4107
3775
  beneficiary: options.beneficiary,
@@ -4111,19 +3779,21 @@ var constructBuildDeltaOrder = function constructBuildDeltaOrder(options) {
4111
3779
  destToken: options.deltaPrice.destToken,
4112
3780
  srcAmount: options.srcAmount,
4113
3781
  destAmount: options.destAmount,
4114
- expectedDestAmount: options.deltaPrice.destAmount,
3782
+ expectedAmount: expectedAmount,
4115
3783
  deadline: options.deadline,
4116
3784
  nonce: (_options$nonce = options.nonce) == null ? void 0 : _options$nonce.toString(10),
4117
3785
  permit: options.permit,
3786
+ kind: SwapSideToOrderKind[swapSide],
3787
+ metadata: options.metadata,
4118
3788
  chainId: chainId,
4119
3789
  paraswapDeltaAddress: ParaswapDelta,
4120
3790
  partnerAddress: partnerAddress,
4121
3791
  partnerTakesSurplus: partnerTakesSurplus,
4122
3792
  partnerFeeBps: partnerFeeBps,
4123
- bridge: bridge
3793
+ bridge: options.deltaPrice.bridge // ZERO_BRIDGE for same-chain Orders
4124
3794
  };
4125
3795
  return _context.abrupt("return", buildDeltaSignableOrderData(input));
4126
- case 33:
3796
+ case 21:
4127
3797
  case "end":
4128
3798
  return _context.stop();
4129
3799
  }
@@ -4138,6 +3808,62 @@ var constructBuildDeltaOrder = function constructBuildDeltaOrder(options) {
4138
3808
  };
4139
3809
  };
4140
3810
 
3811
+ var constructBuildCrosschainOrderBridge = function constructBuildCrosschainOrderBridge(options) {
3812
+ var chainId = options.chainId;
3813
+ // cached internally for `multicall` contracts
3814
+ // const { getMulticallHandlers } = constructGetMulticallHandlers(options);
3815
+ var buildCrosschainOrderBridge = /*#__PURE__*/function () {
3816
+ var _ref2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(_ref, requestParams) {
3817
+ var destChainId, deltaPrice, bridge;
3818
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
3819
+ while (1) switch (_context.prev = _context.next) {
3820
+ case 0:
3821
+ destChainId = _ref.destChainId, deltaPrice = _ref.deltaPrice;
3822
+ tsEssentials.assert(chainId !== deltaPrice.bridge.destinationChainId, '`deltaPrice.bridge.destinationChainId` must be different from `chainId` for crosschain Order.bridge');
3823
+ tsEssentials.assert(destChainId === deltaPrice.bridge.destinationChainId, '`destChainId` must match `deltaPrice.bridge.destinationChainId` for crosschain Order.bridge');
3824
+ /* const getMulticallHandler = async (chainId: number) => {
3825
+ const multicallHandlersMap = await getMulticallHandlers(requestParams);
3826
+ const multicallHandler = multicallHandlersMap[chainId];
3827
+ assert(
3828
+ multicallHandler,
3829
+ `Multicall handler not found for chain ${chainId}`
3830
+ );
3831
+ return multicallHandler;
3832
+ };
3833
+ const { bridge } = await getDeltaBridge({
3834
+ destTokenDestChain: destToken,
3835
+ destChainId,
3836
+ bridgeFee: deltaPrice.bridgeFee,
3837
+ bridgeOutputToken: deltaPrice.bridge.outputToken,
3838
+ beneficiaryType,
3839
+ getMulticallHandler,
3840
+ }); */
3841
+ // @TODO remove the whole buildCrosschainOrderBridge() when API provides BridgePrice.bridge = whole Bridge object
3842
+ bridge = {
3843
+ protocolSelector: '0x00000000',
3844
+ scalingFactor: 0,
3845
+ protocolData: '0x',
3846
+ destinationChainId: deltaPrice.bridge.destinationChainId,
3847
+ outputToken: deltaPrice.bridge.outputToken
3848
+ };
3849
+ return _context.abrupt("return", {
3850
+ bridge: bridge
3851
+ });
3852
+ case 5:
3853
+ case "end":
3854
+ return _context.stop();
3855
+ }
3856
+ }, _callee);
3857
+ }));
3858
+ return function buildCrosschainOrderBridge(_x, _x2) {
3859
+ return _ref2.apply(this, arguments);
3860
+ };
3861
+ }();
3862
+ return {
3863
+ buildCrosschainOrderBridge: buildCrosschainOrderBridge
3864
+ };
3865
+ };
3866
+
4141
3867
  var constructPostDeltaOrder = function constructPostDeltaOrder(_ref) {
4142
3868
  var _ref$apiURL = _ref.apiURL,
4143
3869
  apiURL = _ref$apiURL === void 0 ? API_URL : _ref$apiURL,
@@ -4167,12 +3893,14 @@ function sanitizeDeltaOrderData(_ref) {
4167
3893
  destToken = _ref.destToken,
4168
3894
  srcAmount = _ref.srcAmount,
4169
3895
  destAmount = _ref.destAmount,
4170
- expectedDestAmount = _ref.expectedDestAmount,
3896
+ expectedAmount = _ref.expectedAmount,
4171
3897
  deadline = _ref.deadline,
4172
3898
  nonce = _ref.nonce,
4173
3899
  permit = _ref.permit,
4174
3900
  partnerAndFee = _ref.partnerAndFee,
4175
- bridge = _ref.bridge;
3901
+ bridge = _ref.bridge,
3902
+ kind = _ref.kind,
3903
+ metadata = _ref.metadata;
4176
3904
  return {
4177
3905
  owner: owner,
4178
3906
  beneficiary: beneficiary,
@@ -4180,12 +3908,14 @@ function sanitizeDeltaOrderData(_ref) {
4180
3908
  destToken: destToken,
4181
3909
  srcAmount: srcAmount,
4182
3910
  destAmount: destAmount,
4183
- expectedDestAmount: expectedDestAmount,
3911
+ expectedAmount: expectedAmount,
4184
3912
  deadline: deadline,
4185
3913
  nonce: nonce,
4186
3914
  permit: permit,
4187
3915
  partnerAndFee: partnerAndFee,
4188
- bridge: bridge
3916
+ bridge: bridge,
3917
+ kind: kind,
3918
+ metadata: metadata
4189
3919
  };
4190
3920
  }
4191
3921
 
@@ -4222,6 +3952,7 @@ var constructSignDeltaOrder = function constructSignDeltaOrder(options) {
4222
3952
  };
4223
3953
  };
4224
3954
 
3955
+ var _excluded = ["includeAgents", "excludeAgents"];
4225
3956
  var constructGetDeltaPrice = function constructGetDeltaPrice(_ref) {
4226
3957
  var _ref$apiURL = _ref.apiURL,
4227
3958
  apiURL = _ref$apiURL === void 0 ? API_URL : _ref$apiURL,
@@ -4233,25 +3964,31 @@ var constructGetDeltaPrice = function constructGetDeltaPrice(_ref) {
4233
3964
  }
4234
3965
  function _getDeltaPrice() {
4235
3966
  _getDeltaPrice = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(options, requestParams) {
4236
- var search, fetchURL, data;
3967
+ var _options$side;
3968
+ var includeAgents, excludeAgents, rest, includeAgentsString, excludeAgentsString, search, fetchURL, data;
4237
3969
  return _regeneratorRuntime().wrap(function _callee$(_context) {
4238
3970
  while (1) switch (_context.prev = _context.next) {
4239
3971
  case 0:
4240
- search = constructSearchString(_extends({}, options, {
3972
+ includeAgents = options.includeAgents, excludeAgents = options.excludeAgents, rest = _objectWithoutPropertiesLoose(options, _excluded);
3973
+ includeAgentsString = includeAgents ? includeAgents.join(',') : undefined;
3974
+ excludeAgentsString = excludeAgents ? excludeAgents.join(',') : undefined;
3975
+ search = constructSearchString(_extends({}, rest, {
4241
3976
  chainId: chainId,
4242
- side: core.SwapSide.SELL // so far SELL side only
3977
+ side: (_options$side = options.side) != null ? _options$side : core.SwapSide.SELL,
3978
+ includeAgents: includeAgentsString,
3979
+ excludeAgents: excludeAgentsString
4243
3980
  }));
4244
3981
  fetchURL = pricesUrl + "/" + search;
4245
- _context.next = 4;
3982
+ _context.next = 7;
4246
3983
  return fetcher({
4247
3984
  url: fetchURL,
4248
3985
  method: 'GET',
4249
3986
  requestParams: requestParams
4250
3987
  });
4251
- case 4:
3988
+ case 7:
4252
3989
  data = _context.sent;
4253
3990
  return _context.abrupt("return", data.price);
4254
- case 6:
3991
+ case 9:
4255
3992
  case "end":
4256
3993
  return _context.stop();
4257
3994
  }
@@ -4267,7 +4004,8 @@ var constructGetDeltaPrice = function constructGetDeltaPrice(_ref) {
4267
4004
  var constructGetDeltaOrders = function constructGetDeltaOrders(_ref) {
4268
4005
  var _ref$apiURL = _ref.apiURL,
4269
4006
  apiURL = _ref$apiURL === void 0 ? API_URL : _ref$apiURL,
4270
- fetcher = _ref.fetcher;
4007
+ fetcher = _ref.fetcher,
4008
+ chainId = _ref.chainId;
4271
4009
  var baseUrl = apiURL + "/delta/orders";
4272
4010
  var getDeltaOrderById = /*#__PURE__*/function () {
4273
4011
  var _ref2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(orderId, requestParams) {
@@ -4330,7 +4068,9 @@ var constructGetDeltaOrders = function constructGetDeltaOrders(_ref) {
4330
4068
  search = constructSearchString({
4331
4069
  userAddress: options.userAddress,
4332
4070
  page: options.page,
4333
- limit: options.limit
4071
+ limit: options.limit,
4072
+ chainId: options.chainId,
4073
+ type: options.type
4334
4074
  });
4335
4075
  fetchURL = "" + baseUrl + search;
4336
4076
  _context3.next = 4;
@@ -4352,10 +4092,38 @@ var constructGetDeltaOrders = function constructGetDeltaOrders(_ref) {
4352
4092
  return _ref4.apply(this, arguments);
4353
4093
  };
4354
4094
  }();
4095
+ var getRequiredBalanceForDeltaLimitOrders = /*#__PURE__*/function () {
4096
+ var _ref5 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee4(userParams, requestParams) {
4097
+ var userURL, fetchURL, response;
4098
+ return _regeneratorRuntime().wrap(function _callee4$(_context4) {
4099
+ while (1) switch (_context4.prev = _context4.next) {
4100
+ case 0:
4101
+ userURL = baseUrl + "/fillablebalance/" + chainId + "/" + userParams.userAddress;
4102
+ fetchURL = userParams.tokenAddress ? userURL + "/" + userParams.tokenAddress : userURL;
4103
+ _context4.next = 4;
4104
+ return fetcher({
4105
+ url: fetchURL,
4106
+ method: 'GET',
4107
+ requestParams: requestParams
4108
+ });
4109
+ case 4:
4110
+ response = _context4.sent;
4111
+ return _context4.abrupt("return", response);
4112
+ case 6:
4113
+ case "end":
4114
+ return _context4.stop();
4115
+ }
4116
+ }, _callee4);
4117
+ }));
4118
+ return function getRequiredBalanceForDeltaLimitOrders(_x7, _x8) {
4119
+ return _ref5.apply(this, arguments);
4120
+ };
4121
+ }();
4355
4122
  return {
4356
4123
  getDeltaOrderById: getDeltaOrderById,
4357
4124
  getDeltaOrderByHash: getDeltaOrderByHash,
4358
- getDeltaOrders: getDeltaOrders
4125
+ getDeltaOrders: getDeltaOrders,
4126
+ getRequiredBalanceForDeltaLimitOrders: getRequiredBalanceForDeltaLimitOrders
4359
4127
  };
4360
4128
  };
4361
4129
 
@@ -4434,6 +4202,44 @@ var constructGetBridgeInfo = function constructGetBridgeInfo(_ref) {
4434
4202
  };
4435
4203
  };
4436
4204
 
4205
+ var constructGetMulticallHandlers = function constructGetMulticallHandlers(_ref) {
4206
+ var _ref$apiURL = _ref.apiURL,
4207
+ apiURL = _ref$apiURL === void 0 ? API_URL : _ref$apiURL,
4208
+ fetcher = _ref.fetcher;
4209
+ var multicallHandlersUrl = apiURL + "/delta/prices/multicall-handlers";
4210
+ var _getMulticallHandlers = /*#__PURE__*/function () {
4211
+ var _ref2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(requestParams) {
4212
+ var data;
4213
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
4214
+ while (1) switch (_context.prev = _context.next) {
4215
+ case 0:
4216
+ _context.next = 2;
4217
+ return fetcher({
4218
+ url: multicallHandlersUrl,
4219
+ method: 'GET',
4220
+ requestParams: requestParams
4221
+ });
4222
+ case 2:
4223
+ data = _context.sent;
4224
+ return _context.abrupt("return", data);
4225
+ case 4:
4226
+ case "end":
4227
+ return _context.stop();
4228
+ }
4229
+ }, _callee);
4230
+ }));
4231
+ return function _getMulticallHandlers(_x) {
4232
+ return _ref2.apply(this, arguments);
4233
+ };
4234
+ }();
4235
+ // cached for the same instance of `{getMulticallHandlers} = constructGetMulticallHandlers()`
4236
+ // so should persist across same apiUrl & network (and response is even network agnostic)
4237
+ var getMulticallHandlers = runOnceAndCache(_getMulticallHandlers);
4238
+ return {
4239
+ getMulticallHandlers: getMulticallHandlers
4240
+ };
4241
+ };
4242
+
4437
4243
  var constructIsTokenSupportedInDelta = function constructIsTokenSupportedInDelta(_ref) {
4438
4244
  var _ref$apiURL = _ref.apiURL,
4439
4245
  apiURL = _ref$apiURL === void 0 ? API_URL : _ref$apiURL,
@@ -4486,13 +4292,14 @@ var constructGetQuote = function constructGetQuote(_ref) {
4486
4292
  }
4487
4293
  function _getQuote() {
4488
4294
  _getQuote = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(options, requestParams) {
4295
+ var _options$side;
4489
4296
  var search, fetchURL, data;
4490
4297
  return _regeneratorRuntime().wrap(function _callee$(_context) {
4491
4298
  while (1) switch (_context.prev = _context.next) {
4492
4299
  case 0:
4493
4300
  search = constructSearchString(_extends({}, options, {
4494
- chainId: chainId
4495
- // side: SwapSide.SELL, // so far SELL side only for Delta
4301
+ chainId: chainId,
4302
+ side: (_options$side = options.side) != null ? _options$side : core.SwapSide.SELL
4496
4303
  }));
4497
4304
  fetchURL = pricesUrl + "/" + search;
4498
4305
  _context.next = 4;
@@ -4517,6 +4324,140 @@ var constructGetQuote = function constructGetQuote(_ref) {
4517
4324
  };
4518
4325
  };
4519
4326
 
4327
+ var ORDER_CANCELLATIONS_EIP_712_TYPES = {
4328
+ OrderCancellations: [{
4329
+ name: 'orderIds',
4330
+ type: 'string[]'
4331
+ }]
4332
+ };
4333
+ function buildCancelDeltaOrderSignableData(_ref) {
4334
+ var orderInput = _ref.orderInput,
4335
+ chainId = _ref.chainId,
4336
+ paraswapDeltaAddress = _ref.paraswapDeltaAddress;
4337
+ var typedData = {
4338
+ types: {
4339
+ OrderCancellations: ORDER_CANCELLATIONS_EIP_712_TYPES.OrderCancellations
4340
+ },
4341
+ domain: {
4342
+ name: 'Portikus',
4343
+ version: '2.0.0',
4344
+ chainId: chainId,
4345
+ verifyingContract: paraswapDeltaAddress
4346
+ },
4347
+ data: {
4348
+ // explicityly pick only the necessary fields,
4349
+ // otherwise signing will break if more is present
4350
+ orderIds: orderInput.orderIds
4351
+ }
4352
+ };
4353
+ return typedData;
4354
+ }
4355
+
4356
+ var constructCancelDeltaOrder = function constructCancelDeltaOrder(options) {
4357
+ // cached internally
4358
+ var _constructGetDeltaCon = constructGetDeltaContract(options),
4359
+ getDeltaContract = _constructGetDeltaCon.getDeltaContract;
4360
+ var signCancelLimitDeltaOrderRequest = /*#__PURE__*/function () {
4361
+ var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(params, requestParams) {
4362
+ var ParaswapDelta, typedData, signature;
4363
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
4364
+ while (1) switch (_context.prev = _context.next) {
4365
+ case 0:
4366
+ _context.next = 2;
4367
+ return getDeltaContract(requestParams);
4368
+ case 2:
4369
+ ParaswapDelta = _context.sent;
4370
+ if (ParaswapDelta) {
4371
+ _context.next = 5;
4372
+ break;
4373
+ }
4374
+ throw new Error("Delta is not available on chain " + options.chainId);
4375
+ case 5:
4376
+ typedData = buildCancelDeltaOrderSignableData({
4377
+ orderInput: params,
4378
+ paraswapDeltaAddress: ParaswapDelta,
4379
+ chainId: options.chainId
4380
+ });
4381
+ _context.next = 8;
4382
+ return options.contractCaller.signTypedDataCall(typedData);
4383
+ case 8:
4384
+ signature = _context.sent;
4385
+ return _context.abrupt("return", signature);
4386
+ case 10:
4387
+ case "end":
4388
+ return _context.stop();
4389
+ }
4390
+ }, _callee);
4391
+ }));
4392
+ return function signCancelLimitDeltaOrderRequest(_x, _x2) {
4393
+ return _ref.apply(this, arguments);
4394
+ };
4395
+ }();
4396
+ var postCancelLimitDeltaOrderRequest = /*#__PURE__*/function () {
4397
+ var _ref2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2(params, requestParams) {
4398
+ var cancelUrl, res;
4399
+ return _regeneratorRuntime().wrap(function _callee2$(_context2) {
4400
+ while (1) switch (_context2.prev = _context2.next) {
4401
+ case 0:
4402
+ cancelUrl = options.apiURL + "/delta/orders/cancel";
4403
+ _context2.next = 3;
4404
+ return options.fetcher({
4405
+ url: cancelUrl,
4406
+ method: 'POST',
4407
+ data: params,
4408
+ requestParams: requestParams
4409
+ });
4410
+ case 3:
4411
+ res = _context2.sent;
4412
+ return _context2.abrupt("return", res);
4413
+ case 5:
4414
+ case "end":
4415
+ return _context2.stop();
4416
+ }
4417
+ }, _callee2);
4418
+ }));
4419
+ return function postCancelLimitDeltaOrderRequest(_x3, _x4) {
4420
+ return _ref2.apply(this, arguments);
4421
+ };
4422
+ }();
4423
+ var cancelLimitDeltaOrders = /*#__PURE__*/function () {
4424
+ var _ref4 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee3(_ref3, requestParams) {
4425
+ var orderIds, signature, res;
4426
+ return _regeneratorRuntime().wrap(function _callee3$(_context3) {
4427
+ while (1) switch (_context3.prev = _context3.next) {
4428
+ case 0:
4429
+ orderIds = _ref3.orderIds;
4430
+ _context3.next = 3;
4431
+ return signCancelLimitDeltaOrderRequest({
4432
+ orderIds: orderIds
4433
+ }, requestParams);
4434
+ case 3:
4435
+ signature = _context3.sent;
4436
+ _context3.next = 6;
4437
+ return postCancelLimitDeltaOrderRequest({
4438
+ orderIds: orderIds,
4439
+ signature: signature
4440
+ }, requestParams);
4441
+ case 6:
4442
+ res = _context3.sent;
4443
+ return _context3.abrupt("return", res);
4444
+ case 8:
4445
+ case "end":
4446
+ return _context3.stop();
4447
+ }
4448
+ }, _callee3);
4449
+ }));
4450
+ return function cancelLimitDeltaOrders(_x5, _x6) {
4451
+ return _ref4.apply(this, arguments);
4452
+ };
4453
+ }();
4454
+ return {
4455
+ signCancelLimitDeltaOrderRequest: signCancelLimitDeltaOrderRequest,
4456
+ postCancelLimitDeltaOrderRequest: postCancelLimitDeltaOrderRequest,
4457
+ cancelLimitDeltaOrders: cancelLimitDeltaOrders
4458
+ };
4459
+ };
4460
+
4520
4461
  /** @description construct composable SDK with methods you choose yourself */
4521
4462
  var constructPartialSDK = function constructPartialSDK(config) {
4522
4463
  var _config$apiURL, _config$version;
@@ -4680,7 +4621,11 @@ var constructSubmitDeltaOrder = function constructSubmitDeltaOrder(options) {
4680
4621
  signature: signature,
4681
4622
  partner: orderParams.partner,
4682
4623
  order: orderData.data,
4683
- partiallyFillable: orderParams.partiallyFillable
4624
+ partiallyFillable: orderParams.partiallyFillable,
4625
+ referrerAddress: orderParams.referrerAddress,
4626
+ type: orderParams.type,
4627
+ includeAgents: orderParams.includeAgents,
4628
+ excludeAgents: orderParams.excludeAgents
4684
4629
  });
4685
4630
  case 8:
4686
4631
  response = _context.sent;
@@ -4714,7 +4659,8 @@ var constructAllDeltaOrdersHandlers = function constructAllDeltaOrdersHandlers(o
4714
4659
  var deltaOrdersBuild = constructBuildDeltaOrder(options);
4715
4660
  var deltaOrdersSign = constructSignDeltaOrder(options);
4716
4661
  var deltaOrdersPost = constructPostDeltaOrder(options);
4717
- return _extends({}, deltaOrdersGetters, deltaOrdersContractGetter, deltaPrice, partnerFee, bridgeInfo, isTokenSupportedInDelta, multicallHandlers, approveTokenForDelta, deltaOrdersSubmit, deltaOrdersBuild, deltaOrdersSign, deltaOrdersPost, buildCrosschainOrderBridge);
4662
+ var deltaOrdersCancel = constructCancelDeltaOrder(options);
4663
+ return _extends({}, deltaOrdersGetters, deltaOrdersContractGetter, deltaPrice, partnerFee, bridgeInfo, isTokenSupportedInDelta, multicallHandlers, approveTokenForDelta, deltaOrdersSubmit, deltaOrdersBuild, deltaOrdersSign, deltaOrdersPost, deltaOrdersCancel, buildCrosschainOrderBridge);
4718
4664
  };
4719
4665
 
4720
4666
  var constructSubmitNFTOrder = function constructSubmitNFTOrder(options) {
@@ -5059,6 +5005,7 @@ exports.constructBuildLimitOrderTx = constructBuildLimitOrderTx;
5059
5005
  exports.constructBuildNFTOrder = constructBuildNFTOrder;
5060
5006
  exports.constructBuildNFTOrderTx = constructBuildNFTOrderTx;
5061
5007
  exports.constructBuildTx = constructBuildTx;
5008
+ exports.constructCancelDeltaOrder = constructCancelDeltaOrder;
5062
5009
  exports.constructCancelLimitOrder = constructCancelLimitOrder;
5063
5010
  exports.constructCancelNFTOrder = constructCancelNFTOrder;
5064
5011
  exports.constructEthersContractCaller = constructEthersV5ContractCaller;