@subwallet/extension-base 1.3.39-0 → 1.3.41-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/cjs/constants/environment.js +4 -2
- package/cjs/koni/background/handlers/Extension.js +114 -105
- package/cjs/packageInfo.js +1 -1
- package/cjs/services/balance-service/helpers/subscribe/evm.js +6 -1
- package/cjs/services/balance-service/transfer/xcm/index.js +26 -29
- package/cjs/services/balance-service/transfer/xcm/utils.js +52 -56
- package/cjs/services/chain-service/constants.js +6 -5
- package/cjs/services/chain-service/handler/CardanoApi.js +25 -35
- package/cjs/services/chain-service/index.js +4 -0
- package/cjs/services/chain-service/utils/patch.js +1 -1
- package/cjs/services/earning-service/handlers/native-staking/tao.js +4 -38
- package/cjs/services/earning-service/handlers/special.js +28 -36
- package/cjs/services/swap-service/handler/base-handler.js +58 -53
- package/cjs/services/swap-service/handler/chainflip-handler.js +29 -18
- package/cjs/services/swap-service/handler/kyber-handler.js +46 -34
- package/cjs/services/swap-service/handler/simpleswap-handler.js +79 -43
- package/cjs/services/swap-service/handler/uniswap-handler.js +5 -12
- package/cjs/services/swap-service/utils.js +48 -37
- package/cjs/types/environment.js +19 -0
- package/cjs/utils/environment.js +30 -2
- package/cjs/utils/fee/transfer.js +41 -33
- package/constants/environment.d.ts +1 -0
- package/constants/environment.js +2 -1
- package/koni/background/handlers/Extension.js +52 -43
- package/package.json +12 -7
- package/packageInfo.js +1 -1
- package/services/balance-service/helpers/subscribe/evm.js +6 -1
- package/services/balance-service/transfer/xcm/index.d.ts +1 -2
- package/services/balance-service/transfer/xcm/index.js +23 -26
- package/services/balance-service/transfer/xcm/utils.d.ts +38 -6
- package/services/balance-service/transfer/xcm/utils.js +51 -55
- package/services/chain-service/constants.d.ts +1 -0
- package/services/chain-service/constants.js +6 -5
- package/services/chain-service/handler/CardanoApi.d.ts +1 -5
- package/services/chain-service/handler/CardanoApi.js +26 -34
- package/services/chain-service/index.js +4 -0
- package/services/chain-service/utils/patch.js +1 -1
- package/services/earning-service/handlers/native-staking/tao.d.ts +0 -11
- package/services/earning-service/handlers/native-staking/tao.js +4 -24
- package/services/earning-service/handlers/special.js +12 -20
- package/services/swap-service/handler/base-handler.js +11 -6
- package/services/swap-service/handler/chainflip-handler.d.ts +0 -2
- package/services/swap-service/handler/chainflip-handler.js +25 -13
- package/services/swap-service/handler/kyber-handler.d.ts +0 -1
- package/services/swap-service/handler/kyber-handler.js +46 -33
- package/services/swap-service/handler/simpleswap-handler.d.ts +0 -1
- package/services/swap-service/handler/simpleswap-handler.js +80 -43
- package/services/swap-service/handler/uniswap-handler.js +6 -13
- package/services/swap-service/utils.d.ts +0 -13
- package/services/swap-service/utils.js +48 -34
- package/types/environment.d.ts +9 -0
- package/types/environment.js +13 -0
- package/utils/environment.d.ts +2 -0
- package/utils/environment.js +27 -1
- package/utils/fee/transfer.js +11 -3
|
@@ -4,12 +4,13 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
-
exports.KyberHandler =
|
|
7
|
+
exports.KyberHandler = void 0;
|
|
8
8
|
var _SwapError = require("@subwallet/extension-base/background/errors/SwapError");
|
|
9
9
|
var _TransactionError = require("@subwallet/extension-base/background/errors/TransactionError");
|
|
10
10
|
var _KoniTypes = require("@subwallet/extension-base/background/KoniTypes");
|
|
11
11
|
var _web = require("@subwallet/extension-base/koni/api/contract-handler/evm/web3");
|
|
12
12
|
var _types = require("@subwallet/extension-base/types");
|
|
13
|
+
var _environment = require("@subwallet/extension-base/types/environment");
|
|
13
14
|
var _utils = require("@subwallet/extension-base/utils");
|
|
14
15
|
var _getId = require("@subwallet/extension-base/utils/getId");
|
|
15
16
|
var _bignumber = _interopRequireDefault(require("bignumber.js"));
|
|
@@ -19,47 +20,58 @@ var _baseHandler = require("./base-handler");
|
|
|
19
20
|
// Copyright 2019-2022 @subwallet/extension-base
|
|
20
21
|
// SPDX-License-Identifier: Apache-2.0
|
|
21
22
|
|
|
22
|
-
|
|
23
|
-
exports.KYBER_CLIENT_ID = KYBER_CLIENT_ID;
|
|
24
|
-
const kyberUrl = 'https://aggregator-api.kyberswap.com';
|
|
25
|
-
async function buildTxForSwap(params, chain) {
|
|
23
|
+
async function buildTxForKyberSwap(params, chain) {
|
|
26
24
|
const {
|
|
27
25
|
recipient,
|
|
28
26
|
sender,
|
|
29
27
|
slippageTolerance
|
|
30
28
|
} = params;
|
|
31
29
|
let routeSummary = params.routeSummary;
|
|
30
|
+
console.log('routeSummary1', routeSummary);
|
|
32
31
|
if (!routeSummary || !routeSummary.tokenIn || !routeSummary.tokenOut || !routeSummary.amountIn) {
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
32
|
+
return {
|
|
33
|
+
error: new _TransactionError.TransactionError(_types.BasicTxErrorType.INTERNAL_ERROR, 'Invalid Route Summary')
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
const {
|
|
37
|
+
amountIn,
|
|
38
|
+
tokenIn,
|
|
39
|
+
tokenOut
|
|
40
|
+
} = routeSummary;
|
|
41
|
+
const queryParams = new URLSearchParams({
|
|
42
|
+
tokenIn,
|
|
43
|
+
tokenOut,
|
|
44
|
+
amountIn,
|
|
45
|
+
gasInclude: 'true'
|
|
46
|
+
});
|
|
47
|
+
const path = `/${chain}/api/v1/routes?${queryParams.toString()}`;
|
|
48
|
+
try {
|
|
49
|
+
var _routeData$data;
|
|
50
|
+
const res = await (0, _utils.fetchFromProxyService)(_environment.ProxyServiceRoute.KYBER, path, {
|
|
51
|
+
method: 'GET',
|
|
52
|
+
headers: {
|
|
53
|
+
'Content-Type': 'application/json',
|
|
54
|
+
accept: 'application/json'
|
|
55
55
|
}
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
56
|
+
});
|
|
57
|
+
if (!res.ok) {
|
|
58
|
+
const errorText = await res.text();
|
|
59
59
|
return {
|
|
60
|
-
error: new _TransactionError.TransactionError(_types.BasicTxErrorType.INTERNAL_ERROR)
|
|
60
|
+
error: new _TransactionError.TransactionError(_types.BasicTxErrorType.INTERNAL_ERROR, `Fetch Kyber routes failed: ${errorText}`)
|
|
61
61
|
};
|
|
62
62
|
}
|
|
63
|
+
const routeData = await res.json();
|
|
64
|
+
if (!((_routeData$data = routeData.data) !== null && _routeData$data !== void 0 && _routeData$data.routeSummary)) {
|
|
65
|
+
return {
|
|
66
|
+
error: new _TransactionError.TransactionError(_types.BasicTxErrorType.INTERNAL_ERROR, routeData.message)
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
routeSummary = routeData.data.routeSummary;
|
|
70
|
+
} catch (error) {
|
|
71
|
+
console.error('Error:', error);
|
|
72
|
+
return {
|
|
73
|
+
error: new _TransactionError.TransactionError(_types.BasicTxErrorType.INTERNAL_ERROR, 'Unable to build Kyber swap transaction')
|
|
74
|
+
};
|
|
63
75
|
}
|
|
64
76
|
const body = {
|
|
65
77
|
routeSummary,
|
|
@@ -69,12 +81,12 @@ async function buildTxForSwap(params, chain) {
|
|
|
69
81
|
ignoreCappedSlippage: true,
|
|
70
82
|
enableGasEstimation: true
|
|
71
83
|
};
|
|
84
|
+
console.log('routeSummary2', routeSummary);
|
|
72
85
|
try {
|
|
73
|
-
const res = await
|
|
86
|
+
const res = await (0, _utils.fetchFromProxyService)(_environment.ProxyServiceRoute.KYBER, `/${chain}/api/v1/route/build`, {
|
|
74
87
|
method: 'POST',
|
|
75
88
|
headers: {
|
|
76
89
|
'Content-Type': 'application/json',
|
|
77
|
-
'x-client-id': KYBER_CLIENT_ID,
|
|
78
90
|
accept: 'application/json'
|
|
79
91
|
},
|
|
80
92
|
body: JSON.stringify(body)
|
|
@@ -280,7 +292,7 @@ class KyberHandler {
|
|
|
280
292
|
const recipient = (0, _utils._reformatAddressWithChain)((_params$recipient = params.recipient) !== null && _params$recipient !== void 0 ? _params$recipient : sender, toChainInfo);
|
|
281
293
|
const metadata = params.quote.metadata;
|
|
282
294
|
const slippageTolerance = params.slippage * 10000;
|
|
283
|
-
const rawTx = await
|
|
295
|
+
const rawTx = await buildTxForKyberSwap({
|
|
284
296
|
routeSummary: metadata.routeSummary,
|
|
285
297
|
sender: params.address,
|
|
286
298
|
recipient,
|
|
@@ -3,60 +3,90 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.
|
|
6
|
+
exports.SimpleSwapHandler = void 0;
|
|
7
7
|
var _SwapError = require("@subwallet/extension-base/background/errors/SwapError");
|
|
8
8
|
var _TransactionError = require("@subwallet/extension-base/background/errors/TransactionError");
|
|
9
9
|
var _KoniTypes = require("@subwallet/extension-base/background/KoniTypes");
|
|
10
10
|
var _utils = require("@subwallet/extension-base/services/chain-service/utils");
|
|
11
11
|
var _types = require("@subwallet/extension-base/types");
|
|
12
|
+
var _environment = require("@subwallet/extension-base/types/environment");
|
|
12
13
|
var _utils2 = require("@subwallet/extension-base/utils");
|
|
13
14
|
var _getId = require("@subwallet/extension-base/utils/getId");
|
|
14
15
|
var _bignumber = _interopRequireWildcard(require("bignumber.js"));
|
|
15
16
|
var _smartContract = require("../../balance-service/transfer/smart-contract");
|
|
16
17
|
var _token = require("../../balance-service/transfer/token");
|
|
17
|
-
var _utils3 = require("../utils");
|
|
18
18
|
var _baseHandler = require("./base-handler");
|
|
19
19
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
20
20
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
21
21
|
// Copyright 2019-2022 @subwallet/extension-base
|
|
22
22
|
// SPDX-License-Identifier: Apache-2.0
|
|
23
23
|
|
|
24
|
-
const apiUrl = 'https://api.simpleswap.io';
|
|
25
|
-
const simpleSwapApiKey = process.env.SIMPLE_SWAP_API_KEY || '';
|
|
26
|
-
exports.simpleSwapApiKey = simpleSwapApiKey;
|
|
27
24
|
const toBNString = (input, decimal) => {
|
|
28
25
|
const raw = new _bignumber.BigNumber(input);
|
|
29
26
|
return raw.shiftedBy(decimal).integerValue(_bignumber.BigNumber.ROUND_CEIL).toFixed();
|
|
30
27
|
};
|
|
31
|
-
const
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
28
|
+
const buildTxForSimpleSwap = async params => {
|
|
29
|
+
try {
|
|
30
|
+
const {
|
|
31
|
+
fromAmount,
|
|
32
|
+
fromAsset,
|
|
33
|
+
fromSymbol,
|
|
34
|
+
metadata,
|
|
35
|
+
receiver,
|
|
36
|
+
sender,
|
|
37
|
+
toAsset,
|
|
38
|
+
toSymbol
|
|
39
|
+
} = params;
|
|
40
|
+
const fromDecimals = (0, _utils._getAssetDecimals)(fromAsset);
|
|
41
|
+
const toDecimals = (0, _utils._getAssetDecimals)(toAsset);
|
|
42
|
+
const formattedAmount = (0, _utils2.formatNumber)(fromAmount, fromDecimals, s => s);
|
|
43
|
+
const requestBody = {
|
|
44
|
+
fixed: false,
|
|
45
|
+
tickerFrom: fromSymbol,
|
|
46
|
+
tickerTo: toSymbol,
|
|
47
|
+
amount: formattedAmount,
|
|
48
|
+
networkFrom: metadata.fromChainSymbol,
|
|
49
|
+
networkTo: metadata.toChainSymbol,
|
|
50
|
+
addressTo: receiver,
|
|
51
|
+
extraIdTo: '',
|
|
52
|
+
userRefundAddress: sender,
|
|
53
|
+
userRefundExtraId: ''
|
|
54
|
+
};
|
|
55
|
+
const response = await (0, _utils2.fetchFromProxyService)(_environment.ProxyServiceRoute.SIMPLESWAP, '/exchanges', {
|
|
56
|
+
method: 'POST',
|
|
57
|
+
headers: {
|
|
58
|
+
'Content-Type': 'application/json',
|
|
59
|
+
accept: 'application/json'
|
|
60
|
+
},
|
|
61
|
+
body: JSON.stringify(requestBody)
|
|
62
|
+
});
|
|
63
|
+
if (!response.ok) {
|
|
64
|
+
const errorText = await response.text();
|
|
65
|
+
return {
|
|
66
|
+
error: new _TransactionError.TransactionError(_types.BasicTxErrorType.INTERNAL_ERROR, `Unable to create simpleswap transaction: ${errorText}`)
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
const depositAddressResponse = await response.json();
|
|
70
|
+
const result = depositAddressResponse.result;
|
|
71
|
+
console.log('simpleswapID', result.id);
|
|
72
|
+
if (!(result !== null && result !== void 0 && result.id) || !result.addressFrom || !result.amountTo) {
|
|
73
|
+
return {
|
|
74
|
+
error: new _TransactionError.TransactionError(_types.BasicTxErrorType.INTERNAL_ERROR)
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
return {
|
|
78
|
+
data: {
|
|
79
|
+
id: result.id,
|
|
80
|
+
addressFrom: result.addressFrom,
|
|
81
|
+
amountTo: toBNString(result.amountTo, toDecimals)
|
|
82
|
+
}
|
|
83
|
+
};
|
|
84
|
+
} catch (err) {
|
|
85
|
+
console.error('Error:', err);
|
|
86
|
+
return {
|
|
87
|
+
error: new _TransactionError.TransactionError(_types.BasicTxErrorType.INTERNAL_ERROR)
|
|
88
|
+
};
|
|
89
|
+
}
|
|
60
90
|
};
|
|
61
91
|
class SimpleSwapHandler {
|
|
62
92
|
constructor(chainService, balanceService, feeService) {
|
|
@@ -140,25 +170,31 @@ class SimpleSwapHandler {
|
|
|
140
170
|
const chainType = (0, _utils._isChainSubstrateCompatible)(chainInfo) ? _KoniTypes.ChainType.SUBSTRATE : _KoniTypes.ChainType.EVM;
|
|
141
171
|
const sender = (0, _utils2._reformatAddressWithChain)(address, chainInfo);
|
|
142
172
|
const receiver = (0, _utils2._reformatAddressWithChain)(recipient !== null && recipient !== void 0 ? recipient : sender, toChainInfo);
|
|
143
|
-
const fromSymbol =
|
|
144
|
-
const toSymbol =
|
|
173
|
+
const fromSymbol = (0, _utils._getAssetSymbol)(fromAsset).toLowerCase();
|
|
174
|
+
const toSymbol = (0, _utils._getAssetSymbol)(toAsset).toLowerCase();
|
|
175
|
+
const metadata = quote.metadata;
|
|
145
176
|
const {
|
|
146
177
|
fromAmount
|
|
147
178
|
} = quote;
|
|
148
|
-
const {
|
|
149
|
-
addressFrom,
|
|
150
|
-
amountTo,
|
|
151
|
-
id
|
|
152
|
-
} = await createSwapRequest({
|
|
179
|
+
const result = await buildTxForSimpleSwap({
|
|
153
180
|
fromSymbol,
|
|
154
181
|
toSymbol,
|
|
155
182
|
fromAmount,
|
|
156
183
|
fromAsset,
|
|
157
184
|
receiver,
|
|
158
185
|
sender,
|
|
159
|
-
toAsset
|
|
186
|
+
toAsset,
|
|
187
|
+
metadata
|
|
160
188
|
});
|
|
161
|
-
|
|
189
|
+
if (result.error) {
|
|
190
|
+
console.error('Simple swap error:', result.error);
|
|
191
|
+
throw result.error;
|
|
192
|
+
}
|
|
193
|
+
const {
|
|
194
|
+
addressFrom,
|
|
195
|
+
amountTo,
|
|
196
|
+
id
|
|
197
|
+
} = result.data;
|
|
162
198
|
if (!id || id.length === 0 || !addressFrom || addressFrom.length === 0) {
|
|
163
199
|
throw new _SwapError.SwapError(_types.SwapErrorType.UNKNOWN);
|
|
164
200
|
}
|
|
@@ -13,6 +13,7 @@ var _xcm = require("@subwallet/extension-base/services/balance-service/transfer/
|
|
|
13
13
|
var _acrossBridge = require("@subwallet/extension-base/services/balance-service/transfer/xcm/acrossBridge");
|
|
14
14
|
var _utils = require("@subwallet/extension-base/services/swap-service/utils");
|
|
15
15
|
var _types = require("@subwallet/extension-base/types");
|
|
16
|
+
var _environment = require("@subwallet/extension-base/types/environment");
|
|
16
17
|
var _utils2 = require("@subwallet/extension-base/utils");
|
|
17
18
|
var _getId = require("@subwallet/extension-base/utils/getId");
|
|
18
19
|
var _bignumber = _interopRequireDefault(require("bignumber.js"));
|
|
@@ -22,10 +23,6 @@ var _baseHandler = require("./base-handler");
|
|
|
22
23
|
// Copyright 2019-2022 @subwallet/extension-base
|
|
23
24
|
// SPDX-License-Identifier: Apache-2.0
|
|
24
25
|
|
|
25
|
-
const API_URL = 'https://trade-api.gateway.uniswap.org/v1';
|
|
26
|
-
const headers = {
|
|
27
|
-
'x-api-key': process.env.UNISWAP_API_KEY || ''
|
|
28
|
-
};
|
|
29
26
|
async function fetchCheckApproval(request) {
|
|
30
27
|
const {
|
|
31
28
|
address,
|
|
@@ -56,10 +53,9 @@ async function fetchCheckApproval(request) {
|
|
|
56
53
|
} else {
|
|
57
54
|
return undefined;
|
|
58
55
|
}
|
|
59
|
-
const response = await
|
|
56
|
+
const response = await (0, _utils2.fetchFromProxyService)(_environment.ProxyServiceRoute.UNISWAP, '/check_approval', {
|
|
60
57
|
method: 'POST',
|
|
61
58
|
headers: {
|
|
62
|
-
...headers,
|
|
63
59
|
'Content-Type': 'application/json'
|
|
64
60
|
},
|
|
65
61
|
body: JSON.stringify({
|
|
@@ -624,10 +620,9 @@ class UniswapHandler {
|
|
|
624
620
|
if (permitData) {
|
|
625
621
|
body.permitData = permitData;
|
|
626
622
|
}
|
|
627
|
-
postTransactionResponse = await
|
|
623
|
+
postTransactionResponse = await (0, _utils2.fetchFromProxyService)(_environment.ProxyServiceRoute.UNISWAP, '/swap', {
|
|
628
624
|
method: 'POST',
|
|
629
625
|
headers: {
|
|
630
|
-
...headers,
|
|
631
626
|
'Content-Type': 'application/json'
|
|
632
627
|
},
|
|
633
628
|
body: JSON.stringify(body)
|
|
@@ -638,10 +633,9 @@ class UniswapHandler {
|
|
|
638
633
|
const dutchQuote = quote;
|
|
639
634
|
const submitSwapOrder = async () => {
|
|
640
635
|
try {
|
|
641
|
-
const res = await
|
|
636
|
+
const res = await (0, _utils2.fetchFromProxyService)(_environment.ProxyServiceRoute.UNISWAP, '/order', {
|
|
642
637
|
method: 'POST',
|
|
643
638
|
headers: {
|
|
644
|
-
...headers,
|
|
645
639
|
'Content-Type': 'application/json'
|
|
646
640
|
},
|
|
647
641
|
body: JSON.stringify({
|
|
@@ -682,10 +676,9 @@ class UniswapHandler {
|
|
|
682
676
|
const swapper = dutchQuote.orderInfo.swapper;
|
|
683
677
|
return retryGetUniswapTx(async () => {
|
|
684
678
|
try {
|
|
685
|
-
const response = await
|
|
679
|
+
const response = await (0, _utils2.fetchFromProxyService)(_environment.ProxyServiceRoute.UNISWAP, `/orders?orderId=${orderId}&swapper=${swapper}`, {
|
|
686
680
|
method: 'GET',
|
|
687
681
|
headers: {
|
|
688
|
-
...headers,
|
|
689
682
|
'Content-Type': 'application/json'
|
|
690
683
|
}
|
|
691
684
|
});
|
|
@@ -13,9 +13,6 @@ exports.findSwapTransitDestination = findSwapTransitDestination;
|
|
|
13
13
|
exports.getAmountAfterSlippage = getAmountAfterSlippage;
|
|
14
14
|
exports.getBridgeStep = getBridgeStep;
|
|
15
15
|
exports.getChainRouteFromSteps = getChainRouteFromSteps;
|
|
16
|
-
exports.getChainflipBroker = getChainflipBroker;
|
|
17
|
-
exports.getChainflipOptions = getChainflipOptions;
|
|
18
|
-
exports.getChainflipSwap = getChainflipSwap;
|
|
19
16
|
exports.getFirstAmountFromSteps = getFirstAmountFromSteps;
|
|
20
17
|
exports.getLastAmountFromSteps = getLastAmountFromSteps;
|
|
21
18
|
exports.getSupportedSwapChains = getSupportedSwapChains;
|
|
@@ -29,7 +26,6 @@ exports.processStepsToPathActions = processStepsToPathActions;
|
|
|
29
26
|
var _chainList = require("@subwallet/chain-list");
|
|
30
27
|
var _types = require("@subwallet/chain-list/types");
|
|
31
28
|
var _utils = require("@subwallet/extension-base/services/chain-service/utils");
|
|
32
|
-
var _chainflipHandler = require("@subwallet/extension-base/services/swap-service/handler/chainflip-handler");
|
|
33
29
|
var _types2 = require("@subwallet/extension-base/types");
|
|
34
30
|
var _swap = require("@subwallet/extension-base/types/swap");
|
|
35
31
|
var _bignumber = _interopRequireDefault(require("bignumber.js"));
|
|
@@ -41,6 +37,8 @@ exports.CHAIN_FLIP_TESTNET_EXPLORER = CHAIN_FLIP_TESTNET_EXPLORER;
|
|
|
41
37
|
const CHAIN_FLIP_MAINNET_EXPLORER = 'https://scan.chainflip.io';
|
|
42
38
|
exports.CHAIN_FLIP_MAINNET_EXPLORER = CHAIN_FLIP_MAINNET_EXPLORER;
|
|
43
39
|
const SIMPLE_SWAP_EXPLORER = 'https://simpleswap.io';
|
|
40
|
+
|
|
41
|
+
// Deprecated
|
|
44
42
|
exports.SIMPLE_SWAP_EXPLORER = SIMPLE_SWAP_EXPLORER;
|
|
45
43
|
const SIMPLE_SWAP_SUPPORTED_TESTNET_ASSET_MAPPING = {
|
|
46
44
|
'bittensor-NATIVE-TAO': 'tao',
|
|
@@ -103,39 +101,52 @@ function convertSwapRate(rate, fromAsset, toAsset) {
|
|
|
103
101
|
const bnRate = (0, _bignumber.default)(rate);
|
|
104
102
|
return bnRate.times(10 ** decimalDiff).pow(-1).toNumber();
|
|
105
103
|
}
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
function
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
}
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
}
|
|
104
|
+
|
|
105
|
+
// export function getChainflipOptions (isTestnet: boolean) {
|
|
106
|
+
// if (isTestnet) {
|
|
107
|
+
// return {
|
|
108
|
+
// network: getChainflipNetwork(isTestnet)
|
|
109
|
+
// };
|
|
110
|
+
// }
|
|
111
|
+
|
|
112
|
+
// return {
|
|
113
|
+
// network: getChainflipNetwork(isTestnet),
|
|
114
|
+
// broker: getChainflipBroker(isTestnet)
|
|
115
|
+
// };
|
|
116
|
+
// }
|
|
117
|
+
|
|
118
|
+
// function getChainflipNetwork (isTestnet: boolean) {
|
|
119
|
+
// return isTestnet ? 'perseverance' : 'mainnet';
|
|
120
|
+
// }
|
|
121
|
+
|
|
122
|
+
// export function getChainflipBroker (isTestnet: boolean) { // noted: currently not use testnet broker
|
|
123
|
+
// if (isTestnet) {
|
|
124
|
+
// return {
|
|
125
|
+
// url: `https://perseverance.chainflip-broker.io/rpc/${CHAINFLIP_BROKER_API}`
|
|
126
|
+
// };
|
|
127
|
+
// } else {
|
|
128
|
+
// return {
|
|
129
|
+
// url: `https://chainflip-broker.io/rpc/${CHAINFLIP_BROKER_API}`
|
|
130
|
+
// };
|
|
131
|
+
// }
|
|
132
|
+
// }
|
|
133
|
+
|
|
134
|
+
// export function getChainflipSwap (isTestnet: boolean) {
|
|
135
|
+
// if (isTestnet) {
|
|
136
|
+
// return `https://perseverance.chainflip-broker.io/swap?apikey=${CHAINFLIP_BROKER_API}`;
|
|
137
|
+
// } else {
|
|
138
|
+
// return `https://chainflip-broker.io/swap?apikey=${CHAINFLIP_BROKER_API}`;
|
|
139
|
+
// }
|
|
140
|
+
// }
|
|
141
|
+
|
|
142
|
+
// export function getAssetsUrl (isTestnet: boolean) {
|
|
143
|
+
// if (isTestnet) {
|
|
144
|
+
// return 'https://perseverance.chainflip-broker.io/assets';
|
|
145
|
+
// } else {
|
|
146
|
+
// return 'https://chainflip-broker.io/assets';
|
|
147
|
+
// }
|
|
148
|
+
// }
|
|
149
|
+
|
|
139
150
|
function getBridgeStep(from, to) {
|
|
140
151
|
return {
|
|
141
152
|
action: _types2.DynamicSwapType.BRIDGE,
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.ProxyServiceRoute = void 0;
|
|
7
|
+
// Copyright 2019-2022 @subwallet/extension-base authors & contributors
|
|
8
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
9
|
+
let ProxyServiceRoute;
|
|
10
|
+
exports.ProxyServiceRoute = ProxyServiceRoute;
|
|
11
|
+
(function (ProxyServiceRoute) {
|
|
12
|
+
ProxyServiceRoute["BITTENSOR"] = "/bittensor";
|
|
13
|
+
ProxyServiceRoute["CHAINFLIP"] = "/chainflip";
|
|
14
|
+
ProxyServiceRoute["KYBER"] = "/kyber";
|
|
15
|
+
ProxyServiceRoute["SIMPLESWAP"] = "/simpleswap";
|
|
16
|
+
ProxyServiceRoute["UNISWAP"] = "/uniswap";
|
|
17
|
+
ProxyServiceRoute["CARDANO"] = "/cardano";
|
|
18
|
+
ProxyServiceRoute["PARASPELL"] = "/paraspell";
|
|
19
|
+
})(ProxyServiceRoute || (exports.ProxyServiceRoute = ProxyServiceRoute = {}));
|
package/cjs/utils/environment.js
CHANGED
|
@@ -4,10 +4,13 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
-
exports.
|
|
7
|
+
exports.browserVersion = exports.browserName = exports.TARGET_ENV = exports.RuntimeInfo = exports.MODULE_SUPPORT = exports.BowserParser = void 0;
|
|
8
|
+
exports.fetchFromProxyService = fetchFromProxyService;
|
|
9
|
+
exports.targetIsWeb = exports.targetIsMobile = exports.targetIsExtension = exports.platformType = exports.platformModel = exports.osVersion = exports.osName = exports.isMobile = exports.isFirefox = exports.isBrave = void 0;
|
|
8
10
|
var _mv = require("@subwallet/extension-base/utils/mv3");
|
|
9
11
|
var _bowser = _interopRequireDefault(require("bowser"));
|
|
10
12
|
var _KoniTypes = require("../background/KoniTypes");
|
|
13
|
+
var _constants = require("../constants");
|
|
11
14
|
var _navigator3;
|
|
12
15
|
function detectRuntimeEnvironment() {
|
|
13
16
|
if (_mv.isSupportWindow && typeof document !== 'undefined') {
|
|
@@ -104,4 +107,29 @@ exports.targetIsMobile = targetIsMobile;
|
|
|
104
107
|
const MODULE_SUPPORT = {
|
|
105
108
|
MANTA_ZK: false
|
|
106
109
|
};
|
|
107
|
-
exports.MODULE_SUPPORT = MODULE_SUPPORT;
|
|
110
|
+
exports.MODULE_SUPPORT = MODULE_SUPPORT;
|
|
111
|
+
var HEADERS;
|
|
112
|
+
(function (HEADERS) {
|
|
113
|
+
HEADERS["PLATFORM"] = "Platform";
|
|
114
|
+
})(HEADERS || (HEADERS = {}));
|
|
115
|
+
function formatExternalServiceApi(url, isTestnet) {
|
|
116
|
+
if (isTestnet === true) {
|
|
117
|
+
return `${url}/testnet`;
|
|
118
|
+
}
|
|
119
|
+
if (isTestnet === false) {
|
|
120
|
+
return `${url}/mainnet`;
|
|
121
|
+
}
|
|
122
|
+
return url;
|
|
123
|
+
}
|
|
124
|
+
async function fetchFromProxyService(service, path, options, isTestnet) {
|
|
125
|
+
const baseUrl = formatExternalServiceApi(`${_constants.SW_EXTERNAL_SERVICES_API}${service}`, isTestnet);
|
|
126
|
+
const url = `${baseUrl}${path}`;
|
|
127
|
+
const headers = {
|
|
128
|
+
[HEADERS.PLATFORM]: TARGET_ENV,
|
|
129
|
+
...(options.headers || {})
|
|
130
|
+
};
|
|
131
|
+
return fetch(url, {
|
|
132
|
+
...options,
|
|
133
|
+
headers
|
|
134
|
+
});
|
|
135
|
+
}
|