Skip to content

CW-821 wallet corruption (dev tooling) #2181

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 3 commits into
base: main
Choose a base branch
from

Conversation

MrCyjaneK
Copy link
Collaborator

@MrCyjaneK MrCyjaneK commented Apr 9, 2025

Description

This PR contains just dev tooling.

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

@MrCyjaneK MrCyjaneK force-pushed the CW-821-cyjan-wallet-corruption branch 6 times, most recently from 6002763 to ff319df Compare April 17, 2025 10:49
@MrCyjaneK MrCyjaneK changed the title CW-821 wallet corruption CW-821 wallet corruption (dev tooling) Apr 17, 2025
@MrCyjaneK MrCyjaneK force-pushed the CW-821-cyjan-wallet-corruption branch from ff319df to 429ad06 Compare April 17, 2025 10:50
@MrCyjaneK MrCyjaneK force-pushed the CW-821-cyjan-wallet-corruption branch from 84bd192 to 80ffdc8 Compare May 20, 2025 11:18
MrCyjaneK added 3 commits June 4, 2025 17:45
This commit adds tooling to find potential issues with code
that are difficult to notice during debugging (especially on
builds from the CI which lack debugging capabilities).

File manager supports basic operations like browsing files,
renaming, copying and removing

Snapshots allow to take a snapshot of current app data, and
compare to it later on with basic hexdump view - useful to
notice anomalies or modifications to files that shouldn't
be accessed.

File watcher checks for file modifications in real time, which
is used to see what actions are happening to the fs in real
time.

Fuzzing can be used to load/create wallets randomly to see
if any of them will get corrupted (can be used in addition
with wallet_fuzzer.sh script that kills the app and restarts
the process at random intervals to simulate unexpected action
that can happen for example in the background).

In addition I've added toString method to {bitcoin,monero,nano
,zano}_wallet_keys.dart so I can easily compare the results
when fuzzing without accessing wallet-specific code.
@MrCyjaneK MrCyjaneK force-pushed the CW-821-cyjan-wallet-corruption branch from 80ffdc8 to df0c1cc Compare June 4, 2025 15:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant