@subwallet/extension-base 1.3.31-1 → 1.3.33-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 (140) hide show
  1. package/background/KoniTypes.d.ts +94 -3
  2. package/background/KoniTypes.js +14 -0
  3. package/background/errors/CardanoProviderError.d.ts +6 -0
  4. package/background/errors/CardanoProviderError.js +61 -0
  5. package/background/types.d.ts +2 -2
  6. package/cjs/background/KoniTypes.js +16 -1
  7. package/cjs/background/errors/CardanoProviderError.js +67 -0
  8. package/cjs/constants/environment.js +4 -2
  9. package/cjs/constants/index.js +4 -1
  10. package/cjs/core/logic-validation/request.js +50 -3
  11. package/cjs/koni/api/contract-handler/evm/web3.js +21 -0
  12. package/cjs/koni/api/staking/bonding/utils.js +24 -3
  13. package/cjs/koni/background/handlers/Extension.js +141 -107
  14. package/cjs/koni/background/handlers/State.js +232 -6
  15. package/cjs/koni/background/handlers/Tabs.js +277 -55
  16. package/cjs/packageInfo.js +1 -1
  17. package/cjs/page/cardano/cips/cip30.js +63 -0
  18. package/cjs/page/cardano/cips/index.js +20 -0
  19. package/cjs/page/cardano/index.js +41 -0
  20. package/cjs/page/{SubWalleEvmProvider.js → evm/index.js} +2 -2
  21. package/cjs/page/index.js +9 -4
  22. package/cjs/services/balance-service/transfer/xcm/acrossBridge/index.js +6 -2
  23. package/cjs/services/balance-service/transfer/xcm/index.js +2 -0
  24. package/cjs/services/chain-service/handler/CardanoApi.js +33 -0
  25. package/cjs/services/chain-service/index.js +31 -0
  26. package/cjs/services/chain-service/utils/patch.js +1 -1
  27. package/cjs/services/earning-service/handlers/liquid-staking/stella-swap.js +3 -3
  28. package/cjs/services/earning-service/handlers/native-staking/dtao.js +2 -2
  29. package/cjs/services/earning-service/handlers/native-staking/mythos.js +42 -8
  30. package/cjs/services/earning-service/handlers/native-staking/relay-chain.js +1 -1
  31. package/cjs/services/earning-service/handlers/native-staking/tao.js +13 -13
  32. package/cjs/services/earning-service/handlers/nomination-pool/index.js +1 -1
  33. package/cjs/services/migration-service/scripts/MigrateAuthUrls.js +1 -1
  34. package/cjs/services/price-service/coingecko.js +22 -3
  35. package/cjs/services/price-service/index.js +75 -2
  36. package/cjs/services/request-service/constants.js +3 -1
  37. package/cjs/services/request-service/handler/AuthRequestHandler.js +38 -5
  38. package/cjs/services/request-service/handler/CardanoRequestHandler.js +45 -3
  39. package/cjs/services/request-service/helper/index.js +419 -1
  40. package/cjs/services/swap-service/handler/asset-hub/handler.js +1 -1
  41. package/cjs/services/swap-service/handler/base-handler.js +81 -21
  42. package/cjs/services/swap-service/handler/hydradx-handler.js +1 -1
  43. package/cjs/services/swap-service/handler/uniswap-handler.js +274 -45
  44. package/cjs/services/swap-service/index.js +33 -11
  45. package/cjs/services/swap-service/utils.js +15 -2
  46. package/cjs/utils/auth.js +2 -1
  47. package/cjs/utils/cardano.js +20 -0
  48. package/cjs/utils/index.js +16 -4
  49. package/cjs/utils/price.js +28 -0
  50. package/constants/environment.d.ts +1 -0
  51. package/constants/environment.js +2 -1
  52. package/constants/index.d.ts +1 -0
  53. package/constants/index.js +1 -0
  54. package/core/logic-validation/request.d.ts +6 -2
  55. package/core/logic-validation/request.js +51 -5
  56. package/koni/api/contract-handler/evm/web3.d.ts +2 -0
  57. package/koni/api/contract-handler/evm/web3.js +19 -0
  58. package/koni/api/staking/bonding/utils.d.ts +2 -1
  59. package/koni/api/staking/bonding/utils.js +23 -3
  60. package/koni/background/handlers/Extension.d.ts +2 -0
  61. package/koni/background/handlers/Extension.js +32 -2
  62. package/koni/background/handlers/State.d.ts +6 -1
  63. package/koni/background/handlers/State.js +228 -6
  64. package/koni/background/handlers/Tabs.d.ts +11 -1
  65. package/koni/background/handlers/Tabs.js +242 -19
  66. package/package.json +67 -42
  67. package/packageInfo.js +1 -1
  68. package/page/cardano/cips/cip30.d.ts +22 -0
  69. package/page/cardano/cips/cip30.js +55 -0
  70. package/page/cardano/cips/index.d.ts +3 -0
  71. package/page/cardano/cips/index.js +7 -0
  72. package/page/cardano/index.d.ts +13 -0
  73. package/page/cardano/index.js +34 -0
  74. package/page/{SubWalleEvmProvider.d.ts → evm/index.d.ts} +3 -2
  75. package/page/{SubWalleEvmProvider.js → evm/index.js} +1 -1
  76. package/page/index.d.ts +3 -2
  77. package/page/index.js +6 -2
  78. package/page/{Accounts.d.ts → substrate/Accounts.d.ts} +1 -1
  79. package/page/{Metadata.d.ts → substrate/Metadata.d.ts} +1 -1
  80. package/page/{PostMessageProvider.d.ts → substrate/PostMessageProvider.d.ts} +1 -1
  81. package/page/{Signer.d.ts → substrate/Signer.d.ts} +1 -1
  82. package/page/{Injected.d.ts → substrate/index.d.ts} +1 -1
  83. package/services/balance-service/helpers/subscribe/cardano/types.d.ts +14 -0
  84. package/services/balance-service/transfer/xcm/acrossBridge/index.d.ts +4 -0
  85. package/services/balance-service/transfer/xcm/acrossBridge/index.js +4 -1
  86. package/services/balance-service/transfer/xcm/index.js +2 -0
  87. package/services/chain-service/handler/CardanoApi.d.ts +3 -1
  88. package/services/chain-service/handler/CardanoApi.js +33 -0
  89. package/services/chain-service/index.d.ts +5 -1
  90. package/services/chain-service/index.js +32 -1
  91. package/services/chain-service/utils/patch.js +1 -1
  92. package/services/earning-service/handlers/liquid-staking/stella-swap.js +3 -3
  93. package/services/earning-service/handlers/native-staking/dtao.js +2 -2
  94. package/services/earning-service/handlers/native-staking/mythos.js +42 -8
  95. package/services/earning-service/handlers/native-staking/relay-chain.js +1 -1
  96. package/services/earning-service/handlers/native-staking/tao.js +14 -14
  97. package/services/earning-service/handlers/nomination-pool/index.js +1 -1
  98. package/services/migration-service/scripts/MigrateAuthUrls.js +1 -1
  99. package/services/price-service/coingecko.d.ts +2 -1
  100. package/services/price-service/coingecko.js +19 -1
  101. package/services/price-service/index.d.ts +11 -1
  102. package/services/price-service/index.js +78 -5
  103. package/services/request-service/constants.js +3 -1
  104. package/services/request-service/handler/AuthRequestHandler.js +40 -7
  105. package/services/request-service/handler/CardanoRequestHandler.d.ts +2 -0
  106. package/services/request-service/handler/CardanoRequestHandler.js +45 -3
  107. package/services/request-service/helper/index.d.ts +54 -0
  108. package/services/request-service/helper/index.js +406 -1
  109. package/services/request-service/types.d.ts +3 -1
  110. package/services/swap-service/handler/asset-hub/handler.js +1 -1
  111. package/services/swap-service/handler/base-handler.d.ts +3 -1
  112. package/services/swap-service/handler/base-handler.js +82 -22
  113. package/services/swap-service/handler/hydradx-handler.js +1 -1
  114. package/services/swap-service/handler/uniswap-handler.d.ts +5 -0
  115. package/services/swap-service/handler/uniswap-handler.js +275 -46
  116. package/services/swap-service/index.js +34 -12
  117. package/services/swap-service/utils.d.ts +3 -2
  118. package/services/swap-service/utils.js +13 -1
  119. package/types/swap/index.d.ts +1 -0
  120. package/types/transaction/process.d.ts +2 -0
  121. package/utils/auth.js +3 -2
  122. package/utils/cardano.d.ts +2 -0
  123. package/utils/cardano.js +12 -0
  124. package/utils/index.d.ts +2 -1
  125. package/utils/index.js +2 -1
  126. package/utils/price.d.ts +3 -0
  127. package/utils/price.js +20 -0
  128. package/cjs/utils/canDerive.js +0 -12
  129. package/utils/canDerive.d.ts +0 -2
  130. package/utils/canDerive.js +0 -6
  131. /package/cjs/page/{Accounts.js → substrate/Accounts.js} +0 -0
  132. /package/cjs/page/{Metadata.js → substrate/Metadata.js} +0 -0
  133. /package/cjs/page/{PostMessageProvider.js → substrate/PostMessageProvider.js} +0 -0
  134. /package/cjs/page/{Signer.js → substrate/Signer.js} +0 -0
  135. /package/cjs/page/{Injected.js → substrate/index.js} +0 -0
  136. /package/page/{Accounts.js → substrate/Accounts.js} +0 -0
  137. /package/page/{Metadata.js → substrate/Metadata.js} +0 -0
  138. /package/page/{PostMessageProvider.js → substrate/PostMessageProvider.js} +0 -0
  139. /package/page/{Signer.js → substrate/Signer.js} +0 -0
  140. /package/page/{Injected.js → substrate/index.js} +0 -0
