zebra/zebra-utils/Cargo.toml

78 lines
2.1 KiB
TOML
Raw Normal View History

[package]
name = "zebra-utils"
authors = ["Zcash Foundation <zebra@zfnd.org>"]
license = "MIT OR Apache-2.0"
version = "1.0.0-beta.25"
edition = "2021"
test(rpc): Create a script that submits block proposals to zcashd (#5944) * Revert "Update code that we're going to delete in the next PR anyway" This reverts commit 1fed70da9ef6f891d6465bcfc0ec4bacd9e81948. * Initial zcash-test-block-template script without block proposal construction * Try creating block data using jq and printf * Move proposal_block_from_template() to zebra-rpc and remove eyre dependency * Implement FromStr for DateTime32 and Duration32 * Basic block-template-to-proposal command without time source handling * Move block proposal code into its own module * Use time source in block-template-to-proposal * Make block-template-to-proposal require the getblocktemplate-rpcs feature * Use block-template-to-proposal in the test script zcash-rpc-block-template-to-proposal * Apply new hex formatting to commitments and nonces in block proposal tests * Re-add missing imports from rebase * Re-add missing conversions from rebase * Update to new method name after rebase * Derive a Default impl * Restore a comment that was accidentally deleted during the rebase * Avoid a clippy::unwrap-in-result * Temporarily fix the code for a disabled test * Fix tool build with Docker caches * Make clippy happy with the temporary fix * Give a pass/fail status for each proposal response * Accept zcashd block templates in block-template-to-proposal * Fix pretty printing * Zebra expects a longpollid, so give it a dummy value * Add "required" fields which Zebra requires * Use curtime as the dummy maxtime in zcashd templates * Support large block proposals by reading proposal data from a file * Test all valid time modes for each proposal * Allow the user to set the time command * Put debug logs into their own files * Exit with an error status when any proposal is invalid * Log the date and time to make it easier to match errors to node logs
2023-01-17 18:11:15 -08:00
[[bin]]
name = "zebra-checkpoints"
test(rpc): Create a script that submits block proposals to zcashd (#5944) * Revert "Update code that we're going to delete in the next PR anyway" This reverts commit 1fed70da9ef6f891d6465bcfc0ec4bacd9e81948. * Initial zcash-test-block-template script without block proposal construction * Try creating block data using jq and printf * Move proposal_block_from_template() to zebra-rpc and remove eyre dependency * Implement FromStr for DateTime32 and Duration32 * Basic block-template-to-proposal command without time source handling * Move block proposal code into its own module * Use time source in block-template-to-proposal * Make block-template-to-proposal require the getblocktemplate-rpcs feature * Use block-template-to-proposal in the test script zcash-rpc-block-template-to-proposal * Apply new hex formatting to commitments and nonces in block proposal tests * Re-add missing imports from rebase * Re-add missing conversions from rebase * Update to new method name after rebase * Derive a Default impl * Restore a comment that was accidentally deleted during the rebase * Avoid a clippy::unwrap-in-result * Temporarily fix the code for a disabled test * Fix tool build with Docker caches * Make clippy happy with the temporary fix * Give a pass/fail status for each proposal response * Accept zcashd block templates in block-template-to-proposal * Fix pretty printing * Zebra expects a longpollid, so give it a dummy value * Add "required" fields which Zebra requires * Use curtime as the dummy maxtime in zcashd templates * Support large block proposals by reading proposal data from a file * Test all valid time modes for each proposal * Allow the user to set the time command * Put debug logs into their own files * Exit with an error status when any proposal is invalid * Log the date and time to make it easier to match errors to node logs
2023-01-17 18:11:15 -08:00
# this setting is required for Zebra's Docker build caches
path = "src/bin/zebra-checkpoints/main.rs"
required-features = ["zebra-checkpoints"]
test(rpc): Create a script that submits block proposals to zcashd (#5944) * Revert "Update code that we're going to delete in the next PR anyway" This reverts commit 1fed70da9ef6f891d6465bcfc0ec4bacd9e81948. * Initial zcash-test-block-template script without block proposal construction * Try creating block data using jq and printf * Move proposal_block_from_template() to zebra-rpc and remove eyre dependency * Implement FromStr for DateTime32 and Duration32 * Basic block-template-to-proposal command without time source handling * Move block proposal code into its own module * Use time source in block-template-to-proposal * Make block-template-to-proposal require the getblocktemplate-rpcs feature * Use block-template-to-proposal in the test script zcash-rpc-block-template-to-proposal * Apply new hex formatting to commitments and nonces in block proposal tests * Re-add missing imports from rebase * Re-add missing conversions from rebase * Update to new method name after rebase * Derive a Default impl * Restore a comment that was accidentally deleted during the rebase * Avoid a clippy::unwrap-in-result * Temporarily fix the code for a disabled test * Fix tool build with Docker caches * Make clippy happy with the temporary fix * Give a pass/fail status for each proposal response * Accept zcashd block templates in block-template-to-proposal * Fix pretty printing * Zebra expects a longpollid, so give it a dummy value * Add "required" fields which Zebra requires * Use curtime as the dummy maxtime in zcashd templates * Support large block proposals by reading proposal data from a file * Test all valid time modes for each proposal * Allow the user to set the time command * Put debug logs into their own files * Exit with an error status when any proposal is invalid * Log the date and time to make it easier to match errors to node logs
2023-01-17 18:11:15 -08:00
[[bin]]
name = "search-issue-refs"
path = "src/bin/search-issue-refs/main.rs"
required-features = ["search-issue-refs"]
[[bin]]
name = "block-template-to-proposal"
# this setting is required for Zebra's Docker build caches
path = "src/bin/block-template-to-proposal/main.rs"
required-features = ["getblocktemplate-rpcs"]
test(rpc): Create a script that submits block proposals to zcashd (#5944) * Revert "Update code that we're going to delete in the next PR anyway" This reverts commit 1fed70da9ef6f891d6465bcfc0ec4bacd9e81948. * Initial zcash-test-block-template script without block proposal construction * Try creating block data using jq and printf * Move proposal_block_from_template() to zebra-rpc and remove eyre dependency * Implement FromStr for DateTime32 and Duration32 * Basic block-template-to-proposal command without time source handling * Move block proposal code into its own module * Use time source in block-template-to-proposal * Make block-template-to-proposal require the getblocktemplate-rpcs feature * Use block-template-to-proposal in the test script zcash-rpc-block-template-to-proposal * Apply new hex formatting to commitments and nonces in block proposal tests * Re-add missing imports from rebase * Re-add missing conversions from rebase * Update to new method name after rebase * Derive a Default impl * Restore a comment that was accidentally deleted during the rebase * Avoid a clippy::unwrap-in-result * Temporarily fix the code for a disabled test * Fix tool build with Docker caches * Make clippy happy with the temporary fix * Give a pass/fail status for each proposal response * Accept zcashd block templates in block-template-to-proposal * Fix pretty printing * Zebra expects a longpollid, so give it a dummy value * Add "required" fields which Zebra requires * Use curtime as the dummy maxtime in zcashd templates * Support large block proposals by reading proposal data from a file * Test all valid time modes for each proposal * Allow the user to set the time command * Put debug logs into their own files * Exit with an error status when any proposal is invalid * Log the date and time to make it easier to match errors to node logs
2023-01-17 18:11:15 -08:00
[features]
default = []
# Each binary has a feature that activates the extra dependencies it needs
zebra-checkpoints = [
"itertools",
"tokio",
"zebra-chain/json-conversion",
"zebra-node-services/rpc-client"
]
search-issue-refs = [
"regex",
"reqwest",
"tokio"
]
test(rpc): Create a script that submits block proposals to zcashd (#5944) * Revert "Update code that we're going to delete in the next PR anyway" This reverts commit 1fed70da9ef6f891d6465bcfc0ec4bacd9e81948. * Initial zcash-test-block-template script without block proposal construction * Try creating block data using jq and printf * Move proposal_block_from_template() to zebra-rpc and remove eyre dependency * Implement FromStr for DateTime32 and Duration32 * Basic block-template-to-proposal command without time source handling * Move block proposal code into its own module * Use time source in block-template-to-proposal * Make block-template-to-proposal require the getblocktemplate-rpcs feature * Use block-template-to-proposal in the test script zcash-rpc-block-template-to-proposal * Apply new hex formatting to commitments and nonces in block proposal tests * Re-add missing imports from rebase * Re-add missing conversions from rebase * Update to new method name after rebase * Derive a Default impl * Restore a comment that was accidentally deleted during the rebase * Avoid a clippy::unwrap-in-result * Temporarily fix the code for a disabled test * Fix tool build with Docker caches * Make clippy happy with the temporary fix * Give a pass/fail status for each proposal response * Accept zcashd block templates in block-template-to-proposal * Fix pretty printing * Zebra expects a longpollid, so give it a dummy value * Add "required" fields which Zebra requires * Use curtime as the dummy maxtime in zcashd templates * Support large block proposals by reading proposal data from a file * Test all valid time modes for each proposal * Allow the user to set the time command * Put debug logs into their own files * Exit with an error status when any proposal is invalid * Log the date and time to make it easier to match errors to node logs
2023-01-17 18:11:15 -08:00
# block-template-to-proposal uses the experimental mining RPC support feature name
test(rpc): Create a script that submits block proposals to zcashd (#5944) * Revert "Update code that we're going to delete in the next PR anyway" This reverts commit 1fed70da9ef6f891d6465bcfc0ec4bacd9e81948. * Initial zcash-test-block-template script without block proposal construction * Try creating block data using jq and printf * Move proposal_block_from_template() to zebra-rpc and remove eyre dependency * Implement FromStr for DateTime32 and Duration32 * Basic block-template-to-proposal command without time source handling * Move block proposal code into its own module * Use time source in block-template-to-proposal * Make block-template-to-proposal require the getblocktemplate-rpcs feature * Use block-template-to-proposal in the test script zcash-rpc-block-template-to-proposal * Apply new hex formatting to commitments and nonces in block proposal tests * Re-add missing imports from rebase * Re-add missing conversions from rebase * Update to new method name after rebase * Derive a Default impl * Restore a comment that was accidentally deleted during the rebase * Avoid a clippy::unwrap-in-result * Temporarily fix the code for a disabled test * Fix tool build with Docker caches * Make clippy happy with the temporary fix * Give a pass/fail status for each proposal response * Accept zcashd block templates in block-template-to-proposal * Fix pretty printing * Zebra expects a longpollid, so give it a dummy value * Add "required" fields which Zebra requires * Use curtime as the dummy maxtime in zcashd templates * Support large block proposals by reading proposal data from a file * Test all valid time modes for each proposal * Allow the user to set the time command * Put debug logs into their own files * Exit with an error status when any proposal is invalid * Log the date and time to make it easier to match errors to node logs
2023-01-17 18:11:15 -08:00
getblocktemplate-rpcs = [
"zebra-rpc/getblocktemplate-rpcs",
"zebra-node-services/getblocktemplate-rpcs",
"zebra-chain/getblocktemplate-rpcs",
]
[dependencies]
color-eyre = "0.6.2"
# This is a transitive dependency via color-eyre.
# Enable a feature that makes tinyvec compile much faster.
tinyvec = { version = "1.6.0", features = ["rustc_1_55"] }
structopt = "0.3.26"
Upgrade dependencies (#3625) * Upgrade some dependencies * Upgrade some dependencies * Upgrade dependencies for zebrad * Upgrade tracing dependencies * Revert `tor` & `arti` * Upgrade `criterion` & `pin-project` in `deny.toml` * Remove some dependencies from `skip-tree` in `deny.toml` * Revert some the versions of dependencies because of duplicates * Revert proptest regressions * Upgrade dependencies, then ignore some more duplicates (#3716) * feat(actions)!: add full sync test (#3582) * add(tests): full sync test * fix(test): add build * fix(deploy): escape double dashes '--' correctly * fix(test): remove unexpected --no-capture arg error: Found argument '--nocapture' which wasn't expected, or isn't valid in this context * refactor(docker): use default executable as entrypoint * refactor(startup): add a custom entrypoint * fix(test): add missing TEST_FULL_SYNC variable * test(timeout): use the biggest machine * fix * fix(deploy): use latest successful image * typo * refactor(docker): generate config file at startup * revert(build): changes were made to docker * fix(docker): send variables correctly to the entrypoint * test different conf file approach * fix(env): add RUN_TEST env variable * ref: use previous approach * fix(color): use environment variable * fix(resources): use our normal machine size * fix(ci): double CPU and RAM for full sync test * fix(test): check for zebrad test output in the correct order The mempool is only activated once, so we must check for that log first. After mempool activation, the stop regex is logged at least once. (It might be logged before as well, but we can't rely on that.) When checking that the mempool didn't activate, wait for the `zebrad` command to exit, then check the entire log. * fix(ci): run full sync test with full compiler optimisations * fix(tests): reintroduce tests and run full sync on approval * fix(tests): reduce the changelog Co-authored-by: teor <teor@riseup.net> * fix(ci): update CI job path triggers (#3692) * ci(test): re-run tests when snapshot data changes * fix(ci): rebuild state when disk format changes * fix(ci): rebuild rust docs when code or dependencies change * doc(ci): explain why we run jobs when files change Co-authored-by: Gustavo Valverde <gustavo@iterativo.do> * fix(build): use the right multistage target (#3700) * fix(review): only assign one reviewer to general Rust reviews (#3708) If we assign two teams, GitHub assigns two reviewers. * fix(ci): change the color-eyre ignore to a tracing-subscriber ignore * fix(ci): ignore duplicate darling dependencies * doc(ci): remove an alternative resolution doc Co-authored-by: Gustavo Valverde <gustavo@iterativo.do> Co-authored-by: teor <teor@riseup.net> Co-authored-by: Gustavo Valverde <gustavo@iterativo.do>
2022-03-06 18:07:25 -08:00
hex = "0.4.3"
serde_json = "1.0.96"
tracing-error = "0.2.0"
tracing-subscriber = "0.3.17"
thiserror = "1.0.40"
zebra-node-services = { path = "../zebra-node-services" }
zebra-chain = { path = "../zebra-chain" }
# These crates are needed for the zebra-checkpoints binary
itertools = { version = "0.10.5", optional = true }
# These crates are needed for the search-issue-refs binary
regex = { version = "1.8.4", optional = true }
reqwest = { version = "0.11.18", optional = true }
# These crates are needed for the zebra-checkpoints and search-issue-refs binaries
tokio = { version = "1.28.2", features = ["full"], optional = true }
test(rpc): Create a script that submits block proposals to zcashd (#5944) * Revert "Update code that we're going to delete in the next PR anyway" This reverts commit 1fed70da9ef6f891d6465bcfc0ec4bacd9e81948. * Initial zcash-test-block-template script without block proposal construction * Try creating block data using jq and printf * Move proposal_block_from_template() to zebra-rpc and remove eyre dependency * Implement FromStr for DateTime32 and Duration32 * Basic block-template-to-proposal command without time source handling * Move block proposal code into its own module * Use time source in block-template-to-proposal * Make block-template-to-proposal require the getblocktemplate-rpcs feature * Use block-template-to-proposal in the test script zcash-rpc-block-template-to-proposal * Apply new hex formatting to commitments and nonces in block proposal tests * Re-add missing imports from rebase * Re-add missing conversions from rebase * Update to new method name after rebase * Derive a Default impl * Restore a comment that was accidentally deleted during the rebase * Avoid a clippy::unwrap-in-result * Temporarily fix the code for a disabled test * Fix tool build with Docker caches * Make clippy happy with the temporary fix * Give a pass/fail status for each proposal response * Accept zcashd block templates in block-template-to-proposal * Fix pretty printing * Zebra expects a longpollid, so give it a dummy value * Add "required" fields which Zebra requires * Use curtime as the dummy maxtime in zcashd templates * Support large block proposals by reading proposal data from a file * Test all valid time modes for each proposal * Allow the user to set the time command * Put debug logs into their own files * Exit with an error status when any proposal is invalid * Log the date and time to make it easier to match errors to node logs
2023-01-17 18:11:15 -08:00
# These crates are needed for the block-template-to-proposal binary
test(rpc): Create a script that submits block proposals to zcashd (#5944) * Revert "Update code that we're going to delete in the next PR anyway" This reverts commit 1fed70da9ef6f891d6465bcfc0ec4bacd9e81948. * Initial zcash-test-block-template script without block proposal construction * Try creating block data using jq and printf * Move proposal_block_from_template() to zebra-rpc and remove eyre dependency * Implement FromStr for DateTime32 and Duration32 * Basic block-template-to-proposal command without time source handling * Move block proposal code into its own module * Use time source in block-template-to-proposal * Make block-template-to-proposal require the getblocktemplate-rpcs feature * Use block-template-to-proposal in the test script zcash-rpc-block-template-to-proposal * Apply new hex formatting to commitments and nonces in block proposal tests * Re-add missing imports from rebase * Re-add missing conversions from rebase * Update to new method name after rebase * Derive a Default impl * Restore a comment that was accidentally deleted during the rebase * Avoid a clippy::unwrap-in-result * Temporarily fix the code for a disabled test * Fix tool build with Docker caches * Make clippy happy with the temporary fix * Give a pass/fail status for each proposal response * Accept zcashd block templates in block-template-to-proposal * Fix pretty printing * Zebra expects a longpollid, so give it a dummy value * Add "required" fields which Zebra requires * Use curtime as the dummy maxtime in zcashd templates * Support large block proposals by reading proposal data from a file * Test all valid time modes for each proposal * Allow the user to set the time command * Put debug logs into their own files * Exit with an error status when any proposal is invalid * Log the date and time to make it easier to match errors to node logs
2023-01-17 18:11:15 -08:00
zebra-rpc = { path = "../zebra-rpc", optional = true }