Skip to content

add starknet support#3125

Draft
adrienlacombe wants to merge 33 commits intocake-tech:devfrom
adrienlacombe:feat/starknet
Draft

add starknet support#3125
adrienlacombe wants to merge 33 commits intocake-tech:devfrom
adrienlacombe:feat/starknet

Conversation

@adrienlacombe
Copy link
Copy Markdown

@adrienlacombe adrienlacombe commented Mar 24, 2026

Issue Number (if Applicable): N/A

Description

Add basic Starknet support

Pull Request - Checklist

  • Initial Manual Tests Passed
  • Double check modified code and verify it with the feature/task requirements
  • Format code
  • Look for code duplication
  • Clear naming for variables and methods
  • Manual tests in accessibility mode (TalkBack on Android) passed

@adrienlacombe
Copy link
Copy Markdown
Author

adrienlacombe and others added 6 commits April 15, 2026 17:33
Integrate Starknet (STRK) as a new wallet type with raw id 111,
resolve migration version conflicts by shifting starknet migrations
to cases 62-63 after upstream's case 61.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The starknet.webp was using the Ethereum logo. Replace it with the
actual Starknet logo.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Remove tracked build artifacts (cw_starknet/build/) and add .gitignore
- Extract shared truncateDecimalString utility to eliminate duplication
  between StarknetBalance and StarknetTransactionInfo
- Make weiToDouble public and reuse in StarknetTransferEvent getters
- Remove redundant destinationAddressHex param from createTransaction
- Fix amount truncation: use (starknetAmount * 1e8).round() instead of .toInt()
- Add missing await on backup saveKeysFile call
- Remove dead _addStarknetListItems method from TransactionDetailsViewModel
- Simplify assetOfTransaction (both branches returned the same value)
- Extract _openAndInit helper in StarknetWalletService.openWallet
- Merge duplicate format_account_error/format_account_factory_error in Rust
- Reuse provider in send_transfer deployment check
- Fix inconsistent quote style (double -> single)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Required by cw_starknet generated FFI code which uses the
wasmBindgenName parameter added in 2.12.0.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
adrienlacombe and others added 7 commits April 16, 2026 17:01
Replace dead/rate-limited endpoints (OnFinality, Blast, Nethermind,
Alchemy-gated) with verified public nodes: Cartridge (default), Lava,
PublicNode, dRPC. Remove the Starknet-specific hardcoded fallback list
in the client; rely on the shared isEnabledForAutoSwitching path used by
every other chain.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Drop armeabi-v7a from the split (never used downstream), make x86_64
opt-in via a workflow input, remove the cache-wiping block that forced
build_runner to regenerate from scratch, and enable Gradle parallel +
build cache. Cuts one full native compile pass and avoids redundant
dart_tool/pub re-resolution on every run.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Give build.sh a separate push registry (ghcr.io/<owner>/cake_wallet) so
forks can cache their own mwebd/final rebuilds while still pulling the
shared base/bitbox/reown/monero/zcash/torch/decred layers from upstream.
Adds ensure_image() with primary → push-registry → fallback-registry
pull order, and pre-pulls final before the extract attempt so a cached
final short-circuits every intermediate build().

Also mount /root/.cargo and set CARGO_TARGET_DIR to a persistent path so
the six cargokit Rust projects (breez-sdk-spark, starknet, dnssec_proof,
payjoin, zkool2, sp_scanner) share registry + build artifacts across
runs.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
The previous commit mounted /opt/cw_cache_android/root/.cargo onto
/root/.cargo, but that directory ships with the container image and
contains bin/rustup. An empty host mount replaced bin/ and cargokit
failed with "rustup not found in PATH".

Mount only the registry and git caches — the parts that actually need
to persist across runs — and leave bin/ from the image intact.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
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