@subwallet/extension-base 1.3.41-0 → 1.3.43-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 (219) hide show
  1. package/background/KoniTypes.d.ts +134 -5
  2. package/background/KoniTypes.js +18 -0
  3. package/background/errors/BitcoinProviderError.d.ts +6 -0
  4. package/background/errors/BitcoinProviderError.js +47 -0
  5. package/background/types.d.ts +1 -1
  6. package/cjs/background/KoniTypes.js +20 -1
  7. package/cjs/background/errors/BitcoinProviderError.js +54 -0
  8. package/cjs/constants/bitcoin.js +22 -0
  9. package/cjs/constants/index.js +16 -1
  10. package/cjs/core/logic-validation/recipientAddress.js +9 -0
  11. package/cjs/core/logic-validation/request.js +316 -3
  12. package/cjs/core/logic-validation/transfer.js +25 -5
  13. package/cjs/core/types.js +1 -0
  14. package/cjs/core/utils.js +15 -1
  15. package/cjs/koni/background/handlers/Extension.js +477 -93
  16. package/cjs/koni/background/handlers/State.js +249 -16
  17. package/cjs/koni/background/handlers/Tabs.js +119 -6
  18. package/cjs/packageInfo.js +1 -1
  19. package/cjs/page/bitcoin/index.js +67 -0
  20. package/cjs/page/index.js +5 -0
  21. package/cjs/services/balance-service/helpers/subscribe/bitcoin.js +94 -0
  22. package/cjs/services/balance-service/helpers/subscribe/index.js +19 -7
  23. package/cjs/services/balance-service/index.js +32 -4
  24. package/cjs/services/balance-service/transfer/bitcoin-transfer.js +119 -0
  25. package/cjs/services/balance-service/transfer/token.js +2 -0
  26. package/cjs/services/base/types.js +2 -0
  27. package/cjs/services/buy-service/index.js +17 -2
  28. package/cjs/services/chain-service/constants.js +14 -3
  29. package/cjs/services/chain-service/handler/bitcoin/BitcoinApi.js +105 -0
  30. package/cjs/services/chain-service/handler/bitcoin/BitcoinChainHandler.js +78 -0
  31. package/cjs/services/chain-service/handler/bitcoin/strategy/BlockStreamTestnet/blockstream-testnet-strategy.js +371 -0
  32. package/cjs/services/chain-service/handler/bitcoin/strategy/BlockStreamTestnet/index.js +19 -0
  33. package/cjs/services/chain-service/handler/bitcoin/strategy/BlockStreamTestnet/mempool-testnet-strategy.js +368 -0
  34. package/cjs/services/chain-service/handler/bitcoin/strategy/SubWalletMainnet/index.js +302 -0
  35. package/cjs/services/chain-service/handler/bitcoin/strategy/types.js +1 -0
  36. package/cjs/services/chain-service/index.js +27 -3
  37. package/cjs/services/chain-service/utils/index.js +57 -4
  38. package/cjs/services/chain-service/utils/patch.js +1 -1
  39. package/cjs/services/earning-service/handlers/native-staking/para-chain.js +27 -5
  40. package/cjs/services/event-service/index.js +4 -0
  41. package/cjs/services/fee-service/service.js +8 -3
  42. package/cjs/services/hiro-service/index.js +96 -0
  43. package/cjs/services/hiro-service/utils/index.js +85 -0
  44. package/cjs/services/history-service/bitcoin-history.js +58 -0
  45. package/cjs/services/history-service/helpers/recoverHistoryStatus.js +96 -4
  46. package/cjs/services/history-service/index.js +41 -3
  47. package/cjs/services/keyring-service/context/handlers/Derive.js +1 -1
  48. package/cjs/services/keyring-service/context/handlers/Migration.js +2 -2
  49. package/cjs/services/keyring-service/context/handlers/Mnemonic.js +4 -3
  50. package/cjs/services/migration-service/scripts/MigrateNewUnifiedAccount.js +29 -0
  51. package/cjs/services/migration-service/scripts/index.js +3 -1
  52. package/cjs/services/request-service/handler/AuthRequestHandler.js +18 -0
  53. package/cjs/services/request-service/handler/BitcoinRequestHandler.js +427 -0
  54. package/cjs/services/request-service/index.js +29 -3
  55. package/cjs/services/rune-service/index.js +105 -0
  56. package/cjs/services/transaction-service/helpers/index.js +7 -1
  57. package/cjs/services/transaction-service/index.js +206 -16
  58. package/cjs/services/transaction-service/utils.js +6 -3
  59. package/cjs/strategy/api-request-strategy/context/base.js +31 -0
  60. package/cjs/strategy/api-request-strategy/index.js +90 -0
  61. package/cjs/strategy/api-request-strategy/types.js +1 -0
  62. package/cjs/strategy/api-request-strategy/utils/index.js +33 -0
  63. package/cjs/types/account/info/keyring.js +1 -1
  64. package/cjs/types/bitcoin.js +24 -0
  65. package/cjs/types/fee/bitcoin.js +1 -0
  66. package/cjs/types/fee/index.js +11 -0
  67. package/cjs/types/index.js +11 -0
  68. package/cjs/utils/account/analyze.js +3 -3
  69. package/cjs/utils/account/common.js +16 -6
  70. package/cjs/utils/account/derive/info/solo.js +68 -19
  71. package/cjs/utils/account/derive/info/unified.js +2 -0
  72. package/cjs/utils/account/derive/validate.js +70 -2
  73. package/cjs/utils/account/transform.js +11 -5
  74. package/cjs/utils/auth.js +2 -1
  75. package/cjs/utils/bitcoin/common.js +98 -0
  76. package/cjs/utils/bitcoin/fee.js +21 -0
  77. package/cjs/utils/bitcoin/index.js +38 -0
  78. package/cjs/utils/bitcoin/utxo-management.js +281 -0
  79. package/cjs/utils/fee/transfer.js +48 -0
  80. package/cjs/utils/index.js +15 -1
  81. package/constants/bitcoin.d.ts +3 -0
  82. package/constants/bitcoin.js +13 -0
  83. package/constants/index.d.ts +2 -0
  84. package/constants/index.js +3 -1
  85. package/core/logic-validation/recipientAddress.js +10 -1
  86. package/core/logic-validation/request.d.ts +6 -2
  87. package/core/logic-validation/request.js +309 -3
  88. package/core/logic-validation/transfer.d.ts +2 -2
  89. package/core/logic-validation/transfer.js +27 -7
  90. package/core/types.d.ts +1 -0
  91. package/core/types.js +1 -0
  92. package/core/utils.d.ts +1 -0
  93. package/core/utils.js +15 -2
  94. package/koni/background/handlers/Extension.d.ts +5 -0
  95. package/koni/background/handlers/Extension.js +387 -9
  96. package/koni/background/handlers/State.d.ts +10 -3
  97. package/koni/background/handlers/State.js +240 -15
  98. package/koni/background/handlers/Tabs.d.ts +7 -2
  99. package/koni/background/handlers/Tabs.js +119 -9
  100. package/package.json +149 -8
  101. package/packageInfo.js +1 -1
  102. package/page/bitcoin/index.d.ts +17 -0
  103. package/page/bitcoin/index.js +60 -0
  104. package/page/index.d.ts +2 -1
  105. package/page/index.js +4 -0
  106. package/services/balance-service/helpers/subscribe/bitcoin.d.ts +2 -0
  107. package/services/balance-service/helpers/subscribe/bitcoin.js +87 -0
  108. package/services/balance-service/helpers/subscribe/index.d.ts +2 -2
  109. package/services/balance-service/helpers/subscribe/index.js +20 -8
  110. package/services/balance-service/index.d.ts +2 -0
  111. package/services/balance-service/index.js +32 -4
  112. package/services/balance-service/transfer/bitcoin-transfer.d.ts +14 -0
  113. package/services/balance-service/transfer/bitcoin-transfer.js +112 -0
  114. package/services/balance-service/transfer/cardano-transfer.d.ts +2 -0
  115. package/services/balance-service/transfer/token.js +2 -0
  116. package/services/base/types.d.ts +2 -0
  117. package/services/base/types.js +2 -0
  118. package/services/buy-service/index.js +17 -2
  119. package/services/chain-service/constants.d.ts +6 -0
  120. package/services/chain-service/constants.js +8 -2
  121. package/services/chain-service/handler/bitcoin/BitcoinApi.d.ts +31 -0
  122. package/services/chain-service/handler/bitcoin/BitcoinApi.js +98 -0
  123. package/services/chain-service/handler/bitcoin/BitcoinChainHandler.d.ts +16 -0
  124. package/services/chain-service/handler/bitcoin/BitcoinChainHandler.js +70 -0
  125. package/services/chain-service/handler/bitcoin/strategy/BlockStreamTestnet/blockstream-testnet-strategy.d.ts +28 -0
  126. package/services/chain-service/handler/bitcoin/strategy/BlockStreamTestnet/blockstream-testnet-strategy.js +362 -0
  127. package/services/chain-service/handler/bitcoin/strategy/BlockStreamTestnet/index.d.ts +2 -0
  128. package/services/chain-service/handler/bitcoin/strategy/BlockStreamTestnet/index.js +5 -0
  129. package/services/chain-service/handler/bitcoin/strategy/BlockStreamTestnet/mempool-testnet-strategy.d.ts +28 -0
  130. package/services/chain-service/handler/bitcoin/strategy/BlockStreamTestnet/mempool-testnet-strategy.js +359 -0
  131. package/services/chain-service/handler/bitcoin/strategy/SubWalletMainnet/index.d.ts +28 -0
  132. package/services/chain-service/handler/bitcoin/strategy/SubWalletMainnet/index.js +293 -0
  133. package/services/chain-service/handler/bitcoin/strategy/types.d.ts +291 -0
  134. package/services/chain-service/handler/bitcoin/strategy/types.js +1 -0
  135. package/services/chain-service/index.d.ts +3 -0
  136. package/services/chain-service/index.js +31 -5
  137. package/services/chain-service/types.d.ts +20 -0
  138. package/services/chain-service/utils/index.d.ts +4 -0
  139. package/services/chain-service/utils/index.js +50 -4
  140. package/services/chain-service/utils/patch.js +1 -1
  141. package/services/earning-service/handlers/native-staking/para-chain.js +27 -5
  142. package/services/event-service/index.d.ts +3 -0
  143. package/services/event-service/index.js +4 -0
  144. package/services/event-service/types.d.ts +3 -0
  145. package/services/fee-service/service.js +8 -3
  146. package/services/hiro-service/index.d.ts +17 -0
  147. package/services/hiro-service/index.js +88 -0
  148. package/services/hiro-service/utils/index.d.ts +6 -0
  149. package/services/hiro-service/utils/index.js +72 -0
  150. package/services/history-service/bitcoin-history.d.ts +4 -0
  151. package/services/history-service/bitcoin-history.js +52 -0
  152. package/services/history-service/helpers/recoverHistoryStatus.d.ts +3 -1
  153. package/services/history-service/helpers/recoverHistoryStatus.js +96 -4
  154. package/services/history-service/index.d.ts +1 -0
  155. package/services/history-service/index.js +42 -4
  156. package/services/keyring-service/context/handlers/Derive.js +2 -2
  157. package/services/keyring-service/context/handlers/Migration.js +2 -2
  158. package/services/keyring-service/context/handlers/Mnemonic.js +4 -3
  159. package/services/migration-service/scripts/MigrateNewUnifiedAccount.d.ts +4 -0
  160. package/services/migration-service/scripts/MigrateNewUnifiedAccount.js +21 -0
  161. package/services/migration-service/scripts/index.js +3 -1
  162. package/services/request-service/handler/AuthRequestHandler.js +19 -1
  163. package/services/request-service/handler/BitcoinRequestHandler.d.ts +22 -0
  164. package/services/request-service/handler/BitcoinRequestHandler.js +414 -0
  165. package/services/request-service/index.d.ts +8 -2
  166. package/services/request-service/index.js +25 -3
  167. package/services/rune-service/index.d.ts +17 -0
  168. package/services/rune-service/index.js +97 -0
  169. package/services/transaction-service/helpers/index.d.ts +3 -1
  170. package/services/transaction-service/helpers/index.js +5 -0
  171. package/services/transaction-service/index.d.ts +4 -5
  172. package/services/transaction-service/index.js +205 -17
  173. package/services/transaction-service/types.d.ts +13 -2
  174. package/services/transaction-service/utils.js +7 -4
  175. package/strategy/api-request-strategy/context/base.d.ts +15 -0
  176. package/strategy/api-request-strategy/context/base.js +24 -0
  177. package/strategy/api-request-strategy/index.d.ts +15 -0
  178. package/strategy/api-request-strategy/index.js +83 -0
  179. package/strategy/api-request-strategy/types.d.ts +22 -0
  180. package/strategy/api-request-strategy/types.js +1 -0
  181. package/strategy/api-request-strategy/utils/index.d.ts +2 -0
  182. package/strategy/api-request-strategy/utils/index.js +23 -0
  183. package/types/account/info/keyring.d.ts +1 -1
  184. package/types/account/info/keyring.js +1 -1
  185. package/types/balance/index.d.ts +4 -1
  186. package/types/balance/transfer.d.ts +19 -0
  187. package/types/bitcoin.d.ts +93 -0
  188. package/types/bitcoin.js +17 -0
  189. package/types/buy.d.ts +1 -1
  190. package/types/fee/base.d.ts +4 -1
  191. package/types/fee/bitcoin.d.ts +18 -0
  192. package/types/fee/bitcoin.js +1 -0
  193. package/types/fee/index.d.ts +1 -0
  194. package/types/fee/index.js +2 -1
  195. package/types/fee/subscription.d.ts +4 -3
  196. package/types/index.d.ts +1 -0
  197. package/types/index.js +1 -0
  198. package/utils/account/analyze.js +4 -4
  199. package/utils/account/common.d.ts +7 -8
  200. package/utils/account/common.js +16 -6
  201. package/utils/account/derive/info/solo.js +70 -21
  202. package/utils/account/derive/info/unified.js +2 -0
  203. package/utils/account/derive/validate.d.ts +1 -0
  204. package/utils/account/derive/validate.js +68 -1
  205. package/utils/account/transform.d.ts +1 -1
  206. package/utils/account/transform.js +11 -5
  207. package/utils/auth.js +3 -2
  208. package/utils/bitcoin/common.d.ts +22 -0
  209. package/utils/bitcoin/common.js +88 -0
  210. package/utils/bitcoin/fee.d.ts +2 -0
  211. package/utils/bitcoin/fee.js +14 -0
  212. package/utils/bitcoin/index.d.ts +3 -0
  213. package/utils/bitcoin/index.js +6 -0
  214. package/utils/bitcoin/utxo-management.d.ts +33 -0
  215. package/utils/bitcoin/utxo-management.js +266 -0
  216. package/utils/fee/transfer.d.ts +3 -1
  217. package/utils/fee/transfer.js +47 -1
  218. package/utils/index.d.ts +1 -0
  219. package/utils/index.js +6 -3
