@unisat/wallet-state 1.1.0 → 1.2.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 (222) hide show
  1. package/lib/actions/global.d.ts +2 -0
  2. package/lib/actions/global.d.ts.map +1 -0
  3. package/lib/context/ApprovalContext.d.ts +9 -0
  4. package/lib/context/ApprovalContext.d.ts.map +1 -0
  5. package/lib/context/DeviceContext.d.ts +17 -0
  6. package/lib/context/DeviceContext.d.ts.map +1 -0
  7. package/lib/context/I18nContext.d.ts +13 -0
  8. package/lib/context/I18nContext.d.ts.map +1 -0
  9. package/lib/context/NavigationContext.d.ts +218 -0
  10. package/lib/context/NavigationContext.d.ts.map +1 -0
  11. package/lib/context/PriceContext.d.ts +13 -0
  12. package/lib/context/PriceContext.d.ts.map +1 -0
  13. package/lib/context/StorageContext.d.ts +60 -0
  14. package/lib/context/StorageContext.d.ts.map +1 -0
  15. package/lib/context/ToolsContext.d.ts +17 -0
  16. package/lib/context/ToolsContext.d.ts.map +1 -0
  17. package/lib/context/WalletContext.d.ts +493 -0
  18. package/lib/context/WalletContext.d.ts.map +1 -0
  19. package/lib/context/index.d.ts +9 -0
  20. package/lib/context/index.d.ts.map +1 -0
  21. package/lib/hooks/accounts.d.ts +34 -0
  22. package/lib/hooks/accounts.d.ts.map +1 -0
  23. package/lib/hooks/base.d.ts +14 -0
  24. package/lib/hooks/base.d.ts.map +1 -0
  25. package/lib/hooks/browser.d.ts +32 -0
  26. package/lib/hooks/browser.d.ts.map +1 -0
  27. package/lib/hooks/discovery.d.ts +17 -0
  28. package/lib/hooks/discovery.d.ts.map +1 -0
  29. package/lib/hooks/global.d.ts +43 -0
  30. package/lib/hooks/global.d.ts.map +1 -0
  31. package/lib/hooks/index.d.ts +10 -0
  32. package/lib/hooks/index.d.ts.map +1 -0
  33. package/lib/hooks/keyrings.d.ts +5 -0
  34. package/lib/hooks/keyrings.d.ts.map +1 -0
  35. package/lib/hooks/settings.d.ts +43 -0
  36. package/lib/hooks/settings.d.ts.map +1 -0
  37. package/lib/hooks/transactions.d.ts +67 -0
  38. package/lib/hooks/transactions.d.ts.map +1 -0
  39. package/lib/hooks/ui.d.ts +112 -0
  40. package/lib/hooks/ui.d.ts.map +1 -0
  41. package/lib/index.d.mts +79 -18
  42. package/lib/index.d.ts +31 -2758
  43. package/lib/index.d.ts.map +1 -0
  44. package/lib/index.js +291 -78
  45. package/lib/index.js.map +1 -1
  46. package/lib/index.mjs +289 -80
  47. package/lib/index.mjs.map +1 -1
  48. package/lib/reducers/accounts.d.ts +49 -0
  49. package/lib/reducers/accounts.d.ts.map +1 -0
  50. package/lib/reducers/browser.d.ts +49 -0
  51. package/lib/reducers/browser.d.ts.map +1 -0
  52. package/lib/reducers/discovery.d.ts +22 -0
  53. package/lib/reducers/discovery.d.ts.map +1 -0
  54. package/lib/reducers/global.d.ts +35 -0
  55. package/lib/reducers/global.d.ts.map +1 -0
  56. package/lib/reducers/index.d.ts +9 -0
  57. package/lib/reducers/index.d.ts.map +1 -0
  58. package/lib/reducers/keyrings.d.ts +10 -0
  59. package/lib/reducers/keyrings.d.ts.map +1 -0
  60. package/lib/reducers/settings.d.ts +16 -0
  61. package/lib/reducers/settings.d.ts.map +1 -0
  62. package/lib/reducers/transactions.d.ts +61 -0
  63. package/lib/reducers/transactions.d.ts.map +1 -0
  64. package/lib/reducers/ui.d.ts +55 -0
  65. package/lib/reducers/ui.d.ts.map +1 -0
  66. package/lib/types/index.d.mts +6 -2
  67. package/lib/types/index.d.ts +3 -30
  68. package/lib/types/index.d.ts.map +1 -0
  69. package/lib/types/index.js +7 -1
  70. package/lib/types/index.js.map +1 -1
  71. package/lib/types/index.mjs +7 -2
  72. package/lib/types/index.mjs.map +1 -1
  73. package/lib/types/ui.d.ts +31 -0
  74. package/lib/types/ui.d.ts.map +1 -0
  75. package/lib/ui-hooks/index.d.ts +55 -0
  76. package/lib/ui-hooks/index.d.ts.map +1 -0
  77. package/lib/ui-hooks/useActionOverviewSectionLogic.d.ts +12 -0
  78. package/lib/ui-hooks/useActionOverviewSectionLogic.d.ts.map +1 -0
  79. package/lib/ui-hooks/useAddressTypeScreenLogic.d.ts +19 -0
  80. package/lib/ui-hooks/useAddressTypeScreenLogic.d.ts.map +1 -0
  81. package/lib/ui-hooks/useAlkanesBalanceCardLogic.d.ts +19 -0
  82. package/lib/ui-hooks/useAlkanesBalanceCardLogic.d.ts.map +1 -0
  83. package/lib/ui-hooks/useAlkanesCollectionListLogic.d.ts +11 -0
  84. package/lib/ui-hooks/useAlkanesCollectionListLogic.d.ts.map +1 -0
  85. package/lib/ui-hooks/useAlkanesListLogic.d.ts +14 -0
  86. package/lib/ui-hooks/useAlkanesListLogic.d.ts.map +1 -0
  87. package/lib/ui-hooks/useAlkanesNFTListLogic.d.ts +11 -0
  88. package/lib/ui-hooks/useAlkanesNFTListLogic.d.ts.map +1 -0
  89. package/lib/ui-hooks/useAlkanesNFTScreenLogic.d.ts +9 -0
  90. package/lib/ui-hooks/useAlkanesNFTScreenLogic.d.ts.map +1 -0
  91. package/lib/ui-hooks/useAlkanesTokenScreenLogic.d.ts +22 -0
  92. package/lib/ui-hooks/useAlkanesTokenScreenLogic.d.ts.map +1 -0
  93. package/lib/ui-hooks/useAmountInputLogic.d.ts +22 -0
  94. package/lib/ui-hooks/useAmountInputLogic.d.ts.map +1 -0
  95. package/lib/ui-hooks/useAnnouncementCardLogic.d.ts +11 -0
  96. package/lib/ui-hooks/useAnnouncementCardLogic.d.ts.map +1 -0
  97. package/lib/ui-hooks/useBRC20BalanceCardLogic.d.ts +26 -0
  98. package/lib/ui-hooks/useBRC20BalanceCardLogic.d.ts.map +1 -0
  99. package/lib/ui-hooks/useBRC20InscribeTransferLogic.d.ts +103 -0
  100. package/lib/ui-hooks/useBRC20InscribeTransferLogic.d.ts.map +1 -0
  101. package/lib/ui-hooks/useBRC20ListLogic.d.ts +14 -0
  102. package/lib/ui-hooks/useBRC20ListLogic.d.ts.map +1 -0
  103. package/lib/ui-hooks/useBRC20ProgListLogic.d.ts +14 -0
  104. package/lib/ui-hooks/useBRC20ProgListLogic.d.ts.map +1 -0
  105. package/lib/ui-hooks/useBRC20SendScreenLogic.d.ts +67 -0
  106. package/lib/ui-hooks/useBRC20SendScreenLogic.d.ts.map +1 -0
  107. package/lib/ui-hooks/useBRC20SingleStepScreenLogic.d.ts +36 -0
  108. package/lib/ui-hooks/useBRC20SingleStepScreenLogic.d.ts.map +1 -0
  109. package/lib/ui-hooks/useBRC20TokenScreenLogic.d.ts +75 -0
  110. package/lib/ui-hooks/useBRC20TokenScreenLogic.d.ts.map +1 -0
  111. package/lib/ui-hooks/useBalanceCardLogic.d.ts +26 -0
  112. package/lib/ui-hooks/useBalanceCardLogic.d.ts.map +1 -0
  113. package/lib/ui-hooks/useBtcDisplayLogic.d.ts +5 -0
  114. package/lib/ui-hooks/useBtcDisplayLogic.d.ts.map +1 -0
  115. package/lib/ui-hooks/useCAT20BalanceCardLogic.d.ts +20 -0
  116. package/lib/ui-hooks/useCAT20BalanceCardLogic.d.ts.map +1 -0
  117. package/lib/ui-hooks/useCAT20ListLogic.d.ts +14 -0
  118. package/lib/ui-hooks/useCAT20ListLogic.d.ts.map +1 -0
  119. package/lib/ui-hooks/useCAT20TokenScreenLogic.d.ts +19 -0
  120. package/lib/ui-hooks/useCAT20TokenScreenLogic.d.ts.map +1 -0
  121. package/lib/ui-hooks/useCAT721ListLogic.d.ts +11 -0
  122. package/lib/ui-hooks/useCAT721ListLogic.d.ts.map +1 -0
  123. package/lib/ui-hooks/useCAT721NFTScreenLogic.d.ts +9 -0
  124. package/lib/ui-hooks/useCAT721NFTScreenLogic.d.ts.map +1 -0
  125. package/lib/ui-hooks/useCreatePasswordScreenLogic.d.ts +27 -0
  126. package/lib/ui-hooks/useCreatePasswordScreenLogic.d.ts.map +1 -0
  127. package/lib/ui-hooks/useCreateWalletLogicImportWordsStep.d.ts +78 -0
  128. package/lib/ui-hooks/useCreateWalletLogicImportWordsStep.d.ts.map +1 -0
  129. package/lib/ui-hooks/useEditAccountNameScreenLogic.d.ts +18 -0
  130. package/lib/ui-hooks/useEditAccountNameScreenLogic.d.ts.map +1 -0
  131. package/lib/ui-hooks/useEditContactScreenLogic.d.ts +24 -0
  132. package/lib/ui-hooks/useEditContactScreenLogic.d.ts.map +1 -0
  133. package/lib/ui-hooks/useEditWalletNameScreenLogic.d.ts +15 -0
  134. package/lib/ui-hooks/useEditWalletNameScreenLogic.d.ts.map +1 -0
  135. package/lib/ui-hooks/useExportMnemonicsScreenLogic.d.ts +18 -0
  136. package/lib/ui-hooks/useExportMnemonicsScreenLogic.d.ts.map +1 -0
  137. package/lib/ui-hooks/useExportPrivateKeyScreenLogic.d.ts +17 -0
  138. package/lib/ui-hooks/useExportPrivateKeyScreenLogic.d.ts.map +1 -0
  139. package/lib/ui-hooks/useFeeRateBarLogic.d.ts +34 -0
  140. package/lib/ui-hooks/useFeeRateBarLogic.d.ts.map +1 -0
  141. package/lib/ui-hooks/useInfiniteList.d.ts +19 -0
  142. package/lib/ui-hooks/useInfiniteList.d.ts.map +1 -0
  143. package/lib/ui-hooks/useInscriptionListLogic.d.ts +11 -0
  144. package/lib/ui-hooks/useInscriptionListLogic.d.ts.map +1 -0
  145. package/lib/ui-hooks/useLockTimePageLogic.d.ts +11 -0
  146. package/lib/ui-hooks/useLockTimePageLogic.d.ts.map +1 -0
  147. package/lib/ui-hooks/useNotificationsLogic.d.ts +14 -0
  148. package/lib/ui-hooks/useNotificationsLogic.d.ts.map +1 -0
  149. package/lib/ui-hooks/useOrdinalsInscriptionScreenLogic.d.ts +27 -0
  150. package/lib/ui-hooks/useOrdinalsInscriptionScreenLogic.d.ts.map +1 -0
  151. package/lib/ui-hooks/useRunesBalanceCardLogic.d.ts +19 -0
  152. package/lib/ui-hooks/useRunesBalanceCardLogic.d.ts.map +1 -0
  153. package/lib/ui-hooks/useRunesListLogic.d.ts +14 -0
  154. package/lib/ui-hooks/useRunesListLogic.d.ts.map +1 -0
  155. package/lib/ui-hooks/useRunesTokenScreenLogic.d.ts +22 -0
  156. package/lib/ui-hooks/useRunesTokenScreenLogic.d.ts.map +1 -0
  157. package/lib/ui-hooks/useSecurityCardLogic.d.ts +1 -0
  158. package/lib/ui-hooks/useSecurityCardLogic.d.ts.map +1 -0
  159. package/lib/ui-hooks/useSendAlkanesNFTScreenLogic.d.ts +32 -0
  160. package/lib/ui-hooks/useSendAlkanesNFTScreenLogic.d.ts.map +1 -0
  161. package/lib/ui-hooks/useSendAlkanesScreenLogic.d.ts +37 -0
  162. package/lib/ui-hooks/useSendAlkanesScreenLogic.d.ts.map +1 -0
  163. package/lib/ui-hooks/useSendCAT20ScreenLogic.d.ts +44 -0
  164. package/lib/ui-hooks/useSendCAT20ScreenLogic.d.ts.map +1 -0
  165. package/lib/ui-hooks/useSendCAT721ScreenLogic.d.ts +40 -0
  166. package/lib/ui-hooks/useSendCAT721ScreenLogic.d.ts.map +1 -0
  167. package/lib/ui-hooks/useSendOrdinalsInscriptionScreenLogic.d.ts +22 -0
  168. package/lib/ui-hooks/useSendOrdinalsInscriptionScreenLogic.d.ts.map +1 -0
  169. package/lib/ui-hooks/useSendRunesScreenLogic.d.ts +30 -0
  170. package/lib/ui-hooks/useSendRunesScreenLogic.d.ts.map +1 -0
  171. package/lib/ui-hooks/useSettingsTabScreenLogic.d.ts +72 -0
  172. package/lib/ui-hooks/useSettingsTabScreenLogic.d.ts.map +1 -0
  173. package/lib/ui-hooks/useSignMessageLogic.d.ts +54 -0
  174. package/lib/ui-hooks/useSignMessageLogic.d.ts.map +1 -0
  175. package/lib/ui-hooks/useSignPsbtLogic.d.ts +82 -0
  176. package/lib/ui-hooks/useSignPsbtLogic.d.ts.map +1 -0
  177. package/lib/ui-hooks/useSplitOrdinalsInscriptionScreenLogic.d.ts +15 -0
  178. package/lib/ui-hooks/useSplitOrdinalsInscriptionScreenLogic.d.ts.map +1 -0
  179. package/lib/ui-hooks/useTxConfirmScreenLogic.d.ts +8 -0
  180. package/lib/ui-hooks/useTxConfirmScreenLogic.d.ts.map +1 -0
  181. package/lib/ui-hooks/useTxCreateScreenLogic.d.ts +28 -0
  182. package/lib/ui-hooks/useTxCreateScreenLogic.d.ts.map +1 -0
  183. package/lib/ui-hooks/useTxFailScreenLogic.d.ts +7 -0
  184. package/lib/ui-hooks/useTxFailScreenLogic.d.ts.map +1 -0
  185. package/lib/ui-hooks/useTxSuccessScreenLogic.d.ts +8 -0
  186. package/lib/ui-hooks/useTxSuccessScreenLogic.d.ts.map +1 -0
  187. package/lib/updater/accounts.d.ts +2 -0
  188. package/lib/updater/accounts.d.ts.map +1 -0
  189. package/lib/updater/index.d.ts +2 -0
  190. package/lib/updater/index.d.ts.map +1 -0
  191. package/lib/utils/bitcoin-utils.d.ts +7 -0
  192. package/lib/utils/bitcoin-utils.d.ts.map +1 -0
  193. package/lib/utils/eventBus.d.ts +12 -0
  194. package/lib/utils/eventBus.d.ts.map +1 -0
  195. package/lib/utils/password-utils.d.ts +12 -0
  196. package/lib/utils/password-utils.d.ts.map +1 -0
  197. package/lib/utils/ui-utils.d.ts +4 -0
  198. package/lib/utils/ui-utils.d.ts.map +1 -0
  199. package/package.json +3 -3
  200. package/src/context/WalletContext.tsx +56 -23
  201. package/src/hooks/settings.ts +10 -0
  202. package/src/hooks/transactions.ts +23 -2
  203. package/src/hooks/ui.ts +9 -1
  204. package/src/reducers/accounts.ts +3 -0
  205. package/src/reducers/ui.ts +21 -0
  206. package/src/types/ui.ts +6 -1
  207. package/src/ui-hooks/useAlkanesTokenScreenLogic.ts +8 -0
  208. package/src/ui-hooks/useBRC20InscribeTransferLogic.ts +30 -10
  209. package/src/ui-hooks/useBRC20ListLogic.ts +6 -2
  210. package/src/ui-hooks/useBRC20ProgListLogic.ts +7 -3
  211. package/src/ui-hooks/useBRC20SendScreenLogic.ts +19 -6
  212. package/src/ui-hooks/useBRC20TokenScreenLogic.ts +44 -24
  213. package/src/ui-hooks/useCAT20TokenScreenLogic.ts +5 -0
  214. package/src/ui-hooks/useEditAccountNameScreenLogic.ts +4 -4
  215. package/src/ui-hooks/useEditWalletNameScreenLogic.ts +5 -3
  216. package/src/ui-hooks/useRunesTokenScreenLogic.ts +7 -0
  217. package/src/ui-hooks/useSendAlkanesNFTScreenLogic.ts +24 -2
  218. package/src/ui-hooks/useSendAlkanesScreenLogic.ts +17 -1
  219. package/src/ui-hooks/useSendOrdinalsInscriptionScreenLogic.ts +15 -0
  220. package/src/ui-hooks/useSendRunesScreenLogic.ts +18 -1
  221. package/src/ui-hooks/useSplitOrdinalsInscriptionScreenLogic.ts +15 -1
  222. package/src/ui-hooks/useTxCreateScreenLogic.ts +17 -1
