@subwallet/extension-base 1.2.31-0 → 1.2.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 (418) hide show
  1. package/background/KoniTypes.d.ts +78 -227
  2. package/background/KoniTypes.js +3 -40
  3. package/background/errors/SWError.d.ts +4 -7
  4. package/background/errors/SWError.js +4 -0
  5. package/background/errors/TransactionError.d.ts +2 -2
  6. package/background/errors/TransactionError.js +2 -4
  7. package/background/handlers/State.d.ts +0 -12
  8. package/background/types.d.ts +9 -134
  9. package/background/warnings/TransactionWarning.d.ts +1 -1
  10. package/background/warnings/TransactionWarning.js +5 -1
  11. package/cjs/background/KoniTypes.js +4 -44
  12. package/cjs/background/errors/SWError.js +4 -0
  13. package/cjs/background/errors/TransactionError.js +13 -15
  14. package/cjs/background/warnings/TransactionWarning.js +6 -2
  15. package/cjs/constants/environment.js +13 -0
  16. package/cjs/constants/index.js +40 -13
  17. package/cjs/constants/signing.js +23 -0
  18. package/cjs/constants/storage.js +4 -2
  19. package/cjs/core/consts.js +20 -0
  20. package/cjs/core/logic-validation/recipientAddress.js +106 -0
  21. package/cjs/core/logic-validation/request.js +11 -19
  22. package/cjs/core/logic-validation/swap.js +5 -5
  23. package/cjs/core/logic-validation/transfer.js +83 -42
  24. package/cjs/core/types.js +26 -0
  25. package/cjs/core/utils.js +113 -0
  26. package/cjs/koni/api/dotsama/crowdloan.js +1 -1
  27. package/cjs/koni/api/nft/index.js +14 -5
  28. package/cjs/koni/api/staking/bonding/paraChain.js +8 -8
  29. package/cjs/koni/api/staking/bonding/relayChain.js +9 -9
  30. package/cjs/koni/api/staking/index.js +4 -1
  31. package/cjs/koni/background/cron.js +7 -7
  32. package/cjs/koni/background/handlers/Extension.js +510 -1446
  33. package/cjs/koni/background/handlers/State.js +61 -238
  34. package/cjs/koni/background/handlers/Tabs.js +143 -107
  35. package/cjs/koni/background/subscription.js +5 -5
  36. package/cjs/packageInfo.js +1 -1
  37. package/cjs/page/Accounts.js +2 -5
  38. package/cjs/page/SubWalleEvmProvider.js +1 -1
  39. package/cjs/page/index.js +2 -1
  40. package/cjs/services/balance-service/BalanceMapImpl.js +48 -20
  41. package/cjs/services/balance-service/helpers/subscribe/index.js +27 -15
  42. package/cjs/services/balance-service/helpers/subscribe/ton/consts.js +40 -0
  43. package/cjs/services/balance-service/helpers/subscribe/ton/ton.js +120 -0
  44. package/cjs/services/balance-service/helpers/subscribe/ton/utils.js +181 -0
  45. package/cjs/services/balance-service/index.js +25 -13
  46. package/cjs/services/balance-service/transfer/token.js +41 -24
  47. package/cjs/services/balance-service/transfer/ton-transfer.js +136 -0
  48. package/cjs/services/buy-service/index.js +5 -1
  49. package/cjs/services/chain-service/constants.js +1 -1
  50. package/cjs/services/chain-service/handler/SubstrateApi.js +1 -0
  51. package/cjs/services/chain-service/handler/TonApi.js +213 -0
  52. package/cjs/services/chain-service/handler/TonChainHandler.js +81 -0
  53. package/cjs/services/chain-service/index.js +32 -8
  54. package/cjs/services/chain-service/utils/index.js +78 -22
  55. package/cjs/services/earning-service/constants/chains.js +3 -1
  56. package/cjs/services/earning-service/handlers/base.js +2 -1
  57. package/cjs/services/earning-service/handlers/lending/base.js +8 -9
  58. package/cjs/services/earning-service/handlers/lending/interlay.js +1 -1
  59. package/cjs/services/earning-service/handlers/liquid-staking/base.js +9 -10
  60. package/cjs/services/earning-service/handlers/liquid-staking/stella-swap.js +1 -1
  61. package/cjs/services/earning-service/handlers/native-staking/amplitude.js +1 -1
  62. package/cjs/services/earning-service/handlers/native-staking/astar.js +2 -2
  63. package/cjs/services/earning-service/handlers/native-staking/base-para.js +13 -13
  64. package/cjs/services/earning-service/handlers/native-staking/base.js +2 -2
  65. package/cjs/services/earning-service/handlers/native-staking/para-chain.js +2 -2
  66. package/cjs/services/earning-service/handlers/native-staking/relay-chain.js +15 -15
  67. package/cjs/services/earning-service/handlers/nomination-pool/index.js +14 -14
  68. package/cjs/services/earning-service/handlers/special.js +10 -10
  69. package/cjs/services/earning-service/service.js +26 -17
  70. package/cjs/services/history-service/helpers/subscan-extrinsic-parser-helper.js +1 -1
  71. package/cjs/services/history-service/index.js +29 -11
  72. package/cjs/services/history-service/subscan-history.js +9 -21
  73. package/cjs/services/keyring-service/context/account-context.js +259 -0
  74. package/cjs/services/keyring-service/context/handlers/Base.js +20 -0
  75. package/cjs/services/keyring-service/context/handlers/Derive.js +377 -0
  76. package/cjs/services/keyring-service/context/handlers/Inject.js +75 -0
  77. package/cjs/services/keyring-service/context/handlers/Json.js +348 -0
  78. package/cjs/services/keyring-service/context/handlers/Ledger.js +165 -0
  79. package/cjs/services/keyring-service/context/handlers/Mnemonic.js +218 -0
  80. package/cjs/services/keyring-service/context/handlers/Modify.js +258 -0
  81. package/cjs/services/keyring-service/context/handlers/Secret.js +310 -0
  82. package/cjs/services/keyring-service/context/handlers/index.js +82 -0
  83. package/cjs/services/keyring-service/context/state.js +649 -0
  84. package/cjs/services/keyring-service/context/stores/AccountProxy.js +32 -0
  85. package/cjs/services/keyring-service/context/stores/Base.js +37 -0
  86. package/cjs/services/keyring-service/context/stores/CurrentAccount.js +28 -0
  87. package/cjs/services/keyring-service/context/stores/ModifyPair.js +19 -0
  88. package/cjs/services/keyring-service/context/stores/index.js +38 -0
  89. package/cjs/services/keyring-service/index.js +20 -164
  90. package/cjs/services/migration-service/scripts/index.js +6 -4
  91. package/cjs/services/migration-service/scripts/{MigrateLedgerAccountV2.js → keyring/MigrateLedgerAccountV2.js} +1 -1
  92. package/cjs/services/migration-service/scripts/keyring/MigratePairData.js +28 -0
  93. package/cjs/services/migration-service/scripts/{MigrateRemoveGenesisHash.js → keyring/MigrateRemoveGenesisHash.js} +1 -1
  94. package/cjs/services/request-service/constants.js +5 -3
  95. package/cjs/services/request-service/handler/AuthRequestHandler.js +104 -57
  96. package/cjs/services/request-service/handler/EvmRequestHandler.js +3 -4
  97. package/cjs/services/request-service/handler/SubstrateRequestHandler.js +5 -11
  98. package/cjs/services/request-service/handler/TonRequestHandler.js +175 -0
  99. package/cjs/services/request-service/index.js +24 -5
  100. package/cjs/services/swap-service/handler/asset-hub/handler.js +6 -5
  101. package/cjs/services/swap-service/handler/base-handler.js +8 -8
  102. package/cjs/services/swap-service/handler/chainflip-handler.js +5 -4
  103. package/cjs/services/swap-service/handler/hydradx-handler.js +4 -3
  104. package/cjs/services/swap-service/index.js +4 -4
  105. package/cjs/services/transaction-service/helpers/index.js +6 -1
  106. package/cjs/services/transaction-service/index.js +184 -84
  107. package/cjs/services/wallet-connect-service/handler/PolkadotRequestHandler.js +2 -10
  108. package/cjs/stores/AccountProxyStore.js +18 -0
  109. package/cjs/stores/ModifyPairStore.js +18 -0
  110. package/cjs/stores/index.js +23 -2
  111. package/cjs/types/account/action/add/index.js +38 -0
  112. package/cjs/types/account/action/add/json.js +1 -0
  113. package/cjs/types/account/action/add/mnemonic.js +1 -0
  114. package/cjs/types/account/action/add/secret.js +1 -0
  115. package/cjs/types/account/action/derive.js +1 -0
  116. package/cjs/types/account/action/edit.js +1 -0
  117. package/cjs/types/account/action/export.js +1 -0
  118. package/cjs/types/account/action/index.js +71 -0
  119. package/cjs/types/account/action/subscribe.js +16 -0
  120. package/cjs/types/account/action/validate.js +1 -0
  121. package/cjs/types/account/error/common.js +40 -0
  122. package/cjs/types/account/error/derive.js +55 -0
  123. package/cjs/types/account/error/index.js +27 -0
  124. package/cjs/types/account/index.js +38 -0
  125. package/cjs/types/account/info/current.js +1 -0
  126. package/cjs/types/account/info/index.js +38 -0
  127. package/cjs/types/account/info/keyring.js +90 -0
  128. package/cjs/types/account/info/proxy.js +49 -0
  129. package/cjs/types/error.js +1 -0
  130. package/cjs/types/index.js +44 -0
  131. package/cjs/types/transaction/data.js +1 -0
  132. package/cjs/types/transaction/error.js +53 -0
  133. package/cjs/types/transaction/index.js +49 -0
  134. package/cjs/types/transaction/request.js +1 -0
  135. package/cjs/types/transaction/warning.js +14 -0
  136. package/cjs/types/yield/actions/join/validate.js +1 -16
  137. package/cjs/utils/account/analyze.js +166 -0
  138. package/cjs/utils/account/common.js +121 -0
  139. package/cjs/utils/account/derive/index.js +27 -0
  140. package/cjs/utils/account/derive/info/index.js +27 -0
  141. package/cjs/utils/account/derive/info/solo.js +246 -0
  142. package/cjs/utils/account/derive/info/unified.js +112 -0
  143. package/cjs/utils/account/derive/validate.js +177 -0
  144. package/cjs/utils/account/index.js +49 -0
  145. package/cjs/utils/account/transform.js +566 -0
  146. package/cjs/utils/auth.js +46 -0
  147. package/cjs/utils/getId.js +8 -1
  148. package/cjs/utils/index.js +48 -62
  149. package/constants/environment.d.ts +1 -0
  150. package/constants/environment.js +6 -0
  151. package/constants/index.d.ts +5 -1
  152. package/constants/index.js +5 -2
  153. package/constants/signing.d.ts +4 -0
  154. package/constants/signing.js +15 -0
  155. package/constants/storage.d.ts +1 -0
  156. package/constants/storage.js +2 -1
  157. package/core/consts.d.ts +1 -0
  158. package/core/consts.js +13 -0
  159. package/core/logic-validation/recipientAddress.d.ts +2 -0
  160. package/core/logic-validation/recipientAddress.js +100 -0
  161. package/core/logic-validation/request.js +10 -18
  162. package/core/logic-validation/swap.js +1 -1
  163. package/core/logic-validation/transfer.d.ts +3 -2
  164. package/core/logic-validation/transfer.js +50 -10
  165. package/core/types.d.ts +26 -0
  166. package/core/types.js +19 -0
  167. package/core/utils.d.ts +10 -0
  168. package/core/utils.js +105 -0
  169. package/koni/api/dotsama/crowdloan.js +1 -1
  170. package/koni/api/nft/index.js +14 -5
  171. package/koni/api/staking/bonding/paraChain.js +2 -2
  172. package/koni/api/staking/bonding/relayChain.js +2 -2
  173. package/koni/api/staking/index.js +4 -1
  174. package/koni/background/cron.js +7 -7
  175. package/koni/background/handlers/Extension.d.ts +26 -35
  176. package/koni/background/handlers/Extension.js +337 -1242
  177. package/koni/background/handlers/State.d.ts +12 -19
  178. package/koni/background/handlers/State.js +57 -231
  179. package/koni/background/handlers/Tabs.d.ts +2 -3
  180. package/koni/background/handlers/Tabs.js +105 -61
  181. package/koni/background/subscription.js +5 -5
  182. package/package.json +352 -53
  183. package/packageInfo.js +1 -1
  184. package/page/Accounts.js +2 -5
  185. package/page/SubWalleEvmProvider.js +1 -1
  186. package/page/index.js +2 -1
  187. package/services/balance-service/BalanceMapImpl.d.ts +6 -4
  188. package/services/balance-service/BalanceMapImpl.js +44 -18
  189. package/services/balance-service/helpers/subscribe/index.d.ts +3 -4
  190. package/services/balance-service/helpers/subscribe/index.js +29 -17
  191. package/services/balance-service/helpers/subscribe/ton/consts.d.ts +18 -0
  192. package/services/balance-service/helpers/subscribe/ton/consts.js +28 -0
  193. package/services/balance-service/helpers/subscribe/ton/ton.d.ts +3 -0
  194. package/services/balance-service/helpers/subscribe/ton/ton.js +111 -0
  195. package/services/balance-service/helpers/subscribe/ton/types.d.ts +26 -0
  196. package/services/balance-service/helpers/subscribe/ton/utils.d.ts +32 -0
  197. package/services/balance-service/helpers/subscribe/ton/utils.js +159 -0
  198. package/services/balance-service/index.js +25 -13
  199. package/services/balance-service/transfer/token.d.ts +2 -2
  200. package/services/balance-service/transfer/token.js +18 -1
  201. package/services/balance-service/transfer/ton-transfer.d.ts +25 -0
  202. package/services/balance-service/transfer/ton-transfer.js +127 -0
  203. package/services/buy-service/index.js +5 -1
  204. package/services/buy-service/types.d.ts +2 -2
  205. package/services/chain-service/constants.js +1 -1
  206. package/services/chain-service/handler/SubstrateApi.js +1 -0
  207. package/services/chain-service/handler/TonApi.d.ts +52 -0
  208. package/services/chain-service/handler/TonApi.js +204 -0
  209. package/services/chain-service/handler/TonChainHandler.d.ts +17 -0
  210. package/services/chain-service/handler/TonChainHandler.js +73 -0
  211. package/services/chain-service/index.d.ts +5 -1
  212. package/services/chain-service/index.js +32 -8
  213. package/services/chain-service/types.d.ts +24 -0
  214. package/services/chain-service/utils/index.d.ts +10 -2
  215. package/services/chain-service/utils/index.js +59 -18
  216. package/services/earning-service/constants/chains.d.ts +1 -0
  217. package/services/earning-service/constants/chains.js +1 -0
  218. package/services/earning-service/handlers/base.js +3 -2
  219. package/services/earning-service/handlers/lending/base.js +1 -2
  220. package/services/earning-service/handlers/lending/interlay.js +2 -2
  221. package/services/earning-service/handlers/liquid-staking/base.js +1 -2
  222. package/services/earning-service/handlers/liquid-staking/stella-swap.js +2 -2
  223. package/services/earning-service/handlers/native-staking/amplitude.js +2 -2
  224. package/services/earning-service/handlers/native-staking/astar.js +2 -2
  225. package/services/earning-service/handlers/native-staking/base-para.js +2 -2
  226. package/services/earning-service/handlers/native-staking/base.js +2 -2
  227. package/services/earning-service/handlers/native-staking/para-chain.js +2 -2
  228. package/services/earning-service/handlers/native-staking/relay-chain.js +2 -2
  229. package/services/earning-service/handlers/nomination-pool/index.js +2 -2
  230. package/services/earning-service/handlers/special.js +2 -2
  231. package/services/earning-service/service.js +18 -9
  232. package/services/event-service/types.d.ts +3 -1
  233. package/services/history-service/helpers/subscan-extrinsic-parser-helper.js +1 -1
  234. package/services/history-service/index.d.ts +4 -1
  235. package/services/history-service/index.js +29 -11
  236. package/services/history-service/subscan-history.js +8 -20
  237. package/services/keyring-service/context/account-context.d.ts +87 -0
  238. package/services/keyring-service/context/account-context.js +250 -0
  239. package/services/keyring-service/context/handlers/Base.d.ts +11 -0
  240. package/services/keyring-service/context/handlers/Base.js +13 -0
  241. package/services/keyring-service/context/handlers/Derive.d.ts +29 -0
  242. package/services/keyring-service/context/handlers/Derive.js +365 -0
  243. package/services/keyring-service/context/handlers/Inject.d.ts +11 -0
  244. package/services/keyring-service/context/handlers/Inject.js +69 -0
  245. package/services/keyring-service/context/handlers/Json.d.ts +18 -0
  246. package/services/keyring-service/context/handlers/Json.js +328 -0
  247. package/services/keyring-service/context/handlers/Ledger.d.ts +11 -0
  248. package/services/keyring-service/context/handlers/Ledger.js +158 -0
  249. package/services/keyring-service/context/handlers/Mnemonic.d.ts +15 -0
  250. package/services/keyring-service/context/handlers/Mnemonic.js +206 -0
  251. package/services/keyring-service/context/handlers/Modify.d.ts +16 -0
  252. package/services/keyring-service/context/handlers/Modify.js +250 -0
  253. package/services/keyring-service/context/handlers/Secret.d.ts +16 -0
  254. package/services/keyring-service/context/handlers/Secret.js +299 -0
  255. package/services/keyring-service/context/handlers/index.d.ts +7 -0
  256. package/services/keyring-service/context/handlers/index.js +10 -0
  257. package/services/keyring-service/context/state.d.ts +92 -0
  258. package/services/keyring-service/context/state.js +629 -0
  259. package/services/keyring-service/context/stores/AccountProxy.d.ts +13 -0
  260. package/services/keyring-service/context/stores/AccountProxy.js +25 -0
  261. package/services/keyring-service/context/stores/Base.d.ts +22 -0
  262. package/services/keyring-service/context/stores/Base.js +30 -0
  263. package/services/keyring-service/context/stores/CurrentAccount.d.ts +15 -0
  264. package/services/keyring-service/context/stores/CurrentAccount.js +21 -0
  265. package/services/keyring-service/context/stores/ModifyPair.d.ts +10 -0
  266. package/services/keyring-service/context/stores/ModifyPair.js +12 -0
  267. package/services/keyring-service/context/stores/index.d.ts +3 -0
  268. package/services/keyring-service/context/stores/index.js +6 -0
  269. package/services/keyring-service/index.d.ts +10 -22
  270. package/services/keyring-service/index.js +20 -161
  271. package/services/migration-service/scripts/index.js +6 -4
  272. package/services/migration-service/scripts/{MigrateLedgerAccountV2.d.ts → keyring/MigrateLedgerAccountV2.d.ts} +1 -1
  273. package/services/migration-service/scripts/{MigrateLedgerAccountV2.js → keyring/MigrateLedgerAccountV2.js} +1 -1
  274. package/services/migration-service/scripts/keyring/MigratePairData.d.ts +4 -0
  275. package/services/migration-service/scripts/keyring/MigratePairData.js +20 -0
  276. package/services/migration-service/scripts/{MigrateRemoveGenesisHash.js → keyring/MigrateRemoveGenesisHash.js} +1 -1
  277. package/services/mkt-campaign-service/types.d.ts +4 -0
  278. package/services/request-service/constants.d.ts +1 -1
  279. package/services/request-service/constants.js +2 -1
  280. package/services/request-service/handler/AuthRequestHandler.d.ts +1 -0
  281. package/services/request-service/handler/AuthRequestHandler.js +93 -45
  282. package/services/request-service/handler/EvmRequestHandler.js +3 -4
  283. package/services/request-service/handler/SubstrateRequestHandler.d.ts +2 -2
  284. package/services/request-service/handler/SubstrateRequestHandler.js +5 -11
  285. package/services/request-service/handler/TonRequestHandler.d.ts +17 -0
  286. package/services/request-service/handler/TonRequestHandler.js +168 -0
  287. package/services/request-service/index.d.ts +8 -3
  288. package/services/request-service/index.js +23 -5
  289. package/services/request-service/types.d.ts +6 -3
  290. package/services/swap-service/handler/asset-hub/handler.d.ts +1 -1
  291. package/services/swap-service/handler/asset-hub/handler.js +2 -1
  292. package/services/swap-service/handler/base-handler.js +1 -1
  293. package/services/swap-service/handler/chainflip-handler.d.ts +1 -1
  294. package/services/swap-service/handler/chainflip-handler.js +4 -3
  295. package/services/swap-service/handler/hydradx-handler.d.ts +1 -1
  296. package/services/swap-service/handler/hydradx-handler.js +2 -1
  297. package/services/swap-service/index.js +1 -1
  298. package/services/transaction-service/helpers/index.d.ts +2 -0
  299. package/services/transaction-service/helpers/index.js +4 -0
  300. package/services/transaction-service/index.d.ts +1 -0
  301. package/services/transaction-service/index.js +114 -17
  302. package/services/transaction-service/types.d.ts +4 -2
  303. package/services/wallet-connect-service/handler/PolkadotRequestHandler.js +2 -10
  304. package/stores/AccountProxyStore.d.ts +5 -0
  305. package/stores/AccountProxyStore.js +10 -0
  306. package/stores/Authorize.d.ts +1 -1
  307. package/stores/CurrentAccountStore.d.ts +1 -1
  308. package/stores/ModifyPairStore.d.ts +5 -0
  309. package/stores/ModifyPairStore.js +10 -0
  310. package/stores/index.d.ts +4 -1
  311. package/stores/index.js +5 -2
  312. package/types/account/action/add/index.d.ts +3 -0
  313. package/types/account/action/add/index.js +6 -0
  314. package/types/account/action/add/json.d.ts +29 -0
  315. package/types/account/action/add/json.js +1 -0
  316. package/types/account/action/add/mnemonic.d.ts +77 -0
  317. package/types/account/action/add/mnemonic.js +1 -0
  318. package/types/account/action/add/secret.d.ts +55 -0
  319. package/types/account/action/add/secret.js +1 -0
  320. package/types/account/action/derive.d.ts +77 -0
  321. package/types/account/action/derive.js +1 -0
  322. package/types/account/action/edit.d.ts +31 -0
  323. package/types/account/action/edit.js +1 -0
  324. package/types/account/action/export.d.ts +15 -0
  325. package/types/account/action/export.js +1 -0
  326. package/types/account/action/index.d.ts +6 -0
  327. package/types/account/action/index.js +9 -0
  328. package/types/account/action/subscribe.d.ts +22 -0
  329. package/types/account/action/subscribe.js +10 -0
  330. package/types/account/action/validate.d.ts +17 -0
  331. package/types/account/action/validate.js +1 -0
  332. package/types/account/error/common.d.ts +10 -0
  333. package/types/account/error/common.js +33 -0
  334. package/types/account/error/derive.d.ts +13 -0
  335. package/types/account/error/derive.js +48 -0
  336. package/types/account/error/index.d.ts +2 -0
  337. package/types/account/error/index.js +5 -0
  338. package/types/account/index.d.ts +3 -0
  339. package/types/account/index.js +6 -0
  340. package/types/account/info/current.d.ts +10 -0
  341. package/types/account/info/current.js +1 -0
  342. package/types/account/info/index.d.ts +3 -0
  343. package/types/account/info/index.js +6 -0
  344. package/types/account/info/keyring.d.ts +161 -0
  345. package/types/account/info/keyring.js +88 -0
  346. package/types/account/info/proxy.d.ts +73 -0
  347. package/types/account/info/proxy.js +46 -0
  348. package/types/balance/index.d.ts +4 -1
  349. package/types/buy.d.ts +3 -1
  350. package/types/error.d.ts +8 -0
  351. package/types/error.js +1 -0
  352. package/types/index.d.ts +4 -0
  353. package/types/index.js +5 -1
  354. package/types/transaction/data.d.ts +17 -0
  355. package/types/transaction/data.js +1 -0
  356. package/types/transaction/error.d.ts +39 -0
  357. package/types/transaction/error.js +44 -0
  358. package/types/transaction/index.d.ts +4 -0
  359. package/types/transaction/index.js +7 -0
  360. package/types/transaction/request.d.ts +24 -0
  361. package/types/transaction/request.js +1 -0
  362. package/types/transaction/warning.d.ts +5 -0
  363. package/types/transaction/warning.js +8 -0
  364. package/types/yield/actions/join/submit.d.ts +2 -2
  365. package/types/yield/actions/join/validate.d.ts +1 -6
  366. package/types/yield/actions/join/validate.js +1 -10
  367. package/types/yield/actions/others.d.ts +1 -1
  368. package/utils/account/analyze.d.ts +4 -0
  369. package/utils/account/analyze.js +159 -0
  370. package/utils/account/common.d.ts +16 -0
  371. package/utils/account/common.js +104 -0
  372. package/utils/account/derive/index.d.ts +2 -0
  373. package/utils/account/derive/index.js +5 -0
  374. package/utils/account/derive/info/index.d.ts +2 -0
  375. package/utils/account/derive/info/index.js +5 -0
  376. package/utils/account/derive/info/solo.d.ts +11 -0
  377. package/utils/account/derive/info/solo.js +230 -0
  378. package/utils/account/derive/info/unified.d.ts +7 -0
  379. package/utils/account/derive/info/unified.js +102 -0
  380. package/utils/account/derive/validate.d.ts +8 -0
  381. package/utils/account/derive/validate.js +165 -0
  382. package/utils/account/index.d.ts +4 -0
  383. package/utils/account/index.js +7 -0
  384. package/utils/account/transform.d.ts +41 -0
  385. package/utils/account/transform.js +533 -0
  386. package/utils/auth.d.ts +2 -0
  387. package/utils/auth.js +39 -0
  388. package/utils/canDerive.d.ts +1 -1
  389. package/utils/eth/mergeTransactionAndSignature.d.ts +1 -1
  390. package/utils/getId.d.ts +1 -0
  391. package/utils/getId.js +3 -1
  392. package/utils/index.d.ts +12 -5
  393. package/utils/index.js +28 -47
  394. package/cjs/signers/substrates/KeyringSigner.js +0 -35
  395. package/cjs/signers/substrates/LedgerSigner.js +0 -44
  396. package/cjs/signers/substrates/QrSigner.js +0 -63
  397. package/cjs/signers/types.js +0 -15
  398. package/cjs/signers/web3/QrSigner.js +0 -67
  399. package/cjs/utils/account.js +0 -34
  400. package/signers/substrates/KeyringSigner.d.ts +0 -13
  401. package/signers/substrates/KeyringSigner.js +0 -27
  402. package/signers/substrates/LedgerSigner.d.ts +0 -13
  403. package/signers/substrates/LedgerSigner.js +0 -37
  404. package/signers/substrates/QrSigner.d.ts +0 -20
  405. package/signers/substrates/QrSigner.js +0 -55
  406. package/signers/types.d.ts +0 -34
  407. package/signers/types.js +0 -9
  408. package/signers/web3/QrSigner.d.ts +0 -18
  409. package/signers/web3/QrSigner.js +0 -59
  410. package/types/transaction.d.ts +0 -3
  411. package/utils/account.d.ts +0 -5
  412. package/utils/account.js +0 -24
  413. /package/cjs/{types/transaction.js → services/balance-service/helpers/subscribe/ton/types.js} +0 -0
  414. /package/cjs/services/migration-service/scripts/{MigrateLedgerAccount.js → keyring/MigrateLedgerAccount.js} +0 -0
  415. /package/{types/transaction.js → services/balance-service/helpers/subscribe/ton/types.js} +0 -0
  416. /package/services/migration-service/scripts/{MigrateLedgerAccount.d.ts → keyring/MigrateLedgerAccount.d.ts} +0 -0
  417. /package/services/migration-service/scripts/{MigrateLedgerAccount.js → keyring/MigrateLedgerAccount.js} +0 -0
  418. /package/services/migration-service/scripts/{MigrateRemoveGenesisHash.d.ts → keyring/MigrateRemoveGenesisHash.d.ts} +0 -0