@@ -583,7 +583,8 @@ class KoniExtension {
583
583
  const validTypes = {
584
584
  evm: _types4.EthereumKeypairTypes,
585
585
  substrate: _types4.SubstrateKeypairTypes,
586
- ton: _types4.TonKeypairTypes
586
+ ton: _types4.TonKeypairTypes,
587
+ cardano: _types4.CardanoKeypairTypes
587
588
  };
588
589
  return !!accountAuthTypes && accountAuthTypes.some(authType => {
589
590
  var _validTypes$authType;
@@ -616,6 +617,13 @@ class KoniExtension {
616
617
  } = _ref17;
617
618
  return (0, _keyring.isTonAddress)(address) && list.push(address);
618
619
  });
620
+ } else if (accountAuthType === 'cardano') {
621
+ accounts.forEach(_ref18 => {
622
+ let {
623
+ address
624
+ } = _ref18;
625
+ return (0, _keyring.isCardanoAddress)(address) && list.push(address);
626
+ });
619
627
  }
620
628
  return list;
621
629
  }, []);
@@ -770,10 +778,10 @@ class KoniExtension {
770
778
  this.#koniState.updateSetting('theme', data);
771
779
  return true;
772
780
  }
773
- setCamera(_ref18) {
781
+ setCamera(_ref19) {
774
782
  let {
775
783
  camera
776
- } = _ref18;
784
+ } = _ref19;
777
785
  this.#koniState.updateSetting('camera', camera);
778
786
  return true;
779
787
  }