package/package.json CHANGED
@@ -17,7 +17,7 @@
17
17
  "./cjs/detectPackage.js"
18
18
  ],
19
19
  "type": "module",
20
- "version": "1.3.41-0",
20
+ "version": "1.3.43-0",
21
21
  "main": "./cjs/index.js",
22
22
  "module": "./index.js",
23
23
  "types": "./index.d.ts",
@@ -34,6 +34,11 @@
34
34
  "require": "./cjs/background/errors/BalanceError.js",
35
35
  "default": "./background/errors/BalanceError.js"
36
36
  },
37
+ "./background/errors/BitcoinProviderError": {
38
+ "types": "./background/errors/BitcoinProviderError.d.ts",
39
+ "require": "./cjs/background/errors/BitcoinProviderError.js",
40
+ "default": "./background/errors/BitcoinProviderError.js"
41
+ },
37
42
  "./background/errors/CardanoProviderError": {
38
43
  "types": "./background/errors/CardanoProviderError.d.ts",
39
44
  "require": "./cjs/background/errors/CardanoProviderError.js",
@@ -119,6 +124,11 @@
119
124
  "require": "./cjs/constants/index.js",
120
125
  "default": "./constants/index.js"
121
126
  },
127
+ "./constants/bitcoin": {
128
+ "types": "./constants/bitcoin.d.ts",
129
+ "require": "./cjs/constants/bitcoin.js",
130
+ "default": "./constants/bitcoin.js"
131
+ },
122
132
  "./constants/blocked-actions": {
123
133
  "types": "./constants/blocked-actions.d.ts",
124
134
  "require": "./cjs/constants/blocked-actions.js",
@@ -599,6 +609,11 @@
599
609
  "require": "./cjs/page/index.js",
600
610
  "default": "./page/index.js"
601
611
  },
