Skip to content

feat(vault): support descriptor voting-key imports#23

Merged
sidhujag merged 8 commits intomasterfrom
feat/vault-descriptor-import
Apr 24, 2026
Merged

feat(vault): support descriptor voting-key imports#23
sidhujag merged 8 commits intomasterfrom
feat/vault-descriptor-import

Conversation

@sidhujag
Copy link
Copy Markdown
Member

Summary

  • add private descriptor import support to the vault flow while normalizing derived keys back into the existing WIF + address storage model
  • keep the import UX responsive with async per-row validation, chunked ranged-descriptor scans, and clearer modal guidance for fixed vs ranged descriptors
  • clean up CSV-style trailing commas in labels and add focused coverage for descriptor parsing, async cancellation, and modal save behavior

Test plan

  • npm test -- --watchAll=false src/lib/syscoin/descriptor.test.js src/lib/vaultData.test.js src/components/VaultImportModal.test.js

Made with Cursor

Add private descriptor import to the vault flow so operators can paste modern Syscoin Core exports without converting them manually. Keep the existing WIF-based signing/storage model by deriving the matching leaf key locally, and preserve the import UX with async per-row validation plus CSV-friendly label cleanup.

Made-with: Cursor
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 32e857c6ca

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread src/lib/vaultData.js Outdated
jagdeep sidhu added 2 commits April 24, 2026 11:32
Address the import modal lint warnings that caused the production build job to fail in CI without changing import behavior.

Made-with: Cursor
Only treat the second pasted field as an address hint when the descriptor is actually ranged so fixed descriptors keep address-like labels intact.

Made-with: Cursor
@sidhujag
Copy link
Copy Markdown
Member Author

@codex review

1 similar comment
@sidhujag
Copy link
Copy Markdown
Member Author

@codex review

Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: f250c157e8

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread src/components/VaultImportModal.js
Comment thread src/lib/syscoin/descriptor.js
Invalidate save eligibility immediately when the paste changes and enforce descriptor checksum validation when a checksum suffix is supplied.

Made-with: Cursor
@sidhujag
Copy link
Copy Markdown
Member Author

@codex review

Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 54d787beb7

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread src/lib/syscoin/descriptor.js Outdated
Require the wrapped xprv/tprv key expression to parse completely so malformed descriptor suffixes fail validation instead of importing a prefix-matched key.

Made-with: Cursor
@sidhujag
Copy link
Copy Markdown
Member Author

@codex review

Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 3e599f48a8

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread src/components/VaultImportModal.js Outdated
Comment thread package-lock.json
Batch async row updates to keep large import pastes responsive and raise the declared Node floor to match the new dependency engine requirement.

Made-with: Cursor
@sidhujag
Copy link
Copy Markdown
Member Author

@codex review

Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: a861787262

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread src/lib/syscoin/descriptor.js Outdated
Only accept v0 P2WPKH bech32 address hints for voting-key imports so invalid segwit programs fail fast instead of scanning descriptors pointlessly.

Made-with: Cursor
@sidhujag
Copy link
Copy Markdown
Member Author

@codex review

Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: c11aeb6df4

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread src/lib/vaultData.js
Treat the second CSV field as the ranged descriptor address hint so typos are reported as invalid input instead of being misclassified as a missing address.

Made-with: Cursor
@sidhujag
Copy link
Copy Markdown
Member Author

@codex review

@chatgpt-codex-connector
Copy link
Copy Markdown

Codex Review: Didn't find any major issues. Breezy!

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@sidhujag sidhujag merged commit f51ca3b into master Apr 24, 2026
4 checks passed
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