mirror of
https://github.com/sigp/lighthouse.git
synced 2026-03-06 10:11:44 +00:00
* Attestation superstruct changes for EIP 7549 (#5644)
* update
* experiment
* superstruct changes
* revert
* superstruct changes
* fix tests
* indexed attestation
* indexed attestation superstruct
* updated TODOs
* `superstruct` the `AttesterSlashing` (#5636)
* `superstruct` Attester Fork Variants
* Push a little further
* Deal with Encode / Decode of AttesterSlashing
* not so sure about this..
* Stop Encode/Decode Bounds from Propagating Out
* Tons of Changes..
* More Conversions to AttestationRef
* Add AsReference trait (#15)
* Add AsReference trait
* Fix some snafus
* Got it Compiling! :D
* Got Tests Building
* Get beacon chain tests compiling
---------
Co-authored-by: Michael Sproul <micsproul@gmail.com>
* Merge remote-tracking branch 'upstream/unstable' into electra_attestation_changes
* Make EF Tests Fork-Agnostic (#5713)
* Finish EF Test Fork Agnostic (#5714)
* Superstruct `AggregateAndProof` (#5715)
* Upgrade `superstruct` to `0.8.0`
* superstruct `AggregateAndProof`
* Merge remote-tracking branch 'sigp/unstable' into electra_attestation_changes
* cargo fmt
* Merge pull request #5726 from realbigsean/electra_attestation_changes
Merge unstable into Electra attestation changes
* EIP7549 `get_attestation_indices` (#5657)
* get attesting indices electra impl
* fmt
* get tests to pass
* fmt
* fix some beacon chain tests
* fmt
* fix slasher test
* fmt got me again
* fix more tests
* fix tests
* Some small changes (#5739)
* cargo fmt (#5740)
* Sketch op pool changes
* fix get attesting indices (#5742)
* fix get attesting indices
* better errors
* fix compile
* only get committee index once
* Ef test fixes (#5753)
* attestation related ef test fixes
* delete commented out stuff
* Fix Aggregation Pool for Electra (#5754)
* Fix Aggregation Pool for Electra
* Remove Outdated Interface
* fix ssz (#5755)
* Get `electra_op_pool` up to date (#5756)
* fix get attesting indices (#5742)
* fix get attesting indices
* better errors
* fix compile
* only get committee index once
* Ef test fixes (#5753)
* attestation related ef test fixes
* delete commented out stuff
* Fix Aggregation Pool for Electra (#5754)
* Fix Aggregation Pool for Electra
* Remove Outdated Interface
* fix ssz (#5755)
---------
Co-authored-by: realbigsean <sean@sigmaprime.io>
* Revert "Get `electra_op_pool` up to date (#5756)" (#5757)
This reverts commit ab9e58aa3d.
* Merge branch 'electra_attestation_changes' of https://github.com/sigp/lighthouse into electra_op_pool
* Compute on chain aggregate impl (#5752)
* add compute_on_chain_agg impl to op pool changes
* fmt
* get op pool tests to pass
* update the naive agg pool interface (#5760)
* Fix bugs in cross-committee aggregation
* Add comment to max cover optimisation
* Fix assert
* Merge pull request #5749 from sigp/electra_op_pool
Optimise Electra op pool aggregation
* update committee offset
* Fix Electra Fork Choice Tests (#5764)
* Subscribe to the correct subnets for electra attestations (#5782)
* subscribe to the correct att subnets for electra
* subscribe to the correct att subnets for electra
* cargo fmt
* fix slashing handling
* Merge remote-tracking branch 'upstream/unstable'
* Send unagg attestation based on fork
* Publish all aggregates
* just one more check bro plz..
* Merge pull request #5832 from ethDreamer/electra_attestation_changes_merge_unstable
Merge `unstable` into `electra_attestation_changes`
* Merge pull request #5835 from realbigsean/fix-validator-logic
Fix validator logic
* Merge pull request #5816 from realbigsean/electra-attestation-slashing-handling
Electra slashing handling
* Electra attestation changes rm decode impl (#5856)
* Remove Crappy Decode impl for Attestation
* Remove Inefficient Attestation Decode impl
* Implement Schema Upgrade / Downgrade
* Update beacon_node/beacon_chain/src/schema_change/migration_schema_v20.rs
Co-authored-by: Michael Sproul <micsproul@gmail.com>
---------
Co-authored-by: Michael Sproul <micsproul@gmail.com>
* Fix failing attestation tests and misc electra attestation cleanup (#5810)
* - get attestation related beacon chain tests to pass
- observed attestations are now keyed off of data + committee index
- rename op pool attestationref to compactattestationref
- remove unwraps in agg pool and use options instead
- cherry pick some changes from ef-tests-electra
* cargo fmt
* fix failing test
* Revert dockerfile changes
* make committee_index return option
* function args shouldnt be a ref to attestation ref
* fmt
* fix dup imports
---------
Co-authored-by: realbigsean <seananderson33@GMAIL.com>
* fix some todos (#5817)
* Merge branch 'unstable' of https://github.com/sigp/lighthouse into electra_attestation_changes
* add consolidations to merkle calc for inclusion proof
* Remove Duplicate KZG Commitment Merkle Proof Code (#5874)
* Remove Duplicate KZG Commitment Merkle Proof Code
* s/tree_lists/fields/
* Merge branch 'unstable' of https://github.com/sigp/lighthouse into electra_attestation_changes
* fix compile
* Fix slasher tests (#5906)
* Fix electra tests
* Add electra attestations to double vote tests
* Update superstruct to 0.8
* Merge remote-tracking branch 'origin/unstable' into electra_attestation_changes
* Small cleanup in slasher tests
* Clean up Electra observed aggregates (#5929)
* Use consistent key in observed_attestations
* Remove unwraps from observed aggregates
* Merge branch 'unstable' of https://github.com/sigp/lighthouse into electra_attestation_changes
* De-dup attestation constructor logic
* Remove unwraps in Attestation construction
* Dedup match_attestation_data
* Remove outdated TODO
* Use ForkName Ord in fork-choice tests
* Use ForkName Ord in BeaconBlockBody
* Make to_electra not fallible
* Remove TestRandom impl for IndexedAttestation
* Remove IndexedAttestation faulty Decode impl
* Drop TestRandom impl
* Add PendingAttestationInElectra
* Indexed att on disk (#35)
* indexed att on disk
* fix lints
* Update slasher/src/migrate.rs
Co-authored-by: ethDreamer <37123614+ethDreamer@users.noreply.github.com>
---------
Co-authored-by: Lion - dapplion <35266934+dapplion@users.noreply.github.com>
Co-authored-by: ethDreamer <37123614+ethDreamer@users.noreply.github.com>
* add electra fork enabled fn to ForkName impl (#36)
* add electra fork enabled fn to ForkName impl
* remove inadvertent file
* Update common/eth2/src/types.rs
Co-authored-by: ethDreamer <37123614+ethDreamer@users.noreply.github.com>
* Dedup attestation constructor logic in attester cache
* Use if let Ok for committee_bits
* Dedup Attestation constructor code
* Diff reduction in tests
* Fix beacon_chain tests
* Diff reduction
* Use Ord for ForkName in pubsub
* Resolve into_attestation_and_indices todo
* Remove stale TODO
* Fix beacon_chain tests
* Test spec invariant
* Use electra_enabled in pubsub
* Remove get_indexed_attestation_from_signed_aggregate
* Use ok_or instead of if let else
* committees are sorted
* remove dup method `get_indexed_attestation_from_committees`
* Merge pull request #5940 from dapplion/electra_attestation_changes_lionreview
Electra attestations #5712 review
* update default persisted op pool deserialization
* ensure aggregate and proof uses serde untagged on ref
* Fork aware ssz static attestation tests
* Electra attestation changes from Lions review (#5971)
* dedup/cleanup and remove unneeded hashset use
* remove irrelevant TODOs
* Merge branch 'unstable' of https://github.com/sigp/lighthouse into electra_attestation_changes
* Electra attestation changes sean review (#5972)
* instantiate empty bitlist in unreachable code
* clean up error conversion
* fork enabled bool cleanup
* remove a couple todos
* return bools instead of options in `aggregate` and use the result
* delete commented out code
* use map macros in simple transformations
* remove signers_disjoint_from
* get ef tests compiling
* get ef tests compiling
* update intentionally excluded files
* Avoid changing slasher schema for Electra
* Delete slasher schema v4
* Fix clippy
* Fix compilation of beacon_chain tests
* Update database.rs
* Add electra lightclient types
* Update slasher/src/database.rs
* fix imports
* Merge pull request #5980 from dapplion/electra-lightclient
Add electra lightclient types
* Merge pull request #5975 from michaelsproul/electra-slasher-no-migration
Avoid changing slasher schema for Electra
* Update beacon_node/beacon_chain/src/attestation_verification.rs
* Update beacon_node/beacon_chain/src/attestation_verification.rs
246 lines
7.3 KiB
TOML
246 lines
7.3 KiB
TOML
[workspace]
|
|
members = [
|
|
"account_manager",
|
|
|
|
"beacon_node",
|
|
"beacon_node/beacon_chain",
|
|
"beacon_node/beacon_processor",
|
|
"beacon_node/builder_client",
|
|
"beacon_node/client",
|
|
"beacon_node/eth1",
|
|
"beacon_node/lighthouse_network",
|
|
"beacon_node/lighthouse_network/gossipsub",
|
|
"beacon_node/execution_layer",
|
|
"beacon_node/http_api",
|
|
"beacon_node/http_metrics",
|
|
"beacon_node/network",
|
|
"beacon_node/store",
|
|
"beacon_node/timer",
|
|
|
|
"boot_node",
|
|
|
|
"common/account_utils",
|
|
"common/clap_utils",
|
|
"common/compare_fields",
|
|
"common/compare_fields_derive",
|
|
"common/deposit_contract",
|
|
"common/directory",
|
|
"common/eth2",
|
|
"common/eth2_config",
|
|
"common/eth2_interop_keypairs",
|
|
"common/eth2_network_config",
|
|
"common/eth2_wallet_manager",
|
|
"common/lighthouse_metrics",
|
|
"common/lighthouse_version",
|
|
"common/lockfile",
|
|
"common/logging",
|
|
"common/lru_cache",
|
|
"common/malloc_utils",
|
|
"common/oneshot_broadcast",
|
|
"common/pretty_reqwest_error",
|
|
"common/sensitive_url",
|
|
"common/slot_clock",
|
|
"common/system_health",
|
|
"common/task_executor",
|
|
"common/target_check",
|
|
"common/test_random_derive",
|
|
"common/unused_port",
|
|
"common/validator_dir",
|
|
"common/warp_utils",
|
|
"common/monitoring_api",
|
|
|
|
"database_manager",
|
|
|
|
"consensus/cached_tree_hash",
|
|
"consensus/int_to_bytes",
|
|
"consensus/fork_choice",
|
|
"consensus/proto_array",
|
|
"consensus/safe_arith",
|
|
"consensus/state_processing",
|
|
"consensus/swap_or_not_shuffle",
|
|
|
|
"crypto/bls",
|
|
"crypto/kzg",
|
|
"crypto/eth2_key_derivation",
|
|
"crypto/eth2_keystore",
|
|
"crypto/eth2_wallet",
|
|
|
|
"lcli",
|
|
|
|
"lighthouse",
|
|
"lighthouse/environment",
|
|
|
|
"slasher",
|
|
"slasher/service",
|
|
|
|
"testing/ef_tests",
|
|
"testing/eth1_test_rig",
|
|
"testing/execution_engine_integration",
|
|
"testing/node_test_rig",
|
|
"testing/simulator",
|
|
"testing/test-test_logger",
|
|
"testing/state_transition_vectors",
|
|
"testing/web3signer_tests",
|
|
|
|
"validator_client",
|
|
"validator_client/slashing_protection",
|
|
|
|
"validator_manager",
|
|
|
|
"watch",
|
|
]
|
|
resolver = "2"
|
|
|
|
[workspace.package]
|
|
edition = "2021"
|
|
|
|
[workspace.dependencies]
|
|
anyhow = "1"
|
|
arbitrary = { version = "1", features = ["derive"] }
|
|
async-channel = "1.9.0"
|
|
bincode = "1"
|
|
bitvec = "1"
|
|
byteorder = "1"
|
|
bytes = "1"
|
|
clap = { version = "4.5.4", features = ["cargo", "wrap_help"] }
|
|
# Turn off c-kzg's default features which include `blst/portable`. We can turn on blst's portable
|
|
# feature ourselves when desired.
|
|
c-kzg = { version = "1", default-features = false }
|
|
compare_fields_derive = { path = "common/compare_fields_derive" }
|
|
criterion = "0.5"
|
|
delay_map = "0.3"
|
|
derivative = "2"
|
|
dirs = "3"
|
|
either = "1.9"
|
|
discv5 = { version = "0.4.1", features = ["libp2p"] }
|
|
env_logger = "0.9"
|
|
error-chain = "0.12"
|
|
ethereum-types = "0.14"
|
|
ethereum_hashing = "0.6.0"
|
|
ethereum_serde_utils = "0.5.2"
|
|
ethereum_ssz = "0.5"
|
|
ethereum_ssz_derive = "0.5"
|
|
ethers-core = "1"
|
|
ethers-providers = { version = "1", default-features = false }
|
|
exit-future = "0.2"
|
|
fnv = "1"
|
|
fs2 = "0.4"
|
|
futures = "0.3"
|
|
hex = "0.4"
|
|
hyper = "1"
|
|
itertools = "0.10"
|
|
lazy_static = "1"
|
|
libsecp256k1 = "0.7"
|
|
log = "0.4"
|
|
lru = "0.12"
|
|
maplit = "1"
|
|
milhouse = "0.1"
|
|
num_cpus = "1"
|
|
parking_lot = "0.12"
|
|
paste = "1"
|
|
quickcheck = "1"
|
|
quickcheck_macros = "1"
|
|
quote = "1"
|
|
r2d2 = "0.8"
|
|
rand = "0.8"
|
|
rayon = "1.7"
|
|
regex = "1"
|
|
reqwest = { version = "0.11", default-features = false, features = ["blocking", "json", "stream", "rustls-tls", "native-tls-vendored"] }
|
|
ring = "0.16"
|
|
rpds = "0.11"
|
|
rusqlite = { version = "0.28", features = ["bundled"] }
|
|
serde = { version = "1", features = ["derive"] }
|
|
serde_json = "1"
|
|
serde_repr = "0.1"
|
|
serde_yaml = "0.9"
|
|
sha2 = "0.9"
|
|
slog = { version = "2", features = ["max_level_trace", "release_max_level_trace", "nested-values"] }
|
|
slog-async = "2"
|
|
slog-term = "2"
|
|
sloggers = { version = "2", features = ["json"] }
|
|
smallvec = "1.11.2"
|
|
snap = "1"
|
|
ssz_types = "0.6"
|
|
strum = { version = "0.24", features = ["derive"] }
|
|
superstruct = "0.8"
|
|
syn = "1"
|
|
sysinfo = "0.26"
|
|
tempfile = "3"
|
|
tokio = { version = "1", features = ["rt-multi-thread", "sync", "signal"] }
|
|
tokio-stream = { version = "0.1", features = ["sync"] }
|
|
tokio-util = { version = "0.7", features = ["codec", "compat", "time"] }
|
|
tracing = "0.1.40"
|
|
tracing-appender = "0.2"
|
|
tracing-core = "0.1"
|
|
tracing-log = "0.2"
|
|
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
|
|
tree_hash = "0.6"
|
|
tree_hash_derive = "0.6"
|
|
url = "2"
|
|
uuid = { version = "0.8", features = ["serde", "v4"] }
|
|
warp = { version = "0.3.7", default-features = false, features = ["tls"] }
|
|
zeroize = { version = "1", features = ["zeroize_derive"] }
|
|
zip = "0.6"
|
|
|
|
# Local crates.
|
|
account_utils = { path = "common/account_utils" }
|
|
beacon_chain = { path = "beacon_node/beacon_chain" }
|
|
beacon_node = { path = "beacon_node" }
|
|
beacon_processor = { path = "beacon_node/beacon_processor" }
|
|
bls = { path = "crypto/bls" }
|
|
cached_tree_hash = { path = "consensus/cached_tree_hash" }
|
|
clap_utils = { path = "common/clap_utils" }
|
|
compare_fields = { path = "common/compare_fields" }
|
|
deposit_contract = { path = "common/deposit_contract" }
|
|
directory = { path = "common/directory" }
|
|
environment = { path = "lighthouse/environment" }
|
|
eth1 = { path = "beacon_node/eth1" }
|
|
eth1_test_rig = { path = "testing/eth1_test_rig" }
|
|
eth2 = { path = "common/eth2" }
|
|
eth2_config = { path = "common/eth2_config" }
|
|
eth2_key_derivation = { path = "crypto/eth2_key_derivation" }
|
|
eth2_keystore = { path = "crypto/eth2_keystore" }
|
|
eth2_network_config = { path = "common/eth2_network_config" }
|
|
eth2_wallet = { path = "crypto/eth2_wallet" }
|
|
execution_layer = { path = "beacon_node/execution_layer" }
|
|
filesystem = { path = "common/filesystem" }
|
|
fork_choice = { path = "consensus/fork_choice" }
|
|
genesis = { path = "beacon_node/genesis" }
|
|
gossipsub = { path = "beacon_node/lighthouse_network/gossipsub/" }
|
|
http_api = { path = "beacon_node/http_api" }
|
|
int_to_bytes = { path = "consensus/int_to_bytes" }
|
|
kzg = { path = "crypto/kzg" }
|
|
lighthouse_metrics = { path = "common/lighthouse_metrics" }
|
|
lighthouse_network = { path = "beacon_node/lighthouse_network" }
|
|
lighthouse_version = { path = "common/lighthouse_version" }
|
|
lockfile = { path = "common/lockfile" }
|
|
logging = { path = "common/logging" }
|
|
lru_cache = { path = "common/lru_cache" }
|
|
malloc_utils = { path = "common/malloc_utils" }
|
|
merkle_proof = { path = "consensus/merkle_proof" }
|
|
monitoring_api = { path = "common/monitoring_api" }
|
|
network = { path = "beacon_node/network" }
|
|
operation_pool = { path = "beacon_node/operation_pool" }
|
|
pretty_reqwest_error = { path = "common/pretty_reqwest_error" }
|
|
proto_array = { path = "consensus/proto_array" }
|
|
safe_arith = { path = "consensus/safe_arith" }
|
|
sensitive_url = { path = "common/sensitive_url" }
|
|
slasher = { path = "slasher" }
|
|
slashing_protection = { path = "validator_client/slashing_protection" }
|
|
slot_clock = { path = "common/slot_clock" }
|
|
state_processing = { path = "consensus/state_processing" }
|
|
store = { path = "beacon_node/store" }
|
|
swap_or_not_shuffle = { path = "consensus/swap_or_not_shuffle" }
|
|
task_executor = { path = "common/task_executor" }
|
|
types = { path = "consensus/types" }
|
|
unused_port = { path = "common/unused_port" }
|
|
validator_client = { path = "validator_client" }
|
|
validator_dir = { path = "common/validator_dir" }
|
|
warp_utils = { path = "common/warp_utils" }
|
|
|
|
[profile.maxperf]
|
|
inherits = "release"
|
|
lto = "fat"
|
|
codegen-units = 1
|
|
incremental = false
|