Skip to content

upgrade(swap): Concurrent syncing, bdk upgrade, refactors #180

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

Draft
wants to merge 127 commits into
base: master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
127 commits
Select commit Hold shift + click to select a range
cc760f0
upgrade sqlx to 0.8, add bdk_wallet and bdk_electrum
Einliterflasche Nov 16, 2024
52e52f1
move old wallet code to extra module
Einliterflasche Nov 22, 2024
988143c
fix fee estimation for old client
Einliterflasche Nov 22, 2024
e556bc3
bump bitcoin crate, add new wallet constructor
Einliterflasche Nov 22, 2024
61e45c7
remove unused old Client, move code around for better readibility
Einliterflasche Nov 22, 2024
dc1e323
make Wallet generic over Persister (database) and move more code arou…
Einliterflasche Nov 22, 2024
c7e8db3
add script history, start reimplementing client methods
Einliterflasche Nov 22, 2024
b30cc91
update some imports
Einliterflasche Nov 22, 2024
47bb2ff
cargo fmt
Einliterflasche Nov 23, 2024
a5c4261
Add comments, fix fee estimation, address generation and status_of_sc…
Einliterflasche Nov 25, 2024
32430db
redo state update and wallet sync
Einliterflasche Nov 25, 2024
e634cc8
fix bitcoin address validation and more imports, use Amount everywhere
Einliterflasche Nov 26, 2024
1d2543a
fix tx cancel, lock, punish, redeem, refund
Einliterflasche Nov 26, 2024
11c9aa9
fix bitcoin::Address de-/serialisation
Einliterflasche Nov 26, 2024
bde3b91
fix more address validation
Einliterflasche Nov 26, 2024
3907593
fix more address parsing and validation, also some more imports
Einliterflasche Nov 27, 2024
533bd30
cargo fmt
Einliterflasche Nov 27, 2024
5e15c66
fix wallet initialization, start wallet migration
Einliterflasche Nov 27, 2024
69269c4
fail test instead of ignoring it
Einliterflasche Nov 29, 2024
5e52e0a
perform full scan on creation, load from db if it exists
Einliterflasche Dec 3, 2024
c353538
add more wallet info, fix wallet initialization
Einliterflasche Dec 3, 2024
1302840
fix: default to null in config
binarybaron Dec 3, 2024
ec361a6
migrate from old wallet if needed
Einliterflasche Dec 3, 2024
4e908e7
change something
Einliterflasche Dec 5, 2024
65eed53
fix some tests
Einliterflasche Dec 9, 2024
3b92235
Merge remote-tracking branch 'origin/master' into swap/upgrade-bdk
Einliterflasche Dec 9, 2024
0129170
temporarily patch bdk_wallet and bdk_electrum
Einliterflasche Dec 9, 2024
f421c55
fix more tests
Einliterflasche Dec 9, 2024
a3f4317
fix missing rustls
Einliterflasche Dec 10, 2024
556d161
asb: only start tor client if register_hidden_service=true in the config
Einliterflasche Dec 11, 2024
b048569
fix: use p2wsh_signature_hash instead of p2wpkh_signature_hash
Einliterflasche Dec 11, 2024
e82e2e6
fix some bitcoin address parsing and fee rate parsing
Einliterflasche Dec 11, 2024
54dc27d
dprint fmt
Einliterflasche Dec 16, 2024
a863271
add bitcoin-harness to this project and update to the new bitcoin ver…
Einliterflasche Dec 16, 2024
ffbd53a
fix max_givible again
Einliterflasche Dec 18, 2024
e38d78d
create electrum client separately from wallet, clean up some code
Einliterflasche Dec 20, 2024
4777322
Merge branch 'master' into swap/upgrade-bdk
Einliterflasche Dec 24, 2024
995ff2c
add comment
Einliterflasche Dec 24, 2024
455e83b
Merge branch 'master' into swap/upgrade-bdk
Einliterflasche Dec 24, 2024
26b43d0
ignore .env.development
Einliterflasche Jan 6, 2025
c0828fe
log config file path on ./asb config
Einliterflasche Jan 6, 2025
14a5b4c
feat(monero-sys): Initial commit. Regtest integration test. Wrapper a…
binarybaron Apr 26, 2025
455cd5b
Merge master into swap/upgrade-bdk branch
binarybaron Apr 28, 2025
cf5269e
Revert "feat(monero-sys): Initial commit. Regtest integration test. W…
binarybaron Apr 28, 2025
2654402
upgrade to rust toolchain 1.81
binarybaron Apr 28, 2025
c41cc38
Use new bdk update for code from master
binarybaron Apr 28, 2025
82603a7
fix
binarybaron Apr 28, 2025
49df038
remove
binarybaron Apr 28, 2025
e534a55
fix: add empty .gitmodules file to fix Docker build
binarybaron Apr 28, 2025
90ec757
fix: clean up submodule references
binarybaron Apr 28, 2025
8ff0003
fix: properly declare monero submodule with ignore flag
binarybaron Apr 28, 2025
08af515
fix(wallet, bdk): only reveal new address if absolutely necessary
binarybaron Apr 29, 2025
5aaac32
fix: private keys not loaded into bdk wallet
binarybaron Apr 29, 2025
2102314
refactor: sync wallet progress log
binarybaron Apr 29, 2025
4454a3f
dprint fmt
binarybaron Apr 29, 2025
7f6a51d
refactor: move bitcoin-harness to outside repo
binarybaron Apr 30, 2025
1696640
refactor: remove redundant log message
binarybaron Apr 30, 2025
8a23ba6
Display sync progress
binarybaron Apr 30, 2025
d028afe
Remove redundant arg to swap/tests/harness/mod.rs function
binarybaron Apr 30, 2025
74d6c6d
fix: call rustls::crypto::ring::default_provider()
binarybaron Apr 30, 2025
7305164
dprint fmt
binarybaron Apr 30, 2025
1fab238
refactor: remove debug code
binarybaron Apr 30, 2025
d09d3ff
refactor: move old bdk wallet export to own function, clear log messages
binarybaron May 2, 2025
a0279de
remove old migr for testnets (checksum mismatch), remove balance and …
binarybaron May 2, 2025
571608e
use revalidate_network function, remove redundant drop
binarybaron May 2, 2025
cf5c17f
Display progress of background tasks, TauriBackgroundProgressHandle s…
binarybaron May 2, 2025
6bfc159
Merge branch 'master' into swap/upgrade-bdk
binarybaron May 6, 2025
aca3e57
fix: almost satisfy clippy
binarybaron May 6, 2025
a89e1e1
fix: gen-bindings error
binarybaron May 6, 2025
e072261
feat: add BackgroundRefund background type
binarybaron May 6, 2025
0591c64
feat: use builder pattern for constructing Bitcoin wallet
binarybaron May 6, 2025
b9c4f2d
dprint ftm
binarybaron May 6, 2025
86042d7
sync electrum in seperate thread
binarybaron May 6, 2025
fc16f63
do not allow user to start sync while sync is in progress
binarybaron May 6, 2025
50eb315
remove redundant log message
binarybaron May 6, 2025
6759ae8
display random buffer in AlertWithLinearProgress progress
binarybaron May 6, 2025
d696269
fix: use TauriContextStatusEvent.Available), dont show syncing wallet…
binarybaron May 7, 2025
25d217d
differentiate between TestWalletBuilder and WalletBuilder
binarybaron May 7, 2025
e64f543
satisfy clippy
binarybaron May 7, 2025
de9afc1
remove custom BackgroundRefund event, move into background process ar…
binarybaron May 7, 2025
ee7970a
refactor
binarybaron May 7, 2025
9ad6d34
dprint fmt
binarybaron May 7, 2025
53c2caa
progress: get unit tests compiling
binarybaron May 9, 2025
c695c2e
fix: bitcoin unit tests specify const values like sync_interval
binarybaron May 9, 2025
dfc67c5
fix: get unit tests passing
binarybaron May 10, 2025
1364290
make clippy happy
binarybaron May 10, 2025
ab74b29
feat: display full sync progress, fix unit test import issues
binarybaron May 10, 2025
2cca39d
dprint fmt
binarybaron May 10, 2025
f5c0c18
make clippy happy, use u32 for target_block and not usize
binarybaron May 11, 2025
4301e91
always spawn tor for asb
binarybaron May 11, 2025
3d57cd1
refactor: remove gen_background_progress_id and just use Uuid::new_v4()
binarybaron May 11, 2025
958f6b4
refactor(hooks.ts): clarify comment on useConservativeBitcoinSyncProg…
binarybaron May 11, 2025
2ac0bef
fix typo
binarybaron May 11, 2025
abd7fb6
refactor: do not let WalletBuilder take entire env struct
binarybaron May 11, 2025
5250a29
dprint fmt
binarybaron May 11, 2025
5758eff
refactor: remove default feature from workspace patch of bdk
binarybaron May 11, 2025
b061015
first try for concurrent syncing
binarybaron May 12, 2025
ab8f486
refactor: concurrent syncing
binarybaron May 12, 2025
48cbd5c
fix(wallet.rs): Safely convert FeeRate from btc / kb to sats / kwu
binarybaron May 12, 2025
b6d80d4
feat(wallet.rs): persist published Bitcoin transactions without requi…
binarybaron May 12, 2025
8a0354d
refactor(wallet.rs): use just 5 concurrent sync requests
binarybaron May 12, 2025
42f33d5
refactor: display snackbar error when Wallet refresh fails
binarybaron May 12, 2025
527a287
fix: add missing space
binarybaron May 12, 2025
dc0cd76
dprint fmt
binarybaron May 12, 2025
70112d6
refactor: fancy traits for the CumulativeProgress struct, allow limit…
binarybaron May 12, 2025
15a6ef4
make clippy happy
binarybaron May 12, 2025
b902c02
dprint fmt
binarybaron May 12, 2025
6f4a8fa
refactor: clearly differntiate between SyncMutex and TokioMutex, use …
binarybaron May 13, 2025
5f0b136
fix: skip syncing if no spks in wallet
binarybaron May 13, 2025
1eeb10c
fix: update bdk.sh to test migration from old wallet (pre 1.0.0 bdk) …
binarybaron May 13, 2025
c36c420
fix: increase bitcoin_lock_confirmed_timeout in RegTest env to 5 minutes
binarybaron May 13, 2025
90cede6
refactor: avoid usize where possible, create persistence only after f…
binarybaron May 13, 2025
22041ce
make clippy happy
binarybaron May 15, 2025
ca4ba55
fix(ci): change rust toolchain 1.81
binarybaron May 15, 2025
483768b
fix(cross compilation arm): use ring instead of aws-lc-rs
binarybaron May 15, 2025
44898f9
fmt
binarybaron May 15, 2025
3d7909d
Merge branch 'master' into swap/upgrade-bdk
binarybaron May 15, 2025
470784a
ignore failing rendezvous tests
binarybaron May 15, 2025
67bec79
fix printing_status_change_doesnt_spam_on_same_status
binarybaron May 15, 2025
b406883
fix: given_bitcoin_address_network_mismatch_then_error test
binarybaron May 15, 2025
3a346ef
ignore list_sellers_should_report_all_registered_asbs_with_a_quote test
binarybaron May 15, 2025
3ffa61a
feat: add tor icon
binarybaron May 15, 2025
b2ce5c0
refactor(wallet.rs): reorder struct by abstraction level
binarybaron May 15, 2025
ee7be94
refactor(bitcoin wallet): chunk size for syncing
binarybaron May 15, 2025
f0410f3
fix(integration tests): decrease sync interval to 3s
binarybaron May 17, 2025
8d204a5
fix: resolve merge conflict in background.ts
binarybaron May 17, 2025
2a33b9d
fix(integration tests): parse_rpc_err method to take new bdk error, n…
binarybaron May 17, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/build-release-binaries.yml
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ jobs:

