Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
109 commits
Select commit Hold shift + click to select a range
b18e621
feat: wallet unlock on wallet screen (#415)
pauldelucia Jul 31, 2025
2ce10ee
refactor: Amount type and AmountInput component (#417)
lklimek Jul 31, 2025
73a7f71
test: run tests using github actions and fix failing tests (#422)
lklimek Aug 5, 2025
0296abc
fix: incorrect decimals handling on token create, mint and burn scree…
lklimek Aug 5, 2025
11771ee
feat: add network field to identity structures (#423)
QuantumExplorer Aug 5, 2025
51509ff
feat: add display for private key in both WIF and Hex formats (#424)
QuantumExplorer Aug 5, 2025
554bc6b
feat: allow setting zmq uri in .env (#425)
lklimek Aug 6, 2025
7669b42
fix: failing test in token screen needed update
pauldelucia Aug 13, 2025
2288337
fix: update CI to use rust version 1.88 to match rust-toolchain
pauldelucia Aug 13, 2025
4d782da
feat: better display in key selector (#429)
pauldelucia Aug 13, 2025
c1c6294
refactor: unified confirmation dialog (#413)
lklimek Aug 13, 2025
80f288a
feat: nicer contract chooser panel (#426)
pauldelucia Aug 13, 2025
acc79ac
fix: token purchasability was not refreshing unless app restart (#432)
pauldelucia Aug 13, 2025
54c6219
fix: token action buttons alignment
pauldelucia Aug 13, 2025
562332c
feat: nicer expanding tabs in token creator (#431)
pauldelucia Aug 14, 2025
2935a5d
feat: implement new ConfirmationDialog component throughout app (#430)
pauldelucia Aug 14, 2025
f1b31d7
fix: confirmation dialog on withdrawal screen always showing "loading"
pauldelucia Aug 21, 2025
d6126c6
feat: Dash Masternode List and Quorum Viewer (#428)
QuantumExplorer Sep 19, 2025
3d059d2
chore: bump version to 1.0.0-dev (#439)
thephez Sep 23, 2025
0f753f5
feat: add left panel button labels and create contract subscreen choo…
pauldelucia Sep 23, 2025
e4c1db6
feat: clarify identity index description for identity creation
pauldelucia Oct 6, 2025
e45631a
fix: screen button labels display hard to see in dark mode
pauldelucia Oct 8, 2025
39625c5
feat: left panel scroll (#443)
pauldelucia Oct 17, 2025
56a54f1
feat: add existing identity by wallet + identity index (#444)
pauldelucia Oct 17, 2025
36146bd
feat: remove wallet (#445)
pauldelucia Oct 17, 2025
b376c8d
fix: identity creation and top-up via QR code handling (#447)
pauldelucia Oct 17, 2025
aa48a47
fix: keyword search required new platform version plus error handling…
pauldelucia Oct 17, 2025
c37e8a5
fix: handle decimals and fix schedules on price and purchase screens …
lklimek Oct 17, 2025
94d1721
fix: showing used asset locks as unused (#448)
pauldelucia Oct 21, 2025
adc0911
chore: remove unused task sender
pauldelucia Oct 21, 2025
b1d907b
chore: update to Platform V10
pauldelucia Oct 21, 2025
c54e6b7
feat: GroveSTARK ZK proofs (#450)
pauldelucia Oct 24, 2025
ff64448
chore: update grovestark rev
pauldelucia Oct 24, 2025
d9bfc15
chore: update platform to v2.1.2
pauldelucia Oct 28, 2025
a625574
feat: derive keys from loaded wallets when loading identity by ID (#446)
pauldelucia Oct 28, 2025
26a74a0
fix: wallet screen not updating wallets after network change (#451)
pauldelucia Oct 28, 2025
32fa6bb
fix: some document actions were showing error when it was success (#452)
pauldelucia Oct 28, 2025
c934f13
feat: wallet unlock button (#459)
pauldelucia Oct 28, 2025
dca4dc7
fix: scrollable unused asset locks on identity creation (#460)
pauldelucia Nov 10, 2025
a6068ea
fix: no error display when trying to import a wallet twice on differe…
pauldelucia Nov 17, 2025
466b945
fix: logging should interpret RUST_LOG env variable (#467)
lklimek Dec 16, 2025
9073eb3
feat: signed dmg for mac (#437)
pauldelucia Dec 16, 2025
82399a2
feat: HD wallet system, DashPay integration, SPV support, and more (#…
pauldelucia Jan 19, 2026
ba251f5
feat: comprehensive test coverage implementation (#481)
pauldelucia Jan 20, 2026
5c228dd
fix: cannot create identity from address due to wrong identity id (#470)
lklimek Jan 20, 2026
b641a14
docs: add CLAUDE.md for Claude Code guidance (#484)
PastaPastaPasta Jan 21, 2026
28b4e07
build: update dash-sdk to use rust-dashcore v0.42-dev (#483)
PastaPastaPasta Jan 21, 2026
071946e
feat: hint text next to withdrawal destination input in dev mode with…
pauldelucia Jan 22, 2026
d649219
feat: implement asset lock creation and detail screens (#418)
QuantumExplorer Jan 23, 2026
79bfeca
fix: dev mode wouldnt toggle in left panel when unchecked in settings…
pauldelucia Jan 23, 2026
ffe5de1
fix: force Core RPC mode on app start if not in dev mode (#489)
pauldelucia Jan 23, 2026
8480fe7
fix: display WIF format for manually added private keys (#496)
thephez Jan 23, 2026
84ab000
fix: security level validation for add key screen (#494)
thephez Jan 23, 2026
2194fca
fix: identity registration default key was using wrong `ContractBound…
pauldelucia Jan 23, 2026
390bf01
feat: add coderabbit configuration file
pauldelucia Jan 23, 2026
ea77d2c
fix: document actions were auto selecting master keys but shouldnt (#…
pauldelucia Jan 23, 2026
c8b8d74
fix: top up with QR was validating against wallet max balance (#492)
pauldelucia Jan 23, 2026
691375e
fix: view platform address popup showing wrong address format (#500)
pauldelucia Jan 27, 2026
b313405
feat: update sdk v3.0.1 hotfix.1 (#503)
pauldelucia Jan 27, 2026
b4fbe93
fix: ensure dev mode is off and spv sync off for new users (#504)
pauldelucia Jan 27, 2026
1aa80c2
fix: update platform address prefix from dashevo to evo (#505)
pauldelucia Jan 27, 2026
72166f3
fix: platform address balance doubling after transfer and refresh (#502)
pauldelucia Jan 27, 2026
15c7a3d
feat: add fee multiplier caching and use it across all UI screens (#506)
pauldelucia Jan 28, 2026
6b4919c
fix: take from multiple platform addresses in simple send flow (#501)
pauldelucia Jan 28, 2026
8980f35
fix: prevent platform address balance doubling after internal updates…
pauldelucia Jan 28, 2026
5b83261
fix: fetch fresh nonces from platform for identity creation (#509)
pauldelucia Jan 29, 2026
d63bf35
fix: don't auto-generate platform address when opening receive dialog…
pauldelucia Jan 30, 2026
a48f947
fix: show N/A for UTXOs and Total Received columns on Platform addres…
pauldelucia Jan 30, 2026
00deda1
fix: reserve fees when using max button for platform address identity…
pauldelucia Feb 2, 2026
d19c5dc
Release SPV storage lock on shutdown (#517)
PastaPastaPasta Feb 3, 2026
6899b84
Fix dark mode text colors (#515)
PastaPastaPasta Feb 4, 2026
0d347e3
fix: invalid min amount when transferring funds (#523)
lklimek Feb 4, 2026
4c1f40d
chore: update bincode to 2.0.1, dash-sdk to v3.1-dev, and grovestark …
pauldelucia Feb 4, 2026
c13772b
feat: use DAPI instead of Core RPC for historical asset lock transact…
PastaPastaPasta Feb 5, 2026
2260d08
fix: not enough balance to pay a fee in platform to core transfers (#…
lklimek Feb 5, 2026
29d40ea
Refactor token creator helpers (#518)
PastaPastaPasta Feb 5, 2026
9da3a60
Simplify wallets UI helpers and send flow (#519)
PastaPastaPasta Feb 6, 2026
7647598
fix: handle RegisteredTokenContract result to clear token creation sp…
pauldelucia Feb 6, 2026
45c4f03
fix: build fails for windows target (#527)
lklimek Feb 9, 2026
12a2826
fix: critical wallet bugs (GH#522, GH#476, GH#478, GH#85) (#534)
PastaPastaPasta Feb 9, 2026
3dc268b
fix(tokens): restore token reorder assignment and distribution field …
PastaPastaPasta Feb 9, 2026
9c970de
Extract dialog rendering into wallets_screen/dialogs.rs module (#539)
PastaPastaPasta Feb 9, 2026
428ff1d
build: update all dependencies (#531)
lklimek Feb 9, 2026
629ff4f
feat: add key exchange protocol and state transition signing
PastaPastaPasta Feb 3, 2026
f6b1100
feat: migrate SPV event handling to broadcast channels
PastaPastaPasta Feb 3, 2026
89897c6
fix: refresh receive dialog balances from wallet on each frame
PastaPastaPasta Feb 3, 2026
b7ce794
refactor: remove YAPPR key exchange and state transition signing
PastaPastaPasta Feb 3, 2026
0412496
feat: replace Core RPC with DAPI for asset lock operations in SPV mode
PastaPastaPasta Feb 4, 2026
7127962
style: apply cargo fmt formatting
PastaPastaPasta Feb 4, 2026
2cfca79
fix: handle ignored Results and avoid panic on poisoned lock
PastaPastaPasta Feb 4, 2026
3fb4705
fix: clean up finality map on success and remove poisoned lock panic
PastaPastaPasta Feb 4, 2026
921615b
refactor: address PR #525 review feedback from @lklimek
PastaPastaPasta Feb 9, 2026
fd9bbf3
Refactor masternode list diff screen state (#520)
PastaPastaPasta Feb 9, 2026
28d83c4
Initial plan
Copilot Feb 10, 2026
c7e109a
refactor: split context.rs into focused submodules (#543)
PastaPastaPasta Feb 10, 2026
d5d0c6b
refactor: extract address table, asset locks, and single-key view fro…
PastaPastaPasta Feb 10, 2026
44a0739
fix(startup): harden cookie parsing, config save, and logger init (#537)
PastaPastaPasta Feb 10, 2026
1c84196
fix: propagate errors from wallet balance recalculation instead of si…
PastaPastaPasta Feb 10, 2026
12bea79
chore: update dash-sdk to platform rev 060515987a
PastaPastaPasta Feb 10, 2026
a45e438
merge: integrate upstream/v1.0-dev (context.rs split into submodules)
PastaPastaPasta Feb 10, 2026
ce71eea
chore: cargo fmt
PastaPastaPasta Feb 10, 2026
0e2e67a
fix: connection status not clear (#532)
lklimek Feb 10, 2026
962a3b3
fix: error when SPV sync height unknown instead of defaulting to 0
PastaPastaPasta Feb 10, 2026
0a31553
Merge pull request #525 from dashpay/feat/working-spv
PastaPastaPasta Feb 10, 2026
7d1b8a3
Merge pull request #548 from dashpay/chore/improve-claude-md
PastaPastaPasta Feb 10, 2026
2509f61
docs: use v1.0-dev for diffs etc agents (#551)
PastaPastaPasta Feb 10, 2026
8eeb54f
fix: remove dead code with guaranteed mutex deadlock (#559)
Copilot Feb 11, 2026
86240ce
Merge v1.0-dev into copilot/sub-pr-421
Copilot Feb 11, 2026
02ab340
feat: add "Claim all" checkbox and complete merge with v1.0-dev
Copilot Feb 11, 2026
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
10 changes: 10 additions & 0 deletions .cargo/config.toml
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,13 @@ rustflags = ["-C", "target-feature=-crt-static", "-C", "target-cpu=x86-64"]

[target.x86_64-unknown-linux-gnu]
rustflags = ["-C", "target-feature=-crt-static", "-C", "target-cpu=x86-64"]

[target.x86_64-pc-windows-gnu]
linker = "x86_64-w64-mingw32-gcc-posix"
ar = "x86_64-w64-mingw32-ar"

[env]
CC_x86_64_pc_windows_gnu = "x86_64-w64-mingw32-gcc-posix"
CXX_x86_64_pc_windows_gnu = "x86_64-w64-mingw32-g++-posix"
AR_x86_64_pc_windows_gnu = "x86_64-w64-mingw32-ar"
CFLAGS_x86_64_pc_windows_gnu = "-O2"
7 changes: 7 additions & 0 deletions .coderabbit.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json
reviews:
auto_review:
enabled: true
base_branches:
- master
- v1.0-dev
13 changes: 10 additions & 3 deletions .env.example
Original file line number Diff line number Diff line change
@@ -1,34 +1,41 @@
# THIS FILE MUST BE PLACED IN
# linux: ~/.config/dash-evo-tool/.env
# Mac: ~/Library/ApplicationSupport/Dash-Evo-Tool/.env

MAINNET_dapi_addresses=https://104.200.24.196:443,https://134.255.182.185:443,https://134.255.182.186:443,https://134.255.182.187:443,https://134.255.183.247:443,https://134.255.183.248:443,https://134.255.183.250:443,https://135.181.110.216:443,https://146.59.4.9:443,https://147.135.199.138:443,https://149.28.241.190:443,https://149.28.247.165:443,https://157.10.199.125:443,https://157.10.199.77:443,https://157.10.199.79:443,https://157.10.199.82:443,https://157.66.81.130:443,https://157.66.81.162:443,https://157.66.81.218:443,https://157.90.238.161:443,https://159.69.204.162:443,https://167.179.90.255:443,https://167.88.169.16:443,https://168.119.102.10:443,https://172.104.90.249:443,https://173.212.239.124:443,https://173.249.53.139:443,https://178.157.91.184:443,https://185.158.107.124:443,https://185.192.96.70:443,https://185.194.216.84:443,https://185.197.250.227:443,https://185.198.234.17:443,https://185.215.166.126:443,https://188.208.196.183:443,https://188.245.90.255:443,https://192.248.178.237:443,https://193.203.15.209:443,https://194.146.13.7:443,https://194.195.87.34:443,https://198.7.115.43:443,https://207.244.247.40:443,https://213.199.34.248:443,https://213.199.34.250:443,https://213.199.34.251:443,https://213.199.35.15:443,https://213.199.35.18:443,https://213.199.35.6:443,https://213.199.44.112:443,https://2.58.82.231:443,https://31.220.84.93:443,https://31.220.85.180:443,https://31.220.88.116:443,https://37.27.83.17:443,https://37.60.236.151:443,https://37.60.236.161:443,https://37.60.236.201:443,https://37.60.236.212:443,https://37.60.236.247:443,https://37.60.236.249:443,https://37.60.243.119:443,https://37.60.243.59:443,https://37.60.244.220:443,https://44.240.99.214:443,https://49.12.102.105:443,https://49.13.154.121:443,https://49.13.193.251:443,https://49.13.237.193:443,https://49.13.28.255:443,https://51.195.118.43:443,https://51.83.191.208:443,https://5.189.186.78:443,https://52.10.213.198:443,https://52.33.9.172:443,https://54.69.95.118:443,https://5.75.133.148:443,https://64.23.134.67:443,https://65.108.246.145:443,https://65.109.65.126:443,https://65.21.145.147:443,https://79.137.71.84:443,https://81.17.101.141:443,https://91.107.204.136:443,https://91.107.226.241:443,https://93.190.140.101:443,https://93.190.140.111:443,https://93.190.140.112:443,https://93.190.140.114:443,https://93.190.140.162:443,https://95.216.146.18:443
MAINNET_core_host=127.0.0.1
MAINNET_core_rpc_port=9998
MAINNET_core_rpc_user=dashrpc
MAINNET_core_rpc_password=password
MAINNET_insight_api_url=https://insight.dash.org/insight-api
MAINNET_core_zmq_endpoint=tcp://127.0.0.1:23708
MAINNET_show_in_ui=true
MAINNET_developer_mode=true

TESTNET_dapi_addresses=https://34.214.48.68:1443,https://52.12.176.90:1443,https://52.34.144.50:1443,https://44.240.98.102:1443,https://54.201.32.131:1443,https://52.10.229.11:1443,https://52.13.132.146:1443,https://52.40.219.41:1443,https://54.149.33.167:1443,https://35.164.23.245:1443,https://52.33.28.47:1443,https://52.43.13.92:1443,https://52.89.154.48:1443,https://52.24.124.162:1443,https://35.85.21.179:1443,https://54.187.14.232:1443,https://54.68.235.201:1443,https://52.13.250.182:1443
TESTNET_core_host=127.0.0.1
TESTNET_core_rpc_port=19998
TESTNET_core_rpc_user=dashrpc
TESTNET_core_rpc_password=password
TESTNET_insight_api_url=https://testnet-insight.dash.org/insight-api
TESTNET_core_zmq_endpoint=tcp://127.0.0.1:23709
TESTNET_show_in_ui=true
TESTNET_developer_mode=false

DEVNET_dapi_addresses=http://54.203.116.91:1443,http://52.88.16.46:1443,http://34.222.214.170:1443,http://54.214.77.108:1443,http://52.40.186.234:1443,http://54.202.231.20:1443,http://35.89.246.86:1443,http://18.246.227.21:1443,http://44.245.96.164:1443,http://44.247.160.52:1443
DEVNET_core_host=127.0.0.1
DEVNET_core_rpc_port=29998
DEVNET_core_rpc_user=dashrpc
DEVNET_core_rpc_password=password
DEVNET_insight_api_url=
DEVNET_core_zmq_endpoint=tcp://127.0.0.1:23710
DEVNET_show_in_ui=true
DEVNET_developer_mode=false

LOCAL_dapi_addresses=http://127.0.0.1:2443,http://127.0.0.1:2543,http://127.0.0.1:2643
LOCAL_core_host=127.0.0.1
LOCAL_core_rpc_port=20302
LOCAL_core_rpc_user=dashmate
# Use dashmate cli to retrive it:
# dashmate config get core.rpc.users.dashmate.password --config=local_seed
LOCAL_core_rpc_password=password
LOCAL_insight_api_url=http://localhost:3001/insight-api
LOCAL_core_zmq_endpoint=tcp://127.0.0.1:50298
LOCAL_show_in_ui=true
37 changes: 31 additions & 6 deletions .github/workflows/clippy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,30 @@ jobs:
runs-on: ubuntu-latest

steps:
- name: Free disk space
run: |
echo "=== Disk space before cleanup ==="
df -h
# Remove large unnecessary directories
sudo rm -rf /usr/share/dotnet
sudo rm -rf /usr/local/lib/android
sudo rm -rf /opt/ghc
sudo rm -rf /opt/hostedtoolcache/CodeQL
sudo rm -rf /opt/hostedtoolcache/go
sudo rm -rf /opt/hostedtoolcache/node
sudo rm -rf /usr/local/share/boost
sudo rm -rf /usr/share/swift
sudo rm -rf /usr/local/graalvm
sudo rm -rf /usr/local/.ghcup
# Clean docker
sudo docker image prune --all --force || true
sudo docker system prune --all --force || true
# Clean apt cache
sudo apt-get clean
sudo rm -rf /var/lib/apt/lists/*
echo "=== Disk space after cleanup ==="
df -h

- name: Checkout code
uses: actions/checkout@v4

Expand All @@ -25,17 +49,15 @@ jobs:
path: |
~/.cargo/registry
~/.cargo/git
target
key: ${{ runner.os }}-cargo-clippy-${{ hashFiles('**/Cargo.lock') }}
key: ${{ runner.os }}-cargo-registry-${{ hashFiles('**/Cargo.lock') }}
restore-keys: |
${{ runner.os }}-cargo-clippy-
${{ runner.os }}-cargo-
${{ runner.os }}-cargo-registry-

- name: Install Rust toolchain
uses: actions-rs/toolchain@v1
with:
toolchain: stable
components: clippy
toolchain: 1.92
components: clippy, rustfmt
override: true

- name: Install system dependencies
Expand All @@ -52,6 +74,9 @@ jobs:
env:
PROTOC: /usr/local/bin/protoc

- name: Check formatting
run: cargo fmt --all -- --check

- name: Run Clippy
uses: actions-rs/clippy-check@v1
with:
Expand Down
Loading
Loading