@@ -0,0 +1,26 @@
1
+ import { _ChainInfo } from '@subwallet/chain-list/types';
2
+ import { AccountJson } from '@subwallet/extension-base/types';
3
+ export declare type LedgerMustCheckType = 'polkadot' | 'migration' | 'unnecessary';
4
+ export declare enum ValidationCondition {
5
+ IS_NOT_NULL = "IS_NOT_NULL",
6
+ IS_ADDRESS = "IS_ADDRESS",
7
+ IS_VALID_ADDRESS_FOR_ECOSYSTEM = "IS_VALID_ADDRESS_FOR_ECOSYSTEM",
8
+ IS_VALID_SUBSTRATE_ADDRESS_FORMAT = "IS_VALID_SUBSTRATE_ADDRESS_FORMAT",
9
+ IS_VALID_TON_ADDRESS_FORMAT = "IS_VALID_TON_ADDRESS_FORMAT",
10
+ IS_NOT_DUPLICATE_ADDRESS = "IS_NOT_DUPLICATE_ADDRESS",
11
+ IS_SUPPORT_LEDGER_ACCOUNT = "IS_SUPPORT_LEDGER_ACCOUNT"
12
+ }
13
+ export declare enum ActionType {
14
+ SEND_FUND = "SEND_FUND",
15
+ SEND_NFT = "SEND_NFT",
16
+ SWAP = "SWAP"
17
+ }
18
+ export interface ValidateRecipientParams {
19
+ srcChain: string;
20
+ destChainInfo: _ChainInfo;
21
+ fromAddress: string;
22
+ toAddress: string;
23
+ account: AccountJson | null;
24
+ actionType: ActionType;
25
+ autoFormatValue?: boolean;
26
+ }
package/core/types.js ADDED
@@ -0,0 +1,19 @@
1
+ // Copyright 2019-2022 @subwallet/extension-base
2
+ // SPDX-License-Identifier: Apache-2.0
3
+
4
+ export let ValidationCondition;
5
+ (function (ValidationCondition) {
6
+ ValidationCondition["IS_NOT_NULL"] = "IS_NOT_NULL";
7
+ ValidationCondition["IS_ADDRESS"] = "IS_ADDRESS";
8
+ ValidationCondition["IS_VALID_ADDRESS_FOR_ECOSYSTEM"] = "IS_VALID_ADDRESS_FOR_ECOSYSTEM";
9
+ ValidationCondition["IS_VALID_SUBSTRATE_ADDRESS_FORMAT"] = "IS_VALID_SUBSTRATE_ADDRESS_FORMAT";
10
+ ValidationCondition["IS_VALID_TON_ADDRESS_FORMAT"] = "IS_VALID_TON_ADDRESS_FORMAT";
11
+ ValidationCondition["IS_NOT_DUPLICATE_ADDRESS"] = "IS_NOT_DUPLICATE_ADDRESS";
12
+ ValidationCondition["IS_SUPPORT_LEDGER_ACCOUNT"] = "IS_SUPPORT_LEDGER_ACCOUNT";
13
+ })(ValidationCondition || (ValidationCondition = {}));
14
+ export let ActionType;
15
+ (function (ActionType) {
16
+ ActionType["SEND_FUND"] = "SEND_FUND";
17
+ ActionType["SEND_NFT"] = "SEND_NFT";
18
+ ActionType["SWAP"] = "SWAP";
19
+ })(ActionType || (ActionType = {}));
package/core/utils.d.ts CHANGED
@@ -1,4 +1,14 @@
1
1
  import { ExtrinsicType } from '@subwallet/extension-base/background/KoniTypes';
