Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
2930 commits
Select commit Hold shift + click to select a range
46c486c
modify BlockchainSource::get_transaction for use in ChainIndex::get_r…
AloeareV Jan 16, 2026
d64cfd0
improved error message
fluidvanadium Jan 18, 2026
fc16f54
Merge pull request #798 from fluidvanadium/error_message
AloeareV Jan 19, 2026
31d0d85
Merge pull request #795 from idky137/update_finalized_state_documenta…
AloeareV Jan 20, 2026
6027d64
add passthrough to get_raw_transaction
AloeareV Jan 20, 2026
7735a94
Merge branch 'dev' into chainindex_passthrough_behind_zebra
AloeareV Jan 20, 2026
339f40e
Merge branch 'dev' into feat/docker-hostname-resolution
nachog00 Jan 21, 2026
02a56e2
add get_transaction_status passthrough
AloeareV Jan 21, 2026
b689a31
Merge pull request #784 from gustavovalverde/feat/docker-hostname-res…
nachog00 Jan 22, 2026
8aa3b4c
fix a couple todos
AloeareV Jan 22, 2026
00a1107
update comments
AloeareV Jan 23, 2026
92bacdc
test boilerplate
AloeareV Jan 23, 2026
0a93120
test now shows sync sucessfully slowed-down
AloeareV Jan 26, 2026
1e89508
Merged doc-comments
fluidvanadium Jan 27, 2026
d1f5a60
refactor(config): migrate from figment to config-rs
gustavovalverde Jan 27, 2026
5a6a525
docs(config): fix outdated comment about cookie auth requirement
gustavovalverde Jan 27, 2026
49e5241
Merge pull request #469 from gustavovalverde/feat-config-rs
nachog00 Jan 27, 2026
62a42d3
test get_raw_transaction passthrough
AloeareV Jan 27, 2026
67c5789
Squashed 'zaino-proto/lightwallet-protocol/' changes from b314868d..2…
pacu Dec 28, 2025
19371c5
Enable build.rs
pacu Dec 28, 2025
ce8a418
WIP - Add `vin` and `vout` to `CompactTx`
pacu Oct 28, 2025
eff6206
Fix compiler errors from updated proto files
pacu Nov 1, 2025
b27f289
Deprecate get_address_txids for Light Clients
pacu Nov 5, 2025
370aa4f
Prune CompactTx according to requested PoolType vector
pacu Nov 6, 2025
7ba3dfe
Fix `get_compact_block` Optional unwrap
pacu Nov 12, 2025
48de138
use helper function to convert pool_types from `Vec<i32>` to type
pacu Nov 12, 2025
8ac2463
fix rebase issues
pacu Nov 12, 2025
bf9c2b9
Create CHANGELOG.md file for zaino-proto
pacu Dec 28, 2025
ef57266
Create a utils.rs file for helper methods
pacu Dec 29, 2025
d0e6b61
Create a GetBlockRange Error Enum
pacu Nov 22, 2025
c5e67cc
add Scaffold for BlockRange validation
pacu Nov 22, 2025
db79626
Impl ValidatedGetBlockRangeRequest
pacu Nov 22, 2025
a6f1ec4
Refactor BlockRange request validation
pacu Nov 22, 2025
a17d467
Refactor request validation for get_block_range_nullifiers
pacu Nov 22, 2025
42f5fc7
refactor state service `get_block_range` to use a validated request
pacu Nov 24, 2025
2eba5cb
Document ValidatedBlockRangeRequest
pacu Dec 3, 2025
372cb27
Add changes to zaino-proto's CHANGELOG
pacu Dec 3, 2025
bf5c6db
Adopt changes from Lightclient-protocol v0.4.0
pacu Dec 28, 2025
7a8e129
cargo fmt
pacu Dec 12, 2025
2b94987
Fix compiler errors
pacu Dec 12, 2025
b30a70e
deprecate FullTransaction::to_compact() in favor of to_compact_tx
pacu Dec 12, 2025
31d961b
Deprecation of `to_compact` for Block and Transaction
pacu Dec 17, 2025
4257eb4
Add a test that checks if transparent data is there when requested
pacu Dec 29, 2025
b573714
Add tests for fetch and state servico on default pool type requests
pacu Nov 25, 2025
71842d5
Add state_service_get_block_range_returns_xxxx_pools tests
pacu Nov 27, 2025
ccca705
Fix state_service_get_block_range_returns_all_pools test
pacu Nov 27, 2025
d6efb82
Fix get_block_range_default_request_returns_all_pools_regtest
pacu Dec 2, 2025
7ce0dc1
Implement transparent data tests for fetch service
pacu Dec 2, 2025
a83e213
Fix test wallet client initialization failure
pacu Dec 30, 2025
89abb78
Add documentation on how to update zaino-proto's git subtree
pacu Dec 30, 2025
b895ad1
Clean up tests a bit and add docs
pacu Jan 16, 2026
130ab23
Add convenience methods to `PoolTypeFilter` and tests
pacu Jan 20, 2026
f8e4160
Ensure that all Full to Compact conversions account for PoolTypes
pacu Jan 20, 2026
13bc1e6
Fix transparent data tests
pacu Jan 20, 2026
6aa8866
minor fixes (updates) to rpc_api.md
LarryRuane Jan 19, 2026
dffd889
fix test `block_range_no_pool_type_returns_sapling_orchard` for Zcashd
pacu Jan 21, 2026
4d84ba0
fix test zcashd::get::block_range_returns_all_pools_when_requested
pacu Jan 22, 2026
cb02566
Implement PoolTypeFilter default() as Default trait impl
pacu Jan 26, 2026
fe26a5f
Fix error messages per PR Review comments
pacu Jan 26, 2026
8828ba0
remove unnecessary .bak file
pacu Jan 26, 2026
de59694
add `From<T>` trait impl for `FetchServiceError` and `StateServiceError`
pacu Jan 26, 2026
0d8f1d0
cargo fmt
pacu Jan 26, 2026
5c39247
make rustfmt ignore generated files and revert `service.rs` formatting
pacu Jan 27, 2026
a1fc0ba
updated get_compact_block
idky137 Jan 23, 2026
d34e89d
implemented get_compact_block_stream in v1 database
idky137 Jan 26, 2026
660cf99
updated database interface
idky137 Jan 26, 2026
75bc971
added db migration (fixed migrationmanager), added db CHANGELOG
idky137 Jan 27, 2026
1aecb9c
added db compact block streamer tests
idky137 Jan 27, 2026
ad23141
updated db changelog
idky137 Jan 27, 2026
c3682e3
review comment changes
idky137 Jan 28, 2026
c10e799
DRY passthrough_test
AloeareV Jan 28, 2026
f238d37
Merge branch 'state_service_chain_index_integration' into 677/status-…
nachog00 Jan 29, 2026
b1afd8f
Merge pull request #776 from zingolabs/677/status-trait
nachog00 Jan 29, 2026
9d7cef2
add get_block_height passthrough test
AloeareV Jan 29, 2026
4172e36
comment
AloeareV Jan 29, 2026
d3c727a
fix v1::get_compact_blocks test
idky137 Jan 29, 2026
3048401
fixed test_pool_type_filter_t_z_o
idky137 Jan 29, 2026
863a9cd
fixed get_transparent_data_from_compact_block_when_requested
idky137 Jan 29, 2026
32b7104
clippy fix
idky137 Jan 29, 2026
02959d4
add find_fork_point passthrough test
AloeareV Jan 29, 2026
29474bd
move `zaino_state::utils::blockid_to_hashorheight` to zaino-proto
pacu Jan 29, 2026
e82fbe1
remove rustfmt TOML to avoid fmt warnings
pacu Jan 29, 2026
86244b1
cargo fmt
pacu Jan 29, 2026
61fa7e1
add get_transaction_status passthrough
AloeareV Jan 29, 2026
c21edf7
cargo clippy
pacu Jan 29, 2026
6a41ffa
Create new CHANGELOG files and update existing ones
pacu Jan 29, 2026
da2717f
Merge pull request #788 from pacu/feature/lightclient-protocol-v0.4.0
idky137 Jan 30, 2026
c5d7653
add get_block_range passthrough test
AloeareV Jan 30, 2026
1698752
Merge branch 'dev' into chainindex_passthrough_behind_zebra
fluidvanadium Jan 31, 2026
e38f122
fixed zaino-state/src/chain_index/tests/proptest_blockgen.rs
idky137 Feb 2, 2026
811d04f
merge conflicts
idky137 Feb 2, 2026
d7661b0
updated ChainIndex::get_compact_block
idky137 Feb 2, 2026
e685085
added compact block streamer to chain index, switched fetchservice to…
idky137 Feb 2, 2026
1b1b958
fix get block range
AloeareV Feb 2, 2026
e340d17
test and bug fixes
idky137 Feb 3, 2026
b752840
merge conflicts
idky137 Feb 3, 2026
08ffe1e
fixed get_transparent_data_from_compact_block_when_requested
idky137 Feb 3, 2026
48c91e9
Merge remote-tracking branch 'idky137/chain_index_integration' into u…
idky137 Feb 3, 2026
0804fb5
Merge pull request #815 from idky137/chain_index_integration
nachog00 Feb 3, 2026
35b4475
remove unused import
idky137 Feb 3, 2026
8a82a99
merge conflicts
idky137 Feb 3, 2026
5c2fecc
merge conflicts
idky137 Feb 3, 2026
3221c90
Merge pull request #817 from idky137/update_state_service_chain_index…
AloeareV Feb 3, 2026
a0da4c9
Merge branch 'chain_index_integration' into state_service_chain_index…
idky137 Feb 3, 2026
91ee9aa
updated test
idky137 Feb 3, 2026
12229ff
un-todo error cases
AloeareV Feb 4, 2026
778de61
added issue link
idky137 Feb 4, 2026
36d6bc2
Add mermaid dependency to zaino-state.
fluidvanadium Jan 30, 2026
0bee199
Reweave find_fork_point.
fluidvanadium Jan 23, 2026
f288916
Simplify syntax flow in get_indexed_block_height.
fluidvanadium Jan 31, 2026
1ebaf99
Simplify get_block_height syntax flow.
fluidvanadium Jan 31, 2026
de3d207
Replace unwrap in get_transaction_status.
fluidvanadium Jan 31, 2026
dbd2a8f
Change symbol get_snapshot_block_height -> get_indexed_block_height.
fluidvanadium Jan 31, 2026
582e787
Change parameter symbols in trait ChainIndex for consistency.
fluidvanadium Jan 31, 2026
8af9ccc
Change parameter symbols in impl<Source: BlockchainSource> ChainIndex…
fluidvanadium Jan 31, 2026
9ecebaa
Replace unwraps in get_block_height_passthrough.
fluidvanadium Jan 31, 2026
2706044
Rename parameter symbols nonfinalized_snapshot -> snapshot.
fluidvanadium Jan 31, 2026
8b5e085
Handle missing coinbase_height as an Error instead of None.
fluidvanadium Feb 3, 2026
624ea75
Comment on how get_block_range may eventually need to be rewritten fo…
fluidvanadium Feb 4, 2026
a381c08
Remove stale comment on find_fork_point.
fluidvanadium Feb 4, 2026
04883da
Clarified the necessary condition of finality in passthrough diagram.
fluidvanadium Feb 5, 2026
5305531
Re-activated finality inequality checks in get_block_height_passthrou…
fluidvanadium Feb 5, 2026
829350e
Merge pull request #819 from idky137/update_state_service_get_block
nachog00 Feb 5, 2026
a345538
Merge pull request #820 from idky137/update_state_service_get_block_r…
nachog00 Feb 5, 2026
b17b56a
Merge branch 'state_service_chain_index_integration' into 677/694-get…
idky137 Feb 5, 2026
34b3625
Merge branch 'state_service_chain_index_integration' into 677/696-get…
idky137 Feb 5, 2026
aafd566
Merge pull request #757 from zingolabs/677/694-get_block
idky137 Feb 5, 2026
e68fcd4
dep import merge conflict
idky137 Feb 5, 2026
bb4d510
Merge pull request #759 from zingolabs/677/696-get_block_range
idky137 Feb 5, 2026
a4853ff
Merge pull request #814 from zingolabs/ciptbz_by_diagram_3
AloeareV Feb 5, 2026
939d6df
fix missing OkSome, use blockchain source directly instead of non_fin…
AloeareV Feb 5, 2026
289c11a
rename ZebradConnectionError to ValidatorConnectionError and add source
AloeareV Feb 5, 2026
cd79d43
actually fix get_block_range
AloeareV Feb 6, 2026
c0cf963
Upgrade chain_index_passthrough.mmd.
fluidvanadium Feb 9, 2026
414719c
Comment in chain_index.rs demonstrating which steps of the diagram ar…
fluidvanadium Feb 10, 2026
d793be4
fix get_raw_transaction to get non-best transactions too
AloeareV Feb 11, 2026
f102138
Merge branch 'state_service_chain_index_integration' into 677/fix-rac…
nachog00 Feb 11, 2026
0c1ff3f
updated ValidatorConnector::State::get_block
idky137 Feb 12, 2026
5998f19
Add a helper for getting source from NodeBackedChainIndexSubscriber.
fluidvanadium Feb 12, 2026
e62c598
Remove redundant field from NodeBackedChainIndexSubscriber.
fluidvanadium Feb 12, 2026
090fadf
Remove redundant field from NodeBackedChainIndex.
fluidvanadium Feb 12, 2026
4b5bf62
Merge remote-tracking branch 'labs/chainindex_passthrough_behind_zebr…
fluidvanadium Feb 12, 2026
782cf02
Avoid redundant field.
fluidvanadium Feb 12, 2026
67e9a5d
Merge branch '677/fix-race-condition' into 677/remove-local-cache
nachog00 Feb 12, 2026
29db365
fixed remaining imports of compact_block_with_pool_types
nachog00 Feb 12, 2026
3145a6b
Merge pull request #831 from fluidvanadium/remove_redundant_fields
AloeareV Feb 13, 2026
a9f490f
Merge pull request #832 from zingolabs/remove_redundant_fields
AloeareV Feb 13, 2026
9bf1490
clippify
AloeareV Feb 13, 2026
88ba7dd
more clippy
AloeareV Feb 13, 2026
ba11f6f
Merge pull request #782 from zingolabs/677/remove-local-cache
AloeareV Feb 13, 2026
d5e68d1
Merge pull request #690 from zingolabs/state_service_chain_index_inte…
AloeareV Feb 13, 2026
6cba865
Merge branch 'dev' into chain_index_integration
nachog00 Feb 13, 2026
aa4bedf
Merge pull request #650 from zingolabs/chain_index_integration
AloeareV Feb 13, 2026
a0e7eaf
Improve commentary on get_block_range.
fluidvanadium Feb 9, 2026
f059403
Merge remote-tracking branch 'labs/chainindex_passthrough_behind_zebr…
fluidvanadium Feb 14, 2026
6bc3bb8
Merge pull request #825 from zingolabs/ciptbz_by_diagram_6
fluidvanadium Feb 16, 2026
7160448
Merge chain_index.rs
fluidvanadium Feb 16, 2026
f65b027
Address cargo check warnings.
fluidvanadium Feb 16, 2026
de64e06
Merge pull request #839 from fluidvanadium/fix_check
nachog00 Feb 17, 2026
9490c21
Merge branch 'dev' into chainindex_passthrough_behind_zebra
nachog00 Feb 17, 2026
a0bdc71
remove stale await
AloeareV Feb 17, 2026
c341e69
clippify again
AloeareV Feb 17, 2026
17dee53
Remove mistaken comment.
fluidvanadium Feb 17, 2026
42c01f1
make chainindexerrorkind non_exhaustive and more public
AloeareV Feb 17, 2026
a356077
Merge pull request #796 from zingolabs/chainindex_passthrough_behind_…
fluidvanadium Feb 17, 2026
b907e2f
Create cache directory for zainod with right permissions
jenkin Feb 18, 2026
1cc7b1b
refactor(zainod): minimize main.rs and add CLI module
nachog00 Feb 18, 2026
0e2a761
refactor(zainod): extract config generation to lib.rs
nachog00 Feb 18, 2026
c73d93a
fix(config): enable TOML serialization for ZainodConfig
nachog00 Feb 18, 2026
7645da5
test(zainod): add config roundtrip test
nachog00 Feb 18, 2026
e5206f6
refactor(zainod): move config generation to config module
nachog00 Feb 18, 2026
5e42330
feat(cli): use XDG Base Directory for default config path
nachog00 Feb 18, 2026
01c7a34
feat(cli): rename 'run' to 'start', generate-config writes to XDG path
nachog00 Feb 18, 2026
1865b6f
docs: update use_cases.md for new CLI commands
nachog00 Feb 18, 2026
68f3d42
docs: improve config doc comments, remove zindexer.toml
nachog00 Feb 18, 2026
8d1e0b4
refactor: bubble errors from lib to bin for graceful exit
nachog00 Feb 18, 2026
01d363b
feat(zaino-common): add XDG Base Directory utilities
nachog00 Feb 18, 2026
a37b96a
refactor: use XDG cache path for DatabaseConfig default
nachog00 Feb 18, 2026
fdccdb0
Merge branch 'dev' into blockchainsource_get_block
idky137 Feb 20, 2026
7f454ca
added partial db write safeguard, updated changelog +docs, ran cargo fmt
idky137 Feb 20, 2026
039ca21
Merge pull request #854 from zingolabs/refactor/minimal-main
fluidvanadium Feb 20, 2026
4c78e66
Merge pull request #857 from idky137/database_write_bug_fix_and_docs
nachog00 Feb 23, 2026
c052dbb
Merge branch 'dev' into blockchainsource_get_block
nachog00 Feb 23, 2026
27a7e38
Merge pull request #846 from zingolabs/errorkind_nonexhaustive
zancas Feb 23, 2026
4b99524
Merge pull request #852 from jenkin/patch-1
AloeareV Feb 23, 2026
20d28c0
Merge pull request #830 from idky137/blockchainsource_get_block
AloeareV Feb 23, 2026
8ca4977
fixed chain_index::start_sync_loop
idky137 Feb 24, 2026
030cecc
Merge pull request #863 from zingolabs/dev
zancas Feb 24, 2026
14bc602
nfs sync from fs tip if above prev nfs tip
AloeareV Feb 24, 2026
63f876f
improve SyncError
AloeareV Feb 24, 2026
31ba342
only every 100 blocks committed logged at info level
AloeareV Feb 25, 2026
70f63de
fix(docker): use ENTRYPOINT/CMD split with privilege dropping
nachog00 Feb 25, 2026
23244fd
fix(docker): handle read-only mounts gracefully + add permission tests
nachog00 Feb 25, 2026
9d63994
fix(docker): use /app/* symlinks for ergonomic mount paths
nachog00 Feb 25, 2026
9de1655
Merge pull request #871 from zingolabs/hotfix/dockerfile-entrypoint
zancas Feb 26, 2026
1b99967
chore: bump version to 0.2.0
nachog00 Feb 26, 2026
31c7682
feat(zainod): print version on startup
nachog00 Feb 26, 2026
0d14750
fix(docker): move entrypoint.sh to / per Docker convention
nachog00 Feb 26, 2026
f0f5821
updated db write_block, delete_block, validate_block and mark_addrhis…
idky137 Feb 26, 2026
80ee9b3
added debug warning on partially written blocks
idky137 Feb 26, 2026
85a6f43
added debug warning on partially written blocks
idky137 Feb 26, 2026
d263b9b
added db sync before alidating new block to avoid data races
idky137 Feb 26, 2026
ec2ef59
Merge remote-tracking branch 'idky137/fix_chain_index_start_sync_loop…
idky137 Feb 26, 2026
ae0ffd6
propagate errors from db env sync
idky137 Feb 26, 2026
f4d3368
fixed mark addrhist record as unspent
idky137 Feb 26, 2026
eb7353b
final fixes
idky137 Feb 26, 2026
669cfc3
ignore generated for fmt
zancas Feb 26, 2026
5368cd4
set generated files to allow warnings
zancas Feb 26, 2026
79fdb0d
tune and run cargo fmt
zancas Feb 26, 2026
ca77371
add time based log to zainodb::sync_from_height to show zaino has not…
idky137 Feb 27, 2026
749525f
Merge pull request #884 from zingolabs/clippy_service
fluidvanadium Feb 27, 2026
cd49a1c
Merge pull request #864 from idky137/fix_chain_index_start_sync_loop
AloeareV Feb 27, 2026
f23b350
fixed chain_index shutdown
idky137 Mar 2, 2026
7da1727
Merge pull request #895 from idky137/bug_fix_chain_index_status_shutd…
nachog00 Mar 2, 2026
203a212
Merge pull request #881 from zingolabs/hotfix/version-bump
nachog00 Mar 2, 2026
499028f
Merge pull request #898 from zingolabs/dev
zancas Mar 2, 2026
de3f659
updated addr_hist_records_by_addr_and_index_blocking
idky137 Mar 3, 2026
7030b5e
updated fix_addr_hist_records_by_addr_and_index_blocking to take and …
idky137 Mar 4, 2026
50d3d48
updated migration + db changelog
idky137 Mar 4, 2026
e4ce2bf
removed commented out old code
idky137 Mar 4, 2026
0a076ee
updated testnet config for zebrad, fixed stateservive spawn
idky137 Mar 4, 2026
e0d3699
undo stateservice spawn change
idky137 Mar 4, 2026
5e4880e
updated db max size (gb) default to fit mainnet cache
idky137 Mar 5, 2026
4f69553
Merge pull request #902 from idky137/zebrad_state_service_testnet_config
AloeareV Mar 5, 2026
dd9fa9d
Merge pull request #905 from idky137/update_db_max_map_size_default
AloeareV Mar 5, 2026
02e7c21
Merge pull request #901 from idky137/update_fix_addr_hist_records_by_…
AloeareV Mar 6, 2026
e98d608
Add triggering of zcash integration tests to PRs and merges to `dev`
nuttycom Mar 12, 2026
45de4b8
Merge pull request #911 from zingolabs/rpc_integration_testing
zancas Mar 12, 2026
1bd5b9e
removed DB v1.0.0 -> v1.1.0 migration
idky137 Mar 13, 2026
299534d
feature gated DB transparent history capability + tests
idky137 Mar 13, 2026
965cc9c
fixed slow get block range init time when db has not been validated
idky137 Mar 13, 2026
a5247cd
Merge pull request #914 from idky137/remove_1_1_0_migration
AloeareV Mar 16, 2026
8f967d0
Merge branch 'dev' into transparent_address_history_feature
idky137 Mar 17, 2026
d810f93
Merge pull request #915 from idky137/transparent_address_history_feature
AloeareV Mar 17, 2026
5ccf1f2
Merge branch 'dev' into fix_slow_get_block_range_init
idky137 Mar 17, 2026
e6c4493
Merge pull request #913 from idky137/fix_slow_get_block_range_init
AloeareV Mar 17, 2026
2d7f541
moved dbv1 code into submodules
idky137 Mar 13, 2026
2f834e8
fixed db block write for zero value shielded txs
idky137 Mar 15, 2026
21aad38
Merge pull request #917 from idky137/zainodb_module_refactor
AloeareV Mar 17, 2026
5a7ffe8
Merge branch 'dev' into fix_db_block_write
AloeareV Mar 17, 2026
198da8f
Merge pull request #918 from idky137/fix_db_block_write
AloeareV Mar 17, 2026
eac0f78
Merge branch 'dev' into rc/0.2.0
idky137 Mar 17, 2026
eac0f8e
[#816] Updating to Zebra 4.1.0
pacu Feb 23, 2026
ff8450f
Fix `state_service_get_address_transactions_regtest` test
pacu Feb 23, 2026
aaaaa71
Merge pull request #897 from zingolabs/rc/0.2.0
nachog00 Mar 17, 2026
97e1db5
Merge pull request #821 from pacu/zebra-4-support
zancas Mar 18, 2026
26fae08
Update dockerignore to ignore testing dirs
nachog00 Mar 19, 2026
c316351
Merge pull request #924 from zingolabs/fix/dockerignore-updates
AloeareV Mar 19, 2026
b650e4b
Merge pull request #920 from zingolabs/dev
nachog00 Mar 19, 2026
ecb4315
merge dev to rc (#932)
nachog00 Mar 20, 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
136 changes: 136 additions & 0 deletions .config/nextest.toml
Original file line number Diff line number Diff line change
@@ -1,2 +1,138 @@
[profile.default]
test-threads = 6
fail-fast = false
slow-timeout = { period = "60s", terminate-after = "10" }
# retries = 1

# All the following tests keep failing because of zebra with the following error message:
# "Serialization/Deserialization Error: data did not match any variant of untagged enum Input at line 1 column <X>"
# We will ignore these tests for now in CI, until zebra releases the fix

[profile.ci]
test-threads = 6
slow-timeout = { period = "60s", terminate-after = "30" }
default-filter = """
not test(testnet)
& not test(client_rpcs)
"""

[profile.ci.junit] # this can be some other profile, too
path = "junit.xml"

[profile.quick]
# Use this profile for a fast check verifying the absence of regressions. Our best assurance against
# false negatives is to run the entire test suite.
test-threads = "num-cpus"
fail-fast = false # If a test fails against this profile, that's a surprise to be investigated
slow-timeout = { period = "60s", terminate-after = "10" }
# Excludes tests that fail in low-resource environments. Flakey test are listed at the beginning
# of the expression, slow at the end. If a slow and flakey test is discovered it should be included
# in the flakey category.
# On a developer laptop:
# flakey 63 == tests fail at least once
# slow 32 == >60s runtime
default-filter = """
not (
test(/^chain_query_interface::find_fork_point_zcashd$/) |
test(/^chain_query_interface::get_block_range_zcashd$/) |
test(/^chain_query_interface::get_raw_transaction_zcashd$/) |
test(/^chain_query_interface::get_transaction_status_zcashd$/) |
test(/^chain_query_interface::repro_flake_zcashd$/) |
test(/^chain_query_interface::repro_nfs_drain$/) |
test(/^chain_query_interface::sync_large_chain_zcashd$/) |
test(/^chain_query_interface::sync_large_chain_zebrad$/) |
test(/^zebrad::get::mempool_info$/) |
test(/^zebrad::get::mempool_stream$/) |
test(/^zebrad::get::mempool_tx$/) |
test(/^zebrad::get::raw_mempool$/) |
test(/^zebrad::get::raw_transaction$/) |
test(/^zebrad::get::taddress_balance$/) |
test(/^zebrad::get::taddress_txids$/) |
test(/^zebrad::get::taddress_utxos$/) |
test(/^zebrad::get::taddress_utxos_stream$/) |
test(/^zebrad::get::transaction_mempool$/) |
test(/^zebrad::get::transaction_mined$/) |
test(/^zebrad::get::z::subtrees_by_index$/) |
test(/^zebrad::get::z::treestate$/) |
test(/^zcashd::get::tree_state$/) |
test(/^zcashd::zcash_indexer::check_info_no_cookie$/) |
test(/^zebrad::get::get_mempool_info$/) |
test(/^zebrad::get::raw_mempool_regtest$/) |
test(/^zebrad::get::raw_transaction_regtest$/) |
test(/^zebrad::get::address_balance_regtest$/) |
test(/^zebrad::get::address_balance$/) |
test(/^zebrad::get::address_tx_ids$/) |
test(/^zebrad::get::address_utxos$/) |
test(/^zebrad::get::block$/) |
test(/^zebrad::lightwallet_indexer::get_taddress_balance$/) |
test(/^zebrad::lightwallet_indexer::get_transaction$/) |
test(/^zcashd::monitor_unverified_mempool$/) |
test(/^zcashd::sent_to::orchard$/) |
test(/^zcashd::sent_to::sapling$/) |
test(/^zebrad::fetch_service::monitor_unverified_mempool$/) |
test(/^zebrad::fetch_service::send_to::all$/) |
test(/^zebrad::fetch_service::send_to::orchard$/) |
test(/^zebrad::fetch_service::send_to::sapling$/) |
test(/^zebrad::fetch_service::send_to::transparent$/) |
test(/^zebrad::fetch_service::shield$/) |
test(/^zebrad::state_service::monitor_unverified_mempool$/) |
test(/^zebrad::state_service::send_to::all$/) |
test(/^zebrad::state_service::send_to::orchard$/) |
test(/^zebrad::state_service::send_to::sapling$/) |
test(/^zebrad::state_service::send_to::transparent$/) |
test(/^zebrad::state_service::shield$/) |
test(/^launch_testmanager::zcashd::zaino_clients_receive_mining_reward$/) |
test(/^launch_testmanager::zebrad::state_service::zaino_clients_receive_mining_reward_and_send$/) |
test(/^zebrad::get::block_raw$/) |
test(/^zebrad::lightwallet_indexer::get_subtree_roots$/) |
test(/^launch_testmanager::zcashd::zaino_clients$/) |
test(/^zcashd::zcash_indexer::get_block_subsidy$/) |
test(/^zebra::get::address_deltas$/) |
test(/^zebra::get::z::subtrees_by_index_regtest$/) |
test(/^zebrad::get::mining_info$/) |
test(/^zebra::get::address_balance_regtest$/) |
test(/^zebra::get::raw_transaction_regtest$/) |
test(/^zebra::get::get_mempool_info$/) |
test(/^zebra::get::raw_mempool_regtest$/) |
test(/^zcashd::zcash_indexer::get_mining_info$/) |
test(/^zebrad::process_200_blocks$/)
)
&
not (
test(/^zcashd::process_100_blocks$/) |
test(/^zcashd::process_200_blocks$/) |
test(/^launch_testmanager::zebrad::fetch_service::zaino_clients_receive_mining_reward_and_send$/) |
test(/^zcashd::sent_to::transparent$/) |
test(/^zcashd::shield$/) |
test(/^zcashd::sent_to::all$/) |
test(/^zcashd::get::best_blockhash$/) |
test(/^zcashd::get::block_count$/) |
test(/^zcashd::get::block_range$/) |
test(/^zcashd::get::block_range_nullifiers$/) |
test(/^zcashd::get::block_subsidy$/) |
test(/^zcashd::get::mempool_info$/) |
test(/^zcashd::get::mempool_stream$/) |
test(/^zcashd::get::mempool_tx$/) |
test(/^zcashd::get::raw_mempool$/) |
test(/^zcashd::get::raw_transaction$/) |
test(/^zcashd::get::taddress_balance$/) |
test(/^zcashd::get::taddress_txids$/) |
test(/^zcashd::get::taddress_utxos$/) |
test(/^zcashd::get::taddress_utxos_stream$/) |
test(/^zcashd::get::transaction_mempool$/) |
test(/^zcashd::get::transaction_mined$/) |
test(/^zcashd::get::z::get_treestate$/) |
test(/^zcashd::get::z::subtrees_by_index$/) |
test(/^zcashd::zcash_indexer::get_difficulty$/) |
test(/^zcashd::zcash_indexer::get_mempool_info$/) |
test(/^zcashd::zcash_indexer::get_raw_mempool$/) |
test(/^zcashd::zcash_indexer::get_raw_transaction$/) |
test(/^zcashd::zcash_indexer::z_get_subtrees_by_index$/) |
test(/^zcashd::zcash_indexer::z_get_treestate$/) |
test(/^launch_testmanager::zebrad::state_service::zaino_clients_receive_mining_reward$/) |
test(/^zebrad::get::peer_info$/)
)
"""

[profile.quick.junit]
path = "junit.xml"
22 changes: 22 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# Build artifacts
target/
**/target/
**/*.rs.bk

# VCS / CI
.git/
.gitignore
.github/

# IDE / OS
.vscode/
.idea/
*.swp
.DS_Store

# Misc
**/*.log

