@miden-sdk/miden-wallet-adapter-miden 0.17.8 → 0.17.10

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/adapter.d.ts CHANGED
@@ -29,6 +29,12 @@ export interface MidenWallet extends EventEmitter<MidenWalletEvents> {
29
29
  waitForTransaction(txId: string, timeout?: number): Promise<WalletTransactionOutput>;
30
30
  signBytes(message: Uint8Array, kind: SignKind): Promise<{
31
31
  signature: Uint8Array;
32
+ /**
33
+ * The word the wallet signed, serialized. Present when the wallet signs
34
+ * a domain-separated commitment; older wallets omit it and signed the
35
+ * raw value. Verify with `domainSeparatedSignCommitment(data, kind)`.
36
+ */
37
+ signedCommitment?: Uint8Array;
32
38
  }>;
33
39
  importPrivateNote(note: Uint8Array): Promise<{
34
40
  noteId: string;
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../adapter.ts"],"names":[],"mappings":"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","sourcesContent":["import { Note, type NoteFilterTypes } from \"@miden-sdk/miden-sdk\";\nimport {\n AllowedPrivateData,\n BaseMessageSignerWalletAdapter,\n EventEmitter,\n scopePollingDetectionStrategy,\n SignKind,\n WalletConnectionError,\n WalletDisconnectionError,\n WalletName,\n WalletNotConnectedError,\n WalletNotReadyError,\n WalletReadyState,\n PrivateDataPermission,\n WalletAdapterNetwork,\n MidenSendTransaction,\n MidenTransaction,\n MidenConsumeTransaction,\n TransactionType,\n WalletTransactionError,\n Asset,\n GuardianInfo,\n CreateAccountParams,\n InputNoteDetails,\n TransactionOutput,\n WalletTransactionOutput,\n b64ToU8,\n} from \"@miden-sdk/miden-wallet-adapter-base\";\n\nexport interface MidenWalletEvents {\n connect(...args: unknown[]): unknown;\n disconnect(...args: unknown[]): unknown;\n accountChange(...args: unknown[]): unknown;\n}\n\nexport interface MidenWallet extends EventEmitter<MidenWalletEvents> {\n address?: string;\n publicKey?: Uint8Array;\n requestSend(\n transaction: MidenSendTransaction\n ): Promise<{ transactionId?: string }>;\n requestConsume(\n transaction: MidenConsumeTransaction\n ): Promise<{ transactionId?: string }>;\n requestTransaction(\n transaction: MidenTransaction\n ): Promise<{ transactionId?: string }>;\n requestAssets(): Promise<{ assets: Asset[] }>;\n requestGuardianInfo(): Promise<{ guardianInfo: GuardianInfo }>;\n requestPrivateNotes(\n noteFilterType: NoteFilterTypes,\n noteIds?: string[]\n ): Promise<{\n privateNotes: InputNoteDetails[];\n }>;\n waitForTransaction(\n txId: string,\n timeout?: number\n ): Promise<WalletTransactionOutput>;\n signBytes(\n message: Uint8Array,\n kind: SignKind\n ): Promise<{ signature: Uint8Array }>;\n importPrivateNote(note: Uint8Array): Promise<{ noteId: string }>;\n requestConsumableNotes(): Promise<{ consumableNotes: InputNoteDetails[] }>;\n createAccount(params?: CreateAccountParams): Promise<{ accountId: string }>;\n connect(\n privateDataPermission: PrivateDataPermission,\n network: WalletAdapterNetwork,\n allowedPrivateData?: AllowedPrivateData\n ): Promise<void>;\n disconnect(): Promise<void>;\n}\n\nexport interface MidenWindow extends Window {\n midenWallet?: MidenWallet;\n miden?: MidenWallet;\n bread?: unknown;\n}\n\ndeclare const window: MidenWindow;\n\nexport interface MidenWalletAdapterConfig {\n appName?: string;\n}\n\nexport const MidenWalletName = \"Bread Wallet\" as WalletName<\"Bread Wallet\">;\n\nexport const BREAD_OPEN_LINK_BASE = \"https://bread.miden.xyz/open\";\n\n/**\n * Link that opens `pageUrl` in the Bread app. The app claims it as an iOS\n * universal link and Android app link; without the app it loads a web page.\n * The page URL travels in the fragment, which browsers never send to a server.\n */\nexport function getBreadOpenLink(\n pageUrl: string = window.location.href\n): string {\n return `${BREAD_OPEN_LINK_BASE}#url=${encodeURIComponent(pageUrl)}`;\n}\n\nconst BREAD_EXTENSION_URL =\n \"https://chromewebstore.google.com/detail/Bread/coajhopfooegmaifelglfboehacldcbo\";\n\nconst BREAD_HANDOFF_DEBOUNCE_MS = 1000;\n\nfunction isMobileBrowser(): boolean {\n const { userAgent, maxTouchPoints } = navigator;\n return (\n /iPhone|iPad|iPod|Android/.test(userAgent) ||\n // iPadOS asks for desktop sites by default and then sends a Mac user agent.\n (userAgent.includes(\"Macintosh\") && maxTouchPoints > 1)\n );\n}\n\nexport class MidenWalletAdapter extends BaseMessageSignerWalletAdapter {\n name = MidenWalletName;\n icon =\n \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjExIiBoZWlnaHQ9IjIxNCIgdmlld0JveD0iMCAwIDIxMSAyMTQiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxwYXRoIGQ9Ik0xMDcuNDQgMC4xMjE3NjJDMTIxLjk5IC0wLjkwOTY1MiAxMzQuNzMzIDQuNjc0NjMgMTQ1LjE1NyAxNC40NzYxQzE4My41NjQgLTQuNjYzMDMgMjIyLjk2NSAzNS40NDAxIDIwNi4zNTIgNzMuOTk5MUMyMDQuNzcyIDEwMy4wMDcgMjA4LjUwNyAxMzQuMzIyIDIwNi4zOTUgMTYzLjA1NUMyMDUuNjAyIDE3My43OSAyMDAuMTgyIDE4Mi4yODUgMTkxLjkzNyAxODguODRDMTc5LjgyMiAxOTguNDY1IDE1Ny41MSAyMTEuNzUxIDE0Mi4wNTcgMjEyLjc1MkMxMDEuMzk4IDIxNS4zODggNTcuOTI2NCAyMTAuNjk1IDE2Ljk2ODkgMjEyLjc1MkM2LjQxMDYzIDIxMS45NjUgMS41NzA5MyAyMDUuNTE0IDAuODA4MDQ2IDE5NS4zN0MyLjc5NzY0IDE1NS44MzUgLTEuNzYxMzMgMTEzLjg0NiAwLjgwODA0NiA3NC41OTcyQzMuMjA2NTQgMzcuODgxMyA0MC4wNTY3IC0xLjcwMzA1IDc5LjA4NTcgMTIuNjUxM0M4Ni45MDk4IDUuNTcxNzggOTYuNzk2NyAwLjg3MjQzMSAxMDcuNDQ3IDAuMTE1NjUzTDEwNy40NCAwLjEyMTc2MlpNMTE2LjcxNyAxMjguNTk3QzEzNi45NDIgMTIzLjkyMiAxNDQuMDc3IDk5LjQ3OTMgMTM2LjUyMSA4MS42NTIzQzEzMC45MDcgNjguNDAyNiAxMTcuNDc0IDYxLjgxMTMgMTAzLjYyNiA2MC44ODM3Qzc5LjI3NDkgNTkuMjU0MiA1My4xMjk1IDYyLjE0NyAyOC41ODkxIDYwLjkxNDJDMTguNzAyMiA2Mi4zNDIzIDEwLjQ1MDkgNjcuOTY5MyA4Ljc2MDMzIDc4LjI4MzRMOS4xNzUzIDE5Ny4zNzhDMTAuNTA1OCAyMDAuOTQ5IDEzLjcyODIgMjAzLjgwNSAxNy42MDk3IDIwNC4xODlDNDcuNjE4NCAyMDIuNTIzIDgwLjAwMTEgMjA2LjQwNSAxMDkuNzI5IDIwNC4yMTRDMTQ2LjI2OCAyMDEuNTIyIDE1Ny4wMDkgMTUyLjU2NCAxMjcuNDk1IDEzMy4zNjNMMTE2LjcyMyAxMjguNTk3SDExNi43MTdaIiBmaWxsPSIjRTc3NTM3Ii8+CjxwYXRoIGQ9Ik0xMTYuNzE3IDEyOC41OTdDMTM2Ljk0MiAxMjMuOTIyIDE0NC4wNzcgOTkuNDc5MyAxMzYuNTIxIDgxLjY1MjNDMTMwLjkwNyA2OC40MDI2IDExNy40NzQgNjEuODExMyAxMDMuNjI2IDYwLjg4MzdDNzkuMjc0OSA1OS4yNTQyIDUzLjEyOTUgNjIuMTQ3IDI4LjU4OTEgNjAuOTE0MkMxOC43MDIyIDYyLjM0MjMgMTAuNDUwOSA2Ny45NjkzIDguNzYwMzMgNzguMjgzNEw5LjE3NTMgMTk3LjM3OEMxMC41MDU4IDIwMC45NDkgMTMuNzI4MiAyMDMuODA1IDE3LjYwOTcgMjA0LjE4OUM0Ny42MTg0IDIwMi41MjMgODAuMDAxMSAyMDYuNDA1IDEwOS43MjkgMjA0LjIxNEMxNDYuMjY4IDIwMS41MjIgMTU3LjAwOSAxNTIuNTY0IDEyNy40OTUgMTMzLjM2M0wxMTYuNzIzIDEyOC41OTdIMTE2LjcxN1oiIGZpbGw9IiNGRkZGRkYiLz4KPC9zdmc+Cg==\";\n readonly supportedTransactionVersions = null;\n\n private _connecting: boolean;\n private _wallet: MidenWallet | null;\n private _address: string | null;\n private _publicKey: Uint8Array | null;\n private _privateDataPermission: string;\n // Providers update these fields before emitting accountChange. Reuse the\n // adapter's connect/disconnect events so every existing consumer refreshes.\n private readonly _handleAccountChange = () => {\n const wallet = this._wallet;\n if (!wallet) return;\n\n if (!wallet.address) {\n wallet.off(\"accountChange\", this._handleAccountChange);\n this._wallet = null;\n this._address = null;\n this._publicKey = null;\n this.emit(\"disconnect\");\n return;\n }\n\n this._address = wallet.address;\n this._publicKey = wallet.publicKey ?? null;\n this.emit(\"connect\", this._address);\n };\n private _readyState: WalletReadyState =\n typeof window === \"undefined\" || typeof document === \"undefined\"\n ? WalletReadyState.Unsupported\n : WalletReadyState.NotDetected;\n private _breadHandoffAt = 0;\n\n constructor({ appName = \"sample\" }: MidenWalletAdapterConfig = {}) {\n super();\n this._connecting = false;\n this._wallet = null;\n this._address = null;\n this._publicKey = null;\n this._privateDataPermission = PrivateDataPermission.UponRequest;\n\n if (this._readyState !== WalletReadyState.Unsupported) {\n // Bread's own browser defines window.bread before any page script runs\n // and injects the wallet later, so a page there waits for the wallet. A\n // browser without the User Activation API can't report the tap that the\n // handoff needs.\n if (isMobileBrowser() && !window.bread && navigator.userActivation)\n this._readyState = WalletReadyState.Loadable;\n scopePollingDetectionStrategy(() => this.detectWallet());\n }\n }\n\n private detectWallet(): boolean {\n if (this._readyState === WalletReadyState.Installed) return true;\n if (!window.midenWallet && !window.miden) return false;\n this._readyState = WalletReadyState.Installed;\n this.emit(\"readyStateChange\", this._readyState);\n return true;\n }\n\n get address() {\n return this._address;\n }\n\n get publicKey() {\n return this._publicKey;\n }\n\n get privateDataPermission() {\n return this._privateDataPermission;\n }\n\n get connecting() {\n return this._connecting;\n }\n\n get readyState() {\n return this._readyState;\n }\n\n set readyState(readyState) {\n this._readyState = readyState;\n }\n\n get url() {\n return this._readyState === WalletReadyState.Loadable\n ? getBreadOpenLink()\n : BREAD_EXTENSION_URL;\n }\n\n /**\n * The wallet reports \"success\" as soon as a transaction is ACCEPTED into its\n * queue, not when it lands on chain — so a resolved call with no `transactionId`\n * means the transaction was never submitted. Returning that as `undefined`\n * (the old `result.transactionId!` non-null assertion) made the dApp treat a\n * silent drop as success. Reject instead, so the dApp can surface it and\n * poll `waitForTransaction(txId)` for on-chain confirmation (0xMiden/wallet#314).\n */\n private requireTransactionId(result: { transactionId?: string }): string {\n if (!result?.transactionId) {\n throw new WalletTransactionError(\n \"The wallet returned no transaction id — the transaction was not submitted\"\n );\n }\n return result.transactionId;\n }\n\n async requestSend(transaction: MidenSendTransaction): Promise<string> {\n try {\n const wallet = this._wallet;\n if (!wallet || !this.address) throw new WalletNotConnectedError();\n let result: { transactionId?: string };\n try {\n result = await wallet.requestSend(transaction);\n } catch (error: any) {\n throw new WalletTransactionError(error?.message, error);\n }\n return this.requireTransactionId(result);\n } catch (error: any) {\n this.emit(\"error\", error);\n throw error;\n }\n }\n\n async requestConsume(transaction: MidenConsumeTransaction): Promise<string> {\n try {\n const wallet = this._wallet;\n if (!wallet || !this.address) throw new WalletNotConnectedError();\n let result: { transactionId?: string };\n try {\n result = await wallet.requestConsume(transaction);\n } catch (error: any) {\n throw new WalletTransactionError(error?.message, error);\n }\n return this.requireTransactionId(result);\n } catch (error: any) {\n this.emit(\"error\", error);\n throw error;\n }\n }\n\n async requestTransaction(transaction: MidenTransaction): Promise<string> {\n try {\n const wallet = this._wallet;\n if (!wallet || !this.address) throw new WalletNotConnectedError();\n let result: { transactionId?: string };\n try {\n // The wallet's generalized `requestTransaction` endpoint only accepts\n // a custom-transaction payload, so a `send`/`consume` transaction must\n // be routed to its dedicated endpoint — otherwise the wallet rejects\n // it with \"Invalid CustomTransaction payload\". Dispatching by `type`\n // here is what lets the typed `Transaction` / `TransactionType` API\n // (incl. `Transaction.createConsumeTransaction`) work for every type.\n switch (transaction.type) {\n case TransactionType.Send:\n result = await wallet.requestSend(\n transaction.payload as MidenSendTransaction\n );\n break;\n case TransactionType.Consume:\n result = await wallet.requestConsume(\n transaction.payload as MidenConsumeTransaction\n );\n break;\n default:\n // Custom transactions — and legacy callers that pass a bare\n // `CustomTransaction` payload — go through the generalized endpoint.\n result = await wallet.requestTransaction(transaction);\n break;\n }\n } catch (error: any) {\n throw new WalletTransactionError(error?.message, error);\n }\n return this.requireTransactionId(result);\n } catch (error: any) {\n this.emit(\"error\", error);\n throw error;\n }\n }\n\n async requestAssets(): Promise<Asset[]> {\n try {\n const wallet = this._wallet;\n if (!wallet || !this.address) throw new WalletNotConnectedError();\n try {\n const result = await wallet.requestAssets();\n return result.assets;\n } catch (error: any) {\n throw new WalletTransactionError(error?.message, error);\n }\n } catch (error: any) {\n this.emit(\"error\", error);\n throw error;\n }\n }\n\n async requestGuardianInfo(): Promise<GuardianInfo> {\n try {\n const wallet = this._wallet;\n if (!wallet || !this.address) throw new WalletNotConnectedError();\n try {\n const result = await wallet.requestGuardianInfo();\n return result.guardianInfo;\n } catch (error: any) {\n throw new WalletTransactionError(error?.message, error);\n }\n } catch (error: any) {\n this.emit(\"error\", error);\n throw error;\n }\n }\n\n async requestPrivateNotes(\n noteFilterType: NoteFilterTypes,\n noteIds?: string[]\n ): Promise<InputNoteDetails[]> {\n try {\n const wallet = this._wallet;\n if (!wallet || !this.address) throw new WalletNotConnectedError();\n try {\n const result = await wallet.requestPrivateNotes(\n noteFilterType,\n noteIds\n );\n return result.privateNotes;\n } catch (error: any) {\n throw new WalletTransactionError(error?.message, error);\n }\n } catch (error: any) {\n this.emit(\"error\", error);\n throw error;\n }\n }\n\n async signBytes(message: Uint8Array, kind: SignKind): Promise<Uint8Array> {\n try {\n const wallet = this._wallet;\n if (!wallet || !this.address) throw new WalletNotConnectedError();\n try {\n const result = await wallet.signBytes(message, kind);\n return result.signature;\n } catch (error: any) {\n throw new WalletTransactionError(error?.message, error);\n }\n } catch (error: any) {\n this.emit(\"error\", error);\n throw error;\n }\n }\n\n async importPrivateNote(note: Uint8Array): Promise<string> {\n try {\n const wallet = this._wallet;\n if (!wallet || !this.address) throw new WalletNotConnectedError();\n const result = await wallet.importPrivateNote(note);\n return result.noteId;\n } catch (error: any) {\n this.emit(\"error\", error);\n throw error;\n }\n }\n\n async requestConsumableNotes(): Promise<InputNoteDetails[]> {\n try {\n const wallet = this._wallet;\n if (!wallet || !this.address) throw new WalletNotConnectedError();\n const result = await wallet.requestConsumableNotes();\n return result.consumableNotes;\n } catch (error: any) {\n this.emit(\"error\", error);\n throw error;\n }\n }\n\n async waitForTransaction(\n txId: string,\n timeout?: number\n ): Promise<TransactionOutput> {\n try {\n const wallet = this._wallet;\n if (!wallet || !this.address) throw new WalletNotConnectedError();\n const result = await wallet.waitForTransaction(txId, timeout);\n if (\"errorMessage\" in result) {\n throw new WalletTransactionError(result.errorMessage);\n }\n const notes = result.outputNotes.map((serializedNote) => {\n const u8Arr = b64ToU8(serializedNote);\n return Note.deserialize(u8Arr);\n });\n return {\n txHash: result.txHash,\n outputNotes: notes,\n };\n } catch (error: any) {\n this.emit(\"error\", error);\n throw error;\n }\n }\n\n async createAccount(params?: CreateAccountParams): Promise<string> {\n try {\n const wallet = this._wallet;\n if (!wallet || !this.address) throw new WalletNotConnectedError();\n try {\n const result = await wallet.createAccount(params);\n return result.accountId;\n } catch (error: any) {\n throw new WalletTransactionError(error?.message, error);\n }\n } catch (error: any) {\n this.emit(\"error\", error);\n throw error;\n }\n }\n\n /**\n * Opens the current page in the Bread app, from a tap handler while\n * `readyState` is `Loadable`. If the wallet was injected since the last\n * poll, moves to `Installed` and emits `readyStateChange` instead. In any\n * other state it does nothing.\n */\n openInBread(): void {\n if (this._readyState !== WalletReadyState.Loadable) return;\n if (!this.detectWallet()) this.handOffToBread();\n }\n\n private handOffToBread(): void {\n // iOS and Android hand the link to Bread only for a navigation the user's\n // tap started: this must run before connect() awaits anything, and is\n // skipped without an active tap (a dApp's own connect() on load would just\n // bounce to the fallback page on every visit). A double tap would navigate\n // twice, hence the debounce.\n if (!navigator.userActivation?.isActive) return;\n const now = Date.now();\n if (now - this._breadHandoffAt < BREAD_HANDOFF_DEBOUNCE_MS) return;\n this._breadHandoffAt = now;\n window.location.assign(getBreadOpenLink());\n }\n\n async connect(\n privateDataPermission: PrivateDataPermission,\n network: WalletAdapterNetwork,\n allowedPrivateData?: AllowedPrivateData\n ): Promise<void> {\n try {\n // Guard only against a *concurrent* connect — NOT against being\n // already connected. The in-app wallet browser preserves this\n // adapter's JS context across a park/restore (a dApp is minimized and\n // reopened without a page reload), so a re-opened dApp finds this\n // instance with `connected === true`. An early-return-when-connected\n // made a second connect() a silent no-op, so a re-mounted consumer\n // that re-subscribed to events never received its account back —\n // \"Connect Wallet works only once\" (0xMiden/wallet#470). Re-driving\n // the handshake below is cheap for the common case — the wallet\n // returns the current account for an existing permission without\n // re-prompting — and re-emits `connect`, so repeated connect() calls\n // repopulate the account instead of being suppressed by stale session\n // state. (If the wallet has since locked, the re-drive can surface an\n // unlock prompt where the old code was a silent no-op; that's the\n // intended trade-off — a locked wallet genuinely needs to be unlocked\n // to hand back the account.)\n if (this.connecting) return;\n if (\n this._readyState === WalletReadyState.Loadable &&\n !this.detectWallet()\n ) {\n this.handOffToBread();\n return;\n }\n if (this._readyState !== WalletReadyState.Installed)\n throw new WalletNotReadyError();\n\n this._connecting = true;\n\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const wallet = window.midenWallet! || window.miden!;\n\n try {\n await wallet.connect(\n privateDataPermission,\n network,\n allowedPrivateData\n );\n if (!wallet.address) {\n throw new WalletConnectionError();\n }\n this._address = wallet.address;\n this._publicKey = wallet.publicKey!;\n } catch (error: any) {\n throw new WalletConnectionError(error?.message, error);\n }\n\n this._wallet?.off(\"accountChange\", this._handleAccountChange);\n this._wallet = wallet;\n wallet.on(\"accountChange\", this._handleAccountChange);\n this._privateDataPermission = privateDataPermission;\n\n this.emit(\"connect\", this._address);\n } catch (error: any) {\n this.emit(\"error\", error);\n throw error;\n } finally {\n this._connecting = false;\n }\n }\n\n async disconnect(): Promise<void> {\n const wallet = this._wallet;\n if (wallet) {\n wallet.off(\"accountChange\", this._handleAccountChange);\n this._wallet = null;\n this._address = null;\n this._publicKey = null;\n\n try {\n await wallet.disconnect();\n } catch (error: any) {\n this.emit(\"error\", new WalletDisconnectionError(error?.message, error));\n }\n }\n\n this.emit(\"disconnect\");\n }\n}\n"]}
1
+ {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../adapter.ts"],"names":[],"mappings":"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","sourcesContent":["import { Note, type NoteFilterTypes } from \"@miden-sdk/miden-sdk\";\nimport {\n AllowedPrivateData,\n BaseMessageSignerWalletAdapter,\n EventEmitter,\n scopePollingDetectionStrategy,\n SignKind,\n WalletConnectionError,\n WalletDisconnectionError,\n WalletName,\n WalletNotConnectedError,\n WalletNotReadyError,\n WalletReadyState,\n PrivateDataPermission,\n WalletAdapterNetwork,\n MidenSendTransaction,\n MidenTransaction,\n MidenConsumeTransaction,\n TransactionType,\n WalletTransactionError,\n Asset,\n GuardianInfo,\n CreateAccountParams,\n InputNoteDetails,\n TransactionOutput,\n WalletTransactionOutput,\n b64ToU8,\n} from \"@miden-sdk/miden-wallet-adapter-base\";\n\nexport interface MidenWalletEvents {\n connect(...args: unknown[]): unknown;\n disconnect(...args: unknown[]): unknown;\n accountChange(...args: unknown[]): unknown;\n}\n\nexport interface MidenWallet extends EventEmitter<MidenWalletEvents> {\n address?: string;\n publicKey?: Uint8Array;\n requestSend(\n transaction: MidenSendTransaction\n ): Promise<{ transactionId?: string }>;\n requestConsume(\n transaction: MidenConsumeTransaction\n ): Promise<{ transactionId?: string }>;\n requestTransaction(\n transaction: MidenTransaction\n ): Promise<{ transactionId?: string }>;\n requestAssets(): Promise<{ assets: Asset[] }>;\n requestGuardianInfo(): Promise<{ guardianInfo: GuardianInfo }>;\n requestPrivateNotes(\n noteFilterType: NoteFilterTypes,\n noteIds?: string[]\n ): Promise<{\n privateNotes: InputNoteDetails[];\n }>;\n waitForTransaction(\n txId: string,\n timeout?: number\n ): Promise<WalletTransactionOutput>;\n signBytes(\n message: Uint8Array,\n kind: SignKind\n ): Promise<{\n signature: Uint8Array;\n /**\n * The word the wallet signed, serialized. Present when the wallet signs\n * a domain-separated commitment; older wallets omit it and signed the\n * raw value. Verify with `domainSeparatedSignCommitment(data, kind)`.\n */\n signedCommitment?: Uint8Array;\n }>;\n importPrivateNote(note: Uint8Array): Promise<{ noteId: string }>;\n requestConsumableNotes(): Promise<{ consumableNotes: InputNoteDetails[] }>;\n createAccount(params?: CreateAccountParams): Promise<{ accountId: string }>;\n connect(\n privateDataPermission: PrivateDataPermission,\n network: WalletAdapterNetwork,\n allowedPrivateData?: AllowedPrivateData\n ): Promise<void>;\n disconnect(): Promise<void>;\n}\n\nexport interface MidenWindow extends Window {\n midenWallet?: MidenWallet;\n miden?: MidenWallet;\n bread?: unknown;\n}\n\ndeclare const window: MidenWindow;\n\nexport interface MidenWalletAdapterConfig {\n appName?: string;\n}\n\nexport const MidenWalletName = \"Bread Wallet\" as WalletName<\"Bread Wallet\">;\n\nexport const BREAD_OPEN_LINK_BASE = \"https://bread.miden.xyz/open\";\n\n/**\n * Link that opens `pageUrl` in the Bread app. The app claims it as an iOS\n * universal link and Android app link; without the app it loads a web page.\n * The page URL travels in the fragment, which browsers never send to a server.\n */\nexport function getBreadOpenLink(\n pageUrl: string = window.location.href\n): string {\n return `${BREAD_OPEN_LINK_BASE}#url=${encodeURIComponent(pageUrl)}`;\n}\n\nconst BREAD_EXTENSION_URL =\n \"https://chromewebstore.google.com/detail/Bread/coajhopfooegmaifelglfboehacldcbo\";\n\nconst BREAD_HANDOFF_DEBOUNCE_MS = 1000;\n\nfunction isMobileBrowser(): boolean {\n const { userAgent, maxTouchPoints } = navigator;\n return (\n /iPhone|iPad|iPod|Android/.test(userAgent) ||\n // iPadOS asks for desktop sites by default and then sends a Mac user agent.\n (userAgent.includes(\"Macintosh\") && maxTouchPoints > 1)\n );\n}\n\nexport class MidenWalletAdapter extends BaseMessageSignerWalletAdapter {\n name = MidenWalletName;\n icon =\n \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjExIiBoZWlnaHQ9IjIxNCIgdmlld0JveD0iMCAwIDIxMSAyMTQiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxwYXRoIGQ9Ik0xMDcuNDQgMC4xMjE3NjJDMTIxLjk5IC0wLjkwOTY1MiAxMzQuNzMzIDQuNjc0NjMgMTQ1LjE1NyAxNC40NzYxQzE4My41NjQgLTQuNjYzMDMgMjIyLjk2NSAzNS40NDAxIDIwNi4zNTIgNzMuOTk5MUMyMDQuNzcyIDEwMy4wMDcgMjA4LjUwNyAxMzQuMzIyIDIwNi4zOTUgMTYzLjA1NUMyMDUuNjAyIDE3My43OSAyMDAuMTgyIDE4Mi4yODUgMTkxLjkzNyAxODguODRDMTc5LjgyMiAxOTguNDY1IDE1Ny41MSAyMTEuNzUxIDE0Mi4wNTcgMjEyLjc1MkMxMDEuMzk4IDIxNS4zODggNTcuOTI2NCAyMTAuNjk1IDE2Ljk2ODkgMjEyLjc1MkM2LjQxMDYzIDIxMS45NjUgMS41NzA5MyAyMDUuNTE0IDAuODA4MDQ2IDE5NS4zN0MyLjc5NzY0IDE1NS44MzUgLTEuNzYxMzMgMTEzLjg0NiAwLjgwODA0NiA3NC41OTcyQzMuMjA2NTQgMzcuODgxMyA0MC4wNTY3IC0xLjcwMzA1IDc5LjA4NTcgMTIuNjUxM0M4Ni45MDk4IDUuNTcxNzggOTYuNzk2NyAwLjg3MjQzMSAxMDcuNDQ3IDAuMTE1NjUzTDEwNy40NCAwLjEyMTc2MlpNMTE2LjcxNyAxMjguNTk3QzEzNi45NDIgMTIzLjkyMiAxNDQuMDc3IDk5LjQ3OTMgMTM2LjUyMSA4MS42NTIzQzEzMC45MDcgNjguNDAyNiAxMTcuNDc0IDYxLjgxMTMgMTAzLjYyNiA2MC44ODM3Qzc5LjI3NDkgNTkuMjU0MiA1My4xMjk1IDYyLjE0NyAyOC41ODkxIDYwLjkxNDJDMTguNzAyMiA2Mi4zNDIzIDEwLjQ1MDkgNjcuOTY5MyA4Ljc2MDMzIDc4LjI4MzRMOS4xNzUzIDE5Ny4zNzhDMTAuNTA1OCAyMDAuOTQ5IDEzLjcyODIgMjAzLjgwNSAxNy42MDk3IDIwNC4xODlDNDcuNjE4NCAyMDIuNTIzIDgwLjAwMTEgMjA2LjQwNSAxMDkuNzI5IDIwNC4yMTRDMTQ2LjI2OCAyMDEuNTIyIDE1Ny4wMDkgMTUyLjU2NCAxMjcuNDk1IDEzMy4zNjNMMTE2LjcyMyAxMjguNTk3SDExNi43MTdaIiBmaWxsPSIjRTc3NTM3Ii8+CjxwYXRoIGQ9Ik0xMTYuNzE3IDEyOC41OTdDMTM2Ljk0MiAxMjMuOTIyIDE0NC4wNzcgOTkuNDc5MyAxMzYuNTIxIDgxLjY1MjNDMTMwLjkwNyA2OC40MDI2IDExNy40NzQgNjEuODExMyAxMDMuNjI2IDYwLjg4MzdDNzkuMjc0OSA1OS4yNTQyIDUzLjEyOTUgNjIuMTQ3IDI4LjU4OTEgNjAuOTE0MkMxOC43MDIyIDYyLjM0MjMgMTAuNDUwOSA2Ny45NjkzIDguNzYwMzMgNzguMjgzNEw5LjE3NTMgMTk3LjM3OEMxMC41MDU4IDIwMC45NDkgMTMuNzI4MiAyMDMuODA1IDE3LjYwOTcgMjA0LjE4OUM0Ny42MTg0IDIwMi41MjMgODAuMDAxMSAyMDYuNDA1IDEwOS43MjkgMjA0LjIxNEMxNDYuMjY4IDIwMS41MjIgMTU3LjAwOSAxNTIuNTY0IDEyNy40OTUgMTMzLjM2M0wxMTYuNzIzIDEyOC41OTdIMTE2LjcxN1oiIGZpbGw9IiNGRkZGRkYiLz4KPC9zdmc+Cg==\";\n readonly supportedTransactionVersions = null;\n\n private _connecting: boolean;\n private _wallet: MidenWallet | null;\n private _address: string | null;\n private _publicKey: Uint8Array | null;\n private _privateDataPermission: string;\n // Providers update these fields before emitting accountChange. Reuse the\n // adapter's connect/disconnect events so every existing consumer refreshes.\n private readonly _handleAccountChange = () => {\n const wallet = this._wallet;\n if (!wallet) return;\n\n if (!wallet.address) {\n wallet.off(\"accountChange\", this._handleAccountChange);\n this._wallet = null;\n this._address = null;\n this._publicKey = null;\n this.emit(\"disconnect\");\n return;\n }\n\n this._address = wallet.address;\n this._publicKey = wallet.publicKey ?? null;\n this.emit(\"connect\", this._address);\n };\n private _readyState: WalletReadyState =\n typeof window === \"undefined\" || typeof document === \"undefined\"\n ? WalletReadyState.Unsupported\n : WalletReadyState.NotDetected;\n private _breadHandoffAt = 0;\n\n constructor({ appName = \"sample\" }: MidenWalletAdapterConfig = {}) {\n super();\n this._connecting = false;\n this._wallet = null;\n this._address = null;\n this._publicKey = null;\n this._privateDataPermission = PrivateDataPermission.UponRequest;\n\n if (this._readyState !== WalletReadyState.Unsupported) {\n // Bread's own browser defines window.bread before any page script runs\n // and injects the wallet later, so a page there waits for the wallet. A\n // browser without the User Activation API can't report the tap that the\n // handoff needs.\n if (isMobileBrowser() && !window.bread && navigator.userActivation)\n this._readyState = WalletReadyState.Loadable;\n scopePollingDetectionStrategy(() => this.detectWallet());\n }\n }\n\n private detectWallet(): boolean {\n if (this._readyState === WalletReadyState.Installed) return true;\n if (!window.midenWallet && !window.miden) return false;\n this._readyState = WalletReadyState.Installed;\n this.emit(\"readyStateChange\", this._readyState);\n return true;\n }\n\n get address() {\n return this._address;\n }\n\n get publicKey() {\n return this._publicKey;\n }\n\n get privateDataPermission() {\n return this._privateDataPermission;\n }\n\n get connecting() {\n return this._connecting;\n }\n\n get readyState() {\n return this._readyState;\n }\n\n set readyState(readyState) {\n this._readyState = readyState;\n }\n\n get url() {\n return this._readyState === WalletReadyState.Loadable\n ? getBreadOpenLink()\n : BREAD_EXTENSION_URL;\n }\n\n /**\n * The wallet reports \"success\" as soon as a transaction is ACCEPTED into its\n * queue, not when it lands on chain — so a resolved call with no `transactionId`\n * means the transaction was never submitted. Returning that as `undefined`\n * (the old `result.transactionId!` non-null assertion) made the dApp treat a\n * silent drop as success. Reject instead, so the dApp can surface it and\n * poll `waitForTransaction(txId)` for on-chain confirmation (0xMiden/wallet#314).\n */\n private requireTransactionId(result: { transactionId?: string }): string {\n if (!result?.transactionId) {\n throw new WalletTransactionError(\n \"The wallet returned no transaction id — the transaction was not submitted\"\n );\n }\n return result.transactionId;\n }\n\n async requestSend(transaction: MidenSendTransaction): Promise<string> {\n try {\n const wallet = this._wallet;\n if (!wallet || !this.address) throw new WalletNotConnectedError();\n let result: { transactionId?: string };\n try {\n result = await wallet.requestSend(transaction);\n } catch (error: any) {\n throw new WalletTransactionError(error?.message, error);\n }\n return this.requireTransactionId(result);\n } catch (error: any) {\n this.emit(\"error\", error);\n throw error;\n }\n }\n\n async requestConsume(transaction: MidenConsumeTransaction): Promise<string> {\n try {\n const wallet = this._wallet;\n if (!wallet || !this.address) throw new WalletNotConnectedError();\n let result: { transactionId?: string };\n try {\n result = await wallet.requestConsume(transaction);\n } catch (error: any) {\n throw new WalletTransactionError(error?.message, error);\n }\n return this.requireTransactionId(result);\n } catch (error: any) {\n this.emit(\"error\", error);\n throw error;\n }\n }\n\n async requestTransaction(transaction: MidenTransaction): Promise<string> {\n try {\n const wallet = this._wallet;\n if (!wallet || !this.address) throw new WalletNotConnectedError();\n let result: { transactionId?: string };\n try {\n // The wallet's generalized `requestTransaction` endpoint only accepts\n // a custom-transaction payload, so a `send`/`consume` transaction must\n // be routed to its dedicated endpoint — otherwise the wallet rejects\n // it with \"Invalid CustomTransaction payload\". Dispatching by `type`\n // here is what lets the typed `Transaction` / `TransactionType` API\n // (incl. `Transaction.createConsumeTransaction`) work for every type.\n switch (transaction.type) {\n case TransactionType.Send:\n result = await wallet.requestSend(\n transaction.payload as MidenSendTransaction\n );\n break;\n case TransactionType.Consume:\n result = await wallet.requestConsume(\n transaction.payload as MidenConsumeTransaction\n );\n break;\n default:\n // Custom transactions — and legacy callers that pass a bare\n // `CustomTransaction` payload — go through the generalized endpoint.\n result = await wallet.requestTransaction(transaction);\n break;\n }\n } catch (error: any) {\n throw new WalletTransactionError(error?.message, error);\n }\n return this.requireTransactionId(result);\n } catch (error: any) {\n this.emit(\"error\", error);\n throw error;\n }\n }\n\n async requestAssets(): Promise<Asset[]> {\n try {\n const wallet = this._wallet;\n if (!wallet || !this.address) throw new WalletNotConnectedError();\n try {\n const result = await wallet.requestAssets();\n return result.assets;\n } catch (error: any) {\n throw new WalletTransactionError(error?.message, error);\n }\n } catch (error: any) {\n this.emit(\"error\", error);\n throw error;\n }\n }\n\n async requestGuardianInfo(): Promise<GuardianInfo> {\n try {\n const wallet = this._wallet;\n if (!wallet || !this.address) throw new WalletNotConnectedError();\n try {\n const result = await wallet.requestGuardianInfo();\n return result.guardianInfo;\n } catch (error: any) {\n throw new WalletTransactionError(error?.message, error);\n }\n } catch (error: any) {\n this.emit(\"error\", error);\n throw error;\n }\n }\n\n async requestPrivateNotes(\n noteFilterType: NoteFilterTypes,\n noteIds?: string[]\n ): Promise<InputNoteDetails[]> {\n try {\n const wallet = this._wallet;\n if (!wallet || !this.address) throw new WalletNotConnectedError();\n try {\n const result = await wallet.requestPrivateNotes(\n noteFilterType,\n noteIds\n );\n return result.privateNotes;\n } catch (error: any) {\n throw new WalletTransactionError(error?.message, error);\n }\n } catch (error: any) {\n this.emit(\"error\", error);\n throw error;\n }\n }\n\n async signBytes(message: Uint8Array, kind: SignKind): Promise<Uint8Array> {\n try {\n const wallet = this._wallet;\n if (!wallet || !this.address) throw new WalletNotConnectedError();\n try {\n const result = await wallet.signBytes(message, kind);\n return result.signature;\n } catch (error: any) {\n throw new WalletTransactionError(error?.message, error);\n }\n } catch (error: any) {\n this.emit(\"error\", error);\n throw error;\n }\n }\n\n async importPrivateNote(note: Uint8Array): Promise<string> {\n try {\n const wallet = this._wallet;\n if (!wallet || !this.address) throw new WalletNotConnectedError();\n const result = await wallet.importPrivateNote(note);\n return result.noteId;\n } catch (error: any) {\n this.emit(\"error\", error);\n throw error;\n }\n }\n\n async requestConsumableNotes(): Promise<InputNoteDetails[]> {\n try {\n const wallet = this._wallet;\n if (!wallet || !this.address) throw new WalletNotConnectedError();\n const result = await wallet.requestConsumableNotes();\n return result.consumableNotes;\n } catch (error: any) {\n this.emit(\"error\", error);\n throw error;\n }\n }\n\n async waitForTransaction(\n txId: string,\n timeout?: number\n ): Promise<TransactionOutput> {\n try {\n const wallet = this._wallet;\n if (!wallet || !this.address) throw new WalletNotConnectedError();\n const result = await wallet.waitForTransaction(txId, timeout);\n if (\"errorMessage\" in result) {\n throw new WalletTransactionError(result.errorMessage);\n }\n const notes = result.outputNotes.map((serializedNote) => {\n const u8Arr = b64ToU8(serializedNote);\n return Note.deserialize(u8Arr);\n });\n return {\n txHash: result.txHash,\n outputNotes: notes,\n };\n } catch (error: any) {\n this.emit(\"error\", error);\n throw error;\n }\n }\n\n async createAccount(params?: CreateAccountParams): Promise<string> {\n try {\n const wallet = this._wallet;\n if (!wallet || !this.address) throw new WalletNotConnectedError();\n try {\n const result = await wallet.createAccount(params);\n return result.accountId;\n } catch (error: any) {\n throw new WalletTransactionError(error?.message, error);\n }\n } catch (error: any) {\n this.emit(\"error\", error);\n throw error;\n }\n }\n\n /**\n * Opens the current page in the Bread app, from a tap handler while\n * `readyState` is `Loadable`. If the wallet was injected since the last\n * poll, moves to `Installed` and emits `readyStateChange` instead. In any\n * other state it does nothing.\n */\n openInBread(): void {\n if (this._readyState !== WalletReadyState.Loadable) return;\n if (!this.detectWallet()) this.handOffToBread();\n }\n\n private handOffToBread(): void {\n // iOS and Android hand the link to Bread only for a navigation the user's\n // tap started: this must run before connect() awaits anything, and is\n // skipped without an active tap (a dApp's own connect() on load would just\n // bounce to the fallback page on every visit). A double tap would navigate\n // twice, hence the debounce.\n if (!navigator.userActivation?.isActive) return;\n const now = Date.now();\n if (now - this._breadHandoffAt < BREAD_HANDOFF_DEBOUNCE_MS) return;\n this._breadHandoffAt = now;\n window.location.assign(getBreadOpenLink());\n }\n\n async connect(\n privateDataPermission: PrivateDataPermission,\n network: WalletAdapterNetwork,\n allowedPrivateData?: AllowedPrivateData\n ): Promise<void> {\n try {\n // Guard only against a *concurrent* connect — NOT against being\n // already connected. The in-app wallet browser preserves this\n // adapter's JS context across a park/restore (a dApp is minimized and\n // reopened without a page reload), so a re-opened dApp finds this\n // instance with `connected === true`. An early-return-when-connected\n // made a second connect() a silent no-op, so a re-mounted consumer\n // that re-subscribed to events never received its account back —\n // \"Connect Wallet works only once\" (0xMiden/wallet#470). Re-driving\n // the handshake below is cheap for the common case — the wallet\n // returns the current account for an existing permission without\n // re-prompting — and re-emits `connect`, so repeated connect() calls\n // repopulate the account instead of being suppressed by stale session\n // state. (If the wallet has since locked, the re-drive can surface an\n // unlock prompt where the old code was a silent no-op; that's the\n // intended trade-off — a locked wallet genuinely needs to be unlocked\n // to hand back the account.)\n if (this.connecting) return;\n if (\n this._readyState === WalletReadyState.Loadable &&\n !this.detectWallet()\n ) {\n this.handOffToBread();\n return;\n }\n if (this._readyState !== WalletReadyState.Installed)\n throw new WalletNotReadyError();\n\n this._connecting = true;\n\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const wallet = window.midenWallet! || window.miden!;\n\n try {\n await wallet.connect(\n privateDataPermission,\n network,\n allowedPrivateData\n );\n if (!wallet.address) {\n throw new WalletConnectionError();\n }\n this._address = wallet.address;\n this._publicKey = wallet.publicKey!;\n } catch (error: any) {\n throw new WalletConnectionError(error?.message, error);\n }\n\n this._wallet?.off(\"accountChange\", this._handleAccountChange);\n this._wallet = wallet;\n wallet.on(\"accountChange\", this._handleAccountChange);\n this._privateDataPermission = privateDataPermission;\n\n this.emit(\"connect\", this._address);\n } catch (error: any) {\n this.emit(\"error\", error);\n throw error;\n } finally {\n this._connecting = false;\n }\n }\n\n async disconnect(): Promise<void> {\n const wallet = this._wallet;\n if (wallet) {\n wallet.off(\"accountChange\", this._handleAccountChange);\n this._wallet = null;\n this._address = null;\n this._publicKey = null;\n\n try {\n await wallet.disconnect();\n } catch (error: any) {\n this.emit(\"error\", new WalletDisconnectionError(error?.message, error));\n }\n }\n\n this.emit(\"disconnect\");\n }\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@miden-sdk/miden-wallet-adapter-miden",
3
- "version": "0.17.8",
3
+ "version": "0.17.10",
4
4
  "description": "Miden wallet adapter for the Miden Wallet.",
5
5
  "module": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -16,15 +16,15 @@
16
16
  "author": "Miden Contributors",
17
17
  "license": "MIT",
18
18
  "dependencies": {
19
- "@miden-sdk/miden-wallet-adapter-base": "0.17.8"
19
+ "@miden-sdk/miden-wallet-adapter-base": "0.17.10"
20
20
  },
21
21
  "devDependencies": {
22
22
  "jsdom": "^24.0.0",
23
23
  "vitest": "^1.0.0",
24
- "@miden-sdk/miden-sdk": "0.17.8"
24
+ "@miden-sdk/miden-sdk": "0.17.10"
25
25
  },
26
26
  "peerDependencies": {
27
- "@miden-sdk/miden-sdk": "^0.17.8",
27
+ "@miden-sdk/miden-sdk": "^0.17.10",
28
28
  "typescript": "^5.0.0"
29
29
  },
30
30
  "bugs": {