@velora-dex/sdk 8.1.0 → 8.1.1-dev.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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 +22 -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 +27 -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 +357 -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 +357 -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 +111 -0
  41. package/src/methods/delta/getDeltaOrders.ts +38 -0
  42. package/src/methods/delta/getDeltaPrice.ts +58 -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
package/dist/sdk.esm.js CHANGED
@@ -699,7 +699,7 @@ var constructApproveToken = function constructApproveToken(options) {
699
699
  };
700
700
  };
701
701
 
702
- var _excluded$9 = ["tokenType", "mainConnector", "connectors", "network"];
702
+ var _excluded$a = ["tokenType", "mainConnector", "connectors", "network"];
703
703
  var constructToken = function constructToken(tokenProps) {
704
704
  var _tokenProps$tokenType = tokenProps.tokenType,
705
705
  tokenType = _tokenProps$tokenType === void 0 ? 'ERC20' : _tokenProps$tokenType,
@@ -709,7 +709,7 @@ var constructToken = function constructToken(tokenProps) {
709
709
  connectorsInput = _tokenProps$connector === void 0 ? [] : _tokenProps$connector,
710
710
  _tokenProps$network = tokenProps.network,
711
711
  network = _tokenProps$network === void 0 ? 1 : _tokenProps$network,
712
- rest = _objectWithoutPropertiesLoose(tokenProps, _excluded$9);
712
+ rest = _objectWithoutPropertiesLoose(tokenProps, _excluded$a);
713
713
  var connectors = connectorsInput.length > 0 ? connectorsInput : [mainConnector];
714
714
  return _extends({
715
715
  tokenType: tokenType,
@@ -907,12 +907,12 @@ var constructGetAdapters = function constructGetAdapters(_ref) {
907
907
  };
908
908
  };
909
909
 
910
- var _excluded$8 = ["options"],
910
+ var _excluded$9 = ["options"],
911
911
  _excluded2$4 = ["excludeContractMethods", "includeContractMethods", "partner", "includeDEXS", "excludeDEXS", "excludePools"];
912
912
  function normalizeRateOptions(_ref) {
913
913
  var _ref$options = _ref.options,
914
914
  options = _ref$options === void 0 ? {} : _ref$options,
915
- restInput = _objectWithoutPropertiesLoose(_ref, _excluded$8);
915
+ restInput = _objectWithoutPropertiesLoose(_ref, _excluded$9);
916
916
  var excludeContractMethods = options.excludeContractMethods,
917
917
  includeContractMethods = options.includeContractMethods,
918
918
  partner = options.partner,
@@ -941,7 +941,7 @@ function normalizeRateOptions(_ref) {
941
941
  return _extends({}, transformed, restOptions, restInput);
942
942
  }
943
943
 
944
- var _excluded$7 = ["srcToken", "destToken"],
944
+ var _excluded$8 = ["srcToken", "destToken"],
945
945
  _excluded2$3 = ["route"];
946
946
  var INVALID_ROUTE = 'Invalid Route';
947
947
  var constructGetRate = function constructGetRate(_ref) {
@@ -958,7 +958,7 @@ var constructGetRate = function constructGetRate(_ref) {
958
958
  return _regeneratorRuntime().wrap(function _callee$(_context) {
959
959
  while (1) switch (_context.prev = _context.next) {
960
960
  case 0:
961
- srcToken = _ref2.srcToken, destToken = _ref2.destToken, rest = _objectWithoutPropertiesLoose(_ref2, _excluded$7);
961
+ srcToken = _ref2.srcToken, destToken = _ref2.destToken, rest = _objectWithoutPropertiesLoose(_ref2, _excluded$8);
962
962
  parsedOptions = normalizeRateOptions(rest); // always pass explicit type to make sure UrlSearchParams are correct
963
963
  search = constructSearchString(_extends({
964
964
  srcToken: srcToken,
@@ -1033,7 +1033,7 @@ var constructGetRate = function constructGetRate(_ref) {
1033
1033
  };
1034
1034
  };
1035
1035
 
1036
- var _excluded$6 = ["srcToken", "destToken", "amount", "route"];
1036
+ var _excluded$7 = ["srcToken", "destToken", "amount", "route"];
1037
1037
  var constructSwapTx = function constructSwapTx(_ref) {
1038
1038
  var _ref$apiURL = _ref.apiURL,
1039
1039
  apiURL = _ref$apiURL === void 0 ? API_URL : _ref$apiURL,
@@ -1048,7 +1048,7 @@ var constructSwapTx = function constructSwapTx(_ref) {
1048
1048
  return _regeneratorRuntime().wrap(function _callee$(_context) {
1049
1049
  while (1) switch (_context.prev = _context.next) {
1050
1050
  case 0:
1051
- srcToken = _ref2.srcToken, destToken = _ref2.destToken, amount = _ref2.amount, route = _ref2.route, rest = _objectWithoutPropertiesLoose(_ref2, _excluded$6);
1051
+ srcToken = _ref2.srcToken, destToken = _ref2.destToken, amount = _ref2.amount, route = _ref2.route, rest = _objectWithoutPropertiesLoose(_ref2, _excluded$7);
1052
1052
  parsedOptions = normalizeRateOptions(rest);
1053
1053
  _route = route == null ? void 0 : route.join('-'); // always pass explicit type to make sure UrlSearchParams are correct
1054
1054
  search = constructSearchString(_extends({
@@ -2260,7 +2260,7 @@ var constructGetLimitOrdersContract = function constructGetLimitOrdersContract(o
2260
2260
  };
2261
2261
  };
2262
2262
 
2263
- var _excluded$5 = ["srcToken", "destToken", "amount", "options"];
2263
+ var _excluded$6 = ["srcToken", "destToken", "amount", "options"];
2264
2264
  var constructBuildLimitOrderTx = function constructBuildLimitOrderTx(_ref) {
2265
2265
  var _ref$apiURL = _ref.apiURL,
2266
2266
  apiURL = _ref$apiURL === void 0 ? API_URL : _ref$apiURL,
@@ -2289,7 +2289,7 @@ var constructBuildLimitOrderTx = function constructBuildLimitOrderTx(_ref) {
2289
2289
  return _regeneratorRuntime().wrap(function _callee$(_context) {
2290
2290
  while (1) switch (_context.prev = _context.next) {
2291
2291
  case 0:
2292
- 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);
2292
+ 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);
2293
2293
  assert(orders.length > 0, 'must pass at least 1 order');
2294
2294
  _checkAndParseOrders = checkAndParseOrders$1(orders), totalTakerAmount = _checkAndParseOrders.totalTakerAmount, takerAsset = _checkAndParseOrders.takerAsset;
2295
2295
  assert(takerAsset.toLowerCase() === destToken.toLowerCase(), 'All orders must have the same takerAsset as destToken');
@@ -2656,7 +2656,7 @@ var constructApproveTokenForNFTOrder = function constructApproveTokenForNFTOrder
2656
2656
  };
2657
2657
  };
2658
2658
 
2659
- var _excluded$4 = ["srcToken", "destToken", "amount", "options"];
2659
+ var _excluded$5 = ["srcToken", "destToken", "amount", "options"];
2660
2660
  var constructBuildNFTOrderTx = function constructBuildNFTOrderTx(_ref) {
2661
2661
  var _ref$apiURL = _ref.apiURL,
2662
2662
  apiURL = _ref$apiURL === void 0 ? API_URL : _ref$apiURL,
@@ -2685,7 +2685,7 @@ var constructBuildNFTOrderTx = function constructBuildNFTOrderTx(_ref) {
2685
2685
  return _regeneratorRuntime().wrap(function _callee$(_context) {
2686
2686
  while (1) switch (_context.prev = _context.next) {
2687
2687
  case 0:
2688
- 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);
2688
+ 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);
2689
2689
  assert(orders.length > 0, 'must pass at least 1 order');
2690
2690
  _checkAndParseOrders = checkAndParseOrders(orders), totalTakerAmount = _checkAndParseOrders.totalTakerAmount, takerAsset = _checkAndParseOrders.takerAsset;
2691
2691
  assert(takerAsset.toLowerCase() === destToken.toLowerCase(), 'All orders must have the same takerAsset as destToken');
@@ -2794,7 +2794,7 @@ function uintToAssetAddress(assetUint) {
2794
2794
  return '0x' + (BigInt(assetUint) & (BigInt(1) << BigInt(160)) - BigInt(1)).toString(16);
2795
2795
  }
2796
2796
 
2797
- var _excluded$3 = ["requestParams"];
2797
+ var _excluded$4 = ["requestParams"];
2798
2798
  var constructFetcher$2 = function constructFetcher(axios, extra) {
2799
2799
  return /*#__PURE__*/function () {
2800
2800
  var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(params) {
@@ -2803,7 +2803,7 @@ var constructFetcher$2 = function constructFetcher(axios, extra) {
2803
2803
  while (1) switch (_context.prev = _context.next) {
2804
2804
  case 0:
2805
2805
  _context.prev = 0;
2806
- requestParams = params.requestParams, rest = _objectWithoutPropertiesLoose(params, _excluded$3); // adding apiKey to headers if it's provided
2806
+ requestParams = params.requestParams, rest = _objectWithoutPropertiesLoose(params, _excluded$4); // adding apiKey to headers if it's provided
2807
2807
  headers = extra != null && extra.apiKey ? _extends({
2808
2808
  'X-API-KEY': extra.apiKey
2809
2809
  }, rest.headers, requestParams == null ? void 0 : requestParams.headers) : _extends({}, rest.headers, requestParams == null ? void 0 : requestParams.headers);
@@ -2911,7 +2911,7 @@ var constructFetcher$1 = function constructFetcher(fetch, extra) {
2911
2911
  }();
2912
2912
  };
2913
2913
 
2914
- var _excluded$2 = ["block", "gas"],
2914
+ var _excluded$3 = ["block", "gas"],
2915
2915
  _excluded2$2 = ["gas", "from"];
2916
2916
  var constructEthersV5ContractCaller = function constructEthersV5ContractCaller(_ref, account) {
2917
2917
  var providerOrSigner = _ref.ethersProviderOrSigner,
@@ -2927,7 +2927,7 @@ var constructEthersV5ContractCaller = function constructEthersV5ContractCaller(_
2927
2927
  contract = new Contract(address, abi, providerOrSigner);
2928
2928
  assertEthersContractHasMethodsV5(contract, contractMethod);
2929
2929
  // drop keys not in CallOverrides
2930
- block = overrides.block, gas = overrides.gas, restOverrides = _objectWithoutPropertiesLoose(overrides, _excluded$2); // reassign values to keys in CallOverrides
2930
+ block = overrides.block, gas = overrides.gas, restOverrides = _objectWithoutPropertiesLoose(overrides, _excluded$3); // reassign values to keys in CallOverrides
2931
2931
  normalizedOverrides = _extends({}, restOverrides, {
2932
2932
  blockTag: block,
2933
2933
  gasLimit: gas
@@ -3034,7 +3034,7 @@ function assertEthersContractHasMethodsV5(contract) {
3034
3034
  assert(ethersContractHasMethodsV5.apply(void 0, [contract].concat(methods)), "Contract must have methods: " + methods.join(', '));
3035
3035
  }
3036
3036
 
3037
- var _excluded$1 = ["block", "gas"],
3037
+ var _excluded$2 = ["block", "gas"],
3038
3038
  _excluded2$1 = ["gas", "from"];
3039
3039
  var constructContractCaller$2 = function constructContractCaller(_ref, account) {
3040
3040
  var providerOrSigner = _ref.ethersV6ProviderOrSigner,
@@ -3047,7 +3047,7 @@ var constructContractCaller$2 = function constructContractCaller(_ref, account)
3047
3047
  case 0:
3048
3048
  address = params.address, abi = params.abi, contractMethod = params.contractMethod, args = params.args, overrides = params.overrides;
3049
3049
  contract = new Contract(address, abi, providerOrSigner); // drop keys not in CallOverrides
3050
- block = overrides.block, gas = overrides.gas, restOverrides = _objectWithoutPropertiesLoose(overrides, _excluded$1); // reassign values to keys in CallOverrides
3050
+ block = overrides.block, gas = overrides.gas, restOverrides = _objectWithoutPropertiesLoose(overrides, _excluded$2); // reassign values to keys in CallOverrides
3051
3051
  normalizedOverrides = _extends({}, restOverrides, {
3052
3052
  blockTag: block,
3053
3053
  gasLimit: gas
@@ -3180,7 +3180,7 @@ function findPrimaryType(types) {
3180
3180
  return primaryType;
3181
3181
  }
3182
3182
 
3183
- var _excluded = ["block", "gas", "value"],
3183
+ var _excluded$1 = ["block", "gas", "value"],
3184
3184
  _excluded2 = ["gas", "from", "value", "nonce"];
3185
3185
  var constructContractCaller$1 = function constructContractCaller(web3, account) {
3186
3186
  var staticCall = /*#__PURE__*/function () {
@@ -3196,7 +3196,7 @@ var constructContractCaller$1 = function constructContractCaller(web3, account)
3196
3196
  // FIXME abi types ethers dependant
3197
3197
  address);
3198
3198
  assertWeb3ContractHasMethods(contract, contractMethod);
3199
- gas = overrides.gas, value = overrides.value, restOverrides = _objectWithoutPropertiesLoose(overrides, _excluded);
3199
+ gas = overrides.gas, value = overrides.value, restOverrides = _objectWithoutPropertiesLoose(overrides, _excluded$1);
3200
3200
  normalizedOverrides = _extends({}, restOverrides, {
3201
3201
  gas: gas == null ? void 0 : gas.toString(10),
3202
3202
  value: value == null ? void 0 : value.toString(10)
@@ -3566,62 +3566,6 @@ var constructGetPartnerFee = function constructGetPartnerFee(_ref) {
3566
3566
  };
3567
3567
  };
3568
3568
 
3569
- function composeDeltaOrderPermit(_ref) {
3570
- var permit = _ref.permit,
3571
- nonce = _ref.nonce;
3572
- // Can be empty Permit if allowance is available for srcToken
3573
- if (permit === '0x' || permit === '0x01') {
3574
- // 0x01 is a special permit value that signifies existing Permit2 allowance.
3575
- return permit;
3576
- }
3577
- // In the Contract, specifically for Permit2 transferFrom, we have signature consisting of
3578
- // bytes32(permit2nonce) + bytes64(compacted signature) = bytes96 Permit2 Transfer format
3579
- if (permit.length >= 194) {
3580
- // "0x".length + 96bytes*2 = 194, means permit already concatenated with nonce
3581
- // or it's a different type of Permit all together
3582
- return permit;
3583
- }
3584
- return encodePermit2Transfer(BigInt(nonce), permit);
3585
- }
3586
- function uintTo32ByteArrayBuffer(nonce) {
3587
- // Create a 32-byte ArrayBuffer
3588
- var buffer = new Uint8Array(32);
3589
- // Convert nonce to hex string and pad it to 64 hex characters (32 bytes)
3590
- var nonceHex = nonce.toString(16).padStart(64, '0');
3591
- // Convert the hex string to bytes and fill the ArrayBuffer
3592
- for (var i = 0; i < 32; i++) {
3593
- buffer[i] = parseInt(nonceHex.slice(i * 2, i * 2 + 2), 16);
3594
- }
3595
- return buffer;
3596
- }
3597
- function hexToByteArray(hexString) {
3598
- // Remove "0x" prefix if present
3599
- hexString = hexString.replace(/^0x/, '');
3600
- // Convert hex string to Uint8Array
3601
- var byteArray = new Uint8Array(hexString.length / 2);
3602
- for (var i = 0; i < hexString.length; i += 2) {
3603
- byteArray[i / 2] = parseInt(hexString.slice(i, i + 2), 16);
3604
- }
3605
- return byteArray;
3606
- }
3607
- function encodePermit2Transfer(nonce, signature) {
3608
- // Get 32-byte ArrayBuffer for nonce
3609
- var nonceBuffer = uintTo32ByteArrayBuffer(nonce);
3610
- // Convert signature hex string to Uint8Array (64 bytes)
3611
- var signatureBuffer = hexToByteArray(signature);
3612
- if (signatureBuffer.length !== 64) {
3613
- throw new Error('Signature must be exactly 64 bytes');
3614
- }
3615
- // Concatenate nonceBuffer and signatureBuffer
3616
- var packedBuffer = new Uint8Array(32 + 64);
3617
- packedBuffer.set(nonceBuffer, 0); // Copy nonceBuffer at the start
3618
- packedBuffer.set(signatureBuffer, 32); // Copy signatureBuffer after nonce
3619
- // Convert to hex string for output
3620
- return '0x' + Array.from(packedBuffer).map(function (b) {
3621
- return b.toString(16).padStart(2, '0');
3622
- }).join('');
3623
- }
3624
-
3625
3569
  // Order(address owner,address beneficiary,address srcToken,address destToken,uint256 srcAmount,uint256 destAmount,uint256 deadline,uint256 nonce,bytes permit, bridge Bridge)";
3626
3570
  var SWAP_ORDER_EIP_712_TYPES = {
3627
3571
  Order: [{
@@ -3643,11 +3587,14 @@ var SWAP_ORDER_EIP_712_TYPES = {
3643
3587
  name: 'destAmount',
3644
3588
  type: 'uint256'
3645
3589
  }, {
3646
- name: 'expectedDestAmount',
3590
+ name: 'expectedAmount',
3647
3591
  type: 'uint256'
3648
3592
  }, {
3649
3593
  name: 'deadline',
3650
3594
  type: 'uint256'
3595
+ }, {
3596
+ name: 'kind',
3597
+ type: 'uint8'
3651
3598
  }, {
3652
3599
  name: 'nonce',
3653
3600
  type: 'uint256'
@@ -3657,13 +3604,16 @@ var SWAP_ORDER_EIP_712_TYPES = {
3657
3604
  }, {
3658
3605
  name: 'permit',
3659
3606
  type: 'bytes'
3607
+ }, {
3608
+ name: 'metadata',
3609
+ type: 'bytes'
3660
3610
  }, {
3661
3611
  name: 'bridge',
3662
3612
  type: 'Bridge'
3663
3613
  }],
3664
3614
  Bridge: [{
3665
- name: 'maxRelayerFee',
3666
- type: 'uint256'
3615
+ name: 'protocolSelector',
3616
+ type: 'bytes4'
3667
3617
  }, {
3668
3618
  name: 'destinationChainId',
3669
3619
  type: 'uint256'
@@ -3671,8 +3621,11 @@ var SWAP_ORDER_EIP_712_TYPES = {
3671
3621
  name: 'outputToken',
3672
3622
  type: 'address'
3673
3623
  }, {
3674
- name: 'multiCallHandler',
3675
- type: 'address'
3624
+ name: 'scalingFactor',
3625
+ type: 'int8'
3626
+ }, {
3627
+ name: 'protocolData',
3628
+ type: 'bytes'
3676
3629
  }]
3677
3630
  };
3678
3631
  function produceDeltaOrderTypedData(_ref) {
@@ -3694,7 +3647,7 @@ function produceDeltaOrderTypedData(_ref) {
3694
3647
  };
3695
3648
  return typedData;
3696
3649
  }
3697
- // default deadline = 1 hour from now (may be changed later)
3650
+ // default deadline = 1 hour for now (may be changed later)
3698
3651
  var DELTA_DEFAULT_EXPIRY = 60 * 60; // seconds
3699
3652
  function buildDeltaSignableOrderData(_ref2) {
3700
3653
  var owner = _ref2.owner,
@@ -3704,13 +3657,16 @@ function buildDeltaSignableOrderData(_ref2) {
3704
3657
  destToken = _ref2.destToken,
3705
3658
  srcAmount = _ref2.srcAmount,
3706
3659
  destAmount = _ref2.destAmount,
3707
- expectedDestAmount = _ref2.expectedDestAmount,
3660
+ expectedAmount = _ref2.expectedAmount,
3708
3661
  _ref2$deadline = _ref2.deadline,
3709
3662
  deadline = _ref2$deadline === void 0 ? Math.floor(Date.now() / 1000 + DELTA_DEFAULT_EXPIRY) : _ref2$deadline,
3710
3663
  _ref2$nonce = _ref2.nonce,
3711
3664
  nonce = _ref2$nonce === void 0 ? Date.now().toString(10) : _ref2$nonce,
3712
3665
  _ref2$permit = _ref2.permit,
3713
3666
  permit = _ref2$permit === void 0 ? '0x' : _ref2$permit,
3667
+ kind = _ref2.kind,
3668
+ _ref2$metadata = _ref2.metadata,
3669
+ metadata = _ref2$metadata === void 0 ? '0x' : _ref2$metadata,
3714
3670
  partnerAddress = _ref2.partnerAddress,
3715
3671
  partnerFeeBps = _ref2.partnerFeeBps,
3716
3672
  _ref2$partnerTakesSur = _ref2.partnerTakesSurplus,
@@ -3725,19 +3681,18 @@ function buildDeltaSignableOrderData(_ref2) {
3725
3681
  destToken: destToken,
3726
3682
  srcAmount: srcAmount,
3727
3683
  destAmount: destAmount,
3728
- expectedDestAmount: expectedDestAmount,
3684
+ expectedAmount: expectedAmount,
3729
3685
  deadline: deadline,
3730
3686
  nonce: nonce,
3731
- permit: composeDeltaOrderPermit({
3732
- permit: permit,
3733
- nonce: nonce
3734
- }),
3687
+ permit: permit,
3735
3688
  partnerAndFee: producePartnerAndFee({
3736
3689
  partnerFeeBps: partnerFeeBps,
3737
3690
  partnerAddress: partnerAddress,
3738
3691
  partnerTakesSurplus: partnerTakesSurplus
3739
3692
  }),
3740
- bridge: bridge
3693
+ bridge: bridge,
3694
+ kind: kind,
3695
+ metadata: metadata
3741
3696
  };
3742
3697
  return produceDeltaOrderTypedData({
3743
3698
  orderInput: orderInput,
@@ -3755,266 +3710,14 @@ function producePartnerAndFee(_ref3) {
3755
3710
  return partnerAndFee.toString(10);
3756
3711
  }
3757
3712
 
3758
- var constructGetMulticallHandlers = function constructGetMulticallHandlers(_ref) {
3759
- var _ref$apiURL = _ref.apiURL,
3760
- apiURL = _ref$apiURL === void 0 ? API_URL : _ref$apiURL,
3761
- fetcher = _ref.fetcher;
3762
- var multicallHandlersUrl = apiURL + "/delta/prices/multicall-handlers";
3763
- var _getMulticallHandlers = /*#__PURE__*/function () {
3764
- var _ref2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(requestParams) {
3765
- var data;
3766
- return _regeneratorRuntime().wrap(function _callee$(_context) {
3767
- while (1) switch (_context.prev = _context.next) {
3768
- case 0:
3769
- _context.next = 2;
3770
- return fetcher({
3771
- url: multicallHandlersUrl,
3772
- method: 'GET',
3773
- requestParams: requestParams
3774
- });
3775
- case 2:
3776
- data = _context.sent;
3777
- return _context.abrupt("return", data);
3778
- case 4:
3779
- case "end":
3780
- return _context.stop();
3781
- }
3782
- }, _callee);
3783
- }));
3784
- return function _getMulticallHandlers(_x) {
3785
- return _ref2.apply(this, arguments);
3786
- };
3787
- }();
3788
- // cached for the same instance of `{getMulticallHandlers} = constructGetMulticallHandlers()`
3789
- // so should persist across same apiUrl & network (and response is even network agnostic)
3790
- var getMulticallHandlers = runOnceAndCache(_getMulticallHandlers);
3791
- return {
3792
- getMulticallHandlers: getMulticallHandlers
3793
- };
3794
- };
3713
+ var _SwapSideToOrderKind;
3714
+ var OrderKind;
3715
+ (function (OrderKind) {
3716
+ OrderKind[OrderKind["Sell"] = 0] = "Sell";
3717
+ OrderKind[OrderKind["Buy"] = 1] = "Buy";
3718
+ })(OrderKind || (OrderKind = {}));
3719
+ var SwapSideToOrderKind = (_SwapSideToOrderKind = {}, _SwapSideToOrderKind[SwapSide.SELL] = OrderKind.Sell, _SwapSideToOrderKind[SwapSide.BUY] = OrderKind.Buy, _SwapSideToOrderKind);
3795
3720
 
3796
- var ACROSS_WETH_ADDRESSES_MAP = {
3797
- // Mainnet
3798
- 1: '0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2',
3799
- // Sepolia
3800
- 11155111: '0xfFf9976782d46CC05630D1f6eBAb18b2324d6B14',
3801
- // Base
3802
- 8453: '0x4200000000000000000000000000000000000006',
3803
- // Base Sepolia
3804
- 84532: '0x4200000000000000000000000000000000000006',
3805
- // Optimism
3806
- 10: '0x4200000000000000000000000000000000000006',
3807
- // Optimism Sepolia
3808
- 11155420: '0x4200000000000000000000000000000000000006',
3809
- // Polygon
3810
- 137: '0x7ceB23fD6bC0adD59E62ac25578270cFf1b9f619',
3811
- // Polygon Amoy
3812
- 80002: '0x52eF3d68BaB452a294342DC3e5f464d7f610f72E',
3813
- // Aleph Zero
3814
- 41455: '0xB3f0eE446723f4258862D949B4c9688e7e7d35d3',
3815
- // Arbitrum
3816
- 42161: '0x82aF49447D8a07e3bd95BD0d56f35241523fBab1',
3817
- // Arbitrum Sepolia
3818
- 421614: '0x980B62Da83eFf3D4576C647993b0c1D7faf17c73',
3819
- // Boba
3820
- 288: '0xDeadDeAddeAddEAddeadDEaDDEAdDeaDDeAD0000',
3821
- // Blast
3822
- 81457: '0x4300000000000000000000000000000000000004',
3823
- // Blast Sepolia
3824
- 168587773: '0x4200000000000000000000000000000000000023',
3825
- // BSC
3826
- 56: '0x2170Ed0880ac9A755fd29B2688956BD959F933F8',
3827
- // Ink
3828
- 57073: '0x4200000000000000000000000000000000000006',
3829
- // Ink Sepolia
3830
- 763373: '0x4200000000000000000000000000000000000006',
3831
- // Lens
3832
- 232: '0xE5ecd226b3032910CEaa43ba92EE8232f8237553',
3833
- // Lens Sepolia
3834
- 37111: '0xaA91D645D7a6C1aeaa5988e0547267B77d33fe16',
3835
- // Linea
3836
- 59144: '0xe5D7C2a44FfDDf6b295A15c148167daaAf5Cf34f',
3837
- // Lisk
3838
- 1135: '0x4200000000000000000000000000000000000006',
3839
- // Lisk Sepolia
3840
- 4202: '0x4200000000000000000000000000000000000006',
3841
- // Mode
3842
- 34443: '0x4200000000000000000000000000000000000006',
3843
- // Mode Sepolia
3844
- 919: '0x4200000000000000000000000000000000000006',
3845
- // Redstone
3846
- 690: '0x4200000000000000000000000000000000000006',
3847
- // Scroll
3848
- 534352: '0x5300000000000000000000000000000000000004',
3849
- // Scroll Sepolia
3850
- 534351: '0x5300000000000000000000000000000000000004',
3851
- // Soneium
3852
- 1868: '0x4200000000000000000000000000000000000006',
3853
- // Tatara
3854
- 129399: '0x17B8Ee96E3bcB3b04b3e8334de4524520C51caB4',
3855
- // Unichain
3856
- 130: '0x4200000000000000000000000000000000000006',
3857
- // Unichain Sepolia
3858
- 1301: '0x4200000000000000000000000000000000000006',
3859
- // World Chain
3860
- 480: '0x4200000000000000000000000000000000000006',
3861
- // ZK Sync
3862
- 324: '0x5AEa5775959fBC2557Cc8789bC1bf90A239D9a91',
3863
- // ZK Sync Sepolia
3864
- 300: '0x2D6Db36B3117802E996f13073A08A685D3FeF7eD',
3865
- // Zora
3866
- 7777777: '0x4200000000000000000000000000000000000006'
3867
- };
3868
- function isAcrossWETH(tokenAddress, chainId) {
3869
- var _ACROSS_WETH_ADDRESSE;
3870
- return ((_ACROSS_WETH_ADDRESSE = ACROSS_WETH_ADDRESSES_MAP[chainId]) == null ? void 0 : _ACROSS_WETH_ADDRESSE.toLowerCase()) === tokenAddress.toLowerCase();
3871
- }
3872
- var ETH_ADDRESS = '0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE';
3873
- var ETH_ADDRESS_LOWERCASE = /*#__PURE__*/ETH_ADDRESS.toLowerCase();
3874
- function isETHaddress(tokenAddress) {
3875
- return tokenAddress.toLowerCase() === ETH_ADDRESS_LOWERCASE;
3876
- }
3877
- function getDeltaBridge(_x) {
3878
- return _getDeltaBridge.apply(this, arguments);
3879
- }
3880
- function _getDeltaBridge() {
3881
- _getDeltaBridge = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(_ref) {
3882
- var destTokenDestChain, destChainId, bridgeFee, bridgeOutputToken, beneficiaryType, getMulticallHandler, outputToken, multiCallHandler, bridge;
3883
- return _regeneratorRuntime().wrap(function _callee$(_context) {
3884
- while (1) switch (_context.prev = _context.next) {
3885
- case 0:
3886
- destTokenDestChain = _ref.destTokenDestChain, destChainId = _ref.destChainId, bridgeFee = _ref.bridgeFee, bridgeOutputToken = _ref.bridgeOutputToken, beneficiaryType = _ref.beneficiaryType, getMulticallHandler = _ref.getMulticallHandler;
3887
- assert(beneficiaryType === 'EOA' || beneficiaryType === 'SmartContract', 'beneficiaryType must be EOA or SmartContract');
3888
- outputToken = bridgeOutputToken.toLowerCase(); // for uniformity
3889
- multiCallHandler = ZERO_ADDRESS;
3890
- if (beneficiaryType === 'EOA' && isETHaddress(destTokenDestChain)) {
3891
- /*
3892
- if beneficiary is an EOA and destToken on destChain = ETH
3893
- order.destToken=ETH (deltaPrice already contains correct destToken)
3894
- order.bridge.outputToken=WETH_DEST_CHAIN (deltaPrice already contains correct bridge.outputToken)
3895
- order.bridge.multiCallHandler=NULL_ADDRESS
3896
- */
3897
- multiCallHandler = ZERO_ADDRESS;
3898
- }
3899
- if (!(beneficiaryType === 'EOA' && isAcrossWETH(destTokenDestChain, destChainId))) {
3900
- _context.next = 9;
3901
- break;
3902
- }
3903
- _context.next = 8;
3904
- return getMulticallHandler(destChainId);
3905
- case 8:
3906
- multiCallHandler = _context.sent;
3907
- case 9:
3908
- if (!(beneficiaryType === 'SmartContract' && isETHaddress(destTokenDestChain))) {
3909
- _context.next = 13;
3910
- break;
3911
- }
3912
- _context.next = 12;
3913
- return getMulticallHandler(destChainId);
3914
- case 12:
3915
- multiCallHandler = _context.sent;
3916
- case 13:
3917
- if (beneficiaryType === 'SmartContract' && isAcrossWETH(destTokenDestChain, destChainId)) {
3918
- /*
3919
- if beneficiary is a contract and destToken on destChain = WETH
3920
- order.destToken=WETH (deltaPrice already contains correct destToken)
3921
- order.bridge.outputToken=WETH_DEST_CHAIN (deltaPrice already contains correct bridge.outputToken)
3922
- order.bridge.multiCallHandler=NULL_ADDRESS
3923
- */
3924
- multiCallHandler = ZERO_ADDRESS;
3925
- }
3926
- bridge = {
3927
- maxRelayerFee: bridgeFee,
3928
- destinationChainId: destChainId,
3929
- outputToken: outputToken,
3930
- multiCallHandler: multiCallHandler
3931
- };
3932
- return _context.abrupt("return", {
3933
- bridge: bridge
3934
- });
3935
- case 16:
3936
- case "end":
3937
- return _context.stop();
3938
- }
3939
- }, _callee);
3940
- }));
3941
- return _getDeltaBridge.apply(this, arguments);
3942
- }
3943
-
3944
- var constructBuildCrosschainOrderBridge = function constructBuildCrosschainOrderBridge(options) {
3945
- var chainId = options.chainId;
3946
- // cached internally for `multicall` contracts
3947
- var _constructGetMultical = constructGetMulticallHandlers(options),
3948
- getMulticallHandlers = _constructGetMultical.getMulticallHandlers;
3949
- var buildCrosschainOrderBridge = /*#__PURE__*/function () {
3950
- var _ref2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2(_ref, requestParams) {
3951
- var destToken, destChainId, beneficiaryType, deltaPrice, getMulticallHandler, _yield$getDeltaBridge, bridge;
3952
- return _regeneratorRuntime().wrap(function _callee2$(_context2) {
3953
- while (1) switch (_context2.prev = _context2.next) {
3954
- case 0:
3955
- destToken = _ref.destToken, destChainId = _ref.destChainId, beneficiaryType = _ref.beneficiaryType, deltaPrice = _ref.deltaPrice;
3956
- assert(chainId !== deltaPrice.bridge.destinationChainId, '`deltaPrice.bridge.destinationChainId` must be different from `chainId` for crosschain Order.bridge');
3957
- assert(destChainId === deltaPrice.bridge.destinationChainId, '`destChainId` must match `deltaPrice.bridge.destinationChainId` for crosschain Order.bridge');
3958
- getMulticallHandler = /*#__PURE__*/function () {
3959
- var _ref3 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(chainId) {
3960
- var multicallHandlersMap, multicallHandler;
3961
- return _regeneratorRuntime().wrap(function _callee$(_context) {
3962
- while (1) switch (_context.prev = _context.next) {
3963
- case 0:
3964
- _context.next = 2;
3965
- return getMulticallHandlers(requestParams);
3966
- case 2:
3967
- multicallHandlersMap = _context.sent;
3968
- multicallHandler = multicallHandlersMap[chainId];
3969
- assert(multicallHandler, "Multicall handler not found for chain " + chainId);
3970
- return _context.abrupt("return", multicallHandler);
3971
- case 6:
3972
- case "end":
3973
- return _context.stop();
3974
- }
3975
- }, _callee);
3976
- }));
3977
- return function getMulticallHandler(_x3) {
3978
- return _ref3.apply(this, arguments);
3979
- };
3980
- }();
3981
- _context2.next = 6;
3982
- return getDeltaBridge({
3983
- destTokenDestChain: destToken,
3984
- destChainId: destChainId,
3985
- bridgeFee: deltaPrice.bridgeFee,
3986
- bridgeOutputToken: deltaPrice.bridge.outputToken,
3987
- beneficiaryType: beneficiaryType,
3988
- getMulticallHandler: getMulticallHandler
3989
- });
3990
- case 6:
3991
- _yield$getDeltaBridge = _context2.sent;
3992
- bridge = _yield$getDeltaBridge.bridge;
3993
- return _context2.abrupt("return", {
3994
- bridge: bridge
3995
- });
3996
- case 9:
3997
- case "end":
3998
- return _context2.stop();
3999
- }
4000
- }, _callee2);
4001
- }));
4002
- return function buildCrosschainOrderBridge(_x, _x2) {
4003
- return _ref2.apply(this, arguments);
4004
- };
4005
- }();
4006
- return {
4007
- buildCrosschainOrderBridge: buildCrosschainOrderBridge
4008
- };
4009
- };
4010
-
4011
- // for same-chain Orders, all 0 params
4012
- var DEFAULT_BRIDGE = {
4013
- maxRelayerFee: '0',
4014
- destinationChainId: 0,
4015
- outputToken: ZERO_ADDRESS,
4016
- multiCallHandler: ZERO_ADDRESS
4017
- };
4018
3721
  var constructBuildDeltaOrder = function constructBuildDeltaOrder(options) {
4019
3722
  var chainId = options.chainId;
4020
3723
  // cached internally
@@ -4023,12 +3726,10 @@ var constructBuildDeltaOrder = function constructBuildDeltaOrder(options) {
4023
3726
  // cached internally for `partner`
4024
3727
  var _constructGetPartnerF = constructGetPartnerFee(options),
4025
3728
  getPartnerFee = _constructGetPartnerF.getPartnerFee;
4026
- var _constructBuildCrossc = constructBuildCrosschainOrderBridge(options),
4027
- buildCrosschainOrderBridge = _constructBuildCrossc.buildCrosschainOrderBridge;
4028
3729
  var buildDeltaOrder = /*#__PURE__*/function () {
4029
3730
  var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(options, requestParams) {
4030
- var _options$partnerFeeBp, _options$nonce;
4031
- var ParaswapDelta, partnerAddress, partnerFeeBps, partnerTakesSurplus, feeOrTakeSurplusSupplied, _partnerAddress, _partnerFeeBps, _partnerTakesSurplus, partner, partnerFeeResponse, bridge, _options$beneficiaryT, deltaPrice, _yield$buildCrosschai, constructedBridge, input;
3731
+ var _options$partnerFeeBp, _options$side, _options$nonce;
3732
+ var ParaswapDelta, partnerAddress, partnerFeeBps, partnerTakesSurplus, feeOrTakeSurplusSupplied, _partnerAddress, _partnerFeeBps, _partnerTakesSurplus, partner, partnerFeeResponse, swapSide, expectedAmount, input;
4032
3733
  return _regeneratorRuntime().wrap(function _callee$(_context) {
4033
3734
  while (1) switch (_context.prev = _context.next) {
4034
3735
  case 0:
@@ -4064,41 +3765,8 @@ var constructBuildDeltaOrder = function constructBuildDeltaOrder(options) {
4064
3765
  partnerFeeBps = (_partnerFeeBps = partnerFeeBps) != null ? _partnerFeeBps : partnerFeeResponse.partnerFee;
4065
3766
  partnerTakesSurplus = (_partnerTakesSurplus = partnerTakesSurplus) != null ? _partnerTakesSurplus : partnerFeeResponse.takeSurplus;
4066
3767
  case 17:
4067
- ////// Bridge logic //////
4068
- // Bridge is necessary for Crosschain Delta Orders
4069
- bridge = options.bridge; // give preference to user-provided bridge
4070
- if (bridge) {
4071
- _context.next = 31;
4072
- break;
4073
- }
4074
- if (!(options.destChainId && chainId !== options.destChainId)) {
4075
- _context.next = 30;
4076
- break;
4077
- }
4078
- // crosschain Delta Order
4079
- deltaPrice = options.deltaPrice;
4080
- assert(deltaPrice.bridgeFee, '`bridgeFee` is required in `deltaPrice` for crosschain Delta Orders');
4081
- assert(deltaPrice.bridge, '`bridge` is required in `deltaPrice` for crosschain Delta Orders');
4082
- _context.next = 25;
4083
- return buildCrosschainOrderBridge({
4084
- destToken: options.destToken,
4085
- destChainId: options.destChainId,
4086
- beneficiaryType: (_options$beneficiaryT = options.beneficiaryType) != null ? _options$beneficiaryT : 'EOA',
4087
- deltaPrice: {
4088
- bridgeFee: deltaPrice.bridgeFee,
4089
- bridge: deltaPrice.bridge // already contains destChainId and outputToken
4090
- }
4091
- }, requestParams);
4092
- case 25:
4093
- _yield$buildCrosschai = _context.sent;
4094
- constructedBridge = _yield$buildCrosschai.bridge;
4095
- bridge = constructedBridge;
4096
- _context.next = 31;
4097
- break;
4098
- case 30:
4099
- // 0-values bridge for same-chain Orders
4100
- bridge = DEFAULT_BRIDGE;
4101
- case 31:
3768
+ swapSide = (_options$side = options.side) != null ? _options$side : SwapSide.SELL;
3769
+ expectedAmount = swapSide === SwapSide.SELL ? options.deltaPrice.destAmount : options.deltaPrice.srcAmount;
4102
3770
  input = {
4103
3771
  owner: options.owner,
4104
3772
  beneficiary: options.beneficiary,
@@ -4108,19 +3776,21 @@ var constructBuildDeltaOrder = function constructBuildDeltaOrder(options) {
4108
3776
  destToken: options.deltaPrice.destToken,
4109
3777
  srcAmount: options.srcAmount,
4110
3778
  destAmount: options.destAmount,
4111
- expectedDestAmount: options.deltaPrice.destAmount,
3779
+ expectedAmount: expectedAmount,
4112
3780
  deadline: options.deadline,
4113
3781
  nonce: (_options$nonce = options.nonce) == null ? void 0 : _options$nonce.toString(10),
4114
3782
  permit: options.permit,
3783
+ kind: SwapSideToOrderKind[swapSide],
3784
+ metadata: options.metadata,
4115
3785
  chainId: chainId,
4116
3786
  paraswapDeltaAddress: ParaswapDelta,
4117
3787
  partnerAddress: partnerAddress,
4118
3788
  partnerTakesSurplus: partnerTakesSurplus,
4119
3789
  partnerFeeBps: partnerFeeBps,
4120
- bridge: bridge
3790
+ bridge: options.deltaPrice.bridge // ZERO_BRIDGE for same-chain Orders
4121
3791
  };
4122
3792
  return _context.abrupt("return", buildDeltaSignableOrderData(input));
4123
- case 33:
3793
+ case 21:
4124
3794
  case "end":
4125
3795
  return _context.stop();
4126
3796
  }
@@ -4135,6 +3805,62 @@ var constructBuildDeltaOrder = function constructBuildDeltaOrder(options) {
4135
3805
  };
4136
3806
  };
4137
3807
 
3808
+ var constructBuildCrosschainOrderBridge = function constructBuildCrosschainOrderBridge(options) {
3809
+ var chainId = options.chainId;
3810
+ // cached internally for `multicall` contracts
3811
+ // const { getMulticallHandlers } = constructGetMulticallHandlers(options);
3812
+ var buildCrosschainOrderBridge = /*#__PURE__*/function () {
3813
+ var _ref2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(_ref, requestParams) {
3814
+ var destChainId, deltaPrice, bridge;
3815
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
3816
+ while (1) switch (_context.prev = _context.next) {
3817
+ case 0:
3818
+ destChainId = _ref.destChainId, deltaPrice = _ref.deltaPrice;
3819
+ assert(chainId !== deltaPrice.bridge.destinationChainId, '`deltaPrice.bridge.destinationChainId` must be different from `chainId` for crosschain Order.bridge');
3820
+ assert(destChainId === deltaPrice.bridge.destinationChainId, '`destChainId` must match `deltaPrice.bridge.destinationChainId` for crosschain Order.bridge');
3821
+ /* const getMulticallHandler = async (chainId: number) => {
3822
+ const multicallHandlersMap = await getMulticallHandlers(requestParams);
3823
+ const multicallHandler = multicallHandlersMap[chainId];
3824
+ assert(
3825
+ multicallHandler,
3826
+ `Multicall handler not found for chain ${chainId}`
3827
+ );
3828
+ return multicallHandler;
3829
+ };
3830
+ const { bridge } = await getDeltaBridge({
3831
+ destTokenDestChain: destToken,
3832
+ destChainId,
3833
+ bridgeFee: deltaPrice.bridgeFee,
3834
+ bridgeOutputToken: deltaPrice.bridge.outputToken,
3835
+ beneficiaryType,
3836
+ getMulticallHandler,
3837
+ }); */
3838
+ // @TODO remove the whole buildCrosschainOrderBridge() when API provides BridgePrice.bridge = whole Bridge object
3839
+ bridge = {
3840
+ protocolSelector: '0x00000000',
3841
+ scalingFactor: 0,
3842
+ protocolData: '0x',
3843
+ destinationChainId: deltaPrice.bridge.destinationChainId,
3844
+ outputToken: deltaPrice.bridge.outputToken
3845
+ };
3846
+ return _context.abrupt("return", {
3847
+ bridge: bridge
3848
+ });
3849
+ case 5:
3850
+ case "end":
3851
+ return _context.stop();
3852
+ }
3853
+ }, _callee);
3854
+ }));
3855
+ return function buildCrosschainOrderBridge(_x, _x2) {
3856
+ return _ref2.apply(this, arguments);
3857
+ };
3858
+ }();
3859
+ return {
3860
+ buildCrosschainOrderBridge: buildCrosschainOrderBridge
3861
+ };
3862
+ };
3863
+
4138
3864
  var constructPostDeltaOrder = function constructPostDeltaOrder(_ref) {
4139
3865
  var _ref$apiURL = _ref.apiURL,
4140
3866
  apiURL = _ref$apiURL === void 0 ? API_URL : _ref$apiURL,
@@ -4164,12 +3890,14 @@ function sanitizeDeltaOrderData(_ref) {
4164
3890
  destToken = _ref.destToken,
4165
3891
  srcAmount = _ref.srcAmount,
4166
3892
  destAmount = _ref.destAmount,
4167
- expectedDestAmount = _ref.expectedDestAmount,
3893
+ expectedAmount = _ref.expectedAmount,
4168
3894
  deadline = _ref.deadline,
4169
3895
  nonce = _ref.nonce,
4170
3896
  permit = _ref.permit,
4171
3897
  partnerAndFee = _ref.partnerAndFee,
4172
- bridge = _ref.bridge;
3898
+ bridge = _ref.bridge,
3899
+ kind = _ref.kind,
3900
+ metadata = _ref.metadata;
4173
3901
  return {
4174
3902
  owner: owner,
4175
3903
  beneficiary: beneficiary,
@@ -4177,12 +3905,14 @@ function sanitizeDeltaOrderData(_ref) {
4177
3905
  destToken: destToken,
4178
3906
  srcAmount: srcAmount,
4179
3907
  destAmount: destAmount,
4180
- expectedDestAmount: expectedDestAmount,
3908
+ expectedAmount: expectedAmount,
4181
3909
  deadline: deadline,
4182
3910
  nonce: nonce,
4183
3911
  permit: permit,
4184
3912
  partnerAndFee: partnerAndFee,
4185
- bridge: bridge
3913
+ bridge: bridge,
3914
+ kind: kind,
3915
+ metadata: metadata
4186
3916
  };
4187
3917
  }
4188
3918
 
@@ -4219,6 +3949,7 @@ var constructSignDeltaOrder = function constructSignDeltaOrder(options) {
4219
3949
  };
4220
3950
  };
4221
3951
 
3952
+ var _excluded = ["includeAgents", "excludeAgents"];
4222
3953
  var constructGetDeltaPrice = function constructGetDeltaPrice(_ref) {
4223
3954
  var _ref$apiURL = _ref.apiURL,
4224
3955
  apiURL = _ref$apiURL === void 0 ? API_URL : _ref$apiURL,
@@ -4230,25 +3961,31 @@ var constructGetDeltaPrice = function constructGetDeltaPrice(_ref) {
4230
3961
  }
4231
3962
  function _getDeltaPrice() {
4232
3963
  _getDeltaPrice = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(options, requestParams) {
4233
- var search, fetchURL, data;
3964
+ var _options$side;
3965
+ var includeAgents, excludeAgents, rest, includeAgentsString, excludeAgentsString, search, fetchURL, data;
4234
3966
  return _regeneratorRuntime().wrap(function _callee$(_context) {
4235
3967
  while (1) switch (_context.prev = _context.next) {
4236
3968
  case 0:
4237
- search = constructSearchString(_extends({}, options, {
3969
+ includeAgents = options.includeAgents, excludeAgents = options.excludeAgents, rest = _objectWithoutPropertiesLoose(options, _excluded);
3970
+ includeAgentsString = includeAgents ? includeAgents.join(',') : undefined;
3971
+ excludeAgentsString = excludeAgents ? excludeAgents.join(',') : undefined;
3972
+ search = constructSearchString(_extends({}, rest, {
4238
3973
  chainId: chainId,
4239
- side: SwapSide.SELL // so far SELL side only
3974
+ side: (_options$side = options.side) != null ? _options$side : SwapSide.SELL,
3975
+ includeAgents: includeAgentsString,
3976
+ excludeAgents: excludeAgentsString
4240
3977
  }));
4241
3978
  fetchURL = pricesUrl + "/" + search;
4242
- _context.next = 4;
3979
+ _context.next = 7;
4243
3980
  return fetcher({
4244
3981
  url: fetchURL,
4245
3982
  method: 'GET',
4246
3983
  requestParams: requestParams
4247
3984
  });
4248
- case 4:
3985
+ case 7:
4249
3986
  data = _context.sent;
4250
3987
  return _context.abrupt("return", data.price);
4251
- case 6:
3988
+ case 9:
4252
3989
  case "end":
4253
3990
  return _context.stop();
4254
3991
  }
@@ -4264,7 +4001,8 @@ var constructGetDeltaPrice = function constructGetDeltaPrice(_ref) {
4264
4001
  var constructGetDeltaOrders = function constructGetDeltaOrders(_ref) {
4265
4002
  var _ref$apiURL = _ref.apiURL,
4266
4003
  apiURL = _ref$apiURL === void 0 ? API_URL : _ref$apiURL,
4267
- fetcher = _ref.fetcher;
4004
+ fetcher = _ref.fetcher,
4005
+ chainId = _ref.chainId;
4268
4006
  var baseUrl = apiURL + "/delta/orders";
4269
4007
  var getDeltaOrderById = /*#__PURE__*/function () {
4270
4008
  var _ref2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(orderId, requestParams) {
@@ -4327,7 +4065,9 @@ var constructGetDeltaOrders = function constructGetDeltaOrders(_ref) {
4327
4065
  search = constructSearchString({
4328
4066
  userAddress: options.userAddress,
4329
4067
  page: options.page,
4330
- limit: options.limit
4068
+ limit: options.limit,
4069
+ chainId: options.chainId,
4070
+ type: options.type
4331
4071
  });
4332
4072
  fetchURL = "" + baseUrl + search;
4333
4073
  _context3.next = 4;
@@ -4349,10 +4089,38 @@ var constructGetDeltaOrders = function constructGetDeltaOrders(_ref) {
4349
4089
  return _ref4.apply(this, arguments);
4350
4090
  };
4351
4091
  }();
4092
+ var getRequiredBalanceForDeltaLimitOrders = /*#__PURE__*/function () {
4093
+ var _ref5 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee4(userParams, requestParams) {
4094
+ var userURL, fetchURL, response;
4095
+ return _regeneratorRuntime().wrap(function _callee4$(_context4) {
4096
+ while (1) switch (_context4.prev = _context4.next) {
4097
+ case 0:
4098
+ userURL = baseUrl + "/fillablebalance/" + chainId + "/" + userParams.userAddress;
4099
+ fetchURL = userParams.tokenAddress ? userURL + "/" + userParams.tokenAddress : userURL;
4100
+ _context4.next = 4;
4101
+ return fetcher({
4102
+ url: fetchURL,
4103
+ method: 'GET',
4104
+ requestParams: requestParams
4105
+ });
4106
+ case 4:
4107
+ response = _context4.sent;
4108
+ return _context4.abrupt("return", response);
4109
+ case 6:
4110
+ case "end":
4111
+ return _context4.stop();
4112
+ }
4113
+ }, _callee4);
4114
+ }));
4115
+ return function getRequiredBalanceForDeltaLimitOrders(_x7, _x8) {
4116
+ return _ref5.apply(this, arguments);
4117
+ };
4118
+ }();
4352
4119
  return {
4353
4120
  getDeltaOrderById: getDeltaOrderById,
4354
4121
  getDeltaOrderByHash: getDeltaOrderByHash,
4355
- getDeltaOrders: getDeltaOrders
4122
+ getDeltaOrders: getDeltaOrders,
4123
+ getRequiredBalanceForDeltaLimitOrders: getRequiredBalanceForDeltaLimitOrders
4356
4124
  };
4357
4125
  };
4358
4126
 
@@ -4431,6 +4199,44 @@ var constructGetBridgeInfo = function constructGetBridgeInfo(_ref) {
4431
4199
  };
4432
4200
  };
4433
4201
 
4202
+ var constructGetMulticallHandlers = function constructGetMulticallHandlers(_ref) {
4203
+ var _ref$apiURL = _ref.apiURL,
4204
+ apiURL = _ref$apiURL === void 0 ? API_URL : _ref$apiURL,
4205
+ fetcher = _ref.fetcher;
4206
+ var multicallHandlersUrl = apiURL + "/delta/prices/multicall-handlers";
4207
+ var _getMulticallHandlers = /*#__PURE__*/function () {
4208
+ var _ref2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(requestParams) {
4209
+ var data;
4210
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
4211
+ while (1) switch (_context.prev = _context.next) {
4212
+ case 0:
4213
+ _context.next = 2;
4214
+ return fetcher({
4215
+ url: multicallHandlersUrl,
4216
+ method: 'GET',
4217
+ requestParams: requestParams
4218
+ });
4219
+ case 2:
4220
+ data = _context.sent;
4221
+ return _context.abrupt("return", data);
4222
+ case 4:
4223
+ case "end":
4224
+ return _context.stop();
4225
+ }
4226
+ }, _callee);
4227
+ }));
4228
+ return function _getMulticallHandlers(_x) {
4229
+ return _ref2.apply(this, arguments);
4230
+ };
4231
+ }();
4232
+ // cached for the same instance of `{getMulticallHandlers} = constructGetMulticallHandlers()`
4233
+ // so should persist across same apiUrl & network (and response is even network agnostic)
4234
+ var getMulticallHandlers = runOnceAndCache(_getMulticallHandlers);
4235
+ return {
4236
+ getMulticallHandlers: getMulticallHandlers
4237
+ };
4238
+ };
4239
+
4434
4240
  var constructIsTokenSupportedInDelta = function constructIsTokenSupportedInDelta(_ref) {
4435
4241
  var _ref$apiURL = _ref.apiURL,
4436
4242
  apiURL = _ref$apiURL === void 0 ? API_URL : _ref$apiURL,
@@ -4483,13 +4289,14 @@ var constructGetQuote = function constructGetQuote(_ref) {
4483
4289
  }
4484
4290
  function _getQuote() {
4485
4291
  _getQuote = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(options, requestParams) {
4292
+ var _options$side;
4486
4293
  var search, fetchURL, data;
4487
4294
  return _regeneratorRuntime().wrap(function _callee$(_context) {
4488
4295
  while (1) switch (_context.prev = _context.next) {
4489
4296
  case 0:
4490
4297
  search = constructSearchString(_extends({}, options, {
4491
- chainId: chainId
4492
- // side: SwapSide.SELL, // so far SELL side only for Delta
4298
+ chainId: chainId,
4299
+ side: (_options$side = options.side) != null ? _options$side : SwapSide.SELL
4493
4300
  }));
4494
4301
  fetchURL = pricesUrl + "/" + search;
4495
4302
  _context.next = 4;
@@ -4514,6 +4321,143 @@ var constructGetQuote = function constructGetQuote(_ref) {
4514
4321
  };
4515
4322
  };
4516
4323
 
4324
+ var ORDER_CANCELLATIONS_EIP_712_TYPES = {
4325
+ OrderCancellations: [{
4326
+ name: 'orderIds',
4327
+ type: 'string[]'
4328
+ }]
4329
+ };
4330
+ function buildCancelDeltaOrderSignableData(_ref) {
4331
+ var orderInput = _ref.orderInput,
4332
+ chainId = _ref.chainId,
4333
+ paraswapDeltaAddress = _ref.paraswapDeltaAddress;
4334
+ var typedData = {
4335
+ types: {
4336
+ OrderCancellations: ORDER_CANCELLATIONS_EIP_712_TYPES.OrderCancellations
4337
+ },
4338
+ domain: {
4339
+ name: 'Portikus',
4340
+ version: '2.0.0',
4341
+ chainId: chainId,
4342
+ verifyingContract: paraswapDeltaAddress
4343
+ },
4344
+ data: {
4345
+ // explicityly pick only the necessary fields,
4346
+ // otherwise signing will break if more is present
4347
+ orderIds: orderInput.orderIds
4348
+ }
4349
+ };
4350
+ return typedData;
4351
+ }
4352
+
4353
+ var constructCancelDeltaOrder = function constructCancelDeltaOrder(options) {
4354
+ // cached internally
4355
+ var _constructGetDeltaCon = constructGetDeltaContract(options),
4356
+ getDeltaContract = _constructGetDeltaCon.getDeltaContract;
4357
+ var signCancelLimitDeltaOrderRequest = /*#__PURE__*/function () {
4358
+ var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(params, requestParams) {
4359
+ var ParaswapDelta, typedData, signature;
4360
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
4361
+ while (1) switch (_context.prev = _context.next) {
4362
+ case 0:
4363
+ _context.next = 2;
4364
+ return getDeltaContract(requestParams);
4365
+ case 2:
4366
+ ParaswapDelta = _context.sent;
4367
+ if (ParaswapDelta) {
4368
+ _context.next = 5;
4369
+ break;
4370
+ }
4371
+ throw new Error("Delta is not available on chain " + options.chainId);
4372
+ case 5:
4373
+ typedData = buildCancelDeltaOrderSignableData({
4374
+ orderInput: params,
4375
+ paraswapDeltaAddress: ParaswapDelta,
4376
+ chainId: options.chainId
4377
+ });
4378
+ _context.next = 8;
4379
+ return options.contractCaller.signTypedDataCall(typedData);
4380
+ case 8:
4381
+ signature = _context.sent;
4382
+ return _context.abrupt("return", signature);
4383
+ case 10:
4384
+ case "end":
4385
+ return _context.stop();
4386
+ }
4387
+ }, _callee);
4388
+ }));
4389
+ return function signCancelLimitDeltaOrderRequest(_x, _x2) {
4390
+ return _ref.apply(this, arguments);
4391
+ };
4392
+ }();
4393
+ var postCancelLimitDeltaOrderRequest = /*#__PURE__*/function () {
4394
+ var _ref2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2(params, requestParams) {
4395
+ var cancelUrl, res;
4396
+ return _regeneratorRuntime().wrap(function _callee2$(_context2) {
4397
+ while (1) switch (_context2.prev = _context2.next) {
4398
+ case 0:
4399
+ cancelUrl = options.apiURL + "/delta/orders/cancel";
4400
+ _context2.next = 3;
4401
+ return options.fetcher({
4402
+ url: cancelUrl,
4403
+ method: 'POST',
4404
+ data: params,
4405
+ requestParams: requestParams
4406
+ });
4407
+ case 3:
4408
+ res = _context2.sent;
4409
+ return _context2.abrupt("return", res);
4410
+ case 5:
4411
+ case "end":
4412
+ return _context2.stop();
4413
+ }
4414
+ }, _callee2);
4415
+ }));
4416
+ return function postCancelLimitDeltaOrderRequest(_x3, _x4) {
4417
+ return _ref2.apply(this, arguments);
4418
+ };
4419
+ }();
4420
+ var cancelLimitDeltaOrders = /*#__PURE__*/function () {
4421
+ var _ref3 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee3(params, requestParams) {
4422
+ var orderIds, signature, res;
4423
+ return _regeneratorRuntime().wrap(function _callee3$(_context3) {
4424
+ while (1) switch (_context3.prev = _context3.next) {
4425
+ case 0:
4426
+ orderIds = params.map(function (_ref4) {
4427
+ var id = _ref4.id;
4428
+ return id;
4429
+ });
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 _ref3.apply(this, arguments);
4452
+ };
4453
+ }();
4454
+ return {
4455
+ signCancelLimitDeltaOrderRequest: signCancelLimitDeltaOrderRequest,
4456
+ postCancelLimitDeltaOrderRequest: postCancelLimitDeltaOrderRequest,
4457
+ cancelLimitDeltaOrders: cancelLimitDeltaOrders
4458
+ };
4459
+ };
4460
+
4517
4461
  /** @description construct composable SDK with methods you choose yourself */
4518
4462
  var constructPartialSDK = function constructPartialSDK(config) {
4519
4463
  var _config$apiURL, _config$version;
@@ -4677,7 +4621,11 @@ var constructSubmitDeltaOrder = function constructSubmitDeltaOrder(options) {
4677
4621
  signature: signature,
4678
4622
  partner: orderParams.partner,
4679
4623
  order: orderData.data,
4680
- partiallyFillable: orderParams.partiallyFillable
4624
+ partiallyFillable: orderParams.partiallyFillable,
4625
+ referrerAddress: orderParams.referrerAddress,
4626
+ type: orderParams.type,
4627
+ includeAgents: orderParams.includeAgents,
4628
+ excludeAgents: orderParams.excludeAgents
4681
4629
  });
4682
4630
  case 8:
4683
4631
  response = _context.sent;
@@ -4711,7 +4659,8 @@ var constructAllDeltaOrdersHandlers = function constructAllDeltaOrdersHandlers(o
4711
4659
  var deltaOrdersBuild = constructBuildDeltaOrder(options);
4712
4660
  var deltaOrdersSign = constructSignDeltaOrder(options);
4713
4661
  var deltaOrdersPost = constructPostDeltaOrder(options);
4714
- 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);
4715
4664
  };
4716
4665
 
4717
4666
  var constructSubmitNFTOrder = function constructSubmitNFTOrder(options) {
@@ -5022,5 +4971,5 @@ function constructSimpleContractCaller(providerOptions) {
5022
4971
  };
5023
4972
  }
5024
4973
 
5025
- export { API_URL, AssetType, DEFAULT_VERSION, constructAllDeltaOrdersHandlers, constructAllLimitOrdersHandlers, constructAllNFTOrdersHandlers, constructApproveToken, constructApproveTokenForDelta, constructApproveTokenForLimitOrder, constructApproveTokenForNFTOrder, constructFetcher$2 as constructAxiosFetcher, constructBuildCrosschainOrderBridge, constructBuildDeltaOrder, constructBuildLimitOrder, constructBuildLimitOrderTx, constructBuildNFTOrder, constructBuildNFTOrderTx, constructBuildTx, constructCancelLimitOrder, constructCancelNFTOrder, constructEthersV5ContractCaller as constructEthersContractCaller, constructEthersV5ContractCaller, constructContractCaller$2 as constructEthersV6ContractCaller, constructFetcher$1 as constructFetchFetcher, constructFillOrderDirectly, constructFullSDK, constructGetAdapters, constructGetBalances, constructGetBridgeInfo, constructGetDeltaContract, constructGetDeltaOrders, constructGetDeltaPrice, constructGetLimitOrders, constructGetLimitOrdersContract, constructGetMulticallHandlers, constructGetNFTOrders, constructGetNFTOrdersContract, constructGetPartnerFee, constructGetQuote, constructGetRate, constructGetSpender, constructGetTokens, constructIsTokenSupportedInDelta, constructPartialSDK, constructPostDeltaOrder, constructPostLimitOrder, constructPostNFTOrder, constructSignDeltaOrder, constructSignLimitOrder, constructSignNFTOrder, constructSimpleSDK, constructSubmitDeltaOrder, constructSubmitLimitOrder, constructSubmitNFTOrder, constructSwapSDK, constructSwapTx, constructToken, constructContractCaller as constructViemContractCaller, constructContractCaller$1 as constructWeb3ContractCaller, isAllowance, isFetcherError, txParamsToViemTxParams };
4974
+ export { API_URL, AssetType, DEFAULT_VERSION, constructAllDeltaOrdersHandlers, constructAllLimitOrdersHandlers, constructAllNFTOrdersHandlers, constructApproveToken, constructApproveTokenForDelta, constructApproveTokenForLimitOrder, constructApproveTokenForNFTOrder, constructFetcher$2 as constructAxiosFetcher, constructBuildCrosschainOrderBridge, constructBuildDeltaOrder, constructBuildLimitOrder, constructBuildLimitOrderTx, constructBuildNFTOrder, constructBuildNFTOrderTx, constructBuildTx, constructCancelDeltaOrder, constructCancelLimitOrder, constructCancelNFTOrder, constructEthersV5ContractCaller as constructEthersContractCaller, constructEthersV5ContractCaller, constructContractCaller$2 as constructEthersV6ContractCaller, constructFetcher$1 as constructFetchFetcher, constructFillOrderDirectly, constructFullSDK, constructGetAdapters, constructGetBalances, constructGetBridgeInfo, constructGetDeltaContract, constructGetDeltaOrders, constructGetDeltaPrice, constructGetLimitOrders, constructGetLimitOrdersContract, constructGetMulticallHandlers, constructGetNFTOrders, constructGetNFTOrdersContract, constructGetPartnerFee, constructGetQuote, constructGetRate, constructGetSpender, constructGetTokens, constructIsTokenSupportedInDelta, constructPartialSDK, constructPostDeltaOrder, constructPostLimitOrder, constructPostNFTOrder, constructSignDeltaOrder, constructSignLimitOrder, constructSignNFTOrder, constructSimpleSDK, constructSubmitDeltaOrder, constructSubmitLimitOrder, constructSubmitNFTOrder, constructSwapSDK, constructSwapTx, constructToken, constructContractCaller as constructViemContractCaller, constructContractCaller$1 as constructWeb3ContractCaller, isAllowance, isFetcherError, txParamsToViemTxParams };
5026
4975
  //# sourceMappingURL=sdk.esm.js.map