CW-875 BackupServiceV3 (#2064)

* implement v3 backup system

- Add new BackupServiceV3 with chunked backup support and checksums
- Implement json-based metadata in backup system
- Instead of binary file export a .zip file that user can open and
see that it is a cake backup
(should also prevent 3rd party software from corrupting binary
data inside of the file, in case it doesn't checksum will fail,
and user will know for sure that backup got corrupted)
- Update flutter to 3.27.4 to use archive ^4.x.x (it offers in memory
archive operations)

* fix wallets not getting restored properly

* prevent out of memory errors on files that are way too big during restore

* Update lib/view_model/backup_view_model.dart [skip ci]

* Update lib/core/backup_service.dart [skip ci]

* Update lib/core/backup_service.dart

---------

Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
This commit is contained in:
cyan 2025-03-22 02:16:54 +01:00 committed by GitHub
parent a085eff984
commit 102ab8dbe6
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
36 changed files with 1193 additions and 807 deletions

View file

@ -55,7 +55,7 @@ jobs:
- name: Flutter action
uses: subosito/flutter-action@v1
with:
flutter-version: "3.24.0"
flutter-version: "3.27.4"
channel: stable
- name: Install package dependencies

View file

@ -9,7 +9,7 @@ jobs:
PR_test_build:
runs-on: linux-amd64
container:
image: ghcr.io/cake-tech/cake_wallet:3.24.4-linux
image: ghcr.io/cake-tech/cake_wallet:3.27.4-linux
env:
STORE_PASS: test@cake_wallet
KEY_PASS: test@cake_wallet

View file

@ -9,7 +9,7 @@ jobs:
PR_test_build:
runs-on: linux-amd64
container:
image: ghcr.io/cake-tech/cake_wallet:3.24.4-linux
image: ghcr.io/cake-tech/cake_wallet:3.27.4-linux
env:
STORE_PASS: test@cake_wallet
KEY_PASS: test@cake_wallet