@velora-dex/sdk 8.0.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.
- package/README.md +73 -11
- package/dist/examples/helpers/delta.d.ts +5 -0
- package/dist/examples/helpers/delta.d.ts.map +1 -0
- package/dist/helpers/misc.d.ts +4 -0
- package/dist/helpers/misc.d.ts.map +1 -1
- package/dist/helpers/providers/viem.d.ts +1 -1
- package/dist/helpers/providers/viem.d.ts.map +1 -1
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/methods/delta/buildCrosschainOrderBridge.d.ts +1 -1
- package/dist/methods/delta/buildCrosschainOrderBridge.d.ts.map +1 -1
- package/dist/methods/delta/buildDeltaOrder.d.ts +9 -6
- package/dist/methods/delta/buildDeltaOrder.d.ts.map +1 -1
- package/dist/methods/delta/cancelDeltaOrder.d.ts +22 -0
- package/dist/methods/delta/cancelDeltaOrder.d.ts.map +1 -0
- package/dist/methods/delta/getDeltaOrders.d.ts +11 -1
- package/dist/methods/delta/getDeltaOrders.d.ts.map +1 -1
- package/dist/methods/delta/getDeltaPrice.d.ts +28 -9
- package/dist/methods/delta/getDeltaPrice.d.ts.map +1 -1
- package/dist/methods/delta/helpers/across.d.ts +3 -6
- package/dist/methods/delta/helpers/across.d.ts.map +1 -1
- package/dist/methods/delta/helpers/buildCancelDeltaOrderData.d.ts +25 -0
- package/dist/methods/delta/helpers/buildCancelDeltaOrderData.d.ts.map +1 -0
- package/dist/methods/delta/helpers/buildDeltaOrderData.d.ts +3 -3
- package/dist/methods/delta/helpers/buildDeltaOrderData.d.ts.map +1 -1
- package/dist/methods/delta/helpers/misc.d.ts +1 -1
- package/dist/methods/delta/helpers/misc.d.ts.map +1 -1
- package/dist/methods/delta/helpers/types.d.ts +34 -6
- package/dist/methods/delta/helpers/types.d.ts.map +1 -1
- package/dist/methods/delta/index.d.ts +7 -5
- package/dist/methods/delta/index.d.ts.map +1 -1
- package/dist/methods/delta/postDeltaOrder.d.ts +9 -1
- package/dist/methods/delta/postDeltaOrder.d.ts.map +1 -1
- package/dist/methods/quote/getQuote.d.ts +27 -6
- package/dist/methods/quote/getQuote.d.ts.map +1 -1
- package/dist/sdk.cjs.development.js +364 -490
- package/dist/sdk.cjs.development.js.map +1 -1
- package/dist/sdk.cjs.production.min.js +1 -1
- package/dist/sdk.cjs.production.min.js.map +1 -1
- package/dist/sdk.esm.js +364 -491
- package/dist/sdk.esm.js.map +1 -1
- package/docs/DELTA.md +69 -7
- package/package.json +1 -1
- package/src/examples/delta.ts +5 -10
- package/src/examples/helpers/delta.ts +39 -0
- package/src/examples/quote.ts +6 -8
- package/src/examples/simpleQuote.ts +3 -5
- package/src/helpers/misc.ts +8 -0
- package/src/helpers/providers/viem.ts +4 -1
- package/src/index.ts +6 -0
- package/src/methods/delta/buildCrosschainOrderBridge.ts +25 -13
- package/src/methods/delta/buildDeltaOrder.ts +36 -66
- package/src/methods/delta/cancelDeltaOrder.ts +111 -0
- package/src/methods/delta/getDeltaOrders.ts +38 -0
- package/src/methods/delta/getDeltaPrice.ts +59 -14
- package/src/methods/delta/helpers/across.ts +26 -92
- package/src/methods/delta/helpers/buildCancelDeltaOrderData.ts +48 -0
- package/src/methods/delta/helpers/buildDeltaOrderData.ts +36 -11
- package/src/methods/delta/helpers/misc.ts +6 -2
- package/src/methods/delta/helpers/types.ts +55 -7
- package/src/methods/delta/index.ts +19 -4
- package/src/methods/delta/postDeltaOrder.ts +11 -1
- package/src/methods/quote/getQuote.ts +60 -9
- package/dist/methods/delta/helpers/composePermit.d.ts +0 -5
- package/dist/methods/delta/helpers/composePermit.d.ts.map +0 -1
- package/src/methods/delta/helpers/composePermit.ts +0 -76
|
@@ -467,6 +467,7 @@ var FetcherError = /*#__PURE__*/function (_Error) {
|
|
|
467
467
|
status = response.status;
|
|
468
468
|
_this.status = status;
|
|
469
469
|
_this.message = isDataWithError(data) ? data.error : message;
|
|
470
|
+
_this.message = isDataWithError2(data) ? "" + data.errorType + (data.description ? ": " + data.description : '') : _this.message;
|
|
470
471
|
return _this;
|
|
471
472
|
}
|
|
472
473
|
_inheritsLoose(FetcherError, _Error);
|
|
@@ -479,6 +480,9 @@ function isObject(obj) {
|
|
|
479
480
|
function isDataWithError(data) {
|
|
480
481
|
return isObject(data) && typeof data['error'] === 'string';
|
|
481
482
|
}
|
|
483
|
+
function isDataWithError2(data) {
|
|
484
|
+
return isObject(data) && typeof data['errorType'] === 'string';
|
|
485
|
+
}
|
|
482
486
|
// checks that array has at least one element
|
|
483
487
|
var isFilledArray = function isFilledArray(array) {
|
|
484
488
|
return array.length > 0;
|
|
@@ -698,7 +702,7 @@ var constructApproveToken = function constructApproveToken(options) {
|
|
|
698
702
|
};
|
|
699
703
|
};
|
|
700
704
|
|
|
701
|
-
var _excluded$
|
|
705
|
+
var _excluded$a = ["tokenType", "mainConnector", "connectors", "network"];
|
|
702
706
|
var constructToken = function constructToken(tokenProps) {
|
|
703
707
|
var _tokenProps$tokenType = tokenProps.tokenType,
|
|
704
708
|
tokenType = _tokenProps$tokenType === void 0 ? 'ERC20' : _tokenProps$tokenType,
|
|
@@ -708,7 +712,7 @@ var constructToken = function constructToken(tokenProps) {
|
|
|
708
712
|
connectorsInput = _tokenProps$connector === void 0 ? [] : _tokenProps$connector,
|
|
709
713
|
_tokenProps$network = tokenProps.network,
|
|
710
714
|
network = _tokenProps$network === void 0 ? 1 : _tokenProps$network,
|
|
711
|
-
rest = _objectWithoutPropertiesLoose(tokenProps, _excluded$
|
|
715
|
+
rest = _objectWithoutPropertiesLoose(tokenProps, _excluded$a);
|
|
712
716
|
var connectors = connectorsInput.length > 0 ? connectorsInput : [mainConnector];
|
|
713
717
|
return _extends({
|
|
714
718
|
tokenType: tokenType,
|
|
@@ -906,12 +910,12 @@ var constructGetAdapters = function constructGetAdapters(_ref) {
|
|
|
906
910
|
};
|
|
907
911
|
};
|
|
908
912
|
|
|
909
|
-
var _excluded$
|
|
913
|
+
var _excluded$9 = ["options"],
|
|
910
914
|
_excluded2$4 = ["excludeContractMethods", "includeContractMethods", "partner", "includeDEXS", "excludeDEXS", "excludePools"];
|
|
911
915
|
function normalizeRateOptions(_ref) {
|
|
912
916
|
var _ref$options = _ref.options,
|
|
913
917
|
options = _ref$options === void 0 ? {} : _ref$options,
|
|
914
|
-
restInput = _objectWithoutPropertiesLoose(_ref, _excluded$
|
|
918
|
+
restInput = _objectWithoutPropertiesLoose(_ref, _excluded$9);
|
|
915
919
|
var excludeContractMethods = options.excludeContractMethods,
|
|
916
920
|
includeContractMethods = options.includeContractMethods,
|
|
917
921
|
partner = options.partner,
|
|
@@ -940,7 +944,7 @@ function normalizeRateOptions(_ref) {
|
|
|
940
944
|
return _extends({}, transformed, restOptions, restInput);
|
|
941
945
|
}
|
|
942
946
|
|
|
943
|
-
var _excluded$
|
|
947
|
+
var _excluded$8 = ["srcToken", "destToken"],
|
|
944
948
|
_excluded2$3 = ["route"];
|
|
945
949
|
var INVALID_ROUTE = 'Invalid Route';
|
|
946
950
|
var constructGetRate = function constructGetRate(_ref) {
|
|
@@ -957,7 +961,7 @@ var constructGetRate = function constructGetRate(_ref) {
|
|
|
957
961
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
958
962
|
while (1) switch (_context.prev = _context.next) {
|
|
959
963
|
case 0:
|
|
960
|
-
srcToken = _ref2.srcToken, destToken = _ref2.destToken, rest = _objectWithoutPropertiesLoose(_ref2, _excluded$
|
|
964
|
+
srcToken = _ref2.srcToken, destToken = _ref2.destToken, rest = _objectWithoutPropertiesLoose(_ref2, _excluded$8);
|
|
961
965
|
parsedOptions = normalizeRateOptions(rest); // always pass explicit type to make sure UrlSearchParams are correct
|
|
962
966
|
search = constructSearchString(_extends({
|
|
963
967
|
srcToken: srcToken,
|
|
@@ -1032,7 +1036,7 @@ var constructGetRate = function constructGetRate(_ref) {
|
|
|
1032
1036
|
};
|
|
1033
1037
|
};
|
|
1034
1038
|
|
|
1035
|
-
var _excluded$
|
|
1039
|
+
var _excluded$7 = ["srcToken", "destToken", "amount", "route"];
|
|
1036
1040
|
var constructSwapTx = function constructSwapTx(_ref) {
|
|
1037
1041
|
var _ref$apiURL = _ref.apiURL,
|
|
1038
1042
|
apiURL = _ref$apiURL === void 0 ? API_URL : _ref$apiURL,
|
|
@@ -1047,7 +1051,7 @@ var constructSwapTx = function constructSwapTx(_ref) {
|
|
|
1047
1051
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
1048
1052
|
while (1) switch (_context.prev = _context.next) {
|
|
1049
1053
|
case 0:
|
|
1050
|
-
srcToken = _ref2.srcToken, destToken = _ref2.destToken, amount = _ref2.amount, route = _ref2.route, rest = _objectWithoutPropertiesLoose(_ref2, _excluded$
|
|
1054
|
+
srcToken = _ref2.srcToken, destToken = _ref2.destToken, amount = _ref2.amount, route = _ref2.route, rest = _objectWithoutPropertiesLoose(_ref2, _excluded$7);
|
|
1051
1055
|
parsedOptions = normalizeRateOptions(rest);
|
|
1052
1056
|
_route = route == null ? void 0 : route.join('-'); // always pass explicit type to make sure UrlSearchParams are correct
|
|
1053
1057
|
search = constructSearchString(_extends({
|
|
@@ -2259,7 +2263,7 @@ var constructGetLimitOrdersContract = function constructGetLimitOrdersContract(o
|
|
|
2259
2263
|
};
|
|
2260
2264
|
};
|
|
2261
2265
|
|
|
2262
|
-
var _excluded$
|
|
2266
|
+
var _excluded$6 = ["srcToken", "destToken", "amount", "options"];
|
|
2263
2267
|
var constructBuildLimitOrderTx = function constructBuildLimitOrderTx(_ref) {
|
|
2264
2268
|
var _ref$apiURL = _ref.apiURL,
|
|
2265
2269
|
apiURL = _ref$apiURL === void 0 ? API_URL : _ref$apiURL,
|
|
@@ -2288,7 +2292,7 @@ var constructBuildLimitOrderTx = function constructBuildLimitOrderTx(_ref) {
|
|
|
2288
2292
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
2289
2293
|
while (1) switch (_context.prev = _context.next) {
|
|
2290
2294
|
case 0:
|
|
2291
|
-
srcToken = _ref2.srcToken, destToken = _ref2.destToken, amount = _ref2.amount, _ref2$options = _ref2.options, _options = _ref2$options === void 0 ? {} : _ref2$options, rest = _objectWithoutPropertiesLoose(_ref2, _excluded$
|
|
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);
|
|
2292
2296
|
tsEssentials.assert(orders.length > 0, 'must pass at least 1 order');
|
|
2293
2297
|
_checkAndParseOrders = checkAndParseOrders$1(orders), totalTakerAmount = _checkAndParseOrders.totalTakerAmount, takerAsset = _checkAndParseOrders.takerAsset;
|
|
2294
2298
|
tsEssentials.assert(takerAsset.toLowerCase() === destToken.toLowerCase(), 'All orders must have the same takerAsset as destToken');
|
|
@@ -2655,7 +2659,7 @@ var constructApproveTokenForNFTOrder = function constructApproveTokenForNFTOrder
|
|
|
2655
2659
|
};
|
|
2656
2660
|
};
|
|
2657
2661
|
|
|
2658
|
-
var _excluded$
|
|
2662
|
+
var _excluded$5 = ["srcToken", "destToken", "amount", "options"];
|
|
2659
2663
|
var constructBuildNFTOrderTx = function constructBuildNFTOrderTx(_ref) {
|
|
2660
2664
|
var _ref$apiURL = _ref.apiURL,
|
|
2661
2665
|
apiURL = _ref$apiURL === void 0 ? API_URL : _ref$apiURL,
|
|
@@ -2684,7 +2688,7 @@ var constructBuildNFTOrderTx = function constructBuildNFTOrderTx(_ref) {
|
|
|
2684
2688
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
2685
2689
|
while (1) switch (_context.prev = _context.next) {
|
|
2686
2690
|
case 0:
|
|
2687
|
-
srcToken = _ref2.srcToken, destToken = _ref2.destToken, amount = _ref2.amount, _ref2$options = _ref2.options, _options = _ref2$options === void 0 ? {} : _ref2$options, rest = _objectWithoutPropertiesLoose(_ref2, _excluded$
|
|
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);
|
|
2688
2692
|
tsEssentials.assert(orders.length > 0, 'must pass at least 1 order');
|
|
2689
2693
|
_checkAndParseOrders = checkAndParseOrders(orders), totalTakerAmount = _checkAndParseOrders.totalTakerAmount, takerAsset = _checkAndParseOrders.takerAsset;
|
|
2690
2694
|
tsEssentials.assert(takerAsset.toLowerCase() === destToken.toLowerCase(), 'All orders must have the same takerAsset as destToken');
|
|
@@ -2793,7 +2797,7 @@ function uintToAssetAddress(assetUint) {
|
|
|
2793
2797
|
return '0x' + (BigInt(assetUint) & (BigInt(1) << BigInt(160)) - BigInt(1)).toString(16);
|
|
2794
2798
|
}
|
|
2795
2799
|
|
|
2796
|
-
var _excluded$
|
|
2800
|
+
var _excluded$4 = ["requestParams"];
|
|
2797
2801
|
var constructFetcher$2 = function constructFetcher(axios, extra) {
|
|
2798
2802
|
return /*#__PURE__*/function () {
|
|
2799
2803
|
var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(params) {
|
|
@@ -2802,7 +2806,7 @@ var constructFetcher$2 = function constructFetcher(axios, extra) {
|
|
|
2802
2806
|
while (1) switch (_context.prev = _context.next) {
|
|
2803
2807
|
case 0:
|
|
2804
2808
|
_context.prev = 0;
|
|
2805
|
-
requestParams = params.requestParams, rest = _objectWithoutPropertiesLoose(params, _excluded$
|
|
2809
|
+
requestParams = params.requestParams, rest = _objectWithoutPropertiesLoose(params, _excluded$4); // adding apiKey to headers if it's provided
|
|
2806
2810
|
headers = extra != null && extra.apiKey ? _extends({
|
|
2807
2811
|
'X-API-KEY': extra.apiKey
|
|
2808
2812
|
}, rest.headers, requestParams == null ? void 0 : requestParams.headers) : _extends({}, rest.headers, requestParams == null ? void 0 : requestParams.headers);
|
|
@@ -2910,7 +2914,7 @@ var constructFetcher$1 = function constructFetcher(fetch, extra) {
|
|
|
2910
2914
|
}();
|
|
2911
2915
|
};
|
|
2912
2916
|
|
|
2913
|
-
var _excluded$
|
|
2917
|
+
var _excluded$3 = ["block", "gas"],
|
|
2914
2918
|
_excluded2$2 = ["gas", "from"];
|
|
2915
2919
|
var constructEthersV5ContractCaller = function constructEthersV5ContractCaller(_ref, account) {
|
|
2916
2920
|
var providerOrSigner = _ref.ethersProviderOrSigner,
|
|
@@ -2926,7 +2930,7 @@ var constructEthersV5ContractCaller = function constructEthersV5ContractCaller(_
|
|
|
2926
2930
|
contract = new Contract(address, abi, providerOrSigner);
|
|
2927
2931
|
assertEthersContractHasMethodsV5(contract, contractMethod);
|
|
2928
2932
|
// drop keys not in CallOverrides
|
|
2929
|
-
block = overrides.block, gas = overrides.gas, restOverrides = _objectWithoutPropertiesLoose(overrides, _excluded$
|
|
2933
|
+
block = overrides.block, gas = overrides.gas, restOverrides = _objectWithoutPropertiesLoose(overrides, _excluded$3); // reassign values to keys in CallOverrides
|
|
2930
2934
|
normalizedOverrides = _extends({}, restOverrides, {
|
|
2931
2935
|
blockTag: block,
|
|
2932
2936
|
gasLimit: gas
|
|
@@ -3033,7 +3037,7 @@ function assertEthersContractHasMethodsV5(contract) {
|
|
|
3033
3037
|
tsEssentials.assert(ethersContractHasMethodsV5.apply(void 0, [contract].concat(methods)), "Contract must have methods: " + methods.join(', '));
|
|
3034
3038
|
}
|
|
3035
3039
|
|
|
3036
|
-
var _excluded$
|
|
3040
|
+
var _excluded$2 = ["block", "gas"],
|
|
3037
3041
|
_excluded2$1 = ["gas", "from"];
|
|
3038
3042
|
var constructContractCaller$2 = function constructContractCaller(_ref, account) {
|
|
3039
3043
|
var providerOrSigner = _ref.ethersV6ProviderOrSigner,
|
|
@@ -3046,7 +3050,7 @@ var constructContractCaller$2 = function constructContractCaller(_ref, account)
|
|
|
3046
3050
|
case 0:
|
|
3047
3051
|
address = params.address, abi = params.abi, contractMethod = params.contractMethod, args = params.args, overrides = params.overrides;
|
|
3048
3052
|
contract = new Contract(address, abi, providerOrSigner); // drop keys not in CallOverrides
|
|
3049
|
-
block = overrides.block, gas = overrides.gas, restOverrides = _objectWithoutPropertiesLoose(overrides, _excluded$
|
|
3053
|
+
block = overrides.block, gas = overrides.gas, restOverrides = _objectWithoutPropertiesLoose(overrides, _excluded$2); // reassign values to keys in CallOverrides
|
|
3050
3054
|
normalizedOverrides = _extends({}, restOverrides, {
|
|
3051
3055
|
blockTag: block,
|
|
3052
3056
|
gasLimit: gas
|
|
@@ -3179,7 +3183,7 @@ function findPrimaryType(types) {
|
|
|
3179
3183
|
return primaryType;
|
|
3180
3184
|
}
|
|
3181
3185
|
|
|
3182
|
-
var _excluded = ["block", "gas", "value"],
|
|
3186
|
+
var _excluded$1 = ["block", "gas", "value"],
|
|
3183
3187
|
_excluded2 = ["gas", "from", "value", "nonce"];
|
|
3184
3188
|
var constructContractCaller$1 = function constructContractCaller(web3, account) {
|
|
3185
3189
|
var staticCall = /*#__PURE__*/function () {
|
|
@@ -3195,7 +3199,7 @@ var constructContractCaller$1 = function constructContractCaller(web3, account)
|
|
|
3195
3199
|
// FIXME abi types ethers dependant
|
|
3196
3200
|
address);
|
|
3197
3201
|
assertWeb3ContractHasMethods(contract, contractMethod);
|
|
3198
|
-
gas = overrides.gas, value = overrides.value, restOverrides = _objectWithoutPropertiesLoose(overrides, _excluded);
|
|
3202
|
+
gas = overrides.gas, value = overrides.value, restOverrides = _objectWithoutPropertiesLoose(overrides, _excluded$1);
|
|
3199
3203
|
normalizedOverrides = _extends({}, restOverrides, {
|
|
3200
3204
|
gas: gas == null ? void 0 : gas.toString(10),
|
|
3201
3205
|
value: value == null ? void 0 : value.toString(10)
|
|
@@ -3565,62 +3569,6 @@ var constructGetPartnerFee = function constructGetPartnerFee(_ref) {
|
|
|
3565
3569
|
};
|
|
3566
3570
|
};
|
|
3567
3571
|
|
|
3568
|
-
function composeDeltaOrderPermit(_ref) {
|
|
3569
|
-
var permit = _ref.permit,
|
|
3570
|
-
nonce = _ref.nonce;
|
|
3571
|
-
// Can be empty Permit if allowance is available for srcToken
|
|
3572
|
-
if (permit === '0x' || permit === '0x01') {
|
|
3573
|
-
// 0x01 is a special permit value that signifies existing Permit2 allowance.
|
|
3574
|
-
return permit;
|
|
3575
|
-
}
|
|
3576
|
-
// In the Contract, specifically for Permit2 transferFrom, we have signature consisting of
|
|
3577
|
-
// bytes32(permit2nonce) + bytes64(compacted signature) = bytes96 Permit2 Transfer format
|
|
3578
|
-
if (permit.length >= 194) {
|
|
3579
|
-
// "0x".length + 96bytes*2 = 194, means permit already concatenated with nonce
|
|
3580
|
-
// or it's a different type of Permit all together
|
|
3581
|
-
return permit;
|
|
3582
|
-
}
|
|
3583
|
-
return encodePermit2Transfer(BigInt(nonce), permit);
|
|
3584
|
-
}
|
|
3585
|
-
function uintTo32ByteArrayBuffer(nonce) {
|
|
3586
|
-
// Create a 32-byte ArrayBuffer
|
|
3587
|
-
var buffer = new Uint8Array(32);
|
|
3588
|
-
// Convert nonce to hex string and pad it to 64 hex characters (32 bytes)
|
|
3589
|
-
var nonceHex = nonce.toString(16).padStart(64, '0');
|
|
3590
|
-
// Convert the hex string to bytes and fill the ArrayBuffer
|
|
3591
|
-
for (var i = 0; i < 32; i++) {
|
|
3592
|
-
buffer[i] = parseInt(nonceHex.slice(i * 2, i * 2 + 2), 16);
|
|
3593
|
-
}
|
|
3594
|
-
return buffer;
|
|
3595
|
-
}
|
|
3596
|
-
function hexToByteArray(hexString) {
|
|
3597
|
-
// Remove "0x" prefix if present
|
|
3598
|
-
hexString = hexString.replace(/^0x/, '');
|
|
3599
|
-
// Convert hex string to Uint8Array
|
|
3600
|
-
var byteArray = new Uint8Array(hexString.length / 2);
|
|
3601
|
-
for (var i = 0; i < hexString.length; i += 2) {
|
|
3602
|
-
byteArray[i / 2] = parseInt(hexString.slice(i, i + 2), 16);
|
|
3603
|
-
}
|
|
3604
|
-
return byteArray;
|
|
3605
|
-
}
|
|
3606
|
-
function encodePermit2Transfer(nonce, signature) {
|
|
3607
|
-
// Get 32-byte ArrayBuffer for nonce
|
|
3608
|
-
var nonceBuffer = uintTo32ByteArrayBuffer(nonce);
|
|
3609
|
-
// Convert signature hex string to Uint8Array (64 bytes)
|
|
3610
|
-
var signatureBuffer = hexToByteArray(signature);
|
|
3611
|
-
if (signatureBuffer.length !== 64) {
|
|
3612
|
-
throw new Error('Signature must be exactly 64 bytes');
|
|
3613
|
-
}
|
|
3614
|
-
// Concatenate nonceBuffer and signatureBuffer
|
|
3615
|
-
var packedBuffer = new Uint8Array(32 + 64);
|
|
3616
|
-
packedBuffer.set(nonceBuffer, 0); // Copy nonceBuffer at the start
|
|
3617
|
-
packedBuffer.set(signatureBuffer, 32); // Copy signatureBuffer after nonce
|
|
3618
|
-
// Convert to hex string for output
|
|
3619
|
-
return '0x' + Array.from(packedBuffer).map(function (b) {
|
|
3620
|
-
return b.toString(16).padStart(2, '0');
|
|
3621
|
-
}).join('');
|
|
3622
|
-
}
|
|
3623
|
-
|
|
3624
3572
|
// Order(address owner,address beneficiary,address srcToken,address destToken,uint256 srcAmount,uint256 destAmount,uint256 deadline,uint256 nonce,bytes permit, bridge Bridge)";
|
|
3625
3573
|
var SWAP_ORDER_EIP_712_TYPES = {
|
|
3626
3574
|
Order: [{
|
|
@@ -3642,11 +3590,14 @@ var SWAP_ORDER_EIP_712_TYPES = {
|
|
|
3642
3590
|
name: 'destAmount',
|
|
3643
3591
|
type: 'uint256'
|
|
3644
3592
|
}, {
|
|
3645
|
-
name: '
|
|
3593
|
+
name: 'expectedAmount',
|
|
3646
3594
|
type: 'uint256'
|
|
3647
3595
|
}, {
|
|
3648
3596
|
name: 'deadline',
|
|
3649
3597
|
type: 'uint256'
|
|
3598
|
+
}, {
|
|
3599
|
+
name: 'kind',
|
|
3600
|
+
type: 'uint8'
|
|
3650
3601
|
}, {
|
|
3651
3602
|
name: 'nonce',
|
|
3652
3603
|
type: 'uint256'
|
|
@@ -3656,13 +3607,16 @@ var SWAP_ORDER_EIP_712_TYPES = {
|
|
|
3656
3607
|
}, {
|
|
3657
3608
|
name: 'permit',
|
|
3658
3609
|
type: 'bytes'
|
|
3610
|
+
}, {
|
|
3611
|
+
name: 'metadata',
|
|
3612
|
+
type: 'bytes'
|
|
3659
3613
|
}, {
|
|
3660
3614
|
name: 'bridge',
|
|
3661
3615
|
type: 'Bridge'
|
|
3662
3616
|
}],
|
|
3663
3617
|
Bridge: [{
|
|
3664
|
-
name: '
|
|
3665
|
-
type: '
|
|
3618
|
+
name: 'protocolSelector',
|
|
3619
|
+
type: 'bytes4'
|
|
3666
3620
|
}, {
|
|
3667
3621
|
name: 'destinationChainId',
|
|
3668
3622
|
type: 'uint256'
|
|
@@ -3670,8 +3624,11 @@ var SWAP_ORDER_EIP_712_TYPES = {
|
|
|
3670
3624
|
name: 'outputToken',
|
|
3671
3625
|
type: 'address'
|
|
3672
3626
|
}, {
|
|
3673
|
-
name: '
|
|
3674
|
-
type: '
|
|
3627
|
+
name: 'scalingFactor',
|
|
3628
|
+
type: 'int8'
|
|
3629
|
+
}, {
|
|
3630
|
+
name: 'protocolData',
|
|
3631
|
+
type: 'bytes'
|
|
3675
3632
|
}]
|
|
3676
3633
|
};
|
|
3677
3634
|
function produceDeltaOrderTypedData(_ref) {
|
|
@@ -3693,7 +3650,7 @@ function produceDeltaOrderTypedData(_ref) {
|
|
|
3693
3650
|
};
|
|
3694
3651
|
return typedData;
|
|
3695
3652
|
}
|
|
3696
|
-
// default deadline = 1 hour
|
|
3653
|
+
// default deadline = 1 hour for now (may be changed later)
|
|
3697
3654
|
var DELTA_DEFAULT_EXPIRY = 60 * 60; // seconds
|
|
3698
3655
|
function buildDeltaSignableOrderData(_ref2) {
|
|
3699
3656
|
var owner = _ref2.owner,
|
|
@@ -3703,13 +3660,16 @@ function buildDeltaSignableOrderData(_ref2) {
|
|
|
3703
3660
|
destToken = _ref2.destToken,
|
|
3704
3661
|
srcAmount = _ref2.srcAmount,
|
|
3705
3662
|
destAmount = _ref2.destAmount,
|
|
3706
|
-
|
|
3663
|
+
expectedAmount = _ref2.expectedAmount,
|
|
3707
3664
|
_ref2$deadline = _ref2.deadline,
|
|
3708
3665
|
deadline = _ref2$deadline === void 0 ? Math.floor(Date.now() / 1000 + DELTA_DEFAULT_EXPIRY) : _ref2$deadline,
|
|
3709
3666
|
_ref2$nonce = _ref2.nonce,
|
|
3710
3667
|
nonce = _ref2$nonce === void 0 ? Date.now().toString(10) : _ref2$nonce,
|
|
3711
3668
|
_ref2$permit = _ref2.permit,
|
|
3712
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,
|
|
3713
3673
|
partnerAddress = _ref2.partnerAddress,
|
|
3714
3674
|
partnerFeeBps = _ref2.partnerFeeBps,
|
|
3715
3675
|
_ref2$partnerTakesSur = _ref2.partnerTakesSurplus,
|
|
@@ -3724,19 +3684,18 @@ function buildDeltaSignableOrderData(_ref2) {
|
|
|
3724
3684
|
destToken: destToken,
|
|
3725
3685
|
srcAmount: srcAmount,
|
|
3726
3686
|
destAmount: destAmount,
|
|
3727
|
-
|
|
3687
|
+
expectedAmount: expectedAmount,
|
|
3728
3688
|
deadline: deadline,
|
|
3729
3689
|
nonce: nonce,
|
|
3730
|
-
permit:
|
|
3731
|
-
permit: permit,
|
|
3732
|
-
nonce: nonce
|
|
3733
|
-
}),
|
|
3690
|
+
permit: permit,
|
|
3734
3691
|
partnerAndFee: producePartnerAndFee({
|
|
3735
3692
|
partnerFeeBps: partnerFeeBps,
|
|
3736
3693
|
partnerAddress: partnerAddress,
|
|
3737
3694
|
partnerTakesSurplus: partnerTakesSurplus
|
|
3738
3695
|
}),
|
|
3739
|
-
bridge: bridge
|
|
3696
|
+
bridge: bridge,
|
|
3697
|
+
kind: kind,
|
|
3698
|
+
metadata: metadata
|
|
3740
3699
|
};
|
|
3741
3700
|
return produceDeltaOrderTypedData({
|
|
3742
3701
|
orderInput: orderInput,
|
|
@@ -3754,345 +3713,14 @@ function producePartnerAndFee(_ref3) {
|
|
|
3754
3713
|
return partnerAndFee.toString(10);
|
|
3755
3714
|
}
|
|
3756
3715
|
|
|
3757
|
-
var
|
|
3758
|
-
|
|
3759
|
-
|
|
3760
|
-
|
|
3761
|
-
|
|
3762
|
-
|
|
3763
|
-
|
|
3764
|
-
var data;
|
|
3765
|
-
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
3766
|
-
while (1) switch (_context.prev = _context.next) {
|
|
3767
|
-
case 0:
|
|
3768
|
-
_context.next = 2;
|
|
3769
|
-
return fetcher({
|
|
3770
|
-
url: multicallHandlersUrl,
|
|
3771
|
-
method: 'GET',
|
|
3772
|
-
requestParams: requestParams
|
|
3773
|
-
});
|
|
3774
|
-
case 2:
|
|
3775
|
-
data = _context.sent;
|
|
3776
|
-
return _context.abrupt("return", data);
|
|
3777
|
-
case 4:
|
|
3778
|
-
case "end":
|
|
3779
|
-
return _context.stop();
|
|
3780
|
-
}
|
|
3781
|
-
}, _callee);
|
|
3782
|
-
}));
|
|
3783
|
-
return function _getMulticallHandlers(_x) {
|
|
3784
|
-
return _ref2.apply(this, arguments);
|
|
3785
|
-
};
|
|
3786
|
-
}();
|
|
3787
|
-
// cached for the same instance of `{getMulticallHandlers} = constructGetMulticallHandlers()`
|
|
3788
|
-
// so should persist across same apiUrl & network (and response is even network agnostic)
|
|
3789
|
-
var getMulticallHandlers = runOnceAndCache(_getMulticallHandlers);
|
|
3790
|
-
return {
|
|
3791
|
-
getMulticallHandlers: getMulticallHandlers
|
|
3792
|
-
};
|
|
3793
|
-
};
|
|
3794
|
-
|
|
3795
|
-
var ACROSS_WETH_ADDRESSES_MAP = {
|
|
3796
|
-
// Mainnet
|
|
3797
|
-
1: '0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2',
|
|
3798
|
-
// Sepolia
|
|
3799
|
-
11155111: '0xfFf9976782d46CC05630D1f6eBAb18b2324d6B14',
|
|
3800
|
-
// Base
|
|
3801
|
-
8453: '0x4200000000000000000000000000000000000006',
|
|
3802
|
-
// Base Sepolia
|
|
3803
|
-
84532: '0x4200000000000000000000000000000000000006',
|
|
3804
|
-
// Optimism
|
|
3805
|
-
10: '0x4200000000000000000000000000000000000006',
|
|
3806
|
-
// Optimism Sepolia
|
|
3807
|
-
11155420: '0x4200000000000000000000000000000000000006',
|
|
3808
|
-
// Polygon
|
|
3809
|
-
137: '0x7ceB23fD6bC0adD59E62ac25578270cFf1b9f619',
|
|
3810
|
-
// Polygon Amoy
|
|
3811
|
-
80002: '0x52eF3d68BaB452a294342DC3e5f464d7f610f72E',
|
|
3812
|
-
// Aleph Zero
|
|
3813
|
-
41455: '0xB3f0eE446723f4258862D949B4c9688e7e7d35d3',
|
|
3814
|
-
// Arbitrum
|
|
3815
|
-
42161: '0x82aF49447D8a07e3bd95BD0d56f35241523fBab1',
|
|
3816
|
-
// Arbitrum Sepolia
|
|
3817
|
-
421614: '0x980B62Da83eFf3D4576C647993b0c1D7faf17c73',
|
|
3818
|
-
// Boba
|
|
3819
|
-
288: '0xDeadDeAddeAddEAddeadDEaDDEAdDeaDDeAD0000',
|
|
3820
|
-
// Blast
|
|
3821
|
-
81457: '0x4300000000000000000000000000000000000004',
|
|
3822
|
-
// Blast Sepolia
|
|
3823
|
-
168587773: '0x4200000000000000000000000000000000000023',
|
|
3824
|
-
// Ink
|
|
3825
|
-
57073: '0x4200000000000000000000000000000000000006',
|
|
3826
|
-
// Ink Sepolia
|
|
3827
|
-
763373: '0x4200000000000000000000000000000000000006',
|
|
3828
|
-
// Lens
|
|
3829
|
-
232: '0xE5ecd226b3032910CEaa43ba92EE8232f8237553',
|
|
3830
|
-
// Lens Sepolia
|
|
3831
|
-
37111: '0xaA91D645D7a6C1aeaa5988e0547267B77d33fe16',
|
|
3832
|
-
// Linea
|
|
3833
|
-
59144: '0xe5D7C2a44FfDDf6b295A15c148167daaAf5Cf34f',
|
|
3834
|
-
// Lisk
|
|
3835
|
-
1135: '0x4200000000000000000000000000000000000006',
|
|
3836
|
-
// Lisk Sepolia
|
|
3837
|
-
4202: '0x4200000000000000000000000000000000000006',
|
|
3838
|
-
// Mode
|
|
3839
|
-
34443: '0x4200000000000000000000000000000000000006',
|
|
3840
|
-
// Mode Sepolia
|
|
3841
|
-
919: '0x4200000000000000000000000000000000000006',
|
|
3842
|
-
// Redstone
|
|
3843
|
-
690: '0x4200000000000000000000000000000000000006',
|
|
3844
|
-
// Scroll
|
|
3845
|
-
534352: '0x5300000000000000000000000000000000000004',
|
|
3846
|
-
// Scroll Sepolia
|
|
3847
|
-
534351: '0x5300000000000000000000000000000000000004',
|
|
3848
|
-
// Soneium
|
|
3849
|
-
1868: '0x4200000000000000000000000000000000000006',
|
|
3850
|
-
// Tatara
|
|
3851
|
-
129399: '0x17B8Ee96E3bcB3b04b3e8334de4524520C51caB4',
|
|
3852
|
-
// Unichain
|
|
3853
|
-
130: '0x4200000000000000000000000000000000000006',
|
|
3854
|
-
// Unichain Sepolia
|
|
3855
|
-
1301: '0x4200000000000000000000000000000000000006',
|
|
3856
|
-
// World Chain
|
|
3857
|
-
480: '0x4200000000000000000000000000000000000006',
|
|
3858
|
-
// ZK Sync
|
|
3859
|
-
324: '0x5AEa5775959fBC2557Cc8789bC1bf90A239D9a91',
|
|
3860
|
-
// ZK Sync Sepolia
|
|
3861
|
-
300: '0x2D6Db36B3117802E996f13073A08A685D3FeF7eD',
|
|
3862
|
-
// Zora
|
|
3863
|
-
7777777: '0x4200000000000000000000000000000000000006'
|
|
3864
|
-
};
|
|
3865
|
-
function isAcrossWETH(tokenAddress, chainId) {
|
|
3866
|
-
var _ACROSS_WETH_ADDRESSE;
|
|
3867
|
-
return ((_ACROSS_WETH_ADDRESSE = ACROSS_WETH_ADDRESSES_MAP[chainId]) == null ? void 0 : _ACROSS_WETH_ADDRESSE.toLowerCase()) === tokenAddress.toLowerCase();
|
|
3868
|
-
}
|
|
3869
|
-
var ETH_ADDRESS = '0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE';
|
|
3870
|
-
var ETH_ADDRESS_LOWERCASE = /*#__PURE__*/ETH_ADDRESS.toLowerCase();
|
|
3871
|
-
function isETHaddress(tokenAddress) {
|
|
3872
|
-
return tokenAddress.toLowerCase() === ETH_ADDRESS_LOWERCASE;
|
|
3873
|
-
}
|
|
3874
|
-
function getDeltaBridgeAndDestToken(_x) {
|
|
3875
|
-
return _getDeltaBridgeAndDestToken.apply(this, arguments);
|
|
3876
|
-
}
|
|
3877
|
-
function _getDeltaBridgeAndDestToken() {
|
|
3878
|
-
_getDeltaBridgeAndDestToken = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(_ref) {
|
|
3879
|
-
var destTokenDestChain, destChainId, destTokenSrcChain, srcChainId, bridgeFee, beneficiaryType, getMulticallHandler, WETH_SRC_CHAIN, WETH_DEST_CHAIN, _bridge, _bridge2, _bridge3, _bridge4, _bridge5, bridge;
|
|
3880
|
-
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
3881
|
-
while (1) switch (_context.prev = _context.next) {
|
|
3882
|
-
case 0:
|
|
3883
|
-
destTokenDestChain = _ref.destTokenDestChain, destChainId = _ref.destChainId, destTokenSrcChain = _ref.destTokenSrcChain, srcChainId = _ref.srcChainId, bridgeFee = _ref.bridgeFee, beneficiaryType = _ref.beneficiaryType, getMulticallHandler = _ref.getMulticallHandler;
|
|
3884
|
-
tsEssentials.assert(beneficiaryType === 'EOA' || beneficiaryType === 'SmartContract', 'beneficiaryType must be EOA or SmartContract');
|
|
3885
|
-
WETH_SRC_CHAIN = ACROSS_WETH_ADDRESSES_MAP[srcChainId];
|
|
3886
|
-
WETH_DEST_CHAIN = ACROSS_WETH_ADDRESSES_MAP[destChainId];
|
|
3887
|
-
if (!(!WETH_SRC_CHAIN || !WETH_DEST_CHAIN)) {
|
|
3888
|
-
_context.next = 7;
|
|
3889
|
-
break;
|
|
3890
|
-
}
|
|
3891
|
-
// this should never happen as we only expect crosschain Delta Orders for supported chains
|
|
3892
|
-
_bridge = {
|
|
3893
|
-
maxRelayerFee: bridgeFee,
|
|
3894
|
-
destinationChainId: destChainId,
|
|
3895
|
-
outputToken: destTokenDestChain,
|
|
3896
|
-
multiCallHandler: ZERO_ADDRESS
|
|
3897
|
-
};
|
|
3898
|
-
return _context.abrupt("return", {
|
|
3899
|
-
bridge: _bridge,
|
|
3900
|
-
orderChanges: {
|
|
3901
|
-
destToken: destTokenSrcChain
|
|
3902
|
-
}
|
|
3903
|
-
});
|
|
3904
|
-
case 7:
|
|
3905
|
-
if (!(beneficiaryType === 'EOA' && isETHaddress(destTokenDestChain))) {
|
|
3906
|
-
_context.next = 10;
|
|
3907
|
-
break;
|
|
3908
|
-
}
|
|
3909
|
-
/*
|
|
3910
|
-
if beneficiary is an EOA and destToken on destChain = ETH
|
|
3911
|
-
order.destToken=ETH
|
|
3912
|
-
order.bridge.outputToken=WETH_DEST_CHAIN
|
|
3913
|
-
order.bridge.multiCallHandler=NULL_ADDRESS
|
|
3914
|
-
*/
|
|
3915
|
-
_bridge2 = {
|
|
3916
|
-
maxRelayerFee: bridgeFee,
|
|
3917
|
-
destinationChainId: destChainId,
|
|
3918
|
-
outputToken: WETH_DEST_CHAIN,
|
|
3919
|
-
multiCallHandler: ZERO_ADDRESS
|
|
3920
|
-
};
|
|
3921
|
-
return _context.abrupt("return", {
|
|
3922
|
-
bridge: _bridge2,
|
|
3923
|
-
orderChanges: {
|
|
3924
|
-
destToken: ETH_ADDRESS
|
|
3925
|
-
}
|
|
3926
|
-
});
|
|
3927
|
-
case 10:
|
|
3928
|
-
if (!(beneficiaryType === 'EOA' && isAcrossWETH(destTokenDestChain, destChainId))) {
|
|
3929
|
-
_context.next = 19;
|
|
3930
|
-
break;
|
|
3931
|
-
}
|
|
3932
|
-
_context.t0 = bridgeFee;
|
|
3933
|
-
_context.t1 = destChainId;
|
|
3934
|
-
_context.t2 = WETH_DEST_CHAIN;
|
|
3935
|
-
_context.next = 16;
|
|
3936
|
-
return getMulticallHandler(destChainId);
|
|
3937
|
-
case 16:
|
|
3938
|
-
_context.t3 = _context.sent;
|
|
3939
|
-
_bridge3 = {
|
|
3940
|
-
maxRelayerFee: _context.t0,
|
|
3941
|
-
destinationChainId: _context.t1,
|
|
3942
|
-
outputToken: _context.t2,
|
|
3943
|
-
multiCallHandler: _context.t3
|
|
3944
|
-
};
|
|
3945
|
-
return _context.abrupt("return", {
|
|
3946
|
-
bridge: _bridge3,
|
|
3947
|
-
orderChanges: {
|
|
3948
|
-
destToken: WETH_SRC_CHAIN
|
|
3949
|
-
}
|
|
3950
|
-
});
|
|
3951
|
-
case 19:
|
|
3952
|
-
if (!(beneficiaryType === 'SmartContract' && isETHaddress(destTokenDestChain))) {
|
|
3953
|
-
_context.next = 28;
|
|
3954
|
-
break;
|
|
3955
|
-
}
|
|
3956
|
-
_context.t4 = bridgeFee;
|
|
3957
|
-
_context.t5 = destChainId;
|
|
3958
|
-
_context.t6 = WETH_DEST_CHAIN;
|
|
3959
|
-
_context.next = 25;
|
|
3960
|
-
return getMulticallHandler(destChainId);
|
|
3961
|
-
case 25:
|
|
3962
|
-
_context.t7 = _context.sent;
|
|
3963
|
-
_bridge4 = {
|
|
3964
|
-
maxRelayerFee: _context.t4,
|
|
3965
|
-
destinationChainId: _context.t5,
|
|
3966
|
-
outputToken: _context.t6,
|
|
3967
|
-
multiCallHandler: _context.t7
|
|
3968
|
-
};
|
|
3969
|
-
return _context.abrupt("return", {
|
|
3970
|
-
bridge: _bridge4,
|
|
3971
|
-
orderChanges: {
|
|
3972
|
-
destToken: ETH_ADDRESS
|
|
3973
|
-
}
|
|
3974
|
-
});
|
|
3975
|
-
case 28:
|
|
3976
|
-
if (!(beneficiaryType === 'SmartContract' && isAcrossWETH(destTokenDestChain, destChainId))) {
|
|
3977
|
-
_context.next = 31;
|
|
3978
|
-
break;
|
|
3979
|
-
}
|
|
3980
|
-
/*
|
|
3981
|
-
if beneficiary is a contract and destToken on destChain = WETH
|
|
3982
|
-
order.destToken=WETH
|
|
3983
|
-
order.bridge.outputToken=WETH_DEST_CHAIN
|
|
3984
|
-
order.bridge.multiCallHandler=NULL_ADDRESS
|
|
3985
|
-
*/
|
|
3986
|
-
_bridge5 = {
|
|
3987
|
-
maxRelayerFee: bridgeFee,
|
|
3988
|
-
destinationChainId: destChainId,
|
|
3989
|
-
outputToken: WETH_DEST_CHAIN,
|
|
3990
|
-
multiCallHandler: ZERO_ADDRESS
|
|
3991
|
-
};
|
|
3992
|
-
return _context.abrupt("return", {
|
|
3993
|
-
bridge: _bridge5,
|
|
3994
|
-
orderChanges: {
|
|
3995
|
-
destToken: WETH_SRC_CHAIN
|
|
3996
|
-
}
|
|
3997
|
-
});
|
|
3998
|
-
case 31:
|
|
3999
|
-
bridge = {
|
|
4000
|
-
maxRelayerFee: bridgeFee,
|
|
4001
|
-
destinationChainId: destChainId,
|
|
4002
|
-
outputToken: destTokenDestChain,
|
|
4003
|
-
multiCallHandler: ZERO_ADDRESS
|
|
4004
|
-
};
|
|
4005
|
-
return _context.abrupt("return", {
|
|
4006
|
-
bridge: bridge,
|
|
4007
|
-
orderChanges: {
|
|
4008
|
-
destToken: destTokenSrcChain
|
|
4009
|
-
}
|
|
4010
|
-
});
|
|
4011
|
-
case 33:
|
|
4012
|
-
case "end":
|
|
4013
|
-
return _context.stop();
|
|
4014
|
-
}
|
|
4015
|
-
}, _callee);
|
|
4016
|
-
}));
|
|
4017
|
-
return _getDeltaBridgeAndDestToken.apply(this, arguments);
|
|
4018
|
-
}
|
|
4019
|
-
|
|
4020
|
-
var constructBuildCrosschainOrderBridge = function constructBuildCrosschainOrderBridge(options) {
|
|
4021
|
-
var chainId = options.chainId;
|
|
4022
|
-
// cached internally for `multicall` contracts
|
|
4023
|
-
var _constructGetMultical = constructGetMulticallHandlers(options),
|
|
4024
|
-
getMulticallHandlers = _constructGetMultical.getMulticallHandlers;
|
|
4025
|
-
var buildCrosschainOrderBridge = /*#__PURE__*/function () {
|
|
4026
|
-
var _ref2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2(_ref, requestParams) {
|
|
4027
|
-
var destToken, destChainId, beneficiaryType, deltaPrice, getMulticallHandler, _yield$getDeltaBridge, bridge, orderChanges;
|
|
4028
|
-
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
4029
|
-
while (1) switch (_context2.prev = _context2.next) {
|
|
4030
|
-
case 0:
|
|
4031
|
-
destToken = _ref.destToken, destChainId = _ref.destChainId, beneficiaryType = _ref.beneficiaryType, deltaPrice = _ref.deltaPrice;
|
|
4032
|
-
tsEssentials.assert(chainId !== destChainId, '`destChainId` must be different from `chainId` for crosschain Order.bridge');
|
|
4033
|
-
getMulticallHandler = /*#__PURE__*/function () {
|
|
4034
|
-
var _ref3 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(chainId) {
|
|
4035
|
-
var multicallHandlersMap, multicallHandler;
|
|
4036
|
-
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
4037
|
-
while (1) switch (_context.prev = _context.next) {
|
|
4038
|
-
case 0:
|
|
4039
|
-
_context.next = 2;
|
|
4040
|
-
return getMulticallHandlers(requestParams);
|
|
4041
|
-
case 2:
|
|
4042
|
-
multicallHandlersMap = _context.sent;
|
|
4043
|
-
multicallHandler = multicallHandlersMap[chainId];
|
|
4044
|
-
tsEssentials.assert(multicallHandler, "Multicall handler not found for chain " + chainId);
|
|
4045
|
-
return _context.abrupt("return", multicallHandler);
|
|
4046
|
-
case 6:
|
|
4047
|
-
case "end":
|
|
4048
|
-
return _context.stop();
|
|
4049
|
-
}
|
|
4050
|
-
}, _callee);
|
|
4051
|
-
}));
|
|
4052
|
-
return function getMulticallHandler(_x3) {
|
|
4053
|
-
return _ref3.apply(this, arguments);
|
|
4054
|
-
};
|
|
4055
|
-
}();
|
|
4056
|
-
_context2.next = 5;
|
|
4057
|
-
return getDeltaBridgeAndDestToken({
|
|
4058
|
-
destTokenDestChain: destToken,
|
|
4059
|
-
destChainId: destChainId,
|
|
4060
|
-
destTokenSrcChain: deltaPrice.destToken,
|
|
4061
|
-
srcChainId: chainId,
|
|
4062
|
-
bridgeFee: deltaPrice.bridgeFee,
|
|
4063
|
-
beneficiaryType: beneficiaryType,
|
|
4064
|
-
getMulticallHandler: getMulticallHandler
|
|
4065
|
-
});
|
|
4066
|
-
case 5:
|
|
4067
|
-
_yield$getDeltaBridge = _context2.sent;
|
|
4068
|
-
bridge = _yield$getDeltaBridge.bridge;
|
|
4069
|
-
orderChanges = _yield$getDeltaBridge.orderChanges;
|
|
4070
|
-
return _context2.abrupt("return", {
|
|
4071
|
-
bridge: bridge,
|
|
4072
|
-
orderChanges: orderChanges
|
|
4073
|
-
});
|
|
4074
|
-
case 9:
|
|
4075
|
-
case "end":
|
|
4076
|
-
return _context2.stop();
|
|
4077
|
-
}
|
|
4078
|
-
}, _callee2);
|
|
4079
|
-
}));
|
|
4080
|
-
return function buildCrosschainOrderBridge(_x, _x2) {
|
|
4081
|
-
return _ref2.apply(this, arguments);
|
|
4082
|
-
};
|
|
4083
|
-
}();
|
|
4084
|
-
return {
|
|
4085
|
-
buildCrosschainOrderBridge: buildCrosschainOrderBridge
|
|
4086
|
-
};
|
|
4087
|
-
};
|
|
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);
|
|
4088
3723
|
|
|
4089
|
-
// for same-chain Orders, all 0 params
|
|
4090
|
-
var DEFAULT_BRIDGE = {
|
|
4091
|
-
maxRelayerFee: '0',
|
|
4092
|
-
destinationChainId: 0,
|
|
4093
|
-
outputToken: ZERO_ADDRESS,
|
|
4094
|
-
multiCallHandler: ZERO_ADDRESS
|
|
4095
|
-
};
|
|
4096
3724
|
var constructBuildDeltaOrder = function constructBuildDeltaOrder(options) {
|
|
4097
3725
|
var chainId = options.chainId;
|
|
4098
3726
|
// cached internally
|
|
@@ -4101,12 +3729,10 @@ var constructBuildDeltaOrder = function constructBuildDeltaOrder(options) {
|
|
|
4101
3729
|
// cached internally for `partner`
|
|
4102
3730
|
var _constructGetPartnerF = constructGetPartnerFee(options),
|
|
4103
3731
|
getPartnerFee = _constructGetPartnerF.getPartnerFee;
|
|
4104
|
-
var _constructBuildCrossc = constructBuildCrosschainOrderBridge(options),
|
|
4105
|
-
buildCrosschainOrderBridge = _constructBuildCrossc.buildCrosschainOrderBridge;
|
|
4106
3732
|
var buildDeltaOrder = /*#__PURE__*/function () {
|
|
4107
3733
|
var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(options, requestParams) {
|
|
4108
|
-
var _options$partnerFeeBp,
|
|
4109
|
-
var ParaswapDelta, partnerAddress, partnerFeeBps, partnerTakesSurplus, feeOrTakeSurplusSupplied, _partnerAddress, _partnerFeeBps, _partnerTakesSurplus, partner, partnerFeeResponse,
|
|
3734
|
+
var _options$partnerFeeBp, _options$side, _options$nonce;
|
|
3735
|
+
var ParaswapDelta, partnerAddress, partnerFeeBps, partnerTakesSurplus, feeOrTakeSurplusSupplied, _partnerAddress, _partnerFeeBps, _partnerTakesSurplus, partner, partnerFeeResponse, swapSide, expectedAmount, input;
|
|
4110
3736
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
4111
3737
|
while (1) switch (_context.prev = _context.next) {
|
|
4112
3738
|
case 0:
|
|
@@ -4142,64 +3768,32 @@ var constructBuildDeltaOrder = function constructBuildDeltaOrder(options) {
|
|
|
4142
3768
|
partnerFeeBps = (_partnerFeeBps = partnerFeeBps) != null ? _partnerFeeBps : partnerFeeResponse.partnerFee;
|
|
4143
3769
|
partnerTakesSurplus = (_partnerTakesSurplus = partnerTakesSurplus) != null ? _partnerTakesSurplus : partnerFeeResponse.takeSurplus;
|
|
4144
3770
|
case 17:
|
|
4145
|
-
|
|
4146
|
-
|
|
4147
|
-
bridge = options.bridge;
|
|
4148
|
-
partialChangedOrder = null; // give preference to user-provided bridge
|
|
4149
|
-
if (bridge) {
|
|
4150
|
-
_context.next = 33;
|
|
4151
|
-
break;
|
|
4152
|
-
}
|
|
4153
|
-
if (!(options.destChainId && chainId !== options.destChainId)) {
|
|
4154
|
-
_context.next = 32;
|
|
4155
|
-
break;
|
|
4156
|
-
}
|
|
4157
|
-
// crosschain Delta Order
|
|
4158
|
-
deltaPrice = options.deltaPrice;
|
|
4159
|
-
tsEssentials.assert(deltaPrice.bridgeFee, '`bridgeFee` is required in `deltaPrice` for crosschain Delta Orders');
|
|
4160
|
-
_context.next = 25;
|
|
4161
|
-
return buildCrosschainOrderBridge({
|
|
4162
|
-
destToken: options.destToken,
|
|
4163
|
-
destChainId: options.destChainId,
|
|
4164
|
-
beneficiaryType: (_options$beneficiaryT = options.beneficiaryType) != null ? _options$beneficiaryT : 'EOA',
|
|
4165
|
-
deltaPrice: {
|
|
4166
|
-
bridgeFee: deltaPrice.bridgeFee,
|
|
4167
|
-
destToken: deltaPrice.destToken
|
|
4168
|
-
}
|
|
4169
|
-
}, requestParams);
|
|
4170
|
-
case 25:
|
|
4171
|
-
_yield$buildCrosschai = _context.sent;
|
|
4172
|
-
constructedBridge = _yield$buildCrosschai.bridge;
|
|
4173
|
-
orderChanges = _yield$buildCrosschai.orderChanges;
|
|
4174
|
-
bridge = constructedBridge;
|
|
4175
|
-
partialChangedOrder = orderChanges;
|
|
4176
|
-
_context.next = 33;
|
|
4177
|
-
break;
|
|
4178
|
-
case 32:
|
|
4179
|
-
// 0-values bridge for same-chain Orders
|
|
4180
|
-
bridge = DEFAULT_BRIDGE;
|
|
4181
|
-
case 33:
|
|
3771
|
+
swapSide = (_options$side = options.side) != null ? _options$side : core.SwapSide.SELL;
|
|
3772
|
+
expectedAmount = swapSide === core.SwapSide.SELL ? options.deltaPrice.destAmount : options.deltaPrice.srcAmount;
|
|
4182
3773
|
input = {
|
|
4183
3774
|
owner: options.owner,
|
|
4184
3775
|
beneficiary: options.beneficiary,
|
|
4185
3776
|
srcToken: options.srcToken,
|
|
4186
|
-
// for some cases of WETH
|
|
4187
|
-
|
|
3777
|
+
// for some cases of WETH->ETH crosschain swaps, the destToken is changed to WETH or ETH,
|
|
3778
|
+
// this is already reflected in deltaPrice
|
|
3779
|
+
destToken: options.deltaPrice.destToken,
|
|
4188
3780
|
srcAmount: options.srcAmount,
|
|
4189
3781
|
destAmount: options.destAmount,
|
|
4190
|
-
|
|
3782
|
+
expectedAmount: expectedAmount,
|
|
4191
3783
|
deadline: options.deadline,
|
|
4192
3784
|
nonce: (_options$nonce = options.nonce) == null ? void 0 : _options$nonce.toString(10),
|
|
4193
3785
|
permit: options.permit,
|
|
3786
|
+
kind: SwapSideToOrderKind[swapSide],
|
|
3787
|
+
metadata: options.metadata,
|
|
4194
3788
|
chainId: chainId,
|
|
4195
3789
|
paraswapDeltaAddress: ParaswapDelta,
|
|
4196
3790
|
partnerAddress: partnerAddress,
|
|
4197
3791
|
partnerTakesSurplus: partnerTakesSurplus,
|
|
4198
3792
|
partnerFeeBps: partnerFeeBps,
|
|
4199
|
-
bridge: bridge
|
|
3793
|
+
bridge: options.deltaPrice.bridge // ZERO_BRIDGE for same-chain Orders
|
|
4200
3794
|
};
|
|
4201
3795
|
return _context.abrupt("return", buildDeltaSignableOrderData(input));
|
|
4202
|
-
case
|
|
3796
|
+
case 21:
|
|
4203
3797
|
case "end":
|
|
4204
3798
|
return _context.stop();
|
|
4205
3799
|
}
|
|
@@ -4214,6 +3808,62 @@ var constructBuildDeltaOrder = function constructBuildDeltaOrder(options) {
|
|
|
4214
3808
|
};
|
|
4215
3809
|
};
|
|
4216
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
|
+
|
|
4217
3867
|
var constructPostDeltaOrder = function constructPostDeltaOrder(_ref) {
|
|
4218
3868
|
var _ref$apiURL = _ref.apiURL,
|
|
4219
3869
|
apiURL = _ref$apiURL === void 0 ? API_URL : _ref$apiURL,
|
|
@@ -4243,12 +3893,14 @@ function sanitizeDeltaOrderData(_ref) {
|
|
|
4243
3893
|
destToken = _ref.destToken,
|
|
4244
3894
|
srcAmount = _ref.srcAmount,
|
|
4245
3895
|
destAmount = _ref.destAmount,
|
|
4246
|
-
|
|
3896
|
+
expectedAmount = _ref.expectedAmount,
|
|
4247
3897
|
deadline = _ref.deadline,
|
|
4248
3898
|
nonce = _ref.nonce,
|
|
4249
3899
|
permit = _ref.permit,
|
|
4250
3900
|
partnerAndFee = _ref.partnerAndFee,
|
|
4251
|
-
bridge = _ref.bridge
|
|
3901
|
+
bridge = _ref.bridge,
|
|
3902
|
+
kind = _ref.kind,
|
|
3903
|
+
metadata = _ref.metadata;
|
|
4252
3904
|
return {
|
|
4253
3905
|
owner: owner,
|
|
4254
3906
|
beneficiary: beneficiary,
|
|
@@ -4256,12 +3908,14 @@ function sanitizeDeltaOrderData(_ref) {
|
|
|
4256
3908
|
destToken: destToken,
|
|
4257
3909
|
srcAmount: srcAmount,
|
|
4258
3910
|
destAmount: destAmount,
|
|
4259
|
-
|
|
3911
|
+
expectedAmount: expectedAmount,
|
|
4260
3912
|
deadline: deadline,
|
|
4261
3913
|
nonce: nonce,
|
|
4262
3914
|
permit: permit,
|
|
4263
3915
|
partnerAndFee: partnerAndFee,
|
|
4264
|
-
bridge: bridge
|
|
3916
|
+
bridge: bridge,
|
|
3917
|
+
kind: kind,
|
|
3918
|
+
metadata: metadata
|
|
4265
3919
|
};
|
|
4266
3920
|
}
|
|
4267
3921
|
|
|
@@ -4298,6 +3952,7 @@ var constructSignDeltaOrder = function constructSignDeltaOrder(options) {
|
|
|
4298
3952
|
};
|
|
4299
3953
|
};
|
|
4300
3954
|
|
|
3955
|
+
var _excluded = ["includeAgents", "excludeAgents"];
|
|
4301
3956
|
var constructGetDeltaPrice = function constructGetDeltaPrice(_ref) {
|
|
4302
3957
|
var _ref$apiURL = _ref.apiURL,
|
|
4303
3958
|
apiURL = _ref$apiURL === void 0 ? API_URL : _ref$apiURL,
|
|
@@ -4309,25 +3964,31 @@ var constructGetDeltaPrice = function constructGetDeltaPrice(_ref) {
|
|
|
4309
3964
|
}
|
|
4310
3965
|
function _getDeltaPrice() {
|
|
4311
3966
|
_getDeltaPrice = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(options, requestParams) {
|
|
4312
|
-
var
|
|
3967
|
+
var _options$side;
|
|
3968
|
+
var includeAgents, excludeAgents, rest, includeAgentsString, excludeAgentsString, search, fetchURL, data;
|
|
4313
3969
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
4314
3970
|
while (1) switch (_context.prev = _context.next) {
|
|
4315
3971
|
case 0:
|
|
4316
|
-
|
|
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, {
|
|
4317
3976
|
chainId: chainId,
|
|
4318
|
-
side:
|
|
3977
|
+
side: (_options$side = options.side) != null ? _options$side : core.SwapSide.SELL,
|
|
3978
|
+
includeAgents: includeAgentsString,
|
|
3979
|
+
excludeAgents: excludeAgentsString
|
|
4319
3980
|
}));
|
|
4320
3981
|
fetchURL = pricesUrl + "/" + search;
|
|
4321
|
-
_context.next =
|
|
3982
|
+
_context.next = 7;
|
|
4322
3983
|
return fetcher({
|
|
4323
3984
|
url: fetchURL,
|
|
4324
3985
|
method: 'GET',
|
|
4325
3986
|
requestParams: requestParams
|
|
4326
3987
|
});
|
|
4327
|
-
case
|
|
3988
|
+
case 7:
|
|
4328
3989
|
data = _context.sent;
|
|
4329
3990
|
return _context.abrupt("return", data.price);
|
|
4330
|
-
case
|
|
3991
|
+
case 9:
|
|
4331
3992
|
case "end":
|
|
4332
3993
|
return _context.stop();
|
|
4333
3994
|
}
|
|
@@ -4343,7 +4004,8 @@ var constructGetDeltaPrice = function constructGetDeltaPrice(_ref) {
|
|
|
4343
4004
|
var constructGetDeltaOrders = function constructGetDeltaOrders(_ref) {
|
|
4344
4005
|
var _ref$apiURL = _ref.apiURL,
|
|
4345
4006
|
apiURL = _ref$apiURL === void 0 ? API_URL : _ref$apiURL,
|
|
4346
|
-
fetcher = _ref.fetcher
|
|
4007
|
+
fetcher = _ref.fetcher,
|
|
4008
|
+
chainId = _ref.chainId;
|
|
4347
4009
|
var baseUrl = apiURL + "/delta/orders";
|
|
4348
4010
|
var getDeltaOrderById = /*#__PURE__*/function () {
|
|
4349
4011
|
var _ref2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(orderId, requestParams) {
|
|
@@ -4406,7 +4068,9 @@ var constructGetDeltaOrders = function constructGetDeltaOrders(_ref) {
|
|
|
4406
4068
|
search = constructSearchString({
|
|
4407
4069
|
userAddress: options.userAddress,
|
|
4408
4070
|
page: options.page,
|
|
4409
|
-
limit: options.limit
|
|
4071
|
+
limit: options.limit,
|
|
4072
|
+
chainId: options.chainId,
|
|
4073
|
+
type: options.type
|
|
4410
4074
|
});
|
|
4411
4075
|
fetchURL = "" + baseUrl + search;
|
|
4412
4076
|
_context3.next = 4;
|
|
@@ -4428,10 +4092,38 @@ var constructGetDeltaOrders = function constructGetDeltaOrders(_ref) {
|
|
|
4428
4092
|
return _ref4.apply(this, arguments);
|
|
4429
4093
|
};
|
|
4430
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
|
+
}();
|
|
4431
4122
|
return {
|
|
4432
4123
|
getDeltaOrderById: getDeltaOrderById,
|
|
4433
4124
|
getDeltaOrderByHash: getDeltaOrderByHash,
|
|
4434
|
-
getDeltaOrders: getDeltaOrders
|
|
4125
|
+
getDeltaOrders: getDeltaOrders,
|
|
4126
|
+
getRequiredBalanceForDeltaLimitOrders: getRequiredBalanceForDeltaLimitOrders
|
|
4435
4127
|
};
|
|
4436
4128
|
};
|
|
4437
4129
|
|
|
@@ -4510,6 +4202,44 @@ var constructGetBridgeInfo = function constructGetBridgeInfo(_ref) {
|
|
|
4510
4202
|
};
|
|
4511
4203
|
};
|
|
4512
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
|
+
|
|
4513
4243
|
var constructIsTokenSupportedInDelta = function constructIsTokenSupportedInDelta(_ref) {
|
|
4514
4244
|
var _ref$apiURL = _ref.apiURL,
|
|
4515
4245
|
apiURL = _ref$apiURL === void 0 ? API_URL : _ref$apiURL,
|
|
@@ -4562,13 +4292,14 @@ var constructGetQuote = function constructGetQuote(_ref) {
|
|
|
4562
4292
|
}
|
|
4563
4293
|
function _getQuote() {
|
|
4564
4294
|
_getQuote = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(options, requestParams) {
|
|
4295
|
+
var _options$side;
|
|
4565
4296
|
var search, fetchURL, data;
|
|
4566
4297
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
4567
4298
|
while (1) switch (_context.prev = _context.next) {
|
|
4568
4299
|
case 0:
|
|
4569
4300
|
search = constructSearchString(_extends({}, options, {
|
|
4570
|
-
chainId: chainId
|
|
4571
|
-
|
|
4301
|
+
chainId: chainId,
|
|
4302
|
+
side: (_options$side = options.side) != null ? _options$side : core.SwapSide.SELL
|
|
4572
4303
|
}));
|
|
4573
4304
|
fetchURL = pricesUrl + "/" + search;
|
|
4574
4305
|
_context.next = 4;
|
|
@@ -4593,6 +4324,143 @@ var constructGetQuote = function constructGetQuote(_ref) {
|
|
|
4593
4324
|
};
|
|
4594
4325
|
};
|
|
4595
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 _ref3 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee3(params, 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 = params.map(function (_ref4) {
|
|
4430
|
+
var id = _ref4.id;
|
|
4431
|
+
return id;
|
|
4432
|
+
});
|
|
4433
|
+
_context3.next = 3;
|
|
4434
|
+
return signCancelLimitDeltaOrderRequest({
|
|
4435
|
+
orderIds: orderIds
|
|
4436
|
+
}, requestParams);
|
|
4437
|
+
case 3:
|
|
4438
|
+
signature = _context3.sent;
|
|
4439
|
+
_context3.next = 6;
|
|
4440
|
+
return postCancelLimitDeltaOrderRequest({
|
|
4441
|
+
orderIds: orderIds,
|
|
4442
|
+
signature: signature
|
|
4443
|
+
}, requestParams);
|
|
4444
|
+
case 6:
|
|
4445
|
+
res = _context3.sent;
|
|
4446
|
+
return _context3.abrupt("return", res);
|
|
4447
|
+
case 8:
|
|
4448
|
+
case "end":
|
|
4449
|
+
return _context3.stop();
|
|
4450
|
+
}
|
|
4451
|
+
}, _callee3);
|
|
4452
|
+
}));
|
|
4453
|
+
return function cancelLimitDeltaOrders(_x5, _x6) {
|
|
4454
|
+
return _ref3.apply(this, arguments);
|
|
4455
|
+
};
|
|
4456
|
+
}();
|
|
4457
|
+
return {
|
|
4458
|
+
signCancelLimitDeltaOrderRequest: signCancelLimitDeltaOrderRequest,
|
|
4459
|
+
postCancelLimitDeltaOrderRequest: postCancelLimitDeltaOrderRequest,
|
|
4460
|
+
cancelLimitDeltaOrders: cancelLimitDeltaOrders
|
|
4461
|
+
};
|
|
4462
|
+
};
|
|
4463
|
+
|
|
4596
4464
|
/** @description construct composable SDK with methods you choose yourself */
|
|
4597
4465
|
var constructPartialSDK = function constructPartialSDK(config) {
|
|
4598
4466
|
var _config$apiURL, _config$version;
|
|
@@ -4756,7 +4624,11 @@ var constructSubmitDeltaOrder = function constructSubmitDeltaOrder(options) {
|
|
|
4756
4624
|
signature: signature,
|
|
4757
4625
|
partner: orderParams.partner,
|
|
4758
4626
|
order: orderData.data,
|
|
4759
|
-
partiallyFillable: orderParams.partiallyFillable
|
|
4627
|
+
partiallyFillable: orderParams.partiallyFillable,
|
|
4628
|
+
referrerAddress: orderParams.referrerAddress,
|
|
4629
|
+
type: orderParams.type,
|
|
4630
|
+
includeAgents: orderParams.includeAgents,
|
|
4631
|
+
excludeAgents: orderParams.excludeAgents
|
|
4760
4632
|
});
|
|
4761
4633
|
case 8:
|
|
4762
4634
|
response = _context.sent;
|
|
@@ -4790,7 +4662,8 @@ var constructAllDeltaOrdersHandlers = function constructAllDeltaOrdersHandlers(o
|
|
|
4790
4662
|
var deltaOrdersBuild = constructBuildDeltaOrder(options);
|
|
4791
4663
|
var deltaOrdersSign = constructSignDeltaOrder(options);
|
|
4792
4664
|
var deltaOrdersPost = constructPostDeltaOrder(options);
|
|
4793
|
-
|
|
4665
|
+
var deltaOrdersCancel = constructCancelDeltaOrder(options);
|
|
4666
|
+
return _extends({}, deltaOrdersGetters, deltaOrdersContractGetter, deltaPrice, partnerFee, bridgeInfo, isTokenSupportedInDelta, multicallHandlers, approveTokenForDelta, deltaOrdersSubmit, deltaOrdersBuild, deltaOrdersSign, deltaOrdersPost, deltaOrdersCancel, buildCrosschainOrderBridge);
|
|
4794
4667
|
};
|
|
4795
4668
|
|
|
4796
4669
|
var constructSubmitNFTOrder = function constructSubmitNFTOrder(options) {
|
|
@@ -5135,6 +5008,7 @@ exports.constructBuildLimitOrderTx = constructBuildLimitOrderTx;
|
|
|
5135
5008
|
exports.constructBuildNFTOrder = constructBuildNFTOrder;
|
|
5136
5009
|
exports.constructBuildNFTOrderTx = constructBuildNFTOrderTx;
|
|
5137
5010
|
exports.constructBuildTx = constructBuildTx;
|
|
5011
|
+
exports.constructCancelDeltaOrder = constructCancelDeltaOrder;
|
|
5138
5012
|
exports.constructCancelLimitOrder = constructCancelLimitOrder;
|
|
5139
5013
|
exports.constructCancelNFTOrder = constructCancelNFTOrder;
|
|
5140
5014
|
exports.constructEthersContractCaller = constructEthersV5ContractCaller;
|