@unisat/wallet-state 1.0.2 → 1.0.5

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.
package/lib/index.mjs CHANGED
@@ -1,6 +1,6 @@
1
1
  import { save, load } from 'redux-localstorage-simple';
2
2
  import { createAction, createSlice, configureStore } from '@reduxjs/toolkit';
3
- import { setupListeners } from '@reduxjs/toolkit/query/react';
3
+ import { setupListeners } from '@reduxjs/toolkit/dist/query/react/index.js';
4
4
  import { ChainType, AddressType, NetworkType } from '@unisat/wallet-types';
5
5
  import { DEFAULT_LOCKTIME_ID, CHAINS_MAP, CAT_VERSION, VERSION } from '@unisat/wallet-shared';
6
6
  import log from 'loglevel';
@@ -11,9 +11,9 @@ import compareVersions from 'compare-versions';
11
11
  import i18n from 'i18next';
12
12
  import { initReactI18next } from 'react-i18next';
13
13
  import { BABYLON_CONFIG_MAP } from '@unisat/babylon-service/types';
14
- import '@unisat/keyring-service/types';
14
+ import { KeyringType } from '@unisat/keyring-service/types';
15
15
  import { useDispatch, useSelector } from 'react-redux';
16
- import { useNavigate } from 'react-router-dom';
16
+ import { useNavigate, useLocation } from 'react-router-dom';
17
17
  import { timeUtils, numUtils } from '@unisat/base-utils';
18
18
 
19
19
  // src/index.ts
@@ -261,7 +261,7 @@ var slice2 = createSlice({
261
261
  }
262
262
  }
263
263
  });
264
- slice2.actions;
264
+ var discoveryActions = slice2.actions;
265
265
  var discovery_default = slice2.reducer;