612
+ "./page/bitcoin": {
613
+ "types": "./page/bitcoin/index.d.ts",
614
+ "require": "./cjs/page/bitcoin/index.js",
615
+ "default": "./page/bitcoin/index.js"
616
+ },
602
617
  "./page/cardano": {
603
618
  "types": "./page/cardano/index.d.ts",
604
619
  "require": "./cjs/page/cardano/index.js",
@@ -679,6 +694,11 @@
679
694
  "require": "./cjs/services/balance-service/helpers/subscribe/index.js",
680
695
  "default": "./services/balance-service/helpers/subscribe/index.js"
681
696
  },
697
+ "./services/balance-service/helpers/subscribe/bitcoin": {
698
+ "types": "./services/balance-service/helpers/subscribe/bitcoin.d.ts",
699
+ "require": "./cjs/services/balance-service/helpers/subscribe/bitcoin.js",
700
+ "default": "./services/balance-service/helpers/subscribe/bitcoin.js"
701
+ },
682
702
  "./services/balance-service/helpers/subscribe/cardano": {
683
703
  "types": "./services/balance-service/helpers/subscribe/cardano/index.d.ts",
684
704
  "require": "./cjs/services/balance-service/helpers/subscribe/cardano/index.js",
@@ -739,6 +759,11 @@
739
759
  "require": "./cjs/services/balance-service/helpers/subscribe/ton/utils.js",
740
760
  "default": "./services/balance-service/helpers/subscribe/ton/utils.js"
741
761
  },
762
+ "./services/balance-service/transfer/bitcoin-transfer": {
763
+ "types": "./services/balance-service/transfer/bitcoin-transfer.d.ts",
764
+ "require": "./cjs/services/balance-service/transfer/bitcoin-transfer.js",
765
+ "default": "./services/balance-service/transfer/bitcoin-transfer.js"
766
+ },
742
767
  "./services/balance-service/transfer/cardano-transfer": {
743
768
  "types": "./services/balance-service/transfer/cardano-transfer.d.ts",
744
769
  "require": "./cjs/services/balance-service/transfer/cardano-transfer.js",
@@ -874,6 +899,41 @@
874
899
  "require": "./cjs/services/chain-service/handler/AbstractChainHandler.js",
875
900
  "default": "./services/chain-service/handler/AbstractChainHandler.js"
876
901
  },
