Skip to content

feat(updates): general consolidation#26

Open
sean-sqds wants to merge 11 commits into
mainfrom
feat/consolidation-optimizations
Open

feat(updates): general consolidation#26
sean-sqds wants to merge 11 commits into
mainfrom
feat/consolidation-optimizations

Conversation

@sean-sqds
Copy link
Copy Markdown

@sean-sqds sean-sqds commented May 22, 2026

This pull request introduces several improvements and refactors to the CLI codebase, focusing on developer experience, runtime reliability, and user feedback. The most significant changes include adding TypeScript linting support, improving dependency management, enhancing CLI robustness, and refactoring the API layer to provide better error handling and user warnings.

Developer tooling and dependency management:

  • Added a new .eslintrc.json configuration to enable TypeScript-aware linting, with recommended rules and ignore patterns for generated and external files.
  • Updated package.json to add scripts for building, type checking, and linting, and pinned all dependencies and devDependencies to exact versions for improved reproducibility. [1] [2] [3]

CLI reliability and user experience:

  • Refactored version reporting in src/index.ts to read the version from package.json at runtime, ensuring the --version output always matches the published package.
  • Improved CLI robustness by normalizing the Ledger wallet path to handle case-insensitive inputs, and added graceful handling of Ctrl+C and unhandled promise rejections for a better user experience. [1] [2]
  • Updated the menu state machine to use an asynchronous run() method instead of top().

API layer enhancements:

  • Refactored src/lib/api.ts to:
    • Add warnings when the fee-paying wallet has a low SOL balance before transactions, and provide clearer error messages for insufficient funds. [1] [2]
    • Replace inefficient client-side filtering of multisigs with parallel on-chain queries, greatly improving performance when fetching multisigs for a wallet.
    • Add utility methods for common authority/vault lookups and refactor transaction submission logic for better code clarity and error handling.
    • Ensure that multisig creation always returns the created object, even if initial vault funding fails, and provide user guidance if funding fails.

@socket-security
Copy link
Copy Markdown

socket-security Bot commented May 22, 2026

Warning

Review the following alerts detected in dependencies.

According to your organization's Security Policy, it is recommended to resolve "Warn" alerts. Learn more about Socket for GitHub.

Action Severity Alert  (click "▶" to expand/collapse)
Warn High
License policy violation: npm @sqds/sdk under AGPL-3.0-or-later

License: AGPL-3.0-or-later - The applicable license policy does not permit this license (5) (npm metadata)

License: AGPL-3.0-or-later - The applicable license policy does not permit this license (5) (package/package.json)

From: package.jsonnpm/@sqds/sdk@2.0.2

ℹ Read more on: This package | This alert | What is a license policy violation?

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 support@socket.dev.

Suggestion: Find a package that does not violate your license policy or adjust your policy to allow this package's license.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/@sqds/sdk@2.0.2. 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.

Warn High
License policy violation: npm argparse under Python-2.0.1

License: Python-2.0.1 - The applicable license policy does not permit this license (5) (package/LICENSE)

From: ?npm/eslint@8.57.0npm/argparse@2.0.1

ℹ Read more on: This package | This alert | What is a license policy violation?

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 support@socket.dev.

Suggestion: Find a package that does not violate your license policy or adjust your policy to allow this package's license.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/argparse@2.0.1. 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.

Warn High
Protestware or unwanted behavior: npm es5-ext

Note: The script attempts to run a local post-install script, which could potentially contain malicious code. The error handling suggests that it is designed to fail silently, which is a common tactic in malicious scripts.

From: ?npm/clui@0.3.6npm/es5-ext@0.10.64

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

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 support@socket.dev.

Suggestion: Consider that consuming this package may come along with functionality unrelated to its primary purpose.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/es5-ext@0.10.64. 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

@sean-sqds sean-sqds marked this pull request as ready for review May 22, 2026 21:09
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