266
266
  var initialState3 = {
267
267
  tab: "home",
@@ -507,6 +507,41 @@ var slice6 = createSlice({
507
507
  });
508
508
  var transactionsActions = slice6.actions;
509
509
  var transactions_default = slice6.reducer;
510
+
511
+ // src/types/ui.ts
512
+ var AssetTabKey = /* @__PURE__ */ ((AssetTabKey2) => {
513
+ AssetTabKey2[AssetTabKey2["ORDINALS"] = 0] = "ORDINALS";
514
+ AssetTabKey2[AssetTabKey2["ATOMICALS"] = 1] = "ATOMICALS";
515
+ AssetTabKey2[AssetTabKey2["RUNES"] = 2] = "RUNES";
516
+ AssetTabKey2[AssetTabKey2["CAT"] = 3] = "CAT";
517
+ AssetTabKey2[AssetTabKey2["ALKANES"] = 4] = "ALKANES";
518
+ return AssetTabKey2;
519
+ })(AssetTabKey || {});
520
+ var OrdinalsAssetTabKey = /* @__PURE__ */ ((OrdinalsAssetTabKey2) => {
521
+ OrdinalsAssetTabKey2[OrdinalsAssetTabKey2["ALL"] = 0] = "ALL";
522
+ OrdinalsAssetTabKey2[OrdinalsAssetTabKey2["BRC20"] = 1] = "BRC20";
523
+ OrdinalsAssetTabKey2[OrdinalsAssetTabKey2["BRC20_6BYTE"] = 2] = "BRC20_6BYTE";
524
+ return OrdinalsAssetTabKey2;
525
+ })(OrdinalsAssetTabKey || {});
526
+ var CATAssetTabKey = /* @__PURE__ */ ((CATAssetTabKey2) => {
527
+ CATAssetTabKey2[CATAssetTabKey2["CAT20"] = 0] = "CAT20";
528
+ CATAssetTabKey2[CATAssetTabKey2["CAT721"] = 1] = "CAT721";
529
+ CATAssetTabKey2[CATAssetTabKey2["CAT20_V2"] = 2] = "CAT20_V2";
530
+ CATAssetTabKey2[CATAssetTabKey2["CAT721_V2"] = 3] = "CAT721_V2";
531
+ return CATAssetTabKey2;
532
+ })(CATAssetTabKey || {});
533
+ var AlkanesAssetTabKey = /* @__PURE__ */ ((AlkanesAssetTabKey2) => {
534
+ AlkanesAssetTabKey2[AlkanesAssetTabKey2["TOKEN"] = 0] = "TOKEN";
535
+ AlkanesAssetTabKey2[AlkanesAssetTabKey2["COLLECTION"] = 1] = "COLLECTION";
536
+ return AlkanesAssetTabKey2;
537
+ })(AlkanesAssetTabKey || {});
538
+ var NavigationSource = /* @__PURE__ */ ((NavigationSource2) => {
539
+ NavigationSource2[NavigationSource2["BACK"] = 0] = "BACK";
540
+ NavigationSource2[NavigationSource2["NORMAL"] = 1] = "NORMAL";
541
+ return NavigationSource2;
542
+ })(NavigationSource || {});
543
+
544
+ // src/reducers/ui.ts
510
545
  var initialState7 = {
511
546
  assetTabKey: 0 /* ORDINALS */,
512
547
  ordinalsAssetTabKey: 0 /* ALL */,
@@ -833,6 +868,10 @@ function useCurrentAddress() {
833
868
  const accountsState = useAccountsState();
834
869
  return accountsState.current.address;
835
870
  }
871
+ function useAccounts() {
872
+ const accountsState = useAccountsState();
873
+ return accountsState.accounts;
874
+ }
836
875
  function useAccountBalance() {
837
876
  const accountsState = useAccountsState();
838
877
  const currentAccount = useCurrentAccount();
@@ -842,10 +881,109 @@ function useAccountBalance() {
842
881
  totalBalance: 0
843
882
  };
844
883
  }
884
+ function useAddressSummary() {
885
+ const accountsState = useAccountsState();
886
+ return accountsState.addressSummary;
887
+ }
888
+ function useAccountInscriptions() {
889
+ const accountsState = useAccountsState();
890
+ const currentAccount = useCurrentAccount();
891
+ return accountsState.inscriptionsMap[currentAccount.address] || { list: [], expired: true };
892
+ }
893
+ function useInscriptionSummary() {
894
+ const accountsState = useAccountsState();
895
+ return accountsState.inscriptionSummary;
896
+ }
897
+ function useAppSummary() {
898
+ const accountsState = useAccountsState();
899
+ return accountsState.appSummary;
900
+ }
901
+ function useUnreadAppSummary() {
902
+ const accountsState = useAccountsState();
903
+ const summary = accountsState.appSummary;
904
+ return summary.apps.find((w) => w.time && summary.readTabTime && w.time > summary.readTabTime);
905
+ }
906
+ function useReadTab() {
907
+ const wallet = useWallet();
908
+ const dispatch = useAppDispatch();
909
+ const appSummary = useAppSummary();
910
+ return useCallback(
911
+ async (name) => {
912
+ await wallet.readTab(name);
913
+ if (name == "app") {
914
+ const appSummary2 = await wallet.getAppSummary();
915
+ dispatch(accountActions["setAppSummary"](appSummary2));
916
+ }
917
+ },
918
+ [dispatch, wallet, appSummary]
919
+ );
920
+ }
921
+ function useReadApp() {
922
+ const wallet = useWallet();
923
+ const dispatch = useAppDispatch();
924
+ const appSummary = useAppSummary();
925
+ return useCallback(
926
+ async (id) => {
927
+ await wallet.readApp(id);
928
+ const appSummary2 = await wallet.getAppSummary();
929
+ dispatch(accountActions["setAppSummary"](appSummary2));
930
+ },
931
+ [dispatch, wallet, appSummary]
932
+ );
933
+ }
934
+ function useHistory() {
935
+ const accountsState = useAccountsState();
936
+ const address = useAccountAddress();
937
+ return accountsState.historyMap[address] || { list: [], expired: true };
938
+ }
845
939
  function useAccountAddress() {
846
940
  const currentAccount = useCurrentAccount();
847
941
  return currentAccount.address;
848
942
  }
943
+ function useSetCurrentAccountCallback() {
944
+ const dispatch = useAppDispatch();
945
+ return useCallback(
946
+ (account) => {
947
+ dispatch(accountActions["setCurrent"](account));
948
+ },
949
+ [dispatch]
950
+ );
951
+ }
952
+ function useImportAccountCallback() {
953
+ const wallet = useWallet();
954
+ const dispatch = useAppDispatch();
955
+ const currentKeyring = useCurrentKeyring();
956
+ return useCallback(
957
+ async (privateKey, addressType) => {
958
+ let success = false;
959
+ let error;
960
+ try {
961
+ const alianName = await wallet.getNextAlianName(currentKeyring);
962
+ await wallet.createKeyringWithPrivateKey(privateKey, addressType, alianName);
963
+ const currentAccount = await wallet.getCurrentAccount();
964
+ dispatch(accountActions["setCurrent"](currentAccount));
965
+ success = true;
966
+ } catch (e) {
967
+ console.log(e);
968
+ error = e.message;
969
+ }
970
+ return { success, error };
971
+ },
972
+ [dispatch, wallet, currentKeyring]
973
+ );
974
+ }
975
+ function useChangeAddressFlagCallback() {
976
+ const dispatch = useAppDispatch();
977
+ const wallet = useWallet();
978
+ const currentAccount = useCurrentAccount();
979
+ return useCallback(
980
+ async (isAdd, flag) => {
981
+ const account = isAdd ? await wallet.addAddressFlag(currentAccount, flag) : await wallet.removeAddressFlag(currentAccount, flag);
982
+ dispatch(accountActions["setCurrentAddressFlag"](account.flag));
983
+ },
984
+ [dispatch, wallet, currentAccount]
985
+ );
986
+ }
849
987
  function useFetchBalanceCallback() {
850
988
  const dispatch = useAppDispatch();
851
989
  const wallet = useWallet();
@@ -885,6 +1023,10 @@ function useReloadAccounts() {
885
1023
  });
886
1024
  }, [dispatch, wallet]);
