Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(rndemos): update metro config to support eciesjs crypto imports #1147

Open
wants to merge 5 commits into
base: main
Choose a base branch
from

Conversation

abretonc7s
Copy link
Collaborator

Description

Problem

The recent update to eciesjs v0.4.12 switched from using crypto to node:crypto, causing React Native examples to fail due to missing module resolution. This PR fixes the module resolution in the React Native environment.

Changes

  • Added custom resolver in metro.config.js for @ecies/ciphers/aes and @ecies/ciphers/chacha
  • Updated eciesjs dependency from v0.4.4 to v0.4.12
  • Added node:crypto alias to resolve to react-native-crypto
  • Added required URL field to dapp metadata in example apps
  • Deprecated base64Icon in DappMetadata type (use iconUrl instead)

Implementation Details

Metro Configuration Updates

// Added resolver for node:crypto
'node:crypto': require.resolve('react-native-crypto')

// Added custom resolvers for ecies cipher modules
'@ecies/ciphers/aes': '.../node_modules/@ecies/ciphers/dist/aes/node.js'
'@ecies/ciphers/chacha': '.../node_modules/@ecies/ciphers/dist/chacha/node.js'

Breaking Changes

  • None. All changes maintain backward compatibility.

Deprecations

  • base64Icon in DappMetadata is now deprecated in favor of iconUrl

Copy link

codecov bot commented Nov 26, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 74.14%. Comparing base (8ab1cf1) to head (fa10eac).

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1147      +/-   ##
==========================================
- Coverage   74.26%   74.14%   -0.12%     
==========================================
  Files         181      181              
  Lines        4297     4297              
  Branches     1052     1052              
==========================================
- Hits         3191     3186       -5     
- Misses       1106     1111       +5     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@abretonc7s abretonc7s marked this pull request as ready for review November 27, 2024 04:58
@abretonc7s abretonc7s requested a review from a team as a code owner November 27, 2024 04:58
Copy link

New and removed dependencies detected. Learn more about Socket for GitHub ↗︎

Package New capabilities Transitives Size Publisher
npm/@metamask/[email protected] None 0 2.14 MB metamaskbot
npm/@metamask/[email protected] None 0 2.97 MB metamaskbot
npm/@metamask/[email protected] environment, eval, filesystem, network 0 14.1 MB metamaskbot

🚮 Removed packages: npm/@noble/[email protected]

View full report↗︎

Copy link

🚨 Potential security issues detected. Learn more about Socket for GitHub ↗︎

To accept the risk, merge this PR and you will not be notified again.

Alert Package NoteSourceCI
Network access npm/@metamask/[email protected] 🚫

View full report↗︎

Next steps

What is network access?

This module accesses the network.

Packages should remove all network access that is functionally unnecessary. Consumers should audit network access to ensure legitimate use.

Take a deeper look at the dependency

Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support [AT] socket [DOT] dev.

Remove the package

If you happen to install a dependency that Socket reports as Known Malware you should immediately remove it and select a different dependency. For other alert types, you may may wish to investigate alternative packages or consider if there are other ways to mitigate the specific risk posed by the dependency.

Mark a package as acceptable risk

To ignore an alert, reply with a comment starting with @SocketSecurity ignore followed by a space separated list of ecosystem/package-name@version specifiers. e.g. @SocketSecurity ignore npm/[email protected] or ignore all packages with @SocketSecurity ignore-all

Copy link

sonarcloud bot commented Nov 27, 2024

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.

1 participant