902
+ "./services/chain-service/handler/bitcoin/BitcoinApi": {
903
+ "types": "./services/chain-service/handler/bitcoin/BitcoinApi.d.ts",
904
+ "require": "./cjs/services/chain-service/handler/bitcoin/BitcoinApi.js",
905
+ "default": "./services/chain-service/handler/bitcoin/BitcoinApi.js"
906
+ },
907
+ "./services/chain-service/handler/bitcoin/BitcoinChainHandler": {
908
+ "types": "./services/chain-service/handler/bitcoin/BitcoinChainHandler.d.ts",
909
+ "require": "./cjs/services/chain-service/handler/bitcoin/BitcoinChainHandler.js",
910
+ "default": "./services/chain-service/handler/bitcoin/BitcoinChainHandler.js"
911
+ },
912
+ "./services/chain-service/handler/bitcoin/strategy/BlockStreamTestnet": {
913
+ "types": "./services/chain-service/handler/bitcoin/strategy/BlockStreamTestnet/index.d.ts",
914
+ "require": "./cjs/services/chain-service/handler/bitcoin/strategy/BlockStreamTestnet/index.js",
915
+ "default": "./services/chain-service/handler/bitcoin/strategy/BlockStreamTestnet/index.js"
916
+ },
917
+ "./services/chain-service/handler/bitcoin/strategy/BlockStreamTestnet/blockstream-testnet-strategy": {
918
+ "types": "./services/chain-service/handler/bitcoin/strategy/BlockStreamTestnet/blockstream-testnet-strategy.d.ts",
919
+ "require": "./cjs/services/chain-service/handler/bitcoin/strategy/BlockStreamTestnet/blockstream-testnet-strategy.js",
920
+ "default": "./services/chain-service/handler/bitcoin/strategy/BlockStreamTestnet/blockstream-testnet-strategy.js"
921
+ },
922
+ "./services/chain-service/handler/bitcoin/strategy/BlockStreamTestnet/mempool-testnet-strategy": {
923
+ "types": "./services/chain-service/handler/bitcoin/strategy/BlockStreamTestnet/mempool-testnet-strategy.d.ts",
924
+ "require": "./cjs/services/chain-service/handler/bitcoin/strategy/BlockStreamTestnet/mempool-testnet-strategy.js",
925
+ "default": "./services/chain-service/handler/bitcoin/strategy/BlockStreamTestnet/mempool-testnet-strategy.js"
926
+ },
927
+ "./services/chain-service/handler/bitcoin/strategy/SubWalletMainnet": {
928
+ "types": "./services/chain-service/handler/bitcoin/strategy/SubWalletMainnet/index.d.ts",
929
+ "require": "./cjs/services/chain-service/handler/bitcoin/strategy/SubWalletMainnet/index.js",
930
+ "default": "./services/chain-service/handler/bitcoin/strategy/SubWalletMainnet/index.js"
931
+ },
932
+ "./services/chain-service/handler/bitcoin/strategy/types": {
933
+ "types": "./services/chain-service/handler/bitcoin/strategy/types.d.ts",
934
+ "require": "./cjs/services/chain-service/handler/bitcoin/strategy/types.js",
935
+ "default": "./services/chain-service/handler/bitcoin/strategy/types.js"
936
+ },
877
937
  "./services/chain-service/handler/CardanoApi": {
878
938
  "types": "./services/chain-service/handler/CardanoApi.d.ts",
879
939
  "require": "./cjs/services/chain-service/handler/CardanoApi.js",
@@ -1186,11 +1246,26 @@
1186
1246
  "require": "./cjs/services/fee-service/utils/tokenPayFee.js",
1187
1247
  "default": "./services/fee-service/utils/tokenPayFee.js"
1188
1248
  },
1249
+ "./services/hiro-service": {
1250
+ "types": "./services/hiro-service/index.d.ts",
1251
+ "require": "./cjs/services/hiro-service/index.js",
1252
+ "default": "./services/hiro-service/index.js"
1253
+ },
1254
+ "./services/hiro-service/utils": {
1255
+ "types": "./services/hiro-service/utils/index.d.ts",
1256
+ "require": "./cjs/services/hiro-service/utils/index.js",
1257
+ "default": "./services/hiro-service/utils/index.js"
1258
+ },
1189
1259
  "./services/history-service": {
1190
1260
  "types": "./services/history-service/index.d.ts",
1191
1261
  "require": "./cjs/services/history-service/index.js",
1192
1262
  "default": "./services/history-service/index.js"
1193
1263
  },
1264
+ "./services/history-service/bitcoin-history": {
1265
+ "types": "./services/history-service/bitcoin-history.d.ts",
1266
+ "require": "./cjs/services/history-service/bitcoin-history.js",
1267
+ "default": "./services/history-service/bitcoin-history.js"
1268
+ },
1194
1269
  "./services/history-service/constants": {
1195
1270
  "types": "./services/history-service/constants/index.d.ts",
1196
1271
  "require": "./cjs/services/history-service/constants/index.js",
@@ -1496,6 +1571,11 @@
1496
1571
  "require": "./cjs/services/migration-service/scripts/MigrateNetworkSettings.js",
1497
1572
  "default": "./services/migration-service/scripts/MigrateNetworkSettings.js"
1498
1573
  },
1574
+ "./services/migration-service/scripts/MigrateNewUnifiedAccount": {
1575
+ "types": "./services/migration-service/scripts/MigrateNewUnifiedAccount.d.ts",
1576
+ "require": "./cjs/services/migration-service/scripts/MigrateNewUnifiedAccount.js",
1577
+ "default": "./services/migration-service/scripts/MigrateNewUnifiedAccount.js"
1578
+ },
1499
1579
  "./services/migration-service/scripts/MigrateSettings": {
1500
1580
  "types": "./services/migration-service/scripts/MigrateSettings.d.ts",
1501
1581
  "require": "./cjs/services/migration-service/scripts/MigrateSettings.js",
@@ -1631,6 +1711,11 @@
1631
1711
  "require": "./cjs/services/request-service/handler/AuthRequestHandler.js",
1632
1712
  "default": "./services/request-service/handler/AuthRequestHandler.js"
1633
1713
  },
