@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.
Files changed (55) hide show
  1. package/cjs/constants/environment.js +4 -2
  2. package/cjs/koni/background/handlers/Extension.js +114 -105
  3. package/cjs/packageInfo.js +1 -1
  4. package/cjs/services/balance-service/helpers/subscribe/evm.js +6 -1
  5. package/cjs/services/balance-service/transfer/xcm/index.js +26 -29
  6. package/cjs/services/balance-service/transfer/xcm/utils.js +52 -56
  7. package/cjs/services/chain-service/constants.js +6 -5
  8. package/cjs/services/chain-service/handler/CardanoApi.js +25 -35
  9. package/cjs/services/chain-service/index.js +4 -0
  10. package/cjs/services/chain-service/utils/patch.js +1 -1
  11. package/cjs/services/earning-service/handlers/native-staking/tao.js +4 -38
  12. package/cjs/services/earning-service/handlers/special.js +28 -36
  13. package/cjs/services/swap-service/handler/base-handler.js +58 -53
  14. package/cjs/services/swap-service/handler/chainflip-handler.js +29 -18
  15. package/cjs/services/swap-service/handler/kyber-handler.js +46 -34
  16. package/cjs/services/swap-service/handler/simpleswap-handler.js +79 -43
  17. package/cjs/services/swap-service/handler/uniswap-handler.js +5 -12
  18. package/cjs/services/swap-service/utils.js +48 -37
  19. package/cjs/types/environment.js +19 -0
  20. package/cjs/utils/environment.js +30 -2
  21. package/cjs/utils/fee/transfer.js +41 -33
  22. package/constants/environment.d.ts +1 -0
  23. package/constants/environment.js +2 -1
  24. package/koni/background/handlers/Extension.js +52 -43
  25. package/package.json +12 -7
  26. package/packageInfo.js +1 -1
  27. package/services/balance-service/helpers/subscribe/evm.js +6 -1
  28. package/services/balance-service/transfer/xcm/index.d.ts +1 -2
  29. package/services/balance-service/transfer/xcm/index.js +23 -26
  30. package/services/balance-service/transfer/xcm/utils.d.ts +38 -6
  31. package/services/balance-service/transfer/xcm/utils.js +51 -55
  32. package/services/chain-service/constants.d.ts +1 -0
  33. package/services/chain-service/constants.js +6 -5
  34. package/services/chain-service/handler/CardanoApi.d.ts +1 -5
  35. package/services/chain-service/handler/CardanoApi.js +26 -34
  36. package/services/chain-service/index.js +4 -0
  37. package/services/chain-service/utils/patch.js +1 -1
  38. package/services/earning-service/handlers/native-staking/tao.d.ts +0 -11
  39. package/services/earning-service/handlers/native-staking/tao.js +4 -24
  40. package/services/earning-service/handlers/special.js +12 -20
  41. package/services/swap-service/handler/base-handler.js +11 -6
  42. package/services/swap-service/handler/chainflip-handler.d.ts +0 -2
  43. package/services/swap-service/handler/chainflip-handler.js +25 -13
  44. package/services/swap-service/handler/kyber-handler.d.ts +0 -1
  45. package/services/swap-service/handler/kyber-handler.js +46 -33
  46. package/services/swap-service/handler/simpleswap-handler.d.ts +0 -1
  47. package/services/swap-service/handler/simpleswap-handler.js +80 -43
  48. package/services/swap-service/handler/uniswap-handler.js +6 -13
  49. package/services/swap-service/utils.d.ts +0 -13
  50. package/services/swap-service/utils.js +48 -34
  51. package/types/environment.d.ts +9 -0
  52. package/types/environment.js +13 -0
  53. package/utils/environment.d.ts +2 -0
  54. package/utils/environment.js +27 -1
  55. 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 = exports.KYBER_CLIENT_ID = void 0;
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
- const KYBER_CLIENT_ID = process.env.KYBER_CLIENT_ID || '';
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
- const queryParams = new URLSearchParams({
34
- tokenIn: routeSummary.tokenIn,
35
- tokenOut: routeSummary.tokenOut,
36
- amountIn: routeSummary.amountIn,
37
- gasInclude: 'true'
38
- });
39
- const url = `${kyberUrl}/${chain}/api/v1/routes?${queryParams.toString()}`;
40
- try {
41
- var _routeData$data;
42
- const res = await fetch(url, {
43
- method: 'GET',
44
- headers: {
45
- 'Content-Type': 'application/json',
46
- 'x-client-id': KYBER_CLIENT_ID,
47
- accept: 'application/json'
48
- }
49
- });
50
- const routeData = await res.json();
51
- if (!routeData.success || !((_routeData$data = routeData.data) !== null && _routeData$data !== void 0 && _routeData$data.routeSummary)) {
52
- return {
53
- error: new _TransactionError.TransactionError(_types.BasicTxErrorType.INTERNAL_ERROR, routeData.message)
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
- routeSummary = routeData.data.routeSummary;
57
- } catch (error) {
58
- console.error('Error:', error);
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 fetch(`${kyberUrl}/${chain}/api/v1/route/build`, {
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 buildTxForSwap({
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.simpleSwapApiKey = exports.SimpleSwapHandler = void 0;
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 createSwapRequest = async params => {
32
- const fromDecimals = (0, _utils._getAssetDecimals)(params.fromAsset);
33
- const toDecimals = (0, _utils._getAssetDecimals)(params.toAsset);
34
- const formatedAmount = (0, _utils2.formatNumber)(params.fromAmount, fromDecimals, s => s);
35
- const requestBody = {
36
- fixed: false,
37
- currency_from: params.fromSymbol,
38
- currency_to: params.toSymbol,
39
- amount: formatedAmount,
40
- // Convert to small number due to require of api
41
- address_to: params.receiver,
42
- extra_id_to: '',
43
- user_refund_address: params.sender,
44
- user_refund_extra_id: ''
45
- };
46
- const response = await fetch(`${apiUrl}/create_exchange?api_key=${simpleSwapApiKey}`, {
47
- method: 'POST',
48
- headers: {
49
- 'Content-Type': 'application/json',
50
- Accept: 'application/json'
51
- },
52
- body: JSON.stringify(requestBody)
53
- });
54
- const depositAddressResponse = await response.json();
55
- return {
56
- id: depositAddressResponse.id,
57
- addressFrom: depositAddressResponse.address_from,
58
- amountTo: toBNString(depositAddressResponse.amount_to, toDecimals)
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 = _utils3.SIMPLE_SWAP_SUPPORTED_TESTNET_ASSET_MAPPING[fromAsset.slug];
144
- const toSymbol = _utils3.SIMPLE_SWAP_SUPPORTED_TESTNET_ASSET_MAPPING[toAsset.slug];
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
- console.log('simpleswap data', id, addressFrom);
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 fetch(`${API_URL}/check_approval`, {
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 fetch(`${API_URL}/swap`, {
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 fetch(`${API_URL}/order`, {
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 fetch(`${API_URL}/orders?orderId=${orderId}&swapper=${swapper}`, {
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
- function getChainflipOptions(isTestnet) {
107
- if (isTestnet) {
108
- return {
109
- network: getChainflipNetwork(isTestnet)
110
- };
111
- }
112
- return {
113
- network: getChainflipNetwork(isTestnet),
114
- broker: getChainflipBroker(isTestnet)
115
- };
116
- }
117
- function getChainflipNetwork(isTestnet) {
118
- return isTestnet ? 'perseverance' : 'mainnet';
119
- }
120
- function getChainflipBroker(isTestnet) {
121
- // noted: currently not use testnet broker
122
- if (isTestnet) {
123
- return {
124
- url: `https://perseverance.chainflip-broker.io/rpc/${_chainflipHandler.CHAINFLIP_BROKER_API}`
125
- };
126
- } else {
127
- return {
128
- url: `https://chainflip-broker.io/rpc/${_chainflipHandler.CHAINFLIP_BROKER_API}`
129
- };
130
- }
131
- }
132
- function getChainflipSwap(isTestnet) {
133
- if (isTestnet) {
134
- return `https://perseverance.chainflip-broker.io/swap?apikey=${_chainflipHandler.CHAINFLIP_BROKER_API}`;
135
- } else {
136
- return `https://chainflip-broker.io/swap?apikey=${_chainflipHandler.CHAINFLIP_BROKER_API}`;
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 = {}));
@@ -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.targetIsWeb = exports.targetIsMobile = exports.targetIsExtension = exports.platformType = exports.platformModel = exports.osVersion = exports.osName = exports.isMobile = exports.isFirefox = exports.isBrave = exports.browserVersion = exports.browserName = exports.TARGET_ENV = exports.RuntimeInfo = exports.MODULE_SUPPORT = exports.BowserParser = void 0;
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
+ }