feat: add NuTachyon and V7 transactions - #795
Conversation
e1bee86 to
dfa665d
Compare
# Conflicts: # Cargo.lock # Cargo.toml
|
Follow-up validation for d5fce97:
The regression test constructs a NuTachyon block template, converts it through the internal-miner proposal path, and verifies the header uses the block-commitments hash. |
|
Validation for 96cea46: cargo fmt --all -- --check; cargo +1.97.1 clippy -p zakura-rpc --all-targets -- -D warnings; cargo +1.97.1 test -p zakura-rpc; RUSTFLAGS= cargo +1.91.0 check --locked -p zakura-rpc --all-targets; ./scripts/changelog.py check. Cargo commands used ROCKSDB_LIB_DIR=/opt/homebrew/lib. |
|
Validation for a871092: cargo fmt --all -- --check; cargo +1.97.1 clippy -p zakura-state -p zakura-rpc --all-targets -- -D warnings; cargo +1.97.1 test -p zakura-state tachyon; cargo +1.97.1 test -p zakura-rpc get_block_template::tachyon::tests; RUSTFLAGS= cargo +1.91.0 check --locked -p zakura-state -p zakura-rpc --all-targets; ./scripts/changelog.py check. Cargo commands used ROCKSDB_LIB_DIR=/opt/homebrew/lib. |
|
Added structured Tachyon bundle data to verbose Validation:
|
# Conflicts: # .github/workflows/lint.yml # Cargo.lock # Cargo.toml # crates/zakura-chain/src/value_balance.rs # crates/zakura-state/src/response.rs
The bulk of Tachyon’s logic is
tachyon::coherence(semantic verification),TachyonMiningDatain the state service, and theget_block_templatehandler in RPC,update_chain_tip_with_block_parallelin crates/zakura-state/src/service/non_finalized_state/chain.rs; the rest of the PR is mostly plumbing.zakura-chain
zakura_chain::tachyonmodule containing wrappers for Tachyon’sAnchorandTachygramtypes.NetworkUpgrade,ConsensusBranchId, andTX_V7_VERSION_GROUP_ID.tachyon_anchorandtachyon_epoch_anchortoNoteCommitmentTrees.zakura-consensus
zakura-network
CURRENT_NETWORK_PROTOCOL_VERSION_VALUE.zakura-state
tachyon_anchorandtachyon_epoch_anchortoTreeState.ChainInnerwith Tachyon anchors, epoch anchors, tachygrams, and their height/epoch indexes.TachyonMiningDatato the read state service so miners can retrieve anchor data and revealed tachygrams for aggregation during block construction.commit_finalized_direct_with_aux(we may want to revisit how Tachyon affects VCT).zakura-rpc
get_block_templateso miners aggregate autonome transactions from the mempool.zakura-rpc/src/methods/types/get_block_template/tachyon.rs.Validation
ROCKSDB_LIB_DIR="/opt/homebrew/lib" cargo +1.97.1 check --locked -p zakura-chain -p zakura-consensus -p zakura-state -p zakura-rpc --all-targetsROCKSDB_LIB_DIR="/opt/homebrew/lib" cargo +1.97.1 test --locked -p zakura-chainROCKSDB_LIB_DIR="/opt/homebrew/lib" cargo +1.97.1 test --locked -p zakura-consensus tachyonROCKSDB_LIB_DIR="/opt/homebrew/lib" cargo +1.97.1 test --locked -p zakura-state tachyonROCKSDB_LIB_DIR="/opt/homebrew/lib" cargo +1.97.1 clippy --locked -p zakura-chain -p zakura-consensus -p zakura-state -p zakura-rpc --all-targets --no-deps -- -D warningsROCKSDB_LIB_DIR="/opt/homebrew/lib" RUSTFLAGS='' cargo +1.91.0 check --locked -p zakura-chain -p zakura-consensus -p zakura-state -p zakura-rpc --all-targets