887
1025
  }
1026
+ function useIsKeystoneWallet() {
1027
+ const currentKeyring = useCurrentKeyring();
1028
+ return currentKeyring.type === KeyringType.KeystoneKeyring;
1029
+ }
888
1030
 
889
1031
  // src/hooks/settings.ts
890
1032
  function useSettingsState() {
@@ -1973,6 +2115,10 @@ var useUtxoTools = (chain) => {
1973
2115
  openUtxoTools
1974
2116
  };
1975
2117
  };
2118
+ function useLocationState() {
2119
+ const { state } = useLocation();
2120
+ return state;
2121
+ }
1976
2122
 
1977
2123
  // src/utils/eventBus.ts
1978
2124
  var EventBus = class {
@@ -2112,13 +2258,16 @@ var store = configureStore({
2112
2258
  ui: ui_default,
2113
2259
  discovery: discovery_default
2114
2260
  },
2115
- middleware: (getDefaultMiddleware) => getDefaultMiddleware({ thunk: true }).concat(save({ states: PERSISTED_KEYS, debounce: 1e3 })),
2261
+ middleware: (getDefaultMiddleware) => (
2262
+ // @ts-ignore
2263
+ getDefaultMiddleware({ thunk: true }).concat(save({ states: PERSISTED_KEYS, debounce: 1e3 }))
2264
+ ),
2116
2265
  preloadedState: load({ states: PERSISTED_KEYS, disableWarnings: true })
2117
2266
  });
2118
2267
  store.dispatch(updateVersion());
2119
2268
  setupListeners(store.dispatch);
2120
2269
  var src_default = store;
2121
2270
 