1714
+ "./services/request-service/handler/BitcoinRequestHandler": {
1715
+ "types": "./services/request-service/handler/BitcoinRequestHandler.d.ts",
1716
+ "require": "./cjs/services/request-service/handler/BitcoinRequestHandler.js",
1717
+ "default": "./services/request-service/handler/BitcoinRequestHandler.js"
1718
+ },
1634
1719
  "./services/request-service/handler/CardanoRequestHandler": {
1635
1720
  "types": "./services/request-service/handler/CardanoRequestHandler.d.ts",
1636
1721
  "require": "./cjs/services/request-service/handler/CardanoRequestHandler.js",
@@ -1681,6 +1766,11 @@
1681
1766
  "require": "./cjs/services/request-service/types.js",
1682
1767
  "default": "./services/request-service/types.js"
1683
1768
  },
1769
+ "./services/rune-service": {
1770
+ "types": "./services/rune-service/index.d.ts",
1771
+ "require": "./cjs/services/rune-service/index.js",
1772
+ "default": "./services/rune-service/index.js"
1773
+ },
1684
1774
  "./services/setting-service/constants": {
1685
1775
  "types": "./services/setting-service/constants.d.ts",
1686
1776
  "require": "./cjs/services/setting-service/constants.js",
@@ -2106,6 +2196,26 @@
2106
2196
  "require": "./cjs/stores/TransactionHistoryV3.js",
2107
2197
  "default": "./stores/TransactionHistoryV3.js"
2108
2198
  },
2199
+ "./strategy/api-request-strategy": {
2200
+ "types": "./strategy/api-request-strategy/index.d.ts",
2201
+ "require": "./cjs/strategy/api-request-strategy/index.js",
2202
+ "default": "./strategy/api-request-strategy/index.js"
2203
+ },
2204
+ "./strategy/api-request-strategy/context/base": {
2205
+ "types": "./strategy/api-request-strategy/context/base.d.ts",
2206
+ "require": "./cjs/strategy/api-request-strategy/context/base.js",
2207
+ "default": "./strategy/api-request-strategy/context/base.js"
2208
+ },
2209
+ "./strategy/api-request-strategy/types": {
2210
+ "types": "./strategy/api-request-strategy/types.d.ts",
2211
+ "require": "./cjs/strategy/api-request-strategy/types.js",
2212
+ "default": "./strategy/api-request-strategy/types.js"
2213
+ },
2214
+ "./strategy/api-request-strategy/utils": {
2215
+ "types": "./strategy/api-request-strategy/utils/index.d.ts",
2216
+ "require": "./cjs/strategy/api-request-strategy/utils/index.js",
2217
+ "default": "./strategy/api-request-strategy/utils/index.js"
2218
+ },
2109
2219
  "./types": {
2110
2220
  "types": "./types/index.d.ts",
2111
2221
  "require": "./cjs/types/index.js",
@@ -2211,6 +2321,11 @@
2211
2321
  "require": "./cjs/types/balance/transfer.js",
2212
2322
  "default": "./types/balance/transfer.js"
2213
2323
  },
2324
+ "./types/bitcoin": {
2325
+ "types": "./types/bitcoin.d.ts",
2326
+ "require": "./cjs/types/bitcoin.js",
2327
+ "default": "./types/bitcoin.js"
2328
+ },
2214
2329
  "./types/bridge": {
2215
2330
  "types": "./types/bridge/index.d.ts",
2216
2331
  "require": "./cjs/types/bridge/index.js",
@@ -2261,6 +2376,11 @@
2261
2376
  "require": "./cjs/types/fee/base.js",
2262
2377
  "default": "./types/fee/base.js"
2263
2378
  },
2379
+ "./types/fee/bitcoin": {
2380
+ "types": "./types/fee/bitcoin.d.ts",
2381
+ "require": "./cjs/types/fee/bitcoin.js",
2382
+ "default": "./types/fee/bitcoin.js"
2383
+ },
2264
2384
  "./types/fee/cardano": {
2265
2385
  "types": "./types/fee/cardano.d.ts",
2266
2386
  "require": "./cjs/types/fee/cardano.js",
@@ -2511,6 +2631,26 @@
2511
2631
  "require": "./cjs/utils/auth.js",
2512
2632
  "default": "./utils/auth.js"
2513
2633
  },