- uses: dtolnay/rust-toolchain@master
with:
toolchain: "1.80"
toolchain: "1.81"

- name: Cross Build ${{ matrix.target }} ${{ matrix.bin }} binary
if: matrix.target == 'armv7-unknown-linux-gnueabihf'
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ jobs:

- uses: dtolnay/rust-toolchain@master
with:
toolchain: "1.80"
toolchain: "1.81"
components: clippy,rustfmt

- uses: Swatinem/[email protected]
Expand Down Expand Up @@ -127,7 +127,7 @@ jobs:

- uses: dtolnay/rust-toolchain@master
with:
toolchain: "1.80"
toolchain: "1.81"
targets: armv7-unknown-linux-gnueabihf

- name: Install dependencies required by Tauri v2 (ubuntu only)
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/draft-new-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ jobs:
id: make-commit
env:
DPRINT_VERSION: "0.39.1"
RUST_TOOLCHAIN: "1.80"
RUST_TOOLCHAIN: "1.81"
run: |
rustup component add rustfmt --toolchain "$RUST_TOOLCHAIN-x86_64-unknown-linux-gnu"
curl -fsSL https://dprint.dev/install.sh | sh -s $DPRINT_VERSION
Expand Down
4 changes: 3 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,2 +1,4 @@
target
.vscode
.vscode
.claude/settings.local.json
.DS_Store
6 changes: 6 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# Explicitly declare submodules that no longer exist
# This prevents Docker build errors when trying to clone missing submodules
[submodule "monero-sys/monero"]
path = monero-sys/monero
url = https://github.com/monero-project/monero.git
ignore = all
Loading
Loading