docker_cargo/
container-target/

8 changes: 8 additions & 0 deletions .env.testing-artifacts
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# Rust toolchain version (for rust:<version>-bookworm base image)
RUST_VERSION=1.92

# zcashd Git tag (https://github.com/zcash/zcash/releases)
ZCASH_VERSION=6.11.0

# zebrad version tag for pulling zfnd/zebra:<version>
ZEBRA_VERSION=4.1.0
1 change: 1 addition & 0 deletions .githooks/pre-push
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
makers lint
63 changes: 63 additions & 0 deletions .github/ISSUE_TEMPLATE/architecture.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
name: "Architecture Issue"
description: Document structural concerns, design decisions, or refactoring needs
labels: ["architecture"]
body:
- type: markdown
attributes:
value: |
Use this template to document architectural concerns, design problems, or areas needing refactoring.

These issues help track technical debt and guide future development.

- type: textarea
id: observation
attributes:
label: Observation
description: What architectural concern have you identified?
placeholder: |
The X module is tightly coupled with Y...
The current design makes it difficult to...
validations:
required: true

- type: textarea
id: location
attributes:
label: Location in codebase
description: Which modules, files, or components are affected?
placeholder: |
- `zaino-state/src/...`
- `chain_index::finalized_state::...`
validations:
required: true