2
+ import { LedgerMustCheckType, ValidateRecipientParams } from '@subwallet/extension-base/core/types';
3
+ import { AccountJson } from '@subwallet/extension-base/types';
2
4
  export declare function getStrictMode(type: string, extrinsicType?: ExtrinsicType): boolean;
3
5
  export declare function _getAppliedExistentialDeposit(existentialDeposit: string, strictMode?: boolean): bigint;
4
6
  export declare function getMaxBigInt(a: bigint, b: bigint): bigint;
7
+ export declare function ledgerMustCheckNetwork(account: AccountJson | null): LedgerMustCheckType;
8
+ export declare function _isNotNull(validateRecipientParams: ValidateRecipientParams): string;
9
+ export declare function _isAddress(validateRecipientParams: ValidateRecipientParams): string;
10
+ export declare function _isValidAddressForEcosystem(validateRecipientParams: ValidateRecipientParams): string;
11
+ export declare function _isValidSubstrateAddressFormat(validateRecipientParams: ValidateRecipientParams): string;
12
+ export declare function _isValidTonAddressFormat(validateRecipientParams: ValidateRecipientParams): string;
13
+ export declare function _isNotDuplicateAddress(validateRecipientParams: ValidateRecipientParams): string;
14
+ export declare function _isSupportLedgerAccount(validateRecipientParams: ValidateRecipientParams): string;
package/core/utils.js CHANGED
@@ -2,7 +2,13 @@
2
2
  // SPDX-License-Identifier: Apache-2.0
