Skip to content

feat(tokens): list ckSOL as a default token - #8141

Open
Dfinity-Bjoern wants to merge 3 commits into
mainfrom
feat/cksol-default-token
Open

Dfinity-Bjoern wants to merge 3 commits into
mainfrom
feat/cksol-default-token

Conversation

@Dfinity-Bjoern

Copy link
Copy Markdown

Motivation

ckSOL is live on mainnet and should be listed by default on the Tokens page, like ckETH, so users don't have to import it.

Changes

  • New cksol-canister-ids.constants.ts with the mainnet ckSOL ledger (ls5lp-lqaaa-aaaar-qb5oa-cai) and index (2ezyf-hqaaa-aaaar-qb6ga-cai) canister IDs, verified on mainnet (symbol ckSOL, 9 decimals, fee 500, index points to the ledger).
  • loadIcrcCanisters adds ckSOL to the default ICRC canisters.
  • ckSOL is added to IMPORTANT_CK_TOKEN_IDS (right after ckETH) and ALL_CK_TOKENS_CANISTER_IDS, so it shows under the "ck" filter and is included in reporting.
  • New compareTokensCKSOLFirst comparator, used in compareCkTokensByDefault and compareTokensByBalance after ckETH.
  • ckSOL is not deployed on the local and test networks, so it is skipped when IS_TESTNET (same as ckUSDT, ckOCT, …) and has no environment variable override.
  • The logo comes from the ledger's icrc1:logo metadata, so no fallback asset is needed.

Tests

  • Updated icrc-canisters.services.spec.ts and tokens-table.utils.spec.ts to cover ckSOL.
  • Full frontend unit test suite passes locally (673 files).
  • Not checked in a running app.

Todos

  • Accessibility (a11y) – any impact? No.
  • Changelog – is it needed? Yes, added.

🤖 Generated with Claude Code

Load the ckSOL ledger and index canisters by default on mainnet, like
ckETH, and treat ckSOL as an important ck token that sorts right after
ckETH. ckSOL is not deployed on the local and test networks, so it is
skipped there.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@Dfinity-Bjoern
Dfinity-Bjoern requested a review from a team as a code owner November 10, 2026 15:34
Copilot AI balanced review requested due to automatic review settings November 10, 2026 15:34
@zeropath-ai

zeropath-ai Bot commented Nov 10, 2026 •

Copy link
Copy Markdown

✅ No security or compliance issues detected. Reviewed everything up to eaa94ff.

Security Overview
Detected Code Changes
Change Type Relevant files
Enhancement ► frontend/src/lib/constants/cksol-canister-ids.constants.ts
    + Add constants for ckSOL canister IDs (ledger, index, universe)
Enhancement ► frontend/src/lib/constants/tokens.constants.ts
    + Integrate ckSOL universe canister ID
    + Include ckSOL in token lists for non-test environments
Enhancement ► frontend/src/lib/services/icrc-canisters.services.ts
    + Load ckSOL canisters when not in test environment and tokens enabled
Enhancement ► frontend/src/lib/utils/tokens-table.utils.ts
    + Add ckSOL universe to comparisons and token sorting logic
    + Ensure ckSOL appears in default token ordering
Enhancement ► frontend/src/tests/lib/services/icrc-canisters.services.spec.ts
    + Update tests to expect ckSOL canisters loaded alongside ckETH and ckUSDC
    + Extend test data to include ckSOL universe mappings
Enhancement ► frontend/src/tests/lib/utils/tokens-table.utils.spec.ts
    + Extend tests to include ckSOL in token comparisons and ordering
    + Update token filtering expectations to include ckSOL
Enhancement ► frontend/src/tests/lib/utils/tokens-table.utils.spec.ts
    + Adjust expected ordering in multiple scenarios to place ckSOL appropriately

Copilot AI previously approved these changes Nov 10, 2026

Copilot AI left a comment

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.

🟢 Approved

There are no active review issues for the change adding ckSOL as a default mainnet token.

No open issues 🎉

What changed in this PR

Adds ckSOL as a default mainnet token on the Tokens page, so users no longer need to import it manually.

Changes:

  • Defines ckSOL’s mainnet ledger and index IDs and registers it by default outside test networks.
  • Includes ckSOL in ck-token filtering, reporting, and sorting priorities.
  • Updates unit tests and adds a changelog entry.
File Description
frontend/​src/​tests/​lib/​utils/​tokens-table.utils.spec.ts Adds ckSOL sorting and filtering assertions.
frontend/​src/​tests/​lib/​services/​icrc-canisters.services.spec.ts Updates default-canister expectations to include ckSOL.
frontend/​src/​lib/​utils/​tokens-table.utils.ts Adds ckSOL sorting priority after ckETH.
frontend/​src/​lib/​services/​icrc-canisters.services.ts Registers ckSOL by default when ck tokens are enabled outside test networks.
frontend/​src/​lib/​constants/​tokens.constants.ts Includes ckSOL in important-token and reporting lists.
frontend/​src/​lib/​constants/​cksol-canister-ids.constants.ts Defines ckSOL’s mainnet canister IDs.
CHANGELOG-Nns-Dapp-unreleased.md Documents ckSOL’s default-token listing.

Review effort: Balanced

@yhabib

yhabib commented Nov 10, 2026

Copy link
Copy Markdown
Contributor

Thanks, two things:

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Copilot AI balanced review requested due to automatic review settings November 10, 2026 16:49
Copilot AI dismissed their stale review, a newer Copilot review was requested November 10, 2026 16:49
Copilot AI previously approved these changes Nov 10, 2026

Copilot AI left a comment

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.

🟢 Approved

No active review issues remain for the change adding ckSOL as a default mainnet token.

No open issues 🎉

Review effort: Balanced

@Dfinity-Bjoern

Copy link
Copy Markdown
Author

I don't understand what you mean. ckSOL is not a ckERC20 token, it's a completely new and independent integration of the Solana blockchain. So all infrastructure was newly deployed over the last few weeks, and I don't think the method above extends easily.

  • CI fails because ckSOL is missing from the spellcheck dictionary.

Fixed it!

Copilot AI balanced review requested due to automatic review settings November 11, 2026 08:58
Copilot AI dismissed their stale review, a newer Copilot review was requested November 11, 2026 08:58

Copilot AI left a comment

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.

🟢 Approved

No active review issues are recorded for the change adding ckSOL as a default mainnet token.

No open issues 🎉

Review effort: Balanced

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.

3 participants