@sundaeswap/wallet-lite 0.0.73 → 0.0.75
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/cjs/@types/observer.js.map +1 -1
- package/dist/cjs/classes/WalletObserver.class.js +100 -64
- package/dist/cjs/classes/WalletObserver.class.js.map +1 -1
- package/dist/cjs/react-components/WalletObserverProvider/hooks/useWalletObserverState.js +44 -43
- package/dist/cjs/react-components/WalletObserverProvider/hooks/useWalletObserverState.js.map +1 -1
- package/dist/cjs/react-components/contexts/observer/types.js.map +1 -1
- package/dist/cjs/react-components/hooks/useWalletObserver.js +12 -11
- package/dist/cjs/react-components/hooks/useWalletObserver.js.map +1 -1
- package/dist/esm/@types/observer.js.map +1 -1
- package/dist/esm/classes/WalletObserver.class.js +24 -2
- package/dist/esm/classes/WalletObserver.class.js.map +1 -1
- package/dist/esm/react-components/WalletObserverProvider/hooks/useWalletObserverState.js +24 -28
- package/dist/esm/react-components/WalletObserverProvider/hooks/useWalletObserverState.js.map +1 -1
- package/dist/esm/react-components/contexts/observer/types.js.map +1 -1
- package/dist/esm/react-components/hooks/useWalletObserver.js +12 -11
- package/dist/esm/react-components/hooks/useWalletObserver.js.map +1 -1
- package/dist/types/@types/observer.d.ts +1 -0
- package/dist/types/@types/observer.d.ts.map +1 -1
- package/dist/types/classes/WalletObserver.class.d.ts +6 -0
- package/dist/types/classes/WalletObserver.class.d.ts.map +1 -1
- package/dist/types/react-components/WalletObserverProvider/hooks/useWalletObserverState.d.ts +17 -15
- package/dist/types/react-components/WalletObserverProvider/hooks/useWalletObserverState.d.ts.map +1 -1
- package/dist/types/react-components/contexts/observer/types.d.ts +1 -1
- package/dist/types/react-components/contexts/observer/types.d.ts.map +1 -1
- package/dist/types/react-components/hooks/useWalletObserver.d.ts.map +1 -1
- package/dist/types/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +2 -2
- package/src/@types/observer.ts +1 -0
- package/src/classes/WalletObserver.class.ts +31 -1
- package/src/react-components/WalletObserverProvider/hooks/useWalletObserverState.ts +27 -28
- package/src/react-components/contexts/observer/types.ts +1 -0
- package/src/react-components/hooks/useWalletObserver.ts +22 -20
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sundaeswap/wallet-lite",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.75",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/cjs/index.js",
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
"@babel/cli": "^7.24.7",
|
|
39
39
|
"@fabianbormann/cardano-peer-connect": "^1.2.17",
|
|
40
40
|
"@koralabs/adahandle-sdk": "^1.5.5",
|
|
41
|
-
"@sundaeswap/asset": "^1.0.
|
|
41
|
+
"@sundaeswap/asset": "^1.0.7",
|
|
42
42
|
"@sundaeswap/fraction": "1.0.5",
|
|
43
43
|
"rxjs": "^7.8.1"
|
|
44
44
|
},
|
package/src/@types/observer.ts
CHANGED
|
@@ -148,21 +148,24 @@ export class WalletObserver<
|
|
|
148
148
|
newUnusedAddresses,
|
|
149
149
|
newOutputs,
|
|
150
150
|
newCollateral,
|
|
151
|
+
newFeeAddress,
|
|
151
152
|
] = await Promise.all([
|
|
152
153
|
this.getBalanceMap(),
|
|
153
154
|
this.getUsedAddresses(),
|
|
154
155
|
this.getUnusedAddresses(),
|
|
155
156
|
this.getUtxos(),
|
|
156
157
|
this.getCollateral(),
|
|
158
|
+
this.getFeeAddress(),
|
|
157
159
|
]);
|
|
158
160
|
|
|
159
|
-
const result = {
|
|
161
|
+
const result: IWalletObserverSync<AssetMetadata> = {
|
|
160
162
|
balanceMap: newBalanceMap,
|
|
161
163
|
usedAddresses: newUsedAddresses,
|
|
162
164
|
unusedAddresses: newUnusedAddresses,
|
|
163
165
|
utxos: newOutputs,
|
|
164
166
|
collateral: newCollateral,
|
|
165
167
|
network: newNetwork,
|
|
168
|
+
feeAddress: newFeeAddress,
|
|
166
169
|
};
|
|
167
170
|
|
|
168
171
|
const end = performance.now();
|
|
@@ -582,6 +585,33 @@ export class WalletObserver<
|
|
|
582
585
|
return data;
|
|
583
586
|
};
|
|
584
587
|
|
|
588
|
+
/**
|
|
589
|
+
* Gets the fee address set by the wallet, if available.
|
|
590
|
+
*
|
|
591
|
+
* @returns {Promise<string | Error | undefined>} The fee address or an Error.
|
|
592
|
+
*/
|
|
593
|
+
getFeeAddress = async (): Promise<string | Error | undefined> => {
|
|
594
|
+
if (!this.api) {
|
|
595
|
+
throw new Error(
|
|
596
|
+
"Attempted to query fee address without an API instance.",
|
|
597
|
+
);
|
|
598
|
+
}
|
|
599
|
+
|
|
600
|
+
const start = performance.now();
|
|
601
|
+
try {
|
|
602
|
+
const address = this.api.experimental?.feeAddress();
|
|
603
|
+
const end = performance.now();
|
|
604
|
+
|
|
605
|
+
if (this._options.debug) {
|
|
606
|
+
console.log(`getFeeAddress: ${end - start}ms`);
|
|
607
|
+
}
|
|
608
|
+
|
|
609
|
+
return address;
|
|
610
|
+
} catch (e) {
|
|
611
|
+
return e as Error;
|
|
612
|
+
}
|
|
613
|
+
};
|
|
614
|
+
|
|
585
615
|
/**
|
|
586
616
|
* Gets a list of wallet UTXOs suitable for collateral.
|
|
587
617
|
*
|
|
@@ -28,6 +28,7 @@ export const useWalletObserverState = <
|
|
|
28
28
|
const [network, setNetwork] = useState<number | undefined>();
|
|
29
29
|
const [usedAddresses, setUsedAddresses] = useState<string[]>([]);
|
|
30
30
|
const [unusedAddresses, setUnusedAddresses] = useState<string[]>([]);
|
|
31
|
+
const [feeAddress, setFeeAddress] = useState<string | undefined>();
|
|
31
32
|
const [utxos, setUtxos] = useState<TransactionUnspentOutput[]>();
|
|
32
33
|
const [collateral, setCollateral] = useState<TransactionUnspentOutput[]>();
|
|
33
34
|
const [isCip45, setIsCip45] = useState(false);
|
|
@@ -54,6 +55,7 @@ export const useWalletObserverState = <
|
|
|
54
55
|
setNetwork(undefined);
|
|
55
56
|
setUtxos(undefined);
|
|
56
57
|
setCollateral(undefined);
|
|
58
|
+
setFeeAddress(undefined);
|
|
57
59
|
setIsCip45(false);
|
|
58
60
|
setWillAutoConnect(false);
|
|
59
61
|
}, [observer]);
|
|
@@ -94,8 +96,6 @@ export const useWalletObserverState = <
|
|
|
94
96
|
: newBalanceMap,
|
|
95
97
|
);
|
|
96
98
|
}
|
|
97
|
-
} else {
|
|
98
|
-
setErrorSyncing(true);
|
|
99
99
|
}
|
|
100
100
|
|
|
101
101
|
const newUsedAddresses = freshData.usedAddresses;
|
|
@@ -106,8 +106,6 @@ export const useWalletObserverState = <
|
|
|
106
106
|
? prevValue
|
|
107
107
|
: newUsedAddresses;
|
|
108
108
|
});
|
|
109
|
-
} else {
|
|
110
|
-
setErrorSyncing(true);
|
|
111
109
|
}
|
|
112
110
|
|
|
113
111
|
const newUnusedAddresses = freshData.unusedAddresses;
|
|
@@ -117,8 +115,6 @@ export const useWalletObserverState = <
|
|
|
117
115
|
? prevValue
|
|
118
116
|
: newUnusedAddresses,
|
|
119
117
|
);
|
|
120
|
-
} else {
|
|
121
|
-
setErrorSyncing(true);
|
|
122
118
|
}
|
|
123
119
|
|
|
124
120
|
const newNetwork = freshData.network;
|
|
@@ -126,8 +122,6 @@ export const useWalletObserverState = <
|
|
|
126
122
|
setNetwork((prevValue) =>
|
|
127
123
|
prevValue === newNetwork ? prevValue : newNetwork,
|
|
128
124
|
);
|
|
129
|
-
} else {
|
|
130
|
-
setErrorSyncing(true);
|
|
131
125
|
}
|
|
132
126
|
|
|
133
127
|
const newUtxos = freshData.utxos;
|
|
@@ -141,8 +135,6 @@ export const useWalletObserverState = <
|
|
|
141
135
|
|
|
142
136
|
return prevValue;
|
|
143
137
|
});
|
|
144
|
-
} else {
|
|
145
|
-
setErrorSyncing(true);
|
|
146
138
|
}
|
|
147
139
|
|
|
148
140
|
const newCollateral = freshData.collateral;
|
|
@@ -156,14 +148,19 @@ export const useWalletObserverState = <
|
|
|
156
148
|
|
|
157
149
|
return prevValue;
|
|
158
150
|
});
|
|
159
|
-
}
|
|
160
|
-
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
const newFeeAddress = freshData.feeAddress;
|
|
154
|
+
if (typeof newFeeAddress === "string") {
|
|
155
|
+
setFeeAddress((prevValue) =>
|
|
156
|
+
prevValue === newFeeAddress ? prevValue : newFeeAddress,
|
|
157
|
+
);
|
|
161
158
|
}
|
|
162
159
|
});
|
|
163
160
|
} catch (e) {
|
|
164
161
|
setErrorSyncing(true);
|
|
165
162
|
(e as Error).cause =
|
|
166
|
-
"The wallet
|
|
163
|
+
"The wallet threw an error while the app was trying to sync with it. Please try again or contact your wallet provider.";
|
|
167
164
|
throw e;
|
|
168
165
|
}
|
|
169
166
|
}, [observer, disconnect]);
|
|
@@ -195,30 +192,32 @@ export const useWalletObserverState = <
|
|
|
195
192
|
|
|
196
193
|
return {
|
|
197
194
|
activeWallet,
|
|
198
|
-
setActiveWallet,
|
|
199
195
|
adaBalance,
|
|
200
|
-
setAdaBalance,
|
|
201
196
|
balance,
|
|
202
|
-
|
|
197
|
+
collateral,
|
|
198
|
+
connectWallet,
|
|
199
|
+
disconnect,
|
|
200
|
+
errorSyncing,
|
|
201
|
+
feeAddress,
|
|
203
202
|
isCip45,
|
|
204
|
-
|
|
203
|
+
isPending,
|
|
205
204
|
network,
|
|
205
|
+
setActiveWallet,
|
|
206
|
+
setAdaBalance,
|
|
207
|
+
setBalance,
|
|
208
|
+
setCollateral,
|
|
209
|
+
setFeeAddress,
|
|
210
|
+
setIsCip45,
|
|
206
211
|
setNetwork,
|
|
207
|
-
|
|
212
|
+
setSwitching,
|
|
208
213
|
setUnusedAddresses,
|
|
209
|
-
usedAddresses,
|
|
210
214
|
setUsedAddresses,
|
|
211
|
-
utxos,
|
|
212
215
|
setUtxos,
|
|
213
|
-
collateral,
|
|
214
|
-
setCollateral,
|
|
215
|
-
syncWallet,
|
|
216
|
-
disconnect,
|
|
217
|
-
connectWallet,
|
|
218
216
|
switching,
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
217
|
+
syncWallet,
|
|
218
|
+
unusedAddresses,
|
|
219
|
+
usedAddresses,
|
|
220
|
+
utxos,
|
|
222
221
|
willAutoConnect,
|
|
223
222
|
};
|
|
224
223
|
};
|
|
@@ -24,46 +24,48 @@ export const useWalletObserver = <
|
|
|
24
24
|
"ready" | "connectingWallet" | "syncingWallet"
|
|
25
25
|
> = useMemo(
|
|
26
26
|
() => ({
|
|
27
|
-
isCip45: state.isCip45,
|
|
28
27
|
activeWallet: state.activeWallet,
|
|
29
28
|
adaBalance: state.adaBalance,
|
|
30
29
|
balance: state.balance,
|
|
30
|
+
collateral: state.collateral,
|
|
31
|
+
connectWallet: state.connectWallet,
|
|
32
|
+
disconnect: state.disconnect,
|
|
33
|
+
errorSyncing: state.errorSyncing,
|
|
34
|
+
feeAddress: state.feeAddress,
|
|
35
|
+
isCip45: state.isCip45,
|
|
36
|
+
isPending: state.isPending,
|
|
31
37
|
mainAddress: state.mainAddress,
|
|
32
|
-
stakeAddress: state.stakeAddress,
|
|
33
38
|
network: state.network,
|
|
34
|
-
utxos: state.utxos,
|
|
35
|
-
collateral: state.collateral,
|
|
36
39
|
observer: state.observer,
|
|
40
|
+
stakeAddress: state.stakeAddress,
|
|
41
|
+
switching: state.switching,
|
|
42
|
+
syncWallet: state.syncWallet,
|
|
37
43
|
unusedAddresses: state.unusedAddresses,
|
|
38
44
|
usedAddresses: state.usedAddresses,
|
|
39
|
-
|
|
40
|
-
disconnect: state.disconnect,
|
|
41
|
-
connectWallet: state.connectWallet,
|
|
42
|
-
switching: state.switching,
|
|
43
|
-
errorSyncing: state.errorSyncing,
|
|
44
|
-
isPending: state.isPending,
|
|
45
|
+
utxos: state.utxos,
|
|
45
46
|
willAutoConnect: state.willAutoConnect,
|
|
46
47
|
}),
|
|
47
48
|
[
|
|
48
|
-
state.isCip45,
|
|
49
49
|
state.activeWallet,
|
|
50
50
|
state.adaBalance.amount,
|
|
51
51
|
state.balance.size,
|
|
52
|
+
state.collateral,
|
|
53
|
+
state.connectWallet,
|
|
54
|
+
state.disconnect,
|
|
55
|
+
state.errorSyncing,
|
|
56
|
+
state.feeAddress,
|
|
57
|
+
state.isCip45,
|
|
58
|
+
state.isPending,
|
|
52
59
|
state.mainAddress,
|
|
53
|
-
state.stakeAddress,
|
|
54
60
|
state.network,
|
|
55
|
-
state.utxos,
|
|
56
|
-
state.collateral,
|
|
57
61
|
state.observer,
|
|
62
|
+
state.stakeAddress,
|
|
63
|
+
state.switching,
|
|
64
|
+
state.syncWallet,
|
|
58
65
|
state.unusedAddresses,
|
|
59
66
|
state.usedAddresses,
|
|
60
|
-
state.
|
|
61
|
-
state.disconnect,
|
|
62
|
-
state.connectWallet,
|
|
63
|
-
state.switching,
|
|
64
|
-
state.isPending,
|
|
67
|
+
state.utxos,
|
|
65
68
|
state.willAutoConnect,
|
|
66
|
-
state.errorSyncing,
|
|
67
69
|
],
|
|
68
70
|
);
|
|
69
71
|
|