@@ -781,17 +789,17 @@ class KoniExtension {
781
789
  this.#koniState.updateSetting('browserConfirmationType', data);
782
790
  return true;
783
791
  }
784
- setAutoLockTime(_ref19) {
792
+ setAutoLockTime(_ref20) {
785
793
  let {
786
794
  autoLockTime
787
- } = _ref19;
795
+ } = _ref20;
788
796
  this.#koniState.updateSetting('timeAutoLock', autoLockTime);
789
797
  return true;
790
798
  }
791
- setUnlockType(_ref20) {
799
+ setUnlockType(_ref21) {
792
800
  let {
793
801
  unlockType
794
- } = _ref20;
802
+ } = _ref21;
795
803
  this.#koniState.updateSetting('unlockType', unlockType);
796
804
  return true;
797
805
  }
@@ -808,10 +816,10 @@ class KoniExtension {
808
816
  });
809
817
  return await this.getSettings();
810
818
  }
811
- setEnableChainPatrol(_ref21) {
819
+ setEnableChainPatrol(_ref22) {
812
820
  let {
813
821
  enable
814
- } = _ref21;
822
+ } = _ref22;
815
823
  this.#koniState.updateSetting('enableChainPatrol', enable);
816
824
  return true;
817
825
  }
@@ -819,17 +827,17 @@ class KoniExtension {
819
827
  this.#koniState.updateSetting('notificationSetup', request);
820
828
  return true;
821
829
  }
822
- saveMigrationAcknowledgedStatus(_ref22) {
830
+ saveMigrationAcknowledgedStatus(_ref23) {
823
831
  let {
824
832
  isAcknowledgedUnifiedAccountMigration
825
- } = _ref22;
833
+ } = _ref23;
826
834
  this.#koniState.updateSetting('isAcknowledgedUnifiedAccountMigration', isAcknowledgedUnifiedAccountMigration);
827
835
  return true;
828
836
  }
829
- saveUnifiedAccountMigrationInProgress(_ref23) {
837
+ saveUnifiedAccountMigrationInProgress(_ref24) {
830
838
  let {
831
839
  isUnifiedAccountMigrationInProgress
832
- } = _ref23;
840
+ } = _ref24;
833
841
  this.#koniState.updateSetting('isUnifiedAccountMigrationInProgress', isUnifiedAccountMigrationInProgress);
834
842
  return true;
835
843
  }
@@ -837,31 +845,31 @@ class KoniExtension {
837
845
  this.#koniState.updateSetting('isUnifiedAccountMigrationInProgress', false);
838
846
  return true;
839
847
  }
840
- setShowZeroBalance(_ref24) {
848
+ setShowZeroBalance(_ref25) {
841
849
  let {
842
850
  show
843
- } = _ref24;
851
+ } = _ref25;
844
852
  this.#koniState.updateSetting('isShowZeroBalance', show);
845
853
  return true;
846
854
  }
847
- setLanguage(_ref25) {
855
+ setLanguage(_ref26) {
848
856
  let {
849
857
  language
850
- } = _ref25;
858
+ } = _ref26;
851
859
  this.#koniState.updateSetting('language', language);
852
860
  return true;
853
861
  }
854
- setShowBalance(_ref26) {
862
+ setShowBalance(_ref27) {
855
863
  let {
856
864
  enable
857
- } = _ref26;
865
+ } = _ref27;
858
866
  this.#koniState.updateSetting('isShowBalance', enable);
859
867
  return true;
860
868
  }
861
- setAllowOneSign(_ref27) {
869
+ setAllowOneSign(_ref28) {
862
870
  let {
863
871
  allowOneSign
864
- } = _ref27;
872
+ } = _ref28;
865
873
  this.#koniState.updateSetting('allowOneSign', allowOneSign);
866
874
  return true;
867
875
  }
