Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
339 commits
Select commit Hold shift + click to select a range
0e14637
Merge branch 'zsa-integration-generics' into zsa-integration-proptest
dmidem Oct 29, 2024
1c061e9
Update Cargo.lock
dmidem Oct 29, 2024
8c76592
Use zsa1 branch for librustzcash crates
dmidem Oct 29, 2024
ab9a2b5
Add support for processing ZSA orchard_shielded_data in zebra_state
dmidem Oct 30, 2024
9e5a01c
Merge branch 'zsa-integration-zsadeps' into zsa-integration-txv6
dmidem Oct 30, 2024
d0ecf96
Merge branch 'zsa-integration-zsadeps' into zsa-integration-nu7
dmidem Oct 30, 2024
c7cd215
Merge branch 'zsa-integration-txv6' into zsa-integration-generics
dmidem Oct 30, 2024
5076910
Merge branch 'zsa-integration-generics' into zsa-integration-proptest
dmidem Oct 30, 2024
2587b04
Introduce match_orchard_shielded_data macro in transaction.rs and ref…
dmidem Nov 3, 2024
7447d45
Expose Burn, NoBurn, and IssueData from orchard_zsa module directly
dmidem Nov 3, 2024
714e631
Add IssueData::note_commitments and use it in Transaction::orchard_no…
dmidem Nov 3, 2024
c9c79e6
Revert "Introduce match_orchard_shielded_data macro in transaction.rs…
dmidem Nov 4, 2024
9ad18a4
Modify Transaction::orchard_note_commitments method to not use match_…
dmidem Nov 4, 2024
50680a6
Merge branch 'zsa-integration-nu7' into zsa-integration-block-test
dmidem Nov 11, 2024
3cce489
Refactor orchard_zsa modules to use IssueBundle serialization functio…
dmidem Nov 11, 2024
ce6c5c3
Fix the orchard::ShieldedData serialization/deserialization functions…
dmidem Nov 11, 2024
22349e5
Add ENABLE_ZSA flag to Flags for the orchard ShieldedData
dmidem Nov 11, 2024
46f81bc
Fix TX_V6_VERSION_GROUP_ID constant value to adjust it with the value…
dmidem Nov 11, 2024
408c155
Add a value for Nu7 to CONSENSUS_BRANCH_IDS (a placeholder values for…
dmidem Nov 11, 2024
c6a3dd4
Add a test vector with an issuance block to orchard_zsa module, also …
dmidem Nov 11, 2024
c3a8583
Add a method to return the inner value (IssueBundle) of IssueData wra…
dmidem Nov 11, 2024
4855c25
Add more checks after deserializing issuance block in issuance_block …
dmidem Nov 11, 2024
87e4a63
Rename orchard_zsa::tests::issuance_block to deserialize_blocks and a…
dmidem Nov 17, 2024
ffe49b7
Make zebra_chain::orchard_zsa::tests::vectors::BLOCKS visible for zeb…
dmidem Nov 17, 2024
697d38a
Add initial version of ZSA woirkflow tests to zebra-chain
dmidem Nov 17, 2024
fa948b8
Improve zebra-state/tests/zsa.rs code
dmidem Nov 18, 2024
1df822e
Modify zebra-consensus to use ItemVerifyingKey for Orchard ZSA (there…
dmidem Nov 19, 2024
e5d5dac
Temporary update get_blockchain_info@testnet_10 snapshot zebra-rpc to…
dmidem Nov 19, 2024
a18a456
Fix cargo fmt issue
dmidem Nov 19, 2024
215ec92
Add cargo clippy to ci-basic
dmidem Nov 19, 2024
d9c8720
Add temporary docs for pub test constants amd modules
dmidem Nov 19, 2024
90dac03
Fix zsa consensus tests
dmidem Nov 20, 2024
2bb599f
Add missed ZSA test modules in zebra-consensus
dmidem Nov 20, 2024
1faf196
Remove zebra-state zsa workflow tests (in favour of workflow tests in…
dmidem Nov 20, 2024
689e791
Fix cargo clippy issues
dmidem Nov 20, 2024
ab7c077
Modify Orchard ShieldedData binding_verification_key function to subt…
dmidem Nov 21, 2024
ada6a37
Update consensus ZSA workflow tests and test vectors
dmidem Nov 25, 2024
e0ee6c6
Add ZSA workflow test vectors
dmidem Nov 25, 2024
bf18f0c
Introduce Nu7
dmidem Aug 18, 2024
99ec8e6
Introduce Nu7 fo other crates of Zebra
dmidem Aug 19, 2024
7e2ca82
Fix of new_regtest call (as it additionally needs Nu7 arg now)
dmidem Oct 17, 2024
78e035a
Fix of new_regtest call (as it additionally needs Nu7 arg now) (2)
dmidem Oct 17, 2024
ac491b8
Set Nu7 as a network update for testnet in zebra-chain network tests
dmidem Oct 17, 2024
6883488
Fix serde names for NU7
dmidem Oct 17, 2024
aa373f1
Update test snapshot in zebra-rpc to use NU7
dmidem Oct 17, 2024
0fba7f3
Copy Nu7-related changes from zsa-integration-state
dmidem Feb 10, 2025
b42d84a
Uncomment zcash_unstable = nu7
dmidem Feb 10, 2025
d8b48c9
Fix Nu7 constants and add cfg(zcash_unstable ...) attribute according…
dmidem Feb 10, 2025
75f56e7
Update network constant values according to PR #15 review comments
dmidem Feb 10, 2025
bba5fd5
Update zebra-consensus/src/primitives/halo2/tests.rs
dmidem Feb 10, 2025
f2b10a5
Add zcash_unstable=nu6 Rust flag to .cargo/config.toml to use nu6 by …
dmidem Feb 10, 2025
6118303
Update zebra-chain/src/orchard/note/ciphertexts.rs
dmidem Feb 10, 2025
e97f991
Use zcash_unstable = nu6 TODO nu7 as nu6 cfg attribute
dmidem Feb 10, 2025
a5980e7
Add TODO comment for bridgetree dependency downgrading
dmidem Feb 10, 2025
a0241d8
Add ENABLE_ZSA orchard flag
dmidem Feb 10, 2025
f74671e
Update zebra-consensus/src/primitives/halo2.rs
dmidem Feb 10, 2025
56a445f
Remove resolved FIXMEs
dmidem Feb 10, 2025
eb7f1d1
Merge branch 'zsa-integration-zsadeps' of https://github.com/QED-it/z…
dmidem Feb 10, 2025
25c5486
Remove resolved FIXMEs (2)
dmidem Feb 10, 2025
b6969bd
Merge branch 'zsa-integration-nu7-only' into zsa-integration-nu7-try-…
dmidem Feb 10, 2025
350b6c7
Merge branch 'zsa-integration-zsadeps' into zsa-integration-nu7
dmidem Feb 10, 2025
58da335
Add zcash_unstable = nu6 cfg in zebra-network/.../types.rs
dmidem Feb 10, 2025
fbf1f9f
Merge branch 'zsa-integration-nu7-only' into zsa-integration-nu7
dmidem Feb 10, 2025
9e51b24
Merge branch 'zsa-integration-zsadeps' into zsa-integration-txv6
dmidem Feb 10, 2025
22b7db5
Merge branch 'zsa-integration-txv6' into zsa-integration-generics
dmidem Feb 10, 2025
10d19d4
Merge branch 'zsa-integration-generics' into zsa-integration-proptest
dmidem Feb 10, 2025
e87f997
Merge branch 'zsa-integration-proptest' into zsa-integration-issuance…
dmidem Feb 10, 2025
91869e1
Merge branch 'zsa-integration-issuance-commitments' into zsa-integrat…
dmidem Feb 10, 2025
b582e2b
Merge branch 'zsa-integration-nu7' into zsa-integration-consensus
dmidem Feb 10, 2025
9a5a5a1
Fix nu7 activation heights in network_upgrade.rs (nu6 value + 1 does …
dmidem Feb 11, 2025
0992399
Merge branch 'zsa-integration-nu7-only' into zsa-integration-nu7
dmidem Feb 11, 2025
64d9994
Uncomment RUSTFLAGS/RUSTDOCFLAGS variable settings in ci-basic.yml as…
dmidem Feb 11, 2025
938c329
Merge branch 'zsa-integration-generics' into zsa-integration-proptest
dmidem Feb 11, 2025
37ed0e4
Merge branch 'zsa-integration-proptest' into zsa-integration-issuance…
dmidem Feb 11, 2025
2b14304
Merge branch 'zsa-integration-issuance-commitments' into zsa-integrat…
dmidem Feb 11, 2025
85cdccd
Merge branch 'zsa-integration-nu7' into zsa-integration-consensus
dmidem Feb 11, 2025
cfaac4b
Update librustzcash and orchard version hashes in Cargo.lock, make a …
dmidem Feb 11, 2025
dd9b476
Merge branch 'zsa-integration-zsadeps' into zsa-integration-nu7
dmidem Feb 11, 2025
6b7e665
Fix consenus test to use the new orchard builder return type
dmidem Feb 11, 2025
8f7a913
Merge branch 'zsa-integration-zsadeps' into zsa-integration-nu7
dmidem Feb 11, 2025
8ae0b92
Add cfg for CURRENT_NETWORK_PROTOCOL_VERSION constant definition, add…
dmidem Feb 12, 2025
88b705d
Update get_blockchain_info@testnet_10.snap
dmidem Feb 12, 2025
ef3f6da
Update get_blockchain_info@mainnet_10.snap
dmidem Feb 12, 2025
c277d51
Add cfg for CURRENT_NETWORK_PROTOCOL_VERSION constant definition, add…
dmidem Feb 12, 2025
c48c753
Update get_blockchain_info@testnet_10.snap
dmidem Feb 12, 2025
152d893
Update get_blockchain_info@mainnet_10.snap
dmidem Feb 12, 2025
9206459
Merge branch 'zsa-integration-nu7-only' into zsa-integration-nu7
dmidem Feb 13, 2025
a158e9f
Merge branch 'zsa-integration-zsadeps' into zsa-integration-txv6
dmidem Feb 13, 2025
14f95a0
Merge branch 'zsa-integration-txv6' into zsa-integration-generics
dmidem Feb 13, 2025
225dac1
Minor fix to align with orchard changes
dmidem Feb 13, 2025
eb7c4bb
Merge branch 'zsa-integration-generics' into zsa-integration-proptest
dmidem Feb 13, 2025
39195c0
Merge branch 'zsa-integration-proptest' into zsa-integration-issuance…
dmidem Feb 13, 2025
e17da59
Merge branch 'zsa-integration-issuance-commitments' into zsa-integrat…
dmidem Feb 13, 2025
3e925b4
Merge branch 'zsa-integration-nu7' into zsa-integration-consensus
dmidem Feb 13, 2025
a1fc48e
Update OrchardZSA test vectors to use the correct consensus branch id…
dmidem Feb 13, 2025
015f8b3
Revert "Update OrchardZSA test vectors to use the correct consensus b…
dmidem Feb 13, 2025
10f3740
Update librustzcash commit in Cargo.lock
dmidem Feb 13, 2025
628a518
Merge branch 'zsa-integration-zsadeps' into zsa-integration-nu7
dmidem Feb 13, 2025
bed9fb5
Merge branch 'zsa-integration-zsadeps' into zsa-integration-txv6
dmidem Feb 13, 2025
164e5de
Change TX_V6_VERSION_GROUP_ID value back to a temporary 0x7777_7777, …
dmidem Feb 13, 2025
998a2c7
Update zebra-chain to sync with the updated librustzcash (zcash_primi…
dmidem Feb 13, 2025
90c8847
Removed previousely added unused variables
dmidem Feb 13, 2025
642776f
Add lints.rust/unexpected_cfgs into zebra-chain Cargo.toml to avoid c…
dmidem Feb 13, 2025
9f80f6d
Pin Rust version to 1.82.0 by adding rust-toolchain.toml file, to avo…
dmidem Feb 13, 2025
526e92d
Pin Rust version to 1.82.0 by adding rust-toolchain.toml file, to avo…
dmidem Feb 13, 2025
388d539
Merge branch 'zsa-integration-zsadeps' into zsa-integration-nu7
dmidem Feb 13, 2025
8195426
Merge branch 'zsa-integration-zsadeps' into zsa-integration-txv6
dmidem Feb 13, 2025
3677c4b
Merge branch 'zsa-integration-txv6' into zsa-integration-generics
dmidem Feb 14, 2025
2012ac5
Merge branch 'zsa-integration-generics' into zsa-integration-proptest
dmidem Feb 14, 2025
122de8f
Merge branch 'zsa-integration-proptest' into zsa-integration-issuance…
dmidem Feb 14, 2025
1650bcc
Merge branch 'zsa-integration-issuance-commitments' into zsa-integrat…
dmidem Feb 14, 2025
d8dfb7d
Add lints.rust/unexpected_cfgs into zebra-network Cargo.toml to avoid…
dmidem Feb 14, 2025
7b59054
Change a way of const CURRENT_NETWORK_PROTOCOL_VERSION with cfg defin…
dmidem Feb 14, 2025
dd81623
Merge branch 'zsa-integration-nu7' into zsa-integration-consensus
dmidem Feb 14, 2025
0dd30f3
Update OrchardZSA test vectors to use new TX_V6_VERSION_GROUP_ID and …
dmidem Feb 14, 2025
4ad68ae
Revert "Update zebra-chain to sync with the updated librustzcash (zca…
dmidem Feb 14, 2025
a999d70
Revert "Update zebra-chain to sync with the updated librustzcash (zca…
dmidem Feb 14, 2025
daeb0f0
Revert "Update librustzcash and orchard version hashes in Cargo.lock,…
dmidem Feb 14, 2025
e0653cc
Change ConsensusBranchId value back to a temporary 0x77777777, to ali…
dmidem Feb 14, 2025
0c12d25
Merge branch 'zsa-integration-zsadeps' into zsa-integration-nu7
dmidem Feb 14, 2025
b219b66
Merge branch 'zsa-integration-zsadeps' into zsa-integration-txv6
dmidem Feb 14, 2025
08de3de
Change TX_V6_VERSION_GROUP_ID value back to 0x124A_69F8, to aling wit…
dmidem Feb 14, 2025
49f0a9c
Revert "Fix consenus test to use the new orchard builder return type"
dmidem Feb 14, 2025
f16bd20
Merge branch 'zsa-integration-zsadeps' into zsa-integration-txv6
dmidem Feb 14, 2025
2ee1f9a
Merge branch 'zsa-integration-zsadeps' into zsa-integration-nu7
dmidem Feb 14, 2025
12ad26a
Revert zebra-rpc test snapshots to use a temporary consensus branch i…
dmidem Feb 14, 2025
271983a
Merge branch 'zsa-integration-txv6' into zsa-integration-proptest
dmidem Feb 14, 2025
1026d58
Merge branch 'zsa-integration-txv6' into zsa-integration-generics
dmidem Feb 14, 2025
95687c0
Merge branch 'zsa-integration-generics' into zsa-integration-proptest
dmidem Feb 14, 2025
f24f2b2
Merge branch 'zsa-integration-proptest' into zsa-integration-issuance…
dmidem Feb 14, 2025
2ac98ea
Merge branch 'zsa-integration-issuance-commitments' into zsa-integrat…
dmidem Feb 14, 2025
6635d91
Merge branch 'zsa-integration-nu7' into zsa-integration-consensus
dmidem Feb 14, 2025
53b657d
Revert "Update OrchardZSA test vectors to use new TX_V6_VERSION_GROUP…
dmidem Feb 14, 2025
d102b13
Revert "Minor fix to align with orchard changes"
dmidem Feb 14, 2025
0b24a2b
Revert "Minor fix to align with orchard changes"
dmidem Feb 14, 2025
27a8969
Merge branch 'zsa-integration-generics' into zsa-integration-proptest
dmidem Feb 14, 2025
a7b6449
Merge branch 'zsa-integration-proptest' into zsa-integration-issuance…
dmidem Feb 14, 2025
48eddcb
Merge branch 'zsa-integration-issuance-commitments' into zsa-integrat…
dmidem Feb 14, 2025
7691e79
Remove RUSTFLAGS and RUSTDOCFLAGS from CI config as they override .ca…
dmidem Feb 17, 2025
7d8956d
Secure .cargo config in ci-basic.yml CI to apply custom rustflags
dmidem Feb 17, 2025
7dfd07e
Revert "Secure .cargo config in ci-basic.yml CI to apply custom rustf…
dmidem Feb 17, 2025
72092f5
Add --cfg zcash_unstable flag to rustdocflags of .cargo/config.toml
dmidem Feb 17, 2025
de8dab5
Add --cfg zcash_unstable flag to rustdocflags of .cargo/config.toml
dmidem Feb 17, 2025
944df50
Remove RUSTFLAGS and RUSTDOCFLAGS from CI config as they override .ca…
dmidem Feb 17, 2025
51eaeda
Merge branch 'zsa-integration-zsadeps' into zsa-integration-txv6
dmidem Feb 17, 2025
c1aa709
Merge branch 'zsa-integration-txv6' into zsa-integration-generics
dmidem Feb 17, 2025
d9cb686
Merge branch 'zsa-integration-generics' into zsa-integration-proptest
dmidem Feb 17, 2025
45fd6d3
Merge branch 'zsa-integration-proptest' into zsa-integration-issuance…
dmidem Feb 17, 2025
c6bf766
Merge branch 'zsa-integration-issuance-commitments' into zsa-integrat…
dmidem Feb 17, 2025
ddadae9
Change unfixed FIXMEs to TODOs
dmidem Feb 18, 2025
e93d07e
Merge branch 'zsa-integration-zsadeps' into zsa-integration-txv6
dmidem Feb 18, 2025
4dceb86
Update zebra-chain to sync with the updated librustzcash (zcash_primi…
dmidem Feb 13, 2025
529fa6a
Update Cargo.lock to use new librustzcash and orchard
dmidem Feb 22, 2025
ad66e9e
Use doimain module to import OrchardDomainCommon from the updated orc…
dmidem Feb 22, 2025
1f39140
Update transaction serialization to support action groups for V6
dmidem Feb 22, 2025
20b3f76
Change Nu7 ConsensusBranchId and TX_V6_VERSION_GROUP_ID values to be …
dmidem Feb 22, 2025
36ca70b
Fix zebra-consensus tests to use new orchard builder interface
dmidem Feb 23, 2025
55f3149
Merge branch 'zsa-integration-consensus' into zsa-integration-demo-ag
dmidem Feb 23, 2025
47ac4e0
Fix typos in comments
dmidem Feb 24, 2025
708844c
Rename txid_v5_v6 to txid_v5_to_v6, minor fixes in comments
dmidem Feb 24, 2025
4fd7f88
Rename transaction_to_fake_v5 function to transaction_to_fake_min_v5 …
dmidem Feb 24, 2025
a597c4e
Minor fix in comments
dmidem Feb 24, 2025
0498e06
Temporary comment of #[cfg(feature = tx-v6)] in zebra-chain/src/trans…
dmidem Feb 24, 2025
975d5be
Merge branch 'zsa-integration-txv6' into zsa-integration-generics
dmidem Feb 24, 2025
1857e0c
Update ZSA test blocks (use test data with action groups)
dmidem Feb 24, 2025
9a99235
Update Nu7 consensus branch id in rpc test snapshot
dmidem Feb 24, 2025
7735050
Make changes according to #17 PR review (partially)
dmidem Feb 25, 2025
25a44a2
Derive Copy, Clone, Debug, Eq, PartialEq for EncryptedNote instead of…
dmidem Feb 25, 2025
600571d
Make changes according to #17 PR review
dmidem Feb 25, 2025
f0faf64
Merge branch 'zsa-integration-generics' into zsa-integration-proptest
dmidem Feb 26, 2025
3ac784a
Fix wrong resolving of merge conflict in the previous commit
dmidem Feb 26, 2025
d7cba24
Merge branch 'zsa-integration-proptest' into zsa-integration-issuance…
dmidem Feb 26, 2025
757a789
Minor fix in FIXME comment
dmidem Feb 26, 2025
a911873
Merge branch 'zsa-integration-generics' into zsa-integration-proptest
dmidem Feb 26, 2025
8f87c2f
Merge branch 'zsa-integration-proptest' into zsa-integration-issuance…
dmidem Feb 26, 2025
9bf6a26
Merge branch 'zsa-integration-issuance-commitments' into zsa-integrat…
dmidem Feb 26, 2025
bfe8f6f
Minor spelling fixes in comments
dmidem Feb 26, 2025
850ebf2
Fix compilation error in tests
dmidem Feb 26, 2025
fa16948
Fix clippy warning
dmidem Feb 26, 2025
1e407d4
Fix clippy warning (2)
dmidem Feb 27, 2025
ccaa026
Fix clippy warning (3)
dmidem Feb 27, 2025
6cfb2cd
Merge branch 'zsa-integration-demo-ag' into zsa-integration-demo-ag-u…
dmidem Mar 13, 2025
1cb52c3
Refactor burn serialization to use read_burn, write_burn functions fr…
dmidem Mar 15, 2025
f3d5da9
Remove TrustedPreallocate impl and size constants from orchard_zsa::i…
dmidem Mar 15, 2025
1c19435
Switch to updated version of orchard and librustzcash crates in Cargo…
dmidem Mar 15, 2025
e480c7a
Update orchard_flavor_ext module to re-use OrchardVanilla and Orchard…
dmidem Mar 15, 2025
a11f356
Rename orchard_flavor_ext module to shielded_data_flavor
dmidem Mar 15, 2025
6b76eb6
Fix several comments
dmidem Mar 17, 2025
7313610
Use NoiteValue instead of Amount ffor BurnItem
dmidem Mar 17, 2025
b36a941
Fix compilation error
dmidem Mar 17, 2025
543b7a6
Fix compilation error (2)
dmidem Mar 17, 2025
e80bc80
Refactor zebra-chain/src/transaction/serialize.rs (add comments, redu…
dmidem Apr 2, 2025
0f8ed6f
Add support of V6 to remove_orchard_conflicts proptest function in ze…
dmidem Apr 18, 2025
0c6aee6
Fix to resolve some review comment for #37
dmidem Apr 18, 2025
50f1ef8
Update comments and rename some modules according to #37 review notes
dmidem Apr 18, 2025
aeff48b
More updates according to #37 review notes
dmidem Apr 18, 2025
c0f9e90
Add OrchardZSA version of encrypted_ciphertext_roundtrip test
dmidem Apr 19, 2025
d82151d
Fix a couple of comments and orchard_zsa/tests items visibility accor…
dmidem Apr 19, 2025
55c5c4b
Additional fixes according #37 review comments
dmidem Apr 21, 2025
f5a6f84
Add support of V6 to property tests for mempool storage in zebrad
dmidem Apr 21, 2025
08ed883
Add comments according to #37 review
dmidem Apr 21, 2025
3338ef0
Add v6_strategy to zebra-chain/src/transaction/arbitrary code
dmidem Apr 21, 2025
a6519ff
Fix compilation errors
dmidem Apr 21, 2025
22f7ccc
Fix a mistake in zebra-chain/src/primitives/zcash_note_encryption
dmidem Apr 21, 2025
b58c8b2
Fix compilation warnings
dmidem Apr 21, 2025
837395e
Comment out v6_strategy usage in zebra-chain/src/transaction/arbitrar…
dmidem Apr 21, 2025
adcc967
Fix cargo fmt issue
dmidem Apr 21, 2025
5de8fbd
Fix and return support of Nu7/V6 (i.e. a call of v6_strategy) to Tran…
dmidem Apr 23, 2025
672d4a8
Ensure orchard_shielded_data can not be None for V6 in v6_strategy of…
dmidem Apr 24, 2025
7df9054
Fix doc comment for ACTION_SIZE in orchard::ShieldedData
dmidem Apr 25, 2025
f071091
Move burn field inside action group in serialization functions for Or…
dmidem Apr 26, 2025
a3ca271
Update zebra-consensus/src/primitives/halo2/tests to add OrchardZSA t…
dmidem Apr 28, 2025
8a32389
Fix cargo clippy warning
dmidem Apr 28, 2025
ef1882d
Update orchard and librustzcash versions
dmidem Apr 30, 2025
cd877ab
Merge branch 'zsa-integration-consensus' into zsa-integration-consens…
dmidem Apr 30, 2025
86272d5
Fix order of fields for OrchardZS serialization/deserialization to be…
dmidem Apr 30, 2025
b4e7fdd
Update test vectors (with ones that contain burn inside AG)
dmidem May 1, 2025
632d2b2
Rename and fix orchard shielded data test vectors and releated tests
dmidem May 3, 2025
b102b60
Added a doc comment for orchard_zsa workflow test (zebra-consensus/sr…
dmidem May 4, 2025
bb4c872
Remove ValueCommitment::with_asset and introduce a ValueCommitment::n…
dmidem May 7, 2025
fc1cd74
Rename orchard test vectors modules, data files and constants in zebr…
dmidem May 19, 2025
8850c5a
Remove serialization tests from orchard_zsa in zebra-chain (as there'…
dmidem May 19, 2025
48540e5
Added short comments/descriptions for test blocks in orchard_workflow…
dmidem May 20, 2025
90a49d7
Make fixes according to the second #37 review
dmidem May 23, 2025
333f59c
Fix cargo clippy error
dmidem May 23, 2025
9bb723a
Generalize verify_v5_transaction and verify_v6_transaction functions …
dmidem May 26, 2025
d88120c
Fix FIXME comments in transaction.rs
dmidem May 26, 2025
852730b
Create push-deploy.yaml
seniakalma May 5, 2025
b9f7083
Remove allow(missing_docs) from zebra-test/.../orchard_workflow_block…
dmidem May 28, 2025
183fe3d
Fix the code to support compilation with tx-v6 feature flag disabled,…
dmidem May 28, 2025
2ca5e2a
Allow manual triggering for push-deploy
seniakalma May 28, 2025
3e1e232
Allow manual triggering for push-deploy (#54)
PaulLaux May 28, 2025
f0756b3
Merge branch 'zsa1' into zsa-integration-consensus
PaulLaux Jun 23, 2025
236b4eb
ZSA integration (stage 1) - Tx V6, Nu7 (#37)
dmidem Jun 23, 2025
798267c
Quote variables in push-deploy.yaml to pass upstream actionlint checks
dmidem Jun 26, 2025
50ea49c
Add split of workflow, ecr and ecs
seniakalma Jul 7, 2025
b286601
Update
seniakalma Jul 7, 2025
afc02d3
Update PR comments
seniakalma Jul 7, 2025
953ea4e
Update PR comments
seniakalma Jul 7, 2025
5111e60
Update by comments
seniakalma Jul 8, 2025
82193e3
Repo var for DOCKERFILE_PATH
seniakalma Jul 9, 2025
7c1be4c
Add env
seniakalma Jul 9, 2025
91464b8
Add env
seniakalma Jul 9, 2025
7bfdb2b
Update deploy-ecs.yaml
seniakalma Jul 17, 2025
e05d170
Update deploy-ecs.yaml
seniakalma Jul 17, 2025
6a5678d
1 time task definition download
seniakalma Jul 17, 2025
e03c7e5
Update deploy-ecs.yaml (#67)
seniakalma Jul 17, 2025
6821d89
First-stage ZSA integration: apply upstream feedback & refactoring (#…
dmidem Aug 4, 2025
3c9bac2
Add more V6 tests to zebra-chain, refactor OrchardZSA tests in zebra-…
dmidem Aug 5, 2025
f6f179f
Merge branch 'zsa1' into zsa-integration-consensus
dmidem Aug 6, 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
12 changes: 12 additions & 0 deletions .cargo/config.toml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,12 @@
# Flags that apply to all Zebra crates and configurations
[target.'cfg(all())']
rustflags = [
# Enable tx-v6 everywhere by default
"--cfg", 'feature="tx-v6"',

# TODO: Consider removing this line later (it's needed for the ZSA version of librustzcash crates)
"--cfg", "zcash_unstable=\"nu6\"",

# Zebra standard lints for Rust 1.65+

# High-risk code
Expand Down Expand Up @@ -82,6 +88,12 @@ rustflags = [

[build]
rustdocflags = [
# Enable tx-v6 everywhere by default
"--cfg", 'feature="tx-v6"',

# TODO: Consider removing this line later (it's needed for the ZSA version of librustzcash crates)
"--cfg", "zcash_unstable=\"nu6\"",

# The -A and -W settings must be the same as the `RUSTDOCFLAGS` in:
# https://github.com/ZcashFoundation/zebra/blob/main/.github/workflows/docs-deploy-firebase.yml#L68

Expand Down
34 changes: 34 additions & 0 deletions .github/workflows/ci-basic.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
name: Basic checks

#on: [push, pull_request]
on: [push]

jobs:
test:
name: Test on ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-24.04]

env:
# Use system-installed RocksDB library instead of building from scratch
ROCKSDB_LIB_DIR: /usr/lib
# Use system-installed Snappy library for compression in RocksDB
SNAPPY_LIB_DIR: /usr/lib/x86_64-linux-gnu

steps:
- uses: actions/checkout@v4
- name: Install dependencies on Ubuntu
#run: sudo apt-get update && sudo apt-get install -y protobuf-compiler build-essential librocksdb-dev
run: sudo apt-get update && sudo apt-get install -y protobuf-compiler librocksdb-dev
- name: Run tests
run: cargo test --verbose
- name: Verify working directory is clean
run: git diff --exit-code
- name: Run doc check
run: cargo doc --all-features --document-private-items
- name: Run format check
run: cargo fmt -- --check
- name: Run clippy
run: cargo clippy --workspace --all-features --all-targets -- -D warnings
126 changes: 126 additions & 0 deletions .github/workflows/deploy-ecs.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,126 @@
# This GitHub Actions workflow automates deploying the Zebra Server to Amazon ECS.
# It allows manual triggering with the ability to choose which image tag to deploy.
# Because of the "force-new-deployment" flag, the ECS service will update to a new 'latest' image, if one was pushed.
name: Deploy to Amazon ECS
on:
workflow_dispatch:
inputs:
image_tag:
description: 'Docker image tag to deploy (e.g., latest, v1.0.0, commit-hash)'
required: true
type: string
default: 'latest'
env:
AWS_REGION: ${{ vars.AWS_REGION || 'eu-central-1' }}
ECR_REPOSITORY: ${{ vars.ECR_REPOSITORY || 'dev-zebra-server' }}
ECS_SERVICE: ${{ vars.ECS_SERVICE || 'dev-zebra' }}
ECS_CLUSTER: ${{ vars.ECS_CLUSTER || 'dev-zebra-cluster' }}
TASK_DEFINITION: ${{ vars.TASK_DEFINITION || 'dev-zebra-task' }}
CONTAINER_NAME: ${{ vars.CONTAINER_NAME || 'zebra-container' }}
jobs:
deploy-to-ecs:
name: Deploy to ECS
runs-on: ubuntu-latest
environment: production
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Configure AWS credentials
uses: aws-actions/configure-aws-credentials@v4
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: ${{ env.AWS_REGION }}
- name: Login to Amazon ECR
id: login-ecr
uses: aws-actions/amazon-ecr-login@v2
- name: Deploy to Amazon ECS
id: deploy-ecs
env:
ECR_REGISTRY: ${{ steps.login-ecr.outputs.registry }}
IMAGE_TAG: ${{ github.event.inputs.image_tag }}
run: |
# Construct the full image URI
IMAGE_URI="$ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG"

echo "Deploying image: $IMAGE_URI"
echo "ECS Service: $ECS_SERVICE"
echo "ECS Cluster: $ECS_CLUSTER"
echo "Task Definition: $TASK_DEFINITION"
echo "Container Name: $CONTAINER_NAME"

# Download the current task definition
aws ecs describe-task-definition \
--task-definition $TASK_DEFINITION \
--query 'taskDefinition' > task-definition.json

# Get the current task definition ARN from the downloaded file
TASK_DEFINITION_ARN=$(jq -r '.taskDefinitionArn' task-definition.json)

echo "Current task definition ARN: $TASK_DEFINITION_ARN"

# Update the image in the task definition
jq --arg IMAGE_URI "$IMAGE_URI" --arg CONTAINER_NAME "$CONTAINER_NAME" \
'.containerDefinitions |= map(if .name == $CONTAINER_NAME then .image = $IMAGE_URI else . end) | del(.taskDefinitionArn, .revision, .status, .requiresAttributes, .placementConstraints, .compatibilities, .registeredAt, .registeredBy)' \
task-definition.json > updated-task-definition.json

# Register the new task definition
NEW_TASK_DEFINITION_ARN=$(aws ecs register-task-definition \
--cli-input-json file://updated-task-definition.json \
--query 'taskDefinition.taskDefinitionArn' \
--output text)

echo "New task definition ARN: $NEW_TASK_DEFINITION_ARN"

# Update the ECS service with the new task definition
aws ecs update-service \
--cluster $ECS_CLUSTER \
--service $ECS_SERVICE \
--task-definition $NEW_TASK_DEFINITION_ARN \
--force-new-deployment

# Wait for the service to be stable
echo "Waiting for ECS service to be stable..."
aws ecs wait services-stable \
--cluster $ECS_CLUSTER \
--services $ECS_SERVICE

# Check the actual service status after waiting
echo "Checking service status..."
SERVICE_STATUS=$(aws ecs describe-services \
--cluster $ECS_CLUSTER \
--services $ECS_SERVICE \
--query 'services[0].status' \
--output text)

echo "Service Status: $SERVICE_STATUS"

# Check if deployment was successful
if [ "$SERVICE_STATUS" = "ACTIVE" ]; then
echo "Deployment completed successfully!"
else
echo "Deployment may have issues. Service status: $SERVICE_STATUS"
exit 1
fi

# Output the deployment information
echo "deployed_image=$IMAGE_URI" >> $GITHUB_OUTPUT
echo "ecs_service=$ECS_SERVICE" >> $GITHUB_OUTPUT
echo "ecs_cluster=$ECS_CLUSTER" >> $GITHUB_OUTPUT
echo "task_definition_arn=$NEW_TASK_DEFINITION_ARN" >> $GITHUB_OUTPUT
- name: Get deployment status
run: |
echo "Deployment Status:"
aws ecs describe-services \
--cluster $ECS_CLUSTER \
--services $ECS_SERVICE \
--query 'services[0].{ServiceName:serviceName,Status:status,DesiredCount:desiredCount,RunningCount:runningCount,PendingCount:pendingCount,TaskDefinition:taskDefinition}' \
--output table

echo ""
echo "Current running tasks:"
aws ecs list-tasks \
--cluster $ECS_CLUSTER \
--service-name $ECS_SERVICE \
--query 'taskArns' \
--output table
119 changes: 119 additions & 0 deletions .github/workflows/push-ecr.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,119 @@
# This GitHub Actions workflow automates pushing the Zebra Server Docker image to Amazon ECR.
# It triggers on any new tag or manual dispatch, builds a Docker image, and pushes it to Amazon Elastic Container Registry (ECR).
name: Push to Amazon ECR

on:
push:
tags:
- '*' # Triggers the workflow on any new tag
workflow_dispatch:
inputs:
image_tag_version:
description: 'Version to tag the Docker image'
required: false
type: string

env:
AWS_REGION: ${{ vars.AWS_REGION || 'eu-central-1' }}
ECR_REPOSITORY: ${{ vars.ECR_REPOSITORY || 'dev-zebra-server' }}
DOCKERFILE_PATH: ${{ vars.DOCKERFILE_PATH }}

jobs:
push-to-ecr:
name: Push to ECR
runs-on: ubuntu-latest
environment: production

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

- name: Configure AWS credentials
uses: aws-actions/configure-aws-credentials@v4
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: ${{ env.AWS_REGION }}

- name: Login to Amazon ECR
id: login-ecr
uses: aws-actions/amazon-ecr-login@v2

- name: Get Git tags and set image tags
id: vars
run: |
git fetch --tags

# Get exact match tag if it exists (will be empty if the current commit doesn't have a tag)
GIT_TAG=$(git describe --exact-match --tags 2>/dev/null || echo "")

# Set environment variables and echo results
if [ -n "$GIT_TAG" ]; then
echo "GIT_TAG=$GIT_TAG" >> $GITHUB_ENV
echo "Git Tag Discovery:"
echo " Found exact match Git tag: $GIT_TAG"
else
echo "Git Tag Discovery:"
echo " No exact match Git tag found for current commit"
fi

# Set the input IMAGE_TAG_VERSION
echo "IMAGE_TAG_VERSION=${{ github.event.inputs.image_tag_version }}" >> $GITHUB_ENV
echo " User-provided IMAGE_TAG_VERSION: ${{ github.event.inputs.image_tag_version }}"

- name: Build, tag, and push image to Amazon ECR
id: build-image
env:
ECR_REGISTRY: ${{ steps.login-ecr.outputs.registry }}
IMAGE_TAG_LATEST: latest
run: |
# Build docker container with multiple tags
DOCKER_BUILD_ARGS=()
DOCKER_BUILD_ARGS+=("-t" "$ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG_LATEST")
DOCKER_BUILD_ARGS+=("-t" "$ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG_VERSION")

# Add exact tag if it exists
if [ -n "$GIT_TAG" ]; then
DOCKER_BUILD_ARGS+=("-t" "$ECR_REGISTRY/$ECR_REPOSITORY:$GIT_TAG")
fi

# Echo final tags that will be pushed
echo "Docker Image Tags to be pushed:"
for arg in "${DOCKER_BUILD_ARGS[@]}"; do
if [[ "$arg" != "-t" ]]; then
echo " $arg"
fi
done
echo ""

# Build with all tags
echo "Building Docker image..."
docker build "${DOCKER_BUILD_ARGS[@]}" -f $DOCKERFILE_PATH .

# Push all tags with error handling
for tag in "$IMAGE_TAG_LATEST" "$IMAGE_TAG_VERSION" "$GIT_TAG"; do
# Skip empty tags (e.g., if GIT_TAG is unset)
[ -z "$tag" ] && continue

image="$ECR_REGISTRY/$ECR_REPOSITORY:$tag"
echo "Pushing $image…"
if ! docker push "$image"; then
echo "Failed to push $image"
exit 1
fi
done

# Output the image URIs
echo "image_latest=$ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG_LATEST" >> $GITHUB_OUTPUT
echo "image_version=$ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG_VERSION" >> $GITHUB_OUTPUT

if [ -n "$GIT_TAG" ]; then
echo "image_exact_tag=$ECR_REGISTRY/$ECR_REPOSITORY:$GIT_TAG" >> $GITHUB_OUTPUT
fi

# Print the public repository URL
echo ""
echo "====================================="
echo "Public ECR Repository URL:"
echo "https://gallery.ecr.aws/$ECR_REPOSITORY"
echo "====================================="
Loading
Loading