@enbox/browser 0.3.43 → 0.3.45

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.
Files changed (48) hide show
  1. package/dist/browser.mjs +161 -155
  2. package/dist/browser.mjs.map +4 -4
  3. package/dist/esm/browser-connect-handler.js +17 -20
  4. package/dist/esm/browser-connect-handler.js.map +1 -1
  5. package/dist/esm/dweb-connect-client.js +1 -1
  6. package/dist/esm/dweb-connect-client.js.map +1 -1
  7. package/dist/esm/index.js +4 -1
  8. package/dist/esm/index.js.map +1 -1
  9. package/dist/esm/relay-connect-runner.js +128 -0
  10. package/dist/esm/relay-connect-runner.js.map +1 -0
  11. package/dist/esm/ui/connect-modal.js +990 -0
  12. package/dist/esm/ui/connect-modal.js.map +1 -0
  13. package/dist/esm/ui/qr.js +468 -0
  14. package/dist/esm/ui/qr.js.map +1 -0
  15. package/dist/esm/ui/wallet-icon.js +55 -0
  16. package/dist/esm/ui/wallet-icon.js.map +1 -0
  17. package/dist/esm/ui/wallet-well-known.js +61 -0
  18. package/dist/esm/ui/wallet-well-known.js.map +1 -0
  19. package/dist/types/browser-connect-handler.d.ts +32 -7
  20. package/dist/types/browser-connect-handler.d.ts.map +1 -1
  21. package/dist/types/dweb-connect-client.d.ts +3 -1
  22. package/dist/types/dweb-connect-client.d.ts.map +1 -1
  23. package/dist/types/index.d.ts +8 -2
  24. package/dist/types/index.d.ts.map +1 -1
  25. package/dist/types/relay-connect-runner.d.ts +82 -0
  26. package/dist/types/relay-connect-runner.d.ts.map +1 -0
  27. package/dist/types/ui/connect-modal.d.ts +108 -0
  28. package/dist/types/ui/connect-modal.d.ts.map +1 -0
  29. package/dist/types/ui/qr.d.ts +55 -0
  30. package/dist/types/ui/qr.d.ts.map +1 -0
  31. package/dist/types/ui/wallet-icon.d.ts +13 -0
  32. package/dist/types/ui/wallet-icon.d.ts.map +1 -0
  33. package/dist/types/ui/wallet-well-known.d.ts +33 -0
  34. package/dist/types/ui/wallet-well-known.d.ts.map +1 -0
  35. package/package.json +7 -5
  36. package/src/browser-connect-handler.ts +51 -21
  37. package/src/dweb-connect-client.ts +1 -1
  38. package/src/index.ts +8 -2
  39. package/src/relay-connect-runner.ts +209 -0
  40. package/src/ui/connect-modal.ts +1201 -0
  41. package/src/ui/qr.ts +549 -0
  42. package/src/ui/wallet-icon.ts +63 -0
  43. package/src/ui/wallet-well-known.ts +57 -0
  44. package/dist/esm/ui/wallet-selector.js +0 -585
  45. package/dist/esm/ui/wallet-selector.js.map +0 -1
  46. package/dist/types/ui/wallet-selector.d.ts +0 -44
  47. package/dist/types/ui/wallet-selector.d.ts.map +0 -1
  48. package/src/ui/wallet-selector.ts +0 -658
@@ -15,8 +15,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
15
15
  step((generator = generator.apply(thisArg, _arguments || [])).next());
16
16
  });
17
17
  };
18
- import { connectViaPopup } from './dweb-connect-client.js';
19
- import { showWalletSelector } from './ui/wallet-selector.js';
18
+ import { runConnectModal } from './ui/connect-modal.js';
20
19
  /** Default wallets shown in the selector when no overrides are provided. */