- type: dropdown
id: concern_type
attributes:
label: Type of concern
description: What category best describes this?
multiple: true
options:
- Coupling / Dependencies
- Abstraction boundaries
- Separation of concerns
- API design
- Module organization
- Type system / Safety
- Persistence layer
- Error handling
- Other
validations:
required: true

- type: textarea
id: impact
attributes:
label: Impact
description: How does this affect development, maintenance, or correctness?

- type: textarea
id: suggestion
attributes:
label: Suggested direction
description: Any ideas on how to address this? (optional)
88 changes: 88 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
name: "Bug Report"
description: Report a bug or unexpected behavior
labels: ["bug"]
body:
- type: markdown
attributes:
value: |
Thanks for taking the time to report a bug!

**Before submitting**, please check if a similar issue already exists.

- type: dropdown
id: usage
attributes:
label: Usage mode
description: How are you using Zaino?
options:
- zainod (running the daemon)
- Library integration (using zaino-* crates)
- Both / Not sure
validations:
required: true

- type: textarea
id: description
attributes:
label: Describe the bug
description: A clear description of what the bug is.
validations:
required: true

- type: textarea
id: reproduce
attributes:
label: Steps to reproduce
description: List the steps to reproduce the issue.
placeholder: |
1. Start zainod with config...
2. Send request to...
3. Observe error...
validations:
required: true

