Skip to content

Android: add Solana and Bitcoin extensions, remove oidc module, bump nimbus-jose-jwt - #64

Open
jerry-payward wants to merge 3 commits into
mainfrom
jerry/remove-oidc-module
Open

jerry-payward wants to merge 3 commits into
mainfrom
jerry/remove-oidc-module

Conversation

@jerry-payward

@jerry-payward jerry-payward commented Oct 19, 2026 •

Copy link
Copy Markdown

Summary

  • Add Solana and Bitcoin support to the core module, mirroring @magic-ext/solana and @magic-ext/bitcoin and the iOS SDK. Magic takes an extensions list, and exposes magic.solana and magic.bitcoin.
  • Remove the magic/ext/oidc module and its OpenID login UI and dependency in the example app.
  • Bump nimbus-jose-jwt from 9.31 to 10.10, which fixes CVE-2023-52428 and CVE-2025-53864.

Solana and Bitcoin details

  • New ObjectParamsRequest and an internal object-params sendAsync in RpcProvider, because Solana and Bitcoin send an object as params and web3j's Request only takes a list. The existing list path is unchanged.
  • TypedArray carries the mgbox typed-array wire format through a Gson @JsonAdapter.
  • The extension config is sent to the relayer as ext in the URL options.
  • Bug fix in RpcProvider: it ran .replace("\\n", "") over the whole message, which deleted newlines from text to sign. The relayer URL now uses Base64.NO_WRAP instead.
  • web3j stays on 4.8.8-android. 4.12.3-android is published without a dependency list and does not compile with the SDK, so it would be a breaking change.

Testing

  • Gradle: :magic:core unit tests pass (17 new and 1 existing). :magic:core:assembleRelease, :magic:ext:oauth and :example assemble.
  • Not yet run against the relayer: Solana and Bitcoin signing, revealPrivateKey, and the DPoP signing with the new nimbus. The example app was not run on a device and has no Solana or Bitcoin screens yet.

Notes

  • The published link.magic:magic-ext-oidc artifact stays on Maven Central. This PR only stops the repo from building it.

🤖 Generated with Claude Code

Delete magic/ext/oidc and its settings entry. Drop the OpenID login
button, inputs, handler and strings from the example app, along with
the magic-ext-oidc dependency.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@jerry-payward
jerry-payward requested a review from a team as a code owner October 19, 2026 20:34
@github-advanced-security

Copy link
Copy Markdown

You are seeing this message because GitHub Code Scanning has recently been set up for this repository, or this pull request contains the workflow file for the Code Scanning tool.

What Enabling Code Scanning Means:

  • The 'Security' tab will display more code scanning analysis results (e.g., for the default branch).
  • Depending on your configuration and choice of analysis tool, future pull requests will be annotated with code scanning analysis results.
  • You will be able to see the analysis results for the pull request's branch on this overview once the scans have completed and the checks have passed.

For more information about GitHub Code Scanning, check out the documentation.

jerry-payward and others added 2 commits October 19, 2026 13:36
Mirrors @magic-ext/solana and @magic-ext/bitcoin, and the iOS SDK change.
Pass SolanaConfiguration and BitcoinConfiguration to the Magic constructor,
then use magic.solana and magic.bitcoin (null unless configured).

Solana methods send an object for params, which web3j's Request cannot hold,
so RpcProvider gets an internal sendAsync for that. Bytes use the mgbox
typed-array format.

Also stop RpcProvider from deleting every escaped newline from the message.
That changed any multi-line text to sign (for example a Sign-In With Solana
message). The newlines came from the wrapped base64 in the URL params, so
the params are now encoded with NO_WRAP.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
9.31 is affected by CVE-2023-52428 and CVE-2025-53864. Both are fixed
in 10.10.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@jerry-payward jerry-payward changed the title Remove the oidc extension module Android: add Solana and Bitcoin extensions, remove oidc module, bump nimbus-jose-jwt Oct 19, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants