Skip to content

feat: add Internet Computer (ICP) blockchain integration#3255

Draft
bernd2022 wants to merge 3 commits intodevelopfrom
feature/icp-integration
Draft

feat: add Internet Computer (ICP) blockchain integration#3255
bernd2022 wants to merge 3 commits intodevelopfrom
feature/icp-integration

Conversation

@bernd2022
Copy link
Collaborator

Summary

  • Full ICP blockchain integration with native ICP and ICRC-1 token support (ckBTC, ckETH, ckUSDC, ckUSDT)
  • Principal-based wallet derivation (Ed25519, BIP32/BIP39), replacing legacy AccountIdentifiers
  • Buy (EUR → ICP/ckUSDT), Sell (ICP/ckUSDT → EUR), and Payment Link (OCP) pipelines including ICRC-2 Approve/TransferFrom flow
  • DEX, PayIn, and Payout strategies for coin and token variants
  • Native ICP monitoring via query_blocks with internal AccountIdentifier matching; ICRC-1 token monitoring via get_transactions (ICRC-3)

Test plan

  • Buy-ICP (EUR → ICP) E2E tested (3 rounds)
  • Buy-ckUSDT (EUR → ckUSDT) E2E tested (3 rounds)
  • Sell-ICP (ICP → EUR) E2E tested (3 rounds)
  • Sell-ckUSDT (ckUSDT → EUR) E2E tested (3 rounds)
  • Payment Link ICP + ckUSDT (TxId-based) E2E tested
  • Payment Link ICP + ckUSDT (ICRC-2 Approve/TransferFrom) E2E tested
  • Payment Forward (Payment-Wallet → DEX-Wallet) verified
  • TypeCheck, Prettier, all 793 unit tests passing

Add full ICP support including native ICP and ICRC-1 tokens (ckBTC, ckETH, ckUSDC, ckUSDT):
- Principal-based wallet derivation (Ed25519, BIP32/BIP39)
- Native ICP monitoring via query_blocks with internal AccountIdentifier matching
- ICRC-1 token monitoring via get_transactions (ICRC-3)
- Buy (EUR → ICP/ckUSDT), Sell (ICP/ckUSDT → EUR) pipelines
- Payment Link (OCP) support with TxId and ICRC-2 Approve/TransferFrom flows
- DEX strategies (check-liquidity, purchase, sell, supplementary)
- PayIn strategies (register, send for coin and token)
- Payout strategies (prepare, payout for coin and token)
- Deposit address generation (one Principal per user for all ICP assets)
- Signature verification for user authentication
@bernd2022 bernd2022 force-pushed the feature/icp-integration branch from 456ecf3 to 32973f1 Compare February 24, 2026 17:24
Replace nested ternary with a record lookup for better readability and maintainability.
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