Skip to content

✨ (signer-concordium) [LIVE-26529]: Add verifyAddress with trusted backend support#1425

Merged
lysyi3m merged 1 commit intodevelopfrom
feat/live-26529-concordium-lw-implement-verify-address-in-the-new-signer-package
Apr 17, 2026
Merged

✨ (signer-concordium) [LIVE-26529]: Add verifyAddress with trusted backend support#1425
lysyi3m merged 1 commit intodevelopfrom
feat/live-26529-concordium-lw-implement-verify-address-in-the-new-signer-package

Conversation

@lysyi3m
Copy link
Copy Markdown
Contributor

@lysyi3m lysyi3m commented Apr 13, 2026

📝 Description

Implements the verifyAddress method for @ledgerhq/device-signer-kit-concordium following the "trusted backend" pattern defined in ADR 001.
The full device flow orchestrates six APDU steps:

  • get public key,
  • get challenge,
  • fetch signed account ownership descriptor from the trusted metadata service (via context-module),
  • load PKI certificate,
  • set trusted name descriptor,
  • and verify address — where the device validates the certificate chain, matches the derived key against the descriptor, and displays the address for user approval.

The SignerConcordiumBuilder gains a withContextModule() method to inject the context module dependency.

❓ Context

  • Feature:

✅ Checklist

Pull Requests must pass CI checks and undergo code review. Set the PR as Draft if it is not yet ready for review.

  • Covered by automatic tests
  • Changeset is provided
  • Documentation is up-to-date
  • Impact of the changes: new functionality added

🧐 Checklist for the PR Reviewers

  • The code aligns with the requirements described in the linked JIRA or GitHub issue.
  • The PR description clearly documents the changes made and explains any technical trade-offs or design decisions.
  • There are no undocumented trade-offs, technical debt, or maintainability issues.
  • The PR has been tested thoroughly, and any potential edge cases have been considered and handled.
  • Any new dependencies have been justified and documented.

@lysyi3m lysyi3m requested a review from a team as a code owner April 13, 2026 17:49
Copilot AI review requested due to automatic review settings April 13, 2026 17:49
@vercel
Copy link
Copy Markdown

vercel bot commented Apr 13, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
device-sdk-ts-sample Ready Ready Preview, Comment Apr 17, 2026 1:02pm
1 Skipped Deployment
Project Deployment Actions Updated (UTC)
doc-device-management-kit Ignored Ignored Apr 17, 2026 1:02pm

Request Review

This comment was marked as resolved.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Apr 13, 2026

Danger Check Results

Messages

Danger: All checks passed successfully! 🎉

Generated by 🚫 dangerJS against eab6d58

@lysyi3m lysyi3m force-pushed the feat/live-26529-concordium-lw-implement-verify-address-in-the-new-signer-package branch from dd64798 to bc0c7fa Compare April 13, 2026 18:13
@lysyi3m lysyi3m requested a review from Copilot April 13, 2026 18:14

This comment was marked as resolved.

@lysyi3m lysyi3m force-pushed the feat/live-26529-concordium-lw-implement-verify-address-in-the-new-signer-package branch from bc0c7fa to 5b29cb9 Compare April 13, 2026 18:26
@lysyi3m lysyi3m requested a review from Copilot April 13, 2026 18:27

This comment was marked as resolved.

@lysyi3m lysyi3m force-pushed the feat/live-26529-concordium-lw-implement-verify-address-in-the-new-signer-package branch from 5b29cb9 to 16cb97f Compare April 13, 2026 18:36
@lysyi3m lysyi3m requested a review from Copilot April 13, 2026 18:36

This comment was marked as resolved.

@lysyi3m lysyi3m force-pushed the feat/live-26529-concordium-lw-implement-verify-address-in-the-new-signer-package branch from 16cb97f to 0e41433 Compare April 13, 2026 18:47
@lysyi3m lysyi3m requested a review from Copilot April 13, 2026 18:47

This comment was marked as resolved.

@lysyi3m lysyi3m force-pushed the feat/live-26529-concordium-lw-implement-verify-address-in-the-new-signer-package branch from 0e41433 to 8be2fba Compare April 13, 2026 19:21
@lysyi3m lysyi3m requested a review from Copilot April 13, 2026 19:21

This comment was marked as resolved.

@lysyi3m lysyi3m force-pushed the feat/live-26529-concordium-lw-implement-verify-address-in-the-new-signer-package branch from 16ba8a5 to 817ace2 Compare April 13, 2026 20:12
@lysyi3m lysyi3m requested a review from Copilot April 13, 2026 20:12
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 27 out of 28 changed files in this pull request and generated no new comments.

Files not reviewed (1)
  • pnpm-lock.yaml: Language not supported

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@lysyi3m lysyi3m force-pushed the feat/live-26529-concordium-lw-implement-verify-address-in-the-new-signer-package branch from 817ace2 to 2ec9fcd Compare April 14, 2026 06:52
@lysyi3m lysyi3m force-pushed the feat/live-26528-concordium-lw-implement-context-module-for-account-ownership branch from 254d8fa to 106a40f Compare April 14, 2026 12:11
Base automatically changed from feat/live-26528-concordium-lw-implement-context-module-for-account-ownership to develop April 16, 2026 09:25
@lysyi3m lysyi3m force-pushed the feat/live-26529-concordium-lw-implement-verify-address-in-the-new-signer-package branch from 2ec9fcd to 20a481d Compare April 16, 2026 12:24
return new DefaultSignerConcordium({
dmk: this._dmk,
sessionId: this._sessionId,
contextModule: this._customContextModule,
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

[SHOULD] Currently, calling verifyAddress without withContextModule() throws, We should provide a default ContextModule to have a safer API and more consistent with the other signers WDYT?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

@fAnselmi-Ledger nice catch.

done ✅


const DERIVATION_PATH = "44'/919'/0'/0'/0'";
const ADDRESS = "3kFkntk2H5FGMzeR3GjQKPhdZK9LShKdPHsj2fiGKCdmDXj2WB";
const NETWORK = "mainnet" as const;
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

[COULD] This could be an ENUM!

@lysyi3m lysyi3m force-pushed the feat/live-26529-concordium-lw-implement-verify-address-in-the-new-signer-package branch from 20a481d to eab6d58 Compare April 17, 2026 13:01
@lysyi3m lysyi3m requested a review from Copilot April 17, 2026 13:01
@sonarqubecloud
Copy link
Copy Markdown

Quality Gate Failed Quality Gate failed

Failed conditions
3.8% Duplication on New Code (required ≤ 3%)

See analysis details on SonarQube Cloud

This comment was marked as resolved.

@lysyi3m lysyi3m added this pull request to the merge queue Apr 17, 2026
Merged via the queue into develop with commit 14e4b61 Apr 17, 2026
28 of 29 checks passed
@lysyi3m lysyi3m deleted the feat/live-26529-concordium-lw-implement-verify-address-in-the-new-signer-package branch April 17, 2026 14:02
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.

5 participants