@@ -910,10 +918,32 @@ class KoniExtension {
910
918
  async getPrice() {
911
919
  return this.#koniState.priceService.getPrice();
912
920
  }
913
- async setPriceCurrency(_ref28) {
921
+ async getHistoryTokenPrice(_ref29) {
922
+ let {
923
+ priceId,
924
+ timeframe
925
+ } = _ref29;
926
+ return this.#koniState.priceService.getHistoryTokenPriceData(priceId, timeframe);
927
+ }
928
+ subscribeCurrentTokenPrice(priceId, id, port) {
929
+ const cb = (0, _subscriptions.createSubscription)(id, port);
930
+ const {
931
+ currentPrice,
932
+ unsubscribe
933
+ } = this.#koniState.priceService.subscribeCurrentTokenPrice(priceId, cb);
934
+ this.createUnsubscriptionHandle(id, unsubscribe);
935
+ port.onDisconnect.addListener(() => {
936
+ this.cancelSubscription(id);
937
+ });
938
+ return {
939
+ id,
940
+ price: currentPrice
941
+ };
942
+ }
943
+ async setPriceCurrency(_ref30) {
914
944
  let {
915
945
  currency
916
- } = _ref28;
946
+ } = _ref30;
917
947
  return await this.#koniState.priceService.setPriceCurrency(currency);
918
948
  }
919
949
  subscribePrice(id, port) {
@@ -1121,11 +1151,11 @@ class KoniExtension {
1121
1151
  // Re-filter
1122
1152
  return historySubject.getValue().filter(item => addresses.some(address => (0, _utils7.isSameAddress)(item.address, address)));
1123
1153
  }
1124
- subscribeHistoryByChainAndAddress(_ref29, id, port) {
1154
+ subscribeHistoryByChainAndAddress(_ref31, id, port) {
1125
1155
  let {
1126
1156
  address,
1127
1157
  chain
1128
- } = _ref29;
1158
+ } = _ref31;
1129
1159
  const cb = (0, _subscriptions.createSubscription)(id, port);
1130
1160
  const subscribeHistoriesResponse = this.#koniState.historyService.subscribeHistories(chain, address, cb);
1131
1161
  this.createUnsubscriptionHandle(id, subscribeHistoriesResponse.unsubscribe);
@@ -1692,28 +1722,28 @@ class KoniExtension {
1692
1722
  disableChain(networkKey) {
1693
1723
  return this.#koniState.disableChain(networkKey);
1694
1724
  }
1695
- async enableChain(_ref30) {
1725
+ async enableChain(_ref32) {
1696
1726
  let {
1697
1727
  chainSlug,
1698
1728
  enableTokens
1699
- } = _ref30;
1729
+ } = _ref32;
1700
1730
  return await this.#koniState.enableChain(chainSlug, enableTokens);
1701
1731
  }
1702
- async enableChainWithPriorityAssets(_ref31) {
1732
+ async enableChainWithPriorityAssets(_ref33) {
1703
1733
  let {
1704
1734
  chainSlug,
1705
1735
  enableTokens
1706
- } = _ref31;
1736
+ } = _ref33;
1707
1737
  return await this.#koniState.enableChainWithPriorityAssets(chainSlug, enableTokens);
1708
1738
  }
1709
1739
  async reconnectChain(chainSlug) {
1710
1740
  return this.#koniState.chainService.reconnectChain(chainSlug);
1711
1741
  }
1712
- async validateNetwork(_ref32) {
1742
+ async validateNetwork(_ref34) {
1713
1743
  let {
1714
1744
  existedChainSlug,
1715
1745
  provider
1716
- } = _ref32;
1746
+ } = _ref34;
1717
1747
  return await this.#koniState.validateCustomChain(provider, existedChainSlug);
1718
1748
  }
1719
1749
  resetDefaultNetwork() {
@@ -1785,13 +1815,13 @@ class KoniExtension {
1785
1815
  async validateCustomAsset(data) {
1786
1816
  return await this.#koniState.validateCustomAsset(data);
1787
1817
  }
1788
- async getAddressTransferableBalance(_ref33) {
1818
+ async getAddressTransferableBalance(_ref35) {
1789
1819
  let {
1790
1820
  address,
1791
1821
  extrinsicType,
1792
1822
  networkKey,
1793
1823
  token
1794
- } = _ref33;
1824
+ } = _ref35;
1795
1825
  if (token && _constants2._MANTA_ZK_CHAIN_GROUP.includes(networkKey)) {
1796
1826
  const tokenInfo = this.#koniState.chainService.getAssetBySlug(token);
1797
1827
  if (tokenInfo.symbol.startsWith(_constants2._ZK_ASSET_PREFIX)) {
@@ -1800,13 +1830,13 @@ class KoniExtension {
1800
1830
  }
1801
1831
  return await this.#koniState.balanceService.getTransferableBalance(address, networkKey, token, extrinsicType);
1802
1832
  }
1803
- async getAddressTotalBalance(_ref34) {
1833
+ async getAddressTotalBalance(_ref36) {
1804
1834
  let {
1805
1835
  address,
1806
1836
  extrinsicType,
1807
1837
  networkKey,
1808
1838
  token
1809
- } = _ref34;
1839
+ } = _ref36;
1810
1840
  return await this.#koniState.balanceService.getTotalBalance(address, networkKey, token, extrinsicType);
1811
1841
  }
1812
1842
  async subscribeMaxTransferable(request, id, port) {
@@ -1858,11 +1888,11 @@ class KoniExtension {
1858
1888
  freeBalance: freeBalanceSubject,
1859
1889
  fee: feeSubject
1860
1890
  }).subscribe({
1861
- next: _ref35 => {
1891
+ next: _ref37 => {
1862
1892
  let {
1863
1893
  fee,
1864
1894
  freeBalance
1865
- } = _ref35;
1895
+ } = _ref37;
1866
1896
  (0, _utils7.calculateMaxTransferable)(id, _request, freeBalance, fee).then(cb).catch(console.error);
1867
1897
  }
1868
1898
  });
@@ -1896,13 +1926,13 @@ class KoniExtension {
1896
1926
  });
1897
1927
  return (0, _utils7.calculateMaxTransferable)(id, _request, freeBalance, fee);
1898
1928
  }
1899
- async subscribeAddressTransferableBalance(_ref36, id, port) {
1929
+ async subscribeAddressTransferableBalance(_ref38, id, port) {
1900
1930
  let {
1901
1931
  address,
1902
1932
  extrinsicType,
1903
1933
  networkKey,
1904
1934
  token
1905
- } = _ref36;
1935
+ } = _ref38;
1906
1936
  const cb = (0, _subscriptions.createSubscription)(id, port);
1907
1937
  const convertData = data => {
1908
1938
  return {
@@ -1953,11 +1983,11 @@ class KoniExtension {
1953
1983
  isSendingSelf
1954
1984
  };
1955
1985
  }
1956
- async enableChains(_ref37) {
1986
+ async enableChains(_ref39) {
1957
1987
  let {
1958
1988
  chainSlugs,
1959
1989
  enableTokens
1960
- } = _ref37;
1990
+ } = _ref39;
1961
1991
  try {
1962
1992
  await Promise.all(chainSlugs.map(chainSlug => this.enableChain({
1963
1993
  chainSlug,
@@ -2090,30 +2120,30 @@ class KoniExtension {
2090
2120
 
2091
2121
  // Parse transaction
2092
2122
 
2093
- parseSubstrateTransaction(_ref38) {
2123
+ parseSubstrateTransaction(_ref40) {
2094
2124
  let {
2095
2125
  data,
2096
2126
  networkKey
2097
- } = _ref38;
2127
+ } = _ref40;
2098
2128
  const apiProps = this.#koniState.getSubstrateApi(networkKey);
2099
2129
  const apiPromise = apiProps.api;
2100
2130
  return (0, _parseTransaction.parseSubstrateTransaction)(data, apiPromise);
2101
2131
  }
2102
- async parseEVMRLP(_ref39) {
2132
+ async parseEVMRLP(_ref41) {
2103
2133
  let {
2104
2134
  data
2105
- } = _ref39;
2135
+ } = _ref41;
2106
2136
  return await (0, _parseTransaction2.parseEvmRlp)(data, this.#koniState.getChainInfoMap(), this.#koniState.getEvmApiMap());
2107
2137
  }
2108
2138
 
2109
2139
  // Sign
2110
2140
 
2111
- qrSignSubstrate(_ref40) {
2141
+ qrSignSubstrate(_ref42) {
2112
2142
  let {
2113
2143
  address,
2114
2144
  data,
2115
2145
  networkKey
2116
- } = _ref40;
2146
+ } = _ref42;
2117
2147
  const pair = _uiKeyring.keyring.getPair(address);
2118
2148
  (0, _util.assert)(pair, (0, _i18next.t)('Unable to find account'));
2119
2149
  if (pair.isLocked) {
@@ -2130,13 +2160,13 @@ class KoniExtension {
2130
2160
  signature: signed
2131
2161
  };
2132
2162
  }
2133
- async qrSignEVM(_ref41) {
2163
+ async qrSignEVM(_ref43) {
2134
2164
  let {
2135
2165
  address,
2136
2166
  chainId,
2137
2167
  message,
2138
2168
  type
2139
- } = _ref41;
2169
+ } = _ref43;
2140
2170
  let signed;
2141
2171
  const network = this.getNetworkJsonByChainId(chainId);
2142
2172
  if (!network) {
@@ -2220,11 +2250,11 @@ class KoniExtension {
2220
2250
  });
2221
2251
  return this.#koniState.getNominatorMetadata();
2222
2252
  }
2223
- async getBondingOptions(_ref42) {
2253
+ async getBondingOptions(_ref44) {
2224
2254
  let {
2225
2255
  chain,
2226
2256
  type
2227
- } = _ref42;
2257
+ } = _ref44;
2228
2258
  const apiProps = this.#koniState.getSubstrateApi(chain);
2229
2259
  const chainInfo = this.#koniState.getChainInfo(chain);
2230
2260
  const chainStakingMetadata = await this.#koniState.getStakingMetadataByChain(chain, type);
@@ -2414,12 +2444,12 @@ class KoniExtension {
2414
2444
  }
2415
2445
 
2416
2446
  // EVM Transaction
2417
- async parseContractInput(_ref43) {
2447
+ async parseContractInput(_ref45) {
2418
2448
  let {
2419
2449
  chainId,
2420
2450
  contract,
2421
2451
  data
2422
- } = _ref43;
2452
+ } = _ref45;
2423
2453
  const network = this.getNetworkJsonByChainId(chainId);
2424
2454
  return await (0, _parseTransaction2.parseContractInput)(data, contract, network);
2425
2455
  }
@@ -2519,10 +2549,10 @@ class KoniExtension {
2519
2549
 
2520
2550
  // Unlock wallet
2521
2551
 
2522
- keyringUnlock(_ref44) {
2552
+ keyringUnlock(_ref46) {
2523
2553
  let {
2524
2554
  password
2525
- } = _ref44;
2555
+ } = _ref46;
2526
2556
  try {
2527
2557
  _uiKeyring.keyring.unlockKeyring(password);
2528
2558
  // this.#koniState.initMantaPay(password)
@@ -2553,11 +2583,11 @@ class KoniExtension {
2553
2583
 
2554
2584
  // Export mnemonic
2555
2585
 
2556
- keyringExportMnemonic(_ref45) {
2586
+ keyringExportMnemonic(_ref47) {
2557
2587
  let {
2558
2588
  address,
2559
2589
  password
2560
- } = _ref45;
2590
+ } = _ref47;
2561
2591
  const pair = _uiKeyring.keyring.getPair(address);
2562
2592
  const result = pair.exportMnemonic(password);
2563
2593
  return {
@@ -2567,10 +2597,10 @@ class KoniExtension {
2567
2597
 
2568
2598
  // Reset wallet
2569
2599
 
2570
- async resetWallet(_ref46) {
2600
+ async resetWallet(_ref48) {
2571
2601
  let {
2572
2602
  resetAll
2573
- } = _ref46;
2603
+ } = _ref48;
2574
2604
  try {
2575
2605
  await this.#koniState.resetWallet(resetAll);
2576
2606
  return {
@@ -2586,10 +2616,10 @@ class KoniExtension {
2586
2616
  }
2587
2617
 
2588
2618
  // Signing substrate request
2589
- async signingApprovePasswordV2(_ref47) {
2619
+ async signingApprovePasswordV2(_ref49) {
2590
2620
  let {
2591
2621
  id
2592
- } = _ref47;
2622
+ } = _ref49;
2593
2623
  const queued = this.#koniState.getSignRequest(id);
2594
2624
  (0, _util.assert)(queued, (0, _i18next.t)('Unable to proceed. Please try again'));
2595
2625
  const {
@@ -2747,10 +2777,10 @@ class KoniExtension {
2747
2777
  getSupportedSmartContractTypes() {
2748
2778
  return this.#koniState.getSupportedSmartContractTypes();
2749
2779
  }
2750
- getTransaction(_ref48) {
2780
+ getTransaction(_ref50) {
2751
2781
  let {
2752
2782
  id
2753
- } = _ref48;
2783
+ } = _ref50;
2754
2784
  const {
2755
2785
  transaction,
2756
2786
  ...transactionResult
@@ -2760,8 +2790,8 @@ class KoniExtension {
2760
2790
  async subscribeTransactions(id, port) {
2761
2791
  const cb = (0, _subscriptions.createSubscription)(id, port);
2762
2792
  function convertRs(rs, processMap) {
2763
- return Object.fromEntries(Object.entries(rs).map(_ref49 => {
2764
- let [key, value] = _ref49;
2793
+ return Object.fromEntries(Object.entries(rs).map(_ref51 => {
2794
+ let [key, value] = _ref51;
2765
2795
  const {
2766
2796
  additionalValidator,
2767
2797
  eventsHandler,
@@ -2785,11 +2815,11 @@ class KoniExtension {
2785
2815
  const subscription = (0, _rxjs.combineLatest)({
2786
2816
  transactions: transactionsObservable,
2787
2817
  processMap: processTransactionObservable
2788
- }).subscribe(_ref50 => {
2818
+ }).subscribe(_ref52 => {
2789
2819
  let {
2790
2820
  processMap,
2791
2821
  transactions
2792
- } = _ref50;
2822
+ } = _ref52;
2793
2823
  cb(convertRs(transactions, processMap));
2794
2824
  });
2795
2825
  port.onDisconnect.addListener(() => {
@@ -2810,10 +2840,10 @@ class KoniExtension {
2810
2840
  });
2811
2841
  return notificationSubject.value;
2812
2842
  }
2813
- async reloadCron(_ref51) {
2843
+ async reloadCron(_ref53) {
2814
2844
  let {
2815
2845
  data
2816
- } = _ref51;
2846
+ } = _ref53;
2817
2847
  if (data === 'nft') {
2818
2848
  return await this.#koniState.reloadNft();
2819
2849
  } else if (data === 'staking') {
@@ -2856,10 +2886,10 @@ class KoniExtension {
2856
2886
  }
2857
2887
 
2858
2888
  // Phishing detect
2859
- async passPhishingPage(_ref52) {
2889
+ async passPhishingPage(_ref54) {
2860
2890
  let {
2861
2891
  url
2862
- } = _ref52;
2892
+ } = _ref54;
2863
2893
  return await this.#koniState.approvePassPhishingPage(url);
2864
2894
  }
2865
2895
 
@@ -2880,10 +2910,10 @@ class KoniExtension {
2880
2910
  /// Wallet connect
2881
2911
 
2882
2912
  // Connect
2883
- async connectWalletConnect(_ref53) {
2913
+ async connectWalletConnect(_ref55) {
2884
2914
  let {
2885
2915
  uri
2886
- } = _ref53;
2916
+ } = _ref55;
2887
2917
  await this.#koniState.walletConnectService.connect(uri);
2888
2918
  return true;
2889
2919
  }
@@ -2896,11 +2926,11 @@ class KoniExtension {
2896
2926
  });
2897
2927
  return this.#koniState.requestService.allConnectWCRequests;
2898
2928
  }
2899
- async approveWalletConnectSession(_ref54) {
2929
+ async approveWalletConnectSession(_ref56) {
2900
2930
  let {
2901
2931
  accounts: selectedAccounts,
2902
2932
  id
2903
- } = _ref54;
2933
+ } = _ref56;
2904
2934
  const request = this.#koniState.requestService.getConnectWCRequest(id);
2905
2935
  if ((0, _helpers2.isProposalExpired)(request.request.params)) {
2906
2936
  throw new Error('The proposal has been expired');
@@ -2912,8 +2942,8 @@ class KoniExtension {
2912
2942
  const availableNamespaces = {};
2913
2943
  const namespaces = {};
2914
2944
  const chainInfoMap = this.#koniState.getChainInfoMap();
2915
- Object.entries(requiredNamespaces).forEach(_ref55 => {
2916
- let [key, namespace] = _ref55;
2945
+ Object.entries(requiredNamespaces).forEach(_ref57 => {
2946
+ let [key, namespace] = _ref57;
2917
2947
  if ((0, _helpers2.isSupportWalletConnectNamespace)(key)) {
2918
2948
  if (namespace.chains) {
2919
2949
  const unSupportChains = namespace.chains.filter(chain => !(0, _helpers2.isSupportWalletConnectChain)(chain, chainInfoMap));
@@ -2926,8 +2956,8 @@ class KoniExtension {
2926
2956
  throw new Error((0, _utils8.getSdkError)('UNSUPPORTED_NAMESPACE_KEY').message + ' ' + key);
2927
2957
  }
2928
2958
  });
2929
- Object.entries(optionalNamespaces).forEach(_ref56 => {
2930
- let [key, namespace] = _ref56;
2959
+ Object.entries(optionalNamespaces).forEach(_ref58 => {
2960
+ let [key, namespace] = _ref58;
2931
2961
  if ((0, _helpers2.isSupportWalletConnectNamespace)(key)) {
2932
2962
  if (namespace.chains) {
2933
2963
  const supportChains = namespace.chains.filter(chain => (0, _helpers2.isSupportWalletConnectChain)(chain, chainInfoMap)) || [];
@@ -2951,8 +2981,8 @@ class KoniExtension {
2951
2981
  }
2952
2982
  }
2953
2983
  });
2954
- Object.entries(availableNamespaces).forEach(_ref57 => {
2955
- let [key, namespace] = _ref57;
2984
+ Object.entries(availableNamespaces).forEach(_ref59 => {
2985
+ let [key, namespace] = _ref59;
2956
2986
  if (namespace.chains) {
2957
2987
  const accounts = selectedAccounts.filter(address => {
2958
2988
  const [_namespace] = address.split(':');
@@ -2976,10 +3006,10 @@ class KoniExtension {
2976
3006
  request.resolve();
2977
3007
  return true;
2978
3008
  }
2979
- async rejectWalletConnectSession(_ref58) {
3009
+ async rejectWalletConnectSession(_ref60) {
2980
3010
  let {
2981
3011
  id
2982
- } = _ref58;
3012
+ } = _ref60;
2983
3013
  const request = this.#koniState.requestService.getConnectWCRequest(id);
2984
3014
  const wcId = request.request.id;
2985
3015
  if ((0, _helpers2.isProposalExpired)(request.request.params)) {
@@ -3001,10 +3031,10 @@ class KoniExtension {
3001
3031
  });
3002
3032
  return this.#koniState.walletConnectService.sessions;
3003
3033
  }
3004
- async disconnectWalletConnectSession(_ref59) {
3034
+ async disconnectWalletConnectSession(_ref61) {
3005
3035
  let {
3006
3036
  topic
3007
- } = _ref59;
3037
+ } = _ref61;
3008
3038
  await this.#koniState.walletConnectService.disconnect(topic);
3009
3039
  return true;
3010
3040
  }
@@ -3017,18 +3047,18 @@ class KoniExtension {
3017
3047
  });
3018
3048
  return this.#koniState.requestService.allNotSupportWCRequests;
3019
3049
  }
3020
- approveWalletConnectNotSupport(_ref60) {
3050
+ approveWalletConnectNotSupport(_ref62) {
3021
3051
  let {
3022
3052
  id
3023
- } = _ref60;
3053
+ } = _ref62;
3024
3054
  const request = this.#koniState.requestService.getNotSupportWCRequest(id);
3025
3055
  request.resolve();
3026
3056
  return true;
3027
3057
  }
3028
- rejectWalletConnectNotSupport(_ref61) {
3058
+ rejectWalletConnectNotSupport(_ref63) {
3029
3059
  let {
3030
3060
  id
3031
- } = _ref61;
3061
+ } = _ref63;
3032
3062
  const request = this.#koniState.requestService.getNotSupportWCRequest(id);
3033
3063
  request.reject(new Error('USER_REJECTED'));
3034
3064
  return true;
@@ -3036,11 +3066,11 @@ class KoniExtension {
3036
3066
 
3037
3067
  /// Manta
3038
3068
 
3039
- async enableMantaPay(_ref62) {
3069
+ async enableMantaPay(_ref64) {
3040
3070
  let {
3041
3071
  address,
3042
3072
  password
3043
- } = _ref62;
3073
+ } = _ref64;
3044
3074
  // always takes the current account
3045
3075
  function timeout() {
3046
3076
  return new Promise(resolve => setTimeout(resolve, 1500));
@@ -3130,11 +3160,11 @@ class KoniExtension {
3130
3160
  async disableMantaPay(address) {
3131
3161
  return this.#koniState.disableMantaPay(address);
3132
3162
  }
3133
- async isTonBounceableAddress(_ref63) {
3163
+ async isTonBounceableAddress(_ref65) {
3134
3164
  let {
3135
3165
  address,
3136
3166
  chain
3137
- } = _ref63;
3167
+ } = _ref65;
3138
3168
  try {
3139
3169
  const tonApi = this.#koniState.getTonApi(chain);
3140
3170
  const state = await tonApi.getAccountState(address);
@@ -3180,10 +3210,10 @@ class KoniExtension {
3180
3210
 
3181
3211
  /* Metadata */
3182
3212
 
3183
- async findRawMetadata(_ref64) {
3213
+ async findRawMetadata(_ref66) {
3184
3214
  let {
3185
3215
  genesisHash
3186
- } = _ref64;
3216
+ } = _ref66;
3187
3217
  const {
3188
3218
  metadata,
3189
3219
  specVersion,
@@ -3197,20 +3227,20 @@ class KoniExtension {
3197
3227
  userExtensions
3198
3228
  };
3199
3229
  }
3200
- async calculateMetadataHash(_ref65) {
3230
+ async calculateMetadataHash(_ref67) {
3201
3231
  let {
3202
3232
  chain
3203
- } = _ref65;
3233
+ } = _ref67;
3204
3234
  const hash = await this.#koniState.calculateMetadataHash(chain);
3205
3235
  return {
3206
3236
  metadataHash: hash || ''
3207
3237
  };
3208
3238
  }
3209
- async shortenMetadata(_ref66) {
3239
+ async shortenMetadata(_ref68) {
3210
3240
  let {
3211
3241
  chain,
3212
3242
  txBlob
3213
- } = _ref66;
3243
+ } = _ref68;
3214
3244
  const shorten = await this.#koniState.shortenMetadata(chain, txBlob);
3215
3245
  return {
3216
3246
  txMetadata: shorten || ''
@@ -3563,18 +3593,18 @@ class KoniExtension {
3563
3593
 
3564
3594
  /* Campaign */
3565
3595
 
3566
- unlockDotCheckCanMint(_ref67) {
3596
+ unlockDotCheckCanMint(_ref69) {
3567
3597
  let {
3568
3598
  address,
3569
3599
  network,
3570
3600
  slug
3571
- } = _ref67;
3601
+ } = _ref69;
3572
3602
  return this.#koniState.mintCampaignService.unlockDotCampaign.canMint(address, slug, network);
3573
3603
  }
3574
- unlockDotSubscribeMintedData(id, port, _ref68) {
3604
+ unlockDotSubscribeMintedData(id, port, _ref70) {
3575
3605
  let {
3576
3606
  transactionId
3577
- } = _ref68;
3607
+ } = _ref70;
3578
3608
  const cb = (0, _subscriptions.createSubscription)(id, port);
3579
3609
  const subscription = this.#koniState.mintCampaignService.unlockDotCampaign.subscribeMintedNft(transactionId, cb);
3580
3610
  this.createUnsubscriptionHandle(id, subscription.unsubscribe);
@@ -3606,10 +3636,10 @@ class KoniExtension {
3606
3636
  });
3607
3637
  return filterBanner(await this.#koniState.campaignService.getProcessingCampaign());
3608
3638
  }
3609
- async completeCampaignBanner(_ref69) {
3639
+ async completeCampaignBanner(_ref71) {
3610
3640
  let {
3611
3641
  slug
3612
- } = _ref69;
3642
+ } = _ref71;
3613
3643
  const campaign = await this.#koniState.dbService.getCampaign(slug);
3614
3644
  if (campaign) {
3615
3645
  await this.#koniState.dbService.upsertCampaign({
@@ -4125,8 +4155,8 @@ class KoniExtension {
4125
4155
  resolve();
4126
4156
  }
4127
4157
  };
4128
- this.#koniState.balanceService.subscribeTransferableBalance(address, waitXcmData.chain, waitXcmData.token, waitXcmData.nextTxType, onRs).then(_ref70 => {
4129
- let [_unsub, rs] = _ref70;
4158
+ this.#koniState.balanceService.subscribeTransferableBalance(address, waitXcmData.chain, waitXcmData.token, waitXcmData.nextTxType, onRs).then(_ref72 => {
4159
+ let [_unsub, rs] = _ref72;
4130
4160
  unsub = _unsub;
4131
4161
  onRs(rs);
4132
4162
  }).catch(console.error);
@@ -4328,6 +4358,10 @@ class KoniExtension {
4328
4358
  return await this.getPrice();
4329
4359
  case 'pri(price.getSubscription)':
4330
4360
  return await this.subscribePrice(id, port);
4361
+ case 'pri(price.getHistory)':
4362
+ return await this.getHistoryTokenPrice(request);
4363
+ case 'pri(price.subscribeCurrentTokenPrice)':
4364
+ return this.subscribeCurrentTokenPrice(request, id, port);
4331
4365
  case 'pri(settings.savePriceCurrency)':
4332
4366
  return await this.setPriceCurrency(request);
4333
4367
  case 'pri(balance.getBalance)':