@txnlab/use-wallet-vue 4.0.0-beta.5 → 4.0.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.
package/dist/index.cjs CHANGED
@@ -76,24 +76,29 @@ function useWallet() {
76
76
  const isReady = (0, import_vue2.computed)(() => managerStatus.value === "ready");
77
77
  const walletStateMap = (0, import_vue_store.useStore)(manager.store, (state) => state.wallets);
78
78
  const activeWalletId = (0, import_vue_store.useStore)(manager.store, (state) => state.activeWallet);
79
+ const transformToWallet = (wallet) => {
80
+ const walletState = walletStateMap.value[wallet.id];
81
+ return {
82
+ id: wallet.id,
83
+ metadata: wallet.metadata,
84
+ accounts: walletState?.accounts ?? [],
85
+ activeAccount: walletState?.activeAccount ?? null,
86
+ isConnected: !!walletState,
87
+ isActive: wallet.id === activeWalletId.value,
88
+ connect: (args) => wallet.connect(args),
89
+ disconnect: () => wallet.disconnect(),
90
+ setActive: () => wallet.setActive(),
91
+ setActiveAccount: (addr) => wallet.setActiveAccount(addr)
92
+ };
93
+ };
79
94
  const wallets = (0, import_vue2.computed)(() => {
80
- return [...manager.wallets.values()].map((wallet) => {
81
- const walletState = walletStateMap.value[wallet.id];
82
- return {
83
- id: wallet.id,
84
- metadata: wallet.metadata,
85
- accounts: walletState?.accounts ?? [],
86
- activeAccount: walletState?.activeAccount ?? null,
87
- isConnected: !!walletState,
88
- isActive: wallet.id === activeWalletId.value,
89
- connect: (args) => wallet.connect(args),
90
- disconnect: () => wallet.disconnect(),
91
- setActive: () => wallet.setActive(),
92
- setActiveAccount: (addr) => wallet.setActiveAccount(addr)
93
- };
94
- });
95
+ return [...manager.wallets.values()].map(transformToWallet);
95
96
  });
96
97
  const activeWallet = (0, import_vue2.computed)(() => {
98
+ const wallet = activeWalletId.value ? manager.getWallet(activeWalletId.value) || null : null;
99
+ return wallet ? transformToWallet(wallet) : null;
100
+ });
101
+ const activeBaseWallet = (0, import_vue2.computed)(() => {
97
102
  return activeWalletId.value ? manager.getWallet(activeWalletId.value) || null : null;
98
103
  });
99
104
  const activeWalletState = (0, import_vue2.computed)(() => {
@@ -113,16 +118,16 @@ function useWallet() {
113
118
  return activeAccount.value?.address ?? null;
114
119
  });
115
120
  const signTransactions = (txnGroup, indexesToSign) => {
116
- if (!activeWallet.value) {
121
+ if (!activeBaseWallet.value) {
117
122
  throw new Error("No active wallet");
118
123
  }
119
- return activeWallet.value.signTransactions(txnGroup, indexesToSign);
124
+ return activeBaseWallet.value.signTransactions(txnGroup, indexesToSign);
120
125
  };
121
126
  const transactionSigner = (txnGroup, indexesToSign) => {
122
- if (!activeWallet.value) {
127
+ if (!activeBaseWallet.value) {
123
128
  throw new Error("No active wallet");
124
129
  }
125
- return activeWallet.value.transactionSigner(txnGroup, indexesToSign);
130
+ return activeBaseWallet.value.transactionSigner(txnGroup, indexesToSign);
126
131
  };
127
132
  return {
128
133
  wallets,
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts","../src/walletManagerPlugin.ts","../src/useWallet.ts","../src/useNetwork.ts"],"sourcesContent":["export * from '@txnlab/use-wallet'\nexport { WalletManagerPlugin } from './walletManagerPlugin'\nexport { useWallet, type Wallet } from './useWallet'\nexport { useNetwork } from './useNetwork'\n","import { WalletManager, type WalletManagerConfig } from '@txnlab/use-wallet'\nimport { ref } from 'vue'\nimport type algosdk from 'algosdk'\n\nexport const WalletManagerPlugin = {\n install(app: any, options: WalletManagerConfig) {\n const manager = new WalletManager(options)\n const algodClient = ref(manager.algodClient)\n\n const setAlgodClient = (client: algosdk.Algodv2) => {\n algodClient.value = client\n manager.algodClient = client\n }\n\n app.provide('walletManager', manager)\n app.provide('algodClient', algodClient)\n app.provide('setAlgodClient', setAlgodClient)\n\n manager.resumeSessions().catch((error) => {\n console.error('Error resuming sessions:', error)\n })\n }\n}\n","import { useStore } from '@tanstack/vue-store'\nimport { WalletManager, type WalletAccount, type WalletMetadata } from '@txnlab/use-wallet'\nimport algosdk from 'algosdk'\nimport { computed, inject, ref } from 'vue'\n\nexport interface Wallet {\n id: string\n metadata: WalletMetadata\n accounts: WalletAccount[]\n activeAccount: WalletAccount | null\n isConnected: boolean\n isActive: boolean\n connect: (args?: Record<string, any>) => Promise<WalletAccount[]>\n disconnect: () => Promise<void>\n setActive: () => void\n setActiveAccount: (address: string) => void\n}\n\nexport type SetAlgodClient = (client: algosdk.Algodv2) => void\n\nexport function useWallet() {\n const manager = inject<WalletManager>('walletManager')\n const algodClient = inject<ReturnType<typeof ref<algosdk.Algodv2>>>('algodClient')\n\n if (!manager) {\n throw new Error('WalletManager plugin is not properly installed')\n }\n if (!algodClient) {\n throw new Error('Algod client not properly installed')\n }\n\n const managerStatus = useStore(manager.store, (state) => state.managerStatus)\n const isReady = computed(() => managerStatus.value === 'ready')\n\n const walletStateMap = useStore(manager.store, (state) => state.wallets)\n const activeWalletId = useStore(manager.store, (state) => state.activeWallet)\n\n const wallets = computed(() => {\n return [...manager.wallets.values()].map((wallet): Wallet => {\n const walletState = walletStateMap.value[wallet.id]\n\n return {\n id: wallet.id,\n metadata: wallet.metadata,\n accounts: walletState?.accounts ?? [],\n activeAccount: walletState?.activeAccount ?? null,\n isConnected: !!walletState,\n isActive: wallet.id === activeWalletId.value,\n connect: (args) => wallet.connect(args),\n disconnect: () => wallet.disconnect(),\n setActive: () => wallet.setActive(),\n setActiveAccount: (addr) => wallet.setActiveAccount(addr)\n }\n })\n })\n\n const activeWallet = computed(() => {\n return activeWalletId.value ? manager.getWallet(activeWalletId.value) || null : null\n })\n\n const activeWalletState = computed(() => {\n const wallet = activeWallet.value\n return wallet ? walletStateMap.value[wallet.id] || null : null\n })\n\n const activeWalletAccounts = computed(() => {\n return activeWalletState.value?.accounts ?? null\n })\n\n const activeWalletAddresses = computed(() => {\n return activeWalletAccounts.value?.map((account) => account.address) ?? null\n })\n\n const activeAccount = computed(() => {\n return activeWalletState.value?.activeAccount ?? null\n })\n\n const activeAddress = computed(() => {\n return activeAccount.value?.address ?? null\n })\n\n const signTransactions = <T extends algosdk.Transaction[] | Uint8Array[]>(\n txnGroup: T | T[],\n indexesToSign?: number[]\n ): Promise<(Uint8Array | null)[]> => {\n if (!activeWallet.value) {\n throw new Error('No active wallet')\n }\n return activeWallet.value.signTransactions(txnGroup, indexesToSign)\n }\n\n const transactionSigner = (\n txnGroup: algosdk.Transaction[],\n indexesToSign: number[]\n ): Promise<Uint8Array[]> => {\n if (!activeWallet.value) {\n throw new Error('No active wallet')\n }\n return activeWallet.value.transactionSigner(txnGroup, indexesToSign)\n }\n\n return {\n wallets,\n isReady,\n algodClient: computed(() => {\n if (!algodClient.value) {\n throw new Error('Algod client is undefined')\n }\n return algodClient.value\n }),\n activeWallet,\n activeWalletAccounts,\n activeWalletAddresses,\n activeAccount,\n activeAddress,\n signTransactions,\n transactionSigner\n }\n}\n","import { useStore } from '@tanstack/vue-store'\nimport { WalletManager, type AlgodConfig } from '@txnlab/use-wallet'\nimport algosdk from 'algosdk'\nimport { computed, inject, ref } from 'vue'\nimport type { SetAlgodClient } from './useWallet'\n\nexport function useNetwork() {\n const manager = inject<WalletManager>('walletManager')\n const algodClient = inject<ReturnType<typeof ref<algosdk.Algodv2>>>('algodClient')\n const setAlgodClient = inject<SetAlgodClient>('setAlgodClient')\n\n if (!manager) {\n throw new Error('WalletManager plugin is not properly installed')\n }\n if (!algodClient || !setAlgodClient) {\n throw new Error('Algod client or setter not properly installed')\n }\n\n const activeNetwork = useStore(manager.store, (state) => state.activeNetwork)\n\n // Create a reactive store for network config\n const networkConfig = useStore(manager.store, (state) => ({\n networks: { ...manager.networkConfig },\n activeNetwork: state.activeNetwork\n }))\n\n const activeNetworkConfig = computed(\n () => networkConfig.value.networks[networkConfig.value.activeNetwork]\n )\n\n const setActiveNetwork = async (networkId: string): Promise<void> => {\n if (networkId === activeNetwork.value) {\n return\n }\n\n if (!manager.networkConfig[networkId]) {\n throw new Error(`Network \"${networkId}\" not found in network configuration`)\n }\n\n console.info(`[Vue] Creating new Algodv2 client...`)\n\n const { algod } = manager.networkConfig[networkId]\n const { token = '', baseServer, port = '', headers = {} } = algod\n const newClient = new algosdk.Algodv2(token, baseServer, port, headers)\n\n await manager.setActiveNetwork(networkId)\n setAlgodClient(newClient)\n\n console.info(`[Vue] ✅ Active network set to ${networkId}.`)\n }\n\n const updateAlgodConfig = (networkId: string, config: Partial<AlgodConfig>): void => {\n manager.updateAlgodConfig(networkId, config)\n manager.store.setState((state) => ({ ...state }))\n\n // If this is the active network, update the algodClient\n if (networkId === activeNetwork.value) {\n console.info(`[Vue] Creating new Algodv2 client...`)\n const { algod } = manager.networkConfig[networkId]\n const { token = '', baseServer, port = '', headers = {} } = algod\n const newClient = new algosdk.Algodv2(token, baseServer, port, headers)\n setAlgodClient(newClient)\n }\n }\n\n const resetNetworkConfig = (networkId: string): void => {\n manager.resetNetworkConfig(networkId)\n manager.store.setState((state) => ({ ...state }))\n\n // If this is the active network, update the algodClient\n if (networkId === activeNetwork.value) {\n console.info(`[Vue] Creating new Algodv2 client...`)\n const { algod } = manager.networkConfig[networkId]\n const { token = '', baseServer, port = '', headers = {} } = algod\n const newClient = new algosdk.Algodv2(token, baseServer, port, headers)\n setAlgodClient(newClient)\n }\n }\n\n return {\n activeNetwork,\n networkConfig: manager.networkConfig,\n activeNetworkConfig,\n setActiveNetwork,\n updateAlgodConfig,\n resetNetworkConfig\n }\n}\n"],"mappings":"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","names":["import_use_wallet","import_vue","import_vue_store","import_use_wallet","import_algosdk","import_vue","algosdk"]}
1
+ {"version":3,"sources":["../src/index.ts","../src/walletManagerPlugin.ts","../src/useWallet.ts","../src/useNetwork.ts"],"sourcesContent":["export * from '@txnlab/use-wallet'\nexport { WalletManagerPlugin } from './walletManagerPlugin'\nexport { useWallet, type Wallet } from './useWallet'\nexport { useNetwork } from './useNetwork'\n","import { WalletManager, type WalletManagerConfig } from '@txnlab/use-wallet'\nimport { ref } from 'vue'\nimport type algosdk from 'algosdk'\n\nexport const WalletManagerPlugin = {\n install(app: any, options: WalletManagerConfig) {\n const manager = new WalletManager(options)\n const algodClient = ref(manager.algodClient)\n\n const setAlgodClient = (client: algosdk.Algodv2) => {\n algodClient.value = client\n manager.algodClient = client\n }\n\n app.provide('walletManager', manager)\n app.provide('algodClient', algodClient)\n app.provide('setAlgodClient', setAlgodClient)\n\n manager.resumeSessions().catch((error) => {\n console.error('Error resuming sessions:', error)\n })\n }\n}\n","import { useStore } from '@tanstack/vue-store'\nimport {\n BaseWallet,\n WalletManager,\n type WalletAccount,\n type WalletMetadata,\n type WalletId\n} from '@txnlab/use-wallet'\nimport algosdk from 'algosdk'\nimport { computed, inject, ref } from 'vue'\n\nexport interface Wallet {\n id: WalletId\n metadata: WalletMetadata\n accounts: WalletAccount[]\n activeAccount: WalletAccount | null\n isConnected: boolean\n isActive: boolean\n connect: (args?: Record<string, any>) => Promise<WalletAccount[]>\n disconnect: () => Promise<void>\n setActive: () => void\n setActiveAccount: (address: string) => void\n}\n\nexport type SetAlgodClient = (client: algosdk.Algodv2) => void\n\nexport function useWallet() {\n const manager = inject<WalletManager>('walletManager')\n const algodClient = inject<ReturnType<typeof ref<algosdk.Algodv2>>>('algodClient')\n\n if (!manager) {\n throw new Error('WalletManager plugin is not properly installed')\n }\n if (!algodClient) {\n throw new Error('Algod client not properly installed')\n }\n\n const managerStatus = useStore(manager.store, (state) => state.managerStatus)\n const isReady = computed(() => managerStatus.value === 'ready')\n\n const walletStateMap = useStore(manager.store, (state) => state.wallets)\n const activeWalletId = useStore(manager.store, (state) => state.activeWallet)\n\n const transformToWallet = (wallet: BaseWallet): Wallet => {\n const walletState = walletStateMap.value[wallet.id]\n return {\n id: wallet.id,\n metadata: wallet.metadata,\n accounts: walletState?.accounts ?? [],\n activeAccount: walletState?.activeAccount ?? null,\n isConnected: !!walletState,\n isActive: wallet.id === activeWalletId.value,\n connect: (args) => wallet.connect(args),\n disconnect: () => wallet.disconnect(),\n setActive: () => wallet.setActive(),\n setActiveAccount: (addr) => wallet.setActiveAccount(addr)\n }\n }\n\n const wallets = computed(() => {\n return [...manager.wallets.values()].map(transformToWallet)\n })\n\n const activeWallet = computed(() => {\n const wallet = activeWalletId.value ? manager.getWallet(activeWalletId.value) || null : null\n return wallet ? transformToWallet(wallet) : null\n })\n\n const activeBaseWallet = computed(() => {\n return activeWalletId.value ? manager.getWallet(activeWalletId.value) || null : null\n })\n\n const activeWalletState = computed(() => {\n const wallet = activeWallet.value\n return wallet ? walletStateMap.value[wallet.id] || null : null\n })\n\n const activeWalletAccounts = computed(() => {\n return activeWalletState.value?.accounts ?? null\n })\n\n const activeWalletAddresses = computed(() => {\n return activeWalletAccounts.value?.map((account) => account.address) ?? null\n })\n\n const activeAccount = computed(() => {\n return activeWalletState.value?.activeAccount ?? null\n })\n\n const activeAddress = computed(() => {\n return activeAccount.value?.address ?? null\n })\n\n const signTransactions = <T extends algosdk.Transaction[] | Uint8Array[]>(\n txnGroup: T | T[],\n indexesToSign?: number[]\n ): Promise<(Uint8Array | null)[]> => {\n if (!activeBaseWallet.value) {\n throw new Error('No active wallet')\n }\n return activeBaseWallet.value.signTransactions(txnGroup, indexesToSign)\n }\n\n const transactionSigner = (\n txnGroup: algosdk.Transaction[],\n indexesToSign: number[]\n ): Promise<Uint8Array[]> => {\n if (!activeBaseWallet.value) {\n throw new Error('No active wallet')\n }\n return activeBaseWallet.value.transactionSigner(txnGroup, indexesToSign)\n }\n\n return {\n wallets,\n isReady,\n algodClient: computed(() => {\n if (!algodClient.value) {\n throw new Error('Algod client is undefined')\n }\n return algodClient.value\n }),\n activeWallet,\n activeWalletAccounts,\n activeWalletAddresses,\n activeAccount,\n activeAddress,\n signTransactions,\n transactionSigner\n }\n}\n","import { useStore } from '@tanstack/vue-store'\nimport { WalletManager, type AlgodConfig } from '@txnlab/use-wallet'\nimport algosdk from 'algosdk'\nimport { computed, inject, ref } from 'vue'\nimport type { SetAlgodClient } from './useWallet'\n\nexport function useNetwork() {\n const manager = inject<WalletManager>('walletManager')\n const algodClient = inject<ReturnType<typeof ref<algosdk.Algodv2>>>('algodClient')\n const setAlgodClient = inject<SetAlgodClient>('setAlgodClient')\n\n if (!manager) {\n throw new Error('WalletManager plugin is not properly installed')\n }\n if (!algodClient || !setAlgodClient) {\n throw new Error('Algod client or setter not properly installed')\n }\n\n const activeNetwork = useStore(manager.store, (state) => state.activeNetwork)\n\n // Create a reactive store for network config\n const networkConfig = useStore(manager.store, (state) => ({\n networks: { ...manager.networkConfig },\n activeNetwork: state.activeNetwork\n }))\n\n const activeNetworkConfig = computed(\n () => networkConfig.value.networks[networkConfig.value.activeNetwork]\n )\n\n const setActiveNetwork = async (networkId: string): Promise<void> => {\n if (networkId === activeNetwork.value) {\n return\n }\n\n if (!manager.networkConfig[networkId]) {\n throw new Error(`Network \"${networkId}\" not found in network configuration`)\n }\n\n console.info(`[Vue] Creating new Algodv2 client...`)\n\n const { algod } = manager.networkConfig[networkId]\n const { token = '', baseServer, port = '', headers = {} } = algod\n const newClient = new algosdk.Algodv2(token, baseServer, port, headers)\n\n await manager.setActiveNetwork(networkId)\n setAlgodClient(newClient)\n\n console.info(`[Vue] ✅ Active network set to ${networkId}.`)\n }\n\n const updateAlgodConfig = (networkId: string, config: Partial<AlgodConfig>): void => {\n manager.updateAlgodConfig(networkId, config)\n manager.store.setState((state) => ({ ...state }))\n\n // If this is the active network, update the algodClient\n if (networkId === activeNetwork.value) {\n console.info(`[Vue] Creating new Algodv2 client...`)\n const { algod } = manager.networkConfig[networkId]\n const { token = '', baseServer, port = '', headers = {} } = algod\n const newClient = new algosdk.Algodv2(token, baseServer, port, headers)\n setAlgodClient(newClient)\n }\n }\n\n const resetNetworkConfig = (networkId: string): void => {\n manager.resetNetworkConfig(networkId)\n manager.store.setState((state) => ({ ...state }))\n\n // If this is the active network, update the algodClient\n if (networkId === activeNetwork.value) {\n console.info(`[Vue] Creating new Algodv2 client...`)\n const { algod } = manager.networkConfig[networkId]\n const { token = '', baseServer, port = '', headers = {} } = algod\n const newClient = new algosdk.Algodv2(token, baseServer, port, headers)\n setAlgodClient(newClient)\n }\n }\n\n return {\n activeNetwork,\n networkConfig: manager.networkConfig,\n activeNetworkConfig,\n setActiveNetwork,\n updateAlgodConfig,\n resetNetworkConfig\n }\n}\n"],"mappings":"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","names":["import_use_wallet","import_vue","import_vue_store","import_use_wallet","import_algosdk","import_vue","algosdk"]}
package/dist/index.d.cts CHANGED
@@ -1,5 +1,5 @@
1
1
  import * as _txnlab_use_wallet from '@txnlab/use-wallet';
2
- import { WalletManagerConfig, WalletMetadata, WalletAccount, AlgodConfig } from '@txnlab/use-wallet';
2
+ import { WalletManagerConfig, WalletId, WalletMetadata, WalletAccount, AlgodConfig } from '@txnlab/use-wallet';
3
3
  export * from '@txnlab/use-wallet';
4
4
  import * as vue from 'vue';
5
5
  import algosdk from 'algosdk';
@@ -9,7 +9,7 @@ declare const WalletManagerPlugin: {
9
9
  };
10
10
 
11
11
  interface Wallet {
12
- id: string;
12
+ id: WalletId;
13
13
  metadata: WalletMetadata;
14
14
  accounts: WalletAccount[];
15
15
  activeAccount: WalletAccount | null;
@@ -24,7 +24,7 @@ declare function useWallet(): {
24
24
  wallets: vue.ComputedRef<Wallet[]>;
25
25
  isReady: vue.ComputedRef<boolean>;
26
26
  algodClient: vue.ComputedRef<algosdk.Algodv2>;
27
- activeWallet: vue.ComputedRef<_txnlab_use_wallet.BaseWallet | null>;
27
+ activeWallet: vue.ComputedRef<Wallet | null>;
28
28
  activeWalletAccounts: vue.ComputedRef<WalletAccount[] | null>;
29
29
  activeWalletAddresses: vue.ComputedRef<string[] | null>;
30
30
  activeAccount: vue.ComputedRef<WalletAccount | null>;
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import * as _txnlab_use_wallet from '@txnlab/use-wallet';
2
- import { WalletManagerConfig, WalletMetadata, WalletAccount, AlgodConfig } from '@txnlab/use-wallet';
2
+ import { WalletManagerConfig, WalletId, WalletMetadata, WalletAccount, AlgodConfig } from '@txnlab/use-wallet';
3
3
  export * from '@txnlab/use-wallet';
4
4
  import * as vue from 'vue';
5
5
  import algosdk from 'algosdk';
@@ -9,7 +9,7 @@ declare const WalletManagerPlugin: {
9
9
  };
10
10
 
11
11
  interface Wallet {
12
- id: string;
12
+ id: WalletId;
13
13
  metadata: WalletMetadata;
14
14
  accounts: WalletAccount[];
15
15
  activeAccount: WalletAccount | null;
@@ -24,7 +24,7 @@ declare function useWallet(): {
24
24
  wallets: vue.ComputedRef<Wallet[]>;
25
25
  isReady: vue.ComputedRef<boolean>;
26
26
  algodClient: vue.ComputedRef<algosdk.Algodv2>;
27
- activeWallet: vue.ComputedRef<_txnlab_use_wallet.BaseWallet | null>;
27
+ activeWallet: vue.ComputedRef<Wallet | null>;
28
28
  activeWalletAccounts: vue.ComputedRef<WalletAccount[] | null>;
29
29
  activeWalletAddresses: vue.ComputedRef<string[] | null>;
30
30
  activeAccount: vue.ComputedRef<WalletAccount | null>;
package/dist/index.js CHANGED
@@ -39,24 +39,29 @@ function useWallet() {
39
39
  const isReady = computed(() => managerStatus.value === "ready");
40
40
  const walletStateMap = useStore(manager.store, (state) => state.wallets);
41
41
  const activeWalletId = useStore(manager.store, (state) => state.activeWallet);
42
+ const transformToWallet = (wallet) => {
43
+ const walletState = walletStateMap.value[wallet.id];
44
+ return {
45
+ id: wallet.id,
46
+ metadata: wallet.metadata,
47
+ accounts: walletState?.accounts ?? [],
48
+ activeAccount: walletState?.activeAccount ?? null,
49
+ isConnected: !!walletState,
50
+ isActive: wallet.id === activeWalletId.value,
51
+ connect: (args) => wallet.connect(args),
52
+ disconnect: () => wallet.disconnect(),
53
+ setActive: () => wallet.setActive(),
54
+ setActiveAccount: (addr) => wallet.setActiveAccount(addr)
55
+ };
56
+ };
42
57
  const wallets = computed(() => {
43
- return [...manager.wallets.values()].map((wallet) => {
44
- const walletState = walletStateMap.value[wallet.id];
45
- return {
46
- id: wallet.id,
47
- metadata: wallet.metadata,
48
- accounts: walletState?.accounts ?? [],
49
- activeAccount: walletState?.activeAccount ?? null,
50
- isConnected: !!walletState,
51
- isActive: wallet.id === activeWalletId.value,
52
- connect: (args) => wallet.connect(args),
53
- disconnect: () => wallet.disconnect(),
54
- setActive: () => wallet.setActive(),
55
- setActiveAccount: (addr) => wallet.setActiveAccount(addr)
56
- };
57
- });
58
+ return [...manager.wallets.values()].map(transformToWallet);
58
59
  });
59
60
  const activeWallet = computed(() => {
61
+ const wallet = activeWalletId.value ? manager.getWallet(activeWalletId.value) || null : null;
62
+ return wallet ? transformToWallet(wallet) : null;
63
+ });
64
+ const activeBaseWallet = computed(() => {
60
65
  return activeWalletId.value ? manager.getWallet(activeWalletId.value) || null : null;
61
66
  });
62
67
  const activeWalletState = computed(() => {
@@ -76,16 +81,16 @@ function useWallet() {
76
81
  return activeAccount.value?.address ?? null;
77
82
  });
78
83
  const signTransactions = (txnGroup, indexesToSign) => {
79
- if (!activeWallet.value) {
84
+ if (!activeBaseWallet.value) {
80
85
  throw new Error("No active wallet");
81
86
  }
82
- return activeWallet.value.signTransactions(txnGroup, indexesToSign);
87
+ return activeBaseWallet.value.signTransactions(txnGroup, indexesToSign);
83
88
  };
84
89
  const transactionSigner = (txnGroup, indexesToSign) => {
85
- if (!activeWallet.value) {
90
+ if (!activeBaseWallet.value) {
86
91
  throw new Error("No active wallet");
87
92
  }
88
- return activeWallet.value.transactionSigner(txnGroup, indexesToSign);
93
+ return activeBaseWallet.value.transactionSigner(txnGroup, indexesToSign);
89
94
  };
90
95
  return {
91
96
  wallets,
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts","../src/walletManagerPlugin.ts","../src/useWallet.ts","../src/useNetwork.ts"],"sourcesContent":["export * from '@txnlab/use-wallet'\nexport { WalletManagerPlugin } from './walletManagerPlugin'\nexport { useWallet, type Wallet } from './useWallet'\nexport { useNetwork } from './useNetwork'\n","import { WalletManager, type WalletManagerConfig } from '@txnlab/use-wallet'\nimport { ref } from 'vue'\nimport type algosdk from 'algosdk'\n\nexport const WalletManagerPlugin = {\n install(app: any, options: WalletManagerConfig) {\n const manager = new WalletManager(options)\n const algodClient = ref(manager.algodClient)\n\n const setAlgodClient = (client: algosdk.Algodv2) => {\n algodClient.value = client\n manager.algodClient = client\n }\n\n app.provide('walletManager', manager)\n app.provide('algodClient', algodClient)\n app.provide('setAlgodClient', setAlgodClient)\n\n manager.resumeSessions().catch((error) => {\n console.error('Error resuming sessions:', error)\n })\n }\n}\n","import { useStore } from '@tanstack/vue-store'\nimport { WalletManager, type WalletAccount, type WalletMetadata } from '@txnlab/use-wallet'\nimport algosdk from 'algosdk'\nimport { computed, inject, ref } from 'vue'\n\nexport interface Wallet {\n id: string\n metadata: WalletMetadata\n accounts: WalletAccount[]\n activeAccount: WalletAccount | null\n isConnected: boolean\n isActive: boolean\n connect: (args?: Record<string, any>) => Promise<WalletAccount[]>\n disconnect: () => Promise<void>\n setActive: () => void\n setActiveAccount: (address: string) => void\n}\n\nexport type SetAlgodClient = (client: algosdk.Algodv2) => void\n\nexport function useWallet() {\n const manager = inject<WalletManager>('walletManager')\n const algodClient = inject<ReturnType<typeof ref<algosdk.Algodv2>>>('algodClient')\n\n if (!manager) {\n throw new Error('WalletManager plugin is not properly installed')\n }\n if (!algodClient) {\n throw new Error('Algod client not properly installed')\n }\n\n const managerStatus = useStore(manager.store, (state) => state.managerStatus)\n const isReady = computed(() => managerStatus.value === 'ready')\n\n const walletStateMap = useStore(manager.store, (state) => state.wallets)\n const activeWalletId = useStore(manager.store, (state) => state.activeWallet)\n\n const wallets = computed(() => {\n return [...manager.wallets.values()].map((wallet): Wallet => {\n const walletState = walletStateMap.value[wallet.id]\n\n return {\n id: wallet.id,\n metadata: wallet.metadata,\n accounts: walletState?.accounts ?? [],\n activeAccount: walletState?.activeAccount ?? null,\n isConnected: !!walletState,\n isActive: wallet.id === activeWalletId.value,\n connect: (args) => wallet.connect(args),\n disconnect: () => wallet.disconnect(),\n setActive: () => wallet.setActive(),\n setActiveAccount: (addr) => wallet.setActiveAccount(addr)\n }\n })\n })\n\n const activeWallet = computed(() => {\n return activeWalletId.value ? manager.getWallet(activeWalletId.value) || null : null\n })\n\n const activeWalletState = computed(() => {\n const wallet = activeWallet.value\n return wallet ? walletStateMap.value[wallet.id] || null : null\n })\n\n const activeWalletAccounts = computed(() => {\n return activeWalletState.value?.accounts ?? null\n })\n\n const activeWalletAddresses = computed(() => {\n return activeWalletAccounts.value?.map((account) => account.address) ?? null\n })\n\n const activeAccount = computed(() => {\n return activeWalletState.value?.activeAccount ?? null\n })\n\n const activeAddress = computed(() => {\n return activeAccount.value?.address ?? null\n })\n\n const signTransactions = <T extends algosdk.Transaction[] | Uint8Array[]>(\n txnGroup: T | T[],\n indexesToSign?: number[]\n ): Promise<(Uint8Array | null)[]> => {\n if (!activeWallet.value) {\n throw new Error('No active wallet')\n }\n return activeWallet.value.signTransactions(txnGroup, indexesToSign)\n }\n\n const transactionSigner = (\n txnGroup: algosdk.Transaction[],\n indexesToSign: number[]\n ): Promise<Uint8Array[]> => {\n if (!activeWallet.value) {\n throw new Error('No active wallet')\n }\n return activeWallet.value.transactionSigner(txnGroup, indexesToSign)\n }\n\n return {\n wallets,\n isReady,\n algodClient: computed(() => {\n if (!algodClient.value) {\n throw new Error('Algod client is undefined')\n }\n return algodClient.value\n }),\n activeWallet,\n activeWalletAccounts,\n activeWalletAddresses,\n activeAccount,\n activeAddress,\n signTransactions,\n transactionSigner\n }\n}\n","import { useStore } from '@tanstack/vue-store'\nimport { WalletManager, type AlgodConfig } from '@txnlab/use-wallet'\nimport algosdk from 'algosdk'\nimport { computed, inject, ref } from 'vue'\nimport type { SetAlgodClient } from './useWallet'\n\nexport function useNetwork() {\n const manager = inject<WalletManager>('walletManager')\n const algodClient = inject<ReturnType<typeof ref<algosdk.Algodv2>>>('algodClient')\n const setAlgodClient = inject<SetAlgodClient>('setAlgodClient')\n\n if (!manager) {\n throw new Error('WalletManager plugin is not properly installed')\n }\n if (!algodClient || !setAlgodClient) {\n throw new Error('Algod client or setter not properly installed')\n }\n\n const activeNetwork = useStore(manager.store, (state) => state.activeNetwork)\n\n // Create a reactive store for network config\n const networkConfig = useStore(manager.store, (state) => ({\n networks: { ...manager.networkConfig },\n activeNetwork: state.activeNetwork\n }))\n\n const activeNetworkConfig = computed(\n () => networkConfig.value.networks[networkConfig.value.activeNetwork]\n )\n\n const setActiveNetwork = async (networkId: string): Promise<void> => {\n if (networkId === activeNetwork.value) {\n return\n }\n\n if (!manager.networkConfig[networkId]) {\n throw new Error(`Network \"${networkId}\" not found in network configuration`)\n }\n\n console.info(`[Vue] Creating new Algodv2 client...`)\n\n const { algod } = manager.networkConfig[networkId]\n const { token = '', baseServer, port = '', headers = {} } = algod\n const newClient = new algosdk.Algodv2(token, baseServer, port, headers)\n\n await manager.setActiveNetwork(networkId)\n setAlgodClient(newClient)\n\n console.info(`[Vue] ✅ Active network set to ${networkId}.`)\n }\n\n const updateAlgodConfig = (networkId: string, config: Partial<AlgodConfig>): void => {\n manager.updateAlgodConfig(networkId, config)\n manager.store.setState((state) => ({ ...state }))\n\n // If this is the active network, update the algodClient\n if (networkId === activeNetwork.value) {\n console.info(`[Vue] Creating new Algodv2 client...`)\n const { algod } = manager.networkConfig[networkId]\n const { token = '', baseServer, port = '', headers = {} } = algod\n const newClient = new algosdk.Algodv2(token, baseServer, port, headers)\n setAlgodClient(newClient)\n }\n }\n\n const resetNetworkConfig = (networkId: string): void => {\n manager.resetNetworkConfig(networkId)\n manager.store.setState((state) => ({ ...state }))\n\n // If this is the active network, update the algodClient\n if (networkId === activeNetwork.value) {\n console.info(`[Vue] Creating new Algodv2 client...`)\n const { algod } = manager.networkConfig[networkId]\n const { token = '', baseServer, port = '', headers = {} } = algod\n const newClient = new algosdk.Algodv2(token, baseServer, port, headers)\n setAlgodClient(newClient)\n }\n }\n\n return {\n activeNetwork,\n networkConfig: manager.networkConfig,\n activeNetworkConfig,\n setActiveNetwork,\n updateAlgodConfig,\n resetNetworkConfig\n }\n}\n"],"mappings":"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","names":["useStore","algosdk","computed","inject"]}
1
+ {"version":3,"sources":["../src/index.ts","../src/walletManagerPlugin.ts","../src/useWallet.ts","../src/useNetwork.ts"],"sourcesContent":["export * from '@txnlab/use-wallet'\nexport { WalletManagerPlugin } from './walletManagerPlugin'\nexport { useWallet, type Wallet } from './useWallet'\nexport { useNetwork } from './useNetwork'\n","import { WalletManager, type WalletManagerConfig } from '@txnlab/use-wallet'\nimport { ref } from 'vue'\nimport type algosdk from 'algosdk'\n\nexport const WalletManagerPlugin = {\n install(app: any, options: WalletManagerConfig) {\n const manager = new WalletManager(options)\n const algodClient = ref(manager.algodClient)\n\n const setAlgodClient = (client: algosdk.Algodv2) => {\n algodClient.value = client\n manager.algodClient = client\n }\n\n app.provide('walletManager', manager)\n app.provide('algodClient', algodClient)\n app.provide('setAlgodClient', setAlgodClient)\n\n manager.resumeSessions().catch((error) => {\n console.error('Error resuming sessions:', error)\n })\n }\n}\n","import { useStore } from '@tanstack/vue-store'\nimport {\n BaseWallet,\n WalletManager,\n type WalletAccount,\n type WalletMetadata,\n type WalletId\n} from '@txnlab/use-wallet'\nimport algosdk from 'algosdk'\nimport { computed, inject, ref } from 'vue'\n\nexport interface Wallet {\n id: WalletId\n metadata: WalletMetadata\n accounts: WalletAccount[]\n activeAccount: WalletAccount | null\n isConnected: boolean\n isActive: boolean\n connect: (args?: Record<string, any>) => Promise<WalletAccount[]>\n disconnect: () => Promise<void>\n setActive: () => void\n setActiveAccount: (address: string) => void\n}\n\nexport type SetAlgodClient = (client: algosdk.Algodv2) => void\n\nexport function useWallet() {\n const manager = inject<WalletManager>('walletManager')\n const algodClient = inject<ReturnType<typeof ref<algosdk.Algodv2>>>('algodClient')\n\n if (!manager) {\n throw new Error('WalletManager plugin is not properly installed')\n }\n if (!algodClient) {\n throw new Error('Algod client not properly installed')\n }\n\n const managerStatus = useStore(manager.store, (state) => state.managerStatus)\n const isReady = computed(() => managerStatus.value === 'ready')\n\n const walletStateMap = useStore(manager.store, (state) => state.wallets)\n const activeWalletId = useStore(manager.store, (state) => state.activeWallet)\n\n const transformToWallet = (wallet: BaseWallet): Wallet => {\n const walletState = walletStateMap.value[wallet.id]\n return {\n id: wallet.id,\n metadata: wallet.metadata,\n accounts: walletState?.accounts ?? [],\n activeAccount: walletState?.activeAccount ?? null,\n isConnected: !!walletState,\n isActive: wallet.id === activeWalletId.value,\n connect: (args) => wallet.connect(args),\n disconnect: () => wallet.disconnect(),\n setActive: () => wallet.setActive(),\n setActiveAccount: (addr) => wallet.setActiveAccount(addr)\n }\n }\n\n const wallets = computed(() => {\n return [...manager.wallets.values()].map(transformToWallet)\n })\n\n const activeWallet = computed(() => {\n const wallet = activeWalletId.value ? manager.getWallet(activeWalletId.value) || null : null\n return wallet ? transformToWallet(wallet) : null\n })\n\n const activeBaseWallet = computed(() => {\n return activeWalletId.value ? manager.getWallet(activeWalletId.value) || null : null\n })\n\n const activeWalletState = computed(() => {\n const wallet = activeWallet.value\n return wallet ? walletStateMap.value[wallet.id] || null : null\n })\n\n const activeWalletAccounts = computed(() => {\n return activeWalletState.value?.accounts ?? null\n })\n\n const activeWalletAddresses = computed(() => {\n return activeWalletAccounts.value?.map((account) => account.address) ?? null\n })\n\n const activeAccount = computed(() => {\n return activeWalletState.value?.activeAccount ?? null\n })\n\n const activeAddress = computed(() => {\n return activeAccount.value?.address ?? null\n })\n\n const signTransactions = <T extends algosdk.Transaction[] | Uint8Array[]>(\n txnGroup: T | T[],\n indexesToSign?: number[]\n ): Promise<(Uint8Array | null)[]> => {\n if (!activeBaseWallet.value) {\n throw new Error('No active wallet')\n }\n return activeBaseWallet.value.signTransactions(txnGroup, indexesToSign)\n }\n\n const transactionSigner = (\n txnGroup: algosdk.Transaction[],\n indexesToSign: number[]\n ): Promise<Uint8Array[]> => {\n if (!activeBaseWallet.value) {\n throw new Error('No active wallet')\n }\n return activeBaseWallet.value.transactionSigner(txnGroup, indexesToSign)\n }\n\n return {\n wallets,\n isReady,\n algodClient: computed(() => {\n if (!algodClient.value) {\n throw new Error('Algod client is undefined')\n }\n return algodClient.value\n }),\n activeWallet,\n activeWalletAccounts,\n activeWalletAddresses,\n activeAccount,\n activeAddress,\n signTransactions,\n transactionSigner\n }\n}\n","import { useStore } from '@tanstack/vue-store'\nimport { WalletManager, type AlgodConfig } from '@txnlab/use-wallet'\nimport algosdk from 'algosdk'\nimport { computed, inject, ref } from 'vue'\nimport type { SetAlgodClient } from './useWallet'\n\nexport function useNetwork() {\n const manager = inject<WalletManager>('walletManager')\n const algodClient = inject<ReturnType<typeof ref<algosdk.Algodv2>>>('algodClient')\n const setAlgodClient = inject<SetAlgodClient>('setAlgodClient')\n\n if (!manager) {\n throw new Error('WalletManager plugin is not properly installed')\n }\n if (!algodClient || !setAlgodClient) {\n throw new Error('Algod client or setter not properly installed')\n }\n\n const activeNetwork = useStore(manager.store, (state) => state.activeNetwork)\n\n // Create a reactive store for network config\n const networkConfig = useStore(manager.store, (state) => ({\n networks: { ...manager.networkConfig },\n activeNetwork: state.activeNetwork\n }))\n\n const activeNetworkConfig = computed(\n () => networkConfig.value.networks[networkConfig.value.activeNetwork]\n )\n\n const setActiveNetwork = async (networkId: string): Promise<void> => {\n if (networkId === activeNetwork.value) {\n return\n }\n\n if (!manager.networkConfig[networkId]) {\n throw new Error(`Network \"${networkId}\" not found in network configuration`)\n }\n\n console.info(`[Vue] Creating new Algodv2 client...`)\n\n const { algod } = manager.networkConfig[networkId]\n const { token = '', baseServer, port = '', headers = {} } = algod\n const newClient = new algosdk.Algodv2(token, baseServer, port, headers)\n\n await manager.setActiveNetwork(networkId)\n setAlgodClient(newClient)\n\n console.info(`[Vue] ✅ Active network set to ${networkId}.`)\n }\n\n const updateAlgodConfig = (networkId: string, config: Partial<AlgodConfig>): void => {\n manager.updateAlgodConfig(networkId, config)\n manager.store.setState((state) => ({ ...state }))\n\n // If this is the active network, update the algodClient\n if (networkId === activeNetwork.value) {\n console.info(`[Vue] Creating new Algodv2 client...`)\n const { algod } = manager.networkConfig[networkId]\n const { token = '', baseServer, port = '', headers = {} } = algod\n const newClient = new algosdk.Algodv2(token, baseServer, port, headers)\n setAlgodClient(newClient)\n }\n }\n\n const resetNetworkConfig = (networkId: string): void => {\n manager.resetNetworkConfig(networkId)\n manager.store.setState((state) => ({ ...state }))\n\n // If this is the active network, update the algodClient\n if (networkId === activeNetwork.value) {\n console.info(`[Vue] Creating new Algodv2 client...`)\n const { algod } = manager.networkConfig[networkId]\n const { token = '', baseServer, port = '', headers = {} } = algod\n const newClient = new algosdk.Algodv2(token, baseServer, port, headers)\n setAlgodClient(newClient)\n }\n }\n\n return {\n activeNetwork,\n networkConfig: manager.networkConfig,\n activeNetworkConfig,\n setActiveNetwork,\n updateAlgodConfig,\n resetNetworkConfig\n }\n}\n"],"mappings":"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","names":["useStore","algosdk","computed","inject"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@txnlab/use-wallet-vue",
3
- "version": "4.0.0-beta.5",
3
+ "version": "4.0.0",
4
4
  "description": "Vue library for integrating Algorand wallets into decentralized applications",
5
5
  "author": "Doug Richar <drichar@gmail.com>",
6
6
  "license": "MIT",
@@ -31,7 +31,7 @@
31
31
  ],
32
32
  "dependencies": {
33
33
  "@tanstack/vue-store": "0.7.0",
34
- "@txnlab/use-wallet": "4.0.0-beta.5"
34
+ "@txnlab/use-wallet": "4.0.0"
35
35
  },
36
36
  "devDependencies": {
37
37
  "algosdk": "3.0.0",