2634
+ "./utils/bitcoin": {
2635
+ "types": "./utils/bitcoin/index.d.ts",
2636
+ "require": "./cjs/utils/bitcoin/index.js",
2637
+ "default": "./utils/bitcoin/index.js"
2638
+ },
2639
+ "./utils/bitcoin/common": {
2640
+ "types": "./utils/bitcoin/common.d.ts",
2641
+ "require": "./cjs/utils/bitcoin/common.js",
2642
+ "default": "./utils/bitcoin/common.js"
2643
+ },
2644
+ "./utils/bitcoin/fee": {
2645
+ "types": "./utils/bitcoin/fee.d.ts",
2646
+ "require": "./cjs/utils/bitcoin/fee.js",
2647
+ "default": "./utils/bitcoin/fee.js"
2648
+ },
2649
+ "./utils/bitcoin/utxo-management": {
2650
+ "types": "./utils/bitcoin/utxo-management.d.ts",
2651
+ "require": "./cjs/utils/bitcoin/utxo-management.js",
2652
+ "default": "./utils/bitcoin/utxo-management.js"
2653
+ },
2514
2654
  "./utils/cardano": {
2515
2655
  "types": "./utils/cardano.d.ts",
2516
2656
  "require": "./cjs/utils/cardano.js",
@@ -2714,13 +2854,13 @@
2714
2854
  "@reduxjs/toolkit": "^1.9.1",
2715
2855
  "@sora-substrate/type-definitions": "^1.17.7",
2716
2856
  "@substrate/connect": "^0.8.9",
2717
- "@subwallet/chain-list": "0.2.105",
2718
- "@subwallet/extension-base": "^1.3.41-0",
2719
- "@subwallet/extension-chains": "^1.3.41-0",
2720
- "@subwallet/extension-dapp": "^1.3.41-0",
2721
- "@subwallet/extension-inject": "^1.3.41-0",
2857
+ "@subwallet/chain-list": "0.2.107",
2858
+ "@subwallet/extension-base": "^1.3.43-0",
2859
+ "@subwallet/extension-chains": "^1.3.43-0",
2860
+ "@subwallet/extension-dapp": "^1.3.43-0",
2861
+ "@subwallet/extension-inject": "^1.3.43-0",
2722
2862
  "@subwallet/keyring": "^0.1.12",
2723
- "@subwallet/subwallet-api-sdk": "^1.3.41-0",
2863
+ "@subwallet/subwallet-api-sdk": "^1.3.43-0",
2724
2864
  "@subwallet/ui-keyring": "^0.1.12",
2725
2865
  "@ton/core": "^0.56.3",
2726
2866
  "@ton/crypto": "^3.2.0",
@@ -2732,11 +2872,12 @@
2732
2872
  "avail-js-sdk": "^0.2.12",
2733
2873
  "axios": "^1.6.2",
2734
2874
  "bignumber.js": "^9.1.1",
2875
+ "bitcoinjs-lib": "6.1.5",
2735
2876
  "bn.js": "^5.2.1",
2736
2877
  "bowser": "^2.11.0",
2737
2878
  "browser-passworder": "^2.0.3",
2738
2879
  "buffer": "^6.0.3",
2739
- "cross-fetch": "^3.1.5",
2880
+ "cross-fetch": "^4.1.0",
2740
2881
  "dexie": "^3.2.2",
2741
2882
  "dexie-export-import": "^4.0.7",
2742
2883
  "eth-simple-keyring": "^4.2.0",
package/packageInfo.js CHANGED
@@ -7,5 +7,5 @@ export const packageInfo = {
7
7
  name: '@subwallet/extension-base',
8
8
  path: (import.meta && import.meta.url) ? new URL(import.meta.url).pathname.substring(0, new URL(import.meta.url).pathname.lastIndexOf('/') + 1) : 'auto',
9
9
  type: 'esm',
10
- version: '1.3.41-0'
10
+ version: '1.3.43-0'
11
11
  };
@@ -0,0 +1,17 @@
1
+ import { SendRequest } from '@subwallet/extension-base/page/types';
2
+ import { BitcoinProvider } from '@subwallet/extension-inject/types';
3
+ export default class SubWalletBitcoinProvider {
4
+ readonly name: string;
5
+ readonly version: string;
6
+ protected sendMessage: SendRequest;
7
+ private isSubWallet;
8
+ constructor(sendMessage: SendRequest);
9
+ private requestAccounts;
10
+ private getAccounts;
11
+ private signMessage;
12
+ private signPsbt;
13
+ private sendTransfer;
14
+ private request;
15
+ private getProductInfo;
16
+ get apis(): BitcoinProvider;
17
+ }
@@ -0,0 +1,60 @@
1
+ // Copyright 2019-2022 @subwallet/extension authors & contributors
2
+ // SPDX-License-Identifier: Apache-2.0
3
+
4
+ const WALLET_NAME = 'SubWallet';
5
+ const WALLET_VERSION = process.env.PKG_VERSION;
6
+ export default class SubWalletBitcoinProvider {
7
+ name = WALLET_NAME;
8
+ version = WALLET_VERSION;
9
+ isSubWallet = true;
10
+ constructor(sendMessage) {
11
+ this.sendMessage = sendMessage;
12
+ }
13
+ async requestAccounts() {
14
+ return await this.request('getAccounts');
15
+ }
16
+ async getAccounts() {
17
+ return await this.request('getAccounts');
18
+ }
19
+ async signMessage(params) {
20
+ return await this.request('signMessage', params);
21
+ }
22
+ async signPsbt(params) {
23
+ return await this.request('signPsbt', params);
24
+ }
25
+ async sendTransfer(params) {
26
+ return await this.request('sendTransfer', params);
27
+ }
28
+ request(method, params) {
29
+ // Implement this method
30
+ return new Promise((resolve, reject) => {
31
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
32
+ this.sendMessage('bitcoin(request)', {
33
+ method,
34
+ params
35
+ }).then(result => {
36
+ resolve(result);
37
+ }).catch(e => {
38
+ reject(e);
39
+ });
40
+ });
41
+ }
42
+ getProductInfo() {
43
+ return {
44
+ name: this.name,
45
+ version: this.version
46
+ };
47
+ }
48
+ get apis() {
49
+ return {
50
+ isSubWallet: this.isSubWallet,
51
+ request: (method, params) => this.request(method, params),
52
+ getAccounts: () => this.getAccounts(),
53
+ signMessage: params => this.signMessage(params),
54
+ signPsbt: params => this.signPsbt(params),
55
+ sendTransfer: params => this.sendTransfer(params),
56
+ requestAccounts: () => this.requestAccounts(),
57
+ getProductInfo: () => this.getProductInfo()
58
+ };
59
+ }
60
+ }
package/page/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import type { MessageTypes, MessageTypesWithNoSubscriptions, MessageTypesWithNullRequest, MessageTypesWithSubscriptions, RequestTypes, ResponseTypes, SubscriptionMessageTypes, TransportResponseMessage } from '../background/types';
2
2
  import Injected from '@subwallet/extension-base/page/substrate';
3
- import { AuthRequestOption, CardanoProvider, EvmProvider } from '@subwallet/extension-inject/types';
3
+ import { AuthRequestOption, BitcoinProvider, CardanoProvider, EvmProvider } from '@subwallet/extension-inject/types';
4
4
  export interface Handler {
5
5
  resolve: (data?: any) => void;
6
6
  reject: (error: Error) => void;
@@ -16,3 +16,4 @@ export declare function handleResponse<TMessageType extends MessageTypes>(data:
16
16
  }): void;
17
17
  export declare function initEvmProvider(version: string): EvmProvider;
18
18
  export declare function initCardanoProvider(): CardanoProvider;
19
+ export declare function initBitcoinProvider(): BitcoinProvider;
package/page/index.js CHANGED
@@ -3,6 +3,7 @@
3
3
 
4
4
  import { ProviderError } from '@subwallet/extension-base/background/errors/ProviderError';
5
5
  import { ProviderErrorType } from '@subwallet/extension-base/background/KoniTypes';
6
+ import SubWalletBitcoinProvider from '@subwallet/extension-base/page/bitcoin';
6
7
  import SubWalletCardanoProvider from '@subwallet/extension-base/page/cardano';
7
8
  import SubWalletEvmProvider from '@subwallet/extension-base/page/evm';
8
9
  import Injected from '@subwallet/extension-base/page/substrate';
@@ -72,4 +73,7 @@ export function initEvmProvider(version) {
72
73
  }
73
74
  export function initCardanoProvider() {
74
75
  return new SubWalletCardanoProvider(sendMessage);
76
+ }
77
+ export function initBitcoinProvider() {
78
+ return new SubWalletBitcoinProvider(sendMessage).apis;
75
79
  }
@@ -0,0 +1,2 @@
1
+ import { SusbcribeBitcoinPalletBalance } from '@subwallet/extension-base/types';
2
+ export declare function subscribeBitcoinBalance(params: SusbcribeBitcoinPalletBalance): () => void;
@@ -0,0 +1,87 @@
1
+ // Copyright 2019-2022 @subwallet/extension-base
2
+ // SPDX-License-Identifier: Apache-2.0
3
+
4
+ import { _AssetType } from '@subwallet/chain-list/types';
5
+ import { APIItemState } from '@subwallet/extension-base/background/KoniTypes';
6
+ import { BITCOIN_REFRESH_BALANCE_INTERVAL } from '@subwallet/extension-base/constants';
7
+ import { filterAssetsByChainAndType } from '@subwallet/extension-base/utils';
8
+ function getDefaultBalanceResult() {
9
+ return {
10
+ balance: '0',
11
+ bitcoinBalanceMetadata: {
12
+ inscriptionCount: 0,
13
+ runeBalance: '0',
14
+ inscriptionBalance: '0'
15
+ }
16
+ };
17
+ }
18
+ async function getBitcoinBalance(bitcoinApi, addresses) {
19
+ return await Promise.all(addresses.map(async address => {
20
+ try {
21
+ const [addressSummaryInfo] = await Promise.all([bitcoinApi.api.getAddressSummaryInfo(address)]);
22
+ if (Number(addressSummaryInfo.balance) < 0) {
23
+ return getDefaultBalanceResult();
24
+ }
25
+ const bitcoinBalanceMetadata = {
26
+ inscriptionCount: addressSummaryInfo.total_inscription,
27
+ runeBalance: addressSummaryInfo.balance_rune,
28
+ inscriptionBalance: addressSummaryInfo.balance_inscription
29
+ };
30
+ return {
31
+ balance: addressSummaryInfo.balance.toString(),
32
+ bitcoinBalanceMetadata: bitcoinBalanceMetadata
33
+ };
34
+ } catch (error) {
35
+ console.log('Error while fetching Bitcoin balances', error);
36
+ return getDefaultBalanceResult();
37
+ }
38
+ }));
39
+ }
40
+ export function subscribeBitcoinBalance(params) {
41
+ var _Object$values$;
42
+ const {
43
+ addresses,
44
+ assetMap,
45
+ bitcoinApi,
46
+ callback,
47
+ chainInfo
48
+ } = params;
49
+ const chain = chainInfo.slug;
50
+ const nativeTokenInfo = filterAssetsByChainAndType(assetMap, chain, [_AssetType.NATIVE]);
51
+ const nativeTokenSlug = ((_Object$values$ = Object.values(nativeTokenInfo)[0]) === null || _Object$values$ === void 0 ? void 0 : _Object$values$.slug) || '';
52
+ const getBalance = () => {
53
+ getBitcoinBalance(bitcoinApi, addresses).then(balances => {
54
+ return balances.map(({
55
+ balance,
56
+ bitcoinBalanceMetadata
57
+ }, index) => {
58
+ return {
59
+ address: addresses[index],
60
+ tokenSlug: nativeTokenSlug,
61
+ state: APIItemState.READY,
62
+ free: balance,
63
+ locked: (parseInt(bitcoinBalanceMetadata.runeBalance.toString()) + parseInt(bitcoinBalanceMetadata.inscriptionBalance.toString())).toString(),
64
+ metadata: bitcoinBalanceMetadata
65
+ };
66
+ });
67
+ }).catch(e => {
68
+ console.error('Error on get Bitcoin balance with token bitcoin', e);
69
+ return addresses.map(address => {
70
+ return {
71
+ address: address,
72
+ tokenSlug: nativeTokenSlug,
73
+ state: APIItemState.READY,
74
+ free: '0',
75
+ locked: '0'
76
+ };
77
+ });
78
+ }).then(items => {
79
+ callback(items);
80
+ }).catch(console.error);
81
+ };
82
+ const interval = setInterval(getBalance, BITCOIN_REFRESH_BALANCE_INTERVAL);
83
+ getBalance();
84
+ return () => {
85
+ clearInterval(interval);
86
+ };
87
+ }
@@ -1,6 +1,6 @@
1
1
  import { _ChainAsset, _ChainInfo } from '@subwallet/chain-list/types';
2
2
  import { ExtrinsicType } from '@subwallet/extension-base/background/KoniTypes';
3
- import { _CardanoApi, _EvmApi, _SubstrateApi, _TonApi } from '@subwallet/extension-base/services/chain-service/types';
3
+ import { _BitcoinApi, _CardanoApi, _EvmApi, _SubstrateApi, _TonApi } from '@subwallet/extension-base/services/chain-service/types';
4
4
  import { AccountJson, BalanceItem } from '@subwallet/extension-base/types';
5
5
  /**
6
6
  * @function getAccountJsonByAddress
@@ -12,4 +12,4 @@ import { AccountJson, BalanceItem } from '@subwallet/extension-base/types';
12
12
  * @returns {AccountJson|null} - Account info or null if not found
13
13
  */
14
14
  export declare const getAccountJsonByAddress: (address: string) => AccountJson | null;
15
- export declare function subscribeBalance(addresses: string[], chains: string[], tokens: string[], _chainAssetMap: Record<string, _ChainAsset>, _chainInfoMap: Record<string, _ChainInfo>, substrateApiMap: Record<string, _SubstrateApi>, evmApiMap: Record<string, _EvmApi>, tonApiMap: Record<string, _TonApi>, cardanoApiMap: Record<string, _CardanoApi>, callback: (rs: BalanceItem[]) => void, extrinsicType?: ExtrinsicType): () => void;
15
+ export declare function subscribeBalance(addresses: string[], chains: string[], tokens: string[], _chainAssetMap: Record<string, _ChainAsset>, _chainInfoMap: Record<string, _ChainInfo>, substrateApiMap: Record<string, _SubstrateApi>, evmApiMap: Record<string, _EvmApi>, tonApiMap: Record<string, _TonApi>, cardanoApiMap: Record<string, _CardanoApi>, bitcoinApiMap: Record<string, _BitcoinApi>, callback: (rs: BalanceItem[]) => void, extrinsicType?: ExtrinsicType): () => void;
@@ -3,8 +3,9 @@
3
3
 
4
4
  import { _AssetType } from '@subwallet/chain-list/types';
5
5
  import { APIItemState } from '@subwallet/extension-base/background/KoniTypes';
6
+ import { subscribeBitcoinBalance } from '@subwallet/extension-base/services/balance-service/helpers/subscribe/bitcoin';
6
7
  import { subscribeCardanoBalance } from '@subwallet/extension-base/services/balance-service/helpers/subscribe/cardano';
7
- import { _getSubstrateGenesisHash, _isChainBitcoinCompatible, _isChainCardanoCompatible, _isChainEvmCompatible, _isChainTonCompatible, _isPureCardanoChain, _isPureEvmChain, _isPureTonChain } from '@subwallet/extension-base/services/chain-service/utils';
8
+ import { _getSubstrateGenesisHash, _isChainBitcoinCompatible, _isChainCardanoCompatible, _isChainEvmCompatible, _isChainTonCompatible, _isPureBitcoinChain, _isPureCardanoChain, _isPureEvmChain, _isPureTonChain } from '@subwallet/extension-base/services/chain-service/utils';
8
9
  import { filterAssetsByChainAndType, getAddressesByChainTypeMap, pairToAccount } from '@subwallet/extension-base/utils';
9
10
  import keyring from '@subwallet/ui-keyring';
10
11
  import { subscribeTonBalance } from "./ton/ton.js";
@@ -37,20 +38,21 @@ export const getAccountJsonByAddress = address => {
37
38
  /** Filter addresses to subscribe by chain info */
38
39
  const filterAddress = (addresses, chainInfo) => {
39
40
  const {
41
+ _bitcoin,
40
42
  bitcoin,
41
43
  cardano,
42
44
  evm,
43
45
  substrate,
44
46
  ton
45
- } = getAddressesByChainTypeMap(addresses);
47
+ } = getAddressesByChainTypeMap(addresses, chainInfo);
46
48
  if (_isChainEvmCompatible(chainInfo)) {
47
- return [evm, [...bitcoin, ...substrate, ...ton, ...cardano]];
49
+ return [evm, [bitcoin, substrate, ton, cardano, _bitcoin].flat()];
48
50
  } else if (_isChainBitcoinCompatible(chainInfo)) {
49
- return [bitcoin, [...evm, ...substrate, ...ton, ...cardano]];
51
+ return [bitcoin, [evm, substrate, ton, cardano, _bitcoin].flat()];
50
52
  } else if (_isChainTonCompatible(chainInfo)) {
51
- return [ton, [...bitcoin, ...evm, ...substrate, ...cardano]];
53
+ return [ton, [bitcoin, evm, substrate, cardano, _bitcoin].flat()];
52
54
  } else if (_isChainCardanoCompatible(chainInfo)) {
53
- return [cardano, [...bitcoin, ...evm, ...substrate, ...ton]];
55
+ return [cardano, [bitcoin, evm, substrate, ton, _bitcoin].flat()];
54
56
  } else {
55
57
  const fetchList = [];
56
58
  const unfetchList = [];
@@ -76,7 +78,7 @@ const filterAddress = (addresses, chainInfo) => {
76
78
  fetchList.push(address);
77
79
  }
78
80
  });
79
- return [fetchList, [...unfetchList, ...bitcoin, ...evm, ...ton, ...cardano]];
81
+ return [fetchList, [unfetchList, bitcoin, evm, ton, cardano, _bitcoin].flat()];
80
82
  }