2122
- export { AccountUpdater, I18nProvider, PriceProvider, WalletProvider, src_default as default, getAddressTips, getCurrentLocale, getSpecialLocale, getUiType, useAddressExplorerUrl, useAddressTips, useAlkanesAssetTabKey, useAppDispatch, useAppList, useAppSelector, useApproval, useAssetTabKey, useAssetUtxosRunes, useAutoLockTimeId, useBRC20MarketPlaceWebsite, useBTCUnit, useBabylonConfig, useBannerList, useBitcoinTx, useBooted, useCAT20MarketPlaceWebsite, useCAT20TokenInfoExplorerUrl, useCAT721NFTContentBaseUrl, useCATAssetTabKey, useChain, useChainType, useChangeChainTypeCallback, useChangeLocaleCallback, useChangeNetworkTypeCallback, useCreateAccountCallback, useCreateColdWalletCallback, useCreateSplitTxCallback, useCurrentKeyring, useDeveloperMode, useDiscoveryState, useFetchAssetUtxosRunesCallback, useFetchUtxosCallback, useGetTxExplorerUrlCallback, useGlobalState, useHasNewBanner, useI18n, useImportAccountsFromKeystoneCallback, useIsInExpandView, useIsMainnetChain, useIsReady, useIsUnlocked, useKeyrings, useKeyringsState, useLastFetchInfo, useLocale, useNetworkType, useOrdinalsAssetTabKey, useOrdinalsTx, useOrdinalsWebsite, usePrepareSendAlkanesCallback, usePrepareSendBTCCallback, usePrepareSendBypassHeadOffsetsCallback, usePrepareSendOrdinalsInscriptionCallback, usePrepareSendOrdinalsInscriptionsCallback, usePrepareSendRunesCallback, usePrice, usePushBitcoinTxCallback, usePushOrdinalsTxCallback, useResetUiTxCreateScreen, useRunesMarketPlaceWebsite, useRunesTx, useSafeBalance, useSetDeveloperModeCallback, useSetSpendUnavailableUtxosCallback, useSetTabCallback, useSettingsState, useSkipVersionCallback, useSpendUnavailableUtxos, useSupportedAssets, useTab, useTransactionsState, useTxExplorerUrl, useUIState, useUiTxCreateScreen, useUnisatWebsite, useUnlockCallback, useUpdateUiTxCreateScreen, useUtxoTools, useUtxos, useVersionInfo, useWallet, useWalletConfig };
2271
+ export { AccountUpdater, AlkanesAssetTabKey, AssetTabKey, CATAssetTabKey, I18nProvider, NavigationSource, OrdinalsAssetTabKey, PriceProvider, WalletProvider, accountActions, src_default as default, discoveryActions, getAddressTips, getCurrentLocale, getSpecialLocale, getUiType, globalActions, keyringsActions, settingsActions, transactionsActions, uiActions, useAccountAddress, useAccountBalance, useAccountInscriptions, useAccounts, useAccountsState, useAddressExplorerUrl, useAddressSummary, useAddressTips, useAlkanesAssetTabKey, useAppDispatch, useAppList, useAppSelector, useAppSummary, useApproval, useAssetTabKey, useAssetUtxosRunes, useAutoLockTimeId, useBRC20MarketPlaceWebsite, useBTCUnit, useBabylonConfig, useBannerList, useBitcoinTx, useBooted, useCAT20MarketPlaceWebsite, useCAT20TokenInfoExplorerUrl, useCAT721NFTContentBaseUrl, useCATAssetTabKey, useChain, useChainType, useChangeAddressFlagCallback, useChangeChainTypeCallback, useChangeLocaleCallback, useChangeNetworkTypeCallback, useCreateAccountCallback, useCreateColdWalletCallback, useCreateSplitTxCallback, useCurrentAccount, useCurrentAddress, useCurrentKeyring, useDeveloperMode, useDiscoveryState, useFetchAssetUtxosRunesCallback, useFetchBalanceCallback, useFetchUtxosCallback, useGetTxExplorerUrlCallback, useGlobalState, useHasNewBanner, useHistory, useI18n, useImportAccountCallback, useImportAccountsFromKeystoneCallback, useInscriptionSummary, useIsInExpandView, useIsKeystoneWallet, useIsMainnetChain, useIsReady, useIsUnlocked, useKeyrings, useKeyringsState, useLastFetchInfo, useLocale, useLocationState, useNetworkType, useOrdinalsAssetTabKey, useOrdinalsTx, useOrdinalsWebsite, usePrepareSendAlkanesCallback, usePrepareSendBTCCallback, usePrepareSendBypassHeadOffsetsCallback, usePrepareSendOrdinalsInscriptionCallback, usePrepareSendOrdinalsInscriptionsCallback, usePrepareSendRunesCallback, usePrice, usePushBitcoinTxCallback, usePushOrdinalsTxCallback, useReadApp, useReadTab, useReloadAccounts, useResetUiTxCreateScreen, useRunesMarketPlaceWebsite, useRunesTx, useSafeBalance, useSetCurrentAccountCallback, useSetDeveloperModeCallback, useSetSpendUnavailableUtxosCallback, useSetTabCallback, useSettingsState, useSkipVersionCallback, useSpendUnavailableUtxos, useSupportedAssets, useTab, useTransactionsState, useTxExplorerUrl, useUIState, useUiTxCreateScreen, useUnisatWebsite, useUnlockCallback, useUnreadAppSummary, useUpdateUiTxCreateScreen, useUtxoTools, useUtxos, useVersionInfo, useWallet, useWalletConfig };
2123
2272
  //# sourceMappingURL=out.js.map
2124
2273
  //# sourceMappingURL=index.mjs.map