21
20
  export const DEFAULT_WALLETS = [
22
21
  {
@@ -41,14 +40,13 @@ export const DEFAULT_WALLETS = [
41
40
  },
42
41
  ];
43
42
  /**
44
- * Create a browser-native connect handler using DWeb Connect
45
- * (popup + postMessage).
43
+ * Create a browser-native connect handler over the connect modal.
46
44
  *
47
- * This handler:
48
- * 1. Shows a wallet selector modal (or uses a provided walletUrl).
49
- * 2. Opens the selected wallet as a popup window.
50
- * 3. Runs the DWeb Connect postMessage protocol.
51
- * 4. Returns the delegate credentials on success.
45
+ * The modal owns the whole session on one surface: the phone path (a QR /
46
+ * deep link over the relay, with pairing-code entry) is the default, the
47
+ * in-browser wallet popup is the alternate, and the wallet catalog plus
48
+ * custom-URL entry live in a disclosure. It resolves with the delegate
49
+ * credentials on success and `undefined` when the user denies.
52
50
  *
53
51
  * @example
54
52
  * ```ts
@@ -64,22 +62,21 @@ export const DEFAULT_WALLETS = [
64
62
  * ```
65
63
  */
66
64
  export function BrowserConnectHandler(options = {}) {
67
- const { wallets = DEFAULT_WALLETS, walletUrl: fixedWalletUrl, timeout, appName, appIcon, } = options;
65
+ const { wallets = DEFAULT_WALLETS, walletUrl, timeout, appName, appIcon, preferredMethod, rememberChoice, connectServerUrl, relayWalletPath, } = options;
68
66
  return {
69
67
  requestAccess(params) {
70
68
  return __awaiter(this, void 0, void 0, function* () {
71
- // 1. Determine wallet URL.
72
- let walletUrl = fixedWalletUrl;
73
- if (!walletUrl) {
74
- walletUrl = yield showWalletSelector(wallets);
75
- }
76
- // 2. Run the DWeb Connect popup flow over the connect kernel.
77
- return connectViaPopup({
69
+ return runConnectModal({
70
+ wallets,
78
71
  walletUrl,
79
- permissionRequests: params.permissionRequests,
80
- timeout,
72
+ preferredMethod,
73
+ rememberChoice,
81
74
  appName,
82
- appIcon,
75
+ appIcon: appIcon !== null && appIcon !== void 0 ? appIcon : `${window.location.origin}/favicon.ico`,
76
+ connectServerUrl,
77
+ relayWalletPath,
78
+ timeout,
79
+ permissionRequests: params.permissionRequests,
83
80
  });
84
81
  });
85
82
  },
@@ -1 +1 @@
1
- {"version":3,"file":"browser-connect-handler.js","sourceRoot":"","sources":["../../src/browser-connect-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;;;;;;;;;;AAKH,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAiB7D,4EAA4E;AAC5E,MAAM,CAAC,MAAM,eAAe,GAAmB;IAC7C;QACE,IAAI,EAAU,OAAO;QACrB,GAAG,EAAW,gCAAgC;QAC9C,WAAW,EAAG,uCAAuC;KACtD;IACD;QACE,IAAI,EAAU,OAAO;QACrB,GAAG,EAAW,gCAAgC;QAC9C,WAAW,EAAG,yCAAyC;KACxD;IACD;QACE,IAAI,EAAU,QAAQ;QACtB,GAAG,EAAW,iCAAiC;QAC/C,WAAW,EAAG,sCAAsC;KACrD;IACD;QACE,IAAI,EAAU,MAAM;QACpB,GAAG,EAAW,+BAA+B;QAC7C,WAAW,EAAG,0CAA0C;KACzD;CACF,CAAC;AAqCF;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,UAAU,qBAAqB,CACnC,UAAwC,EAAE;IAE1C,MAAM,EACJ,OAAO,GAAG,eAAe,EACzB,SAAS,EAAE,cAAc,EACzB,OAAO,EACP,OAAO,EACP,OAAO,GACR,GAAG,OAAO,CAAC;IAEZ,OAAO;QACC,aAAa,CAAC,MAEnB;;gBACC,2BAA2B;gBAC3B,IAAI,SAAS,GAAG,cAAc,CAAC;gBAC/B,IAAI,CAAC,SAAS,EAAE,CAAC;oBACf,SAAS,GAAG,MAAM,kBAAkB,CAAC,OAAO,CAAC,CAAC;gBAChD,CAAC;gBAED,8DAA8D;gBAC9D,OAAO,eAAe,CAAC;oBACrB,SAAS;oBACT,kBAAkB,EAAE,MAAM,CAAC,kBAAkB;oBAC7C,OAAO;oBACP,OAAO;oBACP,OAAO;iBACR,CAAC,CAAC;YACL,CAAC;SAAA;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"browser-connect-handler.js","sourceRoot":"","sources":["../../src/browser-connect-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;;;;;;;;;;AAKH,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAmBxD,4EAA4E;AAC5E,MAAM,CAAC,MAAM,eAAe,GAAmB;IAC7C;QACE,IAAI,EAAU,OAAO;QACrB,GAAG,EAAW,gCAAgC;QAC9C,WAAW,EAAG,uCAAuC;KACtD;IACD;QACE,IAAI,EAAU,OAAO;QACrB,GAAG,EAAW,gCAAgC;QAC9C,WAAW,EAAG,yCAAyC;KACxD;IACD;QACE,IAAI,EAAU,QAAQ;QACtB,GAAG,EAAW,iCAAiC;QAC/C,WAAW,EAAG,sCAAsC;KACrD;IACD;QACE,IAAI,EAAU,MAAM;QACpB,GAAG,EAAW,+BAA+B;QAC7C,WAAW,EAAG,0CAA0C;KACzD;CACF,CAAC;AAiEF;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,qBAAqB,CACnC,UAAwC,EAAE;IAE1C,MAAM,EACJ,OAAO,GAAG,eAAe,EACzB,SAAS,EACT,OAAO,EACP,OAAO,EACP,OAAO,EACP,eAAe,EACf,cAAc,EACd,gBAAgB,EAChB,eAAe,GAChB,GAAG,OAAO,CAAC;IAEZ,OAAO;QACC,aAAa,CAAC,MAEnB;;gBACC,OAAO,eAAe,CAAC;oBACrB,OAAO;oBACP,SAAS;oBACT,eAAe;oBACf,cAAc;oBACd,OAAO;oBACP,OAAO,EAAc,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,cAAc;oBACvE,gBAAgB;oBAChB,eAAe;oBACf,OAAO;oBACP,kBAAkB,EAAG,MAAM,CAAC,kBAAkB;iBAC/C,CAAC,CAAC;YACL,CAAC;SAAA;KACF,CAAC;AACJ,CAAC"}
@@ -254,7 +254,7 @@ export class PopupClientTransport {
254
254
  }
255
255
  }
256
256
  /** Collects self-reported environment hints for the wallet's session display. */
257
- function collectBrowserClientMetadata() {
257
+ export function collectBrowserClientMetadata() {
258
258
  const resolvedOptions = Intl.DateTimeFormat().resolvedOptions();
259
259
  const languages = Array.isArray(globalThis.navigator.languages)
260
260
  ? globalThis.navigator.languages.filter((language) => typeof language === 'string' && language.length > 0)
@@ -1 +1 @@
1
- {"version":3,"file":"dweb-connect-client.js","sourceRoot":"","sources":["../../src/dweb-connect-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dweb-connect-client.js","sourceRoot":"","sources":["../../src/dweb-connect-client.ts"],"names":[],"mappings":"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"}
package/dist/esm/index.js CHANGED
@@ -44,7 +44,10 @@ export { BrowserConnectHandler, DEFAULT_WALLETS } from './browser-connect-handle
44
44
  export { connectViaPopup, PopupClientTransport, PopupWindowClosedError } from './dweb-connect-client.js';
45
45
  export { WalletPostMessageTransport } from './dweb-connect-wallet.js';
46
46
  export { DWEB_CONNECT_LOADED_MESSAGE_TYPE, DWEB_CONNECT_PATH, DWEB_CONNECT_REQUEST_MESSAGE_TYPE, DWEB_CONNECT_RESPONSE_MESSAGE_TYPE, } from './dweb-connect-messages.js';
47
- export { probeWalletWellKnown, showWalletSelector, WALLET_WELL_KNOWN_PATH } from './ui/wallet-selector.js';
47
+ export { fetchWalletWellKnown, probeWalletWellKnown, WALLET_WELL_KNOWN_PATH } from './ui/wallet-well-known.js';
48
+ export { discoverWalletConnectServerUrl, runConnectModal } from './ui/connect-modal.js';
49
+ export { MAX_PIN_ATTEMPTS, RelayConnectCancelledError, runRelayConnect } from './relay-connect-runner.js';
50
+ export { encodeQr, qrToSvg } from './ui/qr.js';
48
51
  // ─── Convenience re-exports for dapps ───────────────────────────
49
52
  //
50
53
  // So that most browser dapps only need `@enbox/browser` (plus
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,mEAAmE;AACnE,EAAE;AACF,kEAAkE;AAElE,OAAO,EACL,KAAK,EACL,cAAc,EACd,UAAU,GACX,MAAM,YAAY,CAAC;AAUpB,mEAAmE;AACnE,EAAE;AACF,kEAAkE;AAElE,OAAO,EACL,WAAW,EACX,WAAW,EACX,yBAAyB,EACzB,aAAa,GACd,MAAM,qBAAqB,CAAC;AAuB7B,mEAAmE;AACnE,EAAE;AACF,iEAAiE;AACjE,4DAA4D;AAE5D,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAGvE,mEAAmE;AACnE,EAAE;AACF,iEAAiE;AAEjE,cAAc,mBAAmB,CAAC;AAClC,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAEtF,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAEzG,OAAO,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AAEtE,OAAO,EACL,gCAAgC,EAChC,iBAAiB,EACjB,iCAAiC,EACjC,kCAAkC,GACnC,MAAM,4BAA4B,CAAC;AAOpC,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAE3G,mEAAmE;AACnE,EAAE;AACF,8DAA8D;AAC9D,yEAAyE;AACzE,0EAA0E;AAC1E,0EAA0E;AAC1E,YAAY;AAEZ,0CAA0C;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,0EAA0E;AAC1E,sBAAsB;AACtB,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAGrD,oEAAoE;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C,4EAA4E;AAC5E,mCAAmC;AACnC,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,mEAAmE;AACnE,EAAE;AACF,kEAAkE;AAElE,OAAO,EACL,KAAK,EACL,cAAc,EACd,UAAU,GACX,MAAM,YAAY,CAAC;AAUpB,mEAAmE;AACnE,EAAE;AACF,kEAAkE;AAElE,OAAO,EACL,WAAW,EACX,WAAW,EACX,yBAAyB,EACzB,aAAa,GACd,MAAM,qBAAqB,CAAC;AAuB7B,mEAAmE;AACnE,EAAE;AACF,iEAAiE;AACjE,4DAA4D;AAE5D,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAGvE,mEAAmE;AACnE,EAAE;AACF,iEAAiE;AAEjE,cAAc,mBAAmB,CAAC;AAClC,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAEtF,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAEzG,OAAO,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AAEtE,OAAO,EACL,gCAAgC,EAChC,iBAAiB,EACjB,iCAAiC,EACjC,kCAAkC,GACnC,MAAM,4BAA4B,CAAC;AAMpC,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAE/G,OAAO,EAAE,8BAA8B,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExF,OAAO,EAAE,gBAAgB,EAAE,0BAA0B,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAE1G,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAG/C,mEAAmE;AACnE,EAAE;AACF,8DAA8D;AAC9D,yEAAyE;AACzE,0EAA0E;AAC1E,0EAA0E;AAC1E,YAAY;AAEZ,0CAA0C;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,0EAA0E;AAC1E,sBAAsB;AACtB,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAGrD,oEAAoE;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C,4EAA4E;AAC5E,mCAAmC;AACnC,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,128 @@
1
+ /**
2
+ * Relay connect runner — the dapp side of the QR/deep-link connect flow,
3
+ * with interactive PIN retry.
4
+ *
5
+ * This mirrors the `@enbox/connect` kernel `ConnectClient` step-for-step and
6
+ * is composed entirely from the kernel's exported primitives (`sealRequest`,
7
+ * `openResponse`, `RelayClientTransport`); no cryptography is reimplemented
8
+ * here. It exists as a separate orchestrator for one reason the kernel
9
+ * client cannot express today: **PIN retry against the delivered response**.
10
+ * `ConnectClient` collects the PIN once and opens the response once, so a
11
+ * mistyped code fails the whole handshake — the wallet user would have to
12
+ * scan and approve again. The connect modal instead keeps the sealed
13
+ * response and re-runs `openResponse` per attempt, which is safe because
14
+ * opening is a pure decrypt-and-verify step.
15
+ *
16
+ * If the kernel later grows a PIN-attempts seam, this module collapses into
17
+ * `ConnectClient` usage.
18
+ *
19
+ * @module
20
+ */
21
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
22
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
23
+ return new (P || (P = Promise))(function (resolve, reject) {
24
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
25
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
26
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
27
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
28
+ });
29
+ };
30
+ import { DidJwk } from '@enbox/dids';
31
+ import { X25519 } from '@enbox/crypto';
32
+ import { CONNECT_DENIED_TOKEN, openResponse, randomToken, RelayClientTransport, sealRequest, } from '@enbox/connect';
33
+ /** Maximum interactive PIN attempts before the handshake fails. */
34
+ export const MAX_PIN_ATTEMPTS = 6;
35
+ /** Thrown internally when a relay handshake is cancelled by the UI. */
36
+ export class RelayConnectCancelledError extends Error {
37
+ constructor() {
38
+ super('[@enbox/browser] Relay connect cancelled.');
39
+ this.name = 'RelayConnectCancelledError';
40
+ }
41
+ }
42
+ /**
43
+ * Runs one relay-mediated connect handshake end-to-end and returns the
44
+ * delegated credentials, or `undefined` when the user denied in the wallet.
45
+ */
46
+ export function runRelayConnect(options) {
47
+ return __awaiter(this, void 0, void 0, function* () {
48
+ var _a;
49
+ const createTransport = (_a = options.createTransport) !== null && _a !== void 0 ? _a : ((transportOptions) => new RelayClientTransport(transportOptions));
50
+ const transport = createTransport({
51
+ connectServerUrl: options.connectServerUrl,
52
+ walletUri: options.walletUri,
53
+ timeoutMs: options.timeoutMs,
54
+ pollIntervalMs: options.pollIntervalMs,
55
+ onClaimed: options.onClaimed,
56
+ });
57
+ // Ephemeral client DID for request signing and response addressing, and a
58
+ // fresh X25519 pair the wallet seals the response to — same shape as the
59
+ // kernel `ConnectClient`.
60
+ const clientDid = yield DidJwk.create();
61
+ const responsePrivateKey = yield X25519.generateKey();
62
+ const responsePublicKey = { kty: 'OKP', crv: 'X25519', x: responsePrivateKey.x };
63
+ const nonce = randomToken();
64
+ const state = randomToken();
65
+ const profile = yield transport.requestProfile(state);
66
+ const request = {
67
+ clientDid: clientDid.uri,
68
+ appName: options.appName,
69
+ appIcon: options.appIcon,
70
+ clientMetadata: options.clientMetadata,
71
+ permissionRequests: options.permissionRequests,
72
+ supportedDidMethods: ['did:dht', 'did:jwk'],
73
+ nonce,
74
+ state,
75
+ responseKey: responsePublicKey,
76
+ reply: profile.reply,
77
+ };
78
+ const requestJwe = yield sealRequest({ request, signer: clientDid, encryption: profile.encryption });
79
+ const handoff = yield transport.deliverRequest(requestJwe);
80
+ if (handoff !== undefined) {
81
+ options.onWalletUriReady(handoff);
82
+ }
83
+ const race = options.cancelled === undefined
84
+ ? transport.awaitResponse()
85
+ : Promise.race([transport.awaitResponse(), options.cancelled]);
86
+ const responseCiphertext = yield race;
87
+ if (responseCiphertext === CONNECT_DENIED_TOKEN) {
88
+ return undefined;
89
+ }
90
+ // Interactive PIN loop: opening is a pure decrypt-and-verify step, so a
91
+ // wrong code costs one more attempt, not a whole new wallet approval.
92
+ // Errors raised by the kernel's value checks carry a 'Connect:' prefix and
93
+ // indicate a protocol violation, not a mistyped code — those fail closed.
94
+ let lastError;
95
+ for (let attempt = 1; attempt <= MAX_PIN_ATTEMPTS; attempt++) {
96
+ const pin = yield (options.cancelled === undefined
97
+ ? options.requestPin(attempt, lastError)
98
+ : Promise.race([options.requestPin(attempt, lastError), options.cancelled]));
99
+ try {
100
+ const response = yield openResponse({
101
+ jwe: responseCiphertext,
102
+ recipientPrivateKey: responsePrivateKey,
103
+ expected: { clientDid: clientDid.uri, nonce, state },
104
+ pin,
105
+ });
106
+ if (response.delegatePortableDid === undefined) {
107
+ throw new Error('Connect: wallet response omitted `delegatePortableDid`.');
108
+ }
109
+ return {
110
+ delegatePortableDid: response.delegatePortableDid,
111
+ delegateGrants: response.delegateGrants,
112
+ connectedDid: response.providerDid,
113
+ sessionRevocations: response.sessionRevocations,
114
+ };
115
+ }
116
+ catch (error) {
117
+ const failure = error instanceof Error ? error : new Error(String(error));
118
+ if (failure.message.startsWith('Connect:')) {
119
+ // Structural/value-check failure — retrying the PIN cannot help.
120
+ throw failure;
121
+ }
122
+ lastError = failure;
123
+ }
124
+ }
125
+ throw new Error(`[@enbox/browser] The pairing code did not match after ${MAX_PIN_ATTEMPTS} attempts.`);
126
+ });
127
+ }
128
+ //# sourceMappingURL=relay-connect-runner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"relay-connect-runner.js","sourceRoot":"","sources":["../../src/relay-connect-runner.ts"],"names":[],"mappings":"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"}