@1sat/react 0.0.29 → 0.0.31
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/SigmaCallback.d.ts.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +58 -10
- package/dist/wallet-context.d.ts +5 -3
- package/dist/wallet-context.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SigmaCallback.d.ts","sourceRoot":"","sources":["../src/SigmaCallback.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,SAAS,EAAuB,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"SigmaCallback.d.ts","sourceRoot":"","sources":["../src/SigmaCallback.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,SAAS,EAAuB,MAAM,OAAO,CAAA;AAG3D,MAAM,WAAW,kBAAkB;IAClC,6DAA6D;IAC7D,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,qFAAqF;IACrF,UAAU,CAAC,EAAE,MAAM,IAAI,CAAA;IACvB,6BAA6B;IAC7B,cAAc,CAAC,EAAE,SAAS,CAAA;IAC1B,0BAA0B;IAC1B,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,IAAI,KAAK,SAAS,CAAA;CAC9D;AAED;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,EAC7B,UAAgB,EAChB,UAAU,EACV,cAAc,EACd,WAAW,GACX,EAAE,kBAAkB,2CAwGpB"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export * from '@1sat/connect';
|
|
2
|
-
export { WalletProvider, useWallet, loadStoredProvider, type WalletContextValue, type WalletProviderProps, type WalletStatus, } from './wallet-context';
|
|
2
|
+
export { WalletProvider, useWallet, loadStoredProvider, clearSigmaGuard, type WalletContextValue, type WalletProviderProps, type WalletStatus, } from './wallet-context';
|
|
3
3
|
export { SigmaCallback, type SigmaCallbackProps } from './SigmaCallback';
|
|
4
4
|
export { ConnectDialog, type ConnectDialogProps, type ConnectDialogProviderInfo, type ConnectDialogRenderProps, } from './ConnectDialog';
|
|
5
5
|
export { ConnectDialogProvider, useConnectDialog, type ConnectDialogProviderProps, } from './ConnectDialogProvider';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,eAAe,CAAA;AAG7B,OAAO,EACN,cAAc,EACd,SAAS,EACT,kBAAkB,EAClB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,YAAY,GACjB,MAAM,kBAAkB,CAAA;AAGzB,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AAGxE,OAAO,EACN,aAAa,EACb,KAAK,kBAAkB,EACvB,KAAK,yBAAyB,EAC9B,KAAK,wBAAwB,GAC7B,MAAM,iBAAiB,CAAA;AACxB,OAAO,EACN,qBAAqB,EACrB,gBAAgB,EAChB,KAAK,0BAA0B,GAC/B,MAAM,yBAAyB,CAAA;AAGhC,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AACxE,OAAO,EACN,cAAc,EACd,KAAK,mBAAmB,EACxB,KAAK,0BAA0B,EAC/B,KAAK,yBAAyB,GAC9B,MAAM,kBAAkB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,eAAe,CAAA;AAG7B,OAAO,EACN,cAAc,EACd,SAAS,EACT,kBAAkB,EAClB,eAAe,EACf,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,YAAY,GACjB,MAAM,kBAAkB,CAAA;AAGzB,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AAGxE,OAAO,EACN,aAAa,EACb,KAAK,kBAAkB,EACvB,KAAK,yBAAyB,EAC9B,KAAK,wBAAwB,GAC7B,MAAM,iBAAiB,CAAA;AACxB,OAAO,EACN,qBAAqB,EACrB,gBAAgB,EAChB,KAAK,0BAA0B,GAC/B,MAAM,yBAAyB,CAAA;AAGhC,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AACxE,OAAO,EACN,cAAc,EACd,KAAK,mBAAmB,EACxB,KAAK,0BAA0B,EAC/B,KAAK,yBAAyB,GAC9B,MAAM,kBAAkB,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -42,9 +42,25 @@ function clearStored() {
|
|
|
42
42
|
return;
|
|
43
43
|
localStorage.removeItem(STORAGE_KEY);
|
|
44
44
|
}
|
|
45
|
+
var SIGMA_GUARD_KEY = "onesat_sigma_reconnecting";
|
|
46
|
+
function setSigmaGuard() {
|
|
47
|
+
if (typeof window === "undefined")
|
|
48
|
+
return;
|
|
49
|
+
sessionStorage.setItem(SIGMA_GUARD_KEY, "true");
|
|
50
|
+
}
|
|
51
|
+
function hasSigmaGuard() {
|
|
52
|
+
if (typeof window === "undefined")
|
|
53
|
+
return false;
|
|
54
|
+
return sessionStorage.getItem(SIGMA_GUARD_KEY) === "true";
|
|
55
|
+
}
|
|
56
|
+
function clearSigmaGuard() {
|
|
57
|
+
if (typeof window === "undefined")
|
|
58
|
+
return;
|
|
59
|
+
sessionStorage.removeItem(SIGMA_GUARD_KEY);
|
|
60
|
+
}
|
|
45
61
|
var WalletContext = createContext(null);
|
|
46
62
|
function WalletProvider({
|
|
47
|
-
|
|
63
|
+
autoReconnect = false,
|
|
48
64
|
providers,
|
|
49
65
|
children
|
|
50
66
|
}) {
|
|
@@ -103,24 +119,49 @@ function WalletProvider({
|
|
|
103
119
|
}
|
|
104
120
|
}, [availableProviders, providers, applyResult]);
|
|
105
121
|
const mountRef = useRef({
|
|
106
|
-
|
|
122
|
+
autoReconnect,
|
|
107
123
|
availableProviders,
|
|
108
124
|
connect,
|
|
109
125
|
applyResult
|
|
110
126
|
});
|
|
111
127
|
mountRef.current = {
|
|
112
|
-
|
|
128
|
+
autoReconnect,
|
|
113
129
|
availableProviders,
|
|
114
130
|
connect,
|
|
115
131
|
applyResult
|
|
116
132
|
};
|
|
117
133
|
useEffect(() => {
|
|
118
|
-
const {
|
|
119
|
-
if (
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
134
|
+
const { autoReconnect: shouldReconnect, availableProviders: configured, connect: doConnect } = mountRef.current;
|
|
135
|
+
if (!shouldReconnect) {
|
|
136
|
+
setStatus("disconnected");
|
|
137
|
+
return;
|
|
138
|
+
}
|
|
139
|
+
const stored = loadStoredProvider();
|
|
140
|
+
if (!stored) {
|
|
141
|
+
setStatus("disconnected");
|
|
142
|
+
return;
|
|
143
|
+
}
|
|
144
|
+
const isConfigured = configured.some((p) => p.type === stored);
|
|
145
|
+
if (!isConfigured) {
|
|
146
|
+
clearStored();
|
|
147
|
+
setStatus("disconnected");
|
|
148
|
+
return;
|
|
123
149
|
}
|
|
150
|
+
if (stored === "sigma" && hasSigmaGuard()) {
|
|
151
|
+
clearStored();
|
|
152
|
+
clearSigmaGuard();
|
|
153
|
+
setStatus("disconnected");
|
|
154
|
+
return;
|
|
155
|
+
}
|
|
156
|
+
if (stored === "sigma") {
|
|
157
|
+
setSigmaGuard();
|
|
158
|
+
}
|
|
159
|
+
doConnect(stored).catch(() => {
|
|
160
|
+
clearStored();
|
|
161
|
+
if (stored === "sigma")
|
|
162
|
+
clearSigmaGuard();
|
|
163
|
+
setStatus("disconnected");
|
|
164
|
+
});
|
|
124
165
|
}, []);
|
|
125
166
|
const value = useMemo(() => ({
|
|
126
167
|
wallet,
|
|
@@ -129,6 +170,7 @@ function WalletProvider({
|
|
|
129
170
|
providerType,
|
|
130
171
|
availableProviders,
|
|
131
172
|
connect,
|
|
173
|
+
applyResult,
|
|
132
174
|
disconnect,
|
|
133
175
|
error
|
|
134
176
|
}), [
|
|
@@ -138,6 +180,7 @@ function WalletProvider({
|
|
|
138
180
|
providerType,
|
|
139
181
|
availableProviders,
|
|
140
182
|
connect,
|
|
183
|
+
applyResult,
|
|
141
184
|
disconnect,
|
|
142
185
|
error
|
|
143
186
|
]);
|
|
@@ -164,6 +207,7 @@ function SigmaCallback({
|
|
|
164
207
|
loadingContent,
|
|
165
208
|
renderError
|
|
166
209
|
}) {
|
|
210
|
+
const { applyResult } = useWallet();
|
|
167
211
|
const [error, setError] = useState2(null);
|
|
168
212
|
const [status, setStatus] = useState2("Completing authentication...");
|
|
169
213
|
useEffect2(() => {
|
|
@@ -171,7 +215,9 @@ function SigmaCallback({
|
|
|
171
215
|
async function completeSignIn() {
|
|
172
216
|
const oauthResult = await completeSigmaOAuth(searchParams);
|
|
173
217
|
setStatus("Connecting wallet...");
|
|
174
|
-
await connectSigmaWallet(oauthResult.bapId);
|
|
218
|
+
const walletResult = await connectSigmaWallet(oauthResult.bapId);
|
|
219
|
+
applyResult(walletResult);
|
|
220
|
+
clearSigmaGuard();
|
|
175
221
|
if (onComplete) {
|
|
176
222
|
onComplete();
|
|
177
223
|
} else {
|
|
@@ -180,10 +226,11 @@ function SigmaCallback({
|
|
|
180
226
|
}
|
|
181
227
|
completeSignIn().catch((err) => {
|
|
182
228
|
console.error("Sigma sign-in error:", err);
|
|
229
|
+
clearSigmaGuard();
|
|
183
230
|
const msg = err instanceof Error ? err.message : typeof err === "object" && err !== null && ("message" in err) ? String(err.message) : "Authentication failed";
|
|
184
231
|
setError(msg);
|
|
185
232
|
});
|
|
186
|
-
}, [redirectTo]);
|
|
233
|
+
}, [redirectTo, applyResult, onComplete]);
|
|
187
234
|
if (error) {
|
|
188
235
|
if (renderError) {
|
|
189
236
|
return /* @__PURE__ */ jsx2(Fragment, {
|
|
@@ -516,6 +563,7 @@ export {
|
|
|
516
563
|
useWallet,
|
|
517
564
|
useConnectDialog,
|
|
518
565
|
loadStoredProvider,
|
|
566
|
+
clearSigmaGuard,
|
|
519
567
|
WalletSelector,
|
|
520
568
|
WalletProvider,
|
|
521
569
|
SigmaCallback,
|
package/dist/wallet-context.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type AvailableProvider, type WalletProviderConfig } from '@1sat/connect';
|
|
1
|
+
import { type AvailableProvider, type ConnectWalletResult, type WalletProviderConfig } from '@1sat/connect';
|
|
2
2
|
import type { WalletInterface } from '@bsv/sdk';
|
|
3
3
|
import { type ReactNode } from 'react';
|
|
4
4
|
export type WalletStatus = 'disconnected' | 'detecting' | 'selecting' | 'connecting' | 'connected';
|
|
@@ -9,15 +9,17 @@ export interface WalletContextValue {
|
|
|
9
9
|
providerType: string | null;
|
|
10
10
|
availableProviders: AvailableProvider[];
|
|
11
11
|
connect: (providerType?: string) => Promise<void>;
|
|
12
|
+
applyResult: (result: ConnectWalletResult) => void;
|
|
12
13
|
disconnect: () => void;
|
|
13
14
|
error: Error | null;
|
|
14
15
|
}
|
|
15
16
|
export interface WalletProviderProps {
|
|
16
|
-
|
|
17
|
+
autoReconnect?: boolean;
|
|
17
18
|
providers?: WalletProviderConfig[];
|
|
18
19
|
children: ReactNode;
|
|
19
20
|
}
|
|
20
21
|
export declare function loadStoredProvider(): string | null;
|
|
21
|
-
export declare function
|
|
22
|
+
export declare function clearSigmaGuard(): void;
|
|
23
|
+
export declare function WalletProvider({ autoReconnect, providers, children, }: WalletProviderProps): import("react/jsx-runtime").JSX.Element;
|
|
22
24
|
export declare function useWallet(): WalletContextValue;
|
|
23
25
|
//# sourceMappingURL=wallet-context.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wallet-context.d.ts","sourceRoot":"","sources":["../src/wallet-context.tsx"],"names":[],"mappings":"AAAA,OAAO,EACN,KAAK,iBAAiB,
|
|
1
|
+
{"version":3,"file":"wallet-context.d.ts","sourceRoot":"","sources":["../src/wallet-context.tsx"],"names":[],"mappings":"AAAA,OAAO,EACN,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EAGzB,MAAM,eAAe,CAAA;AACtB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAC/C,OAAO,EACN,KAAK,SAAS,EAQd,MAAM,OAAO,CAAA;AAEd,MAAM,MAAM,YAAY,GACrB,cAAc,GACd,WAAW,GACX,WAAW,GACX,YAAY,GACZ,WAAW,CAAA;AAEd,MAAM,WAAW,kBAAkB;IAClC,MAAM,EAAE,eAAe,GAAG,IAAI,CAAA;IAC9B,MAAM,EAAE,YAAY,CAAA;IACpB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,kBAAkB,EAAE,iBAAiB,EAAE,CAAA;IACvC,OAAO,EAAE,CAAC,YAAY,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACjD,WAAW,EAAE,CAAC,MAAM,EAAE,mBAAmB,KAAK,IAAI,CAAA;IAClD,UAAU,EAAE,MAAM,IAAI,CAAA;IACtB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAA;CACnB;AAED,MAAM,WAAW,mBAAmB;IACnC,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,SAAS,CAAC,EAAE,oBAAoB,EAAE,CAAA;IAClC,QAAQ,EAAE,SAAS,CAAA;CACnB;AAID,wBAAgB,kBAAkB,IAAI,MAAM,GAAG,IAAI,CAUlD;AAwBD,wBAAgB,eAAe,IAAI,IAAI,CAGtC;AAID,wBAAgB,cAAc,CAAC,EAC9B,aAAqB,EACrB,SAAS,EACT,QAAQ,GACR,EAAE,mBAAmB,2CA0JrB;AAED,wBAAgB,SAAS,IAAI,kBAAkB,CAM9C"}
|