package/lib/index.mjs CHANGED
@@ -2,7 +2,7 @@ import { save, load } from 'redux-localstorage-simple';
2
2
  import { createAction, createSlice, configureStore } from '@reduxjs/toolkit';
3
3
  import { setupListeners } from '@reduxjs/toolkit/dist/query/react/index.js';
4
4
  import { ChainType, AddressType, NetworkType } from '@unisat/wallet-types';
5
- import { DEFAULT_LOCKTIME_ID, FALLBACK_LOCALE, CHAINS_MAP, CAT_VERSION, PlatformEnv, BUS_METHODS, getAccountDerivationPath, AnnouncementLinkType, getAutoLockTimes, COIN_DUST, RESTORE_WALLETS, WordsType, ADDRESS_TYPES as ADDRESS_TYPES$1, SignState, PsbtActionType, PsbtActionDetailType, RestoreWalletType, OW_HD_PATH, FEEDBACK_URL } from '@unisat/wallet-shared';
5
+ import { DEFAULT_LOCKTIME_ID, FALLBACK_LOCALE, CHAINS_MAP, CAT_VERSION, PlatformEnv, BUS_METHODS, getAccountDerivationPath, AnnouncementLinkType, MAX_ALIAS_NAME_LENGTH, getAutoLockTimes, COIN_DUST, RESTORE_WALLETS, WordsType, ADDRESS_TYPES as ADDRESS_TYPES$1, SignState, PsbtActionType, PsbtActionDetailType, RestoreWalletType, OW_HD_PATH, FEEDBACK_URL } from '@unisat/wallet-shared';
6
6
  import React, { createContext, useContext, useCallback, useState, useEffect, useMemo, useRef, startTransition } from 'react';
7
7
  import { jsx } from 'react/jsx-runtime';
8
8
  import compareVersions from 'compare-versions';
