@1sat/react 0.0.19 → 0.0.20

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.
@@ -8,18 +8,13 @@ export interface SigmaCallbackProps {
8
8
  renderError?: (error: string, goBack: () => void) => ReactNode;
9
9
  }
10
10
  /**
11
- * Generic Sigma OAuth callback page component.
11
+ * Sigma OAuth callback page component.
12
12
  *
13
- * Uses the better-auth-plugin's handleCallback() to complete the OAuth flow.
14
- * Stores the result in WalletProvider's localStorage key for reconnection.
15
- *
16
- * ```tsx
17
- * // app/auth/sigma/callback/page.tsx
18
- * import { SigmaCallback } from '@1sat/react'
19
- * export default function Page() {
20
- * return <SigmaCallback redirectTo="/dashboard" />
21
- * }
22
- * ```
13
+ * Completes the full sign-in flow:
14
+ * 1. Exchange OAuth code for identity (bapId, pubkey)
15
+ * 2. Create CWI iframe and wait for wallet authentication
16
+ * 3. Store connection for WalletProvider
17
+ * 4. Redirect to target page
23
18
  */
24
19
  export declare function SigmaCallback({ redirectTo, loadingContent, renderError, }: SigmaCallbackProps): import("react/jsx-runtime").JSX.Element;
25
20
  //# sourceMappingURL=SigmaCallback.d.ts.map
