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