- type: textarea
id: expected
attributes:
label: Expected behavior
description: What did you expect to happen?
validations:
required: true

- type: textarea
id: environment
attributes:
label: Environment
description: |
Please include:
- Zaino version or commit hash
- Backend version (zebra/zcashd)
- OS and platform
placeholder: |
Zaino: v0.x.x or commit abc123
Backend: Zebra 27.0.0
OS: Linux x86_64 / macOS ARM64
validations:
required: true

- type: textarea
id: config
attributes:
label: Configuration
description: Paste your zainod config file (redact any sensitive values).
render: toml

- type: textarea
id: logs
attributes:
label: Logs
description: |
Relevant log output. Use debug logging if possible (`level = "debug"` in config).
Wrap long logs in `<details>` tags.
render: shell

- type: textarea
id: additional
attributes:
label: Additional context
description: Any other relevant information (config snippets, block heights, tx ids, etc.)
67 changes: 67 additions & 0 deletions .github/ISSUE_TEMPLATE/code_smell.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
name: "Code Smell"
description: Flag anti-patterns, naming issues, or code that needs attention
labels: ["code-smell"]
body:
- type: markdown
attributes:
value: |
Use this to flag code that works but has problems worth addressing.

Code smells are indicators of deeper issues - they may or may not need immediate action.

- type: textarea
id: description
attributes:
label: What's the smell?
description: Describe the problematic pattern or code.
validations:
required: true

- type: textarea
id: location
attributes:
label: Location
description: Where is this code? (file paths, module names, function names)
placeholder: |
`chain_index/src/finalized_state/entry.rs:42`
validations:
required: true

- type: dropdown
id: smell_type
attributes:
label: Category
description: What type of smell is this?
multiple: true
options:
- Naming confusion
- Duplication
- Long function / God object
- Primitive obsession
- Feature envy
- Inappropriate intimacy (tight coupling)
- Dead code
- Magic numbers / strings
- Missing abstraction
- Test smell
- Other
validations:
required: true

- type: dropdown
id: priority
attributes:
label: Severity
description: How urgently should this be addressed?
options:
- Low - Nice to fix eventually
- Medium - Should fix when touching this code
- High - Actively causing problems
validations:
required: true

- type: textarea
id: suggestion
attributes:
label: Suggested fix
description: How might this be improved? (optional)
Loading
Loading