3
3
 
4
4
  import { ExtrinsicType } from '@subwallet/extension-base/background/KoniTypes';
5
+ import { LEDGER_GENERIC_ALLOW_NETWORKS } from '@subwallet/extension-base/core/consts';
5
6
  import { BalanceAccountType } from '@subwallet/extension-base/core/substrate/types';
7
+ import { tonAddressInfo } from '@subwallet/extension-base/services/balance-service/helpers/subscribe/ton/utils';
8
+ import { _isChainEvmCompatible, _isChainSubstrateCompatible, _isChainTonCompatible } from '@subwallet/extension-base/services/chain-service/utils';
9
+ import { isAddressAndChainCompatible, isSameAddress, reformatAddress } from '@subwallet/extension-base/utils';
10
+ import { isAddress, isTonAddress } from '@subwallet/keyring';
11
+ import { isEthereumAddress } from '@polkadot/util-crypto';
6
12
  export function getStrictMode(type, extrinsicType) {
7
13
  if (type === BalanceAccountType.FrameSystemAccountInfo) {
8
14
  return !extrinsicType || ![ExtrinsicType.TRANSFER_BALANCE].includes(extrinsicType);
@@ -14,4 +20,103 @@ export function _getAppliedExistentialDeposit(existentialDeposit, strictMode) {
14
20
  }
15
21
  export function getMaxBigInt(a, b) {
16
22
  return a > b ? a : b;
23
+ }
24
+ export function ledgerMustCheckNetwork(account) {
25
+ if (account && account.isHardware && account.isGeneric && !isEthereumAddress(account.address)) {
26
+ return account.originGenesisHash ? 'migration' : 'polkadot';
27
+ } else {
28
+ return 'unnecessary';
29
+ }
30
+ }
31
+
32
+ // --- recipient address validation --- //
33
+
34
+ export function _isNotNull(validateRecipientParams) {
35
+ const {
36
+ toAddress
37
+ } = validateRecipientParams;
38
+ if (!toAddress) {
39
+ return 'Recipient address is required';
40
+ }
41
+ return '';
42
+ }
43
+ export function _isAddress(validateRecipientParams) {
44
+ const {
45
+ toAddress
46
+ } = validateRecipientParams;
47
+ if (!isAddress(toAddress)) {
48
+ return 'Invalid recipient address';
49
+ }
50
+ return '';
51
+ }
52
+ export function _isValidAddressForEcosystem(validateRecipientParams) {
53
+ const {
54
+ destChainInfo,
55
+ toAddress
56
+ } = validateRecipientParams;
57
+ if (!isAddressAndChainCompatible(toAddress, destChainInfo)) {
58
+ if (_isChainEvmCompatible(destChainInfo) || _isChainSubstrateCompatible(destChainInfo) || _isChainTonCompatible(destChainInfo)) {
59
+ return 'Recipient address must be the same type as sender address';
60
+ }
61
+ return 'Unknown chain type';
62
+ }
63
+ return '';
64
+ }
65
+ export function _isValidSubstrateAddressFormat(validateRecipientParams) {
66
+ var _destChainInfo$substr, _destChainInfo$substr2;
67
+ const {
68
+ destChainInfo,
69
+ toAddress
70
+ } = validateRecipientParams;
71
+ const addressPrefix = (_destChainInfo$substr = destChainInfo === null || destChainInfo === void 0 ? void 0 : (_destChainInfo$substr2 = destChainInfo.substrateInfo) === null || _destChainInfo$substr2 === void 0 ? void 0 : _destChainInfo$substr2.addressPrefix) !== null && _destChainInfo$substr !== void 0 ? _destChainInfo$substr : 42;
72
+ const toAddressFormatted = reformatAddress(toAddress, addressPrefix);
73
+ if (toAddressFormatted !== toAddress) {
74
+ return `Recipient address must be a valid ${destChainInfo.name} address`;
75
+ }
76
+ return '';
77
+ }
78
+ export function _isValidTonAddressFormat(validateRecipientParams) {
79
+ const {
80
+ destChainInfo,
81
+ toAddress
82
+ } = validateRecipientParams;
83
+ const tonInfoData = isTonAddress(toAddress) && tonAddressInfo(toAddress);
84
+ if (tonInfoData && tonInfoData.isTestOnly !== destChainInfo.isTestnet) {
85
+ return `Recipient address must be a valid ${destChainInfo.name} address`;
86
+ }
87
+ return '';
88
+ }
89
+ export function _isNotDuplicateAddress(validateRecipientParams) {
90
+ const {
91
+ fromAddress,
92
+ toAddress
93
+ } = validateRecipientParams;
94
+ if (isSameAddress(fromAddress, toAddress)) {
95
+ return 'Recipient address must be different from sender address';
96
+ }
97
+ return '';
98
+ }
99
+ export function _isSupportLedgerAccount(validateRecipientParams) {
100
+ const {
101
+ account,
102
+ destChainInfo
103
+ } = validateRecipientParams;
104
+ if (account !== null && account !== void 0 && account.isHardware) {
105
+ if (!account.isGeneric) {
106
+ var _destChainInfo$substr3;
107
+ // For ledger legacy
108
+ const availableGen = account.availableGenesisHashes || [];
109
+ const destChainName = (destChainInfo === null || destChainInfo === void 0 ? void 0 : destChainInfo.name) || 'Unknown';
110
+ if (!availableGen.includes((destChainInfo === null || destChainInfo === void 0 ? void 0 : (_destChainInfo$substr3 = destChainInfo.substrateInfo) === null || _destChainInfo$substr3 === void 0 ? void 0 : _destChainInfo$substr3.genesisHash) || '')) {
111
+ return 'Your Ledger account is not supported by {{network}} network.'.replace('{{network}}', destChainName);
112
+ }
113
+ } else {
114
+ // For ledger generic
115
+ const ledgerCheck = ledgerMustCheckNetwork(account);
116
+ if (ledgerCheck !== 'unnecessary' && !LEDGER_GENERIC_ALLOW_NETWORKS.includes(destChainInfo.slug)) {
117
+ return `Ledger ${ledgerCheck === 'polkadot' ? 'Polkadot' : 'Migration'} address is not supported for this transfer`;
118
+ }
119
+ }
120
+ }
121
+ return '';
17
122
  }
@@ -164,7 +164,7 @@ export async function subscribeCrowdloan(addresses, substrateApiMap, callback) {
164
164
  const now = Date.now();
165
165
  const polkadotAPI = await substrateApiMap[COMMON_CHAIN_SLUGS.POLKADOT].isReady;
166
166
  const kusamaAPI = await substrateApiMap[COMMON_CHAIN_SLUGS.KUSAMA].isReady;
167
- const substrateAddresses = categoryAddresses(addresses)[0];
167
+ const substrateAddresses = categoryAddresses(addresses).substrate;
168
168
  const hexAddresses = substrateAddresses.map(address => {
169
169
  return registry.createType('AccountId', address).toHex();
170
170
  });
@@ -18,7 +18,10 @@ import { _isChainSupportEvmNft, _isChainSupportNativeNft, _isChainSupportWasmNft
18
18
  import { categoryAddresses, targetIsWeb } from '@subwallet/extension-base/utils';
19
19
  import AssetHubNftsPalletApi from "./assethub_nft/index.js";
20
20
  function createSubstrateNftApi(chain, substrateApi, addresses) {
21
- const [substrateAddresses, evmAddresses] = categoryAddresses(addresses);
21
+ const {
22
+ evm: evmAddresses,
23
+ substrate: substrateAddresses
24
+ } = categoryAddresses(addresses);
22
25
  if (_NFT_CHAIN_GROUP.acala.includes(chain)) {
23
26
  return [new AcalaNftApi(substrateApi, substrateAddresses, chain)];
24
27
  } else if (_NFT_CHAIN_GROUP.karura.includes(chain)) {
@@ -43,11 +46,11 @@ function createSubstrateNftApi(chain, substrateApi, addresses) {
43
46
  return null;
44
47
  }
45
48
  function createWasmNftApi(chain, apiProps, addresses) {
46
- const [substrateAddresses] = categoryAddresses(addresses);
49
+ const substrateAddresses = categoryAddresses(addresses).substrate;
47
50
  return new WasmNftApi(apiProps, substrateAddresses, chain);
48
51
  }
49
52
  function createWeb3NftApi(chain, evmApi, addresses) {
50
- const [, evmAddresses] = categoryAddresses(addresses);
53
+ const evmAddresses = categoryAddresses(addresses).evm;
51
54
  return new EvmNftApi(evmApi, evmAddresses, chain);
52
55
  }
53
56
  const createOrdinalApi = (chain, subscanChain, addresses) => {
@@ -81,7 +84,10 @@ export class NftHandler {
81
84
  }
82
85
  setAddresses(addresses) {
83
86
  this.addresses = addresses;
84
- const [substrateAddresses, evmAddresses] = categoryAddresses(addresses);
87
+ const {
88
+ evm: evmAddresses,
89
+ substrate: substrateAddresses
90
+ } = categoryAddresses(addresses);
85
91
  for (const handler of this.handlers) {
86
92
  const useAddresses = handler.isEthereum ? evmAddresses : substrateAddresses;
87
93
  handler.setAddresses(useAddresses);
@@ -106,7 +112,10 @@ export class NftHandler {
106
112
  if (this.needSetupApi) {
107
113
  // setup connections for first time use
108
114
  this.handlers = [];
109
- const [substrateAddresses, evmAddresses] = categoryAddresses(this.addresses);
115
+ const {
116
+ evm: evmAddresses,
117
+ substrate: substrateAddresses
118
+ } = categoryAddresses(this.addresses);
110
119
  Object.entries(this.chainInfoMap).forEach(([chain, chainInfo]) => {
111
120
  if (_isChainSupportNativeNft(chainInfo)) {
112
121
  if (this.substrateApiMap[chain]) {
@@ -2,12 +2,12 @@
2
2
  // SPDX-License-Identifier: Apache-2.0
3
3
 
4
4
  import { TransactionError } from '@subwallet/extension-base/background/errors/TransactionError';
5
- import { BasicTxErrorType, StakingTxErrorType, StakingType } from '@subwallet/extension-base/background/KoniTypes';
5
+ import { StakingType } from '@subwallet/extension-base/background/KoniTypes';
6
6
  import { getBondedValidators, getEarningStatusByNominations, getExistUnstakeErrorMessage, getMaxValidatorErrorMessage, getMinStakeErrorMessage, getParaCurrentInflation, isUnstakeAll } from '@subwallet/extension-base/koni/api/staking/bonding/utils';
7
7
  import { _STAKING_ERA_LENGTH_MAP } from '@subwallet/extension-base/services/chain-service/constants';
8
8
  import { _isChainEvmCompatible } from '@subwallet/extension-base/services/chain-service/utils';
9
9
  import { parseIdentity } from '@subwallet/extension-base/services/earning-service/utils';
10
- import { EarningStatus, UnstakingStatus } from '@subwallet/extension-base/types';
10
+ import { BasicTxErrorType, EarningStatus, StakingTxErrorType, UnstakingStatus } from '@subwallet/extension-base/types';
11
11
  import { isSameAddress, parseRawNumber, reformatAddress } from '@subwallet/extension-base/utils';
12
12
  import { BN, BN_ZERO } from '@polkadot/util';
13
13
  import { isEthereumAddress } from '@polkadot/util-crypto';
@@ -2,14 +2,14 @@
2
2
  // SPDX-License-Identifier: Apache-2.0
3
3
 
4
4
  import { TransactionError } from '@subwallet/extension-base/background/errors/TransactionError';
5
- import { StakingTxErrorType, StakingType } from '@subwallet/extension-base/background/KoniTypes';
5
+ import { StakingType } from '@subwallet/extension-base/background/KoniTypes';
6
6
  import { MAX_NOMINATIONS } from '@subwallet/extension-base/constants';
7
7
  import { calculateAlephZeroValidatorReturn, calculateChainStakedReturn, calculateInflation, calculateTernoaValidatorReturn, calculateValidatorStakedReturn, getCommission, getExistUnstakeErrorMessage, getMaxValidatorErrorMessage, getMinStakeErrorMessage, parsePoolStashAddress } from '@subwallet/extension-base/koni/api/staking/bonding/utils';
8
8
  import { _EXPECTED_BLOCK_TIME, _STAKING_ERA_LENGTH_MAP } from '@subwallet/extension-base/services/chain-service/constants';
9
9
  import { _getChainSubstrateAddressPrefix } from '@subwallet/extension-base/services/chain-service/utils';
10
10
  import { _STAKING_CHAIN_GROUP } from '@subwallet/extension-base/services/earning-service/constants';
11
11
  import { parseIdentity } from '@subwallet/extension-base/services/earning-service/utils';
12
- import { EarningStatus, UnstakingStatus } from '@subwallet/extension-base/types';
12
+ import { EarningStatus, StakingTxErrorType, UnstakingStatus } from '@subwallet/extension-base/types';
13
13
  import { reformatAddress } from '@subwallet/extension-base/utils';
14
14
  import BigN from 'bignumber.js';
15
15
  import { t } from 'i18next';
@@ -10,7 +10,10 @@ import { _STAKING_CHAIN_GROUP } from '@subwallet/extension-base/services/earning
10
10
  import { categoryAddresses } from '@subwallet/extension-base/utils';
11
11
  export function stakingOnChainApi(addresses, substrateApiMap, chainInfoMap, stakingCallback, nominatorStateCallback) {
12
12
  const filteredApiMap = [];
13
- const [substrateAddresses, evmAddresses] = categoryAddresses(addresses);
13
+ const {
14
+ evm: evmAddresses,
15
+ substrate: substrateAddresses
16
+ } = categoryAddresses(addresses);
14
17
  Object.entries(chainInfoMap).forEach(([networkKey, chainInfo]) => {
15
18
  if (_PURE_EVM_CHAINS.indexOf(networkKey) < 0 && _isChainSupportSubstrateStaking(chainInfo)) {
16
19
  filteredApiMap.push({
@@ -52,7 +52,7 @@ export class KoniCron {
52
52
  return;
53
53
  }
54
54
  await Promise.all([this.state.eventService.waitKeyringReady, this.state.eventService.waitAssetReady]);
55
- const currentAccountInfo = this.state.keyringService.currentAccount;
55
+ const currentAccountInfo = this.state.keyringService.context.currentAccount;
56
56
  const commonReloadEvents = ['account.add', 'account.remove', 'account.updateCurrent', 'chain.add', 'asset.updateState'];
57
57
  const mktCampaignReloadEvents = ['account.add', 'account.remove'];
58
58
  this.eventHandler = (events, eventTypes) => {
@@ -74,7 +74,7 @@ export class KoniCron {
74
74
  if (!commonReload && !chainUpdated && !reloadMantaPay) {
75
75
  return;
76
76
  }
77
- const address = (_serviceInfo$currentA = serviceInfo.currentAccountInfo) === null || _serviceInfo$currentA === void 0 ? void 0 : _serviceInfo$currentA.address;
77
+ const address = (_serviceInfo$currentA = serviceInfo.currentAccountInfo) === null || _serviceInfo$currentA === void 0 ? void 0 : _serviceInfo$currentA.proxyId;
78
78
  if (!address) {
79
79
  return;
80
80
  }
@@ -109,12 +109,12 @@ export class KoniCron {
109
109
  this.state.eventService.onLazy(this.eventHandler);
110
110
  this.addCron('fetchPoolInfo', this.fetchPoolInfo, CRON_REFRESH_CHAIN_STAKING_METADATA);
111
111
  this.addCron('fetchMktCampaignData', this.fetchMktCampaignData, CRON_REFRESH_MKT_CAMPAIGN_INTERVAL);
112
- if (!(currentAccountInfo !== null && currentAccountInfo !== void 0 && currentAccountInfo.address)) {
112
+ if (!(currentAccountInfo !== null && currentAccountInfo !== void 0 && currentAccountInfo.proxyId)) {
113
113
  return;
114
114
  }
115
115
  if (Object.keys(this.state.getSubstrateApiMap()).length !== 0 || Object.keys(this.state.getEvmApiMap()).length !== 0) {
116
- this.resetNft(currentAccountInfo.address);
117
- this.addCron('refreshNft', this.refreshNft(currentAccountInfo.address, this.state.getApiMap(), this.state.getSmartContractNfts(), this.state.getActiveChainInfoMap()), CRON_REFRESH_NFT_INTERVAL);
116
+ this.resetNft(currentAccountInfo.proxyId);
117
+ this.addCron('refreshNft', this.refreshNft(currentAccountInfo.proxyId, this.state.getApiMap(), this.state.getSmartContractNfts(), this.state.getActiveChainInfoMap()), CRON_REFRESH_NFT_INTERVAL);
118
118
  // this.addCron('refreshStakingReward', this.refreshStakingReward(currentAccountInfo.address), CRON_REFRESH_STAKING_REWARD_INTERVAL);
119
119
  this.addCron('syncMantaPay', this.syncMantaPay, CRON_SYNC_MANTA_PAY);
120
120
  }
@@ -165,7 +165,7 @@ export class KoniCron {
165
165
  return Object.keys(serviceInfo.chainApiMap.substrate).length > 0 || Object.keys(serviceInfo.chainApiMap.evm).length > 0;
166
166
  };
167
167
  async reloadNft() {
168
- const address = this.state.keyringService.currentAccount.address;
168
+ const address = this.state.keyringService.context.currentAccount.proxyId;
169
169
  const serviceInfo = this.state.getServiceInfo();
170
170
  this.resetNft(address);
171
171
  this.removeCron('refreshNft');
@@ -174,7 +174,7 @@ export class KoniCron {
174
174
  return true;
175
175
  }
176
176
  async reloadStaking() {
177
- const address = this.state.keyringService.currentAccount.address;
177
+ const address = this.state.keyringService.context.currentAccount.proxyId;
178
178
  console.log('reload staking', address);
179
179
  await waitTimeout(1800);
180
180
  return true;
@@ -2,50 +2,45 @@
2
2
  import { MessageTypes, RequestTypes, ResponseAuthorizeList, ResponseType } from '@subwallet/extension-base/background/types';
3
3
  import KoniState from '@subwallet/extension-base/koni/background/handlers/State';
4
4
  import { SignerPayloadJSON, SignerPayloadRaw } from '@polkadot/types/types';
5
- import { Prefix } from '@polkadot/util-crypto/types';
6
- export declare const SEED_DEFAULT_LENGTH = 12;
7
- export declare const SEED_LENGTHS: number[];
8
5
  export declare function isJsonPayload(value: SignerPayloadJSON | SignerPayloadRaw): value is SignerPayloadJSON;
9
6
  export default class KoniExtension {
10
7
  #private;
11
8
  constructor(state: KoniState);
12
- private accountsCreateExternal;
13
- private accountsCreateHardware;
14
- private accountsCreateSuri;
15
- private accountsChangePassword;
16
9
  private accountsEdit;
10
+ private tonGetAllTonWalletContractVersion;
11
+ private tonAccountChangeWalletContractVersion;
17
12
  private accountsExport;
18
- private accountsShow;
19
- private accountsValidate;
20
- private accountsSubscribe;
21
13
  private metadataApprove;
22
14
  private metadataGet;
23
15
  private metadataList;
24
16
  private metadataReject;
25
17
  private metadataSubscribe;
26
- private jsonRestore;
27
- private batchRestore;
28
- private jsonGetAccountInfo;
29
- private seedCreate;
30
- private seedValidate;
31
18
  private signingApproveSignature;
32
19
  private signingCancel;
33
20
  private signingSubscribe;
34
21
  private windowOpen;
35
- private derive;
36
- private derivationValidate;
37
- private derivationCreate;
38
22
  private cancelSubscription;
39
23
  private createUnsubscriptionHandle;
40
- decodeAddress: (key: string | Uint8Array, ignoreChecksum?: boolean, ss58Format?: Prefix) => Uint8Array;
41
- encodeAddress: (key: string | Uint8Array, ss58Format?: Prefix) => string;
42
24
  private accountExportPrivateKey;
43
25
  private checkPublicAndSecretKey;
26
+ private checkNameExists;
44
27
  private accountsGetAllWithCurrentAddress;
45
- private accountsGetAll;
28
+ private subscribeInputAddressData;
29
+ /**
30
+ * @todo: move to keyring context
31
+ * */
46
32
  private subscribeAddresses;
33
+ /**
34
+ * @todo: move to keyring context
35
+ * */
47
36
  private saveRecentAccount;
37
+ /**
38
+ * @todo: move to keyring context
39
+ * */
48
40
  private editContactAccount;
41
+ /**
42
+ * @todo: move to keyring context
43
+ * */
49
44
  private deleteContactAccount;
50
45
  private _getAuthListV2;
51
46
  private authorizeSubscribeV2;
@@ -57,7 +52,7 @@ export default class KoniExtension {
57
52
  private forgetSite;
58
53
  private _forgetAllSite;
59
54
  private forgetAllSite;
60
- private getAccounts;
55
+ private getPairs;
61
56
  private isAddressValidWithAuthType;
62
57
  private filterAccountsByAccountAuthType;
63
58
  private _changeAuthorizationAll;
@@ -85,9 +80,7 @@ export default class KoniExtension {
85
80
  private setLanguage;
86
81
  private setShowBalance;
87
82
  private subscribeAuthUrls;
88
- private _saveCurrentAccountAddress;
89
- private updateCurrentAccountAddress;
90
- private saveCurrentAccountAddress;
83
+ private saveCurrentAccountProxy;
91
84
  private getAssetSetting;
92
85
  private subscribeAssetSetting;
93
86
  private updateAssetSetting;
@@ -99,21 +92,17 @@ export default class KoniExtension {
99
92
  private getCrowdloan;
100
93
  private getCrowdloanContributions;
101
94
  private subscribeCrowdloan;
102
- private validatePassword;
103
- private validatedAccountsPassword;
104
- private _addAddressToAuthList;
105
- private _addAddressesToAuthList;
106
95
  private accountsCreateSuriV2;
107
96
  private accountsForgetOverride;
108
97
  private seedCreateV2;
109
98
  private seedValidateV2;
110
- private _checkValidatePrivateKey;
111
- private metamaskPrivateKeyValidateV2;
112
- private deriveV2;
113
- private derivationCreateV2;
99
+ private privateKeyValidateV2;
100
+ private parseInfoSingleJson;
114
101
  private jsonRestoreV2;
102
+ private parseInfoMultiJson;
115
103
  private batchRestoreV2;
116
104
  private batchExportV2;
105
+ private exportAccountProxyMnemonic;
117
106
  private getNftCollection;
118
107
  private subscribeNftCollection;
119
108
  private getNft;
@@ -147,8 +136,6 @@ export default class KoniExtension {
147
136
  private subscribeAddressTransferableBalance;
148
137
  private substrateNftSubmitTransaction;
149
138
  private enableChains;
150
- private getAccountMeta;
151
- private accountsTie2;
152
139
  private accountsCreateExternalV2;
153
140
  private accountsCreateHardwareV2;
154
141
  private accountsCreateHardwareMultiple;
@@ -156,7 +143,9 @@ export default class KoniExtension {
156
143
  private rejectExternalRequest;
157
144
  private resolveQrTransfer;
158
145
  private subscribeConfirmations;
146
+ private subscribeConfirmationsTon;
159
147
  private completeConfirmation;
148
+ private completeConfirmationTon;
160
149
  private getNetworkJsonByChainId;
161
150
  private parseSubstrateTransaction;
162
151
  private parseEVMRLP;
@@ -188,6 +177,7 @@ export default class KoniExtension {
188
177
  private derivationCreateMultiple;
189
178
  private derivationCreateV3;
190
179
  private validateDerivePath;
180
+ private getDeriveSuggestion;
191
181
  private getListDeriveAccounts;
192
182
  private subscribeChainInfoMap;
193
183
  private subscribeChainStateMap;
@@ -216,6 +206,7 @@ export default class KoniExtension {
216
206
  private enableMantaPay;
217
207
  private initSyncMantaPay;
218
208
  private disableMantaPay;
209
+ private isTonBounceableAddress;
219
210
  private subscribeMantaPayConfig;
220
211
  private subscribeMantaPaySyncState;
221
212
  private findRawMetadata;