@@ -122,6 +122,9 @@ var slice = createSlice({
122
122
  setAddressSummary(state, action) {
123
123
  state.addressSummary = action.payload;
124
124
  },
125
+ setModelPopover(state, action) {
126
+ state.molelsPopover = action.payload;
127
+ },
125
128
  expireBalance(state) {
126
129
  const balance = state.balanceMap[state.current.address];
127
130
  if (balance) {
@@ -534,7 +537,7 @@ var AssetTabKey = /* @__PURE__ */ ((AssetTabKey2) => {
534
537
  AssetTabKey2[AssetTabKey2["ATOMICALS"] = 1] = "ATOMICALS";
535
538
  AssetTabKey2[AssetTabKey2["RUNES"] = 2] = "RUNES";
536
539
  AssetTabKey2[AssetTabKey2["CAT"] = 3] = "CAT";
537
- AssetTabKey2[AssetTabKey2["ALKANES"] = 4] = "ALKANES";
540
+ AssetTabKey2[AssetTabKey2["MORE"] = 4] = "MORE";
538
541
  return AssetTabKey2;
539
542
  })(AssetTabKey || {});
540
543
  var OrdinalsAssetTabKey = /* @__PURE__ */ ((OrdinalsAssetTabKey2) => {
@@ -555,6 +558,11 @@ var AlkanesAssetTabKey = /* @__PURE__ */ ((AlkanesAssetTabKey2) => {
555
558
  AlkanesAssetTabKey2[AlkanesAssetTabKey2["COLLECTION"] = 1] = "COLLECTION";
556
559
  return AlkanesAssetTabKey2;
557
560
  })(AlkanesAssetTabKey || {});
561
+ var MoreAssetTabKey = /* @__PURE__ */ ((MoreAssetTabKey2) => {
562
+ MoreAssetTabKey2[MoreAssetTabKey2["ALKANES_TOKEN"] = 0] = "ALKANES_TOKEN";
563
+ MoreAssetTabKey2[MoreAssetTabKey2["ALKANES_COLLECTION"] = 1] = "ALKANES_COLLECTION";
564
+ return MoreAssetTabKey2;
565
+ })(MoreAssetTabKey || {});
558
566
  var NavigationSource = /* @__PURE__ */ ((NavigationSource2) => {
559
567
  NavigationSource2[NavigationSource2["BACK"] = 0] = "BACK";
560
568
  NavigationSource2[NavigationSource2["NORMAL"] = 1] = "NORMAL";
@@ -567,12 +575,14 @@ var initialState7 = {
567
575
  ordinalsAssetTabKey: 0 /* ALL */,
568
576
  catAssetTabKey: 0 /* CAT20 */,
569
577
  alkanesAssetTabKey: 0 /* TOKEN */,
578
+ moreAssetTabKey: 0 /* ALKANES_TOKEN */,
570
579
  uiTxCreateScreen: {
571
580
  toInfo: {
572
581
  address: "",
573
582
  domain: ""
574
583
  },
575
- inputAmount: ""
584
+ inputAmount: "",
585
+ enableRBF: true
576
586
  },
577
587
  addressInput: {
578
588
  address: "",
@@ -621,6 +631,9 @@ var slice7 = createSlice({
621
631
  if (payload.alkanesAssetTabKey !== void 0) {
622
632
  state.alkanesAssetTabKey = payload.alkanesAssetTabKey;
623
633
  }
634
+ if (payload.moreAssetTabKey !== void 0) {
635
+ state.moreAssetTabKey = payload.moreAssetTabKey;
636
+ }
624
637
  return state;
625
638
  },
626
639
  updateTxCreateScreen(state, action) {
@@ -630,6 +643,9 @@ var slice7 = createSlice({
630
643
  if (action.payload.inputAmount !== void 0) {
631
644
  state.uiTxCreateScreen.inputAmount = action.payload.inputAmount;
632
645
  }
646
+ if (action.payload.enableRBF !== void 0) {
647
+ state.uiTxCreateScreen.enableRBF = action.payload.enableRBF;
648
+ }
633
649
  state.uiTxCreateScreen = { ...state.uiTxCreateScreen };
634
650
  },
635
651
  updateFeeRateBar(state, action) {
@@ -712,8 +728,16 @@ var slice7 = createSlice({
712
728
  if (!state.alkanesAssetTabKey) {
713
729
  state.alkanesAssetTabKey = 0 /* TOKEN */;
714
730
  }
731
+ if (state.moreAssetTabKey === void 0) {
732
+ state.moreAssetTabKey = 0 /* ALKANES_TOKEN */;
733
+ }
734
+ if (state.assetTabKey === 4) {
735
+ state.assetTabKey = 4 /* MORE */;
736
+ }
715
737
  if (!state.uiTxCreateScreen) {
716
738
  state.uiTxCreateScreen = initialState7.uiTxCreateScreen;
739
+ } else if (state.uiTxCreateScreen.enableRBF === void 0) {
740
+ state.uiTxCreateScreen.enableRBF = true;
717
741
  }
718
742
  if (!state.feeRateBar) {
719
743
  state.feeRateBar = initialState7.feeRateBar;
@@ -1352,6 +1376,14 @@ function useBRC20TokenInfoExplorerUrl(ticker) {
1352
1376
  const chain = useChain();
1353
1377
  return `${chain.unisatExplorerUrl}/brc20/${encodeURIComponent(ticker)}`;
1354
1378
  }
1379
+ function useRunesTokenInfoExplorerUrl(runeId) {
1380
+ const chain = useChain();
1381
+ return `${chain.unisatExplorerUrl}/runes/detail/${encodeURIComponent(runeId)}`;
1382
+ }
1383
+ function useAlkanesTokenInfoExplorerUrl(alkaneId) {
1384
+ const chain = useChain();
1385
+ return `${chain.unisatExplorerUrl}/alkanes/detail/${encodeURIComponent(alkaneId)}`;
1386
+ }
1355
1387
  function useUnisatWebsite() {
1356
1388
  const chainType = useChainType();
1357
1389
  return CHAINS_MAP[chainType].unisatUrl;
@@ -2097,7 +2129,8 @@ function usePrepareSendBTCCallback() {
2097
2129
  feeRate,
2098
2130
  memo,
2099
2131
  memos,
2100
- disableAutoAdjust
2132
+ disableAutoAdjust,
2133
+ enableRBF
2101
2134
  }) => {
2102
2135
  let _utxos = utxos;
2103
2136
  if (_utxos.length === 0) {
@@ -2116,7 +2149,8 @@ function usePrepareSendBTCCallback() {
2116
2149
  res = await wallet.createSendAllBTCPsbt({
2117
2150
  to: toAddressInfo.address,
2118
2151
  btcUtxos: _utxos,
2119
- feeRate
2152
+ feeRate,
2153
+ enableRBF
2120
2154
  });
2121
2155
  } else {
2122
2156
  res = await wallet.createSendBTCPsbt({
@@ -2124,6 +2158,7 @@ function usePrepareSendBTCCallback() {
2124
2158
  amount: toAmount,
2125
2159
  btcUtxos: _utxos,
2126
2160
  feeRate,
2161
+ enableRBF,
2127
2162
  memo,
2128
2163
  memos
2129
2164
  });
@@ -2140,7 +2175,8 @@ function usePrepareSendBypassHeadOffsetsCallback() {
2140
2175
  async ({
2141
2176
  toAddressInfo,
2142
2177
  toAmount,
2143
- feeRate
2178
+ feeRate,
2179
+ enableRBF
2144
2180
  }) => {
2145
2181
  const res = await wallet.createSendBTCOffsetPsbt(
2146
2182
  [
@@ -2149,7 +2185,8 @@ function usePrepareSendBypassHeadOffsetsCallback() {
2149
2185
  satoshis: toAmount
2150
2186
  }
2151
2187
  ],
2152
- feeRate
2188
+ feeRate,
2189
+ enableRBF
2153
2190
  );
2154
2191
  return res;
2155
2192
  },
@@ -2206,7 +2243,8 @@ function usePrepareSendOrdinalsInscriptionCallback() {
2206
2243
  toAddressInfo,
2207
2244
  inscriptionId,
2208
2245
  feeRate,
2209
- outputValue
2246
+ outputValue,
2247
+ enableRBF
2210
2248
  }) => {
2211
2249
  if (!feeRate) {
2212
2250
  const summary = await wallet.getFeeSummary();
@@ -2221,7 +2259,8 @@ function usePrepareSendOrdinalsInscriptionCallback() {
2221
2259
  inscriptionId,
2222
2260
  feeRate,
2223
2261
  outputValue,
2224
- btcUtxos
2262
+ btcUtxos,
2263
+ enableRBF
2225
2264
  });
2226
2265
  return toSignData;
2227
2266
  },
@@ -2238,7 +2277,8 @@ function usePrepareSendOrdinalsInscriptionsCallback() {
2238
2277
  async ({
2239
2278
  toAddressInfo,
2240
2279
  inscriptionIds,
2241
- feeRate
2280
+ feeRate,
2281
+ enableRBF
2242
2282
  }) => {
2243
2283
  if (!feeRate) {
2244
2284
  const summary = await wallet.getFeeSummary();
@@ -2252,7 +2292,8 @@ function usePrepareSendOrdinalsInscriptionsCallback() {
2252
2292
  to: toAddressInfo.address,
2253
2293
  inscriptionIds,
2254
2294
  feeRate,
2255
- btcUtxos
2295
+ btcUtxos,
2296
+ enableRBF
2256
2297
  });
2257
2298
  return res;
2258
2299
  },
@@ -2270,7 +2311,8 @@ function useCreateSplitTxCallback() {
2270
2311
  async ({
2271
2312
  inscriptionId,
2272
2313
  feeRate,
2273
- outputValue
2314
+ outputValue,
2315
+ enableRBF
2274
2316
  }) => {
2275
2317
  let btcUtxos = utxos;
2276
2318
  if (btcUtxos.length === 0) {
@@ -2280,7 +2322,8 @@ function useCreateSplitTxCallback() {
2280
2322
  inscriptionId,
2281
2323
  feeRate,
2282
2324
  outputValue,
2283
- btcUtxos
2325
+ btcUtxos,
2326
+ enableRBF
2284
2327
  });
2285
2328
  return res;
2286
2329
  },
@@ -2389,7 +2432,8 @@ function usePrepareSendRunesCallback() {
2389
2432
  runeid,
2390
2433
  runeAmount,
2391
2434
  outputValue,
2392
- feeRate
2435
+ feeRate,
2436
+ enableRBF
2393
2437
  }) => {
2394
2438
  if (!feeRate) {
2395
2439
  const summary = await wallet.getFeeSummary();
@@ -2410,7 +2454,8 @@ function usePrepareSendRunesCallback() {
2410
2454
  outputValue,
2411
2455
  feeRate,
2412
2456
  btcUtxos,
2413
- assetUtxos
2457
+ assetUtxos,
2458
+ enableRBF
2414
2459
  });
2415
2460
  return toSignData;
2416
2461
  },
@@ -2425,13 +2470,14 @@ function usePrepareSendAlkanesCallback() {
2425
2470
  const wallet = useWallet();
2426
2471
  const account = useCurrentAccount();
2427
2472
  const callback = useCallback(
2428
- async (toAddressInfo, alkaneid, amount, feeRate, type) => {
2473
+ async (toAddressInfo, alkaneid, amount, feeRate, type, enableRBF) => {
2429
2474
  return await wallet.createSendAlkanesPsbt({
2430
2475
  to: toAddressInfo.address,
2431
2476
  alkaneid,
2432
2477
  amount,
2433
2478
  feeRate,
2434
- type
2479
+ type,
2480
+ enableRBF
2435
2481
  });
2436
2482
  },
2437
2483
  [wallet, account]
@@ -2457,6 +2503,10 @@ function useAlkanesAssetTabKey() {
2457
2503
  const uiState = useUIState();
2458
2504
  return uiState.alkanesAssetTabKey;
2459
2505
  }
2506
+ function useMoreAssetTabKey() {
2507
+ const uiState = useUIState();
2508
+ return uiState.moreAssetTabKey;
2509
+ }
2460
2510
  function useUiTxCreateScreen() {
2461
2511
  const uiState = useUIState();
2462
2512
  return uiState.uiTxCreateScreen;
@@ -2465,12 +2515,14 @@ function useUpdateUiTxCreateScreen() {
2465
2515
  const dispatch = useAppDispatch();
2466
2516
  return ({
2467
2517
  toInfo,
2468
- inputAmount
2518
+ inputAmount,
2519
+ enableRBF
2469
2520
  }) => {
2470
2521
  dispatch(
2471
2522
  uiActions.updateTxCreateScreen({
2472
2523
  toInfo,
2473
- inputAmount
2524
+ inputAmount,
2525
+ enableRBF
2474
2526
  })
2475
2527
  );
2476
2528
  };
@@ -2593,7 +2645,7 @@ function getSupportedAssets(chainType, address) {
2593
2645
  }
2594
2646
  if (chainType === ChainType.BITCOIN_MAINNET || chainType === ChainType.BITCOIN_SIGNET) {
2595
2647
  assets.alkanes = true;
2596
- assetTabKeys.push(4 /* ALKANES */);
2648
+ assetTabKeys.push(4 /* MORE */);
2597
2649
  }
2598
2650
  if (chainType === ChainType.BITCOIN_MAINNET || chainType === ChainType.BITCOIN_SIGNET) {
2599
2651
  assets.brc20Prog = true;
@@ -3204,6 +3256,7 @@ var BRC20SendTabKey = /* @__PURE__ */ ((BRC20SendTabKey2) => {
3204
3256
  })(BRC20SendTabKey || {});
3205
3257
  function useBRC20SendScreenLogic() {
3206
3258
  const nav = useNavigation();
3259
+ const wallet = useWallet();
3207
3260
  const props = nav.getRouteState();
3208
3261
  const tokenBalance = props.tokenBalance;
3209
3262
  const selectedInscriptionIds = props.selectedInscriptionIds || [];
@@ -3215,6 +3268,7 @@ function useBRC20SendScreenLogic() {
3215
3268
  transferableList: [],
3216
3269
  inscriptionIdSet: new Set(selectedInscriptionIds),
3217
3270
  receiver: "",
3271
+ enableRBF: true,
3218
3272
  rawTxInfo: {
3219
3273
  psbtHex: "",
3220
3274
  rawtx: ""
@@ -3254,6 +3308,11 @@ function useBRC20SendScreenLogic() {
3254
3308
  updateContextData({ tabKey: key });
3255
3309
  };
3256
3310
  const { t } = useI18n();
3311
+ useEffect(() => {
3312
+ wallet.getEnableRBF().then((enableRBF) => {
3313
+ updateContextData({ enableRBF });
3314
+ });
3315
+ }, [wallet, updateContextData]);
3257
3316
  return {
3258
3317
  t,
3259
3318
  contextData,
@@ -3325,14 +3384,16 @@ function useBRC20SendScreenLogicStep2({
3325
3384
  toAddressInfo: { address: contextData.receiver, domain: "" },
3326
3385
  inscriptionId: inscriptionIds[0],
3327
3386
  feeRate: feeRateBar.feeRate,
3328
- outputValue: getAddressUtxoDust(contextData.receiver)
3387
+ outputValue: getAddressUtxoDust(contextData.receiver),
3388
+ enableRBF: contextData.enableRBF
3329
3389
  });
3330
3390
  nav.navigate("TxConfirmScreen", { toSignData });
3331
3391
  } else {
3332
3392
  const toSignData = await prepareSendOrdinalsInscriptions({
3333
3393
  toAddressInfo: { address: contextData.receiver, domain: "" },
3334
3394
  inscriptionIds,
3335
- feeRate: feeRateBar.feeRate
3395
+ feeRate: feeRateBar.feeRate,
3396
+ enableRBF: contextData.enableRBF
3336
3397
  });
3337
3398
  nav.navigate("TxConfirmScreen", { toSignData });
3338
3399
  }
@@ -3415,12 +3476,13 @@ function useTransferableListLogic({ contextData, updateContextData }) {
3415
3476
  const fetchData = async () => {
3416
3477
  try {
3417
3478
  setLoading(true);
3418
- const { list, total: total2 } = await wallet.getBRC20TransferableList(
3419
- currentAccount.address,
3420
- contextData.tokenBalance.ticker,
3421
- pagination.currentPage,
3422
- pagination.pageSize
3423
- );
3479
+ const { list, total: total2 } = await wallet.getBRC20TransferableList({
3480
+ address: currentAccount.address,
3481
+ ticker: contextData.tokenBalance.ticker,
3482
+ tickerHex: contextData.tokenBalance.tickerHex,
3483
+ currentPage: pagination.currentPage,
3484
+ pageSize: pagination.pageSize
3485
+ });
3424
3486
  setItems(list);
3425
3487
  setTotal(total2);
3426
3488
  } catch (e) {
@@ -3707,6 +3769,7 @@ var BRC20TokenScreenTabKey = /* @__PURE__ */ ((BRC20TokenScreenTabKey2) => {
3707
3769
  BRC20TokenScreenTabKey2["HISTORY"] = "history";
3708
3770
  return BRC20TokenScreenTabKey2;
3709
3771
  })(BRC20TokenScreenTabKey || {});
3772
+ var INSWAP_SWAP_ANCHOR = "#swap";
3710
3773
  function useBRC20TokenHistoryLogic(props) {
3711
3774
  const wallet = useWallet();
3712
3775
  const { t } = useI18n();
@@ -3828,6 +3891,7 @@ function useBRC20TokenScreenLogic() {
3828
3891
  const [tokenSummary, setTokenSummary] = useState({
3829
3892
  tokenBalance: {
3830
3893
  ticker,
3894
+ tickerHex: Buffer.from(ticker).toString("hex"),
3831
3895
  overallBalance: "",
3832
3896
  availableBalance: "",
3833
3897
  transferableBalance: "",
@@ -3854,7 +3918,10 @@ function useBRC20TokenScreenLogic() {
3854
3918
  const [deployInscription, setDeployInscription] = useState();
3855
3919
  const resetTxState = useResetTxState();
3856
3920
  useEffect(() => {
3857
- wallet.getBRC20Summary(account.address, ticker).then((tokenSummary2) => {
3921
+ wallet.getBRC20Summary({
3922
+ address: account.address,
3923
+ ticker
3924
+ }).then((tokenSummary2) => {
3858
3925
  if (tokenSummary2.tokenInfo.holder == account.address) {
3859
3926
  wallet.getInscriptionInfo(tokenSummary2.tokenInfo.inscriptionId).then((data) => {
3860
3927
  setDeployInscription(data);
@@ -3926,6 +3993,10 @@ function useBRC20TokenScreenLogic() {
3926
3993
  return items;
3927
3994
  }
3928
3995
  }, [t, enableHistory]);
3996
+ const showSwapBalance = chain.isFractal;
3997
+ const showProgBalance = chain.enableBrc20Prog;
3998
+ const swapSiteEnabled = chain.enum === ChainType.FRACTAL_BITCOIN_MAINNET;
3999
+ const progSiteEnabled = chain.enum === ChainType.BITCOIN_MAINNET;
3929
4000
  const onSwapBalance = tokenSummary?.tokenBalance?.swapBalance;
3930
4001
  const onProgBalance = tokenSummary?.tokenBalance?.progBalance;
3931
4002
  const inWalletBalance = tokenSummary?.tokenBalance?.overallBalance;
@@ -3937,14 +4008,14 @@ function useBRC20TokenScreenLogic() {
3937
4008
  amount: inWalletBalance || "0"
3938
4009
  }
3939
4010
  ];
3940
- if (onSwapBalance && onSwapBalance !== "0") {
4011
+ if (showSwapBalance) {
3941
4012
  items.push({
3942
4013
  key: "swap",
3943
4014
  label: t("brc20_on_swap"),
3944
4015
  amount: onSwapBalance
3945
4016
  });
3946
4017
  }
3947
- if (onProgBalance && onProgBalance !== "0") {
4018
+ if (showProgBalance) {
3948
4019
  items.push({
3949
4020
  key: "prog",
3950
4021
  label: t("brc20_on_prog"),
@@ -3959,47 +4030,61 @@ function useBRC20TokenScreenLogic() {
3959
4030
  }
3960
4031
  return new BigNumber(inWalletBalance).plus(new BigNumber(onSwapBalance || 0)).plus(new BigNumber(onProgBalance || 0)).toString();
3961
4032
  }, [onSwapBalance, onProgBalance, inWalletBalance]);
3962
- let hasOutWalletBalance = false;
3963
- if (onSwapBalance && onSwapBalance !== "0") {
3964
- hasOutWalletBalance = true;
3965
- }
3966
- if (onProgBalance && onProgBalance !== "0") {
3967
- hasOutWalletBalance = true;
3968
- }
4033
+ const brc20prog_ticker = encodeURIComponent(ticker);
4034
+ const ensureSiteEnabled = (enabled) => {
4035
+ if (!enabled) {
4036
+ tools.toastError(t("not_supported"));
4037
+ return false;
4038
+ }
4039
+ return true;
4040
+ };
3969
4041
  const onClickWrapBrc20Prog = () => {
3970
- const url = `https://link.unisat.space/btc/wrap?tick=${encodeURIComponent(ticker)}`;
4042
+ if (!ensureSiteEnabled(progSiteEnabled))
4043
+ return;
4044
+ const url = `https://link.unisat.space/btc/wrap?tick=${brc20prog_ticker}`;
3971
4045
  nav.navToUrl(url);
3972
4046
  };
3973
4047
  const onClickUnwrapBrc20Prog = () => {
3974
- const url = `https://link.unisat.space/btc/wrap?action=unwrap&tick=${encodeURIComponent(ticker)}`;
4048
+ if (!ensureSiteEnabled(progSiteEnabled))
4049
+ return;
4050
+ const url = `https://link.unisat.space/btc/wrap?action=unwrap&tick=${brc20prog_ticker}`;
3975
4051
  nav.navToUrl(url);
3976
4052
  };
3977
4053
  const onClickSendBrc20Prog = () => {
3978
- const url = `https://bestinslot.xyz/brc2.0/${encodeURIComponent(ticker)}/transfer`;
4054
+ if (!ensureSiteEnabled(progSiteEnabled))
4055
+ return;
4056
+ const url = `https://bestinslot.xyz/brc2.0/${brc20prog_ticker}/transfer`;
3979
4057
  nav.navToUrl(url);
3980
4058
  };
4059
+ const inswap_ticker = encodeURIComponent(ticker);
3981
4060
  const onClickSwapInSwap = () => {
3982
- const url = `https://inswap.cc/swap?t0=${encodeURIComponent(ticker)}`;
4061
+ if (!ensureSiteEnabled(swapSiteEnabled))
4062
+ return;
4063
+ const url = `https://inswap.cc/swap/pools?q=${inswap_ticker}`;
3983
4064
  nav.navToUrl(url);
3984
4065
  };
3985
4066
  const onClickAddLiquidityInSwap = () => {
3986
- const url = `https://inswap.cc/swap/pools?t0=${encodeURIComponent(ticker)}&t1=sFB___000&action=add`;
3987
- nav.navToUrl(url);
3988
- };
3989
- const onClickRemoveLiquidityInSwap = () => {
3990
- const url = `https://inswap.cc/swap/pools?t0=${encodeURIComponent(ticker)}&t1=sFB___000&action=remove`;
4067
+ if (!ensureSiteEnabled(swapSiteEnabled))
4068
+ return;
4069
+ const url = `https://inswap.cc/swap/pools?q=${inswap_ticker}`;
3991
4070
  nav.navToUrl(url);
3992
4071
  };
3993
4072
  const onClickWrapInSwap = () => {
3994
- const url = `https://inswap.cc/swap?tab=deposit&t=${encodeURIComponent(ticker)}`;
4073
+ if (!ensureSiteEnabled(swapSiteEnabled))
4074
+ return;
4075
+ const url = `https://inswap.cc/swap?tab=deposit&t=${inswap_ticker}${INSWAP_SWAP_ANCHOR}`;
3995
4076
  nav.navToUrl(url);
3996
4077
  };
3997
4078
  const onClickUnwrapInSwap = () => {
3998
- const url = `https://inswap.cc/swap?tab=withdraw&t=${encodeURIComponent(ticker)}`;
4079
+ if (!ensureSiteEnabled(swapSiteEnabled))
4080
+ return;
4081
+ const url = `https://inswap.cc/swap?tab=withdraw&t=${inswap_ticker}${INSWAP_SWAP_ANCHOR}`;
3999
4082
  nav.navToUrl(url);
4000
4083
  };
4001
4084
  const onClickSendInSwap = () => {
4002
- const url = `https://inswap.cc/swap/assets/account`;
4085
+ if (!ensureSiteEnabled(swapSiteEnabled))
4086
+ return;
4087
+ const url = `https://inswap.cc/swap/assets/account?tab=assets&t=${inswap_ticker}&action=send`;
4003
4088
  nav.navToUrl(url);
4004
4089
  };
4005
4090
  const onClickMint = () => {
@@ -4029,7 +4114,6 @@ function useBRC20TokenScreenLogic() {
4029
4114
  onProgBalance,
4030
4115
  inWalletBalance,
4031
4116
  outWalletBalanceItems,
4032
- hasOutWalletBalance,
4033
4117
  enableHistory,
4034
4118
  enableTrade,
4035
4119
  enableMint,
@@ -4046,12 +4130,13 @@ function useBRC20TokenScreenLogic() {
4046
4130
  tools,
4047
4131
  isBrc20Prog,
4048
4132
  iconInfo,
4133
+ showProgBalance,
4134
+ showSwapBalance,
4049
4135
  onClickWrapBrc20Prog,
4050
4136
  onClickUnwrapBrc20Prog,
4051
4137
  onClickSendBrc20Prog,
4052
4138
  onClickSwapInSwap,
4053
4139
  onClickAddLiquidityInSwap,
4054
- onClickRemoveLiquidityInSwap,
4055
4140
  onClickWrapInSwap,
4056
4141
  onClickUnwrapInSwap,
4057
4142
  onClickSendInSwap,
@@ -4089,14 +4174,14 @@ function useEditWalletNameScreenLogic() {
4089
4174
  return true;
4090
4175
  }, [alianName]);
4091
4176
  const truncatedTitle = useMemo(() => {
4092
- if (keyring.alianName && keyring.alianName.length > 20) {
4093
- return keyring.alianName.slice(0, 20) + "...";
4177
+ if (keyring.alianName && keyring.alianName.length > MAX_ALIAS_NAME_LENGTH) {
4178
+ return keyring.alianName.slice(0, MAX_ALIAS_NAME_LENGTH) + "...";
4094
4179
  }
4095
4180
  return keyring.alianName || "";
4096
4181
  }, [keyring.alianName]);
4097
4182
  const onInputChange = (e) => {
4098
4183
  const value = typeof e === "string" ? e : e.target.value;
4099
- if (value.length <= 20) {
4184
+ if (value.length <= MAX_ALIAS_NAME_LENGTH) {
4100
4185
  setAlianName(value);
4101
4186
  }
4102
4187
  };
@@ -4483,13 +4568,23 @@ function useSendOrdinalsInscriptionScreenLogic() {
4483
4568
  const { feeRate } = useFeeRateBar();
4484
4569
  const defaultOutputValue = inscription ? inscription.outputValue : 1e4;
4485
4570
  const [outputValue, setOutputValue] = useState(defaultOutputValue);
4571
+ const [enableRBF, setEnableRBF] = useState(true);
4486
4572
  const [inscriptions, setInscriptions] = useState([]);
4487
4573
  const wallet = useWallet();
4574
+ useEffect(() => {
4575
+ wallet.getEnableRBF().then((enableRBF2) => {
4576
+ setEnableRBF(enableRBF2);
4577
+ });
4578
+ }, [wallet]);
4488
4579
  useEffect(() => {
4489
4580
  wallet.getInscriptionUtxoDetail(inscription.inscriptionId).then((v) => {
4490
4581
  setInscriptions(v.inscriptions);
4491
4582
  });
4492
4583
  }, []);
4584
+ const onEnableRBFChange = (value) => {
4585
+ setEnableRBF(value);
4586
+ wallet.setEnableRBF(value);
4587
+ };
4493
4588
  const minOutputValue = useMemo(() => {
4494
4589
  if (toInfo.address) {
4495
4590
  return getAddressUtxoDust(toInfo.address);
@@ -4538,7 +4633,8 @@ function useSendOrdinalsInscriptionScreenLogic() {
4538
4633
  toAddressInfo: toInfo,
4539
4634
  inscriptionId: inscription.inscriptionId,
4540
4635
  feeRate,
4541
- outputValue
4636
+ outputValue,
4637
+ enableRBF
4542
4638
  }).then((toSignData) => {
4543
4639
  nav.navigate("TxConfirmScreen", { toSignData });
4544
4640
  }).catch((e) => {
@@ -4551,6 +4647,8 @@ function useSendOrdinalsInscriptionScreenLogic() {
4551
4647
  onAddressInputChange,
4552
4648
  toInfo,
4553
4649
  outputValue,
4650
+ enableRBF,
4651
+ setEnableRBF: onEnableRBFChange,
4554
4652
  minOutputValue,
4555
4653
  defaultOutputValue,
4556
4654
  setOutputValue,
@@ -4572,10 +4670,12 @@ function useTxCreateScreenLogic() {
4572
4670
  const feeRateBarState = useFeeRateBar();
4573
4671
  const toInfo = uiState.toInfo;
4574
4672
  const inputAmount = uiState.inputAmount;
4673
+ const enableRBF = uiState.enableRBF;
4575
4674
  const feeRate = feeRateBarState.feeRate;
4576
4675
  const [error, setError] = useState("");
4577
4676
  const [autoAdjust, setAutoAdjust] = useState(false);
4578
4677
  const fetchUtxos = useFetchUtxosCallback();
4678
+ const wallet = useWallet();
4579
4679
  const tools = useTools();
4580
4680
  useEffect(() => {
4581
4681
  tools.showLoading(true);
@@ -4583,6 +4683,11 @@ function useTxCreateScreenLogic() {
4583
4683
  tools.showLoading(false);
4584
4684
  });
4585
4685
  }, []);
4686
+ useEffect(() => {
4687
+ wallet.getEnableRBF().then((enableRBF2) => {
4688
+ setUiState({ enableRBF: enableRBF2 });
4689
+ });
4690
+ }, [wallet, setUiState]);
4586
4691
  const prepareSendBTC = usePrepareSendBTCCallback();
4587
4692
  const toSatoshis = useMemo(() => {
4588
4693
  if (!inputAmount)
@@ -4639,8 +4744,12 @@ function useTxCreateScreenLogic() {
4639
4744
  setAutoAdjust(true);
4640
4745
  setUiState({ inputAmount: availableAmount.toString() });
4641
4746
  };
4747
+ const onRBFChange = (value) => {
4748
+ setUiState({ enableRBF: value });
4749
+ wallet.setEnableRBF(value);
4750
+ };
4642
4751
  const onClickNext = () => {
4643
- prepareSendBTC({ toAddressInfo: toInfo, toAmount: toSatoshis, feeRate }).then((toSignData) => {
4752
+ prepareSendBTC({ toAddressInfo: toInfo, toAmount: toSatoshis, feeRate, enableRBF }).then((toSignData) => {
4644
4753
  nav.navigate("TxConfirmScreen", {
4645
4754
  toSignData
4646
4755
  });
@@ -4658,6 +4767,8 @@ function useTxCreateScreenLogic() {
4658
4767
  inputAmount,
4659
4768
  onAmountInputChange,
4660
4769
  onAmountMaxClick,
4770
+ enableRBF,
4771
+ onRBFChange,
4661
4772
  showUnavailable,
4662
4773
  availableAmount,
4663
4774
  unavailableAmount,
@@ -4677,14 +4788,12 @@ function useBRC20InscribeTransferLogic() {
4677
4788
  const [contextData, setContextData] = useState({
4678
4789
  step: 0 /* STEP1 */,
4679
4790
  ticker,
4680
- isApproval: false
4791
+ isApproval: false,
4792
+ enableRBF: true
4681
4793
  });
4682
- const updateContextData = useCallback(
4683
- (params) => {
4684
- setContextData(Object.assign({}, contextData, params));
4685
- },
4686
- [contextData, setContextData]
4687
- );
4794
+ const updateContextData = useCallback((params) => {
4795
+ setContextData((prev) => Object.assign({}, prev, params));
4796
+ }, []);
4688
4797
  return {
4689
4798
  contextData,
4690
4799
  updateContextData
@@ -4720,6 +4829,11 @@ function useBRC20InscribeTransferLogicStep1(params) {
4720
4829
  setInputDisabled(true);
4721
4830
  }
4722
4831
  }, []);
4832
+ useEffect(() => {
4833
+ wallet.getEnableRBF().then((enableRBF) => {
4834
+ updateContextData({ enableRBF });
4835
+ });
4836
+ }, []);
4723
4837
  useEffect(() => {
4724
4838
  setInputError("");
4725
4839
  setInputErrorAvailable("");
@@ -4766,7 +4880,10 @@ function useBRC20InscribeTransferLogicStep1(params) {
4766
4880
  }, [inputAmount, feeRateBarState.feeRate, outputValue, contextData.tokenBalance]);
4767
4881
  useEffect(() => {
4768
4882
  fetchUtxos();
4769
- wallet.getBRC20Summary(account.address, contextData.ticker).then((v) => {
4883
+ wallet.getBRC20Summary({
4884
+ address: account.address,
4885
+ ticker: contextData.ticker
4886
+ }).then((v) => {
4770
4887
  updateContextData({ tokenBalance: v.tokenBalance, tokenInfo: v.tokenInfo });
4771
4888
  setTimeout(() => {
4772
4889
  setLoading(false);
@@ -4789,7 +4906,8 @@ function useBRC20InscribeTransferLogicStep1(params) {
4789
4906
  const toSignData = await prepareSendBypassHeadOffsets({
4790
4907
  toAddressInfo: { address: order.payAddress, domain: "" },
4791
4908
  toAmount: order.totalFee,
4792
- feeRate: feeRateBarState.feeRate
4909
+ feeRate: feeRateBarState.feeRate,
4910
+ enableRBF: contextData.enableRBF
4793
4911
  });
4794
4912
  updateContextData({ order, amount, toSignData, step: 1 /* STEP2 */ });
4795
4913
  } catch (e) {
@@ -4811,6 +4929,11 @@ function useBRC20InscribeTransferLogicStep1(params) {
4811
4929
  defaultOutputValue,
4812
4930
  setOutputValue,
4813
4931
  disabled,
4932
+ enableRBF: contextData.enableRBF,
4933
+ setEnableRBF: (value) => {
4934
+ updateContextData({ enableRBF: value });
4935
+ wallet.setEnableRBF(value);
4936
+ },
4814
4937
  loadingOnly,
4815
4938
  handleCancel
4816
4939
  };
@@ -4888,9 +5011,11 @@ function useBRC20InscribeTransferLogicStep3(params) {
4888
5011
  const onSignPsbtHandleConfirm = async (signedDatas) => {
4889
5012
  tools.showLoading(true);
4890
5013
  try {
4891
- const { success, txid, error } = await pushBitcoinTx(signedDatas[0].psbtHex);
5014
+ const { success, error } = await pushBitcoinTx(signedDatas[0].psbtHex);
4892
5015
  if (success) {
4893
- nav.navigate("TxSuccessScreen", { txid });
5016
+ updateContextData({
5017
+ step: 3 /* STEP4 */
5018
+ });
4894
5019
  } else {
4895
5020
  throw new Error(error);
4896
5021
  }
@@ -4934,7 +5059,10 @@ function useBRC20InscribeTransferLogicStep4(params) {
4934
5059
  }, []);
4935
5060
  const onClickConfirm = () => {
4936
5061
  tools.showLoading(true);
4937
- wallet.getBRC20Summary(currentAccount.address, tokenBalance.ticker).then((v) => {
5062
+ wallet.getBRC20Summary({
5063
+ address: currentAccount.address,
5064
+ ticker: tokenBalance.ticker
5065
+ }).then((v) => {
4938
5066
  if (contextData.isApproval) {
4939
5067
  resolveApproval({
4940
5068
  inscriptionId: result.inscriptionId,
@@ -5076,6 +5204,10 @@ function useAlkanesTokenScreenLogic() {
5076
5204
  tokenSummary.tokenBalance.name,
5077
5205
  tokenSummary.tokenBalance.alkaneid
5078
5206
  );
5207
+ const alkanesExplorerUrl = useAlkanesTokenInfoExplorerUrl(tokenSummary.tokenInfo.alkaneid);
5208
+ const onClickViewOnExplorer = () => {
5209
+ nav.navToUrl(alkanesExplorerUrl);
5210
+ };
5079
5211
  return {
5080
5212
  tokenSummary,
5081
5213
  loading,
@@ -5089,6 +5221,7 @@ function useAlkanesTokenScreenLogic() {
5089
5221
  onClickMint,
5090
5222
  onClickSend,
5091
5223
  onClickTrade,
5224
+ onClickViewOnExplorer,
5092
5225
  iconInfo
5093
5226
  };
5094
5227
  }
@@ -5469,6 +5602,7 @@ function useRunesTokenScreenLogic() {
5469
5602
  const iconInfo = useRunesIconInfo(tokenSummary.runeInfo.spacedRune);
5470
5603
  const inscribeUrl = useRunesInscribeUrl(tokenSummary.runeInfo.rune);
5471
5604
  const marketPlaceUrl = useRunesMarketUrl(tokenSummary.runeInfo.spacedRune);
5605
+ const runesExplorerUrl = useRunesTokenInfoExplorerUrl(tokenSummary.runeInfo.runeid);
5472
5606
  const onClickMint = () => {
5473
5607
  nav.navToUrl(inscribeUrl);
5474
5608
  };
@@ -5484,6 +5618,9 @@ function useRunesTokenScreenLogic() {
5484
5618
  nav.navToUrl(marketPlaceUrl);
5485
5619
  }
5486
5620
  };
5621
+ const onClickViewOnExplorer = () => {
5622
+ nav.navToUrl(runesExplorerUrl);
5623
+ };
5487
5624
  return {
5488
5625
  runeid,
5489
5626
  tokenSummary,
@@ -5498,7 +5635,8 @@ function useRunesTokenScreenLogic() {
5498
5635
  enableTransfer,
5499
5636
  onClickSend,
5500
5637
  enableTrade,
5501
- onClickTrade
5638
+ onClickTrade,
5639
+ onClickViewOnExplorer
5502
5640
  };
5503
5641
  }
5504
5642
  function useBRC20BalanceCardLogic(props) {
@@ -5714,6 +5852,7 @@ function useSendRunesScreenLogic() {
5714
5852
  const defaultOutputValue = 546;
5715
5853
  const currentAccount = useCurrentAccount();
5716
5854
  const [outputValue, setOutputValue] = useState(defaultOutputValue);
5855
+ const [enableRBF, setEnableRBF] = useState(true);
5717
5856
  const minOutputValue = useMemo(() => {
5718
5857
  if (toInfo.address) {
5719
5858
  const dust1 = getAddressUtxoDust(currentAccount.address);
@@ -5724,6 +5863,7 @@ function useSendRunesScreenLogic() {
5724
5863
  }
5725
5864
  }, [toInfo.address, currentAccount.address]);
5726
5865
  const fetchUtxos = useFetchUtxosCallback();
5866
+ const wallet = useWallet();
5727
5867
  const fetchAssetUtxosRunes = useFetchAssetUtxosRunesCallback();
5728
5868
  const tools = useTools();
5729
5869
  useEffect(() => {
@@ -5748,6 +5888,11 @@ function useSendRunesScreenLogic() {
5748
5888
  }, []);
5749
5889
  const prepareSendRunes = usePrepareSendRunesCallback();
5750
5890
  const { feeRate } = useFeeRateBar();
5891
+ useEffect(() => {
5892
+ wallet.getEnableRBF().then((enableRBF2) => {
5893
+ setEnableRBF(enableRBF2);
5894
+ });
5895
+ }, [wallet]);
5751
5896
  useEffect(() => {
5752
5897
  setError("");
5753
5898
  setDisabled(true);
@@ -5786,6 +5931,10 @@ function useSendRunesScreenLogic() {
5786
5931
  const onClickBack = () => {
5787
5932
  nav.goBack();
5788
5933
  };
5934
+ const onEnableRBFChange = (value) => {
5935
+ setEnableRBF(value);
5936
+ wallet.setEnableRBF(value);
5937
+ };
5789
5938
  const onClickNext = () => {
5790
5939
  const runeAmount = bnUtils.fromDecimalAmount(inputAmount, runeInfo.divisibility);
5791
5940
  prepareSendRunes({
@@ -5793,7 +5942,8 @@ function useSendRunesScreenLogic() {
5793
5942
  runeid: runeInfo.runeid,
5794
5943
  runeAmount,
5795
5944
  outputValue,
5796
- feeRate
5945
+ feeRate,
5946
+ enableRBF
5797
5947
  }).then((toSignData) => {
5798
5948
  nav.navigate("TxConfirmScreen", { toSignData });
5799
5949
  }).catch((e) => {
@@ -5815,6 +5965,8 @@ function useSendRunesScreenLogic() {
5815
5965
  defaultOutputValue,
5816
5966
  minOutputValue,
5817
5967
  setOutputValue,
5968
+ enableRBF,
5969
+ setEnableRBF: onEnableRBFChange,
5818
5970
  t,
5819
5971
  // actions
5820
5972
  onClickBack,
@@ -5977,14 +6129,14 @@ function useEditAccountNameScreenLogic() {
5977
6129
  }, [alianName]);
5978
6130
  const truncatedTitle = useMemo(() => {
5979
6131
  const name = account.alianName || "";
5980
- if (name.length > 20) {
5981
- return name.slice(0, 10) + "...";
6132
+ if (name.length > MAX_ALIAS_NAME_LENGTH) {
6133
+ return name.slice(0, MAX_ALIAS_NAME_LENGTH) + "...";
5982
6134
  }
5983
6135
  return name;
5984
6136
  }, [account.alianName]);
5985
6137
  const onInputChange = (e) => {
5986
6138
  const value = typeof e === "string" ? e : e.target.value;
5987
- if (value.length <= 20) {
6139
+ if (value.length <= MAX_ALIAS_NAME_LENGTH) {
5988
6140
  setAlianName(value);
5989
6141
  }
5990
6142
  };
@@ -6075,7 +6227,11 @@ function useBRC20ListLogic() {
6075
6227
  if (currentAccount.address === "") {
6076
6228
  return { list: [], total: 0 };
6077
6229
  }
6078
- const { list, total: total2 } = await wallet.getBRC20List(currentAccount.address, page, pageSize);
6230
+ const { list, total: total2 } = await wallet.getBRC20List({
6231
+ address: currentAccount.address,
6232
+ currentPage: page,
6233
+ pageSize
6234
+ });
6079
6235
  if (list.length > 0) {
6080
6236
  wallet.getBrc20sPrice(list.map((item) => item.ticker)).then(updatePrices);
6081
6237
  }
@@ -6706,7 +6862,11 @@ function useBRC20ProgListLogic() {
6706
6862
  if (!supportedAssets.assets.brc20Prog || currentAccount.address === "") {
6707
6863
  return { list: [], total: 0 };
6708
6864
  }
6709
- const { list, total: total2 } = await wallet.getBRC20ProgList(currentAccount.address, page, pageSize);
6865
+ const { list, total: total2 } = await wallet.getBRC20ProgList({
6866
+ address: currentAccount.address,
6867
+ currentPage: page,
6868
+ pageSize
6869
+ });
6710
6870
  if (list.length > 0) {
6711
6871
  wallet.getBrc20sPrice(list.map((item) => item.ticker)).then(updatePrices);
6712
6872
  }
@@ -6858,6 +7018,9 @@ function useCAT20TokenScreenLogic() {
6858
7018
  const onClickTrade = (e) => {
6859
7019
  nav.navToUrl(marketPlaceUrl);
6860
7020
  };
7021
+ const onClickViewOnExplorer = (e) => {
7022
+ nav.navToUrl(tokenUrl);
7023
+ };
6861
7024
  const iconInfo = useCAT20IconInfo(tokenSummary.cat20Info.name, tokenSummary.cat20Info.tokenId);
6862
7025
  return {
6863
7026
  tokenSummary,
@@ -6870,6 +7033,7 @@ function useCAT20TokenScreenLogic() {
6870
7033
  onClickSend,
6871
7034
  onClickTrade,
6872
7035
  onClickBack,
7036
+ onClickViewOnExplorer,
6873
7037
  t
6874
7038
  };
6875
7039
  }
@@ -6886,15 +7050,25 @@ function useSplitOrdinalsInscriptionScreenLogic() {
6886
7050
  const account = useCurrentAccount();
6887
7051
  const minOutputValue = getAddressUtxoDust(account.address);
6888
7052
  const [outputValue, setOutputValue] = useState(defaultOutputValue);
7053
+ const [enableRBF, setEnableRBF] = useState(true);
6889
7054
  const { feeRate } = useFeeRateBar();
6890
7055
  const [inscriptions, setInscriptions] = useState([]);
6891
7056
  const [splitedCount, setSplitedCount] = useState(0);
6892
7057
  const wallet = useWallet();
7058
+ useEffect(() => {
7059
+ wallet.getEnableRBF().then((enableRBF2) => {
7060
+ setEnableRBF(enableRBF2);
7061
+ });
7062
+ }, [wallet]);
6893
7063
  useEffect(() => {
6894
7064
  wallet.getInscriptionUtxoDetail(props.inscription.inscriptionId).then((v) => {
6895
7065
  setInscriptions(v.inscriptions);
6896
7066
  });
6897
7067
  }, []);
7068
+ const onEnableRBFChange = (value) => {
7069
+ setEnableRBF(value);
7070
+ wallet.setEnableRBF(value);
7071
+ };
6898
7072
  useEffect(() => {
6899
7073
  setDisabled(true);
6900
7074
  setError("");
@@ -6919,7 +7093,7 @@ function useSplitOrdinalsInscriptionScreenLogic() {
6919
7093
  setOutputValue(value);
6920
7094
  };
6921
7095
  const onClickNext = () => {
6922
- createSplitTx({ inscriptionId: inscription.inscriptionId, feeRate, outputValue }).then((toSignData) => {
7096
+ createSplitTx({ inscriptionId: inscription.inscriptionId, feeRate, outputValue, enableRBF }).then((toSignData) => {
6923
7097
  nav.navigate("TxConfirmScreen", { toSignData });
6924
7098
  }).catch((e) => {
6925
7099
  console.log(e);
@@ -6931,6 +7105,8 @@ function useSplitOrdinalsInscriptionScreenLogic() {
6931
7105
  inscriptions,
6932
7106
  minOutputValue,
6933
7107
  splitedCount,
7108
+ enableRBF,
7109
+ setEnableRBF: onEnableRBFChange,
6934
7110
  error,
6935
7111
  disabled,
6936
7112
  onOutputValueChange,
@@ -7094,9 +7270,16 @@ function useSendAlkanesNFTScreenLogic() {
7094
7270
  inscription: void 0
7095
7271
  });
7096
7272
  const [error, setError] = useState("");
7273
+ const [enableRBF, setEnableRBF] = useState(true);
7097
7274
  useCurrentAccount();
7098
7275
  const tools = useTools();
7276
+ const wallet = useWallet();
7099
7277
  const { feeRate } = useFeeRateBar();
7278
+ useEffect(() => {
7279
+ wallet.getEnableRBF().then((enableRBF2) => {
7280
+ setEnableRBF(enableRBF2);
7281
+ });
7282
+ }, [wallet]);
7100
7283
  useEffect(() => {
7101
7284
  setError("");
7102
7285
  setDisabled(true);
@@ -7118,7 +7301,14 @@ function useSendAlkanesNFTScreenLogic() {
7118
7301
  const onCreateTxHandleConfirm = async () => {
7119
7302
  tools.showLoading(true);
7120
7303
  try {
7121
- const toSignData = await prepareSendAlkanes(toInfo, alkanesInfo.alkaneid, "1", feeRate, "nft");
7304
+ const toSignData = await prepareSendAlkanes(
7305
+ toInfo,
7306
+ alkanesInfo.alkaneid,
7307
+ "1",
7308
+ feeRate,
7309
+ "nft",
7310
+ enableRBF
7311
+ );
7122
7312
  if (toSignData) {
7123
7313
  transferData.current.toSignData = toSignData;
7124
7314
  setStep(1);
@@ -7159,14 +7349,20 @@ function useSendAlkanesNFTScreenLogic() {
7159
7349
  toSignDatas: [transferData.current.toSignData]
7160
7350
  }
7161
7351
  };
7352
+ const onEnableRBFChange = (value) => {
7353
+ setEnableRBF(value);
7354
+ wallet.setEnableRBF(value);
7355
+ };
7162
7356
  return {
7163
7357
  step,
7164
7358
  t,
7165
7359
  alkanesInfo,
7166
7360
  toInfo,
7361
+ enableRBF,
7167
7362
  disabled,
7168
7363
  error,
7169
7364
  setToInfo,
7365
+ setEnableRBF: onEnableRBFChange,
7170
7366
  onCreateTxHandleConfirm,
7171
7367
  onCreateTxHandleBack,
7172
7368
  onSignPsbtHandleConfirm,
@@ -7195,6 +7391,7 @@ function useSendAlkanesScreenLogic() {
7195
7391
  });
7196
7392
  const [availableBalance, setAvailableBalance] = useState(tokenBalance.amount);
7197
7393
  const [error, setError] = useState("");
7394
+ const [enableRBF, setEnableRBF] = useState(true);
7198
7395
  const totalBalanceStr = useMemo(() => {
7199
7396
  return bnUtils.toDecimalAmount(tokenBalance.amount, tokenBalance.divisibility);
7200
7397
  }, [tokenBalance]);
@@ -7243,6 +7440,11 @@ function useSendAlkanesScreenLogic() {
7243
7440
  });
7244
7441
  const [step, setStep] = useState(0 /* CREATE_TX */);
7245
7442
  const wallet = useWallet();
7443
+ useEffect(() => {
7444
+ wallet.getEnableRBF().then((enableRBF2) => {
7445
+ setEnableRBF(enableRBF2);
7446
+ });
7447
+ }, [wallet]);
7246
7448
  const prepareSendAlkanes = usePrepareSendAlkanesCallback();
7247
7449
  const pushBitcoinTx = usePushBitcoinTxCallback();
7248
7450
  const onClickBack = () => {
@@ -7256,7 +7458,8 @@ function useSendAlkanesScreenLogic() {
7256
7458
  tokenBalance.alkaneid,
7257
7459
  bnUtils.fromDecimalAmount(inputAmount, tokenBalance.divisibility),
7258
7460
  feeRate,
7259
- "ft"
7461
+ "ft",
7462
+ enableRBF
7260
7463
  );
7261
7464
  if (toSignData) {
7262
7465
  transferData.current.toSignData = toSignData;
@@ -7294,6 +7497,10 @@ function useSendAlkanesScreenLogic() {
7294
7497
  const onSignPsbtHandleBack = () => {
7295
7498
  setStep(0 /* CREATE_TX */);
7296
7499
  };
7500
+ const onEnableRBFChange = (value) => {
7501
+ setEnableRBF(value);
7502
+ wallet.setEnableRBF(value);
7503
+ };
7297
7504
  return {
7298
7505
  step,
7299
7506
  t,
@@ -7303,11 +7510,13 @@ function useSendAlkanesScreenLogic() {
7303
7510
  totalBalanceStr,
7304
7511
  availableBalanceStr,
7305
7512
  inputAmount,
7513
+ enableRBF,
7306
7514
  disabled,
7307
7515
  error,
7308
7516
  // actions
7309
7517
  setToInfo,
7310
7518
  setInputAmount,
7519
+ setEnableRBF: onEnableRBFChange,
7311
7520
  onClickBack,
7312
7521
  onClickNext,
7313
7522
  // sign psbt actions
@@ -8505,6 +8714,6 @@ function createAppStore() {
8505
8714
  return store;
8506
8715
  }
8507
8716
 
8508
- export { AccountUpdater, AlkanesAssetTabKey, ApprovalContext, AssetTabKey, BRC20SendTabKey, BRC20SingleStepKey, BRC20TokenScreenTabKey, CATAssetTabKey, DeviceContext, I18nContext, NavigationContext, NavigationSource, OrdinalsAssetTabKey, PriceProvider, SendAlkanesNFTScreenStep, SendAlkanesScreenStep, SendCAT20ScreenStep, SendCAT721ScreenStep, StorageContext, ToolsContext, WalletProvider, WalletTabScreenTabKey, accountActions, browserActions, createAppStore, createStorageProvider, discoveryActions, getSupportedAssets, globalActions, keyringsActions, settingsActions, transactionsActions, uiActions, uiEventBus, useAccountAddress, useAccountBalance, useAccountInscriptions, useAccounts, useAccountsState, useActionOverviewSectionLogic, useAddressExplorerUrl, useAddressInput, useAddressSummary, useAddressTips, useAddressTypeScreenLogic, useAlkanesAssetTabKey, useAlkanesBalanceCardLogic, useAlkanesCollectionListLogic, useAlkanesIconInfo, useAlkanesListLogic, useAlkanesMarketPlaceWebsite, useAlkanesNFTListLogic, useAlkanesNFTScreenLogic, useAlkanesTokenScreenLogic, useAmountInput, useAmountInputLogic, useAnnouncementCardLogic, useAppDispatch, useAppList, useAppSelector, useAppSummary, useApproval, useAssetTabKey, useAssetUtxosRunes, useAsyncEffect, useAutoLockTimeId, useBRC20BalanceCardLogic, useBRC20IconInfo, useBRC20InscribeTransferLogic, useBRC20InscribeTransferLogicStep1, useBRC20InscribeTransferLogicStep2, useBRC20InscribeTransferLogicStep3, useBRC20InscribeTransferLogicStep4, useBRC20ListLogic, useBRC20MarketPlaceWebsite, useBRC20ProgListLogic, useBRC20SendScreenLogic, useBRC20SendScreenLogicStep1, useBRC20SendScreenLogicStep2, useBRC20SendScreenLogicStep3, useBRC20SingleStepScreenLogic, useBRC20TokenHistoryLogic, useBRC20TokenInfoExplorerUrl, useBRC20TokenScreenLogic, useBTCUnit, useBabylonConfig, useBackRefresh, useBalanceCardDetailExpanded, useBalanceCardLogic, useBannerList, useBitcoinTx, useBooted, useBrowserState, useBtcDisplayLogic, useCAT20BalanceCardLogic, useCAT20IconInfo, useCAT20ListLogic, useCAT20MarketPlaceWebsite, useCAT20TokenInfoExplorerUrl, useCAT20TokenScreenLogic, useCAT721ListLogic, useCAT721NFTContentBaseUrl, useCAT721NFTScreenLogic, useCATAssetTabKey, useChain, useChainType, useChangeAddressFlagCallback, useChangeChainTypeCallback, useChangeLocaleCallback, useChangeNetworkTypeCallback, useCreateAccountCallback, useCreateColdWalletCallback, useCreatePasswordScreenLogic, useCreateSplitTxCallback, useCreateWalletLogicImportWordsStep, useCurrentAccount, useCurrentAddress, useCurrentKeyring, useDeveloperMode, useDevice, useDiscoveryState, useEditAccountNameScreenLogic, useEditContactScreenLogic, useEditWalletNameScreenLogic, useExportMnemonicsScreenLogic, useExportPrivateKeyScreenLogic, useFeeRateBar, useFeeRateBarLogic, useFetchAssetUtxosRunesCallback, useFetchBalanceCallback, useFetchUtxosCallback, useGetTxExplorerUrlCallback, useGlobalState, useGoBackRefresh, useHasBiometricsKey, useHasNewBanner, useHistory, useI18n, useIconBaseUrl, useImportAccountCallback, useImportAccountsFromKeystoneCallback, useInfiniteListScrollOffset, useInfiniteListScrollState, useInscriptionListLogic, useInscriptionSummary, useIsBiometricsSupported, useIsInExpandView, useIsKeystoneWallet, useIsMainnetChain, useIsReady, useIsRefresh, useIsScrollViewBot, useIsScrollViewTop, useIsUnlockTimeRefres, useIsUnlocked, useKeyrings, useKeyringsState, useLastFetchInfo, useLayerState, useLocale, useLockCallback, useLockTimePageLogic, useLockedOverlayVisible, useModelPopover, useNavigation, useNetworkType, useNotificationsLogic, useOrdinalsAssetTabKey, useOrdinalsInscriptionScreenLogic, useOrdinalsTx, useOrdinalsWebsite, usePrepareSendAlkanesCallback, usePrepareSendBTCCallback, usePrepareSendBypassHeadOffsetsCallback, usePrepareSendOrdinalsInscriptionCallback, usePrepareSendOrdinalsInscriptionsCallback, usePrepareSendRunesCallback, usePrice, usePushBitcoinTxCallback, usePushOrdinalsTxCallback, useReadApp, useReadTab, useReloadAccounts, useResetAddressInput, useResetAmountInput, useResetFeeRateBar, useResetTxState, useResetUiTxCreateScreen, useRunesBalanceCardLogic, useRunesIconInfo, useRunesInscribeUrl, useRunesListLogic, useRunesMarketUrl, useRunesTokenScreenLogic, useRunesTx, useSafeBalance, useScreenState, useSendAlkanesNFTScreenLogic, useSendAlkanesScreenLogic, useSendCAT20ScreenLogic, useSendCAT721ScreenLogic, useSendOrdinalsInscriptionScreenLogic, useSendRunesScreenLogic, useSetCurrentAccountCallback, useSetDeveloperModeCallback, useSetLockedOverlayVisibleCallback, useSetSpendUnavailableUtxosCallback, useSetTabCallback, useSettingsState, useSettingsTabScreenLogic, useSignMessageLogic, useSignPsbtLogic, useSkipVersionCallback, useSpendUnavailableUtxos, useSplitOrdinalsInscriptionScreenLogic, useStorage, useSupportedAssets, useSwitchChainModalVisible, useTab, useThrottle, useToggleBalanceCardDetailExpanded, useTools, useTransactionsState, useTransferableListLogic, useTxConfirmScreenLogic, useTxCreateScreenLogic, useTxExplorerUrl, useTxFailScreenLogic, useTxSuccessScreenLogic, useUIState, useUiTxCreateScreen, useUnisatWebsite, useUnlockCallback, useUnlockRead, useUnlockRefresh, useUnreadAppSummary, useUnreadNotificationsCount, useUpdateAddressInput, useUpdateAmountInput, useUpdateFeeRateBar, useUpdateScreenStateCallback, useUpdateUiTxCreateScreen, useUtxos, useVersionInfo, useWallRefresh, useWallTabFocusRefresh, useWallTabRefresh, useWallet, useWalletConfig, useWalletTabScreenState, useWalletTopTabScreenState };
8717
+ export { AccountUpdater, AlkanesAssetTabKey, ApprovalContext, AssetTabKey, BRC20SendTabKey, BRC20SingleStepKey, BRC20TokenScreenTabKey, CATAssetTabKey, DeviceContext, I18nContext, MoreAssetTabKey, NavigationContext, NavigationSource, OrdinalsAssetTabKey, PriceProvider, SendAlkanesNFTScreenStep, SendAlkanesScreenStep, SendCAT20ScreenStep, SendCAT721ScreenStep, StorageContext, ToolsContext, WalletProvider, WalletTabScreenTabKey, accountActions, browserActions, createAppStore, createStorageProvider, discoveryActions, getSupportedAssets, globalActions, keyringsActions, settingsActions, transactionsActions, uiActions, uiEventBus, useAccountAddress, useAccountBalance, useAccountInscriptions, useAccounts, useAccountsState, useActionOverviewSectionLogic, useAddressExplorerUrl, useAddressInput, useAddressSummary, useAddressTips, useAddressTypeScreenLogic, useAlkanesAssetTabKey, useAlkanesBalanceCardLogic, useAlkanesCollectionListLogic, useAlkanesIconInfo, useAlkanesListLogic, useAlkanesMarketPlaceWebsite, useAlkanesNFTListLogic, useAlkanesNFTScreenLogic, useAlkanesTokenInfoExplorerUrl, useAlkanesTokenScreenLogic, useAmountInput, useAmountInputLogic, useAnnouncementCardLogic, useAppDispatch, useAppList, useAppSelector, useAppSummary, useApproval, useAssetTabKey, useAssetUtxosRunes, useAsyncEffect, useAutoLockTimeId, useBRC20BalanceCardLogic, useBRC20IconInfo, useBRC20InscribeTransferLogic, useBRC20InscribeTransferLogicStep1, useBRC20InscribeTransferLogicStep2, useBRC20InscribeTransferLogicStep3, useBRC20InscribeTransferLogicStep4, useBRC20ListLogic, useBRC20MarketPlaceWebsite, useBRC20ProgListLogic, useBRC20SendScreenLogic, useBRC20SendScreenLogicStep1, useBRC20SendScreenLogicStep2, useBRC20SendScreenLogicStep3, useBRC20SingleStepScreenLogic, useBRC20TokenHistoryLogic, useBRC20TokenInfoExplorerUrl, useBRC20TokenScreenLogic, useBTCUnit, useBabylonConfig, useBackRefresh, useBalanceCardDetailExpanded, useBalanceCardLogic, useBannerList, useBitcoinTx, useBooted, useBrowserState, useBtcDisplayLogic, useCAT20BalanceCardLogic, useCAT20IconInfo, useCAT20ListLogic, useCAT20MarketPlaceWebsite, useCAT20TokenInfoExplorerUrl, useCAT20TokenScreenLogic, useCAT721ListLogic, useCAT721NFTContentBaseUrl, useCAT721NFTScreenLogic, useCATAssetTabKey, useChain, useChainType, useChangeAddressFlagCallback, useChangeChainTypeCallback, useChangeLocaleCallback, useChangeNetworkTypeCallback, useCreateAccountCallback, useCreateColdWalletCallback, useCreatePasswordScreenLogic, useCreateSplitTxCallback, useCreateWalletLogicImportWordsStep, useCurrentAccount, useCurrentAddress, useCurrentKeyring, useDeveloperMode, useDevice, useDiscoveryState, useEditAccountNameScreenLogic, useEditContactScreenLogic, useEditWalletNameScreenLogic, useExportMnemonicsScreenLogic, useExportPrivateKeyScreenLogic, useFeeRateBar, useFeeRateBarLogic, useFetchAssetUtxosRunesCallback, useFetchBalanceCallback, useFetchUtxosCallback, useGetTxExplorerUrlCallback, useGlobalState, useGoBackRefresh, useHasBiometricsKey, useHasNewBanner, useHistory, useI18n, useIconBaseUrl, useImportAccountCallback, useImportAccountsFromKeystoneCallback, useInfiniteListScrollOffset, useInfiniteListScrollState, useInscriptionListLogic, useInscriptionSummary, useIsBiometricsSupported, useIsInExpandView, useIsKeystoneWallet, useIsMainnetChain, useIsReady, useIsRefresh, useIsScrollViewBot, useIsScrollViewTop, useIsUnlockTimeRefres, useIsUnlocked, useKeyrings, useKeyringsState, useLastFetchInfo, useLayerState, useLocale, useLockCallback, useLockTimePageLogic, useLockedOverlayVisible, useModelPopover, useMoreAssetTabKey, useNavigation, useNetworkType, useNotificationsLogic, useOrdinalsAssetTabKey, useOrdinalsInscriptionScreenLogic, useOrdinalsTx, useOrdinalsWebsite, usePrepareSendAlkanesCallback, usePrepareSendBTCCallback, usePrepareSendBypassHeadOffsetsCallback, usePrepareSendOrdinalsInscriptionCallback, usePrepareSendOrdinalsInscriptionsCallback, usePrepareSendRunesCallback, usePrice, usePushBitcoinTxCallback, usePushOrdinalsTxCallback, useReadApp, useReadTab, useReloadAccounts, useResetAddressInput, useResetAmountInput, useResetFeeRateBar, useResetTxState, useResetUiTxCreateScreen, useRunesBalanceCardLogic, useRunesIconInfo, useRunesInscribeUrl, useRunesListLogic, useRunesMarketUrl, useRunesTokenInfoExplorerUrl, useRunesTokenScreenLogic, useRunesTx, useSafeBalance, useScreenState, useSendAlkanesNFTScreenLogic, useSendAlkanesScreenLogic, useSendCAT20ScreenLogic, useSendCAT721ScreenLogic, useSendOrdinalsInscriptionScreenLogic, useSendRunesScreenLogic, useSetCurrentAccountCallback, useSetDeveloperModeCallback, useSetLockedOverlayVisibleCallback, useSetSpendUnavailableUtxosCallback, useSetTabCallback, useSettingsState, useSettingsTabScreenLogic, useSignMessageLogic, useSignPsbtLogic, useSkipVersionCallback, useSpendUnavailableUtxos, useSplitOrdinalsInscriptionScreenLogic, useStorage, useSupportedAssets, useSwitchChainModalVisible, useTab, useThrottle, useToggleBalanceCardDetailExpanded, useTools, useTransactionsState, useTransferableListLogic, useTxConfirmScreenLogic, useTxCreateScreenLogic, useTxExplorerUrl, useTxFailScreenLogic, useTxSuccessScreenLogic, useUIState, useUiTxCreateScreen, useUnisatWebsite, useUnlockCallback, useUnlockRead, useUnlockRefresh, useUnreadAppSummary, useUnreadNotificationsCount, useUpdateAddressInput, useUpdateAmountInput, useUpdateFeeRateBar, useUpdateScreenStateCallback, useUpdateUiTxCreateScreen, useUtxos, useVersionInfo, useWallRefresh, useWallTabFocusRefresh, useWallTabRefresh, useWallet, useWalletConfig, useWalletTabScreenState, useWalletTopTabScreenState };
8509
8718
  //# sourceMappingURL=out.js.map
8510
8719
  //# sourceMappingURL=index.mjs.map