Skip to content

Conversation

@F-OBrien
Copy link

@F-OBrien F-OBrien commented Sep 6, 2025

Overview

Expands the DFNS Polymesh integration from a basic signing manager to a library with three specialized signing managers, reducing boilerplate code and improving compatibility with existing Polymesh tooling.

Key Changes

🚀 Three Specialized Signing Managers

  • DfnsBrowserSigningManager: Client-side SPAs with WebAuthn and token caching
  • DfnsServiceAccountSigningManager: Backend services with non-interactive access
  • DfnsExternalSigningManager: Production dApps with custom signing challenge handling

🔧 Enhanced Developer Experience

  • Browser Extension Compatibility: Added getAccountsWithMeta() matching Polymesh browser extension interface
  • Multi-Wallet Support: Automatic discovery and management of all accessible wallets
  • Reduced Boilerplate: Pre-configured signing managers eliminate repetitive setup code
  • Type Safety: Comprehensive TypeScript definitions throughout

📚 Production Examples

  • Complete Next.js applications demonstrating browser and external signing patterns

The implementation is self-contained within the Polymesh package and follows established DFNS patterns. I understand this represents a significant addition. The code is production-ready, but I completely understand if the scope feels too large for the core SDK.

@socket-security
Copy link

Caution

Review the following alerts detected in dependencies.

According to your organization's Security Policy, you must resolve all "Block" alerts before proceeding. Learn more about Socket for GitHub.

Action Severity Alert  (click "▶" to expand/collapse)
Block Medium
[email protected] has Shell access.

Module: child_process

Location: Package overview

From: examples/libs/polymesh/browser-signing-manager-nextjs/package-lock.jsonnpm/[email protected]npm/[email protected]

ℹ Read more on: This package | This alert | What is shell access?

Next steps: 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 [email protected].

Suggestion: Packages should avoid accessing the shell which can reduce portability, and make it easier for malicious shell access to be introduced.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/[email protected]. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Block Medium
[email protected] has Install scripts.

Install script: postinstall

Source: napi-postinstall unrs-resolver 1.11.1 check

From: examples/libs/polymesh/browser-signing-manager-nextjs/package-lock.jsonnpm/[email protected]npm/[email protected]

ℹ Read more on: This package | This alert | What is an install script?

Next steps: 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 [email protected].

Suggestion: Packages should not be running non-essential scripts during install and there are often solutions to problems people solve with install scripts that can be run at publish time instead.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/[email protected]. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Block Low
[email protected] has Filesystem access.

Module: fs

Location: Package overview

From: examples/libs/polymesh/browser-signing-manager-nextjs/package-lock.jsonnpm/[email protected]npm/[email protected]

ℹ Read more on: This package | This alert | What is filesystem access?

Next steps: 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 [email protected].

Suggestion: If a package must read the file system, clarify what it will read and ensure it reads only what it claims to. If appropriate, packages can leave file system access to consumers and operate on data passed to it instead.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/[email protected]. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

View full report

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