Add Kraken Wrapped Bitcoin (kBTC) token and Coinbase Wrapped BTC (cbBTC) (#2524)

* feat: add Kraken Wrapped Bitcoin (KBTC) token and fix German translation typo in Silent Payments [skip-ci] * feat: add Coinbase Wrapped BTC (CBBTC) and Kraken Wrapped BTC (KBTC) tokens [skip-ci]

Konstantin Ullrich committed Sep 22, 2025 at 07:13 UTC 47092d629c1a7970548d51bc17830bd0b4c8a05b
5 files changed +17 -2
assets/images/cbbtc_icon.png.png
Binary files /dev/null and b/assets/images/cbbtc_icon.png.png differ
assets/images/kbtc_icon.png
Binary files /dev/null and b/assets/images/kbtc_icon.png differ
cw_core/lib/crypto_currency.dart
+2 -1
@@ -239,7 +239,8 @@ class CryptoCurrency extends EnumerableItem<int> with Serializable<int> implemen
239 static const usdtbsc = CryptoCurrency(title: 'USDT', tag: 'BSC', fullName: 'USDT Binance coin', raw: 99, name: 'usdtbsc', iconPath: 'assets/images/usdtbsc_icon.png', decimals: 18);
240 static const ndeps = CryptoCurrency(title: 'NDEPS', tag: 'ETH', fullName: 'Native Decentralized Euro Protocol Share', raw: 100, name: 'ndeps', iconPath: 'assets/images/ndeps_icon.png', decimals: 18);
241 static const deps = CryptoCurrency(title: 'DEPS', tag: 'ETH', fullName: 'Decentralized Euro Protocol Share', raw: 101, name: 'deps', iconPath: 'assets/images/deps_icon.png', decimals: 18);
242 -
242 + static const kbtc = CryptoCurrency(title: 'KBTC', tag: 'ETH', fullName: 'Kraken Wrapped Bitcoin', raw: 102, name: 'kbtc', iconPath: 'assets/images/kbtc_icon.png', decimals: 8);
243 + static const cbbtc = CryptoCurrency(title: 'CBBTC', tag: 'ETH', fullName: 'Coinbase Wrapped BTC', raw: 103, name: 'cbbtc', iconPath: 'assets/images/cbbtc_icon.png', decimals: 8);
244
245 static final Map<int, CryptoCurrency> _rawCurrencyMap =
246 [...all, ...havenCurrencies].fold<Map<int, CryptoCurrency>>(<int, CryptoCurrency>{}, (acc, item) {
cw_ethereum/lib/default_ethereum_erc20_tokens.dart
+14
@@ -318,6 +318,20 @@ class DefaultEthereumErc20Tokens {
318 decimal: 18,
319 enabled: false,
320 ),
321 + Erc20Token(
322 + name: "Kraken Wrapped Bitcoin",
323 + symbol: "KBTC",
324 + contractAddress: "0x73E0C0d45E048D25Fc26Fa3159b0aA04BfA4Db98",
325 + decimal: 8,
326 + enabled: false,
327 + ),
328 + Erc20Token(
329 + name: "Coinbase Wrapped BTC",
330 + symbol: "CBBTC",
331 + contractAddress: "0xcbB7C0000aB88B473b1f5aFd9ef808440eed33Bf",
332 + decimal: 8,
333 + enabled: false,
334 + ),
335 ];
336
337 List<Erc20Token> get initialErc20Tokens => _defaultTokens.map((token) {
res/values/strings_de.arb
+1 -1
@@ -882,7 +882,7 @@
882 "silent_payments_scan_from_date": "Scan ab Datum",
883 "silent_payments_scan_from_date_or_blockheight": "Bitte geben Sie die Blockhöhe ein, die Sie für eingehende Silent Payments scannen möchten, oder verwenden Sie stattdessen das Datum. Sie können wählen, ob die Wallet jeden Block scannt oder nur die angegebene Höhe überprüft.",
884 "silent_payments_scan_from_height": "Scan aus der Blockhöhe scannen",
885 - "silent_payments_scanned_tip": "Gescannt zum Trinkgeld! (${tip})",
885 + "silent_payments_scanned_tip": "Zur Spitze gescannt! (${tip})",
886 "silent_payments_scanning": "Silent Payments scannen",
887 "silent_payments_settings": "Einstellungen für Silent Payments",
888 "single_seed_wallets_group": "Einzelne Wallets",