@txnlab/use-wallet-svelte 4.3.0 → 4.4.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 +8 -7
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +3 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.js +8 -7
- package/dist/index.js.map +1 -1
- package/package.json +12 -12
package/dist/index.cjs
CHANGED
|
@@ -121,10 +121,11 @@ var useWallet = () => {
|
|
|
121
121
|
const transformToWallet = (wallet) => {
|
|
122
122
|
return {
|
|
123
123
|
id: wallet.id,
|
|
124
|
+
walletKey: wallet.walletKey,
|
|
124
125
|
metadata: wallet.metadata,
|
|
125
|
-
accounts: (0, import_svelte_store.useStore)(manager.store, (state) => state.wallets[wallet.
|
|
126
|
-
isConnected: () => !!walletStore.current[wallet.
|
|
127
|
-
isActive: () => wallet.
|
|
126
|
+
accounts: (0, import_svelte_store.useStore)(manager.store, (state) => state.wallets[wallet.walletKey]?.accounts),
|
|
127
|
+
isConnected: () => !!walletStore.current[wallet.walletKey],
|
|
128
|
+
isActive: () => wallet.walletKey === activeWalletId.current,
|
|
128
129
|
canSignData: wallet.canSignData ?? false,
|
|
129
130
|
connect: (args) => wallet.connect(args),
|
|
130
131
|
disconnect: () => wallet.disconnect(),
|
|
@@ -137,7 +138,7 @@ var useWallet = () => {
|
|
|
137
138
|
const managerStatus = (0, import_svelte_store.useStore)(manager.store, (state) => state.managerStatus);
|
|
138
139
|
const isReady = () => managerStatus.current === "ready";
|
|
139
140
|
const algodClient = (0, import_svelte_store.useStore)(manager.store, (state) => state.algodClient);
|
|
140
|
-
const activeWallet = () => wallets.find((w) => w.
|
|
141
|
+
const activeWallet = () => wallets.find((w) => w.walletKey === activeWalletId.current);
|
|
141
142
|
const activeWalletAccounts = (0, import_svelte_store.useStore)(
|
|
142
143
|
manager.store,
|
|
143
144
|
(state) => state.wallets[activeWalletId.current]?.accounts
|
|
@@ -155,21 +156,21 @@ var useWallet = () => {
|
|
|
155
156
|
(state) => state.wallets[activeWalletId.current]?.activeAccount?.address
|
|
156
157
|
);
|
|
157
158
|
const signTransactions = (txnGroup, indexesToSign) => {
|
|
158
|
-
const wallet = manager.wallets.find((w) => w.
|
|
159
|
+
const wallet = manager.wallets.find((w) => w.walletKey === activeWalletId.current);
|
|
159
160
|
if (!wallet) {
|
|
160
161
|
throw new Error("No active wallet");
|
|
161
162
|
}
|
|
162
163
|
return wallet.signTransactions(txnGroup, indexesToSign);
|
|
163
164
|
};
|
|
164
165
|
const transactionSigner = (txnGroup, indexesToSign) => {
|
|
165
|
-
const wallet = manager.wallets.find((w) => w.
|
|
166
|
+
const wallet = manager.wallets.find((w) => w.walletKey === activeWalletId.current);
|
|
166
167
|
if (!wallet) {
|
|
167
168
|
throw new Error("No active wallet");
|
|
168
169
|
}
|
|
169
170
|
return wallet.transactionSigner(txnGroup, indexesToSign);
|
|
170
171
|
};
|
|
171
172
|
const signData = (data, metadata) => {
|
|
172
|
-
const wallet = manager.wallets.find((w) => w.
|
|
173
|
+
const wallet = manager.wallets.find((w) => w.walletKey === activeWalletId.current);
|
|
173
174
|
if (!wallet) {
|
|
174
175
|
throw new Error("No active wallet");
|
|
175
176
|
}
|
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts"],"sourcesContent":["import { useStore } from '@tanstack/svelte-store'\nimport algosdk from 'algosdk'\nimport { getContext, setContext } from 'svelte'\nimport {\n type AlgodConfig,\n BaseWallet,\n NetworkId,\n type SignDataResponse,\n type SignMetadata,\n WalletAccount,\n WalletId,\n WalletManager,\n WalletMetadata\n} from '@txnlab/use-wallet'\n\nexport * from '@txnlab/use-wallet'\n\nexport const useWalletContext = (manager: WalletManager) => {\n setContext('walletManager', manager)\n\n manager.resumeSessions().catch((error) => {\n console.error('Error resuming sessions:', error)\n })\n}\n\nexport const useWalletManager = (): WalletManager => {\n const manager: WalletManager = getContext('walletManager')\n if (!manager) {\n throw new Error('useWalletManager must be used within a useWalletContext')\n }\n return manager\n}\n\nexport const useNetwork = () => {\n const manager = useWalletManager()\n const activeNetwork = useStore(manager.store, (state) => state.activeNetwork)\n const activeNetworkConfig = useStore(\n manager.store,\n (state) => state.networkConfig[activeNetwork.current]\n )\n\n const setActiveNetwork = async (networkId: NetworkId | string): Promise<void> => {\n if (networkId === activeNetwork.current) {\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(`[Svelte] 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\n manager.store.setState((state) => ({\n ...state,\n activeNetwork: networkId,\n algodClient: newClient\n }))\n\n console.info(`[Svelte] ✅ Active network set to ${networkId}.`)\n }\n\n const updateAlgodConfig = (networkId: string, config: Partial<AlgodConfig>): void => {\n manager.updateAlgodConfig(networkId, config)\n\n // If this is the active network, update the algodClient\n if (networkId === activeNetwork.current) {\n console.info(`[Svelte] 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\n manager.store.setState((state) => ({\n ...state,\n algodClient: newClient\n }))\n }\n }\n\n const resetNetworkConfig = (networkId: string): void => {\n manager.resetNetworkConfig(networkId)\n\n // If this is the active network, update the algodClient\n if (networkId === activeNetwork.current) {\n console.info(`[Svelte] 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\n manager.store.setState((state) => ({\n ...state,\n algodClient: newClient\n }))\n }\n }\n\n return {\n activeNetwork,\n networkConfig: manager.networkConfig,\n activeNetworkConfig,\n setActiveNetwork,\n updateAlgodConfig,\n resetNetworkConfig\n }\n}\n\nexport interface Wallet {\n id: WalletId\n metadata: WalletMetadata\n accounts: { current: WalletAccount[] | undefined }\n isConnected: () => boolean\n isActive: () => boolean\n canSignData: boolean\n connect: (args?: Record<string, any>) => Promise<WalletAccount[]>\n disconnect: () => Promise<void>\n setActive: () => void\n setActiveAccount: (address: string) => void\n}\n\nexport const useWallet = () => {\n const manager = useWalletManager()\n const walletStore = useStore(manager.store, (state) => state.wallets)\n\n const transformToWallet = (wallet: BaseWallet): Wallet => {\n return {\n id: wallet.id,\n metadata: wallet.metadata,\n accounts: useStore(manager.store, (state) => state.wallets[wallet.id]?.accounts),\n isConnected: () => !!walletStore.current[wallet.id],\n isActive: () => wallet.id === activeWalletId.current,\n canSignData: wallet.canSignData ?? 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 = [...manager.wallets].map(transformToWallet)\n const activeWalletId = useStore(manager.store, (state) => state.activeWallet)\n const managerStatus = useStore(manager.store, (state) => state.managerStatus)\n const isReady = () => managerStatus.current === 'ready'\n const algodClient = useStore(manager.store, (state) => state.algodClient)\n const activeWallet = () => wallets.find((w) => w.id === activeWalletId.current)\n const activeWalletAccounts = useStore(\n manager.store,\n (state) => state.wallets[activeWalletId.current!]?.accounts\n )\n const activeWalletAddresses = useStore(manager.store, (state) =>\n state.wallets[activeWalletId.current!]?.accounts.map((account) => account.address)\n )\n const activeAccount = useStore(\n manager.store,\n (state) => state.wallets[activeWalletId.current!]?.activeAccount\n )\n const activeAddress = useStore(\n manager.store,\n (state) => state.wallets[activeWalletId.current!]?.activeAccount?.address\n )\n\n const signTransactions = <T extends algosdk.Transaction[] | Uint8Array[]>(\n txnGroup: T | T[],\n indexesToSign?: number[]\n ): Promise<(Uint8Array | null)[]> => {\n const wallet = manager.wallets.find((w) => w.id === activeWalletId.current)\n if (!wallet) {\n throw new Error('No active wallet')\n }\n return wallet.signTransactions(txnGroup, indexesToSign)\n }\n\n const transactionSigner = (\n txnGroup: algosdk.Transaction[],\n indexesToSign: number[]\n ): Promise<Uint8Array[]> => {\n const wallet = manager.wallets.find((w) => w.id === activeWalletId.current)\n if (!wallet) {\n throw new Error('No active wallet')\n }\n return wallet.transactionSigner(txnGroup, indexesToSign)\n }\n\n const signData = (data: string, metadata: SignMetadata): Promise<SignDataResponse> => {\n const wallet = manager.wallets.find((w) => w.id === activeWalletId.current)\n if (!wallet) {\n throw new Error('No active wallet')\n }\n return wallet.signData(data, metadata)\n }\n\n return {\n wallets,\n isReady,\n algodClient,\n activeWallet,\n activeWalletAccounts,\n activeWalletAddresses,\n activeAccount,\n activeAddress,\n signData,\n signTransactions,\n transactionSigner\n }\n}\n"],"mappings":"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","names":["algosdk"]}
|
|
1
|
+
{"version":3,"sources":["../src/index.ts"],"sourcesContent":["import { useStore } from '@tanstack/svelte-store'\nimport algosdk from 'algosdk'\nimport { getContext, setContext } from 'svelte'\nimport {\n type AlgodConfig,\n BaseWallet,\n NetworkId,\n type SignDataResponse,\n type SignMetadata,\n WalletAccount,\n WalletId,\n type WalletKey,\n WalletManager,\n WalletMetadata\n} from '@txnlab/use-wallet'\n\nexport * from '@txnlab/use-wallet'\n\nexport const useWalletContext = (manager: WalletManager) => {\n setContext('walletManager', manager)\n\n manager.resumeSessions().catch((error) => {\n console.error('Error resuming sessions:', error)\n })\n}\n\nexport const useWalletManager = (): WalletManager => {\n const manager: WalletManager = getContext('walletManager')\n if (!manager) {\n throw new Error('useWalletManager must be used within a useWalletContext')\n }\n return manager\n}\n\nexport const useNetwork = () => {\n const manager = useWalletManager()\n const activeNetwork = useStore(manager.store, (state) => state.activeNetwork)\n const activeNetworkConfig = useStore(\n manager.store,\n (state) => state.networkConfig[activeNetwork.current]\n )\n\n const setActiveNetwork = async (networkId: NetworkId | string): Promise<void> => {\n if (networkId === activeNetwork.current) {\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(`[Svelte] 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\n manager.store.setState((state) => ({\n ...state,\n activeNetwork: networkId,\n algodClient: newClient\n }))\n\n console.info(`[Svelte] ✅ Active network set to ${networkId}.`)\n }\n\n const updateAlgodConfig = (networkId: string, config: Partial<AlgodConfig>): void => {\n manager.updateAlgodConfig(networkId, config)\n\n // If this is the active network, update the algodClient\n if (networkId === activeNetwork.current) {\n console.info(`[Svelte] 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\n manager.store.setState((state) => ({\n ...state,\n algodClient: newClient\n }))\n }\n }\n\n const resetNetworkConfig = (networkId: string): void => {\n manager.resetNetworkConfig(networkId)\n\n // If this is the active network, update the algodClient\n if (networkId === activeNetwork.current) {\n console.info(`[Svelte] 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\n manager.store.setState((state) => ({\n ...state,\n algodClient: newClient\n }))\n }\n }\n\n return {\n activeNetwork,\n networkConfig: manager.networkConfig,\n activeNetworkConfig,\n setActiveNetwork,\n updateAlgodConfig,\n resetNetworkConfig\n }\n}\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: { current: WalletAccount[] | undefined }\n isConnected: () => boolean\n isActive: () => boolean\n canSignData: boolean\n connect: (args?: Record<string, any>) => Promise<WalletAccount[]>\n disconnect: () => Promise<void>\n setActive: () => void\n setActiveAccount: (address: string) => void\n}\n\nexport const useWallet = () => {\n const manager = useWalletManager()\n const walletStore = useStore(manager.store, (state) => state.wallets)\n\n const transformToWallet = (wallet: BaseWallet): Wallet => {\n return {\n id: wallet.id,\n walletKey: wallet.walletKey,\n metadata: wallet.metadata,\n accounts: useStore(manager.store, (state) => state.wallets[wallet.walletKey]?.accounts),\n isConnected: () => !!walletStore.current[wallet.walletKey],\n isActive: () => wallet.walletKey === activeWalletId.current,\n canSignData: wallet.canSignData ?? 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 = [...manager.wallets].map(transformToWallet)\n const activeWalletId = useStore(manager.store, (state) => state.activeWallet)\n const managerStatus = useStore(manager.store, (state) => state.managerStatus)\n const isReady = () => managerStatus.current === 'ready'\n const algodClient = useStore(manager.store, (state) => state.algodClient)\n const activeWallet = () => wallets.find((w) => w.walletKey === activeWalletId.current)\n const activeWalletAccounts = useStore(\n manager.store,\n (state) => state.wallets[activeWalletId.current!]?.accounts\n )\n const activeWalletAddresses = useStore(manager.store, (state) =>\n state.wallets[activeWalletId.current!]?.accounts.map((account) => account.address)\n )\n const activeAccount = useStore(\n manager.store,\n (state) => state.wallets[activeWalletId.current!]?.activeAccount\n )\n const activeAddress = useStore(\n manager.store,\n (state) => state.wallets[activeWalletId.current!]?.activeAccount?.address\n )\n\n const signTransactions = <T extends algosdk.Transaction[] | Uint8Array[]>(\n txnGroup: T | T[],\n indexesToSign?: number[]\n ): Promise<(Uint8Array | null)[]> => {\n const wallet = manager.wallets.find((w) => w.walletKey === activeWalletId.current)\n if (!wallet) {\n throw new Error('No active wallet')\n }\n return wallet.signTransactions(txnGroup, indexesToSign)\n }\n\n const transactionSigner = (\n txnGroup: algosdk.Transaction[],\n indexesToSign: number[]\n ): Promise<Uint8Array[]> => {\n const wallet = manager.wallets.find((w) => w.walletKey === activeWalletId.current)\n if (!wallet) {\n throw new Error('No active wallet')\n }\n return wallet.transactionSigner(txnGroup, indexesToSign)\n }\n\n const signData = (data: string, metadata: SignMetadata): Promise<SignDataResponse> => {\n const wallet = manager.wallets.find((w) => w.walletKey === activeWalletId.current)\n if (!wallet) {\n throw new Error('No active wallet')\n }\n return wallet.signData(data, metadata)\n }\n\n return {\n wallets,\n isReady,\n algodClient,\n activeWallet,\n activeWalletAccounts,\n activeWalletAddresses,\n activeAccount,\n activeAddress,\n signData,\n signTransactions,\n transactionSigner\n }\n}\n"],"mappings":"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","names":["algosdk"]}
|
package/dist/index.d.cts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as _txnlab_use_wallet from '@txnlab/use-wallet';
|
|
2
|
-
import { WalletManager, NetworkId, AlgodConfig, WalletId, WalletMetadata, WalletAccount, SignMetadata, SignDataResponse } from '@txnlab/use-wallet';
|
|
2
|
+
import { WalletManager, NetworkId, AlgodConfig, WalletId, WalletKey, WalletMetadata, WalletAccount, SignMetadata, SignDataResponse } from '@txnlab/use-wallet';
|
|
3
3
|
export * from '@txnlab/use-wallet';
|
|
4
4
|
import algosdk from 'algosdk';
|
|
5
5
|
|
|
@@ -19,6 +19,8 @@ declare const useNetwork: () => {
|
|
|
19
19
|
};
|
|
20
20
|
interface Wallet {
|
|
21
21
|
id: WalletId;
|
|
22
|
+
/** Unique key for this wallet instance. Used for skinned WalletConnect instances. */
|
|
23
|
+
walletKey: WalletKey;
|
|
22
24
|
metadata: WalletMetadata;
|
|
23
25
|
accounts: {
|
|
24
26
|
current: WalletAccount[] | undefined;
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as _txnlab_use_wallet from '@txnlab/use-wallet';
|
|
2
|
-
import { WalletManager, NetworkId, AlgodConfig, WalletId, WalletMetadata, WalletAccount, SignMetadata, SignDataResponse } from '@txnlab/use-wallet';
|
|
2
|
+
import { WalletManager, NetworkId, AlgodConfig, WalletId, WalletKey, WalletMetadata, WalletAccount, SignMetadata, SignDataResponse } from '@txnlab/use-wallet';
|
|
3
3
|
export * from '@txnlab/use-wallet';
|
|
4
4
|
import algosdk from 'algosdk';
|
|
5
5
|
|
|
@@ -19,6 +19,8 @@ declare const useNetwork: () => {
|
|
|
19
19
|
};
|
|
20
20
|
interface Wallet {
|
|
21
21
|
id: WalletId;
|
|
22
|
+
/** Unique key for this wallet instance. Used for skinned WalletConnect instances. */
|
|
23
|
+
walletKey: WalletKey;
|
|
22
24
|
metadata: WalletMetadata;
|
|
23
25
|
accounts: {
|
|
24
26
|
current: WalletAccount[] | undefined;
|
package/dist/index.js
CHANGED
|
@@ -83,10 +83,11 @@ var useWallet = () => {
|
|
|
83
83
|
const transformToWallet = (wallet) => {
|
|
84
84
|
return {
|
|
85
85
|
id: wallet.id,
|
|
86
|
+
walletKey: wallet.walletKey,
|
|
86
87
|
metadata: wallet.metadata,
|
|
87
|
-
accounts: useStore(manager.store, (state) => state.wallets[wallet.
|
|
88
|
-
isConnected: () => !!walletStore.current[wallet.
|
|
89
|
-
isActive: () => wallet.
|
|
88
|
+
accounts: useStore(manager.store, (state) => state.wallets[wallet.walletKey]?.accounts),
|
|
89
|
+
isConnected: () => !!walletStore.current[wallet.walletKey],
|
|
90
|
+
isActive: () => wallet.walletKey === activeWalletId.current,
|
|
90
91
|
canSignData: wallet.canSignData ?? false,
|
|
91
92
|
connect: (args) => wallet.connect(args),
|
|
92
93
|
disconnect: () => wallet.disconnect(),
|
|
@@ -99,7 +100,7 @@ var useWallet = () => {
|
|
|
99
100
|
const managerStatus = useStore(manager.store, (state) => state.managerStatus);
|
|
100
101
|
const isReady = () => managerStatus.current === "ready";
|
|
101
102
|
const algodClient = useStore(manager.store, (state) => state.algodClient);
|
|
102
|
-
const activeWallet = () => wallets.find((w) => w.
|
|
103
|
+
const activeWallet = () => wallets.find((w) => w.walletKey === activeWalletId.current);
|
|
103
104
|
const activeWalletAccounts = useStore(
|
|
104
105
|
manager.store,
|
|
105
106
|
(state) => state.wallets[activeWalletId.current]?.accounts
|
|
@@ -117,21 +118,21 @@ var useWallet = () => {
|
|
|
117
118
|
(state) => state.wallets[activeWalletId.current]?.activeAccount?.address
|
|
118
119
|
);
|
|
119
120
|
const signTransactions = (txnGroup, indexesToSign) => {
|
|
120
|
-
const wallet = manager.wallets.find((w) => w.
|
|
121
|
+
const wallet = manager.wallets.find((w) => w.walletKey === activeWalletId.current);
|
|
121
122
|
if (!wallet) {
|
|
122
123
|
throw new Error("No active wallet");
|
|
123
124
|
}
|
|
124
125
|
return wallet.signTransactions(txnGroup, indexesToSign);
|
|
125
126
|
};
|
|
126
127
|
const transactionSigner = (txnGroup, indexesToSign) => {
|
|
127
|
-
const wallet = manager.wallets.find((w) => w.
|
|
128
|
+
const wallet = manager.wallets.find((w) => w.walletKey === activeWalletId.current);
|
|
128
129
|
if (!wallet) {
|
|
129
130
|
throw new Error("No active wallet");
|
|
130
131
|
}
|
|
131
132
|
return wallet.transactionSigner(txnGroup, indexesToSign);
|
|
132
133
|
};
|
|
133
134
|
const signData = (data, metadata) => {
|
|
134
|
-
const wallet = manager.wallets.find((w) => w.
|
|
135
|
+
const wallet = manager.wallets.find((w) => w.walletKey === activeWalletId.current);
|
|
135
136
|
if (!wallet) {
|
|
136
137
|
throw new Error("No active wallet");
|
|
137
138
|
}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts"],"sourcesContent":["import { useStore } from '@tanstack/svelte-store'\nimport algosdk from 'algosdk'\nimport { getContext, setContext } from 'svelte'\nimport {\n type AlgodConfig,\n BaseWallet,\n NetworkId,\n type SignDataResponse,\n type SignMetadata,\n WalletAccount,\n WalletId,\n WalletManager,\n WalletMetadata\n} from '@txnlab/use-wallet'\n\nexport * from '@txnlab/use-wallet'\n\nexport const useWalletContext = (manager: WalletManager) => {\n setContext('walletManager', manager)\n\n manager.resumeSessions().catch((error) => {\n console.error('Error resuming sessions:', error)\n })\n}\n\nexport const useWalletManager = (): WalletManager => {\n const manager: WalletManager = getContext('walletManager')\n if (!manager) {\n throw new Error('useWalletManager must be used within a useWalletContext')\n }\n return manager\n}\n\nexport const useNetwork = () => {\n const manager = useWalletManager()\n const activeNetwork = useStore(manager.store, (state) => state.activeNetwork)\n const activeNetworkConfig = useStore(\n manager.store,\n (state) => state.networkConfig[activeNetwork.current]\n )\n\n const setActiveNetwork = async (networkId: NetworkId | string): Promise<void> => {\n if (networkId === activeNetwork.current) {\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(`[Svelte] 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\n manager.store.setState((state) => ({\n ...state,\n activeNetwork: networkId,\n algodClient: newClient\n }))\n\n console.info(`[Svelte] ✅ Active network set to ${networkId}.`)\n }\n\n const updateAlgodConfig = (networkId: string, config: Partial<AlgodConfig>): void => {\n manager.updateAlgodConfig(networkId, config)\n\n // If this is the active network, update the algodClient\n if (networkId === activeNetwork.current) {\n console.info(`[Svelte] 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\n manager.store.setState((state) => ({\n ...state,\n algodClient: newClient\n }))\n }\n }\n\n const resetNetworkConfig = (networkId: string): void => {\n manager.resetNetworkConfig(networkId)\n\n // If this is the active network, update the algodClient\n if (networkId === activeNetwork.current) {\n console.info(`[Svelte] 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\n manager.store.setState((state) => ({\n ...state,\n algodClient: newClient\n }))\n }\n }\n\n return {\n activeNetwork,\n networkConfig: manager.networkConfig,\n activeNetworkConfig,\n setActiveNetwork,\n updateAlgodConfig,\n resetNetworkConfig\n }\n}\n\nexport interface Wallet {\n id: WalletId\n metadata: WalletMetadata\n accounts: { current: WalletAccount[] | undefined }\n isConnected: () => boolean\n isActive: () => boolean\n canSignData: boolean\n connect: (args?: Record<string, any>) => Promise<WalletAccount[]>\n disconnect: () => Promise<void>\n setActive: () => void\n setActiveAccount: (address: string) => void\n}\n\nexport const useWallet = () => {\n const manager = useWalletManager()\n const walletStore = useStore(manager.store, (state) => state.wallets)\n\n const transformToWallet = (wallet: BaseWallet): Wallet => {\n return {\n id: wallet.id,\n metadata: wallet.metadata,\n accounts: useStore(manager.store, (state) => state.wallets[wallet.id]?.accounts),\n isConnected: () => !!walletStore.current[wallet.id],\n isActive: () => wallet.id === activeWalletId.current,\n canSignData: wallet.canSignData ?? 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 = [...manager.wallets].map(transformToWallet)\n const activeWalletId = useStore(manager.store, (state) => state.activeWallet)\n const managerStatus = useStore(manager.store, (state) => state.managerStatus)\n const isReady = () => managerStatus.current === 'ready'\n const algodClient = useStore(manager.store, (state) => state.algodClient)\n const activeWallet = () => wallets.find((w) => w.id === activeWalletId.current)\n const activeWalletAccounts = useStore(\n manager.store,\n (state) => state.wallets[activeWalletId.current!]?.accounts\n )\n const activeWalletAddresses = useStore(manager.store, (state) =>\n state.wallets[activeWalletId.current!]?.accounts.map((account) => account.address)\n )\n const activeAccount = useStore(\n manager.store,\n (state) => state.wallets[activeWalletId.current!]?.activeAccount\n )\n const activeAddress = useStore(\n manager.store,\n (state) => state.wallets[activeWalletId.current!]?.activeAccount?.address\n )\n\n const signTransactions = <T extends algosdk.Transaction[] | Uint8Array[]>(\n txnGroup: T | T[],\n indexesToSign?: number[]\n ): Promise<(Uint8Array | null)[]> => {\n const wallet = manager.wallets.find((w) => w.id === activeWalletId.current)\n if (!wallet) {\n throw new Error('No active wallet')\n }\n return wallet.signTransactions(txnGroup, indexesToSign)\n }\n\n const transactionSigner = (\n txnGroup: algosdk.Transaction[],\n indexesToSign: number[]\n ): Promise<Uint8Array[]> => {\n const wallet = manager.wallets.find((w) => w.id === activeWalletId.current)\n if (!wallet) {\n throw new Error('No active wallet')\n }\n return wallet.transactionSigner(txnGroup, indexesToSign)\n }\n\n const signData = (data: string, metadata: SignMetadata): Promise<SignDataResponse> => {\n const wallet = manager.wallets.find((w) => w.id === activeWalletId.current)\n if (!wallet) {\n throw new Error('No active wallet')\n }\n return wallet.signData(data, metadata)\n }\n\n return {\n wallets,\n isReady,\n algodClient,\n activeWallet,\n activeWalletAccounts,\n activeWalletAddresses,\n activeAccount,\n activeAddress,\n signData,\n signTransactions,\n transactionSigner\n }\n}\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../src/index.ts"],"sourcesContent":["import { useStore } from '@tanstack/svelte-store'\nimport algosdk from 'algosdk'\nimport { getContext, setContext } from 'svelte'\nimport {\n type AlgodConfig,\n BaseWallet,\n NetworkId,\n type SignDataResponse,\n type SignMetadata,\n WalletAccount,\n WalletId,\n type WalletKey,\n WalletManager,\n WalletMetadata\n} from '@txnlab/use-wallet'\n\nexport * from '@txnlab/use-wallet'\n\nexport const useWalletContext = (manager: WalletManager) => {\n setContext('walletManager', manager)\n\n manager.resumeSessions().catch((error) => {\n console.error('Error resuming sessions:', error)\n })\n}\n\nexport const useWalletManager = (): WalletManager => {\n const manager: WalletManager = getContext('walletManager')\n if (!manager) {\n throw new Error('useWalletManager must be used within a useWalletContext')\n }\n return manager\n}\n\nexport const useNetwork = () => {\n const manager = useWalletManager()\n const activeNetwork = useStore(manager.store, (state) => state.activeNetwork)\n const activeNetworkConfig = useStore(\n manager.store,\n (state) => state.networkConfig[activeNetwork.current]\n )\n\n const setActiveNetwork = async (networkId: NetworkId | string): Promise<void> => {\n if (networkId === activeNetwork.current) {\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(`[Svelte] 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\n manager.store.setState((state) => ({\n ...state,\n activeNetwork: networkId,\n algodClient: newClient\n }))\n\n console.info(`[Svelte] ✅ Active network set to ${networkId}.`)\n }\n\n const updateAlgodConfig = (networkId: string, config: Partial<AlgodConfig>): void => {\n manager.updateAlgodConfig(networkId, config)\n\n // If this is the active network, update the algodClient\n if (networkId === activeNetwork.current) {\n console.info(`[Svelte] 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\n manager.store.setState((state) => ({\n ...state,\n algodClient: newClient\n }))\n }\n }\n\n const resetNetworkConfig = (networkId: string): void => {\n manager.resetNetworkConfig(networkId)\n\n // If this is the active network, update the algodClient\n if (networkId === activeNetwork.current) {\n console.info(`[Svelte] 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\n manager.store.setState((state) => ({\n ...state,\n algodClient: newClient\n }))\n }\n }\n\n return {\n activeNetwork,\n networkConfig: manager.networkConfig,\n activeNetworkConfig,\n setActiveNetwork,\n updateAlgodConfig,\n resetNetworkConfig\n }\n}\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: { current: WalletAccount[] | undefined }\n isConnected: () => boolean\n isActive: () => boolean\n canSignData: boolean\n connect: (args?: Record<string, any>) => Promise<WalletAccount[]>\n disconnect: () => Promise<void>\n setActive: () => void\n setActiveAccount: (address: string) => void\n}\n\nexport const useWallet = () => {\n const manager = useWalletManager()\n const walletStore = useStore(manager.store, (state) => state.wallets)\n\n const transformToWallet = (wallet: BaseWallet): Wallet => {\n return {\n id: wallet.id,\n walletKey: wallet.walletKey,\n metadata: wallet.metadata,\n accounts: useStore(manager.store, (state) => state.wallets[wallet.walletKey]?.accounts),\n isConnected: () => !!walletStore.current[wallet.walletKey],\n isActive: () => wallet.walletKey === activeWalletId.current,\n canSignData: wallet.canSignData ?? 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 = [...manager.wallets].map(transformToWallet)\n const activeWalletId = useStore(manager.store, (state) => state.activeWallet)\n const managerStatus = useStore(manager.store, (state) => state.managerStatus)\n const isReady = () => managerStatus.current === 'ready'\n const algodClient = useStore(manager.store, (state) => state.algodClient)\n const activeWallet = () => wallets.find((w) => w.walletKey === activeWalletId.current)\n const activeWalletAccounts = useStore(\n manager.store,\n (state) => state.wallets[activeWalletId.current!]?.accounts\n )\n const activeWalletAddresses = useStore(manager.store, (state) =>\n state.wallets[activeWalletId.current!]?.accounts.map((account) => account.address)\n )\n const activeAccount = useStore(\n manager.store,\n (state) => state.wallets[activeWalletId.current!]?.activeAccount\n )\n const activeAddress = useStore(\n manager.store,\n (state) => state.wallets[activeWalletId.current!]?.activeAccount?.address\n )\n\n const signTransactions = <T extends algosdk.Transaction[] | Uint8Array[]>(\n txnGroup: T | T[],\n indexesToSign?: number[]\n ): Promise<(Uint8Array | null)[]> => {\n const wallet = manager.wallets.find((w) => w.walletKey === activeWalletId.current)\n if (!wallet) {\n throw new Error('No active wallet')\n }\n return wallet.signTransactions(txnGroup, indexesToSign)\n }\n\n const transactionSigner = (\n txnGroup: algosdk.Transaction[],\n indexesToSign: number[]\n ): Promise<Uint8Array[]> => {\n const wallet = manager.wallets.find((w) => w.walletKey === activeWalletId.current)\n if (!wallet) {\n throw new Error('No active wallet')\n }\n return wallet.transactionSigner(txnGroup, indexesToSign)\n }\n\n const signData = (data: string, metadata: SignMetadata): Promise<SignDataResponse> => {\n const wallet = manager.wallets.find((w) => w.walletKey === activeWalletId.current)\n if (!wallet) {\n throw new Error('No active wallet')\n }\n return wallet.signData(data, metadata)\n }\n\n return {\n wallets,\n isReady,\n algodClient,\n activeWallet,\n activeWalletAccounts,\n activeWalletAddresses,\n activeAccount,\n activeAddress,\n signData,\n signTransactions,\n transactionSigner\n }\n}\n"],"mappings":"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","names":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@txnlab/use-wallet-svelte",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.4.0",
|
|
4
4
|
"description": "Svelte library for integrating Algorand wallets into decentralized applications",
|
|
5
5
|
"author": "Andrew Funk <acfunk@gmail.com>",
|
|
6
6
|
"license": "MIT",
|
|
@@ -30,25 +30,25 @@
|
|
|
30
30
|
"dist"
|
|
31
31
|
],
|
|
32
32
|
"dependencies": {
|
|
33
|
-
"@tanstack/svelte-store": "0.
|
|
34
|
-
"@txnlab/use-wallet": "4.
|
|
33
|
+
"@tanstack/svelte-store": "0.9.0",
|
|
34
|
+
"@txnlab/use-wallet": "4.4.0"
|
|
35
35
|
},
|
|
36
36
|
"devDependencies": {
|
|
37
|
-
"@testing-library/svelte": "5.
|
|
38
|
-
"algosdk": "3.
|
|
39
|
-
"svelte": "5.
|
|
40
|
-
"tsup": "8.5.
|
|
41
|
-
"typescript": "5.
|
|
37
|
+
"@testing-library/svelte": "5.3.1",
|
|
38
|
+
"algosdk": "3.5.2",
|
|
39
|
+
"svelte": "5.46.1",
|
|
40
|
+
"tsup": "8.5.1",
|
|
41
|
+
"typescript": "5.9.3"
|
|
42
42
|
},
|
|
43
43
|
"peerDependencies": {
|
|
44
44
|
"@blockshake/defly-connect": "^1.2.1",
|
|
45
|
-
"@magic-ext/algorand": "^24.
|
|
45
|
+
"@magic-ext/algorand": "^24.4.2",
|
|
46
46
|
"@perawallet/connect": "^1.4.1",
|
|
47
47
|
"@walletconnect/modal": "^2.7.0",
|
|
48
|
-
"@walletconnect/sign-client": "^2.
|
|
48
|
+
"@walletconnect/sign-client": "^2.23.1",
|
|
49
49
|
"algosdk": "^3.0.0",
|
|
50
|
-
"lute-connect": "^1.6.
|
|
51
|
-
"magic-sdk": "^29.
|
|
50
|
+
"lute-connect": "^1.6.3",
|
|
51
|
+
"magic-sdk": "^29.4.2",
|
|
52
52
|
"svelte": "^5.0.0"
|
|
53
53
|
},
|
|
54
54
|
"peerDependenciesMeta": {
|