@txnlab/use-wallet-vue 4.6.0 → 5.0.0-rc.2
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.d.ts +33 -44
- package/dist/index.js +166 -198
- package/dist/index.js.map +1 -1
- package/package.json +20 -49
- package/dist/index.cjs +0 -244
- package/dist/index.cjs.map +0 -1
- package/dist/index.d.cts +0 -51
package/dist/index.d.ts
CHANGED
|
@@ -1,51 +1,40 @@
|
|
|
1
|
-
import * as
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
import
|
|
5
|
-
|
|
1
|
+
import * as _txnlab_use_wallet0 from "@txnlab/use-wallet";
|
|
2
|
+
import { AlgodConfig, StdSignDataResponse, StdSignMetadata, Wallet, WalletManagerConfig } from "@txnlab/use-wallet";
|
|
3
|
+
import * as vue from "vue";
|
|
4
|
+
import algosdk from "algosdk";
|
|
5
|
+
export * from "@txnlab/use-wallet";
|
|
6
6
|
|
|
7
|
+
//#region src/walletManagerPlugin.d.ts
|
|
7
8
|
declare const WalletManagerPlugin: {
|
|
8
|
-
|
|
9
|
+
install(app: any, options: WalletManagerConfig): void;
|
|
9
10
|
};
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
id: WalletId;
|
|
13
|
-
/** Unique key for this wallet instance. Used for skinned WalletConnect instances. */
|
|
14
|
-
walletKey: WalletKey;
|
|
15
|
-
metadata: WalletMetadata;
|
|
16
|
-
accounts: WalletAccount[];
|
|
17
|
-
activeAccount: WalletAccount | null;
|
|
18
|
-
isConnected: boolean;
|
|
19
|
-
isActive: boolean;
|
|
20
|
-
connect: (args?: Record<string, any>) => Promise<WalletAccount[]>;
|
|
21
|
-
disconnect: () => Promise<void>;
|
|
22
|
-
setActive: () => void;
|
|
23
|
-
setActiveAccount: (address: string) => void;
|
|
24
|
-
canSignData: boolean;
|
|
25
|
-
canUsePrivateKey: boolean;
|
|
26
|
-
}
|
|
11
|
+
//#endregion
|
|
12
|
+
//#region src/useWallet.d.ts
|
|
27
13
|
declare function useWallet(): {
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
14
|
+
wallets: vue.ComputedRef<Wallet[]>;
|
|
15
|
+
availableWallets: vue.ComputedRef<Wallet[]>;
|
|
16
|
+
isReady: vue.ComputedRef<boolean>;
|
|
17
|
+
algodClient: vue.ComputedRef<algosdk.Algodv2>;
|
|
18
|
+
activeWallet: vue.ComputedRef<Wallet | null>;
|
|
19
|
+
activeWalletAccounts: vue.ComputedRef<_txnlab_use_wallet0.WalletAccount[] | null>;
|
|
20
|
+
activeWalletAddresses: vue.ComputedRef<string[] | null>;
|
|
21
|
+
activeAccount: vue.ComputedRef<_txnlab_use_wallet0.WalletAccount | null>;
|
|
22
|
+
activeAddress: vue.ComputedRef<string | null>;
|
|
23
|
+
signData: (data: string, metadata: StdSignMetadata) => Promise<StdSignDataResponse>;
|
|
24
|
+
withPrivateKey: <T>(callback: (secretKey: Uint8Array) => Promise<T>) => Promise<T>;
|
|
25
|
+
signTransactions: <T extends algosdk.Transaction[] | Uint8Array[]>(txnGroup: T | T[], indexesToSign?: number[]) => Promise<(Uint8Array | null)[]>;
|
|
26
|
+
transactionSigner: (txnGroup: algosdk.Transaction[], indexesToSign: number[]) => Promise<Uint8Array[]>;
|
|
40
27
|
};
|
|
41
|
-
|
|
28
|
+
//#endregion
|
|
29
|
+
//#region src/useNetwork.d.ts
|
|
42
30
|
declare function useNetwork(): {
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
31
|
+
activeNetwork: Readonly<vue.Ref<string, string>>;
|
|
32
|
+
networkConfig: Record<string, _txnlab_use_wallet0.NetworkConfig>;
|
|
33
|
+
activeNetworkConfig: vue.ComputedRef<_txnlab_use_wallet0.NetworkConfig>;
|
|
34
|
+
setActiveNetwork: (networkId: string) => Promise<void>;
|
|
35
|
+
updateAlgodConfig: (networkId: string, config: Partial<AlgodConfig>) => void;
|
|
36
|
+
resetNetworkConfig: (networkId: string) => void;
|
|
49
37
|
};
|
|
50
|
-
|
|
51
|
-
export {
|
|
38
|
+
//#endregion
|
|
39
|
+
export { WalletManagerPlugin, useNetwork, useWallet };
|
|
40
|
+
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.js
CHANGED
|
@@ -1,205 +1,173 @@
|
|
|
1
|
-
// src/index.ts
|
|
2
|
-
export * from "@txnlab/use-wallet";
|
|
3
|
-
|
|
4
|
-
// src/walletManagerPlugin.ts
|
|
5
1
|
import { WalletManager } from "@txnlab/use-wallet";
|
|
6
|
-
import { ref } from "vue";
|
|
7
|
-
var WalletManagerPlugin = {
|
|
8
|
-
install(app, options) {
|
|
9
|
-
const manager = new WalletManager(options);
|
|
10
|
-
const algodClient = ref(manager.algodClient);
|
|
11
|
-
const setAlgodClient = (client) => {
|
|
12
|
-
algodClient.value = client;
|
|
13
|
-
manager.algodClient = client;
|
|
14
|
-
};
|
|
15
|
-
app.provide("walletManager", manager);
|
|
16
|
-
app.provide("algodClient", algodClient);
|
|
17
|
-
app.provide("setAlgodClient", setAlgodClient);
|
|
18
|
-
manager.resumeSessions().catch((error) => {
|
|
19
|
-
console.error("Error resuming sessions:", error);
|
|
20
|
-
});
|
|
21
|
-
}
|
|
22
|
-
};
|
|
23
|
-
|
|
24
|
-
// src/useWallet.ts
|
|
2
|
+
import { computed, inject, ref } from "vue";
|
|
25
3
|
import { useStore } from "@tanstack/vue-store";
|
|
26
|
-
import "
|
|
27
|
-
|
|
28
|
-
|
|
4
|
+
import algosdk from "algosdk";
|
|
5
|
+
export * from "@txnlab/use-wallet";
|
|
6
|
+
//#region src/walletManagerPlugin.ts
|
|
7
|
+
const WalletManagerPlugin = { install(app, options) {
|
|
8
|
+
const manager = new WalletManager(options);
|
|
9
|
+
const algodClient = ref(manager.algodClient);
|
|
10
|
+
const setAlgodClient = (client) => {
|
|
11
|
+
algodClient.value = client;
|
|
12
|
+
manager.algodClient = client;
|
|
13
|
+
};
|
|
14
|
+
app.provide("walletManager", manager);
|
|
15
|
+
app.provide("algodClient", algodClient);
|
|
16
|
+
app.provide("setAlgodClient", setAlgodClient);
|
|
17
|
+
manager.resumeSessions().catch((error) => {
|
|
18
|
+
console.error("Error resuming sessions:", error);
|
|
19
|
+
});
|
|
20
|
+
} };
|
|
21
|
+
//#endregion
|
|
22
|
+
//#region src/useWallet.ts
|
|
29
23
|
function useWallet() {
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
activeWalletAddresses,
|
|
122
|
-
activeAccount,
|
|
123
|
-
activeAddress,
|
|
124
|
-
signData,
|
|
125
|
-
withPrivateKey,
|
|
126
|
-
signTransactions,
|
|
127
|
-
transactionSigner
|
|
128
|
-
};
|
|
24
|
+
const manager = inject("walletManager");
|
|
25
|
+
const algodClient = inject("algodClient");
|
|
26
|
+
if (!manager) throw new Error("WalletManager plugin is not properly installed");
|
|
27
|
+
if (!algodClient) throw new Error("Algod client not properly installed");
|
|
28
|
+
const managerStatus = useStore(manager.store, (state) => state.managerStatus);
|
|
29
|
+
const isReady = computed(() => managerStatus.value === "ready");
|
|
30
|
+
const walletStateMap = useStore(manager.store, (state) => state.wallets);
|
|
31
|
+
const activeWalletId = useStore(manager.store, (state) => state.activeWallet);
|
|
32
|
+
const transformToWallet = (wallet) => {
|
|
33
|
+
const walletState = walletStateMap.value[wallet.walletKey];
|
|
34
|
+
return {
|
|
35
|
+
id: wallet.id,
|
|
36
|
+
walletKey: wallet.walletKey,
|
|
37
|
+
metadata: wallet.metadata,
|
|
38
|
+
accounts: walletState?.accounts ?? [],
|
|
39
|
+
activeAccount: walletState?.activeAccount ?? null,
|
|
40
|
+
isConnected: !!walletState,
|
|
41
|
+
isActive: wallet.walletKey === activeWalletId.value,
|
|
42
|
+
canSignData: wallet.canSignData ?? false,
|
|
43
|
+
canUsePrivateKey: wallet.canUsePrivateKey ?? false,
|
|
44
|
+
connect: (args) => wallet.connect(args),
|
|
45
|
+
disconnect: () => wallet.disconnect(),
|
|
46
|
+
setActive: () => wallet.setActive(),
|
|
47
|
+
setActiveAccount: (addr) => wallet.setActiveAccount(addr)
|
|
48
|
+
};
|
|
49
|
+
};
|
|
50
|
+
const wallets = computed(() => {
|
|
51
|
+
return [...manager.wallets.values()].map(transformToWallet);
|
|
52
|
+
});
|
|
53
|
+
const activeNetwork = useStore(manager.store, (state) => state.activeNetwork);
|
|
54
|
+
const availableWallets = computed(() => {
|
|
55
|
+
activeNetwork.value;
|
|
56
|
+
return manager.availableWallets.map(transformToWallet);
|
|
57
|
+
});
|
|
58
|
+
const activeWallet = computed(() => {
|
|
59
|
+
const wallet = activeWalletId.value ? manager.getWallet(activeWalletId.value) || null : null;
|
|
60
|
+
return wallet ? transformToWallet(wallet) : null;
|
|
61
|
+
});
|
|
62
|
+
const activeBaseWallet = computed(() => {
|
|
63
|
+
return activeWalletId.value ? manager.getWallet(activeWalletId.value) || null : null;
|
|
64
|
+
});
|
|
65
|
+
const activeWalletState = computed(() => {
|
|
66
|
+
const wallet = activeWallet.value;
|
|
67
|
+
return wallet ? walletStateMap.value[wallet.walletKey] || null : null;
|
|
68
|
+
});
|
|
69
|
+
const activeWalletAccounts = computed(() => {
|
|
70
|
+
return activeWalletState.value?.accounts ?? null;
|
|
71
|
+
});
|
|
72
|
+
const activeWalletAddresses = computed(() => {
|
|
73
|
+
return activeWalletAccounts.value?.map((account) => account.address) ?? null;
|
|
74
|
+
});
|
|
75
|
+
const activeAccount = computed(() => {
|
|
76
|
+
return activeWalletState.value?.activeAccount ?? null;
|
|
77
|
+
});
|
|
78
|
+
const activeAddress = computed(() => {
|
|
79
|
+
return activeAccount.value?.address ?? null;
|
|
80
|
+
});
|
|
81
|
+
const signTransactions = (txnGroup, indexesToSign) => {
|
|
82
|
+
if (!activeBaseWallet.value) throw new Error("No active wallet");
|
|
83
|
+
return activeBaseWallet.value.signTransactions(txnGroup, indexesToSign);
|
|
84
|
+
};
|
|
85
|
+
const transactionSigner = (txnGroup, indexesToSign) => {
|
|
86
|
+
if (!activeBaseWallet.value) throw new Error("No active wallet");
|
|
87
|
+
return activeBaseWallet.value.transactionSigner(txnGroup, indexesToSign);
|
|
88
|
+
};
|
|
89
|
+
const signData = (data, metadata) => {
|
|
90
|
+
if (!activeBaseWallet.value) throw new Error("No active wallet");
|
|
91
|
+
return activeBaseWallet.value.signData(data, metadata);
|
|
92
|
+
};
|
|
93
|
+
const withPrivateKey = (callback) => {
|
|
94
|
+
if (!activeBaseWallet.value) throw new Error("No active wallet");
|
|
95
|
+
return activeBaseWallet.value.withPrivateKey(callback);
|
|
96
|
+
};
|
|
97
|
+
return {
|
|
98
|
+
wallets,
|
|
99
|
+
availableWallets,
|
|
100
|
+
isReady,
|
|
101
|
+
algodClient: computed(() => {
|
|
102
|
+
if (!algodClient.value) throw new Error("Algod client is undefined");
|
|
103
|
+
return algodClient.value;
|
|
104
|
+
}),
|
|
105
|
+
activeWallet,
|
|
106
|
+
activeWalletAccounts,
|
|
107
|
+
activeWalletAddresses,
|
|
108
|
+
activeAccount,
|
|
109
|
+
activeAddress,
|
|
110
|
+
signData,
|
|
111
|
+
withPrivateKey,
|
|
112
|
+
signTransactions,
|
|
113
|
+
transactionSigner
|
|
114
|
+
};
|
|
129
115
|
}
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
import { useStore as useStore2 } from "@tanstack/vue-store";
|
|
133
|
-
import "@txnlab/use-wallet";
|
|
134
|
-
import algosdk2 from "algosdk";
|
|
135
|
-
import { computed as computed2, inject as inject2 } from "vue";
|
|
116
|
+
//#endregion
|
|
117
|
+
//#region src/useNetwork.ts
|
|
136
118
|
function useNetwork() {
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
const newClient = new algosdk2.Algodv2(token, baseServer, port, headers);
|
|
188
|
-
setAlgodClient(newClient);
|
|
189
|
-
}
|
|
190
|
-
};
|
|
191
|
-
return {
|
|
192
|
-
activeNetwork,
|
|
193
|
-
networkConfig: manager.networkConfig,
|
|
194
|
-
activeNetworkConfig,
|
|
195
|
-
setActiveNetwork,
|
|
196
|
-
updateAlgodConfig,
|
|
197
|
-
resetNetworkConfig
|
|
198
|
-
};
|
|
119
|
+
const manager = inject("walletManager");
|
|
120
|
+
const algodClient = inject("algodClient");
|
|
121
|
+
const setAlgodClient = inject("setAlgodClient");
|
|
122
|
+
if (!manager) throw new Error("WalletManager plugin is not properly installed");
|
|
123
|
+
if (!algodClient || !setAlgodClient) throw new Error("Algod client or setter not properly installed");
|
|
124
|
+
const activeNetwork = useStore(manager.store, (state) => state.activeNetwork);
|
|
125
|
+
const networkConfig = useStore(manager.store, (state) => ({
|
|
126
|
+
networks: { ...manager.networkConfig },
|
|
127
|
+
activeNetwork: state.activeNetwork
|
|
128
|
+
}));
|
|
129
|
+
const activeNetworkConfig = computed(() => networkConfig.value.networks[networkConfig.value.activeNetwork]);
|
|
130
|
+
const setActiveNetwork = async (networkId) => {
|
|
131
|
+
if (networkId === activeNetwork.value) return;
|
|
132
|
+
if (!manager.networkConfig[networkId]) throw new Error(`Network "${networkId}" not found in network configuration`);
|
|
133
|
+
console.info(`[Vue] Creating new Algodv2 client...`);
|
|
134
|
+
const { algod } = manager.networkConfig[networkId];
|
|
135
|
+
const { token = "", baseServer, port = "", headers = {} } = algod;
|
|
136
|
+
const newClient = new algosdk.Algodv2(token, baseServer, port, headers);
|
|
137
|
+
await manager.setActiveNetwork(networkId);
|
|
138
|
+
setAlgodClient(newClient);
|
|
139
|
+
console.info(`[Vue] ✅ Active network set to ${networkId}.`);
|
|
140
|
+
};
|
|
141
|
+
const updateAlgodConfig = (networkId, config) => {
|
|
142
|
+
manager.updateAlgodConfig(networkId, config);
|
|
143
|
+
manager.store.setState((state) => ({ ...state }));
|
|
144
|
+
if (networkId === activeNetwork.value) {
|
|
145
|
+
console.info(`[Vue] Creating new Algodv2 client...`);
|
|
146
|
+
const { algod } = manager.networkConfig[networkId];
|
|
147
|
+
const { token = "", baseServer, port = "", headers = {} } = algod;
|
|
148
|
+
setAlgodClient(new algosdk.Algodv2(token, baseServer, port, headers));
|
|
149
|
+
}
|
|
150
|
+
};
|
|
151
|
+
const resetNetworkConfig = (networkId) => {
|
|
152
|
+
manager.resetNetworkConfig(networkId);
|
|
153
|
+
manager.store.setState((state) => ({ ...state }));
|
|
154
|
+
if (networkId === activeNetwork.value) {
|
|
155
|
+
console.info(`[Vue] Creating new Algodv2 client...`);
|
|
156
|
+
const { algod } = manager.networkConfig[networkId];
|
|
157
|
+
const { token = "", baseServer, port = "", headers = {} } = algod;
|
|
158
|
+
setAlgodClient(new algosdk.Algodv2(token, baseServer, port, headers));
|
|
159
|
+
}
|
|
160
|
+
};
|
|
161
|
+
return {
|
|
162
|
+
activeNetwork,
|
|
163
|
+
networkConfig: manager.networkConfig,
|
|
164
|
+
activeNetworkConfig,
|
|
165
|
+
setActiveNetwork,
|
|
166
|
+
updateAlgodConfig,
|
|
167
|
+
resetNetworkConfig
|
|
168
|
+
};
|
|
199
169
|
}
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
useWallet
|
|
204
|
-
};
|
|
170
|
+
//#endregion
|
|
171
|
+
export { WalletManagerPlugin, useNetwork, useWallet };
|
|
172
|
+
|
|
205
173
|
//# sourceMappingURL=index.js.map
|
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 {\n BaseWallet,\n WalletManager,\n type WalletAccount,\n type WalletKey,\n type WalletMetadata,\n type WalletId,\n type SignMetadata,\n type SignDataResponse\n} from '@txnlab/use-wallet'\nimport algosdk from 'algosdk'\nimport { computed, inject, ref } from 'vue'\n\nexport interface Wallet {\n id: WalletId\n /** Unique key for this wallet instance. Used for skinned WalletConnect instances. */\n walletKey: WalletKey\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 canSignData: boolean\n canUsePrivateKey: boolean\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.walletKey]\n return {\n id: wallet.id,\n walletKey: wallet.walletKey,\n metadata: wallet.metadata,\n accounts: walletState?.accounts ?? [],\n activeAccount: walletState?.activeAccount ?? null,\n isConnected: !!walletState,\n isActive: wallet.walletKey === activeWalletId.value,\n canSignData: wallet.canSignData ?? false,\n canUsePrivateKey: wallet.canUsePrivateKey ?? false,\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.walletKey] || 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 const signData = (data: string, metadata: SignMetadata): Promise<SignDataResponse> => {\n if (!activeBaseWallet.value) {\n throw new Error('No active wallet')\n }\n return activeBaseWallet.value.signData(data, metadata)\n }\n\n const withPrivateKey = <T>(callback: (secretKey: Uint8Array) => Promise<T>): Promise<T> => {\n if (!activeBaseWallet.value) {\n throw new Error('No active wallet')\n }\n return activeBaseWallet.value.withPrivateKey(callback)\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 signData,\n withPrivateKey,\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":";AAAA,cAAc;;;ACAd,SAAS,qBAA+C;AACxD,SAAS,WAAW;AAGb,IAAM,sBAAsB;AAAA,EACjC,QAAQ,KAAU,SAA8B;AAC9C,UAAM,UAAU,IAAI,cAAc,OAAO;AACzC,UAAM,cAAc,IAAI,QAAQ,WAAW;AAE3C,UAAM,iBAAiB,CAAC,WAA4B;AAClD,kBAAY,QAAQ;AACpB,cAAQ,cAAc;AAAA,IACxB;AAEA,QAAI,QAAQ,iBAAiB,OAAO;AACpC,QAAI,QAAQ,eAAe,WAAW;AACtC,QAAI,QAAQ,kBAAkB,cAAc;AAE5C,YAAQ,eAAe,EAAE,MAAM,CAAC,UAAU;AACxC,cAAQ,MAAM,4BAA4B,KAAK;AAAA,IACjD,CAAC;AAAA,EACH;AACF;;;ACtBA,SAAS,gBAAgB;AACzB,OASO;AACP,OAAoB;AACpB,SAAS,UAAU,cAAmB;AAqB/B,SAAS,YAAY;AAC1B,QAAM,UAAU,OAAsB,eAAe;AACrD,QAAM,cAAc,OAAgD,aAAa;AAEjF,MAAI,CAAC,SAAS;AACZ,UAAM,IAAI,MAAM,gDAAgD;AAAA,EAClE;AACA,MAAI,CAAC,aAAa;AAChB,UAAM,IAAI,MAAM,qCAAqC;AAAA,EACvD;AAEA,QAAM,gBAAgB,SAAS,QAAQ,OAAO,CAAC,UAAU,MAAM,aAAa;AAC5E,QAAM,UAAU,SAAS,MAAM,cAAc,UAAU,OAAO;AAE9D,QAAM,iBAAiB,SAAS,QAAQ,OAAO,CAAC,UAAU,MAAM,OAAO;AACvE,QAAM,iBAAiB,SAAS,QAAQ,OAAO,CAAC,UAAU,MAAM,YAAY;AAE5E,QAAM,oBAAoB,CAAC,WAA+B;AACxD,UAAM,cAAc,eAAe,MAAM,OAAO,SAAS;AACzD,WAAO;AAAA,MACL,IAAI,OAAO;AAAA,MACX,WAAW,OAAO;AAAA,MAClB,UAAU,OAAO;AAAA,MACjB,UAAU,aAAa,YAAY,CAAC;AAAA,MACpC,eAAe,aAAa,iBAAiB;AAAA,MAC7C,aAAa,CAAC,CAAC;AAAA,MACf,UAAU,OAAO,cAAc,eAAe;AAAA,MAC9C,aAAa,OAAO,eAAe;AAAA,MACnC,kBAAkB,OAAO,oBAAoB;AAAA,MAC7C,SAAS,CAAC,SAAS,OAAO,QAAQ,IAAI;AAAA,MACtC,YAAY,MAAM,OAAO,WAAW;AAAA,MACpC,WAAW,MAAM,OAAO,UAAU;AAAA,MAClC,kBAAkB,CAAC,SAAS,OAAO,iBAAiB,IAAI;AAAA,IAC1D;AAAA,EACF;AAEA,QAAM,UAAU,SAAS,MAAM;AAC7B,WAAO,CAAC,GAAG,QAAQ,QAAQ,OAAO,CAAC,EAAE,IAAI,iBAAiB;AAAA,EAC5D,CAAC;AAED,QAAM,eAAe,SAAS,MAAM;AAClC,UAAM,SAAS,eAAe,QAAQ,QAAQ,UAAU,eAAe,KAAK,KAAK,OAAO;AACxF,WAAO,SAAS,kBAAkB,MAAM,IAAI;AAAA,EAC9C,CAAC;AAED,QAAM,mBAAmB,SAAS,MAAM;AACtC,WAAO,eAAe,QAAQ,QAAQ,UAAU,eAAe,KAAK,KAAK,OAAO;AAAA,EAClF,CAAC;AAED,QAAM,oBAAoB,SAAS,MAAM;AACvC,UAAM,SAAS,aAAa;AAC5B,WAAO,SAAS,eAAe,MAAM,OAAO,SAAS,KAAK,OAAO;AAAA,EACnE,CAAC;AAED,QAAM,uBAAuB,SAAS,MAAM;AAC1C,WAAO,kBAAkB,OAAO,YAAY;AAAA,EAC9C,CAAC;AAED,QAAM,wBAAwB,SAAS,MAAM;AAC3C,WAAO,qBAAqB,OAAO,IAAI,CAAC,YAAY,QAAQ,OAAO,KAAK;AAAA,EAC1E,CAAC;AAED,QAAM,gBAAgB,SAAS,MAAM;AACnC,WAAO,kBAAkB,OAAO,iBAAiB;AAAA,EACnD,CAAC;AAED,QAAM,gBAAgB,SAAS,MAAM;AACnC,WAAO,cAAc,OAAO,WAAW;AAAA,EACzC,CAAC;AAED,QAAM,mBAAmB,CACvB,UACA,kBACmC;AACnC,QAAI,CAAC,iBAAiB,OAAO;AAC3B,YAAM,IAAI,MAAM,kBAAkB;AAAA,IACpC;AACA,WAAO,iBAAiB,MAAM,iBAAiB,UAAU,aAAa;AAAA,EACxE;AAEA,QAAM,oBAAoB,CACxB,UACA,kBAC0B;AAC1B,QAAI,CAAC,iBAAiB,OAAO;AAC3B,YAAM,IAAI,MAAM,kBAAkB;AAAA,IACpC;AACA,WAAO,iBAAiB,MAAM,kBAAkB,UAAU,aAAa;AAAA,EACzE;AAEA,QAAM,WAAW,CAAC,MAAc,aAAsD;AACpF,QAAI,CAAC,iBAAiB,OAAO;AAC3B,YAAM,IAAI,MAAM,kBAAkB;AAAA,IACpC;AACA,WAAO,iBAAiB,MAAM,SAAS,MAAM,QAAQ;AAAA,EACvD;AAEA,QAAM,iBAAiB,CAAI,aAAgE;AACzF,QAAI,CAAC,iBAAiB,OAAO;AAC3B,YAAM,IAAI,MAAM,kBAAkB;AAAA,IACpC;AACA,WAAO,iBAAiB,MAAM,eAAe,QAAQ;AAAA,EACvD;AAEA,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA,aAAa,SAAS,MAAM;AAC1B,UAAI,CAAC,YAAY,OAAO;AACtB,cAAM,IAAI,MAAM,2BAA2B;AAAA,MAC7C;AACA,aAAO,YAAY;AAAA,IACrB,CAAC;AAAA,IACD;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;;;AC5JA,SAAS,YAAAA,iBAAgB;AACzB,OAAgD;AAChD,OAAOC,cAAa;AACpB,SAAS,YAAAC,WAAU,UAAAC,eAAmB;AAG/B,SAAS,aAAa;AAC3B,QAAM,UAAUA,QAAsB,eAAe;AACrD,QAAM,cAAcA,QAAgD,aAAa;AACjF,QAAM,iBAAiBA,QAAuB,gBAAgB;AAE9D,MAAI,CAAC,SAAS;AACZ,UAAM,IAAI,MAAM,gDAAgD;AAAA,EAClE;AACA,MAAI,CAAC,eAAe,CAAC,gBAAgB;AACnC,UAAM,IAAI,MAAM,+CAA+C;AAAA,EACjE;AAEA,QAAM,gBAAgBH,UAAS,QAAQ,OAAO,CAAC,UAAU,MAAM,aAAa;AAG5E,QAAM,gBAAgBA,UAAS,QAAQ,OAAO,CAAC,WAAW;AAAA,IACxD,UAAU,EAAE,GAAG,QAAQ,cAAc;AAAA,IACrC,eAAe,MAAM;AAAA,EACvB,EAAE;AAEF,QAAM,sBAAsBE;AAAA,IAC1B,MAAM,cAAc,MAAM,SAAS,cAAc,MAAM,aAAa;AAAA,EACtE;AAEA,QAAM,mBAAmB,OAAO,cAAqC;AACnE,QAAI,cAAc,cAAc,OAAO;AACrC;AAAA,IACF;AAEA,QAAI,CAAC,QAAQ,cAAc,SAAS,GAAG;AACrC,YAAM,IAAI,MAAM,YAAY,SAAS,sCAAsC;AAAA,IAC7E;AAEA,YAAQ,KAAK,sCAAsC;AAEnD,UAAM,EAAE,MAAM,IAAI,QAAQ,cAAc,SAAS;AACjD,UAAM,EAAE,QAAQ,IAAI,YAAY,OAAO,IAAI,UAAU,CAAC,EAAE,IAAI;AAC5D,UAAM,YAAY,IAAID,SAAQ,QAAQ,OAAO,YAAY,MAAM,OAAO;AAEtE,UAAM,QAAQ,iBAAiB,SAAS;AACxC,mBAAe,SAAS;AAExB,YAAQ,KAAK,sCAAiC,SAAS,GAAG;AAAA,EAC5D;AAEA,QAAM,oBAAoB,CAAC,WAAmB,WAAuC;AACnF,YAAQ,kBAAkB,WAAW,MAAM;AAC3C,YAAQ,MAAM,SAAS,CAAC,WAAW,EAAE,GAAG,MAAM,EAAE;AAGhD,QAAI,cAAc,cAAc,OAAO;AACrC,cAAQ,KAAK,sCAAsC;AACnD,YAAM,EAAE,MAAM,IAAI,QAAQ,cAAc,SAAS;AACjD,YAAM,EAAE,QAAQ,IAAI,YAAY,OAAO,IAAI,UAAU,CAAC,EAAE,IAAI;AAC5D,YAAM,YAAY,IAAIA,SAAQ,QAAQ,OAAO,YAAY,MAAM,OAAO;AACtE,qBAAe,SAAS;AAAA,IAC1B;AAAA,EACF;AAEA,QAAM,qBAAqB,CAAC,cAA4B;AACtD,YAAQ,mBAAmB,SAAS;AACpC,YAAQ,MAAM,SAAS,CAAC,WAAW,EAAE,GAAG,MAAM,EAAE;AAGhD,QAAI,cAAc,cAAc,OAAO;AACrC,cAAQ,KAAK,sCAAsC;AACnD,YAAM,EAAE,MAAM,IAAI,QAAQ,cAAc,SAAS;AACjD,YAAM,EAAE,QAAQ,IAAI,YAAY,OAAO,IAAI,UAAU,CAAC,EAAE,IAAI;AAC5D,YAAM,YAAY,IAAIA,SAAQ,QAAQ,OAAO,YAAY,MAAM,OAAO;AACtE,qBAAe,SAAS;AAAA,IAC1B;AAAA,EACF;AAEA,SAAO;AAAA,IACL;AAAA,IACA,eAAe,QAAQ;AAAA,IACvB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;","names":["useStore","algosdk","computed","inject"]}
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../src/walletManagerPlugin.ts","../src/useWallet.ts","../src/useNetwork.ts"],"sourcesContent":["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 Wallet,\n type StdSignMetadata,\n type StdSignDataResponse\n} from '@txnlab/use-wallet'\nimport algosdk from 'algosdk'\nimport { computed, inject, ref } from 'vue'\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.walletKey]\n return {\n id: wallet.id,\n walletKey: wallet.walletKey,\n metadata: wallet.metadata,\n accounts: walletState?.accounts ?? [],\n activeAccount: walletState?.activeAccount ?? null,\n isConnected: !!walletState,\n isActive: wallet.walletKey === activeWalletId.value,\n canSignData: wallet.canSignData ?? false,\n canUsePrivateKey: wallet.canUsePrivateKey ?? false,\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 activeNetwork = useStore(manager.store, (state) => state.activeNetwork)\n\n const availableWallets = computed(() => {\n // Access activeNetwork.value to trigger recomputation on network change\n void activeNetwork.value\n return manager.availableWallets.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.walletKey] || 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 const signData = (data: string, metadata: StdSignMetadata): Promise<StdSignDataResponse> => {\n if (!activeBaseWallet.value) {\n throw new Error('No active wallet')\n }\n return activeBaseWallet.value.signData(data, metadata)\n }\n\n const withPrivateKey = <T>(callback: (secretKey: Uint8Array) => Promise<T>): Promise<T> => {\n if (!activeBaseWallet.value) {\n throw new Error('No active wallet')\n }\n return activeBaseWallet.value.withPrivateKey(callback)\n }\n\n return {\n wallets,\n availableWallets,\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 signData,\n withPrivateKey,\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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"}
|
package/package.json
CHANGED
|
@@ -1,84 +1,55 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@txnlab/use-wallet-vue",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "5.0.0-rc.2",
|
|
4
|
+
"publishConfig": {
|
|
5
|
+
"access": "public",
|
|
6
|
+
"provenance": true
|
|
7
|
+
},
|
|
4
8
|
"description": "Vue library for integrating Algorand wallets into decentralized applications",
|
|
5
9
|
"author": "Doug Richar <drichar@gmail.com>",
|
|
6
10
|
"license": "MIT",
|
|
7
11
|
"repository": {
|
|
8
12
|
"type": "git",
|
|
9
|
-
"url": "https://github.com/
|
|
10
|
-
"directory": "packages/
|
|
13
|
+
"url": "git+https://github.com/TxnLab/use-wallet.git",
|
|
14
|
+
"directory": "packages/frameworks/vue"
|
|
11
15
|
},
|
|
12
16
|
"type": "module",
|
|
13
|
-
"main": "./dist/index.
|
|
14
|
-
"module": "./dist/index.js",
|
|
15
|
-
"exports": "./dist/index.js",
|
|
17
|
+
"main": "./dist/index.js",
|
|
16
18
|
"types": "./dist/index.d.ts",
|
|
19
|
+
"exports": {
|
|
20
|
+
".": {
|
|
21
|
+
"types": "./dist/index.d.ts",
|
|
22
|
+
"default": "./dist/index.js"
|
|
23
|
+
}
|
|
24
|
+
},
|
|
17
25
|
"keywords": [
|
|
18
26
|
"algorand",
|
|
19
27
|
"wallet",
|
|
20
|
-
"walletconnect",
|
|
21
|
-
"pera",
|
|
22
|
-
"defly",
|
|
23
|
-
"exodus",
|
|
24
|
-
"algosdk",
|
|
25
|
-
"algokit",
|
|
26
|
-
"kmd",
|
|
27
28
|
"vue"
|
|
28
29
|
],
|
|
29
30
|
"files": [
|
|
30
31
|
"dist"
|
|
31
32
|
],
|
|
32
33
|
"dependencies": {
|
|
33
|
-
"@tanstack/vue-store": "0.
|
|
34
|
-
"@txnlab/use-wallet": "
|
|
34
|
+
"@tanstack/vue-store": "0.9.1",
|
|
35
|
+
"@txnlab/use-wallet": "5.0.0-rc.2"
|
|
35
36
|
},
|
|
36
37
|
"devDependencies": {
|
|
37
38
|
"algosdk": "3.5.2",
|
|
38
|
-
"
|
|
39
|
+
"tsdown": "0.21.0",
|
|
39
40
|
"typescript": "5.9.3",
|
|
40
41
|
"vue": "3.5.27"
|
|
41
42
|
},
|
|
42
43
|
"peerDependencies": {
|
|
43
|
-
"@blockshake/defly-connect": "^1.2.1",
|
|
44
|
-
"@magic-ext/algorand": "^24.4.2",
|
|
45
|
-
"@perawallet/connect": "^1.4.1",
|
|
46
|
-
"@walletconnect/modal": "^2.7.0",
|
|
47
|
-
"@walletconnect/sign-client": "^2.23.4",
|
|
48
44
|
"algosdk": "^3.0.0",
|
|
49
|
-
"lute-connect": "^1.6.3",
|
|
50
|
-
"magic-sdk": "^29.4.2",
|
|
51
45
|
"vue": "^3.0.0"
|
|
52
46
|
},
|
|
53
|
-
"peerDependenciesMeta": {
|
|
54
|
-
"@blockshake/defly-connect": {
|
|
55
|
-
"optional": true
|
|
56
|
-
},
|
|
57
|
-
"@magic-ext/algorand": {
|
|
58
|
-
"optional": true
|
|
59
|
-
},
|
|
60
|
-
"@perawallet/connect": {
|
|
61
|
-
"optional": true
|
|
62
|
-
},
|
|
63
|
-
"@walletconnect/modal": {
|
|
64
|
-
"optional": true
|
|
65
|
-
},
|
|
66
|
-
"@walletconnect/sign-client": {
|
|
67
|
-
"optional": true
|
|
68
|
-
},
|
|
69
|
-
"lute-connect": {
|
|
70
|
-
"optional": true
|
|
71
|
-
},
|
|
72
|
-
"magic-sdk": {
|
|
73
|
-
"optional": true
|
|
74
|
-
}
|
|
75
|
-
},
|
|
76
47
|
"scripts": {
|
|
77
|
-
"build": "
|
|
78
|
-
"start": "
|
|
48
|
+
"build": "tsdown",
|
|
49
|
+
"start": "tsdown --watch",
|
|
79
50
|
"test": "vitest run",
|
|
80
51
|
"test:watch": "vitest --watch",
|
|
81
|
-
"lint": "eslint
|
|
52
|
+
"lint": "eslint \"src/**/*.{js,ts}\"",
|
|
82
53
|
"typecheck": "tsc --noEmit"
|
|
83
54
|
}
|
|
84
55
|
}
|
package/dist/index.cjs
DELETED
|
@@ -1,244 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __create = Object.create;
|
|
3
|
-
var __defProp = Object.defineProperty;
|
|
4
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
-
var __export = (target, all) => {
|
|
9
|
-
for (var name in all)
|
|
10
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
-
};
|
|
12
|
-
var __copyProps = (to, from, except, desc) => {
|
|
13
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
-
for (let key of __getOwnPropNames(from))
|
|
15
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
-
}
|
|
18
|
-
return to;
|
|
19
|
-
};
|
|
20
|
-
var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
|
|
21
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
22
|
-
// If the importer is in node compatibility mode or this is not an ESM
|
|
23
|
-
// file that has been converted to a CommonJS file using a Babel-
|
|
24
|
-
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
25
|
-
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
26
|
-
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
27
|
-
mod
|
|
28
|
-
));
|
|
29
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
30
|
-
|
|
31
|
-
// src/index.ts
|
|
32
|
-
var index_exports = {};
|
|
33
|
-
__export(index_exports, {
|
|
34
|
-
WalletManagerPlugin: () => WalletManagerPlugin,
|
|
35
|
-
useNetwork: () => useNetwork,
|
|
36
|
-
useWallet: () => useWallet
|
|
37
|
-
});
|
|
38
|
-
module.exports = __toCommonJS(index_exports);
|
|
39
|
-
__reExport(index_exports, require("@txnlab/use-wallet"), module.exports);
|
|
40
|
-
|
|
41
|
-
// src/walletManagerPlugin.ts
|
|
42
|
-
var import_use_wallet = require("@txnlab/use-wallet");
|
|
43
|
-
var import_vue = require("vue");
|
|
44
|
-
var WalletManagerPlugin = {
|
|
45
|
-
install(app, options) {
|
|
46
|
-
const manager = new import_use_wallet.WalletManager(options);
|
|
47
|
-
const algodClient = (0, import_vue.ref)(manager.algodClient);
|
|
48
|
-
const setAlgodClient = (client) => {
|
|
49
|
-
algodClient.value = client;
|
|
50
|
-
manager.algodClient = client;
|
|
51
|
-
};
|
|
52
|
-
app.provide("walletManager", manager);
|
|
53
|
-
app.provide("algodClient", algodClient);
|
|
54
|
-
app.provide("setAlgodClient", setAlgodClient);
|
|
55
|
-
manager.resumeSessions().catch((error) => {
|
|
56
|
-
console.error("Error resuming sessions:", error);
|
|
57
|
-
});
|
|
58
|
-
}
|
|
59
|
-
};
|
|
60
|
-
|
|
61
|
-
// src/useWallet.ts
|
|
62
|
-
var import_vue_store = require("@tanstack/vue-store");
|
|
63
|
-
var import_use_wallet2 = require("@txnlab/use-wallet");
|
|
64
|
-
var import_algosdk = require("algosdk");
|
|
65
|
-
var import_vue2 = require("vue");
|
|
66
|
-
function useWallet() {
|
|
67
|
-
const manager = (0, import_vue2.inject)("walletManager");
|
|
68
|
-
const algodClient = (0, import_vue2.inject)("algodClient");
|
|
69
|
-
if (!manager) {
|
|
70
|
-
throw new Error("WalletManager plugin is not properly installed");
|
|
71
|
-
}
|
|
72
|
-
if (!algodClient) {
|
|
73
|
-
throw new Error("Algod client not properly installed");
|
|
74
|
-
}
|
|
75
|
-
const managerStatus = (0, import_vue_store.useStore)(manager.store, (state) => state.managerStatus);
|
|
76
|
-
const isReady = (0, import_vue2.computed)(() => managerStatus.value === "ready");
|
|
77
|
-
const walletStateMap = (0, import_vue_store.useStore)(manager.store, (state) => state.wallets);
|
|
78
|
-
const activeWalletId = (0, import_vue_store.useStore)(manager.store, (state) => state.activeWallet);
|
|
79
|
-
const transformToWallet = (wallet) => {
|
|
80
|
-
const walletState = walletStateMap.value[wallet.walletKey];
|
|
81
|
-
return {
|
|
82
|
-
id: wallet.id,
|
|
83
|
-
walletKey: wallet.walletKey,
|
|
84
|
-
metadata: wallet.metadata,
|
|
85
|
-
accounts: walletState?.accounts ?? [],
|
|
86
|
-
activeAccount: walletState?.activeAccount ?? null,
|
|
87
|
-
isConnected: !!walletState,
|
|
88
|
-
isActive: wallet.walletKey === activeWalletId.value,
|
|
89
|
-
canSignData: wallet.canSignData ?? false,
|
|
90
|
-
canUsePrivateKey: wallet.canUsePrivateKey ?? false,
|
|
91
|
-
connect: (args) => wallet.connect(args),
|
|
92
|
-
disconnect: () => wallet.disconnect(),
|
|
93
|
-
setActive: () => wallet.setActive(),
|
|
94
|
-
setActiveAccount: (addr) => wallet.setActiveAccount(addr)
|
|
95
|
-
};
|
|
96
|
-
};
|
|
97
|
-
const wallets = (0, import_vue2.computed)(() => {
|
|
98
|
-
return [...manager.wallets.values()].map(transformToWallet);
|
|
99
|
-
});
|
|
100
|
-
const activeWallet = (0, import_vue2.computed)(() => {
|
|
101
|
-
const wallet = activeWalletId.value ? manager.getWallet(activeWalletId.value) || null : null;
|
|
102
|
-
return wallet ? transformToWallet(wallet) : null;
|
|
103
|
-
});
|
|
104
|
-
const activeBaseWallet = (0, import_vue2.computed)(() => {
|
|
105
|
-
return activeWalletId.value ? manager.getWallet(activeWalletId.value) || null : null;
|
|
106
|
-
});
|
|
107
|
-
const activeWalletState = (0, import_vue2.computed)(() => {
|
|
108
|
-
const wallet = activeWallet.value;
|
|
109
|
-
return wallet ? walletStateMap.value[wallet.walletKey] || null : null;
|
|
110
|
-
});
|
|
111
|
-
const activeWalletAccounts = (0, import_vue2.computed)(() => {
|
|
112
|
-
return activeWalletState.value?.accounts ?? null;
|
|
113
|
-
});
|
|
114
|
-
const activeWalletAddresses = (0, import_vue2.computed)(() => {
|
|
115
|
-
return activeWalletAccounts.value?.map((account) => account.address) ?? null;
|
|
116
|
-
});
|
|
117
|
-
const activeAccount = (0, import_vue2.computed)(() => {
|
|
118
|
-
return activeWalletState.value?.activeAccount ?? null;
|
|
119
|
-
});
|
|
120
|
-
const activeAddress = (0, import_vue2.computed)(() => {
|
|
121
|
-
return activeAccount.value?.address ?? null;
|
|
122
|
-
});
|
|
123
|
-
const signTransactions = (txnGroup, indexesToSign) => {
|
|
124
|
-
if (!activeBaseWallet.value) {
|
|
125
|
-
throw new Error("No active wallet");
|
|
126
|
-
}
|
|
127
|
-
return activeBaseWallet.value.signTransactions(txnGroup, indexesToSign);
|
|
128
|
-
};
|
|
129
|
-
const transactionSigner = (txnGroup, indexesToSign) => {
|
|
130
|
-
if (!activeBaseWallet.value) {
|
|
131
|
-
throw new Error("No active wallet");
|
|
132
|
-
}
|
|
133
|
-
return activeBaseWallet.value.transactionSigner(txnGroup, indexesToSign);
|
|
134
|
-
};
|
|
135
|
-
const signData = (data, metadata) => {
|
|
136
|
-
if (!activeBaseWallet.value) {
|
|
137
|
-
throw new Error("No active wallet");
|
|
138
|
-
}
|
|
139
|
-
return activeBaseWallet.value.signData(data, metadata);
|
|
140
|
-
};
|
|
141
|
-
const withPrivateKey = (callback) => {
|
|
142
|
-
if (!activeBaseWallet.value) {
|
|
143
|
-
throw new Error("No active wallet");
|
|
144
|
-
}
|
|
145
|
-
return activeBaseWallet.value.withPrivateKey(callback);
|
|
146
|
-
};
|
|
147
|
-
return {
|
|
148
|
-
wallets,
|
|
149
|
-
isReady,
|
|
150
|
-
algodClient: (0, import_vue2.computed)(() => {
|
|
151
|
-
if (!algodClient.value) {
|
|
152
|
-
throw new Error("Algod client is undefined");
|
|
153
|
-
}
|
|
154
|
-
return algodClient.value;
|
|
155
|
-
}),
|
|
156
|
-
activeWallet,
|
|
157
|
-
activeWalletAccounts,
|
|
158
|
-
activeWalletAddresses,
|
|
159
|
-
activeAccount,
|
|
160
|
-
activeAddress,
|
|
161
|
-
signData,
|
|
162
|
-
withPrivateKey,
|
|
163
|
-
signTransactions,
|
|
164
|
-
transactionSigner
|
|
165
|
-
};
|
|
166
|
-
}
|
|
167
|
-
|
|
168
|
-
// src/useNetwork.ts
|
|
169
|
-
var import_vue_store2 = require("@tanstack/vue-store");
|
|
170
|
-
var import_use_wallet3 = require("@txnlab/use-wallet");
|
|
171
|
-
var import_algosdk2 = __toESM(require("algosdk"), 1);
|
|
172
|
-
var import_vue3 = require("vue");
|
|
173
|
-
function useNetwork() {
|
|
174
|
-
const manager = (0, import_vue3.inject)("walletManager");
|
|
175
|
-
const algodClient = (0, import_vue3.inject)("algodClient");
|
|
176
|
-
const setAlgodClient = (0, import_vue3.inject)("setAlgodClient");
|
|
177
|
-
if (!manager) {
|
|
178
|
-
throw new Error("WalletManager plugin is not properly installed");
|
|
179
|
-
}
|
|
180
|
-
if (!algodClient || !setAlgodClient) {
|
|
181
|
-
throw new Error("Algod client or setter not properly installed");
|
|
182
|
-
}
|
|
183
|
-
const activeNetwork = (0, import_vue_store2.useStore)(manager.store, (state) => state.activeNetwork);
|
|
184
|
-
const networkConfig = (0, import_vue_store2.useStore)(manager.store, (state) => ({
|
|
185
|
-
networks: { ...manager.networkConfig },
|
|
186
|
-
activeNetwork: state.activeNetwork
|
|
187
|
-
}));
|
|
188
|
-
const activeNetworkConfig = (0, import_vue3.computed)(
|
|
189
|
-
() => networkConfig.value.networks[networkConfig.value.activeNetwork]
|
|
190
|
-
);
|
|
191
|
-
const setActiveNetwork = async (networkId) => {
|
|
192
|
-
if (networkId === activeNetwork.value) {
|
|
193
|
-
return;
|
|
194
|
-
}
|
|
195
|
-
if (!manager.networkConfig[networkId]) {
|
|
196
|
-
throw new Error(`Network "${networkId}" not found in network configuration`);
|
|
197
|
-
}
|
|
198
|
-
console.info(`[Vue] Creating new Algodv2 client...`);
|
|
199
|
-
const { algod } = manager.networkConfig[networkId];
|
|
200
|
-
const { token = "", baseServer, port = "", headers = {} } = algod;
|
|
201
|
-
const newClient = new import_algosdk2.default.Algodv2(token, baseServer, port, headers);
|
|
202
|
-
await manager.setActiveNetwork(networkId);
|
|
203
|
-
setAlgodClient(newClient);
|
|
204
|
-
console.info(`[Vue] \u2705 Active network set to ${networkId}.`);
|
|
205
|
-
};
|
|
206
|
-
const updateAlgodConfig = (networkId, config) => {
|
|
207
|
-
manager.updateAlgodConfig(networkId, config);
|
|
208
|
-
manager.store.setState((state) => ({ ...state }));
|
|
209
|
-
if (networkId === activeNetwork.value) {
|
|
210
|
-
console.info(`[Vue] Creating new Algodv2 client...`);
|
|
211
|
-
const { algod } = manager.networkConfig[networkId];
|
|
212
|
-
const { token = "", baseServer, port = "", headers = {} } = algod;
|
|
213
|
-
const newClient = new import_algosdk2.default.Algodv2(token, baseServer, port, headers);
|
|
214
|
-
setAlgodClient(newClient);
|
|
215
|
-
}
|
|
216
|
-
};
|
|
217
|
-
const resetNetworkConfig = (networkId) => {
|
|
218
|
-
manager.resetNetworkConfig(networkId);
|
|
219
|
-
manager.store.setState((state) => ({ ...state }));
|
|
220
|
-
if (networkId === activeNetwork.value) {
|
|
221
|
-
console.info(`[Vue] Creating new Algodv2 client...`);
|
|
222
|
-
const { algod } = manager.networkConfig[networkId];
|
|
223
|
-
const { token = "", baseServer, port = "", headers = {} } = algod;
|
|
224
|
-
const newClient = new import_algosdk2.default.Algodv2(token, baseServer, port, headers);
|
|
225
|
-
setAlgodClient(newClient);
|
|
226
|
-
}
|
|
227
|
-
};
|
|
228
|
-
return {
|
|
229
|
-
activeNetwork,
|
|
230
|
-
networkConfig: manager.networkConfig,
|
|
231
|
-
activeNetworkConfig,
|
|
232
|
-
setActiveNetwork,
|
|
233
|
-
updateAlgodConfig,
|
|
234
|
-
resetNetworkConfig
|
|
235
|
-
};
|
|
236
|
-
}
|
|
237
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
238
|
-
0 && (module.exports = {
|
|
239
|
-
WalletManagerPlugin,
|
|
240
|
-
useNetwork,
|
|
241
|
-
useWallet,
|
|
242
|
-
...require("@txnlab/use-wallet")
|
|
243
|
-
});
|
|
244
|
-
//# sourceMappingURL=index.cjs.map
|
package/dist/index.cjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
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 WalletKey,\n type WalletMetadata,\n type WalletId,\n type SignMetadata,\n type SignDataResponse\n} from '@txnlab/use-wallet'\nimport algosdk from 'algosdk'\nimport { computed, inject, ref } from 'vue'\n\nexport interface Wallet {\n id: WalletId\n /** Unique key for this wallet instance. Used for skinned WalletConnect instances. */\n walletKey: WalletKey\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 canSignData: boolean\n canUsePrivateKey: boolean\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.walletKey]\n return {\n id: wallet.id,\n walletKey: wallet.walletKey,\n metadata: wallet.metadata,\n accounts: walletState?.accounts ?? [],\n activeAccount: walletState?.activeAccount ?? null,\n isConnected: !!walletState,\n isActive: wallet.walletKey === activeWalletId.value,\n canSignData: wallet.canSignData ?? false,\n canUsePrivateKey: wallet.canUsePrivateKey ?? false,\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.walletKey] || 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 const signData = (data: string, metadata: SignMetadata): Promise<SignDataResponse> => {\n if (!activeBaseWallet.value) {\n throw new Error('No active wallet')\n }\n return activeBaseWallet.value.signData(data, metadata)\n }\n\n const withPrivateKey = <T>(callback: (secretKey: Uint8Array) => Promise<T>): Promise<T> => {\n if (!activeBaseWallet.value) {\n throw new Error('No active wallet')\n }\n return activeBaseWallet.value.withPrivateKey(callback)\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 signData,\n withPrivateKey,\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
DELETED
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
import * as _txnlab_use_wallet from '@txnlab/use-wallet';
|
|
2
|
-
import { WalletManagerConfig, WalletId, WalletKey, WalletMetadata, WalletAccount, SignMetadata, SignDataResponse, AlgodConfig } from '@txnlab/use-wallet';
|
|
3
|
-
export * from '@txnlab/use-wallet';
|
|
4
|
-
import * as vue from 'vue';
|
|
5
|
-
import algosdk from 'algosdk';
|
|
6
|
-
|
|
7
|
-
declare const WalletManagerPlugin: {
|
|
8
|
-
install(app: any, options: WalletManagerConfig): void;
|
|
9
|
-
};
|
|
10
|
-
|
|
11
|
-
interface Wallet {
|
|
12
|
-
id: WalletId;
|
|
13
|
-
/** Unique key for this wallet instance. Used for skinned WalletConnect instances. */
|
|
14
|
-
walletKey: WalletKey;
|
|
15
|
-
metadata: WalletMetadata;
|
|
16
|
-
accounts: WalletAccount[];
|
|
17
|
-
activeAccount: WalletAccount | null;
|
|
18
|
-
isConnected: boolean;
|
|
19
|
-
isActive: boolean;
|
|
20
|
-
connect: (args?: Record<string, any>) => Promise<WalletAccount[]>;
|
|
21
|
-
disconnect: () => Promise<void>;
|
|
22
|
-
setActive: () => void;
|
|
23
|
-
setActiveAccount: (address: string) => void;
|
|
24
|
-
canSignData: boolean;
|
|
25
|
-
canUsePrivateKey: boolean;
|
|
26
|
-
}
|
|
27
|
-
declare function useWallet(): {
|
|
28
|
-
wallets: vue.ComputedRef<Wallet[]>;
|
|
29
|
-
isReady: vue.ComputedRef<boolean>;
|
|
30
|
-
algodClient: vue.ComputedRef<algosdk.Algodv2>;
|
|
31
|
-
activeWallet: vue.ComputedRef<Wallet | null>;
|
|
32
|
-
activeWalletAccounts: vue.ComputedRef<WalletAccount[] | null>;
|
|
33
|
-
activeWalletAddresses: vue.ComputedRef<string[] | null>;
|
|
34
|
-
activeAccount: vue.ComputedRef<WalletAccount | null>;
|
|
35
|
-
activeAddress: vue.ComputedRef<string | null>;
|
|
36
|
-
signData: (data: string, metadata: SignMetadata) => Promise<SignDataResponse>;
|
|
37
|
-
withPrivateKey: <T>(callback: (secretKey: Uint8Array) => Promise<T>) => Promise<T>;
|
|
38
|
-
signTransactions: <T extends algosdk.Transaction[] | Uint8Array[]>(txnGroup: T | T[], indexesToSign?: number[]) => Promise<(Uint8Array | null)[]>;
|
|
39
|
-
transactionSigner: (txnGroup: algosdk.Transaction[], indexesToSign: number[]) => Promise<Uint8Array[]>;
|
|
40
|
-
};
|
|
41
|
-
|
|
42
|
-
declare function useNetwork(): {
|
|
43
|
-
activeNetwork: Readonly<vue.Ref<string, string>>;
|
|
44
|
-
networkConfig: Record<string, _txnlab_use_wallet.NetworkConfig>;
|
|
45
|
-
activeNetworkConfig: vue.ComputedRef<_txnlab_use_wallet.NetworkConfig>;
|
|
46
|
-
setActiveNetwork: (networkId: string) => Promise<void>;
|
|
47
|
-
updateAlgodConfig: (networkId: string, config: Partial<AlgodConfig>) => void;
|
|
48
|
-
resetNetworkConfig: (networkId: string) => void;
|
|
49
|
-
};
|
|
50
|
-
|
|
51
|
-
export { type Wallet, WalletManagerPlugin, useNetwork, useWallet };
|