diff --git a/assets/base_node_list.yml b/assets/base_node_list.yml index d135f7aea..990e972a4 100644 --- a/assets/base_node_list.yml +++ b/assets/base_node_list.yml @@ -1,6 +1,5 @@ - uri: base.nownodes.io - is_default: true useSSL: true isEnabledForAutoSwitching: true - @@ -8,6 +7,7 @@ useSSL: true - uri: base-rpc.publicnode.com + is_default: true useSSL: true isEnabledForAutoSwitching: true - diff --git a/assets/images/2.0x/exchange.png b/assets/images/2.0x/exchange.png deleted file mode 100644 index a13680225..000000000 Binary files a/assets/images/2.0x/exchange.png and /dev/null differ diff --git a/assets/images/2.0x/eye.png b/assets/images/2.0x/eye.png deleted file mode 100644 index 4389fb7e4..000000000 Binary files a/assets/images/2.0x/eye.png and /dev/null differ diff --git a/assets/images/2.0x/eye_action.png b/assets/images/2.0x/eye_action.png deleted file mode 100644 index e05bb87d6..000000000 Binary files a/assets/images/2.0x/eye_action.png and /dev/null differ diff --git a/assets/images/2.0x/face.png b/assets/images/2.0x/face.png deleted file mode 100644 index 034cc58f5..000000000 Binary files a/assets/images/2.0x/face.png and /dev/null differ diff --git a/assets/images/2.0x/filter_button.png b/assets/images/2.0x/filter_button.png deleted file mode 100644 index 767e4e561..000000000 Binary files a/assets/images/2.0x/filter_button.png and /dev/null differ diff --git a/assets/images/2.0x/filter_light_button.png b/assets/images/2.0x/filter_light_button.png deleted file mode 100644 index d18a5e70a..000000000 Binary files a/assets/images/2.0x/filter_light_button.png and /dev/null differ diff --git a/assets/images/2.0x/header.png b/assets/images/2.0x/header.png deleted file mode 100644 index 192b343ff..000000000 Binary files a/assets/images/2.0x/header.png and /dev/null differ diff --git a/assets/images/2.0x/key.png b/assets/images/2.0x/key.png deleted file mode 100644 index 439ef2f2e..000000000 Binary files a/assets/images/2.0x/key.png and /dev/null differ diff --git a/assets/images/2.0x/morph_icon.png b/assets/images/2.0x/morph_icon.png deleted file mode 100644 index 0cc2c3bac..000000000 Binary files a/assets/images/2.0x/morph_icon.png and /dev/null differ diff --git a/assets/images/2.0x/nodes.png b/assets/images/2.0x/nodes.png deleted file mode 100644 index 4fcc89960..000000000 Binary files a/assets/images/2.0x/nodes.png and /dev/null differ diff --git a/assets/images/2.0x/qr_icon.png b/assets/images/2.0x/qr_icon.png deleted file mode 100644 index 6c448bcc2..000000000 Binary files a/assets/images/2.0x/qr_icon.png and /dev/null differ diff --git a/assets/images/2.0x/reconnect.png b/assets/images/2.0x/reconnect.png deleted file mode 100644 index dda61e316..000000000 Binary files a/assets/images/2.0x/reconnect.png and /dev/null differ diff --git a/assets/images/2.0x/reconnect_menu.png b/assets/images/2.0x/reconnect_menu.png deleted file mode 100644 index 17a08ecdc..000000000 Binary files a/assets/images/2.0x/reconnect_menu.png and /dev/null differ diff --git a/assets/images/2.0x/settings.png b/assets/images/2.0x/settings.png deleted file mode 100644 index 53918cb0a..000000000 Binary files a/assets/images/2.0x/settings.png and /dev/null differ diff --git a/assets/images/2.0x/share.png b/assets/images/2.0x/share.png deleted file mode 100644 index 56f2bf7d1..000000000 Binary files a/assets/images/2.0x/share.png and /dev/null differ diff --git a/assets/images/2.0x/triangle.png b/assets/images/2.0x/triangle.png deleted file mode 100644 index 1a7baf26d..000000000 Binary files a/assets/images/2.0x/triangle.png and /dev/null differ diff --git a/assets/images/2.0x/xmr_btc.png b/assets/images/2.0x/xmr_btc.png deleted file mode 100644 index 1a68e24cf..000000000 Binary files a/assets/images/2.0x/xmr_btc.png and /dev/null differ diff --git a/assets/images/3.0x/exchange.png b/assets/images/3.0x/exchange.png deleted file mode 100644 index 52d78d21e..000000000 Binary files a/assets/images/3.0x/exchange.png and /dev/null differ diff --git a/assets/images/3.0x/eye.png b/assets/images/3.0x/eye.png deleted file mode 100644 index 4a5fb12b1..000000000 Binary files a/assets/images/3.0x/eye.png and /dev/null differ diff --git a/assets/images/3.0x/eye_action.png b/assets/images/3.0x/eye_action.png deleted file mode 100644 index a45123d4d..000000000 Binary files a/assets/images/3.0x/eye_action.png and /dev/null differ diff --git a/assets/images/3.0x/face.png b/assets/images/3.0x/face.png deleted file mode 100644 index 2d86b5aa0..000000000 Binary files a/assets/images/3.0x/face.png and /dev/null differ diff --git a/assets/images/3.0x/filter_button.png b/assets/images/3.0x/filter_button.png deleted file mode 100644 index 29ba46c3b..000000000 Binary files a/assets/images/3.0x/filter_button.png and /dev/null differ diff --git a/assets/images/3.0x/filter_light_button.png b/assets/images/3.0x/filter_light_button.png deleted file mode 100644 index efb56c196..000000000 Binary files a/assets/images/3.0x/filter_light_button.png and /dev/null differ diff --git a/assets/images/3.0x/key.png b/assets/images/3.0x/key.png deleted file mode 100644 index f09db4efd..000000000 Binary files a/assets/images/3.0x/key.png and /dev/null differ diff --git a/assets/images/3.0x/morph_icon.png b/assets/images/3.0x/morph_icon.png deleted file mode 100644 index bdf991cf2..000000000 Binary files a/assets/images/3.0x/morph_icon.png and /dev/null differ diff --git a/assets/images/3.0x/nodes.png b/assets/images/3.0x/nodes.png deleted file mode 100644 index 29caea111..000000000 Binary files a/assets/images/3.0x/nodes.png and /dev/null differ diff --git a/assets/images/3.0x/qr_icon.png b/assets/images/3.0x/qr_icon.png deleted file mode 100644 index a9e8e604a..000000000 Binary files a/assets/images/3.0x/qr_icon.png and /dev/null differ diff --git a/assets/images/3.0x/reconnect.png b/assets/images/3.0x/reconnect.png deleted file mode 100644 index 2aab6ec12..000000000 Binary files a/assets/images/3.0x/reconnect.png and /dev/null differ diff --git a/assets/images/3.0x/reconnect_menu.png b/assets/images/3.0x/reconnect_menu.png deleted file mode 100644 index ebc7672cf..000000000 Binary files a/assets/images/3.0x/reconnect_menu.png and /dev/null differ diff --git a/assets/images/3.0x/settings.png b/assets/images/3.0x/settings.png deleted file mode 100644 index b6cfb5b08..000000000 Binary files a/assets/images/3.0x/settings.png and /dev/null differ diff --git a/assets/images/3.0x/share.png b/assets/images/3.0x/share.png deleted file mode 100644 index 00b325970..000000000 Binary files a/assets/images/3.0x/share.png and /dev/null differ diff --git a/assets/images/3.0x/triangle.png b/assets/images/3.0x/triangle.png deleted file mode 100644 index 2813c9443..000000000 Binary files a/assets/images/3.0x/triangle.png and /dev/null differ diff --git a/assets/images/3.0x/xmr_btc.png b/assets/images/3.0x/xmr_btc.png deleted file mode 100644 index 241831594..000000000 Binary files a/assets/images/3.0x/xmr_btc.png and /dev/null differ diff --git a/assets/images/ada.png b/assets/images/ada.png deleted file mode 100644 index 6dfc1615c..000000000 Binary files a/assets/images/ada.png and /dev/null differ diff --git a/assets/images/address_book_icon.png b/assets/images/address_book_icon.png deleted file mode 100644 index 0e9219814..000000000 Binary files a/assets/images/address_book_icon.png and /dev/null differ diff --git a/assets/images/airplane.png b/assets/images/airplane.png deleted file mode 100644 index 6be73be94..000000000 Binary files a/assets/images/airplane.png and /dev/null differ diff --git a/assets/images/arb_icon.png b/assets/images/arb_icon.png deleted file mode 100644 index a9cc4798f..000000000 Binary files a/assets/images/arb_icon.png and /dev/null differ diff --git a/assets/images/avaxc_icon.png b/assets/images/avaxc_icon.png deleted file mode 100644 index 728b19fc3..000000000 Binary files a/assets/images/avaxc_icon.png and /dev/null differ diff --git a/assets/images/bank.png b/assets/images/bank.png deleted file mode 100644 index 9dc68147a..000000000 Binary files a/assets/images/bank.png and /dev/null differ diff --git a/assets/images/base_icon.png b/assets/images/base_icon.png deleted file mode 100644 index d7cb8edad..000000000 Binary files a/assets/images/base_icon.png and /dev/null differ diff --git a/assets/images/bnb_icon.png b/assets/images/bnb_icon.png deleted file mode 100644 index 19cbc2b10..000000000 Binary files a/assets/images/bnb_icon.png and /dev/null differ diff --git a/assets/images/buy_sell.png b/assets/images/buy_sell.png deleted file mode 100644 index 0fbffe56f..000000000 Binary files a/assets/images/buy_sell.png and /dev/null differ diff --git a/assets/images/cards.png b/assets/images/cards.png deleted file mode 100644 index b263bc742..000000000 Binary files a/assets/images/cards.png and /dev/null differ diff --git a/assets/images/cbbtc_icon.png.png b/assets/images/cbbtc_icon.png similarity index 100% rename from assets/images/cbbtc_icon.png.png rename to assets/images/cbbtc_icon.png diff --git a/assets/images/changenow.png b/assets/images/changenow.png deleted file mode 100644 index 37593c419..000000000 Binary files a/assets/images/changenow.png and /dev/null differ diff --git a/assets/images/coins.png b/assets/images/coins.png deleted file mode 100644 index 8541ee942..000000000 Binary files a/assets/images/coins.png and /dev/null differ diff --git a/assets/images/contact_icon.svg b/assets/images/contact_icon.svg deleted file mode 100644 index 6dbfcd5f4..000000000 --- a/assets/images/contact_icon.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/assets/images/crypto/BNB.webp b/assets/images/crypto/BNB.webp deleted file mode 100644 index 59976f31c..000000000 Binary files a/assets/images/crypto/BNB.webp and /dev/null differ diff --git a/assets/images/crypto/arbitrum.webp b/assets/images/crypto/arbitrum.webp deleted file mode 100644 index b0c78bd9f..000000000 Binary files a/assets/images/crypto/arbitrum.webp and /dev/null differ diff --git a/assets/images/crypto/base_icon.webp b/assets/images/crypto/base_icon.webp deleted file mode 100644 index 0d8159c90..000000000 Binary files a/assets/images/crypto/base_icon.webp and /dev/null differ diff --git a/assets/images/crypto/bitcoin-cash.webp b/assets/images/crypto/bitcoin-cash.webp deleted file mode 100644 index 65d81f8f5..000000000 Binary files a/assets/images/crypto/bitcoin-cash.webp and /dev/null differ diff --git a/assets/images/crypto/bitcoin.webp b/assets/images/crypto/bitcoin.webp deleted file mode 100644 index 31c75b9de..000000000 Binary files a/assets/images/crypto/bitcoin.webp and /dev/null differ diff --git a/assets/images/crypto/dai.webp b/assets/images/crypto/dai.webp deleted file mode 100644 index 158d7a195..000000000 Binary files a/assets/images/crypto/dai.webp and /dev/null differ diff --git a/assets/images/crypto/decred.webp b/assets/images/crypto/decred.webp deleted file mode 100644 index f87ab91f3..000000000 Binary files a/assets/images/crypto/decred.webp and /dev/null differ diff --git a/assets/images/crypto/deuro.webp b/assets/images/crypto/deuro.webp deleted file mode 100644 index 2750c3457..000000000 Binary files a/assets/images/crypto/deuro.webp and /dev/null differ diff --git a/assets/images/crypto/dogecoin.webp b/assets/images/crypto/dogecoin.webp deleted file mode 100644 index 50638a584..000000000 Binary files a/assets/images/crypto/dogecoin.webp and /dev/null differ diff --git a/assets/images/crypto/ethena-usde-logo.png b/assets/images/crypto/ethena-usde-logo.png deleted file mode 100644 index cbbd69ee7..000000000 Binary files a/assets/images/crypto/ethena-usde-logo.png and /dev/null differ diff --git a/assets/images/crypto/ethereum.webp b/assets/images/crypto/ethereum.webp deleted file mode 100644 index d1ed079bf..000000000 Binary files a/assets/images/crypto/ethereum.webp and /dev/null differ diff --git a/assets/images/crypto/lightning.webp b/assets/images/crypto/lightning.webp deleted file mode 100644 index 7218f3946..000000000 Binary files a/assets/images/crypto/lightning.webp and /dev/null differ diff --git a/assets/images/crypto/litecoin.webp b/assets/images/crypto/litecoin.webp deleted file mode 100644 index 5ba27898b..000000000 Binary files a/assets/images/crypto/litecoin.webp and /dev/null differ diff --git a/assets/images/crypto/monero.webp b/assets/images/crypto/monero.webp deleted file mode 100644 index 98fe014d4..000000000 Binary files a/assets/images/crypto/monero.webp and /dev/null differ diff --git a/assets/images/crypto/nano.webp b/assets/images/crypto/nano.webp deleted file mode 100644 index db8f3c441..000000000 Binary files a/assets/images/crypto/nano.webp and /dev/null differ diff --git a/assets/images/crypto/polygon.webp b/assets/images/crypto/polygon.webp deleted file mode 100644 index ced9b83d1..000000000 Binary files a/assets/images/crypto/polygon.webp and /dev/null differ diff --git a/assets/images/crypto/solana.webp b/assets/images/crypto/solana.webp deleted file mode 100644 index abc5c0a32..000000000 Binary files a/assets/images/crypto/solana.webp and /dev/null differ diff --git a/assets/images/crypto/tether.webp b/assets/images/crypto/tether.webp deleted file mode 100644 index 6a06bc2dc..000000000 Binary files a/assets/images/crypto/tether.webp and /dev/null differ diff --git a/assets/images/crypto/tron.webp b/assets/images/crypto/tron.webp deleted file mode 100644 index 9edd555c2..000000000 Binary files a/assets/images/crypto/tron.webp and /dev/null differ diff --git a/assets/images/crypto/usdc.webp b/assets/images/crypto/usdc.webp deleted file mode 100644 index f795d79ed..000000000 Binary files a/assets/images/crypto/usdc.webp and /dev/null differ diff --git a/assets/images/crypto/wbtc.webp b/assets/images/crypto/wbtc.webp deleted file mode 100644 index 9ad4e866d..000000000 Binary files a/assets/images/crypto/wbtc.webp and /dev/null differ diff --git a/assets/images/crypto/wownero.webp b/assets/images/crypto/wownero.webp deleted file mode 100644 index c1a26bb9f..000000000 Binary files a/assets/images/crypto/wownero.webp and /dev/null differ diff --git a/assets/images/crypto/zano.webp b/assets/images/crypto/zano.webp deleted file mode 100644 index bc0a34040..000000000 Binary files a/assets/images/crypto/zano.webp and /dev/null differ diff --git a/assets/images/crypto/zcash.webp b/assets/images/crypto/zcash.webp deleted file mode 100644 index 08f2ec3c2..000000000 Binary files a/assets/images/crypto/zcash.webp and /dev/null differ diff --git a/assets/images/dai_icon.png b/assets/images/dai_icon.png deleted file mode 100644 index 29f7f5f7d..000000000 Binary files a/assets/images/dai_icon.png and /dev/null differ diff --git a/assets/images/delivery.png b/assets/images/delivery.png deleted file mode 100644 index 1f67e3f8f..000000000 Binary files a/assets/images/delivery.png and /dev/null differ diff --git a/assets/images/desktop_transactions_outline_icon.png b/assets/images/desktop_transactions_outline_icon.png deleted file mode 100644 index 38fc38866..000000000 Binary files a/assets/images/desktop_transactions_outline_icon.png and /dev/null differ diff --git a/assets/images/desktop_transactions_solid_icon.png b/assets/images/desktop_transactions_solid_icon.png deleted file mode 100644 index d793803da..000000000 Binary files a/assets/images/desktop_transactions_solid_icon.png and /dev/null differ diff --git a/assets/images/download.png b/assets/images/download.png deleted file mode 100644 index 1ae875234..000000000 Binary files a/assets/images/download.png and /dev/null differ diff --git a/assets/images/eos.png b/assets/images/eos.png deleted file mode 100644 index 2c4ea9ae5..000000000 Binary files a/assets/images/eos.png and /dev/null differ diff --git a/assets/images/eth.png b/assets/images/eth.png deleted file mode 100644 index ba2d82a47..000000000 Binary files a/assets/images/eth.png and /dev/null differ diff --git a/assets/images/eth_icon.svg b/assets/images/eth_icon.svg deleted file mode 100644 index 4dbf07a18..000000000 --- a/assets/images/eth_icon.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/assets/images/exchange.png b/assets/images/exchange.png deleted file mode 100644 index ce2d3928f..000000000 Binary files a/assets/images/exchange.png and /dev/null differ diff --git a/assets/images/exchange_icon.png b/assets/images/exchange_icon.png deleted file mode 100644 index 47db4c585..000000000 Binary files a/assets/images/exchange_icon.png and /dev/null differ diff --git a/assets/images/eye.png b/assets/images/eye.png deleted file mode 100644 index 05340553d..000000000 Binary files a/assets/images/eye.png and /dev/null differ diff --git a/assets/images/eye_action.png b/assets/images/eye_action.png deleted file mode 100644 index 5ffd96f55..000000000 Binary files a/assets/images/eye_action.png and /dev/null differ diff --git a/assets/images/face.png b/assets/images/face.png deleted file mode 100644 index be6b0726c..000000000 Binary files a/assets/images/face.png and /dev/null differ diff --git a/assets/images/filter.png b/assets/images/filter.png deleted file mode 100644 index dc47944c0..000000000 Binary files a/assets/images/filter.png and /dev/null differ diff --git a/assets/images/filter_button.png b/assets/images/filter_button.png deleted file mode 100644 index 5aff5d41d..000000000 Binary files a/assets/images/filter_button.png and /dev/null differ diff --git a/assets/images/filter_light_button.png b/assets/images/filter_light_button.png deleted file mode 100644 index 73451443c..000000000 Binary files a/assets/images/filter_light_button.png and /dev/null differ diff --git a/assets/images/food.png b/assets/images/food.png deleted file mode 100644 index 64d7a76a7..000000000 Binary files a/assets/images/food.png and /dev/null differ diff --git a/assets/images/gaming.png b/assets/images/gaming.png deleted file mode 100644 index 63be2322f..000000000 Binary files a/assets/images/gaming.png and /dev/null differ diff --git a/assets/images/haven_logo.png b/assets/images/haven_logo.png deleted file mode 100644 index e16c05df1..000000000 Binary files a/assets/images/haven_logo.png and /dev/null differ diff --git a/assets/images/haven_menu.png b/assets/images/haven_menu.png deleted file mode 100644 index 35a366c07..000000000 Binary files a/assets/images/haven_menu.png and /dev/null differ diff --git a/assets/images/key.png b/assets/images/key.png deleted file mode 100644 index 0fb694f8d..000000000 Binary files a/assets/images/key.png and /dev/null differ diff --git a/assets/images/keysIco.png b/assets/images/keysIco.png deleted file mode 100644 index 16e73a4b8..000000000 Binary files a/assets/images/keysIco.png and /dev/null differ diff --git a/assets/images/monero.png b/assets/images/monero.png deleted file mode 100644 index 1f9781814..000000000 Binary files a/assets/images/monero.png and /dev/null differ diff --git a/assets/images/more.png b/assets/images/more.png deleted file mode 100644 index 6b1a916ff..000000000 Binary files a/assets/images/more.png and /dev/null differ diff --git a/assets/images/morph.png b/assets/images/morph.png deleted file mode 100644 index 0cc2c3bac..000000000 Binary files a/assets/images/morph.png and /dev/null differ diff --git a/assets/images/morph_icon.png b/assets/images/morph_icon.png deleted file mode 100644 index 380e6e71d..000000000 Binary files a/assets/images/morph_icon.png and /dev/null differ diff --git a/assets/images/nano.png b/assets/images/nano.png deleted file mode 100644 index b71974bc3..000000000 Binary files a/assets/images/nano.png and /dev/null differ diff --git a/assets/images/near.png b/assets/images/near.png deleted file mode 100644 index fa0630df0..000000000 Binary files a/assets/images/near.png and /dev/null differ diff --git a/assets/images/nodes.png b/assets/images/nodes.png deleted file mode 100644 index 1f5df2705..000000000 Binary files a/assets/images/nodes.png and /dev/null differ diff --git a/assets/images/paste_button.png b/assets/images/paste_button.png deleted file mode 100644 index c856c8e72..000000000 Binary files a/assets/images/paste_button.png and /dev/null differ diff --git a/assets/images/qr_icon.png b/assets/images/qr_icon.png deleted file mode 100644 index ea0c1eea6..000000000 Binary files a/assets/images/qr_icon.png and /dev/null differ diff --git a/assets/images/reconnect.png b/assets/images/reconnect.png deleted file mode 100644 index 42639ad52..000000000 Binary files a/assets/images/reconnect.png and /dev/null differ diff --git a/assets/images/reconnect_menu.png b/assets/images/reconnect_menu.png deleted file mode 100644 index d94a875e7..000000000 Binary files a/assets/images/reconnect_menu.png and /dev/null differ diff --git a/assets/images/scanner.png b/assets/images/scanner.png deleted file mode 100644 index dda28983a..000000000 Binary files a/assets/images/scanner.png and /dev/null differ diff --git a/assets/images/seed_image.png b/assets/images/seed_image.png deleted file mode 100644 index 7399c38cc..000000000 Binary files a/assets/images/seed_image.png and /dev/null differ diff --git a/assets/images/sell.png b/assets/images/sell.png deleted file mode 100644 index 6a5b38411..000000000 Binary files a/assets/images/sell.png and /dev/null differ diff --git a/assets/images/send_icon.png b/assets/images/send_icon.png deleted file mode 100755 index e9774c4a7..000000000 Binary files a/assets/images/send_icon.png and /dev/null differ diff --git a/assets/images/settings.png b/assets/images/settings.png deleted file mode 100644 index dbfee77ec..000000000 Binary files a/assets/images/settings.png and /dev/null differ diff --git a/assets/images/settings_icon.png b/assets/images/settings_icon.png deleted file mode 100644 index cf6f55053..000000000 Binary files a/assets/images/settings_icon.png and /dev/null differ diff --git a/assets/images/share.png b/assets/images/share.png deleted file mode 100644 index 458d4e373..000000000 Binary files a/assets/images/share.png and /dev/null differ diff --git a/assets/images/support_chat.webp b/assets/images/support_chat.webp deleted file mode 100644 index 810b2d43b..000000000 Binary files a/assets/images/support_chat.webp and /dev/null differ diff --git a/assets/images/support_chat_dark.webp b/assets/images/support_chat_dark.webp deleted file mode 100644 index 02b621c2d..000000000 Binary files a/assets/images/support_chat_dark.webp and /dev/null differ diff --git a/assets/images/support_docs.webp b/assets/images/support_docs.webp deleted file mode 100644 index e327f63f4..000000000 Binary files a/assets/images/support_docs.webp and /dev/null differ diff --git a/assets/images/support_docs_dark.webp b/assets/images/support_docs_dark.webp deleted file mode 100644 index f452f234f..000000000 Binary files a/assets/images/support_docs_dark.webp and /dev/null differ diff --git a/assets/images/support_links.webp b/assets/images/support_links.webp deleted file mode 100644 index 6d8b5d845..000000000 Binary files a/assets/images/support_links.webp and /dev/null differ diff --git a/assets/images/support_links_dark.webp b/assets/images/support_links_dark.webp deleted file mode 100644 index 8001b5ed8..000000000 Binary files a/assets/images/support_links_dark.webp and /dev/null differ diff --git a/assets/images/transaction_incoming.png b/assets/images/transaction_incoming.png deleted file mode 100644 index 76356e161..000000000 Binary files a/assets/images/transaction_incoming.png and /dev/null differ diff --git a/assets/images/transaction_outgoing.png b/assets/images/transaction_outgoing.png deleted file mode 100644 index 8a28ae6fc..000000000 Binary files a/assets/images/transaction_outgoing.png and /dev/null differ diff --git a/assets/images/triangle.png b/assets/images/triangle.png deleted file mode 100644 index fcef7252a..000000000 Binary files a/assets/images/triangle.png and /dev/null differ diff --git a/assets/images/trx.png b/assets/images/trx.png deleted file mode 100644 index a2bb353f2..000000000 Binary files a/assets/images/trx.png and /dev/null differ diff --git a/assets/images/tshirt.png b/assets/images/tshirt.png deleted file mode 100644 index cb20f60a4..000000000 Binary files a/assets/images/tshirt.png and /dev/null differ diff --git a/assets/images/usdc_icon.png b/assets/images/usdc_icon.png deleted file mode 100644 index f7cb798b6..000000000 Binary files a/assets/images/usdc_icon.png and /dev/null differ diff --git a/assets/images/wallet.png b/assets/images/wallet.png deleted file mode 100644 index dff4cc163..000000000 Binary files a/assets/images/wallet.png and /dev/null differ diff --git a/assets/images/wallet_group_confirmed_dark.png b/assets/images/wallet_group_confirmed_dark.png deleted file mode 100644 index a047cb29c..000000000 Binary files a/assets/images/wallet_group_confirmed_dark.png and /dev/null differ diff --git a/assets/images/wallet_group_confirmed_light.png b/assets/images/wallet_group_confirmed_light.png deleted file mode 100644 index 851d32300..000000000 Binary files a/assets/images/wallet_group_confirmed_light.png and /dev/null differ diff --git a/assets/images/wallet_group_empty_dark.png b/assets/images/wallet_group_empty_dark.png deleted file mode 100644 index e613d876e..000000000 Binary files a/assets/images/wallet_group_empty_dark.png and /dev/null differ diff --git a/assets/images/wallet_group_empty_light.png b/assets/images/wallet_group_empty_light.png deleted file mode 100644 index f795648ae..000000000 Binary files a/assets/images/wallet_group_empty_light.png and /dev/null differ diff --git a/assets/images/wallet_group_options_dark.png b/assets/images/wallet_group_options_dark.png deleted file mode 100644 index 479aac57c..000000000 Binary files a/assets/images/wallet_group_options_dark.png and /dev/null differ diff --git a/assets/images/wallet_group_options_light.png b/assets/images/wallet_group_options_light.png deleted file mode 100644 index 308930520..000000000 Binary files a/assets/images/wallet_group_options_light.png and /dev/null differ diff --git a/assets/images/wallet_new.png b/assets/images/wallet_new.png deleted file mode 100644 index 47c43bfca..000000000 Binary files a/assets/images/wallet_new.png and /dev/null differ diff --git a/assets/images/wallet_outline.png b/assets/images/wallet_outline.png deleted file mode 100644 index e75131b05..000000000 Binary files a/assets/images/wallet_outline.png and /dev/null differ diff --git a/assets/images/wallet_solid.png b/assets/images/wallet_solid.png deleted file mode 100644 index 0997221f2..000000000 Binary files a/assets/images/wallet_solid.png and /dev/null differ diff --git a/assets/images/wallet_type_wallet_dark.png b/assets/images/wallet_type_wallet_dark.png deleted file mode 100644 index b840f5547..000000000 Binary files a/assets/images/wallet_type_wallet_dark.png and /dev/null differ diff --git a/assets/images/wallet_type_wallet_light.png b/assets/images/wallet_type_wallet_light.png deleted file mode 100644 index ee759a109..000000000 Binary files a/assets/images/wallet_type_wallet_light.png and /dev/null differ diff --git a/assets/images/wallets.png b/assets/images/wallets.png deleted file mode 100644 index 62ea20039..000000000 Binary files a/assets/images/wallets.png and /dev/null differ diff --git a/assets/images/welcomeImg.png b/assets/images/welcomeImg.png deleted file mode 100644 index 419f61a80..000000000 Binary files a/assets/images/welcomeImg.png and /dev/null differ diff --git a/assets/images/welcome_wallet_dark.png b/assets/images/welcome_wallet_dark.png deleted file mode 100644 index 771a600d3..000000000 Binary files a/assets/images/welcome_wallet_dark.png and /dev/null differ diff --git a/assets/images/welcome_wallet_light.png b/assets/images/welcome_wallet_light.png deleted file mode 100644 index 2a738be0b..000000000 Binary files a/assets/images/welcome_wallet_light.png and /dev/null differ diff --git a/assets/images/wifi.png b/assets/images/wifi.png deleted file mode 100644 index 7834ef1c3..000000000 Binary files a/assets/images/wifi.png and /dev/null differ diff --git a/assets/images/xlm.png b/assets/images/xlm.png deleted file mode 100644 index d4bf2f096..000000000 Binary files a/assets/images/xlm.png and /dev/null differ diff --git a/assets/images/xmrto.png b/assets/images/xmrto.png deleted file mode 100644 index 1a68e24cf..000000000 Binary files a/assets/images/xmrto.png and /dev/null differ diff --git a/assets/images/xrp.png b/assets/images/xrp.png deleted file mode 100644 index 06b50c2a5..000000000 Binary files a/assets/images/xrp.png and /dev/null differ diff --git a/assets/images/yat_mini_logo.png b/assets/images/yat_mini_logo.png deleted file mode 100644 index 82830c5ce..000000000 Binary files a/assets/images/yat_mini_logo.png and /dev/null differ diff --git a/assets/images/zec_icon.png b/assets/images/zec_icon.png deleted file mode 100644 index 009e174eb..000000000 Binary files a/assets/images/zec_icon.png and /dev/null differ diff --git a/cakewallet.bat b/cakewallet.bat index 60b562c00..5bb41128c 100644 --- a/cakewallet.bat +++ b/cakewallet.bat @@ -24,7 +24,7 @@ IF NOT EXIST "%secrets_file_path%" ( ) ELSE (echo === Using previously/already generated secrets file: %secrets_file_path% ===) echo === Generating mobx models === -for /d %%i in (cw_core cw_monero cw_bitcoin cw_ethereum cw_evm cw_polygon cw_nano cw_bitcoin_cash cw_solana cw_tron cw_base cw_arbitrum.) do ( +for /d %%i in (cw_core cw_monero cw_bitcoin cw_evm cw_nano cw_bitcoin_cash cw_solana cw_tron cw_zcash.) do ( cd %%i call flutter pub get > nul call dart run build_runner build --delete-conflicting-outputs > nul diff --git a/cw_bitcoin/lib/bitcoin_wallet.dart b/cw_bitcoin/lib/bitcoin_wallet.dart index 84758a1cb..144c2eafd 100644 --- a/cw_bitcoin/lib/bitcoin_wallet.dart +++ b/cw_bitcoin/lib/bitcoin_wallet.dart @@ -100,7 +100,7 @@ abstract class BitcoinWalletBase extends ElectrumWallet with Store { // String sideDerivationPath = derivationPath.substring(0, derivationPath.length - 1) + "1"; // final hd = bitcoin.HDWallet.fromSeed(seedBytes, network: networkType); - if (mnemonic != null && this.useLightning) { + if (mnemonic != null && this.useLightning && LightningWallet.isAvailable) { try { lightningWallet = LightningWallet( mnemonic: mnemonic, @@ -142,7 +142,7 @@ abstract class BitcoinWalletBase extends ElectrumWallet with Store { }); reaction((_) => this.useLightning, (bool useLightning) { - if (useLightning) { + if (useLightning && LightningWallet.isAvailable) { if (mnemonic != null) { lightningWallet = LightningWallet( mnemonic: mnemonic, diff --git a/cw_bitcoin/lib/electrum_wallet.dart b/cw_bitcoin/lib/electrum_wallet.dart index b7983fd4e..243a88b26 100644 --- a/cw_bitcoin/lib/electrum_wallet.dart +++ b/cw_bitcoin/lib/electrum_wallet.dart @@ -132,10 +132,11 @@ abstract class ElectrumWalletBase } } else if (canDeriveFromSeed) { final coinType = _coinTypeFor(currency); + final accountIndex = _parseAccountIndex(derivationInfo.derivationPath); for (final type in supportedTypes) { final purpose = _purposeForType(type); - final accountPath = "m/$purpose'/$coinType'/0'"; + final accountPath = "m/$purpose'/$coinType'/$accountIndex'"; mainHdByType[type] = _masterHD!.derivePath("$accountPath/0") as Bip32Slip10Secp256k1; sideHdByType[type] = _masterHD!.derivePath("$accountPath/1") as Bip32Slip10Secp256k1; @@ -197,7 +198,8 @@ abstract class ElectrumWalletBase final coinType = _coinTypeFor(currency); final purpose = _purposeForType(record.type); - return "m/$purpose'/$coinType'/0'"; + final accountIndex = _parseAccountIndex(derivationInfo.derivationPath); + return "m/$purpose'/$coinType'/$accountIndex'"; } List supportedAddressTypes(WalletType type) { @@ -259,6 +261,15 @@ abstract class ElectrumWalletBase static int estimatedTransactionSize(int inputsCount, int outputsCounts) => inputsCount * 68 + outputsCounts * 34 + 10; + // Parses the account index from a BIP-44/49/84/86 derivation path. + // e.g. "m/84'/0'/1'" → 1. Returns 0 for unrecognised formats. + static int _parseAccountIndex(String? derivationPath) { + if (derivationPath == null) return 0; + final parts = derivationPath.split('/'); + if (parts.length < 4) return 0; + return int.tryParse(parts[3].replaceAll("'", "")) ?? 0; + } + static Bip32KeyNetVersions? getKeyNetVersion(BasedUtxoNetwork network, [HardwareWalletType? hardwareWalletType]) { switch (network) { diff --git a/cw_bitcoin/lib/lightning/lightning_wallet.dart b/cw_bitcoin/lib/lightning/lightning_wallet.dart index a386d529d..91890d20f 100644 --- a/cw_bitcoin/lib/lightning/lightning_wallet.dart +++ b/cw_bitcoin/lib/lightning/lightning_wallet.dart @@ -33,9 +33,11 @@ class LightningWallet { required this.apiKey, required this.lnurlDomain, this.network = Network.mainnet, - this.cachedAddress + this.cachedAddress, }); + static bool get isAvailable => Platform.isIOS || Platform.isAndroid || Platform.isMacOS; + StreamSubscription? _eventSubscription; Stream? _eventStream; diff --git a/cw_core/lib/crypto_currency.dart b/cw_core/lib/crypto_currency.dart index f69748b4b..e620211cc 100644 --- a/cw_core/lib/crypto_currency.dart +++ b/cw_core/lib/crypto_currency.dart @@ -12,7 +12,6 @@ class CryptoCurrency extends EnumerableItem with Serializable implemen required this.decimals, this.fullName, this.iconPath, - this.iconSvgPath, this.flatIconPath, this.tag, this.chainIconPath, @@ -24,7 +23,6 @@ class CryptoCurrency extends EnumerableItem with Serializable implemen final String? tag; final String? fullName; final String? iconPath; - final String? iconSvgPath; final String? flatIconPath; final String? chainIconPath; @override @@ -151,20 +149,20 @@ class CryptoCurrency extends EnumerableItem with Serializable implemen static const zcashCurrencies = [ zec, zaddr, tzec ]; // title, tag (if applicable), fullName (if unique), raw, name, iconPath - static const xmr = CryptoCurrency(title: 'XMR', fullName: 'Monero', raw: 0, name: 'xmr', iconPath: 'assets/images/crypto/monero.webp', iconSvgPath: "assets/new-ui/crypto_full_icons/monero.svg", decimals: 12,flatIconPath: "assets/new-ui/balance_card_icons/monero.svg"); + static const xmr = CryptoCurrency(title: 'XMR', fullName: 'Monero', raw: 0, name: 'xmr', iconPath: 'assets/new-ui/crypto_full_icons/monero.svg', decimals: 12, flatIconPath: "assets/new-ui/balance_card_icons/monero.svg"); static const ada = CryptoCurrency(title: 'ADA', fullName: 'Cardano', raw: 1, name: 'ada', iconPath: 'assets/images/ada_icon.png', decimals: 6); - static const bch = CryptoCurrency(title: 'BCH', fullName: 'Bitcoin Cash', raw: 2, name: 'bch', iconPath: 'assets/images/crypto/bitcoin-cash.webp', iconSvgPath: "assets/new-ui/crypto_full_icons/bitcoin-cash.svg",decimals: 8,flatIconPath: "assets/new-ui/balance_card_icons/bitcoin_cash.svg"); - static const bnb = CryptoCurrency(title: 'BNB', tag: 'BSC', fullName: 'BNB', raw: 3, name: 'bnb', iconPath: 'assets/images/crypto/BNB.webp',iconSvgPath: "assets/new-ui/crypto_full_icons/bnb.svg", decimals: 18, flatIconPath: "assets/new-ui/balance_card_icons/bnb.svg", chainIconPath: "assets/new-ui/chain_badges/bnb smart chain.svg"); - static const btc = CryptoCurrency(title: 'BTC', fullName: 'Bitcoin', raw: 4, name: 'btc', iconPath: 'assets/images/crypto/bitcoin.webp', iconSvgPath: "assets/new-ui/crypto_full_icons/bitcoin.svg",decimals: 8,flatIconPath: "assets/new-ui/balance_card_icons/bitcoin.svg"); - static const dai = CryptoCurrency(title: 'DAI', tag: 'ETH', fullName: 'Dai', raw: 5, name: 'dai', iconPath: 'assets/images/crypto/dai.webp',iconSvgPath: "assets/new-ui/crypto_full_icons/dai.svg", decimals: 18); + static const bch = CryptoCurrency(title: 'BCH', fullName: 'Bitcoin Cash', raw: 2, name: 'bch', iconPath: 'assets/new-ui/crypto_full_icons/bitcoin-cash.svg', decimals: 8, flatIconPath: "assets/new-ui/balance_card_icons/bitcoin_cash.svg"); + static const bnb = CryptoCurrency(title: 'BNB', tag: 'BSC', fullName: 'BNB', raw: 3, name: 'bnb', iconPath: 'assets/new-ui/crypto_full_icons/bnb.svg', decimals: 18, flatIconPath: "assets/new-ui/balance_card_icons/bnb.svg", chainIconPath: "assets/new-ui/chain_badges/bnb.svg"); + static const btc = CryptoCurrency(title: 'BTC', fullName: 'Bitcoin', raw: 4, name: 'btc', iconPath: 'assets/new-ui/crypto_full_icons/bitcoin.svg' ,decimals: 8, flatIconPath: "assets/new-ui/balance_card_icons/bitcoin.svg"); + static const dai = CryptoCurrency(title: 'DAI', tag: 'ETH', fullName: 'Dai', raw: 5, name: 'dai', iconPath: 'assets/new-ui/crypto_full_icons/dai.svg', decimals: 18); static const dash = CryptoCurrency(title: 'DASH', fullName: 'Dash', raw: 6, name: 'dash', iconPath: 'assets/images/dash_icon.png', decimals: 8); static const eos = CryptoCurrency(title: 'EOS', fullName: 'EOS', raw: 7, name: 'eos', iconPath: 'assets/images/eos_icon.png', decimals: 4); - static const eth = CryptoCurrency(title: 'ETH', fullName: 'Ethereum', raw: 8, name: 'eth', iconPath: 'assets/images/crypto/ethereum.webp', decimals: 18,flatIconPath: "assets/new-ui/balance_card_icons/ethereum.svg", chainIconPath: "assets/new-ui/chain_badges/ethereum.svg"); - static const ltc = CryptoCurrency(title: 'LTC', fullName: 'Litecoin', raw: 9, name: 'ltc', iconPath: 'assets/images/crypto/litecoin.webp', iconSvgPath: "assets/new-ui/crypto_full_icons/litecoin.svg",decimals: 8,flatIconPath: "assets/new-ui/balance_card_icons/litecoin.svg", chainIconPath: "assets/new-ui/chain_badges/mweb.svg"); - static const nano = CryptoCurrency(title: 'XNO', fullName: 'Nano', raw: 10, name: 'xno', iconPath: 'assets/images/crypto/nano.webp', iconSvgPath: "assets/new-ui/crypto_full_icons/nano.svg",decimals: 30,flatIconPath: "assets/new-ui/balance_card_icons/nano.svg"); - static const trx = CryptoCurrency(title: 'TRX', fullName: 'TRON', raw: 11, name: 'trx', iconPath: 'assets/images/crypto/tron.webp',iconSvgPath: "assets/new-ui/crypto_full_icons/tron.svg", decimals: 6,flatIconPath: "assets/new-ui/balance_card_icons/tron.svg", chainIconPath: "assets/new-ui/chain_badges/tron.svg"); - static const usdt = CryptoCurrency(title: 'USDT', tag: 'OMNI', fullName: 'Tether', raw: 12, name: 'usdt', iconPath: 'assets/images/crypto/tether.webp',iconSvgPath: "assets/new-ui/crypto_full_icons/usdt.svg", decimals: 6); - static const usdterc20 = CryptoCurrency(title: 'USDT', tag: 'ETH', fullName: 'Tether', raw: 13, name: 'usdterc20', iconPath: 'assets/images/crypto/tether.webp',iconSvgPath: "assets/new-ui/crypto_full_icons/usdt.svg", decimals: 6); + static const eth = CryptoCurrency(title: 'ETH', fullName: 'Ethereum', raw: 8, name: 'eth', iconPath: 'assets/new-ui/crypto_full_icons/ethereum.svg', decimals: 18, flatIconPath: "assets/new-ui/balance_card_icons/ethereum.svg", chainIconPath: "assets/new-ui/chain_badges/ethereum.svg"); + static const ltc = CryptoCurrency(title: 'LTC', fullName: 'Litecoin', raw: 9, name: 'ltc', iconPath: 'assets/new-ui/crypto_full_icons/litecoin.svg', decimals: 8, flatIconPath: "assets/new-ui/balance_card_icons/litecoin.svg", chainIconPath: "assets/new-ui/chain_badges/mweb.svg"); + static const nano = CryptoCurrency(title: 'XNO', fullName: 'Nano', raw: 10, name: 'xno', iconPath: 'assets/new-ui/crypto_full_icons/nano.svg', decimals: 30, flatIconPath: "assets/new-ui/balance_card_icons/nano.svg"); + static const trx = CryptoCurrency(title: 'TRX', fullName: 'TRON', raw: 11, name: 'trx', iconPath: 'assets/new-ui/crypto_full_icons/tron.svg', decimals: 6, flatIconPath: "assets/new-ui/balance_card_icons/tron.svg", chainIconPath: "assets/new-ui/chain_badges/tron.svg"); + static const usdt = CryptoCurrency(title: 'USDT', tag: 'OMNI', fullName: 'Tether', raw: 12, name: 'usdt', iconPath: 'assets/new-ui/crypto_full_icons/usdt.svg', decimals: 6); + static const usdterc20 = CryptoCurrency(title: 'USDT', tag: 'ETH', fullName: 'Tether', raw: 13, name: 'usdterc20', iconPath: 'assets/new-ui/crypto_full_icons/usdt.svg', decimals: 6); static const xlm = CryptoCurrency(title: 'XLM', fullName: 'Stellar', raw: 14, name: 'xlm', iconPath: 'assets/images/xlm_icon.png', decimals: 7); static const xrp = CryptoCurrency(title: 'XRP', fullName: 'Ripple', raw: 15, name: 'xrp', iconPath: 'assets/images/xrp_icon.png', decimals: 6); static const xhv = CryptoCurrency(title: 'XHV', fullName: 'Haven Protocol', raw: 16, name: 'xhv', iconPath: 'assets/images/xhv_logo.png', decimals: 12); @@ -184,42 +182,42 @@ class CryptoCurrency extends EnumerableItem with Serializable implemen static const xusd = CryptoCurrency(title: 'XUSD', tag: 'XHV', raw: 29, name: 'xusd', decimals: 12); static const ape = CryptoCurrency(title: 'APE', tag: 'ETH', fullName: 'ApeCoin', raw: 30, name: 'ape', iconPath: 'assets/images/ape_icon.png', decimals: 18); - static const avaxc = CryptoCurrency(title: 'AVAX', tag: 'AVAXC', fullName: 'Avalanche', raw: 31, name: 'avaxc', iconPath: 'assets/images/avaxc_icon.png',iconSvgPath: "assets/new-ui/crypto_full_icons/avax.svg", decimals: 9); + static const avaxc = CryptoCurrency(title: 'AVAX', tag: 'AVAXC', fullName: 'Avalanche', raw: 31, name: 'avaxc', iconPath: 'assets/new-ui/crypto_full_icons/avax.svg', decimals: 9); static const btt = CryptoCurrency(title: 'BTT', tag: 'ETH', fullName: 'BitTorrent', raw: 32, name: 'btt', iconPath: 'assets/images/btt_icon.png', decimals: 18); static const bttc = CryptoCurrency(title: 'BTTC', tag: 'TRX', fullName: 'BitTorrent-NEW', raw: 33, name: 'bttc', iconPath: 'assets/images/btt_icon.png', decimals: 18); - static const doge = CryptoCurrency(title: 'DOGE', fullName: 'Dogecoin', raw: 34, name: 'doge', iconPath: 'assets/images/crypto/dogecoin.webp',iconSvgPath: "assets/new-ui/crypto_full_icons/dogecoin.svg", decimals: 8,flatIconPath: "assets/new-ui/balance_card_icons/dogecoin.svg"); + static const doge = CryptoCurrency(title: 'DOGE', fullName: 'Dogecoin', raw: 34, name: 'doge', iconPath: 'assets/new-ui/crypto_full_icons/dogecoin.svg', decimals: 8, flatIconPath: "assets/new-ui/balance_card_icons/dogecoin.svg"); static const firo = CryptoCurrency(title: 'FIRO', raw: 35, name: 'firo', iconPath: 'assets/images/firo_icon.png', decimals: 8); - static const usdttrc20 = CryptoCurrency(title: 'USDT', tag: 'TRX', fullName: 'Tether', raw: 36, name: 'usdttrc20', iconPath: 'assets/images/crypto/tether.webp',iconSvgPath: "assets/new-ui/crypto_full_icons/usdt.svg", decimals: 6); + static const usdttrc20 = CryptoCurrency(title: 'USDT', tag: 'TRX', fullName: 'Tether', raw: 36, name: 'usdttrc20', iconPath: 'assets/new-ui/crypto_full_icons/usdt.svg', decimals: 6); static const hbar = CryptoCurrency(title: 'HBAR', fullName: 'Hedera', raw: 37, name: 'hbar', iconPath: 'assets/images/hbar_icon.png', decimals: 8); static const sc = CryptoCurrency(title: 'SC', fullName: 'Siacoin', raw: 38, name: 'sc', iconPath: 'assets/images/sc_icon.png', decimals: 16); - static const sol = CryptoCurrency(title: 'SOL', fullName: 'Solana', raw: 39, name: 'sol', iconPath: 'assets/images/crypto/solana.webp',iconSvgPath: "assets/new-ui/crypto_full_icons/solana.svg", decimals: 9,flatIconPath: "assets/new-ui/balance_card_icons/solana.svg", chainIconPath: "assets/new-ui/chain_badges/solana.svg"); - static const usdc = CryptoCurrency(title: 'USDC', tag: 'ETH', fullName: 'USDC', raw: 40, name: 'usdc', iconPath: 'assets/images/crypto/usdc.webp',iconSvgPath: "assets/new-ui/crypto_full_icons/usdc.svg", decimals: 6); - static const usdcsol = CryptoCurrency(title: 'USDC', tag: 'SOL', fullName: 'USDC Coin', raw: 41, name: 'usdcsol', iconPath: 'assets/images/crypto/usdc.webp',iconSvgPath: "assets/new-ui/crypto_full_icons/usdc.svg", decimals: 6); - static const zaddr = CryptoCurrency(title: 'ZZEC', tag: 'ZEC', fullName: 'Shielded Zcash', raw: 42, name: 'zaddr', iconPath: 'assets/images/zec_icon.png', decimals: 8); - static const tzec = CryptoCurrency(title: 'tZEC', tag: 'ZEC', fullName: 'Transparent Zcash', raw: 43, name: 'zec', iconPath: 'assets/images/zec_icon.png', decimals: 8); + static const sol = CryptoCurrency(title: 'SOL', fullName: 'Solana', raw: 39, name: 'sol', iconPath: 'assets/new-ui/crypto_full_icons/solana.svg', decimals: 9, flatIconPath: "assets/new-ui/balance_card_icons/solana.svg", chainIconPath: "assets/new-ui/chain_badges/solana.svg"); + static const usdc = CryptoCurrency(title: 'USDC', tag: 'ETH', fullName: 'USDC', raw: 40, name: 'usdc', iconPath: 'assets/new-ui/crypto_full_icons/usdc.svg', decimals: 6); + static const usdcsol = CryptoCurrency(title: 'USDC', tag: 'SOL', fullName: 'USDC Coin', raw: 41, name: 'usdcsol', iconPath: 'assets/new-ui/crypto_full_icons/usdc.svg', decimals: 6); + static const zaddr = CryptoCurrency(title: 'ZZEC', tag: 'ZEC', fullName: 'Shielded Zcash', raw: 42, name: 'zaddr', iconPath: 'assets/new-ui/crypto_full_icons/zcash.svg', decimals: 8); + static const tzec = CryptoCurrency(title: 'tZEC', tag: 'ZEC', fullName: 'Transparent Zcash', raw: 43, name: 'zec', iconPath: 'assets/new-ui/crypto_full_icons/zcash.svg', decimals: 8); static const zen = CryptoCurrency(title: 'ZEN', fullName: 'Horizen', raw: 44, name: 'zen', iconPath: 'assets/images/zen_icon.png', decimals: 8); static const xvg = CryptoCurrency(title: 'XVG', fullName: 'Verge', raw: 45, name: 'xvg', iconPath: 'assets/images/xvg_icon.png', decimals: 8); - static const usdcpoly = CryptoCurrency(title: 'USDC', tag: 'POL', fullName: 'USDC', raw: 46, name: 'usdcpoly', iconPath: 'assets/images/crypto/usdc.webp',iconSvgPath: "assets/new-ui/crypto_full_icons/usdc.svg", decimals: 6); - static const dcr = CryptoCurrency(title: 'DCR', fullName: 'Decred', raw: 47, name: 'dcr', iconPath: 'assets/images/crypto/decred.webp',iconSvgPath: "assets/new-ui/crypto_full_icons/decred.svg", decimals: 8,flatIconPath: "assets/new-ui/balance_card_icons/decred.svg"); + static const usdcpoly = CryptoCurrency(title: 'USDC', tag: 'POL', fullName: 'USDC', raw: 46, name: 'usdcpoly', iconPath: 'assets/new-ui/crypto_full_icons/usdc.svg', decimals: 6); + static const dcr = CryptoCurrency(title: 'DCR', fullName: 'Decred', raw: 47, name: 'dcr', iconPath: 'assets/new-ui/crypto_full_icons/decred.svg', decimals: 8, flatIconPath: "assets/new-ui/balance_card_icons/decred.svg"); static const kmd = CryptoCurrency(title: 'KMD', fullName: 'Komodo', raw: 48, name: 'kmd', iconPath: 'assets/images/kmd_icon.png', decimals: 8); static const mana = CryptoCurrency(title: 'MANA', tag: 'ETH', fullName: 'Decentraland', raw: 49, name: 'mana', iconPath: 'assets/images/mana_icon.png', decimals: 18); - static const maticpoly = CryptoCurrency(title: 'POL', tag: 'POL', fullName: 'Polygon', raw: 50, name: 'maticpoly', iconPath: 'assets/images/crypto/polygon.webp',iconSvgPath: "assets/new-ui/crypto_full_icons/polygon.svg", decimals: 18, flatIconPath: "assets/new-ui/balance_card_icons/polygon.svg", chainIconPath: "assets/new-ui/chain_badges/polygon.svg"); - static const matic = CryptoCurrency(title: 'MATIC', tag: 'ETH', fullName: 'Polygon', raw: 51, name: 'matic', iconPath: 'assets/images/crypto/polygon.webp',iconSvgPath: "assets/new-ui/crypto_full_icons/polygon.svg", decimals: 18, flatIconPath: "assets/new-ui/balance_card_icons/polygon.svg"); + static const maticpoly = CryptoCurrency(title: 'POL', tag: 'POL', fullName: 'Polygon', raw: 50, name: 'maticpoly', iconPath: 'assets/new-ui/crypto_full_icons/polygon.svg', decimals: 18, flatIconPath: "assets/new-ui/balance_card_icons/polygon.svg", chainIconPath: "assets/new-ui/chain_badges/polygon.svg"); + static const matic = CryptoCurrency(title: 'MATIC', tag: 'ETH', fullName: 'Polygon', raw: 51, name: 'matic', iconPath: 'assets/new-ui/crypto_full_icons/polygon.svg', decimals: 18, flatIconPath: "assets/new-ui/balance_card_icons/polygon.svg"); static const mkr = CryptoCurrency(title: 'MKR', tag: 'ETH', fullName: 'Maker', raw: 52, name: 'mkr', iconPath: 'assets/images/mkr_icon.png', decimals: 18); static const near = CryptoCurrency(title: 'NEAR', fullName: 'NEAR Protocol', raw: 53, name: 'near', iconPath: 'assets/images/near_icon.png', decimals: 24); static const oxt = CryptoCurrency(title: 'OXT', tag: 'ETH', fullName: 'Orchid', raw: 54, name: 'oxt', iconPath: 'assets/images/oxt_icon.png', decimals: 18); - static const paxg = CryptoCurrency(title: 'PAXG', tag: 'ETH', fullName: 'Pax Gold', raw: 55, name: 'paxg', iconPath: 'assets/images/paxg.webp', iconSvgPath: "assets/new-ui/crypto_full_icons/paxg.svg",decimals: 18); + static const paxg = CryptoCurrency(title: 'PAXG', tag: 'ETH', fullName: 'Pax Gold', raw: 55, name: 'paxg', iconPath: 'assets/new-ui/crypto_full_icons/paxg.svg', decimals: 18); static const pivx = CryptoCurrency(title: 'PIVX', raw: 56, name: 'pivx', iconPath: 'assets/images/pivx_icon.png', decimals: 8); static const rune = CryptoCurrency(title: 'RUNE', fullName: 'Thorchain', raw: 57, name: 'rune', iconPath: 'assets/images/rune_icon.png', decimals: 18); static const rvn = CryptoCurrency(title: 'RVN', fullName: 'Ravencoin', raw: 58, name: 'rvn', iconPath: 'assets/images/rvn_icon.png', decimals: 8); static const scrt = CryptoCurrency(title: 'SCRT', fullName: 'Secret Network', raw: 59, name: 'scrt', iconPath: 'assets/images/scrt_icon.png', decimals: 6); static const uni = CryptoCurrency(title: 'UNI', tag: 'ETH', fullName: 'Uniswap', raw: 60, name: 'uni', iconPath: 'assets/images/uni_icon.png', decimals: 18); static const stx = CryptoCurrency(title: 'STX', fullName: 'Stacks', raw: 61, name: 'stx', iconPath: 'assets/images/stx_icon.png', decimals: 8); - static const btcln = CryptoCurrency(title: 'BTC', tag: 'LN', fullName: 'Bitcoin Lightning Network', raw: 62, name: 'btcln', iconPath: 'assets/images/crypto/lightning.webp',iconSvgPath: "assets/new-ui/crypto_full_icons/lightning.svg", chainIconPath: "assets/new-ui/chain_badges/lightning.svg", decimals: 8); + static const btcln = CryptoCurrency(title: 'BTC', tag: 'LN', fullName: 'Bitcoin Lightning Network', raw: 62, name: 'btcln', iconPath: 'assets/new-ui/crypto_full_icons/lightning.svg', chainIconPath: "assets/new-ui/chain_badges/lightning.svg", decimals: 8); static const shib = CryptoCurrency(title: 'SHIB', tag: 'ETH', fullName: 'Shiba Inu', raw: 63, name: 'shib', iconPath: 'assets/images/shib_icon.png', decimals: 18); static const aave = CryptoCurrency(title: 'AAVE', tag: 'ETH', fullName: 'Aave', raw: 64, name: 'aave', iconPath: 'assets/images/aave_icon.png', decimals: 18); - static const arb = CryptoCurrency(title: 'ARB', fullName: 'Arbitrum', raw: 65, name: 'arb', iconPath: 'assets/images/crypto/arbitrum.webp', iconSvgPath: "assets/new-ui/crypto_full_icons/arbitrum.svg", decimals: 18, flatIconPath: "assets/new-ui/balance_card_icons/arbitrum.svg", chainIconPath: "assets/new-ui/chain_badges/arbitrum.svg"); + static const arb = CryptoCurrency(title: 'ARB', fullName: 'Arbitrum', raw: 65, name: 'arb', iconPath: 'assets/new-ui/crypto_full_icons/arbitrum.svg', decimals: 18, flatIconPath: "assets/new-ui/balance_card_icons/arbitrum.svg", chainIconPath: "assets/new-ui/chain_badges/arbitrum.svg"); static const bat = CryptoCurrency(title: 'BAT', tag: 'ETH', fullName: 'Basic Attention Token', raw: 66, name: 'bat', iconPath: 'assets/images/bat_icon.png', decimals: 18); static const comp = CryptoCurrency(title: 'COMP', tag: 'ETH', fullName: 'Compound', raw: 67, name: 'comp', iconPath: 'assets/images/comp_icon.png', decimals: 18); static const cro = CryptoCurrency(title: 'CRO', tag: 'ETH', fullName: 'Crypto.com Cronos', raw: 68, name: 'cro', iconPath: 'assets/images/cro_icon.png', decimals: 8); @@ -235,36 +233,36 @@ class CryptoCurrency extends EnumerableItem with Serializable implemen static const pepe = CryptoCurrency(title: 'PEPE', tag: 'ETH', fullName: 'Pepe', raw: 78, name: 'pepe', iconPath: 'assets/images/pepe_icon.png', decimals: 18); static const storj = CryptoCurrency(title: 'STORJ', tag: 'ETH', fullName: 'Storj', raw: 79, name: 'storj', iconPath: 'assets/images/storj_icon.png', decimals: 8); static const tusd = CryptoCurrency(title: 'TUSD', tag: 'ETH', fullName: 'TrueUSD', raw: 80, name: 'tusd', iconPath: 'assets/images/tusd_icon.png', decimals: 18); - static const wbtc = CryptoCurrency(title: 'WBTC', tag: 'ETH', fullName: 'Wrapped Bitcoin', raw: 81, name: 'wbtc', iconPath: 'assets/images/crypto/wbtc.webp',iconSvgPath: "assets/new-ui/crypto_full_icons/wbtc.svg", decimals: 8); - static const weth = CryptoCurrency(title: 'WETH', tag: 'ETH', fullName: 'Wrapped Ethereum', raw: 82, name: 'weth', iconPath: 'assets/images/crypto/ethereum.webp',iconSvgPath: "assets/new-ui/crypto_full_icons/ethereum.svg", decimals: 18); + static const wbtc = CryptoCurrency(title: 'WBTC', tag: 'ETH', fullName: 'Wrapped Bitcoin', raw: 81, name: 'wbtc', iconPath: 'assets/new-ui/crypto_full_icons/wbtc.svg', decimals: 8); + static const weth = CryptoCurrency(title: 'WETH', tag: 'ETH', fullName: 'Wrapped Ethereum', raw: 82, name: 'weth', iconPath: 'assets/new-ui/crypto_full_icons/ethereum.svg', decimals: 18); static const zrx = CryptoCurrency(title: 'ZRX', tag: 'ETH', fullName: '0x Protocol', raw: 83, name: 'zrx', iconPath: 'assets/images/zrx_icon.png', decimals: 18); static const dydx = CryptoCurrency(title: 'DYDX', tag: 'ETH', fullName: 'dYdX', raw: 84, name: 'dydx', iconPath: 'assets/images/dydx_icon.png', decimals: 18); - static const steth = CryptoCurrency(title: 'STETH', tag: 'ETH', fullName: 'Lido Staked Ethereum', raw: 85, name: 'steth', iconPath: 'assets/images/crypto/ethereum.webp',iconSvgPath: "assets/new-ui/crypto_full_icons/ethereum.svg", decimals: 18); + static const steth = CryptoCurrency(title: 'STETH', tag: 'ETH', fullName: 'Lido Staked Ethereum', raw: 85, name: 'steth', iconPath: 'assets/new-ui/crypto_full_icons/ethereum.svg', decimals: 18); static const banano = CryptoCurrency(title: 'BAN', fullName: 'Banano', raw: 86, name: 'banano', iconPath: 'assets/images/nano_icon.png', decimals: 29,flatIconPath: "assets/new-ui/balance_card_icons/nano.svg"); - static const usdtPoly = CryptoCurrency(title: 'USDT', tag: 'POL', fullName: 'Tether (PoS)', raw: 87, name: 'usdtpoly', iconPath: 'assets/images/crypto/tether.webp',iconSvgPath: "assets/new-ui/crypto_full_icons/usdt.svg", decimals: 6); - static const usdcEPoly = CryptoCurrency(title: 'USDC.E', tag: 'POL', fullName: 'USDC (PoS)', raw: 88, name: 'usdcepoly', iconPath: 'assets/images/crypto/usdc.webp',iconSvgPath: "assets/new-ui/crypto_full_icons/usdc.svg", decimals: 6); + static const usdtPoly = CryptoCurrency(title: 'USDT', tag: 'POL', fullName: 'Tether (PoS)', raw: 87, name: 'usdtpoly', iconPath: 'assets/new-ui/crypto_full_icons/usdt.svg', decimals: 6); + static const usdcEPoly = CryptoCurrency(title: 'USDC.E', tag: 'POL', fullName: 'USDC (PoS)', raw: 88, name: 'usdcepoly', iconPath: 'assets/new-ui/crypto_full_icons/usdc.svg', decimals: 6); static const kaspa = CryptoCurrency(title: 'KAS', fullName: 'Kaspa', raw: 89, name: 'kas', iconPath: 'assets/images/kaspa_icon.png', decimals: 8); static const digibyte = CryptoCurrency(title: 'DGB', fullName: 'DigiByte', raw: 90, name: 'dgb', iconPath: 'assets/images/digibyte.png', decimals: 8); - static const usdtSol = CryptoCurrency(title: 'USDT', tag: 'SOL', fullName: 'Tether', raw: 91, name: 'usdtsol', iconPath: 'assets/images/crypto/tether.webp',iconSvgPath: "assets/new-ui/crypto_full_icons/usdt.svg", decimals: 6); - static const usdcTrc20 = CryptoCurrency(title: 'USDC', tag: 'TRX', fullName: 'USDC Coin', raw: 92, name: 'usdctrc20', iconPath: 'assets/images/crypto/usdc.webp',iconSvgPath: "assets/new-ui/crypto_full_icons/usdc.svg", decimals: 6); + static const usdtSol = CryptoCurrency(title: 'USDT', tag: 'SOL', fullName: 'Tether', raw: 91, name: 'usdtsol', iconPath: 'assets/new-ui/crypto_full_icons/usdt.svg', decimals: 6); + static const usdcTrc20 = CryptoCurrency(title: 'USDC', tag: 'TRX', fullName: 'USDC Coin', raw: 92, name: 'usdctrc20', iconPath: 'assets/new-ui/crypto_full_icons/usdc.svg', decimals: 6); static const tbtc = CryptoCurrency(title: 'tBTC', fullName: 'Testnet Bitcoin', raw: 93, name: 'tbtc', iconPath: 'assets/images/tbtc.png', decimals: 8); - static const wow = CryptoCurrency(title: 'WOW', fullName: 'Wownero', raw: 94, name: 'wow', iconPath: 'assets/images/crypto/wownero.webp', decimals: 11); - static const ton = CryptoCurrency(title: 'TON', fullName: 'Toncoin', raw: 95, name: 'ton', iconPath: 'assets/images/ton_icon.png', iconSvgPath: "assets/new-ui/crypto_full_icons/ton.svg",decimals: 8); - static const zano = CryptoCurrency(title: 'ZANO', tag: 'ZANO', fullName: 'Zano', raw: 96, name: 'zano', iconPath: 'assets/images/crypto/zano.webp',iconSvgPath: "assets/new-ui/crypto_full_icons/zano.svg", decimals: 12,flatIconPath: "assets/new-ui/balance_card_icons/zano.svg", chainIconPath: "assets/new-ui/chain_badges/zano.svg"); + static const wow = CryptoCurrency(title: 'WOW', fullName: 'Wownero', raw: 94, name: 'wow', iconPath: 'assets/images/crypto/wownero.svg', decimals: 11); + static const ton = CryptoCurrency(title: 'TON', fullName: 'Toncoin', raw: 95, name: 'ton', iconPath: 'assets/new-ui/crypto_full_icons/ton.svg', decimals: 8); + static const zano = CryptoCurrency(title: 'ZANO', tag: 'ZANO', fullName: 'Zano', raw: 96, name: 'zano', iconPath: 'assets/new-ui/crypto_full_icons/zano.svg', decimals: 12, flatIconPath: "assets/new-ui/balance_card_icons/zano.svg", chainIconPath: "assets/new-ui/chain_badges/zano.svg"); static const flip = CryptoCurrency(title: 'FLIP', tag: 'ETH', fullName: 'Chainflip', raw: 97, name: 'flip', iconPath: 'assets/images/flip_icon.png', decimals: 18); - static const deuro = CryptoCurrency(title: 'DEURO', tag: 'ETH', fullName: 'Decentralized Euro', raw: 98, name: 'deuro', iconPath: 'assets/images/deuro_icon.png', iconSvgPath: "assets/new-ui/crypto_full_icons/deuro.svg",decimals: 18); - static const usdtbsc = CryptoCurrency(title: 'USDT', tag: 'BSC', fullName: 'USDT Binance coin', raw: 99, name: 'usdtbsc', iconPath: 'assets/images/crypto/tether.webp',iconSvgPath: "assets/new-ui/crypto_full_icons/usdt.svg", decimals: 18); + static const deuro = CryptoCurrency(title: 'DEURO', tag: 'ETH', fullName: 'Decentralized Euro', raw: 98, name: 'deuro', iconPath: 'assets/images/deuro_icon.png',decimals: 18); + static const usdtbsc = CryptoCurrency(title: 'USDT', tag: 'BSC', fullName: 'USDT Binance coin', raw: 99, name: 'usdtbsc', iconPath: 'assets/new-ui/crypto_full_icons/usdt.svg', decimals: 18); 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); 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); static const kbtc = CryptoCurrency(title: 'KBTC', tag: 'ETH', fullName: 'Kraken Wrapped Bitcoin', raw: 102, name: 'kbtc', iconPath: 'assets/images/kbtc_icon.png', decimals: 8); static const cbbtc = CryptoCurrency(title: 'CBBTC', tag: 'ETH', fullName: 'Coinbase Wrapped BTC', raw: 103, name: 'cbbtc', iconPath: 'assets/images/cbbtc_icon.png', decimals: 8); - static const baseEth = CryptoCurrency(title: 'ETH', tag: 'BASE', fullName: 'Ethereum', raw: 104, name: 'baseth', iconPath: 'assets/images/crypto/ethereum.webp',iconSvgPath: "assets/new-ui/crypto_full_icons/ethereum.svg", decimals: 18, flatIconPath: "assets/new-ui/balance_card_icons/base.svg", chainIconPath: "assets/new-ui/chain_badges/base.svg"); - static const usde = CryptoCurrency(title: 'USDE', tag: 'BASE', fullName: 'Ethena USDE', raw: 105, name: 'usde', iconPath: 'assets/images/crypto/ethena-usde-logo.png',iconSvgPath: "assets/new-ui/crypto_full_icons/usde.svg", decimals: 18); - static const arbEth = CryptoCurrency(title: 'ETH', tag: 'ARB', fullName: 'Ethereum', raw: 106, name: 'arbeth', iconPath: 'assets/images/crypto/ethereum.webp',iconSvgPath: "assets/new-ui/crypto_full_icons/ethereum.svg", decimals: 18, flatIconPath: "assets/new-ui/balance_card_icons/arbitrum.svg"); - static const zec = CryptoCurrency(title: 'ZEC', fullName: 'Zcash', raw: 107, name: 'zec', iconPath: 'assets/images/zec_icon.png',iconSvgPath: "assets/new-ui/crypto_full_icons/zcash.svg", decimals: 8,flatIconPath: "assets/new-ui/balance_card_icons/zcash.svg"); - static const usdcArb = CryptoCurrency(title: 'USDC', tag: 'ARB', fullName: 'USDC Coin', raw: 108, name: 'usdcarb', iconPath: 'assets/images/crypto/usdc.webp',iconSvgPath: "assets/new-ui/crypto_full_icons/usdc.svg", decimals: 6); - static const usdtArb = CryptoCurrency(title: 'USDT', tag: 'ARB', fullName: 'USDT Tether', raw: 109, name: 'usdtarb', iconPath: 'assets/images/crypto/tether.webp',iconSvgPath: "assets/new-ui/crypto_full_icons/usdt.svg", decimals: 6); - static const ltcmweb = CryptoCurrency(title: 'LTC', fullName: 'Litecoin MWeb', raw: 110, name: 'ltcmweb', iconPath: 'assets/images/crypto/litecoin.webp',iconSvgPath: "assets/new-ui/crypto_full_icons/litecoin.svg", decimals: 8); + static const baseEth = CryptoCurrency(title: 'ETH', tag: 'BASE', fullName: 'Ethereum', raw: 104, name: 'baseth', iconPath: 'assets/new-ui/crypto_full_icons/base.svg', decimals: 18, flatIconPath: "assets/new-ui/balance_card_icons/base.svg", chainIconPath: "assets/new-ui/chain_badges/base.svg"); + static const usde = CryptoCurrency(title: 'USDE', tag: 'BASE', fullName: 'Ethena USDE', raw: 105, name: 'usde', iconPath: 'assets/new-ui/crypto_full_icons/usde.svg', decimals: 18); + static const arbEth = CryptoCurrency(title: 'ETH', tag: 'ARB', fullName: 'Ethereum', raw: 106, name: 'arbeth', iconPath: 'assets/new-ui/crypto_full_icons/ethereum.svg', decimals: 18, flatIconPath: "assets/new-ui/balance_card_icons/arbitrum.svg"); + static const zec = CryptoCurrency(title: 'ZEC', fullName: 'Zcash', raw: 107, name: 'zec', iconPath: 'assets/new-ui/crypto_full_icons/zcash.svg', decimals: 8,flatIconPath: "assets/new-ui/balance_card_icons/zcash.svg"); + static const usdcArb = CryptoCurrency(title: 'USDC', tag: 'ARB', fullName: 'USDC Coin', raw: 108, name: 'usdcarb', iconPath: 'assets/new-ui/crypto_full_icons/usdc.svg', decimals: 6); + static const usdtArb = CryptoCurrency(title: 'USDT', tag: 'ARB', fullName: 'USDT Tether', raw: 109, name: 'usdtarb', iconPath: 'assets/new-ui/crypto_full_icons/usdt.svg', decimals: 6); + static const ltcmweb = CryptoCurrency(title: 'LTC', fullName: 'Litecoin MWeb', raw: 110, name: 'ltcmweb', iconPath: 'assets/new-ui/crypto_full_icons/litecoin.svg', decimals: 8); static final Map _rawCurrencyMap = [...all, ...havenCurrencies, ...zcashCurrencies].fold>({}, (acc, item) { diff --git a/cw_core/lib/currency_for_wallet_type.dart b/cw_core/lib/currency_for_wallet_type.dart index f6a884954..3409ab77c 100644 --- a/cw_core/lib/currency_for_wallet_type.dart +++ b/cw_core/lib/currency_for_wallet_type.dart @@ -105,7 +105,7 @@ String getCryptoCurrencyIconForWalletListItem(WalletType type, } if (type == WalletType.base) { - return "assets/images/crypto/base_icon.webp"; + return "assets/new-ui/crypto_full_icons/base.svg"; } return walletTypeToCryptoCurrency(type, isTestnet: isTestnet, chainId: chainId).iconPath ?? ""; diff --git a/cw_core/lib/db/sqlite.dart b/cw_core/lib/db/sqlite.dart index 8d716c449..311344a96 100644 --- a/cw_core/lib/db/sqlite.dart +++ b/cw_core/lib/db/sqlite.dart @@ -41,7 +41,7 @@ Future initDb({String? pathOverride}) async { } } await db?.close(); - db = await openDatabase(dbFile.path, version: 5, + db = await openDatabase(dbFile.path, version: 6, onUpgrade: (Database db, int oldVersion, int newVersion) async { printV("migrating: $oldVersion, $newVersion"); if (oldVersion <= 1) { @@ -93,6 +93,9 @@ CREATE TABLE IF NOT EXISTS BalanceCardStyleSettings ( if (oldVersion <= 4) { await _createBridgeTransferTable(db); } + if (oldVersion <= 5) { + await _createTradeTable(db); + } }, onCreate: (Database db, int version) async { await db.execute( @@ -191,10 +194,73 @@ CREATE TABLE BalanceCardStyleSettings ( ); '''); await _createBridgeTransferTable(db); + await _createTradeTable(db); } ); } +Future _createTradeTable(Database db) async { + await db.execute(''' +CREATE TABLE IF NOT EXISTS Trade ( + tradeId INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + id TEXT NOT NULL, + providerRaw INTEGER NOT NULL DEFAULT 0, + fromTitle TEXT, + fromName TEXT, + fromTag TEXT, + fromFullName TEXT, + fromDecimals INTEGER, + fromRaw INTEGER, + fromIconPath TEXT, + fromFlatIconPath TEXT, + fromChainIconPath TEXT, + toTitle TEXT, + toName TEXT, + toTag TEXT, + toFullName TEXT, + toDecimals INTEGER, + toRaw INTEGER, + toIconPath TEXT, + toFlatIconPath TEXT, + toChainIconPath TEXT, + stateRaw TEXT NOT NULL DEFAULT '', + createdAt INTEGER, + expiredAt INTEGER, + amount TEXT NOT NULL DEFAULT '', + receiveAmount TEXT, + inputAddress TEXT, + extraId TEXT, + outputTransaction TEXT, + refundAddress TEXT, + walletId TEXT, + payoutAddress TEXT, + password TEXT, + providerId TEXT, + providerName TEXT, + fromWalletAddress TEXT, + memo TEXT, + txId TEXT, + isRefund INTEGER DEFAULT 0, + isSendAll INTEGER DEFAULT 0, + router TEXT, + needToRegisterInSwapXyz INTEGER DEFAULT 0, + sourceTokenAddress TEXT, + sourceTokenDecimals INTEGER, + routerData TEXT, + routerValue TEXT, + routerChainId INTEGER, + sourceTokenAmountRaw TEXT, + requiresTokenApproval INTEGER DEFAULT 0, + chainId INTEGER, + fee REAL +); +'''); + await db.execute(''' +CREATE UNIQUE INDEX IF NOT EXISTS idx_trade_id_unique +ON Trade (id); +'''); +} + Future> dumpDb() async { try { return await _dumpDb(); diff --git a/cw_core/lib/exceptions.dart b/cw_core/lib/exceptions.dart index 364e332e7..35999b78b 100644 --- a/cw_core/lib/exceptions.dart +++ b/cw_core/lib/exceptions.dart @@ -66,3 +66,13 @@ class RestoreFromSeedException implements Exception { RestoreFromSeedException(this.message); } + +class WalletDeprecationException implements Exception { + final String seed; + final CryptoCurrency curr; + + @override + String toString() => "Wallet type no longer supported"; + + WalletDeprecationException({required this.seed, required this.curr}); +} \ No newline at end of file diff --git a/cw_core/lib/wallet_info_legacy.dart b/cw_core/lib/wallet_info_legacy.dart index a7e6bc31f..4c665124f 100644 --- a/cw_core/lib/wallet_info_legacy.dart +++ b/cw_core/lib/wallet_info_legacy.dart @@ -246,35 +246,35 @@ class WalletInfo extends HiveObject { Future migrateToSqlite() async { final di = newWi.DerivationInfo( id: 0, - derivationType: derivationInfo?.derivationType ?? derivationType ?? newWi.DerivationType.unknown, + derivationType: + derivationInfo?.derivationType ?? derivationType ?? newWi.DerivationType.unknown, derivationPath: derivationInfo?.derivationPath ?? derivationPath ?? '', ); final derivationInfoId = await di.save(); final walletInfo = newWi.WalletInfo( - 0, - id, - name, - type, - isRecovery, - restoreHeight, - timestamp, - dirPath, - path, - address, - yatEid, - yatLastUsedAddressRaw, - showIntroCakePayCard, - derivationInfoId, - hardwareWalletType, - parentAddress, - hashedWalletIdentifier, - isNonSeedWallet, - 0, - addressPageType, - false, - true, - null - ); + 0, + id, + name, + type, + isRecovery, + restoreHeight, + timestamp, + dirPath, + path, + address, + yatEid, + yatLastUsedAddressRaw, + showIntroCakePayCard, + derivationInfoId, + hardwareWalletType, + parentAddress, + hashedWalletIdentifier, + isNonSeedWallet, + 0, + addressPageType, + false, + true, + null); final wiId = await walletInfo.save(); for (final address in usedAddresses ?? []) { await newWi.WalletInfoAddress.insert(wiId, newWi.WalletInfoAddressType.used, address); @@ -289,8 +289,8 @@ class WalletInfo extends HiveObject { for (final address in addressInfos![i] ?? []) { await newWi.WalletInfoAddressInfo.insert( walletInfoId: wiId, - mapKey: i, - accountIndex: address.accountIndex??0, + mapKey: i, + accountIndex: address.accountIndex ?? 0, address: address.address, label: address.label, ); @@ -304,8 +304,12 @@ class WalletInfo extends HiveObject { final sw = Stopwatch()..start(); final list = box.values.toList(); for (final wi in list) { - await wi.migrateToSqlite(); - await wi.delete(); + try { + await wi.migrateToSqlite(); + await wi.delete(); + } catch (e) { + printV('Error migrating WalletInfo ${wi.id}: $e'); + } } printV('Migrating WalletInfo to SQLite: end (${sw.elapsedMilliseconds}ms)'); } diff --git a/cw_solana/lib/default_spl_tokens.dart b/cw_solana/lib/default_spl_tokens.dart index 53231d4bf..5643117c0 100644 --- a/cw_solana/lib/default_spl_tokens.dart +++ b/cw_solana/lib/default_spl_tokens.dart @@ -43,7 +43,7 @@ class DefaultSPLTokens { mintAddress: '2FPyTwcZLUg1MDrwsyoP4D6s1tM7hAkHYRjkNb5w6Pxk', decimal: 6, mint: 'soEth', - iconPath: 'assets/images/crypto/ethereum.webp', + iconPath: 'assets/new-ui/crypto_full_icons/ethereum.svg', enabled: false, ), SPLToken( @@ -52,7 +52,7 @@ class DefaultSPLTokens { mintAddress: 'So11111111111111111111111111111111111111112', decimal: 9, mint: 'WSOL', - iconPath: 'assets/images/crypto/solana.webp', + iconPath: 'assets/new-ui/crypto_full_icons/solana.svg', enabled: false, ), SPLToken( @@ -61,7 +61,7 @@ class DefaultSPLTokens { mintAddress: '9n4nbM75f5Ui33ZbPYXn59EwSgE8CGsHtAeTH5YFeJ9E', decimal: 6, mint: 'btcsol', - iconPath: 'assets/images/crypto/bitcoin.webp', + iconPath: 'assets/new-ui/crypto_full_icons/bitcoin.svg', enabled: false, ), SPLToken( diff --git a/cw_wownero/lib/wownero_wallet_service.dart b/cw_wownero/lib/wownero_wallet_service.dart index 4709258c7..c42f7d60c 100644 --- a/cw_wownero/lib/wownero_wallet_service.dart +++ b/cw_wownero/lib/wownero_wallet_service.dart @@ -1,5 +1,6 @@ import 'dart:ffi'; import 'dart:io'; +import 'package:cw_core/exceptions.dart' show WalletDeprecationException; import 'package:cw_core/monero_wallet_utils.dart'; import 'package:cw_core/pathForWallet.dart'; import 'package:cw_core/unspent_coins_info.dart'; @@ -138,8 +139,8 @@ class WowneroWalletService extends WalletService< } wallet = WowneroWallet(walletInfo: walletInfo, derivationInfo: await walletInfo.getDerivationInfo(), unspentCoinsInfo: unspentCoinsInfoSource, password: password); - throw Exception("support for coin removed, your seedphrase: ${wallet.seed}"); - + throw WalletDeprecationException(seed: wallet.seed, curr: wallet.currency); + final isValid = wallet.walletAddresses.validate(); if (!isValid) { diff --git a/integration_test/robots/transactions_page_robot.dart b/integration_test/robots/transactions_page_robot.dart index e659626ea..1365c54c2 100644 --- a/integration_test/robots/transactions_page_robot.dart +++ b/integration_test/robots/transactions_page_robot.dart @@ -385,8 +385,8 @@ class TransactionsPageRobot { Future _verifyTradeListItemDisplay(TradeListItem item) async { final keyId = 'trade_list_item_${item.trade.id}_key'; - final from = item.trade.from?.toString() ?? item.trade.userCurrencyFrom.toString(); - final to = item.trade.to?.toString() ?? item.trade.userCurrencyTo.toString(); + final from = item.trade.from?.toString() ?? ''; + final to = item.trade.to?.toString() ?? ''; //* ==============Confirm it has the right key for this item ======== commonTestCases.hasValueKey(keyId); diff --git a/lib/core/backup_service.dart b/lib/core/backup_service.dart index 2db105c13..5daab7d45 100644 --- a/lib/core/backup_service.dart +++ b/lib/core/backup_service.dart @@ -19,6 +19,7 @@ import 'package:cake_wallet/entities/encrypt.dart'; import 'package:cake_wallet/entities/preferences_key.dart'; import 'package:cake_wallet/entities/secret_store_key.dart'; import 'package:cw_core/wallet_info.dart'; +import 'package:cake_wallet/exchange/trade_legacy.dart'; import 'package:cake_wallet/.secrets.g.dart' as secrets; import 'package:cake_wallet/wallet_types.g.dart'; import 'package:cake_backup/backup.dart' as cake_backup; @@ -110,6 +111,7 @@ class $BackupService { Future verifyWallets() async { await performHiveMigration(); // for backups made before sqlite migration + await performTradeHiveMigration(_secureStorage); correctWallets = (await WalletInfo.getAll()).where((info) => availableWalletTypes.contains(info.type)).toList(); if (correctWallets.isEmpty) { diff --git a/lib/core/trade_monitor.dart b/lib/core/trade_monitor.dart index 07cd3eeca..593275709 100644 --- a/lib/core/trade_monitor.dart +++ b/lib/core/trade_monitor.dart @@ -20,7 +20,6 @@ import 'package:cake_wallet/exchange/provider/thorchain_exchange.provider.dart'; import 'package:cake_wallet/exchange/provider/trocador_exchange_provider.dart'; import 'package:cake_wallet/exchange/provider/xoswap_exchange_provider.dart'; import 'package:cw_core/utils/print_verbose.dart'; -import 'package:hive/hive.dart'; import 'package:cake_wallet/store/app_store.dart'; import 'package:shared_preferences/shared_preferences.dart'; @@ -30,13 +29,11 @@ class TradeMonitor { TradeMonitor({ required this.tradesStore, - required this.trades, required this.appStore, required this.preferences, }); final TradesStore tradesStore; - final Box trades; final AppStore appStore; final Map _tradeTimers = {}; final SharedPreferences preferences; @@ -54,7 +51,7 @@ class TradeMonitor { case ExchangeProviderDescription.exolix: return ExolixExchangeProvider(); case ExchangeProviderDescription.thorChain: - return ThorChainExchangeProvider(tradesStore: trades); + return ThorChainExchangeProvider(); case ExchangeProviderDescription.swapTrade: return SwapTradeExchangeProvider(); case ExchangeProviderDescription.letsExchange: @@ -62,7 +59,7 @@ class TradeMonitor { case ExchangeProviderDescription.stealthEx: return StealthExExchangeProvider(); case ExchangeProviderDescription.chainflip: - return ChainflipExchangeProvider(tradesStore: trades); + return ChainflipExchangeProvider(); case ExchangeProviderDescription.xoSwap: return XOSwapExchangeProvider(); case ExchangeProviderDescription.swapsXyz: @@ -187,12 +184,7 @@ class TradeMonitor { try { final updated = await provider.findTradeById(id: trade.id); - trade - ..stateRaw = updated.state.raw - ..receiveAmount = updated.receiveAmount ?? trade.receiveAmount - ..outputTransaction = updated.outputTransaction ?? trade.outputTransaction - ..userCurrencyToRaw = updated.userCurrencyToRaw - ..userCurrencyFromRaw = updated.userCurrencyFromRaw; + trade.mergeFindTradeByIdResult(updated); printV('Trade ${trade.id} updated: ${trade.state}'); await trade.save(); diff --git a/lib/core/wallet_loading_service.dart b/lib/core/wallet_loading_service.dart index 460381228..55c65859f 100644 --- a/lib/core/wallet_loading_service.dart +++ b/lib/core/wallet_loading_service.dart @@ -5,11 +5,12 @@ import 'package:cake_wallet/core/key_service.dart'; import 'package:cake_wallet/entities/preferences_key.dart'; import 'package:cake_wallet/generated/i18n.dart'; import 'package:cake_wallet/main.dart'; +import 'package:cake_wallet/new-ui/widgets/wallet_deprecation_popup.dart'; import 'package:cake_wallet/reactions/on_authentication_state_change.dart'; import 'package:cake_wallet/src/widgets/alert_with_two_actions.dart'; import 'package:cake_wallet/utils/exception_handler.dart'; import 'package:cake_wallet/utils/show_pop_up.dart'; -import 'package:cw_core/cake_hive.dart'; +import 'package:cw_core/exceptions.dart' show WalletDeprecationException; import 'package:cw_core/utils/print_verbose.dart'; import 'package:cw_core/wallet_base.dart'; import 'package:cw_core/wallet_info.dart'; @@ -73,9 +74,12 @@ class WalletLoadingService { return wallet; } catch (error, stack) { String corruptedWalletsSeeds = "Corrupted wallets seeds (if retrievable, empty otherwise):"; - - if ([WalletType.wownero, WalletType.haven].contains(type)) { - corruptedWalletsSeeds += "\n\n$type $name: $error"; + + if(error is WalletDeprecationException) { + if(navigatorKey.currentContext != null) { + showModalBottomSheet( + context: navigatorKey.currentContext!, builder: (context)=>WalletDeprecationPopup(type: type, seed: error.seed,)); + } } else { await ExceptionHandler.resetLastPopupDate(); final isLedgerError = await ExceptionHandler.isLedgerError(error); diff --git a/lib/di.dart b/lib/di.dart index a4b3c0fd1..50a7cefcf 100644 --- a/lib/di.dart +++ b/lib/di.dart @@ -329,7 +329,6 @@ var _isSetupFinished = false; late Box _nodeSource; late Box _powNodeSource; late Box _contactSource; -late Box _tradesSource; late Box