81
83
  };
82
84
  const handleUnsupportedOrPendingAddresses = (addresses, chainSlug, chainAssetMap, state, callback) => {
@@ -96,7 +98,7 @@ const handleUnsupportedOrPendingAddresses = (addresses, chainSlug, chainAssetMap
96
98
  };
97
99
 
98
100
  // main subscription, use for multiple chains, multiple addresses and multiple tokens
99
- export function subscribeBalance(addresses, chains, tokens, _chainAssetMap, _chainInfoMap, substrateApiMap, evmApiMap, tonApiMap, cardanoApiMap, callback, extrinsicType) {
101
+ export function subscribeBalance(addresses, chains, tokens, _chainAssetMap, _chainInfoMap, substrateApiMap, evmApiMap, tonApiMap, cardanoApiMap, bitcoinApiMap, callback, extrinsicType) {
100
102
  // Filter chain and token
101
103
  const chainAssetMap = Object.fromEntries(Object.entries(_chainAssetMap).filter(([token]) => tokens.includes(token)));
102
104
  const chainInfoMap = Object.fromEntries(Object.entries(_chainInfoMap).filter(([chain]) => chains.includes(chain)));
@@ -138,6 +140,16 @@ export function subscribeBalance(addresses, chains, tokens, _chainAssetMap, _cha
138
140
  cardanoApi
139
141
  });
140
142
  }
143
+ const bitcoinApi = bitcoinApiMap[chainSlug];
144
+ if (_isPureBitcoinChain(chainInfo)) {
145
+ return subscribeBitcoinBalance({
146
+ addresses: useAddresses,
147
+ assetMap: chainAssetMap,
148
+ bitcoinApi,
149
+ callback,
150
+ chainInfo
151
+ });
152
+ }
141
153
 
142
154
  // If the chain is not ready, return pending state
143
155
  if (!substrateApiMap[chainSlug].isApiReady) {
@@ -18,6 +18,7 @@ export declare class BalanceService implements StoppableServiceInterface {
18
18
  stopPromiseHandler: PromiseHandler<void>;
19
19
  status: ServiceStatus;
20
20
  private isReload;
21
+ get isStarted(): boolean;
21
22
  private readonly detectAccountBalanceStore;
22
23
  private readonly balanceDetectSubject;
23
24
  private readonly intervalTime;
@@ -87,6 +88,7 @@ export declare class BalanceService implements StoppableServiceInterface {
87
88
  private _unsubscribeBalance;
88
89
  /** Subscribe balance subscription */
89
90
  runSubscribeBalances(): Promise<void>;
91
+ refreshBalanceForAddress(address: string, chain: string, asset: string, extrinsicType?: ExtrinsicType): Promise<void>;
90
92
  /** Unsubscribe balance subscription */
91
93
  runUnsubscribeBalances(): void;
92
94
  /** Reload balance subscription */