@1sat/react 0.0.30 → 0.0.32

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.
@@ -1 +1 @@
1
- {"version":3,"file":"ConnectDialogProvider.d.ts","sourceRoot":"","sources":["../src/ConnectDialogProvider.tsx"],"names":[],"mappings":"AAEA,OAAO,EACN,KAAK,SAAS,EAKd,MAAM,OAAO,CAAA;AACd,OAAO,EAAiB,KAAK,wBAAwB,EAAE,MAAM,iBAAiB,CAAA;AAE9E,UAAU,yBAAyB;IAClC,iBAAiB,EAAE,MAAM,IAAI,CAAA;CAC7B;AAID;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,yBAAyB,CAQ5D;AAED,MAAM,WAAW,0BAA0B;IAC1C,QAAQ,EAAE,SAAS,CAAA;IACnB,2CAA2C;IAC3C,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,wBAAwB,KAAK,SAAS,CAAA;CAC7D;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,EACrC,QAAQ,EACR,YAAY,GACZ,EAAE,0BAA0B,2CAe5B"}
1
+ {"version":3,"file":"ConnectDialogProvider.d.ts","sourceRoot":"","sources":["../src/ConnectDialogProvider.tsx"],"names":[],"mappings":"AAEA,OAAO,EACN,KAAK,SAAS,EAMd,MAAM,OAAO,CAAA;AACd,OAAO,EAAiB,KAAK,wBAAwB,EAAE,MAAM,iBAAiB,CAAA;AAG9E,UAAU,yBAAyB;IAClC,iBAAiB,EAAE,MAAM,IAAI,CAAA;CAC7B;AAID;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,yBAAyB,CAQ5D;AAED,MAAM,WAAW,0BAA0B;IAC1C,QAAQ,EAAE,SAAS,CAAA;IACnB,2CAA2C;IAC3C,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,wBAAwB,KAAK,SAAS,CAAA;CAC7D;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,EACrC,QAAQ,EACR,YAAY,GACZ,EAAE,0BAA0B,2CAuB5B"}
@@ -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;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,2CAsGpB"}
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';
@@ -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
- autoDetect = true,
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
- autoDetect,
122
+ autoReconnect,
107
123
  availableProviders,
108
124
  connect,
109
125
  applyResult
110
126
  });
111
127
  mountRef.current = {
112
- autoDetect,
128
+ autoReconnect,
113
129
  availableProviders,
114
130
  connect,
115
131
  applyResult
116
132
  };
117
133
  useEffect(() => {
118
- const { autoDetect: auto, connect: doConnect } = mountRef.current;
119
- if (auto) {
120
- doConnect();
121
- } else {
122
- setStatus("selecting");
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,
@@ -176,6 +217,7 @@ function SigmaCallback({
176
217
  setStatus("Connecting wallet...");
177
218
  const walletResult = await connectSigmaWallet(oauthResult.bapId);
178
219
  applyResult(walletResult);
220
+ clearSigmaGuard();
179
221
  if (onComplete) {
180
222
  onComplete();
181
223
  } else {
@@ -184,6 +226,7 @@ function SigmaCallback({
184
226
  }
185
227
  completeSignIn().catch((err) => {
186
228
  console.error("Sigma sign-in error:", err);
229
+ clearSigmaGuard();
187
230
  const msg = err instanceof Error ? err.message : typeof err === "object" && err !== null && ("message" in err) ? String(err.message) : "Authentication failed";
188
231
  setError(msg);
189
232
  });
@@ -374,6 +417,7 @@ import {
374
417
  createContext as createContext2,
375
418
  useCallback as useCallback3,
376
419
  useContext as useContext2,
420
+ useEffect as useEffect4,
377
421
  useState as useState4
378
422
  } from "react";
379
423
  import { jsx as jsx4, jsxs as jsxs3 } from "react/jsx-runtime";
@@ -390,7 +434,13 @@ function ConnectDialogProvider({
390
434
  children,
391
435
  renderDialog
392
436
  }) {
437
+ const { status } = useWallet();
393
438
  const [open, setOpen] = useState4(false);
439
+ useEffect4(() => {
440
+ if (status === "selecting") {
441
+ setOpen(true);
442
+ }
443
+ }, [status]);
394
444
  const openConnectDialog = useCallback3(() => {
395
445
  setOpen(true);
396
446
  }, []);
@@ -520,6 +570,7 @@ export {
520
570
  useWallet,
521
571
  useConnectDialog,
522
572
  loadStoredProvider,
573
+ clearSigmaGuard,
523
574
  WalletSelector,
524
575
  WalletProvider,
525
576
  SigmaCallback,
@@ -14,11 +14,12 @@ export interface WalletContextValue {
14
14
  error: Error | null;
15
15
  }
16
16
  export interface WalletProviderProps {
17
- autoDetect?: boolean;
17
+ autoReconnect?: boolean;
18
18
  providers?: WalletProviderConfig[];
19
19
  children: ReactNode;
20
20
  }
21
21
  export declare function loadStoredProvider(): string | null;
22
- export declare function WalletProvider({ autoDetect, providers, children, }: WalletProviderProps): import("react/jsx-runtime").JSX.Element;
22
+ export declare function clearSigmaGuard(): void;
23
+ export declare function WalletProvider({ autoReconnect, providers, children, }: WalletProviderProps): import("react/jsx-runtime").JSX.Element;
23
24
  export declare function useWallet(): WalletContextValue;
24
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,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,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,SAAS,CAAC,EAAE,oBAAoB,EAAE,CAAA;IAClC,QAAQ,EAAE,SAAS,CAAA;CACnB;AAID,wBAAgB,kBAAkB,IAAI,MAAM,GAAG,IAAI,CAUlD;AAcD,wBAAgB,cAAc,CAAC,EAC9B,UAAiB,EACjB,SAAS,EACT,QAAQ,GACR,EAAE,mBAAmB,2CA0HrB;AAED,wBAAgB,SAAS,IAAI,kBAAkB,CAM9C"}
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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@1sat/react",
3
- "version": "0.0.30",
3
+ "version": "0.0.32",
4
4
  "description": "React hooks and components for 1Sat wallet integration",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",