@@ -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;AAI3D,MAAM,WAAW,kBAAkB;IAClC,6DAA6D;IAC7D,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,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;;;;;;;;;;;;;GAaG;AACH,wBAAgB,aAAa,CAAC,EAC7B,UAAgB,EAChB,cAAc,EACd,WAAW,GACX,EAAE,kBAAkB,2CAuGpB"}
1
+ {"version":3,"file":"SigmaCallback.d.ts","sourceRoot":"","sources":["../src/SigmaCallback.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,SAAS,EAAuB,MAAM,OAAO,CAAA;AAI3D,MAAM,WAAW,kBAAkB;IAClC,6DAA6D;IAC7D,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,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,cAAc,EACd,WAAW,GACX,EAAE,kBAAkB,2CA2GpB"}
package/dist/index.js CHANGED
@@ -5,9 +5,9 @@ export * from "@1sat/connect";
5
5
 
6
6
  // src/wallet-context.tsx
7
7
  import {
8
+ connectSigmaWallet,
8
9
  connectWallet,
9
- getAvailableProviders,
10
- reconnectSigma
10
+ getAvailableProviders
11
11
  } from "@1sat/connect";
12
12
  import {
13
13
  createContext,
@@ -104,14 +104,12 @@ function WalletProvider({
104
104
  }, [availableProviders, providers, applyResult]);
105
105
  const mountRef = useRef({
106
106
  autoDetect,
107
- providers,
108
107
  availableProviders,
109
108
  connect,
110
109
  applyResult
111
110
  });
112
111
  mountRef.current = {
113
112
  autoDetect,
114
- providers,
115
113
  availableProviders,
116
114
  connect,
117
115
  applyResult
@@ -119,7 +117,6 @@ function WalletProvider({
119
117
  useEffect(() => {
120
118
  const {
121
119
  autoDetect: auto,
122
- providers: providerConfigs,
123
120
  availableProviders: available,
124
121
  connect: doConnect,
125
122
  applyResult: apply
@@ -128,17 +125,14 @@ function WalletProvider({
128
125
  if (stored) {
129
126
  setStatus("connecting");
130
127
  if (stored.providerType === "sigma" && stored.bapId) {
131
- const sigmaConfig = providerConfigs?.find((p) => p.type === "sigma" && ("clientId" in p));
132
- if (sigmaConfig) {
133
- reconnectSigma(sigmaConfig, stored.bapId).then(apply).catch(() => {
134
- clearStored();
135
- if (auto)
136
- doConnect();
137
- else
138
- setStatus("selecting");
139
- });
140
- return;
141
- }
128
+ connectSigmaWallet(stored.bapId).then(apply).catch(() => {
129
+ clearStored();
130
+ if (auto)
131
+ doConnect();
132
+ else
133
+ setStatus("selecting");
134
+ });
135
+ return;
142
136
  }
143
137
  const provider = available.find((p) => p.type === stored.providerType);
144
138
  if (provider) {
@@ -190,7 +184,7 @@ function useWallet() {
190
184
  return ctx;
191
185
  }
192
186
  // src/SigmaCallback.tsx
193
- import { completeSigmaOAuth } from "@1sat/connect";
187
+ import { completeSigmaOAuth, connectSigmaWallet as connectSigmaWallet2 } from "@1sat/connect";
194
188
  import { useEffect as useEffect2, useState as useState2 } from "react";
195
189
  import { jsx as jsx2, jsxs, Fragment } from "react/jsx-runtime";
196
190
  "use client";
@@ -201,22 +195,24 @@ function SigmaCallback({
201
195
  renderError
202
196
  }) {
203
197
  const [error, setError] = useState2(null);
198
+ const [status, setStatus] = useState2("Completing authentication...");
204
199
  useEffect2(() => {
205
200
  const searchParams = new URLSearchParams(window.location.search);
206
- localStorage.setItem("__sigma_debug", JSON.stringify({ stage: "start", search: window.location.search }));
207
- completeSigmaOAuth(searchParams).then((result) => {
208
- localStorage.setItem("__sigma_debug", JSON.stringify({ stage: "success", bapId: result.bapId, pubkey: result.pubkey, hasUser: !!result.user }));
201
+ async function completeSignIn() {
202
+ const oauthResult = await completeSigmaOAuth(searchParams);
203
+ setStatus("Connecting wallet...");
204
+ const walletResult = await connectSigmaWallet2(oauthResult.bapId);
209
205
  localStorage.setItem(STORAGE_KEY2, JSON.stringify({
210
206
  providerType: "sigma",
211
- identityKey: result.pubkey,
212
- bapId: result.bapId,
213
- user: result.user,
214
- accessToken: result.accessToken
207
+ identityKey: walletResult.identityKey,
208
+ bapId: oauthResult.bapId,
209
+ user: oauthResult.user,
210
+ accessToken: oauthResult.accessToken
215
211
  }));
216
212
  window.location.href = redirectTo;
217
- }).catch((err) => {
218
- localStorage.setItem("__sigma_debug", JSON.stringify({ stage: "error", error: typeof err === "object" ? JSON.stringify(err) : String(err) }));
219
- console.error("Sigma OAuth callback error:", err);
213
+ }
214
+ completeSignIn().catch((err) => {
215
+ console.error("Sigma sign-in error:", err);
220
216
  const msg = err instanceof Error ? err.message : typeof err === "object" && err !== null && ("message" in err) ? String(err.message) : "Authentication failed";
221
217
  setError(msg);
222
218
  });
@@ -283,7 +279,7 @@ function SigmaCallback({
283
279
  },
284
280
  children: /* @__PURE__ */ jsx2("p", {
285
281
  style: { color: "#666" },
286
- children: "Connecting wallet..."
282
+ children: status
287
283
  })
288
284
  });
289
285
  }
@@ -1 +1 @@
1
- {"version":3,"file":"wallet-context.d.ts","sourceRoot":"","sources":["../src/wallet-context.tsx"],"names":[],"mappings":"AAAA,OAAO,EACN,KAAK,iBAAiB,EAGtB,KAAK,oBAAoB,EAIzB,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,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;AAyCD,wBAAgB,cAAc,CAAC,EAC9B,UAAiB,EACjB,SAAS,EACT,QAAQ,GACR,EAAE,mBAAmB,2CAsKrB;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,EAEtB,KAAK,oBAAoB,EAIzB,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,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;AAyCD,wBAAgB,cAAc,CAAC,EAC9B,UAAiB,EACjB,SAAS,EACT,QAAQ,GACR,EAAE,mBAAmB,2CA6JrB;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.19",
3
+ "version": "0.0.20",
4
4
  "description": "React hooks and components for 1Sat wallet integration",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -19,7 +19,7 @@
19
19
  "keywords": ["1sat", "bsv", "ordinals", "wallet", "sdk", "react", "hooks"],
20
20
  "license": "MIT",
21
21
  "dependencies": {
22
- "@1sat/connect": "0.0.16"
22
+ "@1sat/connect": "0.0.17"
23
23
  },
24
24
  "peerDependencies": {
25
25
  "@bsv/sdk": "^2.0.0",