2019-12-09 11:39:44 +00:00
|
|
|
# This file is automatically @generated by Cargo.
|
|
|
|
# It is not intended for manual editing.
|
2021-06-30 04:56:22 +00:00
|
|
|
version = 3
|
|
|
|
|
2019-12-09 11:39:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "account_manager"
|
2020-11-18 00:44:28 +00:00
|
|
|
version = "0.3.5"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2020-07-22 09:34:55 +00:00
|
|
|
"account_utils",
|
2020-05-10 09:56:31 +00:00
|
|
|
"bls",
|
|
|
|
"clap",
|
|
|
|
"clap_utils",
|
2020-09-29 00:02:44 +00:00
|
|
|
"directory",
|
2020-05-10 09:56:31 +00:00
|
|
|
"environment",
|
2020-10-29 23:25:19 +00:00
|
|
|
"eth2",
|
Wallet-based, encrypted key management (#1138)
* Update hashmap hashset to stable futures
* Adds panic test to hashset delay
* Port remote_beacon_node to stable futures
* Fix lcli merge conflicts
* Non rpc stuff compiles
* Remove padding
* Add error enum, zeroize more things
* Fix comment
* protocol.rs compiles
* Port websockets, timer and notifier to stable futures (#1035)
* Fix lcli
* Port timer to stable futures
* Fix timer
* Port websocket_server to stable futures
* Port notifier to stable futures
* Add TODOS
* Port remote_beacon_node to stable futures
* Partial eth2-libp2p stable future upgrade
* Finished first round of fighting RPC types
* Further progress towards porting eth2-libp2p adds caching to discovery
* Update behaviour
* Add keystore builder
* Remove keystore stuff from val client
* Add more tests, comments
* RPC handler to stable futures
* Update RPC to master libp2p
* Add more comments, test vectors
* Network service additions
* Progress on improving JSON validation
* More JSON verification
* Start moving JSON into own mod
* Remove old code
* Add more tests, reader/writers
* Tidy
* Move keystore into own file
* Move more logic into keystore file
* Tidy
* Tidy
* Fix the fallback transport construction (#1102)
* Allow for odd-character hex
* Correct warning
* Remove hashmap delay
* Compiling version of eth2-libp2p
* Update all crates versions
* Fix conversion function and add tests (#1113)
* Add more json missing field checks
* Use scrypt by default
* Tidy, address comments
* Test path and uuid in vectors
* Fix comment
* Add checks for kdf params
* Enforce empty kdf message
* Port validator_client to stable futures (#1114)
* Add PH & MS slot clock changes
* Account for genesis time
* Add progress on duties refactor
* Add simple is_aggregator bool to val subscription
* Start work on attestation_verification.rs
* Add progress on ObservedAttestations
* Progress with ObservedAttestations
* Fix tests
* Add observed attestations to the beacon chain
* Add attestation observation to processing code
* Add progress on attestation verification
* Add first draft of ObservedAttesters
* Add more tests
* Add observed attesters to beacon chain
* Add observers to attestation processing
* Add more attestation verification
* Create ObservedAggregators map
* Remove commented-out code
* Add observed aggregators into chain
* Add progress
* Finish adding features to attestation verification
* Ensure beacon chain compiles
* Link attn verification into chain
* Integrate new attn verification in chain
* Remove old attestation processing code
* Start trying to fix beacon_chain tests
* Split adding into pools into two functions
* Add aggregation to harness
* Get test harness working again
* Adjust the number of aggregators for test harness
* Fix edge-case in harness
* Integrate new attn processing in network
* Fix compile bug in validator_client
* Update validator API endpoints
* Fix aggreagation in test harness
* Fix enum thing
* Fix attestation observation bug:
* Patch failing API tests
* Start adding comments to attestation verification
* Remove unused attestation field
* Unify "is block known" logic
* Update comments
* Supress fork choice errors for network processing
* Add todos
* Tidy
* Add gossip attn tests
* Disallow test harness to produce old attns
* Comment out in-progress tests
* Partially address pruning tests
* Fix failing store test
* Add aggregate tests
* Add comments about which spec conditions we check
* Dont re-aggregate
* Split apart test harness attn production
* Fix compile error in network
* Make progress on commented-out test
* Fix skipping attestation test
* Add fork choice verification tests
* Tidy attn tests, remove dead code
* Remove some accidentally added code
* Fix clippy lint
* Rename test file
* Add block tests, add cheap block proposer check
* Rename block testing file
* Add observed_block_producers
* Tidy
* Switch around block signature verification
* Finish block testing
* Remove gossip from signature tests
* First pass of self review
* Fix deviation in spec
* Update test spec tags
* Start moving over to hashset
* Finish moving observed attesters to hashmap
* Move aggregation pool over to hashmap
* Make fc attn borrow again
* Fix rest_api compile error
* Fix missing comments
* Fix monster test
* Uncomment increasing slots test
* Address remaining comments
* Remove unsafe, use cfg test
* Remove cfg test flag
* Fix dodgy comment
* Revert "Update hashmap hashset to stable futures"
This reverts commit d432378a3cc5cd67fc29c0b15b96b886c1323554.
* Revert "Adds panic test to hashset delay"
This reverts commit 281502396fc5b90d9c421a309c2c056982c9525b.
* Ported attestation_service
* Ported duties_service
* Ported fork_service
* More ports
* Port block_service
* Minor fixes
* VC compiles
* Update TODOS
* Borrow self where possible
* Ignore aggregates that are already known.
* Unify aggregator modulo logic
* Fix typo in logs
* Refactor validator subscription logic
* Avoid reproducing selection proof
* Skip HTTP call if no subscriptions
* Rename DutyAndState -> DutyAndProof
* Tidy logs
* Print root as dbg
* Fix compile errors in tests
* Fix compile error in test
* Re-Fix attestation and duties service
* Minor fixes
Co-authored-by: Paul Hauner <paul@paulhauner.com>
* Expose json_keystore mod
* First commits on path derivation
* Progress with implementation
* More progress
* Passing intermediate test vectors
* Tidy, add comments
* Add DerivedKey structs
* Move key derivation into own crate
* Add zeroize structs
* Return error for empty seed
* Add tests
* Tidy
* First commits on path derivation
* Progress with implementation
* Move key derivation into own crate
* Start defining JSON wallet
* Add progress
* Split out encrypt/decrypt
* First commits on path derivation
* Progress with implementation
* More progress
* Passing intermediate test vectors
* Tidy, add comments
* Add DerivedKey structs
* Move key derivation into own crate
* Add zeroize structs
* Return error for empty seed
* Add tests
* Tidy
* Add progress
* Replace some password usage with slice
* First commits on path derivation
* Progress with implementation
* More progress
* Passing intermediate test vectors
* Tidy, add comments
* Add DerivedKey structs
* Move key derivation into own crate
* Add zeroize structs
* Return error for empty seed
* Add tests
* Tidy
* Add progress
* Expose PlainText struct
* First commits on path derivation
* Progress with implementation
* More progress
* Passing intermediate test vectors
* Tidy, add comments
* Add DerivedKey structs
* Move key derivation into own crate
* Add zeroize structs
* Return error for empty seed
* Add tests
* Tidy
* Add builder
* Expose consts, remove Password
* Minor progress
* Expose SALT_SIZE
* First compiling version
* Add test vectors
* Network crate update to stable futures
* Move dbg assert statement
* Port account_manager to stable futures (#1121)
* Port account_manager to stable futures
* Run async fns in tokio environment
* Port rest_api crate to stable futures (#1118)
* Port rest_api lib to stable futures
* Reduce tokio features
* Update notifier to stable futures
* Builder update
* Further updates
* Add mnemonic, tidy
* Convert self referential async functions
* Tidy
* Add testing
* Add first attempt at validator_dir
* Present pubkey field
* stable futures fixes (#1124)
* Fix eth1 update functions
* Fix genesis and client
* Fix beacon node lib
* Return appropriate runtimes from environment
* Fix test rig
* Refactor eth1 service update
* Upgrade simulator to stable futures
* Lighthouse compiles on stable futures
* Add first pass of wallet manager
* Progress with CLI
* Remove println debugging statement
* Tidy output
* Tidy 600 perms
* Update libp2p service, start rpc test upgrade
* Add validator creation flow
* Update network crate for new libp2p
* Start tidying, adding comments
* Update tokio::codec to futures_codec (#1128)
* Further work towards RPC corrections
* Correct http timeout and network service select
* Add wallet mgr testing
* Shift LockedWallet into own file
* Add comments to fs
* Start integration into VC
* Use tokio runtime for libp2p
* Revert "Update tokio::codec to futures_codec (#1128)"
This reverts commit e57aea924acf5cbabdcea18895ac07e38a425ed7.
* Upgrade RPC libp2p tests
* Upgrade secio fallback test
* Add lcli keypair upgrade command
* Upgrade gossipsub examples
* Clean up RPC protocol
* Test fixes (#1133)
* Correct websocket timeout and run on os thread
* Fix network test
* Add --secrets-dir to VC
* Remove --legacy-keys from VC
* Clean up PR
* Correct tokio tcp move attestation service tests
* Upgrade attestation service tests
* Fix sim
* Correct network test
* Correct genesis test
* Start docs
* Add progress for validator generation
* Tidy error messages
* Test corrections
* Log info when block is received
* Modify logs and update attester service events
* Stable futures: fixes to vc, eth1 and account manager (#1142)
* Add local testnet scripts
* Remove whiteblock script
* Rename local testnet script
* Move spawns onto handle
* Fix VC panic
* Initial fix to block production issue
* Tidy block producer fix
* Tidy further
* Add local testnet clean script
* Run cargo fmt
* Tidy duties service
* Tidy fork service
* Tidy ForkService
* Tidy AttestationService
* Tidy notifier
* Ensure await is not suppressed in eth1
* Ensure await is not suppressed in account_manager
* Use .ok() instead of .unwrap_or(())
* RPC decoding test for proto
* Update discv5 and eth2-libp2p deps
* Run cargo fmt
* Pre-build keystores for sim
* Fix lcli double runtime issue (#1144)
* Handle stream termination and dialing peer errors
* Correct peer_info variant types
* Add progress on new deposit flow
* Remove unnecessary warnings
* Handle subnet unsubscription removal and improve logigng
* Add logs around ping
* Upgrade discv5 and improve logging
* Handle peer connection status for multiple connections
* Improve network service logging
* Add more incomplete progress
* Improve logging around peer manager
* Upgrade swarm poll centralise peer management
* Identify clients on error
* Fix `remove_peer` in sync (#1150)
* remove_peer removes from all chains
* Remove logs
* Fix early return from loop
* Improved logging, fix panic
* Partially correct tests
* Add deposit command
* Remove old validator directory
* Start adding AM tests
* Stable futures: Vc sync (#1149)
* Improve syncing heuristic
* Add comments
* Use safer method for tolerance
* Fix tests
* Binary testing progress
* Progress with CLI tests
* Use constants for flags
* More account manager testing
* Improve CLI tests
* Move upgrade-legacy-keypairs into account man
* Use rayon for VC key generation
* Add comments to `validator_dir`
* Add testing to validator_dir
* Add fix to eth1-sim
* Check errors in eth1-sim
* Fix mutability issue
* Ensure password file ends in .pass
* Add more tests to wallet manager
* Tidy deposit
* Tidy account manager
* Tidy account manager
* Remove panic
* Generate keypairs earlier in sim
* Tidy eth1-sime
* Try to fix eth1 sim
* Address review comments
* Fix typo in CLI command
* Update docs
* Disable eth1 sim
* Remove eth1 sim completely
Co-authored-by: Age Manning <Age@AgeManning.com>
Co-authored-by: pawanjay176 <pawandhananjay@gmail.com>
2020-05-18 09:01:45 +00:00
|
|
|
"eth2_keystore",
|
2020-12-08 05:41:10 +00:00
|
|
|
"eth2_network_config",
|
Wallet-based, encrypted key management (#1138)
* Update hashmap hashset to stable futures
* Adds panic test to hashset delay
* Port remote_beacon_node to stable futures
* Fix lcli merge conflicts
* Non rpc stuff compiles
* Remove padding
* Add error enum, zeroize more things
* Fix comment
* protocol.rs compiles
* Port websockets, timer and notifier to stable futures (#1035)
* Fix lcli
* Port timer to stable futures
* Fix timer
* Port websocket_server to stable futures
* Port notifier to stable futures
* Add TODOS
* Port remote_beacon_node to stable futures
* Partial eth2-libp2p stable future upgrade
* Finished first round of fighting RPC types
* Further progress towards porting eth2-libp2p adds caching to discovery
* Update behaviour
* Add keystore builder
* Remove keystore stuff from val client
* Add more tests, comments
* RPC handler to stable futures
* Update RPC to master libp2p
* Add more comments, test vectors
* Network service additions
* Progress on improving JSON validation
* More JSON verification
* Start moving JSON into own mod
* Remove old code
* Add more tests, reader/writers
* Tidy
* Move keystore into own file
* Move more logic into keystore file
* Tidy
* Tidy
* Fix the fallback transport construction (#1102)
* Allow for odd-character hex
* Correct warning
* Remove hashmap delay
* Compiling version of eth2-libp2p
* Update all crates versions
* Fix conversion function and add tests (#1113)
* Add more json missing field checks
* Use scrypt by default
* Tidy, address comments
* Test path and uuid in vectors
* Fix comment
* Add checks for kdf params
* Enforce empty kdf message
* Port validator_client to stable futures (#1114)
* Add PH & MS slot clock changes
* Account for genesis time
* Add progress on duties refactor
* Add simple is_aggregator bool to val subscription
* Start work on attestation_verification.rs
* Add progress on ObservedAttestations
* Progress with ObservedAttestations
* Fix tests
* Add observed attestations to the beacon chain
* Add attestation observation to processing code
* Add progress on attestation verification
* Add first draft of ObservedAttesters
* Add more tests
* Add observed attesters to beacon chain
* Add observers to attestation processing
* Add more attestation verification
* Create ObservedAggregators map
* Remove commented-out code
* Add observed aggregators into chain
* Add progress
* Finish adding features to attestation verification
* Ensure beacon chain compiles
* Link attn verification into chain
* Integrate new attn verification in chain
* Remove old attestation processing code
* Start trying to fix beacon_chain tests
* Split adding into pools into two functions
* Add aggregation to harness
* Get test harness working again
* Adjust the number of aggregators for test harness
* Fix edge-case in harness
* Integrate new attn processing in network
* Fix compile bug in validator_client
* Update validator API endpoints
* Fix aggreagation in test harness
* Fix enum thing
* Fix attestation observation bug:
* Patch failing API tests
* Start adding comments to attestation verification
* Remove unused attestation field
* Unify "is block known" logic
* Update comments
* Supress fork choice errors for network processing
* Add todos
* Tidy
* Add gossip attn tests
* Disallow test harness to produce old attns
* Comment out in-progress tests
* Partially address pruning tests
* Fix failing store test
* Add aggregate tests
* Add comments about which spec conditions we check
* Dont re-aggregate
* Split apart test harness attn production
* Fix compile error in network
* Make progress on commented-out test
* Fix skipping attestation test
* Add fork choice verification tests
* Tidy attn tests, remove dead code
* Remove some accidentally added code
* Fix clippy lint
* Rename test file
* Add block tests, add cheap block proposer check
* Rename block testing file
* Add observed_block_producers
* Tidy
* Switch around block signature verification
* Finish block testing
* Remove gossip from signature tests
* First pass of self review
* Fix deviation in spec
* Update test spec tags
* Start moving over to hashset
* Finish moving observed attesters to hashmap
* Move aggregation pool over to hashmap
* Make fc attn borrow again
* Fix rest_api compile error
* Fix missing comments
* Fix monster test
* Uncomment increasing slots test
* Address remaining comments
* Remove unsafe, use cfg test
* Remove cfg test flag
* Fix dodgy comment
* Revert "Update hashmap hashset to stable futures"
This reverts commit d432378a3cc5cd67fc29c0b15b96b886c1323554.
* Revert "Adds panic test to hashset delay"
This reverts commit 281502396fc5b90d9c421a309c2c056982c9525b.
* Ported attestation_service
* Ported duties_service
* Ported fork_service
* More ports
* Port block_service
* Minor fixes
* VC compiles
* Update TODOS
* Borrow self where possible
* Ignore aggregates that are already known.
* Unify aggregator modulo logic
* Fix typo in logs
* Refactor validator subscription logic
* Avoid reproducing selection proof
* Skip HTTP call if no subscriptions
* Rename DutyAndState -> DutyAndProof
* Tidy logs
* Print root as dbg
* Fix compile errors in tests
* Fix compile error in test
* Re-Fix attestation and duties service
* Minor fixes
Co-authored-by: Paul Hauner <paul@paulhauner.com>
* Expose json_keystore mod
* First commits on path derivation
* Progress with implementation
* More progress
* Passing intermediate test vectors
* Tidy, add comments
* Add DerivedKey structs
* Move key derivation into own crate
* Add zeroize structs
* Return error for empty seed
* Add tests
* Tidy
* First commits on path derivation
* Progress with implementation
* Move key derivation into own crate
* Start defining JSON wallet
* Add progress
* Split out encrypt/decrypt
* First commits on path derivation
* Progress with implementation
* More progress
* Passing intermediate test vectors
* Tidy, add comments
* Add DerivedKey structs
* Move key derivation into own crate
* Add zeroize structs
* Return error for empty seed
* Add tests
* Tidy
* Add progress
* Replace some password usage with slice
* First commits on path derivation
* Progress with implementation
* More progress
* Passing intermediate test vectors
* Tidy, add comments
* Add DerivedKey structs
* Move key derivation into own crate
* Add zeroize structs
* Return error for empty seed
* Add tests
* Tidy
* Add progress
* Expose PlainText struct
* First commits on path derivation
* Progress with implementation
* More progress
* Passing intermediate test vectors
* Tidy, add comments
* Add DerivedKey structs
* Move key derivation into own crate
* Add zeroize structs
* Return error for empty seed
* Add tests
* Tidy
* Add builder
* Expose consts, remove Password
* Minor progress
* Expose SALT_SIZE
* First compiling version
* Add test vectors
* Network crate update to stable futures
* Move dbg assert statement
* Port account_manager to stable futures (#1121)
* Port account_manager to stable futures
* Run async fns in tokio environment
* Port rest_api crate to stable futures (#1118)
* Port rest_api lib to stable futures
* Reduce tokio features
* Update notifier to stable futures
* Builder update
* Further updates
* Add mnemonic, tidy
* Convert self referential async functions
* Tidy
* Add testing
* Add first attempt at validator_dir
* Present pubkey field
* stable futures fixes (#1124)
* Fix eth1 update functions
* Fix genesis and client
* Fix beacon node lib
* Return appropriate runtimes from environment
* Fix test rig
* Refactor eth1 service update
* Upgrade simulator to stable futures
* Lighthouse compiles on stable futures
* Add first pass of wallet manager
* Progress with CLI
* Remove println debugging statement
* Tidy output
* Tidy 600 perms
* Update libp2p service, start rpc test upgrade
* Add validator creation flow
* Update network crate for new libp2p
* Start tidying, adding comments
* Update tokio::codec to futures_codec (#1128)
* Further work towards RPC corrections
* Correct http timeout and network service select
* Add wallet mgr testing
* Shift LockedWallet into own file
* Add comments to fs
* Start integration into VC
* Use tokio runtime for libp2p
* Revert "Update tokio::codec to futures_codec (#1128)"
This reverts commit e57aea924acf5cbabdcea18895ac07e38a425ed7.
* Upgrade RPC libp2p tests
* Upgrade secio fallback test
* Add lcli keypair upgrade command
* Upgrade gossipsub examples
* Clean up RPC protocol
* Test fixes (#1133)
* Correct websocket timeout and run on os thread
* Fix network test
* Add --secrets-dir to VC
* Remove --legacy-keys from VC
* Clean up PR
* Correct tokio tcp move attestation service tests
* Upgrade attestation service tests
* Fix sim
* Correct network test
* Correct genesis test
* Start docs
* Add progress for validator generation
* Tidy error messages
* Test corrections
* Log info when block is received
* Modify logs and update attester service events
* Stable futures: fixes to vc, eth1 and account manager (#1142)
* Add local testnet scripts
* Remove whiteblock script
* Rename local testnet script
* Move spawns onto handle
* Fix VC panic
* Initial fix to block production issue
* Tidy block producer fix
* Tidy further
* Add local testnet clean script
* Run cargo fmt
* Tidy duties service
* Tidy fork service
* Tidy ForkService
* Tidy AttestationService
* Tidy notifier
* Ensure await is not suppressed in eth1
* Ensure await is not suppressed in account_manager
* Use .ok() instead of .unwrap_or(())
* RPC decoding test for proto
* Update discv5 and eth2-libp2p deps
* Run cargo fmt
* Pre-build keystores for sim
* Fix lcli double runtime issue (#1144)
* Handle stream termination and dialing peer errors
* Correct peer_info variant types
* Add progress on new deposit flow
* Remove unnecessary warnings
* Handle subnet unsubscription removal and improve logigng
* Add logs around ping
* Upgrade discv5 and improve logging
* Handle peer connection status for multiple connections
* Improve network service logging
* Add more incomplete progress
* Improve logging around peer manager
* Upgrade swarm poll centralise peer management
* Identify clients on error
* Fix `remove_peer` in sync (#1150)
* remove_peer removes from all chains
* Remove logs
* Fix early return from loop
* Improved logging, fix panic
* Partially correct tests
* Add deposit command
* Remove old validator directory
* Start adding AM tests
* Stable futures: Vc sync (#1149)
* Improve syncing heuristic
* Add comments
* Use safer method for tolerance
* Fix tests
* Binary testing progress
* Progress with CLI tests
* Use constants for flags
* More account manager testing
* Improve CLI tests
* Move upgrade-legacy-keypairs into account man
* Use rayon for VC key generation
* Add comments to `validator_dir`
* Add testing to validator_dir
* Add fix to eth1-sim
* Check errors in eth1-sim
* Fix mutability issue
* Ensure password file ends in .pass
* Add more tests to wallet manager
* Tidy deposit
* Tidy account manager
* Tidy account manager
* Remove panic
* Generate keypairs earlier in sim
* Tidy eth1-sime
* Try to fix eth1 sim
* Address review comments
* Fix typo in CLI command
* Update docs
* Disable eth1 sim
* Remove eth1 sim completely
Co-authored-by: Age Manning <Age@AgeManning.com>
Co-authored-by: pawanjay176 <pawandhananjay@gmail.com>
2020-05-18 09:01:45 +00:00
|
|
|
"eth2_wallet",
|
|
|
|
"eth2_wallet_manager",
|
2021-05-19 23:05:16 +00:00
|
|
|
"filesystem",
|
2020-10-29 23:25:19 +00:00
|
|
|
"safe_arith",
|
2021-05-04 01:59:51 +00:00
|
|
|
"sensitive_url",
|
2020-10-02 01:42:27 +00:00
|
|
|
"slashing_protection",
|
2020-10-29 23:25:19 +00:00
|
|
|
"slot_clock",
|
|
|
|
"tempfile",
|
2021-08-17 01:00:24 +00:00
|
|
|
"tokio",
|
2020-05-10 09:56:31 +00:00
|
|
|
"types",
|
Wallet-based, encrypted key management (#1138)
* Update hashmap hashset to stable futures
* Adds panic test to hashset delay
* Port remote_beacon_node to stable futures
* Fix lcli merge conflicts
* Non rpc stuff compiles
* Remove padding
* Add error enum, zeroize more things
* Fix comment
* protocol.rs compiles
* Port websockets, timer and notifier to stable futures (#1035)
* Fix lcli
* Port timer to stable futures
* Fix timer
* Port websocket_server to stable futures
* Port notifier to stable futures
* Add TODOS
* Port remote_beacon_node to stable futures
* Partial eth2-libp2p stable future upgrade
* Finished first round of fighting RPC types
* Further progress towards porting eth2-libp2p adds caching to discovery
* Update behaviour
* Add keystore builder
* Remove keystore stuff from val client
* Add more tests, comments
* RPC handler to stable futures
* Update RPC to master libp2p
* Add more comments, test vectors
* Network service additions
* Progress on improving JSON validation
* More JSON verification
* Start moving JSON into own mod
* Remove old code
* Add more tests, reader/writers
* Tidy
* Move keystore into own file
* Move more logic into keystore file
* Tidy
* Tidy
* Fix the fallback transport construction (#1102)
* Allow for odd-character hex
* Correct warning
* Remove hashmap delay
* Compiling version of eth2-libp2p
* Update all crates versions
* Fix conversion function and add tests (#1113)
* Add more json missing field checks
* Use scrypt by default
* Tidy, address comments
* Test path and uuid in vectors
* Fix comment
* Add checks for kdf params
* Enforce empty kdf message
* Port validator_client to stable futures (#1114)
* Add PH & MS slot clock changes
* Account for genesis time
* Add progress on duties refactor
* Add simple is_aggregator bool to val subscription
* Start work on attestation_verification.rs
* Add progress on ObservedAttestations
* Progress with ObservedAttestations
* Fix tests
* Add observed attestations to the beacon chain
* Add attestation observation to processing code
* Add progress on attestation verification
* Add first draft of ObservedAttesters
* Add more tests
* Add observed attesters to beacon chain
* Add observers to attestation processing
* Add more attestation verification
* Create ObservedAggregators map
* Remove commented-out code
* Add observed aggregators into chain
* Add progress
* Finish adding features to attestation verification
* Ensure beacon chain compiles
* Link attn verification into chain
* Integrate new attn verification in chain
* Remove old attestation processing code
* Start trying to fix beacon_chain tests
* Split adding into pools into two functions
* Add aggregation to harness
* Get test harness working again
* Adjust the number of aggregators for test harness
* Fix edge-case in harness
* Integrate new attn processing in network
* Fix compile bug in validator_client
* Update validator API endpoints
* Fix aggreagation in test harness
* Fix enum thing
* Fix attestation observation bug:
* Patch failing API tests
* Start adding comments to attestation verification
* Remove unused attestation field
* Unify "is block known" logic
* Update comments
* Supress fork choice errors for network processing
* Add todos
* Tidy
* Add gossip attn tests
* Disallow test harness to produce old attns
* Comment out in-progress tests
* Partially address pruning tests
* Fix failing store test
* Add aggregate tests
* Add comments about which spec conditions we check
* Dont re-aggregate
* Split apart test harness attn production
* Fix compile error in network
* Make progress on commented-out test
* Fix skipping attestation test
* Add fork choice verification tests
* Tidy attn tests, remove dead code
* Remove some accidentally added code
* Fix clippy lint
* Rename test file
* Add block tests, add cheap block proposer check
* Rename block testing file
* Add observed_block_producers
* Tidy
* Switch around block signature verification
* Finish block testing
* Remove gossip from signature tests
* First pass of self review
* Fix deviation in spec
* Update test spec tags
* Start moving over to hashset
* Finish moving observed attesters to hashmap
* Move aggregation pool over to hashmap
* Make fc attn borrow again
* Fix rest_api compile error
* Fix missing comments
* Fix monster test
* Uncomment increasing slots test
* Address remaining comments
* Remove unsafe, use cfg test
* Remove cfg test flag
* Fix dodgy comment
* Revert "Update hashmap hashset to stable futures"
This reverts commit d432378a3cc5cd67fc29c0b15b96b886c1323554.
* Revert "Adds panic test to hashset delay"
This reverts commit 281502396fc5b90d9c421a309c2c056982c9525b.
* Ported attestation_service
* Ported duties_service
* Ported fork_service
* More ports
* Port block_service
* Minor fixes
* VC compiles
* Update TODOS
* Borrow self where possible
* Ignore aggregates that are already known.
* Unify aggregator modulo logic
* Fix typo in logs
* Refactor validator subscription logic
* Avoid reproducing selection proof
* Skip HTTP call if no subscriptions
* Rename DutyAndState -> DutyAndProof
* Tidy logs
* Print root as dbg
* Fix compile errors in tests
* Fix compile error in test
* Re-Fix attestation and duties service
* Minor fixes
Co-authored-by: Paul Hauner <paul@paulhauner.com>
* Expose json_keystore mod
* First commits on path derivation
* Progress with implementation
* More progress
* Passing intermediate test vectors
* Tidy, add comments
* Add DerivedKey structs
* Move key derivation into own crate
* Add zeroize structs
* Return error for empty seed
* Add tests
* Tidy
* First commits on path derivation
* Progress with implementation
* Move key derivation into own crate
* Start defining JSON wallet
* Add progress
* Split out encrypt/decrypt
* First commits on path derivation
* Progress with implementation
* More progress
* Passing intermediate test vectors
* Tidy, add comments
* Add DerivedKey structs
* Move key derivation into own crate
* Add zeroize structs
* Return error for empty seed
* Add tests
* Tidy
* Add progress
* Replace some password usage with slice
* First commits on path derivation
* Progress with implementation
* More progress
* Passing intermediate test vectors
* Tidy, add comments
* Add DerivedKey structs
* Move key derivation into own crate
* Add zeroize structs
* Return error for empty seed
* Add tests
* Tidy
* Add progress
* Expose PlainText struct
* First commits on path derivation
* Progress with implementation
* More progress
* Passing intermediate test vectors
* Tidy, add comments
* Add DerivedKey structs
* Move key derivation into own crate
* Add zeroize structs
* Return error for empty seed
* Add tests
* Tidy
* Add builder
* Expose consts, remove Password
* Minor progress
* Expose SALT_SIZE
* First compiling version
* Add test vectors
* Network crate update to stable futures
* Move dbg assert statement
* Port account_manager to stable futures (#1121)
* Port account_manager to stable futures
* Run async fns in tokio environment
* Port rest_api crate to stable futures (#1118)
* Port rest_api lib to stable futures
* Reduce tokio features
* Update notifier to stable futures
* Builder update
* Further updates
* Add mnemonic, tidy
* Convert self referential async functions
* Tidy
* Add testing
* Add first attempt at validator_dir
* Present pubkey field
* stable futures fixes (#1124)
* Fix eth1 update functions
* Fix genesis and client
* Fix beacon node lib
* Return appropriate runtimes from environment
* Fix test rig
* Refactor eth1 service update
* Upgrade simulator to stable futures
* Lighthouse compiles on stable futures
* Add first pass of wallet manager
* Progress with CLI
* Remove println debugging statement
* Tidy output
* Tidy 600 perms
* Update libp2p service, start rpc test upgrade
* Add validator creation flow
* Update network crate for new libp2p
* Start tidying, adding comments
* Update tokio::codec to futures_codec (#1128)
* Further work towards RPC corrections
* Correct http timeout and network service select
* Add wallet mgr testing
* Shift LockedWallet into own file
* Add comments to fs
* Start integration into VC
* Use tokio runtime for libp2p
* Revert "Update tokio::codec to futures_codec (#1128)"
This reverts commit e57aea924acf5cbabdcea18895ac07e38a425ed7.
* Upgrade RPC libp2p tests
* Upgrade secio fallback test
* Add lcli keypair upgrade command
* Upgrade gossipsub examples
* Clean up RPC protocol
* Test fixes (#1133)
* Correct websocket timeout and run on os thread
* Fix network test
* Add --secrets-dir to VC
* Remove --legacy-keys from VC
* Clean up PR
* Correct tokio tcp move attestation service tests
* Upgrade attestation service tests
* Fix sim
* Correct network test
* Correct genesis test
* Start docs
* Add progress for validator generation
* Tidy error messages
* Test corrections
* Log info when block is received
* Modify logs and update attester service events
* Stable futures: fixes to vc, eth1 and account manager (#1142)
* Add local testnet scripts
* Remove whiteblock script
* Rename local testnet script
* Move spawns onto handle
* Fix VC panic
* Initial fix to block production issue
* Tidy block producer fix
* Tidy further
* Add local testnet clean script
* Run cargo fmt
* Tidy duties service
* Tidy fork service
* Tidy ForkService
* Tidy AttestationService
* Tidy notifier
* Ensure await is not suppressed in eth1
* Ensure await is not suppressed in account_manager
* Use .ok() instead of .unwrap_or(())
* RPC decoding test for proto
* Update discv5 and eth2-libp2p deps
* Run cargo fmt
* Pre-build keystores for sim
* Fix lcli double runtime issue (#1144)
* Handle stream termination and dialing peer errors
* Correct peer_info variant types
* Add progress on new deposit flow
* Remove unnecessary warnings
* Handle subnet unsubscription removal and improve logigng
* Add logs around ping
* Upgrade discv5 and improve logging
* Handle peer connection status for multiple connections
* Improve network service logging
* Add more incomplete progress
* Improve logging around peer manager
* Upgrade swarm poll centralise peer management
* Identify clients on error
* Fix `remove_peer` in sync (#1150)
* remove_peer removes from all chains
* Remove logs
* Fix early return from loop
* Improved logging, fix panic
* Partially correct tests
* Add deposit command
* Remove old validator directory
* Start adding AM tests
* Stable futures: Vc sync (#1149)
* Improve syncing heuristic
* Add comments
* Use safer method for tolerance
* Fix tests
* Binary testing progress
* Progress with CLI tests
* Use constants for flags
* More account manager testing
* Improve CLI tests
* Move upgrade-legacy-keypairs into account man
* Use rayon for VC key generation
* Add comments to `validator_dir`
* Add testing to validator_dir
* Add fix to eth1-sim
* Check errors in eth1-sim
* Fix mutability issue
* Ensure password file ends in .pass
* Add more tests to wallet manager
* Tidy deposit
* Tidy account manager
* Tidy account manager
* Remove panic
* Generate keypairs earlier in sim
* Tidy eth1-sime
* Try to fix eth1 sim
* Address review comments
* Fix typo in CLI command
* Update docs
* Disable eth1 sim
* Remove eth1 sim completely
Co-authored-by: Age Manning <Age@AgeManning.com>
Co-authored-by: pawanjay176 <pawandhananjay@gmail.com>
2020-05-18 09:01:45 +00:00
|
|
|
"validator_dir",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
2020-07-22 09:34:55 +00:00
|
|
|
[[package]]
|
|
|
|
name = "account_utils"
|
|
|
|
version = "0.1.0"
|
|
|
|
dependencies = [
|
2020-10-08 21:01:32 +00:00
|
|
|
"directory",
|
2020-07-22 09:34:55 +00:00
|
|
|
"eth2_keystore",
|
|
|
|
"eth2_wallet",
|
2021-05-19 23:05:16 +00:00
|
|
|
"filesystem",
|
2020-07-22 09:34:55 +00:00
|
|
|
"rand 0.7.3",
|
2020-07-29 04:32:50 +00:00
|
|
|
"regex",
|
|
|
|
"rpassword",
|
2020-07-22 09:34:55 +00:00
|
|
|
"serde",
|
|
|
|
"serde_derive",
|
2020-07-29 04:32:50 +00:00
|
|
|
"serde_yaml",
|
|
|
|
"slog",
|
|
|
|
"types",
|
|
|
|
"validator_dir",
|
2020-07-22 09:34:55 +00:00
|
|
|
"zeroize",
|
|
|
|
]
|
|
|
|
|
2020-05-26 20:34:15 +00:00
|
|
|
[[package]]
|
|
|
|
name = "addr2line"
|
2021-11-18 05:08:42 +00:00
|
|
|
version = "0.17.0"
|
2020-05-26 20:34:15 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-11-18 05:08:42 +00:00
|
|
|
checksum = "b9ecd88a8c8378ca913a680cd98f0f13ac67383d35993f86c90a70e3f137816b"
|
2020-05-26 20:34:15 +00:00
|
|
|
dependencies = [
|
|
|
|
"gimli",
|
|
|
|
]
|
|
|
|
|
2020-07-06 01:55:56 +00:00
|
|
|
[[package]]
|
|
|
|
name = "adler"
|
2021-03-02 05:59:49 +00:00
|
|
|
version = "1.0.2"
|
2020-07-06 01:55:56 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-03-02 05:59:49 +00:00
|
|
|
checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
|
2020-07-06 01:55:56 +00:00
|
|
|
|
2019-12-09 11:39:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "adler32"
|
2020-08-03 09:35:53 +00:00
|
|
|
version = "1.2.0"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2020-08-03 09:35:53 +00:00
|
|
|
checksum = "aae1277d39aeec15cb388266ecc24b11c80469deae6067e17a1a7aa9e5c1f234"
|
2019-12-09 11:39:44 +00:00
|
|
|
|
2020-06-29 10:25:42 +00:00
|
|
|
[[package]]
|
|
|
|
name = "aead"
|
2021-09-16 04:45:05 +00:00
|
|
|
version = "0.4.3"
|
2020-11-28 05:30:57 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-09-16 04:45:05 +00:00
|
|
|
checksum = "0b613b8e1e3cf911a086f53f03bf286f52fd7a7258e4fa606f0ef220d39d8877"
|
2020-11-28 05:30:57 +00:00
|
|
|
dependencies = [
|
2021-07-13 00:48:33 +00:00
|
|
|
"generic-array",
|
2021-06-02 01:07:28 +00:00
|
|
|
]
|
|
|
|
|
2020-11-28 05:30:57 +00:00
|
|
|
[[package]]
|
2021-07-05 00:54:17 +00:00
|
|
|
name = "aes"
|
2021-09-16 04:45:05 +00:00
|
|
|
version = "0.7.5"
|
2020-11-28 05:30:57 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-09-16 04:45:05 +00:00
|
|
|
checksum = "9e8b47f52ea9bae42228d07ec09eb676433d7c4ed1ebdf0f1d1c29ed446f1ab8"
|
2020-11-28 05:30:57 +00:00
|
|
|
dependencies = [
|
2021-11-18 05:08:42 +00:00
|
|
|
"cfg-if",
|
2021-08-17 01:00:24 +00:00
|
|
|
"cipher",
|
2021-09-16 04:45:05 +00:00
|
|
|
"cpufeatures 0.2.1",
|
|
|
|
"ctr",
|
2021-07-13 00:48:33 +00:00
|
|
|
"opaque-debug",
|
2020-11-28 05:30:57 +00:00
|
|
|
]
|
|
|
|
|
2021-06-02 01:07:28 +00:00
|
|
|
[[package]]
|
|
|
|
name = "aes-gcm"
|
2021-09-16 04:45:05 +00:00
|
|
|
version = "0.9.4"
|
2021-06-02 01:07:28 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-09-16 04:45:05 +00:00
|
|
|
checksum = "df5f85a83a7d8b0442b6aa7b504b8212c1733da07b98aae43d4bc21b2cb3cdf6"
|
2021-06-02 01:07:28 +00:00
|
|
|
dependencies = [
|
2021-06-03 01:11:33 +00:00
|
|
|
"aead",
|
|
|
|
"aes",
|
2021-08-17 01:00:24 +00:00
|
|
|
"cipher",
|
2021-09-16 04:45:05 +00:00
|
|
|
"ctr",
|
2021-06-03 01:11:33 +00:00
|
|
|
"ghash",
|
2021-07-13 00:48:33 +00:00
|
|
|
"subtle",
|
2020-06-29 10:25:42 +00:00
|
|
|
]
|
|
|
|
|
2020-10-09 02:05:30 +00:00
|
|
|
[[package]]
|
|
|
|
name = "ahash"
|
2021-10-17 04:04:36 +00:00
|
|
|
version = "0.7.6"
|
2020-10-09 02:05:30 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-10-17 04:04:36 +00:00
|
|
|
checksum = "fcb51a0695d8f838b1ee009b3fbf66bda078cd64590202a864a8f3e8c4315c47"
|
2021-08-17 01:00:24 +00:00
|
|
|
dependencies = [
|
2022-01-14 05:42:47 +00:00
|
|
|
"getrandom 0.2.4",
|
2021-08-17 01:00:24 +00:00
|
|
|
"once_cell",
|
|
|
|
"version_check",
|
|
|
|
]
|
2020-10-09 02:05:30 +00:00
|
|
|
|
2019-12-09 11:39:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "aho-corasick"
|
2021-05-04 00:44:05 +00:00
|
|
|
version = "0.7.18"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-05-04 00:44:05 +00:00
|
|
|
checksum = "1e37cfd5e7657ada45f742d6e99ca5788580b5c529dc78faf11ece6dc702656f"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2020-05-10 09:56:31 +00:00
|
|
|
"memchr",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "amcl"
|
2020-10-28 22:19:38 +00:00
|
|
|
version = "0.3.0"
|
2021-03-16 03:11:51 +00:00
|
|
|
source = "git+https://github.com/sigp/milagro_bls?tag=v1.4.2#16655aa033175a90c10ef02aa144e2835de23aec"
|
2019-12-09 11:39:44 +00:00
|
|
|
|
2020-10-23 04:16:33 +00:00
|
|
|
[[package]]
|
|
|
|
name = "ansi_term"
|
|
|
|
version = "0.12.1"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
checksum = "d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2"
|
|
|
|
dependencies = [
|
2021-07-09 03:20:24 +00:00
|
|
|
"winapi",
|
2020-10-23 04:16:33 +00:00
|
|
|
]
|
|
|
|
|
2020-05-17 11:16:48 +00:00
|
|
|
[[package]]
|
|
|
|
name = "anyhow"
|
2022-01-11 01:35:56 +00:00
|
|
|
version = "1.0.52"
|
2020-05-17 11:16:48 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2022-01-11 01:35:56 +00:00
|
|
|
checksum = "84450d0b4a8bd1ba4144ce8ce718fbc5d071358b1e5384bace6536b3d1f2d5b3"
|
2020-05-17 11:16:48 +00:00
|
|
|
|
2020-05-05 23:12:28 +00:00
|
|
|
[[package]]
|
|
|
|
name = "arbitrary"
|
2021-11-18 05:08:42 +00:00
|
|
|
version = "1.0.3"
|
2020-05-05 23:12:28 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-11-18 05:08:42 +00:00
|
|
|
checksum = "510c76ecefdceada737ea728f4f9a84bd2e1ef29f1ba555e560940fe279954de"
|
2020-05-05 23:12:28 +00:00
|
|
|
dependencies = [
|
2020-05-10 09:56:31 +00:00
|
|
|
"derive_arbitrary",
|
2020-05-05 23:12:28 +00:00
|
|
|
]
|
|
|
|
|
2019-12-09 11:39:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "arc-swap"
|
2021-11-18 05:08:42 +00:00
|
|
|
version = "1.5.0"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-11-18 05:08:42 +00:00
|
|
|
checksum = "c5d78ce20460b82d3fa150275ed9d55e21064fc7951177baacf86a145c4a4b1f"
|
2019-12-09 11:39:44 +00:00
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "arrayref"
|
Initial work towards v0.2.0 (#924)
* Remove ping protocol
* Initial renaming of network services
* Correct rebasing relative to latest master
* Start updating types
* Adds HashMapDelay struct to utils
* Initial network restructure
* Network restructure. Adds new types for v0.2.0
* Removes build artefacts
* Shift validation to beacon chain
* Temporarily remove gossip validation
This is to be updated to match current optimisation efforts.
* Adds AggregateAndProof
* Begin rebuilding pubsub encoding/decoding
* Signature hacking
* Shift gossipsup decoding into eth2_libp2p
* Existing EF tests passing with fake_crypto
* Shifts block encoding/decoding into RPC
* Delete outdated API spec
* All release tests passing bar genesis state parsing
* Update and test YamlConfig
* Update to spec v0.10 compatible BLS
* Updates to BLS EF tests
* Add EF test for AggregateVerify
And delete unused hash2curve tests for uncompressed points
* Update EF tests to v0.10.1
* Use optional block root correctly in block proc
* Use genesis fork in deposit domain. All tests pass
* Fast aggregate verify test
* Update REST API docs
* Fix unused import
* Bump spec tags to v0.10.1
* Add `seconds_per_eth1_block` to chainspec
* Update to timestamp based eth1 voting scheme
* Return None from `get_votes_to_consider` if block cache is empty
* Handle overflows in `is_candidate_block`
* Revert to failing tests
* Fix eth1 data sets test
* Choose default vote according to spec
* Fix collect_valid_votes tests
* Fix `get_votes_to_consider` to choose all eligible blocks
* Uncomment winning_vote tests
* Add comments; remove unused code
* Reduce seconds_per_eth1_block for simulation
* Addressed review comments
* Add test for default vote case
* Fix logs
* Remove unused functions
* Meter default eth1 votes
* Fix comments
* Progress on attestation service
* Address review comments; remove unused dependency
* Initial work on removing libp2p lock
* Add LRU caches to store (rollup)
* Update attestation validation for DB changes (WIP)
* Initial version of should_forward_block
* Scaffold
* Progress on attestation validation
Also, consolidate prod+testing slot clocks so that they share much
of the same implementation and can both handle sub-slot time changes.
* Removes lock from libp2p service
* Completed network lock removal
* Finish(?) attestation processing
* Correct network termination future
* Add slot check to block check
* Correct fmt issues
* Remove Drop implementation for network service
* Add first attempt at attestation proc. re-write
* Add version 2 of attestation processing
* Minor fixes
* Add validator pubkey cache
* Make get_indexed_attestation take a committee
* Link signature processing into new attn verification
* First working version
* Ensure pubkey cache is updated
* Add more metrics, slight optimizations
* Clone committee cache during attestation processing
* Update shuffling cache during block processing
* Remove old commented-out code
* Fix shuffling cache insert bug
* Used indexed attestation in fork choice
* Restructure attn processing, add metrics
* Add more detailed metrics
* Tidy, fix failing tests
* Fix failing tests, tidy
* Address reviewers suggestions
* Disable/delete two outdated tests
* Modification of validator for subscriptions
* Add slot signing to validator client
* Further progress on validation subscription
* Adds necessary validator subscription functionality
* Add new Pubkeys struct to signature_sets
* Refactor with functional approach
* Update beacon chain
* Clean up validator <-> beacon node http types
* Add aggregator status to ValidatorDuty
* Impl Clone for manual slot clock
* Fix minor errors
* Further progress validator client subscription
* Initial subscription and aggregation handling
* Remove decompressed member from pubkey bytes
* Progress to modifying val client for attestation aggregation
* First draft of validator client upgrade for aggregate attestations
* Add hashmap for indices lookup
* Add state cache, remove store cache
* Only build the head committee cache
* Removes lock on a network channel
* Partially implement beacon node subscription http api
* Correct compilation issues
* Change `get_attesting_indices` to use Vec
* Fix failing test
* Partial implementation of timer
* Adds timer, removes exit_future, http api to op pool
* Partial multiple aggregate attestation handling
* Permits bulk messages accross gossipsub network channel
* Correct compile issues
* Improve gosispsub messaging and correct rest api helpers
* Added global gossipsub subscriptions
* Update validator subscriptions data structs
* Tidy
* Re-structure validator subscriptions
* Initial handling of subscriptions
* Re-structure network service
* Add pubkey cache persistence file
* Add more comments
* Integrate persistence file into builder
* Add pubkey cache tests
* Add HashSetDelay and introduce into attestation service
* Handles validator subscriptions
* Add data_dir to beacon chain builder
* Remove Option in pubkey cache persistence file
* Ensure consistency between datadir/data_dir
* Fix failing network test
* Peer subnet discovery gets queued for future subscriptions
* Reorganise attestation service functions
* Initial wiring of attestation service
* First draft of attestation service timing logic
* Correct minor typos
* Tidy
* Fix todos
* Improve tests
* Add PeerInfo to connected peers mapping
* Fix compile error
* Fix compile error from merge
* Split up block processing metrics
* Tidy
* Refactor get_pubkey_from_state
* Remove commented-out code
* Rename state_cache -> checkpoint_cache
* Rename Checkpoint -> Snapshot
* Tidy, add comments
* Tidy up find_head function
* Change some checkpoint -> snapshot
* Add tests
* Expose max_len
* Remove dead code
* Tidy
* Fix bug
* Add sync-speed metric
* Add first attempt at VerifiableBlock
* Start integrating into beacon chain
* Integrate VerifiableBlock
* Rename VerifableBlock -> PartialBlockVerification
* Add start of typed methods
* Add progress
* Add further progress
* Rename structs
* Add full block verification to block_processing.rs
* Further beacon chain integration
* Update checks for gossip
* Add todo
* Start adding segement verification
* Add passing chain segement test
* Initial integration with batch sync
* Minor changes
* Tidy, add more error checking
* Start adding chain_segment tests
* Finish invalid signature tests
* Include single and gossip verified blocks in tests
* Add gossip verification tests
* Start adding docs
* Finish adding comments to block_processing.rs
* Rename block_processing.rs -> block_verification
* Start removing old block processing code
* Fixes beacon_chain compilation
* Fix project-wide compile errors
* Remove old code
* Correct code to pass all tests
* Fix bug with beacon proposer index
* Fix shim for BlockProcessingError
* Only process one epoch at a time
* Fix loop in chain segment processing
* Correct tests from master merge
* Add caching for state.eth1_data_votes
* Add BeaconChain::validator_pubkey
* Revert "Add caching for state.eth1_data_votes"
This reverts commit cd73dcd6434fb8d8e6bf30c5356355598ea7b78e.
Co-authored-by: Grant Wuerker <gwuerker@gmail.com>
Co-authored-by: Michael Sproul <michael@sigmaprime.io>
Co-authored-by: Michael Sproul <micsproul@gmail.com>
Co-authored-by: pawan <pawandhananjay@gmail.com>
Co-authored-by: Paul Hauner <paul@paulhauner.com>
2020-03-17 06:24:44 +00:00
|
|
|
version = "0.3.6"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2020-05-10 09:56:31 +00:00
|
|
|
checksum = "a4c527152e37cf757a3f78aae5a06fbeefdb07ccc535c980a3208ee3060dd544"
|
2019-12-09 11:39:44 +00:00
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "arrayvec"
|
2020-10-28 22:19:38 +00:00
|
|
|
version = "0.5.2"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2020-10-28 22:19:38 +00:00
|
|
|
checksum = "23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b"
|
2019-12-09 11:39:44 +00:00
|
|
|
|
2021-07-05 00:54:17 +00:00
|
|
|
[[package]]
|
|
|
|
name = "arrayvec"
|
2021-11-18 05:08:42 +00:00
|
|
|
version = "0.7.2"
|
2021-07-05 00:54:17 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-11-18 05:08:42 +00:00
|
|
|
checksum = "8da52d66c7071e2e3fa2a1e5c6d088fec47b593032b254f5e980de8ea54454d6"
|
2021-07-05 00:54:17 +00:00
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "asn1_der"
|
2021-10-11 00:10:35 +00:00
|
|
|
version = "0.7.5"
|
2021-07-05 00:54:17 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-10-11 00:10:35 +00:00
|
|
|
checksum = "e22d1f4b888c298a027c99dc9048015fac177587de20fc30232a057dfbe24a21"
|
2021-07-05 00:54:17 +00:00
|
|
|
|
2020-11-19 04:04:52 +00:00
|
|
|
[[package]]
|
|
|
|
name = "async-trait"
|
2021-12-22 06:17:14 +00:00
|
|
|
version = "0.1.52"
|
2020-11-19 04:04:52 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-12-22 06:17:14 +00:00
|
|
|
checksum = "061a7acccaa286c011ddc30970520b98fa40e00c9d644633fb26b5fc63a265e3"
|
2020-11-19 04:04:52 +00:00
|
|
|
dependencies = [
|
|
|
|
"proc-macro2",
|
|
|
|
"quote",
|
|
|
|
"syn",
|
|
|
|
]
|
|
|
|
|
2021-02-10 23:29:49 +00:00
|
|
|
[[package]]
|
|
|
|
name = "asynchronous-codec"
|
2021-03-02 05:59:49 +00:00
|
|
|
version = "0.6.0"
|
2021-02-10 23:29:49 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-03-02 05:59:49 +00:00
|
|
|
checksum = "f0de5164e5edbf51c45fb8c2d9664ae1c095cce1b265ecf7569093c0d66ef690"
|
2021-02-10 23:29:49 +00:00
|
|
|
dependencies = [
|
2021-10-29 01:59:29 +00:00
|
|
|
"bytes",
|
2021-02-10 23:29:49 +00:00
|
|
|
"futures-sink",
|
|
|
|
"futures-util",
|
|
|
|
"memchr",
|
2022-01-11 01:35:56 +00:00
|
|
|
"pin-project-lite 0.2.8",
|
2021-02-10 23:29:49 +00:00
|
|
|
]
|
|
|
|
|
2020-07-29 03:40:22 +00:00
|
|
|
[[package]]
|
|
|
|
name = "atomic"
|
2021-11-18 05:08:42 +00:00
|
|
|
version = "0.5.1"
|
2020-07-29 03:40:22 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-11-18 05:08:42 +00:00
|
|
|
checksum = "b88d82667eca772c4aa12f0f1348b3ae643424c8876448f3f7bd5787032e234c"
|
2020-10-05 05:16:27 +00:00
|
|
|
dependencies = [
|
|
|
|
"autocfg 1.0.1",
|
|
|
|
]
|
2020-07-29 03:40:22 +00:00
|
|
|
|
2020-10-02 08:47:00 +00:00
|
|
|
[[package]]
|
|
|
|
name = "attohttpc"
|
|
|
|
version = "0.10.1"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
checksum = "baf13118df3e3dce4b5ac930641343b91b656e4e72c8f8325838b01a4b1c9d45"
|
|
|
|
dependencies = [
|
2021-02-10 23:29:49 +00:00
|
|
|
"http",
|
2020-12-09 01:34:58 +00:00
|
|
|
"log",
|
|
|
|
"url",
|
2020-10-02 08:47:00 +00:00
|
|
|
]
|
|
|
|
|
2019-12-09 11:39:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "atty"
|
2020-01-08 03:18:06 +00:00
|
|
|
version = "0.2.14"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2020-05-10 09:56:31 +00:00
|
|
|
checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2020-05-10 09:56:31 +00:00
|
|
|
"hermit-abi",
|
|
|
|
"libc",
|
2021-07-09 03:20:24 +00:00
|
|
|
"winapi",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "autocfg"
|
|
|
|
version = "0.1.7"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2020-05-10 09:56:31 +00:00
|
|
|
checksum = "1d49d90015b3c36167a20fe2810c5cd875ad504b39cff3d4eae7977e6b7c1cb2"
|
2019-12-09 11:39:44 +00:00
|
|
|
|
2020-01-15 03:48:09 +00:00
|
|
|
[[package]]
|
|
|
|
name = "autocfg"
|
2020-08-21 12:00:01 +00:00
|
|
|
version = "1.0.1"
|
2020-01-15 03:48:09 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2020-08-21 12:00:01 +00:00
|
|
|
checksum = "cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a"
|
2020-01-15 03:48:09 +00:00
|
|
|
|
2019-12-09 11:39:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "backtrace"
|
2021-11-18 05:08:42 +00:00
|
|
|
version = "0.3.63"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-11-18 05:08:42 +00:00
|
|
|
checksum = "321629d8ba6513061f26707241fa9bc89524ff1cd7a915a97ef0c62c666ce1b6"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2020-05-26 20:34:15 +00:00
|
|
|
"addr2line",
|
2021-05-04 00:44:05 +00:00
|
|
|
"cc",
|
2021-11-18 05:08:42 +00:00
|
|
|
"cfg-if",
|
2020-05-10 09:56:31 +00:00
|
|
|
"libc",
|
2021-05-04 00:44:05 +00:00
|
|
|
"miniz_oxide",
|
2020-05-26 20:34:15 +00:00
|
|
|
"object",
|
2020-05-10 09:56:31 +00:00
|
|
|
"rustc-demangle",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
2020-03-19 04:11:08 +00:00
|
|
|
[[package]]
|
|
|
|
name = "base64"
|
2020-07-06 01:55:56 +00:00
|
|
|
version = "0.12.3"
|
2020-03-19 04:11:08 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2020-07-06 01:55:56 +00:00
|
|
|
checksum = "3441f0f7b02788e948e47f457ca01f1d7e6d92c693bc132c22b087d3141c03ff"
|
2020-03-19 04:11:08 +00:00
|
|
|
|
2020-10-05 08:22:19 +00:00
|
|
|
[[package]]
|
|
|
|
name = "base64"
|
|
|
|
version = "0.13.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
checksum = "904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fd"
|
|
|
|
|
2019-12-09 11:39:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "beacon_chain"
|
2020-08-06 03:43:05 +00:00
|
|
|
version = "0.2.0"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2021-12-22 06:17:14 +00:00
|
|
|
"bitvec 0.19.6",
|
2020-05-10 09:56:31 +00:00
|
|
|
"bls",
|
2020-06-18 11:06:34 +00:00
|
|
|
"derivative",
|
2020-05-10 09:56:31 +00:00
|
|
|
"environment",
|
|
|
|
"eth1",
|
2020-11-02 00:37:30 +00:00
|
|
|
"eth2",
|
2021-09-03 01:10:25 +00:00
|
|
|
"eth2_hashing 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2021-11-29 03:57:54 +00:00
|
|
|
"eth2_ssz",
|
2021-11-24 00:28:30 +00:00
|
|
|
"eth2_ssz_derive 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2021-11-29 03:57:54 +00:00
|
|
|
"eth2_ssz_types",
|
2021-11-16 00:46:12 +00:00
|
|
|
"execution_layer",
|
v0.12 fork choice update (#1229)
* Incomplete scraps
* Add progress on new fork choice impl
* Further progress
* First complete compiling version
* Remove chain reference
* Add new lmd_ghost crate
* Start integrating into beacon chain
* Update `milagro_bls` to new release (#1183)
* Update milagro_bls to new release
Signed-off-by: Kirk Baird <baird.k@outlook.com>
* Tidy up fake cryptos
Signed-off-by: Kirk Baird <baird.k@outlook.com>
* move SecretHash to bls and put plaintext back
Signed-off-by: Kirk Baird <baird.k@outlook.com>
* Update state processing for v0.12
* Fix EF test runners for v0.12
* Fix some tests
* Fix broken attestation verification test
* More test fixes
* Rough beacon chain impl working
* Remove fork_choice_2
* Remove checkpoint manager
* Half finished ssz impl
* Add missed file
* Add persistence
* Tidy, fix some compile errors
* Remove RwLock from ProtoArrayForkChoice
* Fix store-based compile errors
* Add comments, tidy
* Move function out of ForkChoice struct
* Start testing
* More testing
* Fix compile error
* Tidy beacon_chain::fork_choice
* Queue attestations from the current slot
* Allow fork choice to handle prior-to-genesis start
* Improve error granularity
* Test attestation dequeuing
* Process attestations during block
* Store target root in fork choice
* Move fork choice verification into new crate
* Update tests
* Consensus updates for v0.12 (#1228)
* Update state processing for v0.12
* Fix EF test runners for v0.12
* Fix some tests
* Fix broken attestation verification test
* More test fixes
* Fix typo found in review
* Add `Block` struct to ProtoArray
* Start fixing get_ancestor
* Add rough progress on testing
* Get fork choice tests working
* Progress with testing
* Fix partialeq impl
* Move slot clock from fc_store
* Improve testing
* Add testing for best justified
* Add clone back to SystemTimeSlotClock
* Add balances test
* Start adding balances cache again
* Wire-in balances cache
* Improve tests
* Remove commented-out tests
* Remove beacon_chain::ForkChoice
* Rename crates
* Update wider codebase to new fork_choice layout
* Move advance_slot in test harness
* Tidy ForkChoice::update_time
* Fix verification tests
* Fix compile error with iter::once
* Fix fork choice tests
* Ensure block attestations are processed
* Fix failing beacon_chain tests
* Add first invalid block check
* Add finalized block check
* Progress with testing, new store builder
* Add fixes to get_ancestor
* Fix old genesis justification test
* Fix remaining fork choice tests
* Change root iteration method
* Move on_verified_block
* Remove unused method
* Start adding attestation verification tests
* Add invalid ffg target test
* Add target epoch test
* Add queued attestation test
* Remove old fork choice verification tests
* Tidy, add test
* Move fork choice lock drop
* Rename BeaconForkChoiceStore
* Add comments, tidy BeaconForkChoiceStore
* Update metrics, rename fork_choice_store.rs
* Remove genesis_block_root from ForkChoice
* Tidy
* Update fork_choice comments
* Tidy, add comments
* Tidy, simplify ForkChoice, fix compile issue
* Tidy, removed dead file
* Increase http request timeout
* Fix failing rest_api test
* Set HTTP timeout back to 5s
* Apply fix to get_ancestor
* Address Michael's comments
* Fix typo
* Revert "Fix broken attestation verification test"
This reverts commit 722cdc903b12611de27916a57eeecfa3224f2279.
Co-authored-by: Kirk Baird <baird.k@outlook.com>
Co-authored-by: Michael Sproul <michael@sigmaprime.io>
2020-06-17 01:10:22 +00:00
|
|
|
"fork_choice",
|
2021-07-09 03:20:24 +00:00
|
|
|
"futures",
|
2020-05-10 09:56:31 +00:00
|
|
|
"genesis",
|
2020-07-25 02:03:18 +00:00
|
|
|
"int_to_bytes",
|
2021-08-17 01:00:24 +00:00
|
|
|
"itertools",
|
2020-05-10 09:56:31 +00:00
|
|
|
"lazy_static",
|
|
|
|
"lighthouse_metrics",
|
2021-10-06 00:46:07 +00:00
|
|
|
"logging",
|
2020-07-29 03:40:22 +00:00
|
|
|
"lru",
|
2020-08-26 09:24:55 +00:00
|
|
|
"maplit",
|
2020-05-10 09:56:31 +00:00
|
|
|
"merkle_proof",
|
|
|
|
"operation_pool",
|
2020-12-09 01:34:58 +00:00
|
|
|
"parking_lot",
|
v0.12 fork choice update (#1229)
* Incomplete scraps
* Add progress on new fork choice impl
* Further progress
* First complete compiling version
* Remove chain reference
* Add new lmd_ghost crate
* Start integrating into beacon chain
* Update `milagro_bls` to new release (#1183)
* Update milagro_bls to new release
Signed-off-by: Kirk Baird <baird.k@outlook.com>
* Tidy up fake cryptos
Signed-off-by: Kirk Baird <baird.k@outlook.com>
* move SecretHash to bls and put plaintext back
Signed-off-by: Kirk Baird <baird.k@outlook.com>
* Update state processing for v0.12
* Fix EF test runners for v0.12
* Fix some tests
* Fix broken attestation verification test
* More test fixes
* Rough beacon chain impl working
* Remove fork_choice_2
* Remove checkpoint manager
* Half finished ssz impl
* Add missed file
* Add persistence
* Tidy, fix some compile errors
* Remove RwLock from ProtoArrayForkChoice
* Fix store-based compile errors
* Add comments, tidy
* Move function out of ForkChoice struct
* Start testing
* More testing
* Fix compile error
* Tidy beacon_chain::fork_choice
* Queue attestations from the current slot
* Allow fork choice to handle prior-to-genesis start
* Improve error granularity
* Test attestation dequeuing
* Process attestations during block
* Store target root in fork choice
* Move fork choice verification into new crate
* Update tests
* Consensus updates for v0.12 (#1228)
* Update state processing for v0.12
* Fix EF test runners for v0.12
* Fix some tests
* Fix broken attestation verification test
* More test fixes
* Fix typo found in review
* Add `Block` struct to ProtoArray
* Start fixing get_ancestor
* Add rough progress on testing
* Get fork choice tests working
* Progress with testing
* Fix partialeq impl
* Move slot clock from fc_store
* Improve testing
* Add testing for best justified
* Add clone back to SystemTimeSlotClock
* Add balances test
* Start adding balances cache again
* Wire-in balances cache
* Improve tests
* Remove commented-out tests
* Remove beacon_chain::ForkChoice
* Rename crates
* Update wider codebase to new fork_choice layout
* Move advance_slot in test harness
* Tidy ForkChoice::update_time
* Fix verification tests
* Fix compile error with iter::once
* Fix fork choice tests
* Ensure block attestations are processed
* Fix failing beacon_chain tests
* Add first invalid block check
* Add finalized block check
* Progress with testing, new store builder
* Add fixes to get_ancestor
* Fix old genesis justification test
* Fix remaining fork choice tests
* Change root iteration method
* Move on_verified_block
* Remove unused method
* Start adding attestation verification tests
* Add invalid ffg target test
* Add target epoch test
* Add queued attestation test
* Remove old fork choice verification tests
* Tidy, add test
* Move fork choice lock drop
* Rename BeaconForkChoiceStore
* Add comments, tidy BeaconForkChoiceStore
* Update metrics, rename fork_choice_store.rs
* Remove genesis_block_root from ForkChoice
* Tidy
* Update fork_choice comments
* Tidy, add comments
* Tidy, simplify ForkChoice, fix compile issue
* Tidy, removed dead file
* Increase http request timeout
* Fix failing rest_api test
* Set HTTP timeout back to 5s
* Apply fix to get_ancestor
* Address Michael's comments
* Fix typo
* Revert "Fix broken attestation verification test"
This reverts commit 722cdc903b12611de27916a57eeecfa3224f2279.
Co-authored-by: Kirk Baird <baird.k@outlook.com>
Co-authored-by: Michael Sproul <michael@sigmaprime.io>
2020-06-17 01:10:22 +00:00
|
|
|
"proto_array",
|
2020-05-10 09:56:31 +00:00
|
|
|
"rand 0.7.3",
|
|
|
|
"rayon",
|
|
|
|
"safe_arith",
|
2021-11-16 00:46:12 +00:00
|
|
|
"sensitive_url",
|
2020-05-10 09:56:31 +00:00
|
|
|
"serde",
|
|
|
|
"serde_derive",
|
2020-11-23 03:43:22 +00:00
|
|
|
"slasher",
|
2020-05-10 09:56:31 +00:00
|
|
|
"slog",
|
2021-09-14 06:48:26 +00:00
|
|
|
"sloggers",
|
2020-05-10 09:56:31 +00:00
|
|
|
"slot_clock",
|
2020-12-09 01:34:58 +00:00
|
|
|
"smallvec",
|
2020-05-10 09:56:31 +00:00
|
|
|
"state_processing",
|
|
|
|
"store",
|
2021-01-19 06:33:58 +00:00
|
|
|
"strum",
|
2021-12-13 20:43:22 +00:00
|
|
|
"superstruct",
|
2020-10-05 07:45:54 +00:00
|
|
|
"task_executor",
|
2020-05-10 09:56:31 +00:00
|
|
|
"tempfile",
|
2021-08-17 01:00:24 +00:00
|
|
|
"tokio",
|
2021-11-29 03:57:54 +00:00
|
|
|
"tree_hash",
|
2020-05-10 09:56:31 +00:00
|
|
|
"types",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "beacon_node"
|
2022-01-20 03:39:41 +00:00
|
|
|
version = "2.1.0"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2020-05-10 09:56:31 +00:00
|
|
|
"beacon_chain",
|
|
|
|
"clap",
|
|
|
|
"clap_utils",
|
|
|
|
"client",
|
2020-09-29 00:02:44 +00:00
|
|
|
"directory",
|
2021-07-05 00:54:17 +00:00
|
|
|
"dirs",
|
2020-05-10 09:56:31 +00:00
|
|
|
"environment",
|
|
|
|
"eth2_config",
|
2020-12-08 05:41:10 +00:00
|
|
|
"eth2_network_config",
|
2021-07-09 03:20:24 +00:00
|
|
|
"futures",
|
2020-05-10 09:56:31 +00:00
|
|
|
"genesis",
|
2020-10-28 22:19:38 +00:00
|
|
|
"hex",
|
2021-10-12 03:35:49 +00:00
|
|
|
"http_api",
|
2021-07-09 03:20:24 +00:00
|
|
|
"hyper",
|
Rename eth2_libp2p to lighthouse_network (#2702)
## Description
The `eth2_libp2p` crate was originally named and designed to incorporate a simple libp2p integration into lighthouse. Since its origins the crates purpose has expanded dramatically. It now houses a lot more sophistication that is specific to lighthouse and no longer just a libp2p integration.
As of this writing it currently houses the following high-level lighthouse-specific logic:
- Lighthouse's implementation of the eth2 RPC protocol and specific encodings/decodings
- Integration and handling of ENRs with respect to libp2p and eth2
- Lighthouse's discovery logic, its integration with discv5 and logic about searching and handling peers.
- Lighthouse's peer manager - This is a large module handling various aspects of Lighthouse's network, such as peer scoring, handling pings and metadata, connection maintenance and recording, etc.
- Lighthouse's peer database - This is a collection of information stored for each individual peer which is specific to lighthouse. We store connection state, sync state, last seen ips and scores etc. The data stored for each peer is designed for various elements of the lighthouse code base such as syncing and the http api.
- Gossipsub scoring - This stores a collection of gossipsub 1.1 scoring mechanisms that are continuously analyssed and updated based on the ethereum 2 networks and how Lighthouse performs on these networks.
- Lighthouse specific types for managing gossipsub topics, sync status and ENR fields
- Lighthouse's network HTTP API metrics - A collection of metrics for lighthouse network monitoring
- Lighthouse's custom configuration of all networking protocols, RPC, gossipsub, discovery, identify and libp2p.
Therefore it makes sense to rename the crate to be more akin to its current purposes, simply that it manages the majority of Lighthouse's network stack. This PR renames this crate to `lighthouse_network`
Co-authored-by: Paul Hauner <paul@paulhauner.com>
2021-10-19 00:30:39 +00:00
|
|
|
"lighthouse_network",
|
2020-08-04 07:44:53 +00:00
|
|
|
"lighthouse_version",
|
2021-05-26 05:58:41 +00:00
|
|
|
"monitoring_api",
|
2020-05-10 09:56:31 +00:00
|
|
|
"node_test_rig",
|
2021-05-04 01:59:51 +00:00
|
|
|
"sensitive_url",
|
2020-05-10 09:56:31 +00:00
|
|
|
"serde",
|
2020-11-23 03:43:22 +00:00
|
|
|
"slasher",
|
2020-05-10 09:56:31 +00:00
|
|
|
"slog",
|
|
|
|
"store",
|
2020-10-05 07:45:54 +00:00
|
|
|
"task_executor",
|
2020-05-10 09:56:31 +00:00
|
|
|
"types",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
2020-10-05 10:50:43 +00:00
|
|
|
[[package]]
|
|
|
|
name = "bincode"
|
2021-05-04 00:44:05 +00:00
|
|
|
version = "1.3.3"
|
2020-10-05 10:50:43 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-05-04 00:44:05 +00:00
|
|
|
checksum = "b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad"
|
2020-10-05 10:50:43 +00:00
|
|
|
dependencies = [
|
|
|
|
"serde",
|
|
|
|
]
|
|
|
|
|
2021-12-21 08:23:17 +00:00
|
|
|
[[package]]
|
|
|
|
name = "bindgen"
|
2021-12-22 06:17:14 +00:00
|
|
|
version = "0.59.2"
|
2021-12-21 08:23:17 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-12-22 06:17:14 +00:00
|
|
|
checksum = "2bd2a9a458e8f4304c52c43ebb0cfbd520289f8379a52e329a38afda99bf8eb8"
|
2021-12-21 08:23:17 +00:00
|
|
|
dependencies = [
|
|
|
|
"bitflags",
|
|
|
|
"cexpr",
|
|
|
|
"clang-sys",
|
|
|
|
"lazy_static",
|
|
|
|
"lazycell",
|
|
|
|
"peeking_take_while",
|
|
|
|
"proc-macro2",
|
|
|
|
"quote",
|
|
|
|
"regex",
|
|
|
|
"rustc-hash",
|
|
|
|
"shlex",
|
|
|
|
]
|
|
|
|
|
2019-12-09 11:39:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "bitflags"
|
2021-11-18 05:08:42 +00:00
|
|
|
version = "1.2.1"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-11-18 05:08:42 +00:00
|
|
|
checksum = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693"
|
2019-12-09 11:39:44 +00:00
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "bitvec"
|
2020-04-08 06:46:37 +00:00
|
|
|
version = "0.17.4"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2020-05-10 09:56:31 +00:00
|
|
|
checksum = "41262f11d771fd4a61aa3ce019fca363b4b6c282fca9da2a31186d3965a47a5c"
|
2020-04-08 06:46:37 +00:00
|
|
|
dependencies = [
|
2020-05-10 09:56:31 +00:00
|
|
|
"either",
|
2020-10-05 08:22:19 +00:00
|
|
|
"radium 0.3.0",
|
|
|
|
]
|
|
|
|
|
2020-10-23 04:16:33 +00:00
|
|
|
[[package]]
|
|
|
|
name = "bitvec"
|
2021-12-22 06:17:14 +00:00
|
|
|
version = "0.19.6"
|
2020-10-23 04:16:33 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-12-22 06:17:14 +00:00
|
|
|
checksum = "55f93d0ef3363c364d5976646a38f04cf67cfe1d4c8d160cdea02cab2c116b33"
|
2020-10-23 04:16:33 +00:00
|
|
|
dependencies = [
|
|
|
|
"funty",
|
2021-07-05 00:54:17 +00:00
|
|
|
"radium 0.5.3",
|
|
|
|
"tap",
|
2020-10-23 04:16:33 +00:00
|
|
|
"wyz",
|
|
|
|
]
|
|
|
|
|
2020-10-05 08:22:19 +00:00
|
|
|
[[package]]
|
|
|
|
name = "bitvec"
|
2021-07-05 00:54:17 +00:00
|
|
|
version = "0.20.4"
|
2020-10-05 08:22:19 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-07-05 00:54:17 +00:00
|
|
|
checksum = "7774144344a4faa177370406a7ff5f1da24303817368584c6206c8303eb07848"
|
2020-10-05 08:22:19 +00:00
|
|
|
dependencies = [
|
|
|
|
"funty",
|
2021-07-05 00:54:17 +00:00
|
|
|
"radium 0.6.2",
|
2020-10-05 08:22:19 +00:00
|
|
|
"tap",
|
|
|
|
"wyz",
|
2020-04-08 06:46:37 +00:00
|
|
|
]
|
2019-12-09 11:39:44 +00:00
|
|
|
|
|
|
|
[[package]]
|
2020-06-29 10:25:42 +00:00
|
|
|
name = "blake2"
|
2021-09-16 04:45:05 +00:00
|
|
|
version = "0.9.2"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-09-16 04:45:05 +00:00
|
|
|
checksum = "0a4e37d16930f5459780f5621038b6382b9bb37c19016f39fb6b5808d831f174"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2020-07-11 02:35:59 +00:00
|
|
|
"crypto-mac 0.8.0",
|
2021-12-22 06:17:14 +00:00
|
|
|
"digest 0.9.0",
|
2021-07-13 00:48:33 +00:00
|
|
|
"opaque-debug",
|
2020-07-01 08:01:03 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "block-buffer"
|
2020-07-06 01:55:56 +00:00
|
|
|
version = "0.9.0"
|
2020-07-01 08:01:03 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2020-07-06 01:55:56 +00:00
|
|
|
checksum = "4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4"
|
2020-07-01 08:01:03 +00:00
|
|
|
dependencies = [
|
2021-07-13 00:48:33 +00:00
|
|
|
"block-padding",
|
|
|
|
"generic-array",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
2021-12-22 06:17:14 +00:00
|
|
|
[[package]]
|
|
|
|
name = "block-buffer"
|
|
|
|
version = "0.10.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
checksum = "f1d36a02058e76b040de25a4464ba1c80935655595b661505c8b39b664828b95"
|
|
|
|
dependencies = [
|
|
|
|
"generic-array",
|
|
|
|
]
|
|
|
|
|
2020-08-27 07:04:12 +00:00
|
|
|
[[package]]
|
|
|
|
name = "block-padding"
|
|
|
|
version = "0.2.1"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
checksum = "8d696c370c750c948ada61c69a0ee2cbbb9c50b1019ddb86d9317157a99c2cae"
|
|
|
|
|
2019-12-09 11:39:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "bls"
|
Initial work towards v0.2.0 (#924)
* Remove ping protocol
* Initial renaming of network services
* Correct rebasing relative to latest master
* Start updating types
* Adds HashMapDelay struct to utils
* Initial network restructure
* Network restructure. Adds new types for v0.2.0
* Removes build artefacts
* Shift validation to beacon chain
* Temporarily remove gossip validation
This is to be updated to match current optimisation efforts.
* Adds AggregateAndProof
* Begin rebuilding pubsub encoding/decoding
* Signature hacking
* Shift gossipsup decoding into eth2_libp2p
* Existing EF tests passing with fake_crypto
* Shifts block encoding/decoding into RPC
* Delete outdated API spec
* All release tests passing bar genesis state parsing
* Update and test YamlConfig
* Update to spec v0.10 compatible BLS
* Updates to BLS EF tests
* Add EF test for AggregateVerify
And delete unused hash2curve tests for uncompressed points
* Update EF tests to v0.10.1
* Use optional block root correctly in block proc
* Use genesis fork in deposit domain. All tests pass
* Fast aggregate verify test
* Update REST API docs
* Fix unused import
* Bump spec tags to v0.10.1
* Add `seconds_per_eth1_block` to chainspec
* Update to timestamp based eth1 voting scheme
* Return None from `get_votes_to_consider` if block cache is empty
* Handle overflows in `is_candidate_block`
* Revert to failing tests
* Fix eth1 data sets test
* Choose default vote according to spec
* Fix collect_valid_votes tests
* Fix `get_votes_to_consider` to choose all eligible blocks
* Uncomment winning_vote tests
* Add comments; remove unused code
* Reduce seconds_per_eth1_block for simulation
* Addressed review comments
* Add test for default vote case
* Fix logs
* Remove unused functions
* Meter default eth1 votes
* Fix comments
* Progress on attestation service
* Address review comments; remove unused dependency
* Initial work on removing libp2p lock
* Add LRU caches to store (rollup)
* Update attestation validation for DB changes (WIP)
* Initial version of should_forward_block
* Scaffold
* Progress on attestation validation
Also, consolidate prod+testing slot clocks so that they share much
of the same implementation and can both handle sub-slot time changes.
* Removes lock from libp2p service
* Completed network lock removal
* Finish(?) attestation processing
* Correct network termination future
* Add slot check to block check
* Correct fmt issues
* Remove Drop implementation for network service
* Add first attempt at attestation proc. re-write
* Add version 2 of attestation processing
* Minor fixes
* Add validator pubkey cache
* Make get_indexed_attestation take a committee
* Link signature processing into new attn verification
* First working version
* Ensure pubkey cache is updated
* Add more metrics, slight optimizations
* Clone committee cache during attestation processing
* Update shuffling cache during block processing
* Remove old commented-out code
* Fix shuffling cache insert bug
* Used indexed attestation in fork choice
* Restructure attn processing, add metrics
* Add more detailed metrics
* Tidy, fix failing tests
* Fix failing tests, tidy
* Address reviewers suggestions
* Disable/delete two outdated tests
* Modification of validator for subscriptions
* Add slot signing to validator client
* Further progress on validation subscription
* Adds necessary validator subscription functionality
* Add new Pubkeys struct to signature_sets
* Refactor with functional approach
* Update beacon chain
* Clean up validator <-> beacon node http types
* Add aggregator status to ValidatorDuty
* Impl Clone for manual slot clock
* Fix minor errors
* Further progress validator client subscription
* Initial subscription and aggregation handling
* Remove decompressed member from pubkey bytes
* Progress to modifying val client for attestation aggregation
* First draft of validator client upgrade for aggregate attestations
* Add hashmap for indices lookup
* Add state cache, remove store cache
* Only build the head committee cache
* Removes lock on a network channel
* Partially implement beacon node subscription http api
* Correct compilation issues
* Change `get_attesting_indices` to use Vec
* Fix failing test
* Partial implementation of timer
* Adds timer, removes exit_future, http api to op pool
* Partial multiple aggregate attestation handling
* Permits bulk messages accross gossipsub network channel
* Correct compile issues
* Improve gosispsub messaging and correct rest api helpers
* Added global gossipsub subscriptions
* Update validator subscriptions data structs
* Tidy
* Re-structure validator subscriptions
* Initial handling of subscriptions
* Re-structure network service
* Add pubkey cache persistence file
* Add more comments
* Integrate persistence file into builder
* Add pubkey cache tests
* Add HashSetDelay and introduce into attestation service
* Handles validator subscriptions
* Add data_dir to beacon chain builder
* Remove Option in pubkey cache persistence file
* Ensure consistency between datadir/data_dir
* Fix failing network test
* Peer subnet discovery gets queued for future subscriptions
* Reorganise attestation service functions
* Initial wiring of attestation service
* First draft of attestation service timing logic
* Correct minor typos
* Tidy
* Fix todos
* Improve tests
* Add PeerInfo to connected peers mapping
* Fix compile error
* Fix compile error from merge
* Split up block processing metrics
* Tidy
* Refactor get_pubkey_from_state
* Remove commented-out code
* Rename state_cache -> checkpoint_cache
* Rename Checkpoint -> Snapshot
* Tidy, add comments
* Tidy up find_head function
* Change some checkpoint -> snapshot
* Add tests
* Expose max_len
* Remove dead code
* Tidy
* Fix bug
* Add sync-speed metric
* Add first attempt at VerifiableBlock
* Start integrating into beacon chain
* Integrate VerifiableBlock
* Rename VerifableBlock -> PartialBlockVerification
* Add start of typed methods
* Add progress
* Add further progress
* Rename structs
* Add full block verification to block_processing.rs
* Further beacon chain integration
* Update checks for gossip
* Add todo
* Start adding segement verification
* Add passing chain segement test
* Initial integration with batch sync
* Minor changes
* Tidy, add more error checking
* Start adding chain_segment tests
* Finish invalid signature tests
* Include single and gossip verified blocks in tests
* Add gossip verification tests
* Start adding docs
* Finish adding comments to block_processing.rs
* Rename block_processing.rs -> block_verification
* Start removing old block processing code
* Fixes beacon_chain compilation
* Fix project-wide compile errors
* Remove old code
* Correct code to pass all tests
* Fix bug with beacon proposer index
* Fix shim for BlockProcessingError
* Only process one epoch at a time
* Fix loop in chain segment processing
* Correct tests from master merge
* Add caching for state.eth1_data_votes
* Add BeaconChain::validator_pubkey
* Revert "Add caching for state.eth1_data_votes"
This reverts commit cd73dcd6434fb8d8e6bf30c5356355598ea7b78e.
Co-authored-by: Grant Wuerker <gwuerker@gmail.com>
Co-authored-by: Michael Sproul <michael@sigmaprime.io>
Co-authored-by: Michael Sproul <micsproul@gmail.com>
Co-authored-by: pawan <pawandhananjay@gmail.com>
Co-authored-by: Paul Hauner <paul@paulhauner.com>
2020-03-17 06:24:44 +00:00
|
|
|
version = "0.2.0"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2021-10-14 02:58:11 +00:00
|
|
|
"arbitrary",
|
2020-07-25 02:03:18 +00:00
|
|
|
"blst",
|
2021-09-03 01:10:25 +00:00
|
|
|
"eth2_hashing 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2021-11-29 22:32:53 +00:00
|
|
|
"eth2_serde_utils",
|
2021-11-29 03:57:54 +00:00
|
|
|
"eth2_ssz",
|
2021-10-14 02:58:11 +00:00
|
|
|
"ethereum-types 0.12.1",
|
2020-10-28 22:19:38 +00:00
|
|
|
"hex",
|
2020-05-10 09:56:31 +00:00
|
|
|
"milagro_bls",
|
|
|
|
"rand 0.7.3",
|
|
|
|
"serde",
|
|
|
|
"serde_derive",
|
2021-11-29 03:57:54 +00:00
|
|
|
"tree_hash",
|
2020-05-19 01:23:08 +00:00
|
|
|
"zeroize",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
2020-07-25 02:03:18 +00:00
|
|
|
[[package]]
|
|
|
|
name = "blst"
|
2021-10-14 02:58:11 +00:00
|
|
|
version = "0.3.6"
|
2020-11-28 06:41:32 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-10-14 02:58:11 +00:00
|
|
|
checksum = "1f073f59a150a1dca74aab43d794ae5a7578d52bb1e73121e559f3ee3e6a837e"
|
2020-07-25 02:03:18 +00:00
|
|
|
dependencies = [
|
|
|
|
"cc",
|
|
|
|
"glob",
|
|
|
|
"threadpool",
|
2020-11-28 06:41:32 +00:00
|
|
|
"zeroize",
|
2020-07-25 02:03:18 +00:00
|
|
|
]
|
|
|
|
|
2020-06-19 06:30:07 +00:00
|
|
|
[[package]]
|
|
|
|
name = "boot_node"
|
2022-01-20 03:39:41 +00:00
|
|
|
version = "2.1.0"
|
2020-06-19 06:30:07 +00:00
|
|
|
dependencies = [
|
2020-08-21 12:00:01 +00:00
|
|
|
"beacon_node",
|
2020-06-19 06:30:07 +00:00
|
|
|
"clap",
|
2021-11-08 01:37:58 +00:00
|
|
|
"clap_utils",
|
2021-11-16 00:46:12 +00:00
|
|
|
"eth2_network_config",
|
2021-11-29 03:57:54 +00:00
|
|
|
"eth2_ssz",
|
2020-10-28 22:19:38 +00:00
|
|
|
"hex",
|
Rename eth2_libp2p to lighthouse_network (#2702)
## Description
The `eth2_libp2p` crate was originally named and designed to incorporate a simple libp2p integration into lighthouse. Since its origins the crates purpose has expanded dramatically. It now houses a lot more sophistication that is specific to lighthouse and no longer just a libp2p integration.
As of this writing it currently houses the following high-level lighthouse-specific logic:
- Lighthouse's implementation of the eth2 RPC protocol and specific encodings/decodings
- Integration and handling of ENRs with respect to libp2p and eth2
- Lighthouse's discovery logic, its integration with discv5 and logic about searching and handling peers.
- Lighthouse's peer manager - This is a large module handling various aspects of Lighthouse's network, such as peer scoring, handling pings and metadata, connection maintenance and recording, etc.
- Lighthouse's peer database - This is a collection of information stored for each individual peer which is specific to lighthouse. We store connection state, sync state, last seen ips and scores etc. The data stored for each peer is designed for various elements of the lighthouse code base such as syncing and the http api.
- Gossipsub scoring - This stores a collection of gossipsub 1.1 scoring mechanisms that are continuously analyssed and updated based on the ethereum 2 networks and how Lighthouse performs on these networks.
- Lighthouse specific types for managing gossipsub topics, sync status and ENR fields
- Lighthouse's network HTTP API metrics - A collection of metrics for lighthouse network monitoring
- Lighthouse's custom configuration of all networking protocols, RPC, gossipsub, discovery, identify and libp2p.
Therefore it makes sense to rename the crate to be more akin to its current purposes, simply that it manages the majority of Lighthouse's network stack. This PR renames this crate to `lighthouse_network`
Co-authored-by: Paul Hauner <paul@paulhauner.com>
2021-10-19 00:30:39 +00:00
|
|
|
"lighthouse_network",
|
2020-12-09 01:34:58 +00:00
|
|
|
"log",
|
2020-06-19 06:30:07 +00:00
|
|
|
"logging",
|
2021-11-08 01:37:58 +00:00
|
|
|
"serde",
|
|
|
|
"serde_derive",
|
|
|
|
"serde_json",
|
2020-06-19 06:30:07 +00:00
|
|
|
"slog",
|
|
|
|
"slog-async",
|
|
|
|
"slog-scope",
|
|
|
|
"slog-stdlog",
|
|
|
|
"slog-term",
|
2021-08-17 01:00:24 +00:00
|
|
|
"tokio",
|
2020-09-29 08:28:29 +00:00
|
|
|
"types",
|
2020-06-19 06:30:07 +00:00
|
|
|
]
|
|
|
|
|
2020-11-13 06:06:35 +00:00
|
|
|
[[package]]
|
|
|
|
name = "bs58"
|
|
|
|
version = "0.4.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
checksum = "771fe0050b883fcc3ea2359b1a96bcfbc090b7116eae7c3c512c7a083fdf23d3"
|
|
|
|
|
2019-12-09 11:39:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "bstr"
|
2021-10-01 01:23:55 +00:00
|
|
|
version = "0.2.17"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-10-01 01:23:55 +00:00
|
|
|
checksum = "ba3569f383e8f1598449f1a423e72e99569137b47740b1da11ef19af3d5c3223"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2020-05-10 09:56:31 +00:00
|
|
|
"lazy_static",
|
|
|
|
"memchr",
|
|
|
|
"regex-automata",
|
|
|
|
"serde",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
2020-09-29 03:46:54 +00:00
|
|
|
[[package]]
|
|
|
|
name = "buf_redux"
|
|
|
|
version = "0.8.4"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
checksum = "b953a6887648bb07a535631f2bc00fbdb2a2216f135552cb3f534ed136b9c07f"
|
|
|
|
dependencies = [
|
|
|
|
"memchr",
|
|
|
|
"safemem",
|
|
|
|
]
|
|
|
|
|
2019-12-09 11:39:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "bumpalo"
|
2022-01-11 01:35:56 +00:00
|
|
|
version = "3.9.1"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2022-01-11 01:35:56 +00:00
|
|
|
checksum = "a4a45a46ab1f2412e53d3a0ade76ffad2025804294569aae387231a0cd6e0899"
|
2019-12-09 11:39:44 +00:00
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "byte-slice-cast"
|
2020-01-03 06:56:03 +00:00
|
|
|
version = "0.3.5"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2020-05-10 09:56:31 +00:00
|
|
|
checksum = "b0a5e3906bcbf133e33c1d4d95afc664ad37fbdb9f6568d8043e7ea8c27d93d3"
|
2019-12-09 11:39:44 +00:00
|
|
|
|
2021-07-09 03:20:24 +00:00
|
|
|
[[package]]
|
|
|
|
name = "byte-slice-cast"
|
2021-10-29 01:59:29 +00:00
|
|
|
version = "1.2.0"
|
2021-07-09 03:20:24 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-10-29 01:59:29 +00:00
|
|
|
checksum = "1d30c751592b77c499e7bce34d99d67c2c11bdc0574e9a488ddade14150a4698"
|
2021-07-09 03:20:24 +00:00
|
|
|
|
2019-12-09 11:39:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "byteorder"
|
2021-05-04 00:44:05 +00:00
|
|
|
version = "1.4.3"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-05-04 00:44:05 +00:00
|
|
|
checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610"
|
2019-12-09 11:39:44 +00:00
|
|
|
|
2021-02-10 23:29:49 +00:00
|
|
|
[[package]]
|
|
|
|
name = "bytes"
|
2021-09-16 04:45:05 +00:00
|
|
|
version = "1.1.0"
|
2021-02-10 23:29:49 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-09-16 04:45:05 +00:00
|
|
|
checksum = "c4872d67bab6358e59559027aa3b9157c53d9358c51423c17554809a8858e0f8"
|
2021-02-10 23:29:49 +00:00
|
|
|
|
2020-09-11 01:43:13 +00:00
|
|
|
[[package]]
|
|
|
|
name = "bzip2"
|
2021-07-05 00:54:17 +00:00
|
|
|
version = "0.4.3"
|
2020-09-11 01:43:13 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-07-05 00:54:17 +00:00
|
|
|
checksum = "6afcd980b5f3a45017c57e57a2fcccbb351cc43a356ce117ef760ef8052b89b0"
|
2020-09-11 01:43:13 +00:00
|
|
|
dependencies = [
|
|
|
|
"bzip2-sys",
|
|
|
|
"libc",
|
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "bzip2-sys"
|
2021-07-05 00:54:17 +00:00
|
|
|
version = "0.1.11+1.0.8"
|
2020-09-11 01:43:13 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-07-05 00:54:17 +00:00
|
|
|
checksum = "736a955f3fa7875102d57c82b8cac37ec45224a07fd32d58f9f7a186b6cd4cdc"
|
2020-09-11 01:43:13 +00:00
|
|
|
dependencies = [
|
|
|
|
"cc",
|
|
|
|
"libc",
|
|
|
|
"pkg-config",
|
|
|
|
]
|
|
|
|
|
2019-12-09 11:39:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "cached_tree_hash"
|
|
|
|
version = "0.1.0"
|
|
|
|
dependencies = [
|
2021-09-03 01:10:25 +00:00
|
|
|
"eth2_hashing 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2021-11-29 03:57:54 +00:00
|
|
|
"eth2_ssz",
|
2021-11-24 00:28:30 +00:00
|
|
|
"eth2_ssz_derive 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2021-11-29 03:57:54 +00:00
|
|
|
"eth2_ssz_types",
|
2021-10-14 02:58:11 +00:00
|
|
|
"ethereum-types 0.12.1",
|
2020-05-10 09:56:31 +00:00
|
|
|
"quickcheck",
|
|
|
|
"quickcheck_macros",
|
2020-12-09 01:34:58 +00:00
|
|
|
"smallvec",
|
2021-11-29 03:57:54 +00:00
|
|
|
"tree_hash",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "cast"
|
2021-06-03 01:11:33 +00:00
|
|
|
version = "0.2.7"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-06-03 01:11:33 +00:00
|
|
|
checksum = "4c24dab4283a142afa2fdca129b80ad2c6284e073930f964c3a1293c225ee39a"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2021-06-03 01:11:33 +00:00
|
|
|
"rustc_version 0.4.0",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "cc"
|
2021-11-18 05:08:42 +00:00
|
|
|
version = "1.0.72"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-11-18 05:08:42 +00:00
|
|
|
checksum = "22a9137b95ea06864e018375b72adfb7db6e6f68cfc8df5a04d00288050485ee"
|
2019-12-09 11:39:44 +00:00
|
|
|
|
2021-12-21 08:23:17 +00:00
|
|
|
[[package]]
|
|
|
|
name = "cexpr"
|
2021-12-22 06:17:14 +00:00
|
|
|
version = "0.6.0"
|
2021-12-21 08:23:17 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-12-22 06:17:14 +00:00
|
|
|
checksum = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766"
|
2021-12-21 08:23:17 +00:00
|
|
|
dependencies = [
|
2021-12-22 06:17:14 +00:00
|
|
|
"nom 7.1.0",
|
2021-12-21 08:23:17 +00:00
|
|
|
]
|
|
|
|
|
2020-10-23 04:16:33 +00:00
|
|
|
[[package]]
|
|
|
|
name = "cfg-if"
|
|
|
|
version = "1.0.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
|
|
|
|
|
2020-05-17 11:16:48 +00:00
|
|
|
[[package]]
|
2020-06-29 10:25:42 +00:00
|
|
|
name = "chacha20"
|
2021-09-16 04:45:05 +00:00
|
|
|
version = "0.7.1"
|
2020-05-17 11:16:48 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-09-16 04:45:05 +00:00
|
|
|
checksum = "fee7ad89dc1128635074c268ee661f90c3f7e83d9fd12910608c36b47d6c3412"
|
2020-05-17 11:16:48 +00:00
|
|
|
dependencies = [
|
2021-11-18 05:08:42 +00:00
|
|
|
"cfg-if",
|
2021-08-17 01:00:24 +00:00
|
|
|
"cipher",
|
2021-09-16 04:45:05 +00:00
|
|
|
"cpufeatures 0.1.5",
|
2020-06-29 10:25:42 +00:00
|
|
|
"zeroize",
|
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "chacha20poly1305"
|
2021-09-16 04:45:05 +00:00
|
|
|
version = "0.8.0"
|
2020-06-29 10:25:42 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-09-16 04:45:05 +00:00
|
|
|
checksum = "1580317203210c517b6d44794abfbe600698276db18127e37ad3e69bf5e848e5"
|
2020-06-29 10:25:42 +00:00
|
|
|
dependencies = [
|
2021-06-03 01:11:33 +00:00
|
|
|
"aead",
|
2020-06-29 10:25:42 +00:00
|
|
|
"chacha20",
|
2021-08-17 01:00:24 +00:00
|
|
|
"cipher",
|
2020-06-29 10:25:42 +00:00
|
|
|
"poly1305",
|
|
|
|
"zeroize",
|
2020-05-17 11:16:48 +00:00
|
|
|
]
|
|
|
|
|
2019-12-09 11:39:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "chrono"
|
2020-10-05 07:45:54 +00:00
|
|
|
version = "0.4.19"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2020-10-05 07:45:54 +00:00
|
|
|
checksum = "670ad68c9088c2a963aaa298cb369688cf3f9465ce5e2d4ca10e6e0098a1ce73"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2020-09-26 06:35:45 +00:00
|
|
|
"libc",
|
2020-05-10 09:56:31 +00:00
|
|
|
"num-integer",
|
|
|
|
"num-traits",
|
2021-02-10 23:29:49 +00:00
|
|
|
"time 0.1.43",
|
2021-07-09 03:20:24 +00:00
|
|
|
"winapi",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
2021-07-05 00:54:17 +00:00
|
|
|
[[package]]
|
|
|
|
name = "cipher"
|
|
|
|
version = "0.3.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
checksum = "7ee52072ec15386f770805afd189a01c8841be8696bed250fa2f13c4c0d6dfb7"
|
|
|
|
dependencies = [
|
2021-07-13 00:48:33 +00:00
|
|
|
"generic-array",
|
2021-07-05 00:54:17 +00:00
|
|
|
]
|
|
|
|
|
2021-12-21 08:23:17 +00:00
|
|
|
[[package]]
|
|
|
|
name = "clang-sys"
|
|
|
|
version = "1.3.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
checksum = "fa66045b9cb23c2e9c1520732030608b02ee07e5cfaa5a521ec15ded7fa24c90"
|
|
|
|
dependencies = [
|
|
|
|
"glob",
|
|
|
|
"libc",
|
|
|
|
"libloading",
|
|
|
|
]
|
|
|
|
|
2019-12-09 11:39:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "clap"
|
2021-12-22 06:17:14 +00:00
|
|
|
version = "2.34.0"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-12-22 06:17:14 +00:00
|
|
|
checksum = "a0610544180c38b88101fecf2dd634b174a62eef6946f84dfc6a7127512b381c"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2021-12-22 06:17:14 +00:00
|
|
|
"ansi_term",
|
2020-05-10 09:56:31 +00:00
|
|
|
"atty",
|
2020-12-09 01:34:58 +00:00
|
|
|
"bitflags",
|
2021-07-09 06:15:32 +00:00
|
|
|
"strsim 0.8.0",
|
2020-05-10 09:56:31 +00:00
|
|
|
"textwrap",
|
|
|
|
"unicode-width",
|
|
|
|
"vec_map",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
2020-04-19 02:20:43 +00:00
|
|
|
[[package]]
|
|
|
|
name = "clap_utils"
|
|
|
|
version = "0.1.0"
|
|
|
|
dependencies = [
|
2020-05-10 09:56:31 +00:00
|
|
|
"clap",
|
2021-07-05 00:54:17 +00:00
|
|
|
"dirs",
|
2020-12-08 05:41:10 +00:00
|
|
|
"eth2_network_config",
|
2021-11-29 03:57:54 +00:00
|
|
|
"eth2_ssz",
|
2021-11-16 00:46:12 +00:00
|
|
|
"ethereum-types 0.12.1",
|
2020-10-28 22:19:38 +00:00
|
|
|
"hex",
|
2020-04-19 02:20:43 +00:00
|
|
|
]
|
|
|
|
|
2019-12-09 11:39:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "client"
|
2020-08-06 03:43:05 +00:00
|
|
|
version = "0.2.0"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2020-05-10 09:56:31 +00:00
|
|
|
"beacon_chain",
|
2020-09-29 00:02:44 +00:00
|
|
|
"directory",
|
2021-07-05 00:54:17 +00:00
|
|
|
"dirs",
|
2020-05-10 09:56:31 +00:00
|
|
|
"environment",
|
|
|
|
"error-chain",
|
|
|
|
"eth1",
|
2021-09-22 00:37:28 +00:00
|
|
|
"eth2",
|
2020-05-10 09:56:31 +00:00
|
|
|
"eth2_config",
|
2021-11-16 00:46:12 +00:00
|
|
|
"execution_layer",
|
2020-05-10 09:56:31 +00:00
|
|
|
"genesis",
|
2020-09-29 03:46:54 +00:00
|
|
|
"http_api",
|
|
|
|
"http_metrics",
|
2020-05-10 09:56:31 +00:00
|
|
|
"lazy_static",
|
|
|
|
"lighthouse_metrics",
|
Rename eth2_libp2p to lighthouse_network (#2702)
## Description
The `eth2_libp2p` crate was originally named and designed to incorporate a simple libp2p integration into lighthouse. Since its origins the crates purpose has expanded dramatically. It now houses a lot more sophistication that is specific to lighthouse and no longer just a libp2p integration.
As of this writing it currently houses the following high-level lighthouse-specific logic:
- Lighthouse's implementation of the eth2 RPC protocol and specific encodings/decodings
- Integration and handling of ENRs with respect to libp2p and eth2
- Lighthouse's discovery logic, its integration with discv5 and logic about searching and handling peers.
- Lighthouse's peer manager - This is a large module handling various aspects of Lighthouse's network, such as peer scoring, handling pings and metadata, connection maintenance and recording, etc.
- Lighthouse's peer database - This is a collection of information stored for each individual peer which is specific to lighthouse. We store connection state, sync state, last seen ips and scores etc. The data stored for each peer is designed for various elements of the lighthouse code base such as syncing and the http api.
- Gossipsub scoring - This stores a collection of gossipsub 1.1 scoring mechanisms that are continuously analyssed and updated based on the ethereum 2 networks and how Lighthouse performs on these networks.
- Lighthouse specific types for managing gossipsub topics, sync status and ENR fields
- Lighthouse's network HTTP API metrics - A collection of metrics for lighthouse network monitoring
- Lighthouse's custom configuration of all networking protocols, RPC, gossipsub, discovery, identify and libp2p.
Therefore it makes sense to rename the crate to be more akin to its current purposes, simply that it manages the majority of Lighthouse's network stack. This PR renames this crate to `lighthouse_network`
Co-authored-by: Paul Hauner <paul@paulhauner.com>
2021-10-19 00:30:39 +00:00
|
|
|
"lighthouse_network",
|
2021-05-26 05:58:41 +00:00
|
|
|
"monitoring_api",
|
2020-05-10 09:56:31 +00:00
|
|
|
"network",
|
2020-12-09 01:34:58 +00:00
|
|
|
"parking_lot",
|
2021-09-22 00:37:28 +00:00
|
|
|
"sensitive_url",
|
2020-05-10 09:56:31 +00:00
|
|
|
"serde",
|
|
|
|
"serde_derive",
|
2020-11-23 03:43:22 +00:00
|
|
|
"slasher",
|
2020-12-16 03:44:01 +00:00
|
|
|
"slasher_service",
|
2020-05-10 09:56:31 +00:00
|
|
|
"slog",
|
|
|
|
"slot_clock",
|
|
|
|
"store",
|
2020-10-05 07:45:54 +00:00
|
|
|
"task_executor",
|
2021-11-18 05:08:42 +00:00
|
|
|
"time 0.3.5",
|
2020-05-10 09:56:31 +00:00
|
|
|
"timer",
|
2021-08-17 01:00:24 +00:00
|
|
|
"tokio",
|
2020-05-10 09:56:31 +00:00
|
|
|
"toml",
|
|
|
|
"types",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
2020-06-06 06:39:42 +00:00
|
|
|
[[package]]
|
|
|
|
name = "cmake"
|
2022-01-11 01:35:56 +00:00
|
|
|
version = "0.1.48"
|
2020-06-06 06:39:42 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2022-01-11 01:35:56 +00:00
|
|
|
checksum = "e8ad8cef104ac57b68b89df3208164d228503abbdce70f6880ffa3d970e7443a"
|
2020-06-06 06:39:42 +00:00
|
|
|
dependencies = [
|
|
|
|
"cc",
|
|
|
|
]
|
|
|
|
|
2019-12-09 11:39:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "compare_fields"
|
Initial work towards v0.2.0 (#924)
* Remove ping protocol
* Initial renaming of network services
* Correct rebasing relative to latest master
* Start updating types
* Adds HashMapDelay struct to utils
* Initial network restructure
* Network restructure. Adds new types for v0.2.0
* Removes build artefacts
* Shift validation to beacon chain
* Temporarily remove gossip validation
This is to be updated to match current optimisation efforts.
* Adds AggregateAndProof
* Begin rebuilding pubsub encoding/decoding
* Signature hacking
* Shift gossipsup decoding into eth2_libp2p
* Existing EF tests passing with fake_crypto
* Shifts block encoding/decoding into RPC
* Delete outdated API spec
* All release tests passing bar genesis state parsing
* Update and test YamlConfig
* Update to spec v0.10 compatible BLS
* Updates to BLS EF tests
* Add EF test for AggregateVerify
And delete unused hash2curve tests for uncompressed points
* Update EF tests to v0.10.1
* Use optional block root correctly in block proc
* Use genesis fork in deposit domain. All tests pass
* Fast aggregate verify test
* Update REST API docs
* Fix unused import
* Bump spec tags to v0.10.1
* Add `seconds_per_eth1_block` to chainspec
* Update to timestamp based eth1 voting scheme
* Return None from `get_votes_to_consider` if block cache is empty
* Handle overflows in `is_candidate_block`
* Revert to failing tests
* Fix eth1 data sets test
* Choose default vote according to spec
* Fix collect_valid_votes tests
* Fix `get_votes_to_consider` to choose all eligible blocks
* Uncomment winning_vote tests
* Add comments; remove unused code
* Reduce seconds_per_eth1_block for simulation
* Addressed review comments
* Add test for default vote case
* Fix logs
* Remove unused functions
* Meter default eth1 votes
* Fix comments
* Progress on attestation service
* Address review comments; remove unused dependency
* Initial work on removing libp2p lock
* Add LRU caches to store (rollup)
* Update attestation validation for DB changes (WIP)
* Initial version of should_forward_block
* Scaffold
* Progress on attestation validation
Also, consolidate prod+testing slot clocks so that they share much
of the same implementation and can both handle sub-slot time changes.
* Removes lock from libp2p service
* Completed network lock removal
* Finish(?) attestation processing
* Correct network termination future
* Add slot check to block check
* Correct fmt issues
* Remove Drop implementation for network service
* Add first attempt at attestation proc. re-write
* Add version 2 of attestation processing
* Minor fixes
* Add validator pubkey cache
* Make get_indexed_attestation take a committee
* Link signature processing into new attn verification
* First working version
* Ensure pubkey cache is updated
* Add more metrics, slight optimizations
* Clone committee cache during attestation processing
* Update shuffling cache during block processing
* Remove old commented-out code
* Fix shuffling cache insert bug
* Used indexed attestation in fork choice
* Restructure attn processing, add metrics
* Add more detailed metrics
* Tidy, fix failing tests
* Fix failing tests, tidy
* Address reviewers suggestions
* Disable/delete two outdated tests
* Modification of validator for subscriptions
* Add slot signing to validator client
* Further progress on validation subscription
* Adds necessary validator subscription functionality
* Add new Pubkeys struct to signature_sets
* Refactor with functional approach
* Update beacon chain
* Clean up validator <-> beacon node http types
* Add aggregator status to ValidatorDuty
* Impl Clone for manual slot clock
* Fix minor errors
* Further progress validator client subscription
* Initial subscription and aggregation handling
* Remove decompressed member from pubkey bytes
* Progress to modifying val client for attestation aggregation
* First draft of validator client upgrade for aggregate attestations
* Add hashmap for indices lookup
* Add state cache, remove store cache
* Only build the head committee cache
* Removes lock on a network channel
* Partially implement beacon node subscription http api
* Correct compilation issues
* Change `get_attesting_indices` to use Vec
* Fix failing test
* Partial implementation of timer
* Adds timer, removes exit_future, http api to op pool
* Partial multiple aggregate attestation handling
* Permits bulk messages accross gossipsub network channel
* Correct compile issues
* Improve gosispsub messaging and correct rest api helpers
* Added global gossipsub subscriptions
* Update validator subscriptions data structs
* Tidy
* Re-structure validator subscriptions
* Initial handling of subscriptions
* Re-structure network service
* Add pubkey cache persistence file
* Add more comments
* Integrate persistence file into builder
* Add pubkey cache tests
* Add HashSetDelay and introduce into attestation service
* Handles validator subscriptions
* Add data_dir to beacon chain builder
* Remove Option in pubkey cache persistence file
* Ensure consistency between datadir/data_dir
* Fix failing network test
* Peer subnet discovery gets queued for future subscriptions
* Reorganise attestation service functions
* Initial wiring of attestation service
* First draft of attestation service timing logic
* Correct minor typos
* Tidy
* Fix todos
* Improve tests
* Add PeerInfo to connected peers mapping
* Fix compile error
* Fix compile error from merge
* Split up block processing metrics
* Tidy
* Refactor get_pubkey_from_state
* Remove commented-out code
* Rename state_cache -> checkpoint_cache
* Rename Checkpoint -> Snapshot
* Tidy, add comments
* Tidy up find_head function
* Change some checkpoint -> snapshot
* Add tests
* Expose max_len
* Remove dead code
* Tidy
* Fix bug
* Add sync-speed metric
* Add first attempt at VerifiableBlock
* Start integrating into beacon chain
* Integrate VerifiableBlock
* Rename VerifableBlock -> PartialBlockVerification
* Add start of typed methods
* Add progress
* Add further progress
* Rename structs
* Add full block verification to block_processing.rs
* Further beacon chain integration
* Update checks for gossip
* Add todo
* Start adding segement verification
* Add passing chain segement test
* Initial integration with batch sync
* Minor changes
* Tidy, add more error checking
* Start adding chain_segment tests
* Finish invalid signature tests
* Include single and gossip verified blocks in tests
* Add gossip verification tests
* Start adding docs
* Finish adding comments to block_processing.rs
* Rename block_processing.rs -> block_verification
* Start removing old block processing code
* Fixes beacon_chain compilation
* Fix project-wide compile errors
* Remove old code
* Correct code to pass all tests
* Fix bug with beacon proposer index
* Fix shim for BlockProcessingError
* Only process one epoch at a time
* Fix loop in chain segment processing
* Correct tests from master merge
* Add caching for state.eth1_data_votes
* Add BeaconChain::validator_pubkey
* Revert "Add caching for state.eth1_data_votes"
This reverts commit cd73dcd6434fb8d8e6bf30c5356355598ea7b78e.
Co-authored-by: Grant Wuerker <gwuerker@gmail.com>
Co-authored-by: Michael Sproul <michael@sigmaprime.io>
Co-authored-by: Michael Sproul <micsproul@gmail.com>
Co-authored-by: pawan <pawandhananjay@gmail.com>
Co-authored-by: Paul Hauner <paul@paulhauner.com>
2020-03-17 06:24:44 +00:00
|
|
|
version = "0.2.0"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2020-05-10 09:56:31 +00:00
|
|
|
"compare_fields_derive",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "compare_fields_derive"
|
Initial work towards v0.2.0 (#924)
* Remove ping protocol
* Initial renaming of network services
* Correct rebasing relative to latest master
* Start updating types
* Adds HashMapDelay struct to utils
* Initial network restructure
* Network restructure. Adds new types for v0.2.0
* Removes build artefacts
* Shift validation to beacon chain
* Temporarily remove gossip validation
This is to be updated to match current optimisation efforts.
* Adds AggregateAndProof
* Begin rebuilding pubsub encoding/decoding
* Signature hacking
* Shift gossipsup decoding into eth2_libp2p
* Existing EF tests passing with fake_crypto
* Shifts block encoding/decoding into RPC
* Delete outdated API spec
* All release tests passing bar genesis state parsing
* Update and test YamlConfig
* Update to spec v0.10 compatible BLS
* Updates to BLS EF tests
* Add EF test for AggregateVerify
And delete unused hash2curve tests for uncompressed points
* Update EF tests to v0.10.1
* Use optional block root correctly in block proc
* Use genesis fork in deposit domain. All tests pass
* Fast aggregate verify test
* Update REST API docs
* Fix unused import
* Bump spec tags to v0.10.1
* Add `seconds_per_eth1_block` to chainspec
* Update to timestamp based eth1 voting scheme
* Return None from `get_votes_to_consider` if block cache is empty
* Handle overflows in `is_candidate_block`
* Revert to failing tests
* Fix eth1 data sets test
* Choose default vote according to spec
* Fix collect_valid_votes tests
* Fix `get_votes_to_consider` to choose all eligible blocks
* Uncomment winning_vote tests
* Add comments; remove unused code
* Reduce seconds_per_eth1_block for simulation
* Addressed review comments
* Add test for default vote case
* Fix logs
* Remove unused functions
* Meter default eth1 votes
* Fix comments
* Progress on attestation service
* Address review comments; remove unused dependency
* Initial work on removing libp2p lock
* Add LRU caches to store (rollup)
* Update attestation validation for DB changes (WIP)
* Initial version of should_forward_block
* Scaffold
* Progress on attestation validation
Also, consolidate prod+testing slot clocks so that they share much
of the same implementation and can both handle sub-slot time changes.
* Removes lock from libp2p service
* Completed network lock removal
* Finish(?) attestation processing
* Correct network termination future
* Add slot check to block check
* Correct fmt issues
* Remove Drop implementation for network service
* Add first attempt at attestation proc. re-write
* Add version 2 of attestation processing
* Minor fixes
* Add validator pubkey cache
* Make get_indexed_attestation take a committee
* Link signature processing into new attn verification
* First working version
* Ensure pubkey cache is updated
* Add more metrics, slight optimizations
* Clone committee cache during attestation processing
* Update shuffling cache during block processing
* Remove old commented-out code
* Fix shuffling cache insert bug
* Used indexed attestation in fork choice
* Restructure attn processing, add metrics
* Add more detailed metrics
* Tidy, fix failing tests
* Fix failing tests, tidy
* Address reviewers suggestions
* Disable/delete two outdated tests
* Modification of validator for subscriptions
* Add slot signing to validator client
* Further progress on validation subscription
* Adds necessary validator subscription functionality
* Add new Pubkeys struct to signature_sets
* Refactor with functional approach
* Update beacon chain
* Clean up validator <-> beacon node http types
* Add aggregator status to ValidatorDuty
* Impl Clone for manual slot clock
* Fix minor errors
* Further progress validator client subscription
* Initial subscription and aggregation handling
* Remove decompressed member from pubkey bytes
* Progress to modifying val client for attestation aggregation
* First draft of validator client upgrade for aggregate attestations
* Add hashmap for indices lookup
* Add state cache, remove store cache
* Only build the head committee cache
* Removes lock on a network channel
* Partially implement beacon node subscription http api
* Correct compilation issues
* Change `get_attesting_indices` to use Vec
* Fix failing test
* Partial implementation of timer
* Adds timer, removes exit_future, http api to op pool
* Partial multiple aggregate attestation handling
* Permits bulk messages accross gossipsub network channel
* Correct compile issues
* Improve gosispsub messaging and correct rest api helpers
* Added global gossipsub subscriptions
* Update validator subscriptions data structs
* Tidy
* Re-structure validator subscriptions
* Initial handling of subscriptions
* Re-structure network service
* Add pubkey cache persistence file
* Add more comments
* Integrate persistence file into builder
* Add pubkey cache tests
* Add HashSetDelay and introduce into attestation service
* Handles validator subscriptions
* Add data_dir to beacon chain builder
* Remove Option in pubkey cache persistence file
* Ensure consistency between datadir/data_dir
* Fix failing network test
* Peer subnet discovery gets queued for future subscriptions
* Reorganise attestation service functions
* Initial wiring of attestation service
* First draft of attestation service timing logic
* Correct minor typos
* Tidy
* Fix todos
* Improve tests
* Add PeerInfo to connected peers mapping
* Fix compile error
* Fix compile error from merge
* Split up block processing metrics
* Tidy
* Refactor get_pubkey_from_state
* Remove commented-out code
* Rename state_cache -> checkpoint_cache
* Rename Checkpoint -> Snapshot
* Tidy, add comments
* Tidy up find_head function
* Change some checkpoint -> snapshot
* Add tests
* Expose max_len
* Remove dead code
* Tidy
* Fix bug
* Add sync-speed metric
* Add first attempt at VerifiableBlock
* Start integrating into beacon chain
* Integrate VerifiableBlock
* Rename VerifableBlock -> PartialBlockVerification
* Add start of typed methods
* Add progress
* Add further progress
* Rename structs
* Add full block verification to block_processing.rs
* Further beacon chain integration
* Update checks for gossip
* Add todo
* Start adding segement verification
* Add passing chain segement test
* Initial integration with batch sync
* Minor changes
* Tidy, add more error checking
* Start adding chain_segment tests
* Finish invalid signature tests
* Include single and gossip verified blocks in tests
* Add gossip verification tests
* Start adding docs
* Finish adding comments to block_processing.rs
* Rename block_processing.rs -> block_verification
* Start removing old block processing code
* Fixes beacon_chain compilation
* Fix project-wide compile errors
* Remove old code
* Correct code to pass all tests
* Fix bug with beacon proposer index
* Fix shim for BlockProcessingError
* Only process one epoch at a time
* Fix loop in chain segment processing
* Correct tests from master merge
* Add caching for state.eth1_data_votes
* Add BeaconChain::validator_pubkey
* Revert "Add caching for state.eth1_data_votes"
This reverts commit cd73dcd6434fb8d8e6bf30c5356355598ea7b78e.
Co-authored-by: Grant Wuerker <gwuerker@gmail.com>
Co-authored-by: Michael Sproul <michael@sigmaprime.io>
Co-authored-by: Michael Sproul <micsproul@gmail.com>
Co-authored-by: pawan <pawandhananjay@gmail.com>
Co-authored-by: Paul Hauner <paul@paulhauner.com>
2020-03-17 06:24:44 +00:00
|
|
|
version = "0.2.0"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2020-05-17 11:16:48 +00:00
|
|
|
"quote",
|
|
|
|
"syn",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "console_error_panic_hook"
|
2021-10-14 02:58:11 +00:00
|
|
|
version = "0.1.7"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-10-14 02:58:11 +00:00
|
|
|
checksum = "a06aeb73f470f66dcdbf7223caeebb85984942f22f1adb2a088cf9668146bbbc"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2021-11-18 05:08:42 +00:00
|
|
|
"cfg-if",
|
2020-05-10 09:56:31 +00:00
|
|
|
"wasm-bindgen",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
2020-10-23 04:16:33 +00:00
|
|
|
[[package]]
|
|
|
|
name = "const-oid"
|
2021-07-05 00:54:17 +00:00
|
|
|
version = "0.5.2"
|
2020-10-23 04:16:33 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-07-05 00:54:17 +00:00
|
|
|
checksum = "279bc8fc53f788a75c7804af68237d1fce02cde1e275a886a4b320604dc2aeda"
|
2020-10-23 04:16:33 +00:00
|
|
|
|
2021-12-22 06:17:14 +00:00
|
|
|
[[package]]
|
|
|
|
name = "const-oid"
|
|
|
|
version = "0.7.1"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
checksum = "e4c78c047431fee22c1a7bb92e00ad095a02a983affe4d8a72e2a2c62c1b94f3"
|
|
|
|
|
2021-05-04 00:44:05 +00:00
|
|
|
[[package]]
|
|
|
|
name = "convert_case"
|
|
|
|
version = "0.4.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e"
|
|
|
|
|
2019-12-09 11:39:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "core-foundation"
|
2021-10-14 22:09:38 +00:00
|
|
|
version = "0.9.2"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-10-14 22:09:38 +00:00
|
|
|
checksum = "6888e10551bb93e424d8df1d07f1a8b4fceb0001a3a4b048bfc47554946f47b3"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2020-05-10 09:56:31 +00:00
|
|
|
"core-foundation-sys",
|
|
|
|
"libc",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "core-foundation-sys"
|
2021-10-14 22:09:38 +00:00
|
|
|
version = "0.8.3"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-10-14 22:09:38 +00:00
|
|
|
checksum = "5827cebf4670468b8772dd191856768aedcb1b0278a04f989f7766351917b9dc"
|
2019-12-09 11:39:44 +00:00
|
|
|
|
2020-07-06 01:55:56 +00:00
|
|
|
[[package]]
|
2021-07-05 00:54:17 +00:00
|
|
|
name = "cpufeatures"
|
|
|
|
version = "0.1.5"
|
2020-12-10 04:01:40 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-07-05 00:54:17 +00:00
|
|
|
checksum = "66c99696f6c9dd7f35d486b9d04d7e6e202aa3e8c40d553f2fdf5e7e0c6a71ef"
|
|
|
|
dependencies = [
|
|
|
|
"libc",
|
|
|
|
]
|
2021-06-02 01:07:28 +00:00
|
|
|
|
2021-09-16 04:45:05 +00:00
|
|
|
[[package]]
|
|
|
|
name = "cpufeatures"
|
|
|
|
version = "0.2.1"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
checksum = "95059428f66df56b63431fdb4e1947ed2190586af5c5a8a8b71122bdf5a7f469"
|
|
|
|
dependencies = [
|
|
|
|
"libc",
|
|
|
|
]
|
|
|
|
|
2019-12-09 11:39:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "crc32fast"
|
2021-12-22 06:17:14 +00:00
|
|
|
version = "1.3.0"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-12-22 06:17:14 +00:00
|
|
|
checksum = "738c290dfaea84fc1ca15ad9c168d083b05a714e1efddd8edaab678dc28d2836"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2021-11-18 05:08:42 +00:00
|
|
|
"cfg-if",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "criterion"
|
2021-08-17 01:00:24 +00:00
|
|
|
version = "0.3.5"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-08-17 01:00:24 +00:00
|
|
|
checksum = "1604dafd25fba2fe2d5895a9da139f8dc9b319a5fe5354ca137cbbce4e178d10"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2020-05-10 09:56:31 +00:00
|
|
|
"atty",
|
|
|
|
"cast",
|
|
|
|
"clap",
|
|
|
|
"criterion-plot",
|
|
|
|
"csv",
|
2021-08-17 01:00:24 +00:00
|
|
|
"itertools",
|
2020-05-10 09:56:31 +00:00
|
|
|
"lazy_static",
|
|
|
|
"num-traits",
|
|
|
|
"oorandom",
|
|
|
|
"plotters",
|
|
|
|
"rayon",
|
|
|
|
"regex",
|
|
|
|
"serde",
|
2020-07-06 01:55:56 +00:00
|
|
|
"serde_cbor",
|
2020-05-10 09:56:31 +00:00
|
|
|
"serde_derive",
|
|
|
|
"serde_json",
|
|
|
|
"tinytemplate",
|
|
|
|
"walkdir",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "criterion-plot"
|
2021-08-17 01:00:24 +00:00
|
|
|
version = "0.4.4"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-08-17 01:00:24 +00:00
|
|
|
checksum = "d00996de9f2f7559f7f4dc286073197f83e92256a59ed395f9aac01fe717da57"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2020-05-10 09:56:31 +00:00
|
|
|
"cast",
|
2021-08-17 01:00:24 +00:00
|
|
|
"itertools",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
Initial work towards v0.2.0 (#924)
* Remove ping protocol
* Initial renaming of network services
* Correct rebasing relative to latest master
* Start updating types
* Adds HashMapDelay struct to utils
* Initial network restructure
* Network restructure. Adds new types for v0.2.0
* Removes build artefacts
* Shift validation to beacon chain
* Temporarily remove gossip validation
This is to be updated to match current optimisation efforts.
* Adds AggregateAndProof
* Begin rebuilding pubsub encoding/decoding
* Signature hacking
* Shift gossipsup decoding into eth2_libp2p
* Existing EF tests passing with fake_crypto
* Shifts block encoding/decoding into RPC
* Delete outdated API spec
* All release tests passing bar genesis state parsing
* Update and test YamlConfig
* Update to spec v0.10 compatible BLS
* Updates to BLS EF tests
* Add EF test for AggregateVerify
And delete unused hash2curve tests for uncompressed points
* Update EF tests to v0.10.1
* Use optional block root correctly in block proc
* Use genesis fork in deposit domain. All tests pass
* Fast aggregate verify test
* Update REST API docs
* Fix unused import
* Bump spec tags to v0.10.1
* Add `seconds_per_eth1_block` to chainspec
* Update to timestamp based eth1 voting scheme
* Return None from `get_votes_to_consider` if block cache is empty
* Handle overflows in `is_candidate_block`
* Revert to failing tests
* Fix eth1 data sets test
* Choose default vote according to spec
* Fix collect_valid_votes tests
* Fix `get_votes_to_consider` to choose all eligible blocks
* Uncomment winning_vote tests
* Add comments; remove unused code
* Reduce seconds_per_eth1_block for simulation
* Addressed review comments
* Add test for default vote case
* Fix logs
* Remove unused functions
* Meter default eth1 votes
* Fix comments
* Progress on attestation service
* Address review comments; remove unused dependency
* Initial work on removing libp2p lock
* Add LRU caches to store (rollup)
* Update attestation validation for DB changes (WIP)
* Initial version of should_forward_block
* Scaffold
* Progress on attestation validation
Also, consolidate prod+testing slot clocks so that they share much
of the same implementation and can both handle sub-slot time changes.
* Removes lock from libp2p service
* Completed network lock removal
* Finish(?) attestation processing
* Correct network termination future
* Add slot check to block check
* Correct fmt issues
* Remove Drop implementation for network service
* Add first attempt at attestation proc. re-write
* Add version 2 of attestation processing
* Minor fixes
* Add validator pubkey cache
* Make get_indexed_attestation take a committee
* Link signature processing into new attn verification
* First working version
* Ensure pubkey cache is updated
* Add more metrics, slight optimizations
* Clone committee cache during attestation processing
* Update shuffling cache during block processing
* Remove old commented-out code
* Fix shuffling cache insert bug
* Used indexed attestation in fork choice
* Restructure attn processing, add metrics
* Add more detailed metrics
* Tidy, fix failing tests
* Fix failing tests, tidy
* Address reviewers suggestions
* Disable/delete two outdated tests
* Modification of validator for subscriptions
* Add slot signing to validator client
* Further progress on validation subscription
* Adds necessary validator subscription functionality
* Add new Pubkeys struct to signature_sets
* Refactor with functional approach
* Update beacon chain
* Clean up validator <-> beacon node http types
* Add aggregator status to ValidatorDuty
* Impl Clone for manual slot clock
* Fix minor errors
* Further progress validator client subscription
* Initial subscription and aggregation handling
* Remove decompressed member from pubkey bytes
* Progress to modifying val client for attestation aggregation
* First draft of validator client upgrade for aggregate attestations
* Add hashmap for indices lookup
* Add state cache, remove store cache
* Only build the head committee cache
* Removes lock on a network channel
* Partially implement beacon node subscription http api
* Correct compilation issues
* Change `get_attesting_indices` to use Vec
* Fix failing test
* Partial implementation of timer
* Adds timer, removes exit_future, http api to op pool
* Partial multiple aggregate attestation handling
* Permits bulk messages accross gossipsub network channel
* Correct compile issues
* Improve gosispsub messaging and correct rest api helpers
* Added global gossipsub subscriptions
* Update validator subscriptions data structs
* Tidy
* Re-structure validator subscriptions
* Initial handling of subscriptions
* Re-structure network service
* Add pubkey cache persistence file
* Add more comments
* Integrate persistence file into builder
* Add pubkey cache tests
* Add HashSetDelay and introduce into attestation service
* Handles validator subscriptions
* Add data_dir to beacon chain builder
* Remove Option in pubkey cache persistence file
* Ensure consistency between datadir/data_dir
* Fix failing network test
* Peer subnet discovery gets queued for future subscriptions
* Reorganise attestation service functions
* Initial wiring of attestation service
* First draft of attestation service timing logic
* Correct minor typos
* Tidy
* Fix todos
* Improve tests
* Add PeerInfo to connected peers mapping
* Fix compile error
* Fix compile error from merge
* Split up block processing metrics
* Tidy
* Refactor get_pubkey_from_state
* Remove commented-out code
* Rename state_cache -> checkpoint_cache
* Rename Checkpoint -> Snapshot
* Tidy, add comments
* Tidy up find_head function
* Change some checkpoint -> snapshot
* Add tests
* Expose max_len
* Remove dead code
* Tidy
* Fix bug
* Add sync-speed metric
* Add first attempt at VerifiableBlock
* Start integrating into beacon chain
* Integrate VerifiableBlock
* Rename VerifableBlock -> PartialBlockVerification
* Add start of typed methods
* Add progress
* Add further progress
* Rename structs
* Add full block verification to block_processing.rs
* Further beacon chain integration
* Update checks for gossip
* Add todo
* Start adding segement verification
* Add passing chain segement test
* Initial integration with batch sync
* Minor changes
* Tidy, add more error checking
* Start adding chain_segment tests
* Finish invalid signature tests
* Include single and gossip verified blocks in tests
* Add gossip verification tests
* Start adding docs
* Finish adding comments to block_processing.rs
* Rename block_processing.rs -> block_verification
* Start removing old block processing code
* Fixes beacon_chain compilation
* Fix project-wide compile errors
* Remove old code
* Correct code to pass all tests
* Fix bug with beacon proposer index
* Fix shim for BlockProcessingError
* Only process one epoch at a time
* Fix loop in chain segment processing
* Correct tests from master merge
* Add caching for state.eth1_data_votes
* Add BeaconChain::validator_pubkey
* Revert "Add caching for state.eth1_data_votes"
This reverts commit cd73dcd6434fb8d8e6bf30c5356355598ea7b78e.
Co-authored-by: Grant Wuerker <gwuerker@gmail.com>
Co-authored-by: Michael Sproul <michael@sigmaprime.io>
Co-authored-by: Michael Sproul <micsproul@gmail.com>
Co-authored-by: pawan <pawandhananjay@gmail.com>
Co-authored-by: Paul Hauner <paul@paulhauner.com>
2020-03-17 06:24:44 +00:00
|
|
|
name = "crossbeam-channel"
|
2022-01-11 01:35:56 +00:00
|
|
|
version = "0.5.2"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2022-01-11 01:35:56 +00:00
|
|
|
checksum = "e54ea8bc3fb1ee042f5aace6e3c6e025d3874866da222930f70ce62aceba0bfa"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2021-11-18 05:08:42 +00:00
|
|
|
"cfg-if",
|
2021-02-10 23:29:49 +00:00
|
|
|
"crossbeam-utils",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
2020-10-23 04:16:33 +00:00
|
|
|
[[package]]
|
|
|
|
name = "crossbeam-deque"
|
2021-08-17 01:00:24 +00:00
|
|
|
version = "0.8.1"
|
2020-10-23 04:16:33 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-08-17 01:00:24 +00:00
|
|
|
checksum = "6455c0ca19f0d2fbf751b908d5c55c1f5cbc65e03c4225427254b46890bdde1e"
|
2020-10-23 04:16:33 +00:00
|
|
|
dependencies = [
|
2021-11-18 05:08:42 +00:00
|
|
|
"cfg-if",
|
2020-12-09 01:34:58 +00:00
|
|
|
"crossbeam-epoch",
|
2021-02-10 23:29:49 +00:00
|
|
|
"crossbeam-utils",
|
2020-10-23 04:16:33 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "crossbeam-epoch"
|
2022-01-11 01:35:56 +00:00
|
|
|
version = "0.9.6"
|
2020-10-23 04:16:33 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2022-01-11 01:35:56 +00:00
|
|
|
checksum = "97242a70df9b89a65d0b6df3c4bf5b9ce03c5b7309019777fbde37e7537f8762"
|
2020-10-23 04:16:33 +00:00
|
|
|
dependencies = [
|
2021-11-18 05:08:42 +00:00
|
|
|
"cfg-if",
|
2021-02-10 23:29:49 +00:00
|
|
|
"crossbeam-utils",
|
2020-10-23 04:16:33 +00:00
|
|
|
"lazy_static",
|
2020-12-09 01:34:58 +00:00
|
|
|
"memoffset",
|
2020-10-23 04:16:33 +00:00
|
|
|
"scopeguard",
|
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "crossbeam-utils"
|
2022-01-11 01:35:56 +00:00
|
|
|
version = "0.8.6"
|
2020-10-23 04:16:33 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2022-01-11 01:35:56 +00:00
|
|
|
checksum = "cfcae03edb34f947e64acdb1c33ec169824e20657e9ecb61cef6c8c74dcb8120"
|
2020-10-23 04:16:33 +00:00
|
|
|
dependencies = [
|
2021-11-18 05:08:42 +00:00
|
|
|
"cfg-if",
|
2020-05-10 09:56:31 +00:00
|
|
|
"lazy_static",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "crunchy"
|
|
|
|
version = "0.2.2"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2020-05-10 09:56:31 +00:00
|
|
|
checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7"
|
2019-12-09 11:39:44 +00:00
|
|
|
|
2021-12-22 06:17:14 +00:00
|
|
|
[[package]]
|
|
|
|
name = "crypto-bigint"
|
|
|
|
version = "0.3.2"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
checksum = "03c6a1d5fa1de37e071642dfa44ec552ca5b299adb128fab16138e24b548fd21"
|
|
|
|
dependencies = [
|
|
|
|
"generic-array",
|
|
|
|
"rand_core 0.6.3",
|
|
|
|
"subtle",
|
|
|
|
"zeroize",
|
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "crypto-common"
|
|
|
|
version = "0.1.1"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
checksum = "683d6b536309245c849479fba3da410962a43ed8e51c26b729208ec0ac2798d0"
|
|
|
|
dependencies = [
|
|
|
|
"generic-array",
|
|
|
|
]
|
|
|
|
|
2020-07-01 08:01:03 +00:00
|
|
|
[[package]]
|
|
|
|
name = "crypto-mac"
|
|
|
|
version = "0.8.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
checksum = "b584a330336237c1eecd3e94266efb216c56ed91225d634cb2991c5f3fd1aeab"
|
|
|
|
dependencies = [
|
2021-07-13 00:48:33 +00:00
|
|
|
"generic-array",
|
|
|
|
"subtle",
|
2020-07-01 08:01:03 +00:00
|
|
|
]
|
|
|
|
|
2020-11-28 05:30:57 +00:00
|
|
|
[[package]]
|
|
|
|
name = "crypto-mac"
|
2021-08-17 01:00:24 +00:00
|
|
|
version = "0.11.1"
|
2021-07-05 00:54:17 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-08-17 01:00:24 +00:00
|
|
|
checksum = "b1d1a86f49236c215f271d40892d5fc950490551400b02ef360692c29815c714"
|
2021-07-05 00:54:17 +00:00
|
|
|
dependencies = [
|
2021-07-13 00:48:33 +00:00
|
|
|
"generic-array",
|
|
|
|
"subtle",
|
2021-07-05 00:54:17 +00:00
|
|
|
]
|
|
|
|
|
2019-12-09 11:39:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "csv"
|
2021-03-08 06:27:49 +00:00
|
|
|
version = "1.1.6"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-03-08 06:27:49 +00:00
|
|
|
checksum = "22813a6dc45b335f9bade10bf7271dc477e81113e89eb251a0bc2a8a81c536e1"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2020-05-10 09:56:31 +00:00
|
|
|
"bstr",
|
|
|
|
"csv-core",
|
2021-12-22 06:17:14 +00:00
|
|
|
"itoa 0.4.8",
|
2020-05-10 09:56:31 +00:00
|
|
|
"ryu",
|
|
|
|
"serde",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "csv-core"
|
Initial work towards v0.2.0 (#924)
* Remove ping protocol
* Initial renaming of network services
* Correct rebasing relative to latest master
* Start updating types
* Adds HashMapDelay struct to utils
* Initial network restructure
* Network restructure. Adds new types for v0.2.0
* Removes build artefacts
* Shift validation to beacon chain
* Temporarily remove gossip validation
This is to be updated to match current optimisation efforts.
* Adds AggregateAndProof
* Begin rebuilding pubsub encoding/decoding
* Signature hacking
* Shift gossipsup decoding into eth2_libp2p
* Existing EF tests passing with fake_crypto
* Shifts block encoding/decoding into RPC
* Delete outdated API spec
* All release tests passing bar genesis state parsing
* Update and test YamlConfig
* Update to spec v0.10 compatible BLS
* Updates to BLS EF tests
* Add EF test for AggregateVerify
And delete unused hash2curve tests for uncompressed points
* Update EF tests to v0.10.1
* Use optional block root correctly in block proc
* Use genesis fork in deposit domain. All tests pass
* Fast aggregate verify test
* Update REST API docs
* Fix unused import
* Bump spec tags to v0.10.1
* Add `seconds_per_eth1_block` to chainspec
* Update to timestamp based eth1 voting scheme
* Return None from `get_votes_to_consider` if block cache is empty
* Handle overflows in `is_candidate_block`
* Revert to failing tests
* Fix eth1 data sets test
* Choose default vote according to spec
* Fix collect_valid_votes tests
* Fix `get_votes_to_consider` to choose all eligible blocks
* Uncomment winning_vote tests
* Add comments; remove unused code
* Reduce seconds_per_eth1_block for simulation
* Addressed review comments
* Add test for default vote case
* Fix logs
* Remove unused functions
* Meter default eth1 votes
* Fix comments
* Progress on attestation service
* Address review comments; remove unused dependency
* Initial work on removing libp2p lock
* Add LRU caches to store (rollup)
* Update attestation validation for DB changes (WIP)
* Initial version of should_forward_block
* Scaffold
* Progress on attestation validation
Also, consolidate prod+testing slot clocks so that they share much
of the same implementation and can both handle sub-slot time changes.
* Removes lock from libp2p service
* Completed network lock removal
* Finish(?) attestation processing
* Correct network termination future
* Add slot check to block check
* Correct fmt issues
* Remove Drop implementation for network service
* Add first attempt at attestation proc. re-write
* Add version 2 of attestation processing
* Minor fixes
* Add validator pubkey cache
* Make get_indexed_attestation take a committee
* Link signature processing into new attn verification
* First working version
* Ensure pubkey cache is updated
* Add more metrics, slight optimizations
* Clone committee cache during attestation processing
* Update shuffling cache during block processing
* Remove old commented-out code
* Fix shuffling cache insert bug
* Used indexed attestation in fork choice
* Restructure attn processing, add metrics
* Add more detailed metrics
* Tidy, fix failing tests
* Fix failing tests, tidy
* Address reviewers suggestions
* Disable/delete two outdated tests
* Modification of validator for subscriptions
* Add slot signing to validator client
* Further progress on validation subscription
* Adds necessary validator subscription functionality
* Add new Pubkeys struct to signature_sets
* Refactor with functional approach
* Update beacon chain
* Clean up validator <-> beacon node http types
* Add aggregator status to ValidatorDuty
* Impl Clone for manual slot clock
* Fix minor errors
* Further progress validator client subscription
* Initial subscription and aggregation handling
* Remove decompressed member from pubkey bytes
* Progress to modifying val client for attestation aggregation
* First draft of validator client upgrade for aggregate attestations
* Add hashmap for indices lookup
* Add state cache, remove store cache
* Only build the head committee cache
* Removes lock on a network channel
* Partially implement beacon node subscription http api
* Correct compilation issues
* Change `get_attesting_indices` to use Vec
* Fix failing test
* Partial implementation of timer
* Adds timer, removes exit_future, http api to op pool
* Partial multiple aggregate attestation handling
* Permits bulk messages accross gossipsub network channel
* Correct compile issues
* Improve gosispsub messaging and correct rest api helpers
* Added global gossipsub subscriptions
* Update validator subscriptions data structs
* Tidy
* Re-structure validator subscriptions
* Initial handling of subscriptions
* Re-structure network service
* Add pubkey cache persistence file
* Add more comments
* Integrate persistence file into builder
* Add pubkey cache tests
* Add HashSetDelay and introduce into attestation service
* Handles validator subscriptions
* Add data_dir to beacon chain builder
* Remove Option in pubkey cache persistence file
* Ensure consistency between datadir/data_dir
* Fix failing network test
* Peer subnet discovery gets queued for future subscriptions
* Reorganise attestation service functions
* Initial wiring of attestation service
* First draft of attestation service timing logic
* Correct minor typos
* Tidy
* Fix todos
* Improve tests
* Add PeerInfo to connected peers mapping
* Fix compile error
* Fix compile error from merge
* Split up block processing metrics
* Tidy
* Refactor get_pubkey_from_state
* Remove commented-out code
* Rename state_cache -> checkpoint_cache
* Rename Checkpoint -> Snapshot
* Tidy, add comments
* Tidy up find_head function
* Change some checkpoint -> snapshot
* Add tests
* Expose max_len
* Remove dead code
* Tidy
* Fix bug
* Add sync-speed metric
* Add first attempt at VerifiableBlock
* Start integrating into beacon chain
* Integrate VerifiableBlock
* Rename VerifableBlock -> PartialBlockVerification
* Add start of typed methods
* Add progress
* Add further progress
* Rename structs
* Add full block verification to block_processing.rs
* Further beacon chain integration
* Update checks for gossip
* Add todo
* Start adding segement verification
* Add passing chain segement test
* Initial integration with batch sync
* Minor changes
* Tidy, add more error checking
* Start adding chain_segment tests
* Finish invalid signature tests
* Include single and gossip verified blocks in tests
* Add gossip verification tests
* Start adding docs
* Finish adding comments to block_processing.rs
* Rename block_processing.rs -> block_verification
* Start removing old block processing code
* Fixes beacon_chain compilation
* Fix project-wide compile errors
* Remove old code
* Correct code to pass all tests
* Fix bug with beacon proposer index
* Fix shim for BlockProcessingError
* Only process one epoch at a time
* Fix loop in chain segment processing
* Correct tests from master merge
* Add caching for state.eth1_data_votes
* Add BeaconChain::validator_pubkey
* Revert "Add caching for state.eth1_data_votes"
This reverts commit cd73dcd6434fb8d8e6bf30c5356355598ea7b78e.
Co-authored-by: Grant Wuerker <gwuerker@gmail.com>
Co-authored-by: Michael Sproul <michael@sigmaprime.io>
Co-authored-by: Michael Sproul <micsproul@gmail.com>
Co-authored-by: pawan <pawandhananjay@gmail.com>
Co-authored-by: Paul Hauner <paul@paulhauner.com>
2020-03-17 06:24:44 +00:00
|
|
|
version = "0.1.10"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2020-05-10 09:56:31 +00:00
|
|
|
checksum = "2b2466559f260f48ad25fe6317b3c8dac77b5bdb5763ac7d9d6103530663bc90"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2020-05-10 09:56:31 +00:00
|
|
|
"memchr",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
2021-08-17 01:00:24 +00:00
|
|
|
[[package]]
|
|
|
|
name = "ctr"
|
|
|
|
version = "0.8.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
checksum = "049bb91fb4aaf0e3c7efa6cd5ef877dbbbd15b39dad06d9948de4ec8a75761ea"
|
|
|
|
dependencies = [
|
|
|
|
"cipher",
|
2020-11-28 05:30:57 +00:00
|
|
|
]
|
|
|
|
|
2019-12-09 11:39:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "ctrlc"
|
2021-12-22 06:17:14 +00:00
|
|
|
version = "3.2.1"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-12-22 06:17:14 +00:00
|
|
|
checksum = "a19c6cedffdc8c03a3346d723eb20bd85a13362bb96dc2ac000842c6381ec7bf"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2021-12-22 06:17:14 +00:00
|
|
|
"nix 0.23.1",
|
2021-07-09 03:20:24 +00:00
|
|
|
"winapi",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
2020-08-21 12:00:01 +00:00
|
|
|
[[package]]
|
|
|
|
name = "curve25519-dalek"
|
2021-08-17 01:00:24 +00:00
|
|
|
version = "3.2.0"
|
2020-08-21 12:00:01 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-08-17 01:00:24 +00:00
|
|
|
checksum = "0b9fdf9972b2bd6af2d913799d9ebc165ea4d2e65878e329d9c6b372c4491b61"
|
2020-08-21 12:00:01 +00:00
|
|
|
dependencies = [
|
|
|
|
"byteorder",
|
2021-12-22 06:17:14 +00:00
|
|
|
"digest 0.9.0",
|
2020-08-21 12:00:01 +00:00
|
|
|
"rand_core 0.5.1",
|
2021-07-13 00:48:33 +00:00
|
|
|
"subtle",
|
2020-08-21 12:00:01 +00:00
|
|
|
"zeroize",
|
|
|
|
]
|
|
|
|
|
Implement SSZ union type (#2579)
## Issue Addressed
NA
## Proposed Changes
Implements the "union" type from the SSZ spec for `ssz`, `ssz_derive`, `tree_hash` and `tree_hash_derive` so it may be derived for `enums`:
https://github.com/ethereum/consensus-specs/blob/v1.1.0-beta.3/ssz/simple-serialize.md#union
The union type is required for the merge, since the `Transaction` type is defined as a single-variant union `Union[OpaqueTransaction]`.
### Crate Updates
This PR will (hopefully) cause CI to publish new versions for the following crates:
- `eth2_ssz_derive`: `0.2.1` -> `0.3.0`
- `eth2_ssz`: `0.3.0` -> `0.4.0`
- `eth2_ssz_types`: `0.2.0` -> `0.2.1`
- `tree_hash`: `0.3.0` -> `0.4.0`
- `tree_hash_derive`: `0.3.0` -> `0.4.0`
These these crates depend on each other, I've had to add a workspace-level `[patch]` for these crates. A follow-up PR will need to remove this patch, ones the new versions are published.
### Union Behaviors
We already had SSZ `Encode` and `TreeHash` derive for enums, however it just did a "transparent" pass-through of the inner value. Since the "union" decoding from the spec is in conflict with the transparent method, I've required that all `enum` have exactly one of the following enum-level attributes:
#### SSZ
- `#[ssz(enum_behaviour = "union")]`
- matches the spec used for the merge
- `#[ssz(enum_behaviour = "transparent")]`
- maintains existing functionality
- not supported for `Decode` (never was)
#### TreeHash
- `#[tree_hash(enum_behaviour = "union")]`
- matches the spec used for the merge
- `#[tree_hash(enum_behaviour = "transparent")]`
- maintains existing functionality
This means that we can maintain the existing transparent behaviour, but all existing users will get a compile-time error until they explicitly opt-in to being transparent.
### Legacy Option Encoding
Before this PR, we already had a union-esque encoding for `Option<T>`. However, this was with the *old* SSZ spec where the union selector was 4 bytes. During merge specification, the spec was changed to use 1 byte for the selector.
Whilst the 4-byte `Option` encoding was never used in the spec, we used it in our database. Writing a migrate script for all occurrences of `Option` in the database would be painful, especially since it's used in the `CommitteeCache`. To avoid the migrate script, I added a serde-esque `#[ssz(with = "module")]` field-level attribute to `ssz_derive` so that we can opt into the 4-byte encoding on a field-by-field basis.
The `ssz::legacy::four_byte_impl!` macro allows a one-liner to define the module required for the `#[ssz(with = "module")]` for some `Option<T> where T: Encode + Decode`.
Notably, **I have removed `Encode` and `Decode` impls for `Option`**. I've done this to force a break on downstream users. Like I mentioned, `Option` isn't used in the spec so I don't think it'll be *that* annoying. I think it's nicer than quietly having two different union implementations or quietly breaking the existing `Option` impl.
### Crate Publish Ordering
I've modified the order in which CI publishes crates to ensure that we don't publish a crate without ensuring we already published a crate that it depends upon.
## TODO
- [ ] Queue a follow-up `[patch]`-removing PR.
2021-09-25 05:58:36 +00:00
|
|
|
[[package]]
|
|
|
|
name = "darling"
|
2021-12-22 06:17:14 +00:00
|
|
|
version = "0.13.1"
|
Implement SSZ union type (#2579)
## Issue Addressed
NA
## Proposed Changes
Implements the "union" type from the SSZ spec for `ssz`, `ssz_derive`, `tree_hash` and `tree_hash_derive` so it may be derived for `enums`:
https://github.com/ethereum/consensus-specs/blob/v1.1.0-beta.3/ssz/simple-serialize.md#union
The union type is required for the merge, since the `Transaction` type is defined as a single-variant union `Union[OpaqueTransaction]`.
### Crate Updates
This PR will (hopefully) cause CI to publish new versions for the following crates:
- `eth2_ssz_derive`: `0.2.1` -> `0.3.0`
- `eth2_ssz`: `0.3.0` -> `0.4.0`
- `eth2_ssz_types`: `0.2.0` -> `0.2.1`
- `tree_hash`: `0.3.0` -> `0.4.0`
- `tree_hash_derive`: `0.3.0` -> `0.4.0`
These these crates depend on each other, I've had to add a workspace-level `[patch]` for these crates. A follow-up PR will need to remove this patch, ones the new versions are published.
### Union Behaviors
We already had SSZ `Encode` and `TreeHash` derive for enums, however it just did a "transparent" pass-through of the inner value. Since the "union" decoding from the spec is in conflict with the transparent method, I've required that all `enum` have exactly one of the following enum-level attributes:
#### SSZ
- `#[ssz(enum_behaviour = "union")]`
- matches the spec used for the merge
- `#[ssz(enum_behaviour = "transparent")]`
- maintains existing functionality
- not supported for `Decode` (never was)
#### TreeHash
- `#[tree_hash(enum_behaviour = "union")]`
- matches the spec used for the merge
- `#[tree_hash(enum_behaviour = "transparent")]`
- maintains existing functionality
This means that we can maintain the existing transparent behaviour, but all existing users will get a compile-time error until they explicitly opt-in to being transparent.
### Legacy Option Encoding
Before this PR, we already had a union-esque encoding for `Option<T>`. However, this was with the *old* SSZ spec where the union selector was 4 bytes. During merge specification, the spec was changed to use 1 byte for the selector.
Whilst the 4-byte `Option` encoding was never used in the spec, we used it in our database. Writing a migrate script for all occurrences of `Option` in the database would be painful, especially since it's used in the `CommitteeCache`. To avoid the migrate script, I added a serde-esque `#[ssz(with = "module")]` field-level attribute to `ssz_derive` so that we can opt into the 4-byte encoding on a field-by-field basis.
The `ssz::legacy::four_byte_impl!` macro allows a one-liner to define the module required for the `#[ssz(with = "module")]` for some `Option<T> where T: Encode + Decode`.
Notably, **I have removed `Encode` and `Decode` impls for `Option`**. I've done this to force a break on downstream users. Like I mentioned, `Option` isn't used in the spec so I don't think it'll be *that* annoying. I think it's nicer than quietly having two different union implementations or quietly breaking the existing `Option` impl.
### Crate Publish Ordering
I've modified the order in which CI publishes crates to ensure that we don't publish a crate without ensuring we already published a crate that it depends upon.
## TODO
- [ ] Queue a follow-up `[patch]`-removing PR.
2021-09-25 05:58:36 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-12-22 06:17:14 +00:00
|
|
|
checksum = "d0d720b8683f8dd83c65155f0530560cba68cd2bf395f6513a483caee57ff7f4"
|
Implement SSZ union type (#2579)
## Issue Addressed
NA
## Proposed Changes
Implements the "union" type from the SSZ spec for `ssz`, `ssz_derive`, `tree_hash` and `tree_hash_derive` so it may be derived for `enums`:
https://github.com/ethereum/consensus-specs/blob/v1.1.0-beta.3/ssz/simple-serialize.md#union
The union type is required for the merge, since the `Transaction` type is defined as a single-variant union `Union[OpaqueTransaction]`.
### Crate Updates
This PR will (hopefully) cause CI to publish new versions for the following crates:
- `eth2_ssz_derive`: `0.2.1` -> `0.3.0`
- `eth2_ssz`: `0.3.0` -> `0.4.0`
- `eth2_ssz_types`: `0.2.0` -> `0.2.1`
- `tree_hash`: `0.3.0` -> `0.4.0`
- `tree_hash_derive`: `0.3.0` -> `0.4.0`
These these crates depend on each other, I've had to add a workspace-level `[patch]` for these crates. A follow-up PR will need to remove this patch, ones the new versions are published.
### Union Behaviors
We already had SSZ `Encode` and `TreeHash` derive for enums, however it just did a "transparent" pass-through of the inner value. Since the "union" decoding from the spec is in conflict with the transparent method, I've required that all `enum` have exactly one of the following enum-level attributes:
#### SSZ
- `#[ssz(enum_behaviour = "union")]`
- matches the spec used for the merge
- `#[ssz(enum_behaviour = "transparent")]`
- maintains existing functionality
- not supported for `Decode` (never was)
#### TreeHash
- `#[tree_hash(enum_behaviour = "union")]`
- matches the spec used for the merge
- `#[tree_hash(enum_behaviour = "transparent")]`
- maintains existing functionality
This means that we can maintain the existing transparent behaviour, but all existing users will get a compile-time error until they explicitly opt-in to being transparent.
### Legacy Option Encoding
Before this PR, we already had a union-esque encoding for `Option<T>`. However, this was with the *old* SSZ spec where the union selector was 4 bytes. During merge specification, the spec was changed to use 1 byte for the selector.
Whilst the 4-byte `Option` encoding was never used in the spec, we used it in our database. Writing a migrate script for all occurrences of `Option` in the database would be painful, especially since it's used in the `CommitteeCache`. To avoid the migrate script, I added a serde-esque `#[ssz(with = "module")]` field-level attribute to `ssz_derive` so that we can opt into the 4-byte encoding on a field-by-field basis.
The `ssz::legacy::four_byte_impl!` macro allows a one-liner to define the module required for the `#[ssz(with = "module")]` for some `Option<T> where T: Encode + Decode`.
Notably, **I have removed `Encode` and `Decode` impls for `Option`**. I've done this to force a break on downstream users. Like I mentioned, `Option` isn't used in the spec so I don't think it'll be *that* annoying. I think it's nicer than quietly having two different union implementations or quietly breaking the existing `Option` impl.
### Crate Publish Ordering
I've modified the order in which CI publishes crates to ensure that we don't publish a crate without ensuring we already published a crate that it depends upon.
## TODO
- [ ] Queue a follow-up `[patch]`-removing PR.
2021-09-25 05:58:36 +00:00
|
|
|
dependencies = [
|
2021-12-13 20:43:22 +00:00
|
|
|
"darling_core",
|
|
|
|
"darling_macro",
|
2021-07-09 06:15:32 +00:00
|
|
|
]
|
|
|
|
|
Implement SSZ union type (#2579)
## Issue Addressed
NA
## Proposed Changes
Implements the "union" type from the SSZ spec for `ssz`, `ssz_derive`, `tree_hash` and `tree_hash_derive` so it may be derived for `enums`:
https://github.com/ethereum/consensus-specs/blob/v1.1.0-beta.3/ssz/simple-serialize.md#union
The union type is required for the merge, since the `Transaction` type is defined as a single-variant union `Union[OpaqueTransaction]`.
### Crate Updates
This PR will (hopefully) cause CI to publish new versions for the following crates:
- `eth2_ssz_derive`: `0.2.1` -> `0.3.0`
- `eth2_ssz`: `0.3.0` -> `0.4.0`
- `eth2_ssz_types`: `0.2.0` -> `0.2.1`
- `tree_hash`: `0.3.0` -> `0.4.0`
- `tree_hash_derive`: `0.3.0` -> `0.4.0`
These these crates depend on each other, I've had to add a workspace-level `[patch]` for these crates. A follow-up PR will need to remove this patch, ones the new versions are published.
### Union Behaviors
We already had SSZ `Encode` and `TreeHash` derive for enums, however it just did a "transparent" pass-through of the inner value. Since the "union" decoding from the spec is in conflict with the transparent method, I've required that all `enum` have exactly one of the following enum-level attributes:
#### SSZ
- `#[ssz(enum_behaviour = "union")]`
- matches the spec used for the merge
- `#[ssz(enum_behaviour = "transparent")]`
- maintains existing functionality
- not supported for `Decode` (never was)
#### TreeHash
- `#[tree_hash(enum_behaviour = "union")]`
- matches the spec used for the merge
- `#[tree_hash(enum_behaviour = "transparent")]`
- maintains existing functionality
This means that we can maintain the existing transparent behaviour, but all existing users will get a compile-time error until they explicitly opt-in to being transparent.
### Legacy Option Encoding
Before this PR, we already had a union-esque encoding for `Option<T>`. However, this was with the *old* SSZ spec where the union selector was 4 bytes. During merge specification, the spec was changed to use 1 byte for the selector.
Whilst the 4-byte `Option` encoding was never used in the spec, we used it in our database. Writing a migrate script for all occurrences of `Option` in the database would be painful, especially since it's used in the `CommitteeCache`. To avoid the migrate script, I added a serde-esque `#[ssz(with = "module")]` field-level attribute to `ssz_derive` so that we can opt into the 4-byte encoding on a field-by-field basis.
The `ssz::legacy::four_byte_impl!` macro allows a one-liner to define the module required for the `#[ssz(with = "module")]` for some `Option<T> where T: Encode + Decode`.
Notably, **I have removed `Encode` and `Decode` impls for `Option`**. I've done this to force a break on downstream users. Like I mentioned, `Option` isn't used in the spec so I don't think it'll be *that* annoying. I think it's nicer than quietly having two different union implementations or quietly breaking the existing `Option` impl.
### Crate Publish Ordering
I've modified the order in which CI publishes crates to ensure that we don't publish a crate without ensuring we already published a crate that it depends upon.
## TODO
- [ ] Queue a follow-up `[patch]`-removing PR.
2021-09-25 05:58:36 +00:00
|
|
|
[[package]]
|
|
|
|
name = "darling_core"
|
2021-12-22 06:17:14 +00:00
|
|
|
version = "0.13.1"
|
Implement SSZ union type (#2579)
## Issue Addressed
NA
## Proposed Changes
Implements the "union" type from the SSZ spec for `ssz`, `ssz_derive`, `tree_hash` and `tree_hash_derive` so it may be derived for `enums`:
https://github.com/ethereum/consensus-specs/blob/v1.1.0-beta.3/ssz/simple-serialize.md#union
The union type is required for the merge, since the `Transaction` type is defined as a single-variant union `Union[OpaqueTransaction]`.
### Crate Updates
This PR will (hopefully) cause CI to publish new versions for the following crates:
- `eth2_ssz_derive`: `0.2.1` -> `0.3.0`
- `eth2_ssz`: `0.3.0` -> `0.4.0`
- `eth2_ssz_types`: `0.2.0` -> `0.2.1`
- `tree_hash`: `0.3.0` -> `0.4.0`
- `tree_hash_derive`: `0.3.0` -> `0.4.0`
These these crates depend on each other, I've had to add a workspace-level `[patch]` for these crates. A follow-up PR will need to remove this patch, ones the new versions are published.
### Union Behaviors
We already had SSZ `Encode` and `TreeHash` derive for enums, however it just did a "transparent" pass-through of the inner value. Since the "union" decoding from the spec is in conflict with the transparent method, I've required that all `enum` have exactly one of the following enum-level attributes:
#### SSZ
- `#[ssz(enum_behaviour = "union")]`
- matches the spec used for the merge
- `#[ssz(enum_behaviour = "transparent")]`
- maintains existing functionality
- not supported for `Decode` (never was)
#### TreeHash
- `#[tree_hash(enum_behaviour = "union")]`
- matches the spec used for the merge
- `#[tree_hash(enum_behaviour = "transparent")]`
- maintains existing functionality
This means that we can maintain the existing transparent behaviour, but all existing users will get a compile-time error until they explicitly opt-in to being transparent.
### Legacy Option Encoding
Before this PR, we already had a union-esque encoding for `Option<T>`. However, this was with the *old* SSZ spec where the union selector was 4 bytes. During merge specification, the spec was changed to use 1 byte for the selector.
Whilst the 4-byte `Option` encoding was never used in the spec, we used it in our database. Writing a migrate script for all occurrences of `Option` in the database would be painful, especially since it's used in the `CommitteeCache`. To avoid the migrate script, I added a serde-esque `#[ssz(with = "module")]` field-level attribute to `ssz_derive` so that we can opt into the 4-byte encoding on a field-by-field basis.
The `ssz::legacy::four_byte_impl!` macro allows a one-liner to define the module required for the `#[ssz(with = "module")]` for some `Option<T> where T: Encode + Decode`.
Notably, **I have removed `Encode` and `Decode` impls for `Option`**. I've done this to force a break on downstream users. Like I mentioned, `Option` isn't used in the spec so I don't think it'll be *that* annoying. I think it's nicer than quietly having two different union implementations or quietly breaking the existing `Option` impl.
### Crate Publish Ordering
I've modified the order in which CI publishes crates to ensure that we don't publish a crate without ensuring we already published a crate that it depends upon.
## TODO
- [ ] Queue a follow-up `[patch]`-removing PR.
2021-09-25 05:58:36 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-12-22 06:17:14 +00:00
|
|
|
checksum = "7a340f241d2ceed1deb47ae36c4144b2707ec7dd0b649f894cb39bb595986324"
|
Implement SSZ union type (#2579)
## Issue Addressed
NA
## Proposed Changes
Implements the "union" type from the SSZ spec for `ssz`, `ssz_derive`, `tree_hash` and `tree_hash_derive` so it may be derived for `enums`:
https://github.com/ethereum/consensus-specs/blob/v1.1.0-beta.3/ssz/simple-serialize.md#union
The union type is required for the merge, since the `Transaction` type is defined as a single-variant union `Union[OpaqueTransaction]`.
### Crate Updates
This PR will (hopefully) cause CI to publish new versions for the following crates:
- `eth2_ssz_derive`: `0.2.1` -> `0.3.0`
- `eth2_ssz`: `0.3.0` -> `0.4.0`
- `eth2_ssz_types`: `0.2.0` -> `0.2.1`
- `tree_hash`: `0.3.0` -> `0.4.0`
- `tree_hash_derive`: `0.3.0` -> `0.4.0`
These these crates depend on each other, I've had to add a workspace-level `[patch]` for these crates. A follow-up PR will need to remove this patch, ones the new versions are published.
### Union Behaviors
We already had SSZ `Encode` and `TreeHash` derive for enums, however it just did a "transparent" pass-through of the inner value. Since the "union" decoding from the spec is in conflict with the transparent method, I've required that all `enum` have exactly one of the following enum-level attributes:
#### SSZ
- `#[ssz(enum_behaviour = "union")]`
- matches the spec used for the merge
- `#[ssz(enum_behaviour = "transparent")]`
- maintains existing functionality
- not supported for `Decode` (never was)
#### TreeHash
- `#[tree_hash(enum_behaviour = "union")]`
- matches the spec used for the merge
- `#[tree_hash(enum_behaviour = "transparent")]`
- maintains existing functionality
This means that we can maintain the existing transparent behaviour, but all existing users will get a compile-time error until they explicitly opt-in to being transparent.
### Legacy Option Encoding
Before this PR, we already had a union-esque encoding for `Option<T>`. However, this was with the *old* SSZ spec where the union selector was 4 bytes. During merge specification, the spec was changed to use 1 byte for the selector.
Whilst the 4-byte `Option` encoding was never used in the spec, we used it in our database. Writing a migrate script for all occurrences of `Option` in the database would be painful, especially since it's used in the `CommitteeCache`. To avoid the migrate script, I added a serde-esque `#[ssz(with = "module")]` field-level attribute to `ssz_derive` so that we can opt into the 4-byte encoding on a field-by-field basis.
The `ssz::legacy::four_byte_impl!` macro allows a one-liner to define the module required for the `#[ssz(with = "module")]` for some `Option<T> where T: Encode + Decode`.
Notably, **I have removed `Encode` and `Decode` impls for `Option`**. I've done this to force a break on downstream users. Like I mentioned, `Option` isn't used in the spec so I don't think it'll be *that* annoying. I think it's nicer than quietly having two different union implementations or quietly breaking the existing `Option` impl.
### Crate Publish Ordering
I've modified the order in which CI publishes crates to ensure that we don't publish a crate without ensuring we already published a crate that it depends upon.
## TODO
- [ ] Queue a follow-up `[patch]`-removing PR.
2021-09-25 05:58:36 +00:00
|
|
|
dependencies = [
|
|
|
|
"fnv",
|
|
|
|
"ident_case",
|
|
|
|
"proc-macro2",
|
|
|
|
"quote",
|
|
|
|
"strsim 0.10.0",
|
|
|
|
"syn",
|
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "darling_macro"
|
2021-12-22 06:17:14 +00:00
|
|
|
version = "0.13.1"
|
Implement SSZ union type (#2579)
## Issue Addressed
NA
## Proposed Changes
Implements the "union" type from the SSZ spec for `ssz`, `ssz_derive`, `tree_hash` and `tree_hash_derive` so it may be derived for `enums`:
https://github.com/ethereum/consensus-specs/blob/v1.1.0-beta.3/ssz/simple-serialize.md#union
The union type is required for the merge, since the `Transaction` type is defined as a single-variant union `Union[OpaqueTransaction]`.
### Crate Updates
This PR will (hopefully) cause CI to publish new versions for the following crates:
- `eth2_ssz_derive`: `0.2.1` -> `0.3.0`
- `eth2_ssz`: `0.3.0` -> `0.4.0`
- `eth2_ssz_types`: `0.2.0` -> `0.2.1`
- `tree_hash`: `0.3.0` -> `0.4.0`
- `tree_hash_derive`: `0.3.0` -> `0.4.0`
These these crates depend on each other, I've had to add a workspace-level `[patch]` for these crates. A follow-up PR will need to remove this patch, ones the new versions are published.
### Union Behaviors
We already had SSZ `Encode` and `TreeHash` derive for enums, however it just did a "transparent" pass-through of the inner value. Since the "union" decoding from the spec is in conflict with the transparent method, I've required that all `enum` have exactly one of the following enum-level attributes:
#### SSZ
- `#[ssz(enum_behaviour = "union")]`
- matches the spec used for the merge
- `#[ssz(enum_behaviour = "transparent")]`
- maintains existing functionality
- not supported for `Decode` (never was)
#### TreeHash
- `#[tree_hash(enum_behaviour = "union")]`
- matches the spec used for the merge
- `#[tree_hash(enum_behaviour = "transparent")]`
- maintains existing functionality
This means that we can maintain the existing transparent behaviour, but all existing users will get a compile-time error until they explicitly opt-in to being transparent.
### Legacy Option Encoding
Before this PR, we already had a union-esque encoding for `Option<T>`. However, this was with the *old* SSZ spec where the union selector was 4 bytes. During merge specification, the spec was changed to use 1 byte for the selector.
Whilst the 4-byte `Option` encoding was never used in the spec, we used it in our database. Writing a migrate script for all occurrences of `Option` in the database would be painful, especially since it's used in the `CommitteeCache`. To avoid the migrate script, I added a serde-esque `#[ssz(with = "module")]` field-level attribute to `ssz_derive` so that we can opt into the 4-byte encoding on a field-by-field basis.
The `ssz::legacy::four_byte_impl!` macro allows a one-liner to define the module required for the `#[ssz(with = "module")]` for some `Option<T> where T: Encode + Decode`.
Notably, **I have removed `Encode` and `Decode` impls for `Option`**. I've done this to force a break on downstream users. Like I mentioned, `Option` isn't used in the spec so I don't think it'll be *that* annoying. I think it's nicer than quietly having two different union implementations or quietly breaking the existing `Option` impl.
### Crate Publish Ordering
I've modified the order in which CI publishes crates to ensure that we don't publish a crate without ensuring we already published a crate that it depends upon.
## TODO
- [ ] Queue a follow-up `[patch]`-removing PR.
2021-09-25 05:58:36 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-12-22 06:17:14 +00:00
|
|
|
checksum = "72c41b3b7352feb3211a0d743dc5700a4e3b60f51bd2b368892d1e0f9a95f44b"
|
Implement SSZ union type (#2579)
## Issue Addressed
NA
## Proposed Changes
Implements the "union" type from the SSZ spec for `ssz`, `ssz_derive`, `tree_hash` and `tree_hash_derive` so it may be derived for `enums`:
https://github.com/ethereum/consensus-specs/blob/v1.1.0-beta.3/ssz/simple-serialize.md#union
The union type is required for the merge, since the `Transaction` type is defined as a single-variant union `Union[OpaqueTransaction]`.
### Crate Updates
This PR will (hopefully) cause CI to publish new versions for the following crates:
- `eth2_ssz_derive`: `0.2.1` -> `0.3.0`
- `eth2_ssz`: `0.3.0` -> `0.4.0`
- `eth2_ssz_types`: `0.2.0` -> `0.2.1`
- `tree_hash`: `0.3.0` -> `0.4.0`
- `tree_hash_derive`: `0.3.0` -> `0.4.0`
These these crates depend on each other, I've had to add a workspace-level `[patch]` for these crates. A follow-up PR will need to remove this patch, ones the new versions are published.
### Union Behaviors
We already had SSZ `Encode` and `TreeHash` derive for enums, however it just did a "transparent" pass-through of the inner value. Since the "union" decoding from the spec is in conflict with the transparent method, I've required that all `enum` have exactly one of the following enum-level attributes:
#### SSZ
- `#[ssz(enum_behaviour = "union")]`
- matches the spec used for the merge
- `#[ssz(enum_behaviour = "transparent")]`
- maintains existing functionality
- not supported for `Decode` (never was)
#### TreeHash
- `#[tree_hash(enum_behaviour = "union")]`
- matches the spec used for the merge
- `#[tree_hash(enum_behaviour = "transparent")]`
- maintains existing functionality
This means that we can maintain the existing transparent behaviour, but all existing users will get a compile-time error until they explicitly opt-in to being transparent.
### Legacy Option Encoding
Before this PR, we already had a union-esque encoding for `Option<T>`. However, this was with the *old* SSZ spec where the union selector was 4 bytes. During merge specification, the spec was changed to use 1 byte for the selector.
Whilst the 4-byte `Option` encoding was never used in the spec, we used it in our database. Writing a migrate script for all occurrences of `Option` in the database would be painful, especially since it's used in the `CommitteeCache`. To avoid the migrate script, I added a serde-esque `#[ssz(with = "module")]` field-level attribute to `ssz_derive` so that we can opt into the 4-byte encoding on a field-by-field basis.
The `ssz::legacy::four_byte_impl!` macro allows a one-liner to define the module required for the `#[ssz(with = "module")]` for some `Option<T> where T: Encode + Decode`.
Notably, **I have removed `Encode` and `Decode` impls for `Option`**. I've done this to force a break on downstream users. Like I mentioned, `Option` isn't used in the spec so I don't think it'll be *that* annoying. I think it's nicer than quietly having two different union implementations or quietly breaking the existing `Option` impl.
### Crate Publish Ordering
I've modified the order in which CI publishes crates to ensure that we don't publish a crate without ensuring we already published a crate that it depends upon.
## TODO
- [ ] Queue a follow-up `[patch]`-removing PR.
2021-09-25 05:58:36 +00:00
|
|
|
dependencies = [
|
2021-12-13 20:43:22 +00:00
|
|
|
"darling_core",
|
2021-07-09 06:15:32 +00:00
|
|
|
"quote",
|
|
|
|
"syn",
|
|
|
|
]
|
|
|
|
|
2020-05-29 02:03:30 +00:00
|
|
|
[[package]]
|
|
|
|
name = "darwin-libproc"
|
2021-11-18 05:08:42 +00:00
|
|
|
version = "0.2.0"
|
|
|
|
source = "git+https://github.com/agemanning/darwin-libproc?rev=73d1587cb363c00737652fdc987f1bcbaf153ef7#73d1587cb363c00737652fdc987f1bcbaf153ef7"
|
2020-05-29 02:03:30 +00:00
|
|
|
dependencies = [
|
|
|
|
"darwin-libproc-sys",
|
|
|
|
"libc",
|
|
|
|
"memchr",
|
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "darwin-libproc-sys"
|
2021-11-18 05:08:42 +00:00
|
|
|
version = "0.2.0"
|
|
|
|
source = "git+https://github.com/agemanning/darwin-libproc?rev=73d1587cb363c00737652fdc987f1bcbaf153ef7#73d1587cb363c00737652fdc987f1bcbaf153ef7"
|
2020-05-29 02:03:30 +00:00
|
|
|
|
2019-12-09 11:39:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "data-encoding"
|
2021-03-02 05:59:49 +00:00
|
|
|
version = "2.3.2"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-03-02 05:59:49 +00:00
|
|
|
checksum = "3ee2393c4a91429dffb4bedf19f4d6abf27d8a732c8ce4980305d782e5426d57"
|
2019-12-09 11:39:44 +00:00
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "db-key"
|
|
|
|
version = "0.0.5"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2020-05-10 09:56:31 +00:00
|
|
|
checksum = "b72465f46d518f6015d9cf07f7f3013a95dd6b9c2747c3d65ae0cce43929d14f"
|
2019-12-09 11:39:44 +00:00
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "deposit_contract"
|
Initial work towards v0.2.0 (#924)
* Remove ping protocol
* Initial renaming of network services
* Correct rebasing relative to latest master
* Start updating types
* Adds HashMapDelay struct to utils
* Initial network restructure
* Network restructure. Adds new types for v0.2.0
* Removes build artefacts
* Shift validation to beacon chain
* Temporarily remove gossip validation
This is to be updated to match current optimisation efforts.
* Adds AggregateAndProof
* Begin rebuilding pubsub encoding/decoding
* Signature hacking
* Shift gossipsup decoding into eth2_libp2p
* Existing EF tests passing with fake_crypto
* Shifts block encoding/decoding into RPC
* Delete outdated API spec
* All release tests passing bar genesis state parsing
* Update and test YamlConfig
* Update to spec v0.10 compatible BLS
* Updates to BLS EF tests
* Add EF test for AggregateVerify
And delete unused hash2curve tests for uncompressed points
* Update EF tests to v0.10.1
* Use optional block root correctly in block proc
* Use genesis fork in deposit domain. All tests pass
* Fast aggregate verify test
* Update REST API docs
* Fix unused import
* Bump spec tags to v0.10.1
* Add `seconds_per_eth1_block` to chainspec
* Update to timestamp based eth1 voting scheme
* Return None from `get_votes_to_consider` if block cache is empty
* Handle overflows in `is_candidate_block`
* Revert to failing tests
* Fix eth1 data sets test
* Choose default vote according to spec
* Fix collect_valid_votes tests
* Fix `get_votes_to_consider` to choose all eligible blocks
* Uncomment winning_vote tests
* Add comments; remove unused code
* Reduce seconds_per_eth1_block for simulation
* Addressed review comments
* Add test for default vote case
* Fix logs
* Remove unused functions
* Meter default eth1 votes
* Fix comments
* Progress on attestation service
* Address review comments; remove unused dependency
* Initial work on removing libp2p lock
* Add LRU caches to store (rollup)
* Update attestation validation for DB changes (WIP)
* Initial version of should_forward_block
* Scaffold
* Progress on attestation validation
Also, consolidate prod+testing slot clocks so that they share much
of the same implementation and can both handle sub-slot time changes.
* Removes lock from libp2p service
* Completed network lock removal
* Finish(?) attestation processing
* Correct network termination future
* Add slot check to block check
* Correct fmt issues
* Remove Drop implementation for network service
* Add first attempt at attestation proc. re-write
* Add version 2 of attestation processing
* Minor fixes
* Add validator pubkey cache
* Make get_indexed_attestation take a committee
* Link signature processing into new attn verification
* First working version
* Ensure pubkey cache is updated
* Add more metrics, slight optimizations
* Clone committee cache during attestation processing
* Update shuffling cache during block processing
* Remove old commented-out code
* Fix shuffling cache insert bug
* Used indexed attestation in fork choice
* Restructure attn processing, add metrics
* Add more detailed metrics
* Tidy, fix failing tests
* Fix failing tests, tidy
* Address reviewers suggestions
* Disable/delete two outdated tests
* Modification of validator for subscriptions
* Add slot signing to validator client
* Further progress on validation subscription
* Adds necessary validator subscription functionality
* Add new Pubkeys struct to signature_sets
* Refactor with functional approach
* Update beacon chain
* Clean up validator <-> beacon node http types
* Add aggregator status to ValidatorDuty
* Impl Clone for manual slot clock
* Fix minor errors
* Further progress validator client subscription
* Initial subscription and aggregation handling
* Remove decompressed member from pubkey bytes
* Progress to modifying val client for attestation aggregation
* First draft of validator client upgrade for aggregate attestations
* Add hashmap for indices lookup
* Add state cache, remove store cache
* Only build the head committee cache
* Removes lock on a network channel
* Partially implement beacon node subscription http api
* Correct compilation issues
* Change `get_attesting_indices` to use Vec
* Fix failing test
* Partial implementation of timer
* Adds timer, removes exit_future, http api to op pool
* Partial multiple aggregate attestation handling
* Permits bulk messages accross gossipsub network channel
* Correct compile issues
* Improve gosispsub messaging and correct rest api helpers
* Added global gossipsub subscriptions
* Update validator subscriptions data structs
* Tidy
* Re-structure validator subscriptions
* Initial handling of subscriptions
* Re-structure network service
* Add pubkey cache persistence file
* Add more comments
* Integrate persistence file into builder
* Add pubkey cache tests
* Add HashSetDelay and introduce into attestation service
* Handles validator subscriptions
* Add data_dir to beacon chain builder
* Remove Option in pubkey cache persistence file
* Ensure consistency between datadir/data_dir
* Fix failing network test
* Peer subnet discovery gets queued for future subscriptions
* Reorganise attestation service functions
* Initial wiring of attestation service
* First draft of attestation service timing logic
* Correct minor typos
* Tidy
* Fix todos
* Improve tests
* Add PeerInfo to connected peers mapping
* Fix compile error
* Fix compile error from merge
* Split up block processing metrics
* Tidy
* Refactor get_pubkey_from_state
* Remove commented-out code
* Rename state_cache -> checkpoint_cache
* Rename Checkpoint -> Snapshot
* Tidy, add comments
* Tidy up find_head function
* Change some checkpoint -> snapshot
* Add tests
* Expose max_len
* Remove dead code
* Tidy
* Fix bug
* Add sync-speed metric
* Add first attempt at VerifiableBlock
* Start integrating into beacon chain
* Integrate VerifiableBlock
* Rename VerifableBlock -> PartialBlockVerification
* Add start of typed methods
* Add progress
* Add further progress
* Rename structs
* Add full block verification to block_processing.rs
* Further beacon chain integration
* Update checks for gossip
* Add todo
* Start adding segement verification
* Add passing chain segement test
* Initial integration with batch sync
* Minor changes
* Tidy, add more error checking
* Start adding chain_segment tests
* Finish invalid signature tests
* Include single and gossip verified blocks in tests
* Add gossip verification tests
* Start adding docs
* Finish adding comments to block_processing.rs
* Rename block_processing.rs -> block_verification
* Start removing old block processing code
* Fixes beacon_chain compilation
* Fix project-wide compile errors
* Remove old code
* Correct code to pass all tests
* Fix bug with beacon proposer index
* Fix shim for BlockProcessingError
* Only process one epoch at a time
* Fix loop in chain segment processing
* Correct tests from master merge
* Add caching for state.eth1_data_votes
* Add BeaconChain::validator_pubkey
* Revert "Add caching for state.eth1_data_votes"
This reverts commit cd73dcd6434fb8d8e6bf30c5356355598ea7b78e.
Co-authored-by: Grant Wuerker <gwuerker@gmail.com>
Co-authored-by: Michael Sproul <michael@sigmaprime.io>
Co-authored-by: Michael Sproul <micsproul@gmail.com>
Co-authored-by: pawan <pawandhananjay@gmail.com>
Co-authored-by: Paul Hauner <paul@paulhauner.com>
2020-03-17 06:24:44 +00:00
|
|
|
version = "0.2.0"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2021-11-29 03:57:54 +00:00
|
|
|
"eth2_ssz",
|
2021-07-09 03:20:24 +00:00
|
|
|
"ethabi 12.0.0",
|
2020-10-28 22:19:38 +00:00
|
|
|
"hex",
|
2020-05-10 09:56:31 +00:00
|
|
|
"reqwest",
|
|
|
|
"serde_json",
|
2022-01-11 01:35:56 +00:00
|
|
|
"sha2 0.9.9",
|
2021-11-29 03:57:54 +00:00
|
|
|
"tree_hash",
|
2020-05-10 09:56:31 +00:00
|
|
|
"types",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
2021-02-10 23:29:49 +00:00
|
|
|
[[package]]
|
|
|
|
name = "der"
|
2021-07-05 00:54:17 +00:00
|
|
|
version = "0.3.5"
|
2021-02-10 23:29:49 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-07-05 00:54:17 +00:00
|
|
|
checksum = "2eeb9d92785d1facb50567852ce75d0858630630e7eabea59cf7eb7474051087"
|
2021-02-10 23:29:49 +00:00
|
|
|
dependencies = [
|
2021-12-22 06:17:14 +00:00
|
|
|
"const-oid 0.5.2",
|
2021-07-05 00:54:17 +00:00
|
|
|
"typenum",
|
2021-02-10 23:29:49 +00:00
|
|
|
]
|
|
|
|
|
2021-12-22 06:17:14 +00:00
|
|
|
[[package]]
|
|
|
|
name = "der"
|
|
|
|
version = "0.5.1"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
checksum = "6919815d73839e7ad218de758883aae3a257ba6759ce7a9992501efbb53d705c"
|
|
|
|
dependencies = [
|
|
|
|
"const-oid 0.7.1",
|
|
|
|
]
|
|
|
|
|
2020-06-18 11:06:34 +00:00
|
|
|
[[package]]
|
|
|
|
name = "derivative"
|
2021-03-02 05:59:49 +00:00
|
|
|
version = "2.2.0"
|
2020-06-18 11:06:34 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-03-02 05:59:49 +00:00
|
|
|
checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b"
|
2020-06-18 11:06:34 +00:00
|
|
|
dependencies = [
|
|
|
|
"proc-macro2",
|
|
|
|
"quote",
|
|
|
|
"syn",
|
|
|
|
]
|
|
|
|
|
2019-12-09 11:39:44 +00:00
|
|
|
[[package]]
|
2020-05-05 23:12:28 +00:00
|
|
|
name = "derive_arbitrary"
|
2021-10-14 02:58:11 +00:00
|
|
|
version = "1.0.2"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-10-14 02:58:11 +00:00
|
|
|
checksum = "b24629208e87a2d8b396ff43b15c4afb0a69cea3fbbaa9ed9b92b7c02f0aed73"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2020-05-17 11:16:48 +00:00
|
|
|
"proc-macro2",
|
|
|
|
"quote",
|
|
|
|
"syn",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
2020-04-19 02:20:43 +00:00
|
|
|
[[package]]
|
|
|
|
name = "derive_more"
|
2021-12-13 20:43:22 +00:00
|
|
|
version = "0.99.17"
|
2020-04-19 02:20:43 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-12-13 20:43:22 +00:00
|
|
|
checksum = "4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321"
|
2020-04-19 02:20:43 +00:00
|
|
|
dependencies = [
|
2021-05-04 00:44:05 +00:00
|
|
|
"convert_case",
|
2020-05-17 11:16:48 +00:00
|
|
|
"proc-macro2",
|
|
|
|
"quote",
|
2021-12-13 20:43:22 +00:00
|
|
|
"rustc_version 0.4.0",
|
2020-05-17 11:16:48 +00:00
|
|
|
"syn",
|
2020-04-19 02:20:43 +00:00
|
|
|
]
|
|
|
|
|
2020-07-01 08:01:03 +00:00
|
|
|
[[package]]
|
|
|
|
name = "digest"
|
|
|
|
version = "0.9.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
checksum = "d3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066"
|
|
|
|
dependencies = [
|
2021-07-13 00:48:33 +00:00
|
|
|
"generic-array",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
2021-12-22 06:17:14 +00:00
|
|
|
[[package]]
|
|
|
|
name = "digest"
|
|
|
|
version = "0.10.1"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
checksum = "b697d66081d42af4fba142d56918a3cb21dc8eb63372c6b85d14f44fb9c5979b"
|
|
|
|
dependencies = [
|
|
|
|
"block-buffer 0.10.0",
|
|
|
|
"crypto-common",
|
|
|
|
"generic-array",
|
|
|
|
]
|
|
|
|
|
2020-09-29 00:02:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "directory"
|
|
|
|
version = "0.1.0"
|
|
|
|
dependencies = [
|
|
|
|
"clap",
|
|
|
|
"clap_utils",
|
2020-12-08 05:41:10 +00:00
|
|
|
"eth2_network_config",
|
2020-09-29 00:02:44 +00:00
|
|
|
]
|
|
|
|
|
2019-12-09 11:39:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "dirs"
|
2021-05-04 00:44:05 +00:00
|
|
|
version = "3.0.2"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-05-04 00:44:05 +00:00
|
|
|
checksum = "30baa043103c9d0c2a57cf537cc2f35623889dc0d405e6c3cccfadbc81c71309"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2020-05-10 09:56:31 +00:00
|
|
|
"dirs-sys",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
2020-10-05 08:22:19 +00:00
|
|
|
[[package]]
|
2021-03-02 05:59:49 +00:00
|
|
|
name = "dirs-next"
|
|
|
|
version = "2.0.0"
|
2020-10-05 08:22:19 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-03-02 05:59:49 +00:00
|
|
|
checksum = "b98cf8ebf19c3d1b223e151f99a4f9f0690dca41414773390fc824184ac833e1"
|
2020-10-05 08:22:19 +00:00
|
|
|
dependencies = [
|
2021-11-18 05:08:42 +00:00
|
|
|
"cfg-if",
|
2021-03-02 05:59:49 +00:00
|
|
|
"dirs-sys-next",
|
2020-10-05 08:22:19 +00:00
|
|
|
]
|
|
|
|
|
2019-12-09 11:39:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "dirs-sys"
|
2021-05-04 00:44:05 +00:00
|
|
|
version = "0.3.6"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-05-04 00:44:05 +00:00
|
|
|
checksum = "03d86534ed367a67548dc68113a0f5db55432fdfbb6e6f9d77704397d95d5780"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2020-05-10 09:56:31 +00:00
|
|
|
"libc",
|
2021-07-05 00:54:17 +00:00
|
|
|
"redox_users",
|
2021-07-09 03:20:24 +00:00
|
|
|
"winapi",
|
2021-03-02 05:59:49 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "dirs-sys-next"
|
|
|
|
version = "0.1.2"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
checksum = "4ebda144c4fe02d1f7ea1a7d9641b6fc6b580adcfa024ae48797ecdeb6825b4d"
|
|
|
|
dependencies = [
|
|
|
|
"libc",
|
2021-07-05 00:54:17 +00:00
|
|
|
"redox_users",
|
2021-07-09 03:20:24 +00:00
|
|
|
"winapi",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
Handle early blocks (#2155)
## Issue Addressed
NA
## Problem this PR addresses
There's an issue where Lighthouse is banning a lot of peers due to the following sequence of events:
1. Gossip block 0xabc arrives ~200ms early
- It is propagated across the network, with respect to [`MAXIMUM_GOSSIP_CLOCK_DISPARITY`](https://github.com/ethereum/eth2.0-specs/blob/v1.0.0/specs/phase0/p2p-interface.md#why-is-there-maximum_gossip_clock_disparity-when-validating-slot-ranges-of-messages-in-gossip-subnets).
- However, it is not imported to our database since the block is early.
2. Attestations for 0xabc arrive, but the block was not imported.
- The peer that sent the attestation is down-voted.
- Each unknown-block attestation causes a score loss of 1, the peer is banned at -100.
- When the peer is on an attestation subnet there can be hundreds of attestations, so the peer is banned quickly (before the missed block can be obtained via rpc).
## Potential solutions
I can think of three solutions to this:
1. Wait for attestation-queuing (#635) to arrive and solve this.
- Easy
- Not immediate fix.
- Whilst this would work, I don't think it's a perfect solution for this particular issue, rather (3) is better.
1. Allow importing blocks with a tolerance of `MAXIMUM_GOSSIP_CLOCK_DISPARITY`.
- Easy
- ~~I have implemented this, for now.~~
1. If a block is verified for gossip propagation (i.e., signature verified) and it's within `MAXIMUM_GOSSIP_CLOCK_DISPARITY`, then queue it to be processed at the start of the appropriate slot.
- More difficult
- Feels like the best solution, I will try to implement this.
**This PR takes approach (3).**
## Changes included
- Implement the `block_delay_queue`, based upon a [`DelayQueue`](https://docs.rs/tokio-util/0.6.3/tokio_util/time/delay_queue/struct.DelayQueue.html) which can store blocks until it's time to import them.
- Add a new `DelayedImportBlock` variant to the `beacon_processor::WorkEvent` enum to handle this new event.
- In the `BeaconProcessor`, refactor a `tokio::select!` to a struct with an explicit `Stream` implementation. I experienced some issues with `tokio::select!` in the block delay queue and I also found it hard to debug. I think this explicit implementation is nicer and functionally equivalent (apart from the fact that `tokio::select!` randomly chooses futures to poll, whereas now we're deterministic).
- Add a testing framework to the `beacon_processor` module that tests this new block delay logic. I also tested a handful of other operations in the beacon processor (attns, slashings, exits) since it was super easy to copy-pasta the code from the `http_api` tester.
- To implement these tests I added the concept of an optional `work_journal_tx` to the `BeaconProcessor` which will spit out a log of events. I used this in the tests to ensure that things were happening as I expect.
- The tests are a little racey, but it's hard to avoid that when testing timing-based code. If we see CI failures I can revise. I haven't observed *any* failures due to races on my machine or on CI yet.
- To assist with testing I allowed for directly setting the time on the `ManualSlotClock`.
- I gave the `beacon_processor::Worker` a `Toolbox` for two reasons; (a) it avoids changing tons of function sigs when you want to pass a new object to the worker and (b) it seemed cute.
2021-02-24 03:08:52 +00:00
|
|
|
[[package]]
|
|
|
|
name = "discv5"
|
2021-12-22 06:17:14 +00:00
|
|
|
version = "0.1.0-beta.13"
|
2021-10-14 22:09:38 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-12-22 06:17:14 +00:00
|
|
|
checksum = "ed8f54486179d5a7f11e1f5526f49d925a411a96c1141a707bd5f071be2ab630"
|
Handle early blocks (#2155)
## Issue Addressed
NA
## Problem this PR addresses
There's an issue where Lighthouse is banning a lot of peers due to the following sequence of events:
1. Gossip block 0xabc arrives ~200ms early
- It is propagated across the network, with respect to [`MAXIMUM_GOSSIP_CLOCK_DISPARITY`](https://github.com/ethereum/eth2.0-specs/blob/v1.0.0/specs/phase0/p2p-interface.md#why-is-there-maximum_gossip_clock_disparity-when-validating-slot-ranges-of-messages-in-gossip-subnets).
- However, it is not imported to our database since the block is early.
2. Attestations for 0xabc arrive, but the block was not imported.
- The peer that sent the attestation is down-voted.
- Each unknown-block attestation causes a score loss of 1, the peer is banned at -100.
- When the peer is on an attestation subnet there can be hundreds of attestations, so the peer is banned quickly (before the missed block can be obtained via rpc).
## Potential solutions
I can think of three solutions to this:
1. Wait for attestation-queuing (#635) to arrive and solve this.
- Easy
- Not immediate fix.
- Whilst this would work, I don't think it's a perfect solution for this particular issue, rather (3) is better.
1. Allow importing blocks with a tolerance of `MAXIMUM_GOSSIP_CLOCK_DISPARITY`.
- Easy
- ~~I have implemented this, for now.~~
1. If a block is verified for gossip propagation (i.e., signature verified) and it's within `MAXIMUM_GOSSIP_CLOCK_DISPARITY`, then queue it to be processed at the start of the appropriate slot.
- More difficult
- Feels like the best solution, I will try to implement this.
**This PR takes approach (3).**
## Changes included
- Implement the `block_delay_queue`, based upon a [`DelayQueue`](https://docs.rs/tokio-util/0.6.3/tokio_util/time/delay_queue/struct.DelayQueue.html) which can store blocks until it's time to import them.
- Add a new `DelayedImportBlock` variant to the `beacon_processor::WorkEvent` enum to handle this new event.
- In the `BeaconProcessor`, refactor a `tokio::select!` to a struct with an explicit `Stream` implementation. I experienced some issues with `tokio::select!` in the block delay queue and I also found it hard to debug. I think this explicit implementation is nicer and functionally equivalent (apart from the fact that `tokio::select!` randomly chooses futures to poll, whereas now we're deterministic).
- Add a testing framework to the `beacon_processor` module that tests this new block delay logic. I also tested a handful of other operations in the beacon processor (attns, slashings, exits) since it was super easy to copy-pasta the code from the `http_api` tester.
- To implement these tests I added the concept of an optional `work_journal_tx` to the `BeaconProcessor` which will spit out a log of events. I used this in the tests to ensure that things were happening as I expect.
- The tests are a little racey, but it's hard to avoid that when testing timing-based code. If we see CI failures I can revise. I haven't observed *any* failures due to races on my machine or on CI yet.
- To assist with testing I allowed for directly setting the time on the `ManualSlotClock`.
- I gave the `beacon_processor::Worker` a `Toolbox` for two reasons; (a) it avoids changing tons of function sigs when you want to pass a new object to the worker and (b) it seemed cute.
2021-02-24 03:08:52 +00:00
|
|
|
dependencies = [
|
2021-06-03 01:11:33 +00:00
|
|
|
"aes",
|
|
|
|
"aes-gcm",
|
2021-11-18 05:08:42 +00:00
|
|
|
"arrayvec 0.7.2",
|
2021-12-22 06:17:14 +00:00
|
|
|
"digest 0.10.1",
|
Handle early blocks (#2155)
## Issue Addressed
NA
## Problem this PR addresses
There's an issue where Lighthouse is banning a lot of peers due to the following sequence of events:
1. Gossip block 0xabc arrives ~200ms early
- It is propagated across the network, with respect to [`MAXIMUM_GOSSIP_CLOCK_DISPARITY`](https://github.com/ethereum/eth2.0-specs/blob/v1.0.0/specs/phase0/p2p-interface.md#why-is-there-maximum_gossip_clock_disparity-when-validating-slot-ranges-of-messages-in-gossip-subnets).
- However, it is not imported to our database since the block is early.
2. Attestations for 0xabc arrive, but the block was not imported.
- The peer that sent the attestation is down-voted.
- Each unknown-block attestation causes a score loss of 1, the peer is banned at -100.
- When the peer is on an attestation subnet there can be hundreds of attestations, so the peer is banned quickly (before the missed block can be obtained via rpc).
## Potential solutions
I can think of three solutions to this:
1. Wait for attestation-queuing (#635) to arrive and solve this.
- Easy
- Not immediate fix.
- Whilst this would work, I don't think it's a perfect solution for this particular issue, rather (3) is better.
1. Allow importing blocks with a tolerance of `MAXIMUM_GOSSIP_CLOCK_DISPARITY`.
- Easy
- ~~I have implemented this, for now.~~
1. If a block is verified for gossip propagation (i.e., signature verified) and it's within `MAXIMUM_GOSSIP_CLOCK_DISPARITY`, then queue it to be processed at the start of the appropriate slot.
- More difficult
- Feels like the best solution, I will try to implement this.
**This PR takes approach (3).**
## Changes included
- Implement the `block_delay_queue`, based upon a [`DelayQueue`](https://docs.rs/tokio-util/0.6.3/tokio_util/time/delay_queue/struct.DelayQueue.html) which can store blocks until it's time to import them.
- Add a new `DelayedImportBlock` variant to the `beacon_processor::WorkEvent` enum to handle this new event.
- In the `BeaconProcessor`, refactor a `tokio::select!` to a struct with an explicit `Stream` implementation. I experienced some issues with `tokio::select!` in the block delay queue and I also found it hard to debug. I think this explicit implementation is nicer and functionally equivalent (apart from the fact that `tokio::select!` randomly chooses futures to poll, whereas now we're deterministic).
- Add a testing framework to the `beacon_processor` module that tests this new block delay logic. I also tested a handful of other operations in the beacon processor (attns, slashings, exits) since it was super easy to copy-pasta the code from the `http_api` tester.
- To implement these tests I added the concept of an optional `work_journal_tx` to the `BeaconProcessor` which will spit out a log of events. I used this in the tests to ensure that things were happening as I expect.
- The tests are a little racey, but it's hard to avoid that when testing timing-based code. If we see CI failures I can revise. I haven't observed *any* failures due to races on my machine or on CI yet.
- To assist with testing I allowed for directly setting the time on the `ManualSlotClock`.
- I gave the `beacon_processor::Worker` a `Toolbox` for two reasons; (a) it avoids changing tons of function sigs when you want to pass a new object to the worker and (b) it seemed cute.
2021-02-24 03:08:52 +00:00
|
|
|
"enr",
|
|
|
|
"fnv",
|
2021-07-09 03:20:24 +00:00
|
|
|
"futures",
|
2021-09-16 04:45:05 +00:00
|
|
|
"hashlink",
|
Handle early blocks (#2155)
## Issue Addressed
NA
## Problem this PR addresses
There's an issue where Lighthouse is banning a lot of peers due to the following sequence of events:
1. Gossip block 0xabc arrives ~200ms early
- It is propagated across the network, with respect to [`MAXIMUM_GOSSIP_CLOCK_DISPARITY`](https://github.com/ethereum/eth2.0-specs/blob/v1.0.0/specs/phase0/p2p-interface.md#why-is-there-maximum_gossip_clock_disparity-when-validating-slot-ranges-of-messages-in-gossip-subnets).
- However, it is not imported to our database since the block is early.
2. Attestations for 0xabc arrive, but the block was not imported.
- The peer that sent the attestation is down-voted.
- Each unknown-block attestation causes a score loss of 1, the peer is banned at -100.
- When the peer is on an attestation subnet there can be hundreds of attestations, so the peer is banned quickly (before the missed block can be obtained via rpc).
## Potential solutions
I can think of three solutions to this:
1. Wait for attestation-queuing (#635) to arrive and solve this.
- Easy
- Not immediate fix.
- Whilst this would work, I don't think it's a perfect solution for this particular issue, rather (3) is better.
1. Allow importing blocks with a tolerance of `MAXIMUM_GOSSIP_CLOCK_DISPARITY`.
- Easy
- ~~I have implemented this, for now.~~
1. If a block is verified for gossip propagation (i.e., signature verified) and it's within `MAXIMUM_GOSSIP_CLOCK_DISPARITY`, then queue it to be processed at the start of the appropriate slot.
- More difficult
- Feels like the best solution, I will try to implement this.
**This PR takes approach (3).**
## Changes included
- Implement the `block_delay_queue`, based upon a [`DelayQueue`](https://docs.rs/tokio-util/0.6.3/tokio_util/time/delay_queue/struct.DelayQueue.html) which can store blocks until it's time to import them.
- Add a new `DelayedImportBlock` variant to the `beacon_processor::WorkEvent` enum to handle this new event.
- In the `BeaconProcessor`, refactor a `tokio::select!` to a struct with an explicit `Stream` implementation. I experienced some issues with `tokio::select!` in the block delay queue and I also found it hard to debug. I think this explicit implementation is nicer and functionally equivalent (apart from the fact that `tokio::select!` randomly chooses futures to poll, whereas now we're deterministic).
- Add a testing framework to the `beacon_processor` module that tests this new block delay logic. I also tested a handful of other operations in the beacon processor (attns, slashings, exits) since it was super easy to copy-pasta the code from the `http_api` tester.
- To implement these tests I added the concept of an optional `work_journal_tx` to the `BeaconProcessor` which will spit out a log of events. I used this in the tests to ensure that things were happening as I expect.
- The tests are a little racey, but it's hard to avoid that when testing timing-based code. If we see CI failures I can revise. I haven't observed *any* failures due to races on my machine or on CI yet.
- To assist with testing I allowed for directly setting the time on the `ManualSlotClock`.
- I gave the `beacon_processor::Worker` a `Toolbox` for two reasons; (a) it avoids changing tons of function sigs when you want to pass a new object to the worker and (b) it seemed cute.
2021-02-24 03:08:52 +00:00
|
|
|
"hex",
|
|
|
|
"hkdf",
|
2020-11-28 05:30:57 +00:00
|
|
|
"lazy_static",
|
2021-12-22 06:17:14 +00:00
|
|
|
"libp2p-core 0.30.0",
|
2021-07-05 00:54:17 +00:00
|
|
|
"lru",
|
2020-12-09 01:34:58 +00:00
|
|
|
"parking_lot",
|
2021-07-05 00:54:17 +00:00
|
|
|
"rand 0.8.4",
|
2021-08-17 01:00:24 +00:00
|
|
|
"rlp 0.5.1",
|
2022-01-11 01:35:56 +00:00
|
|
|
"sha2 0.9.9",
|
2020-12-09 01:34:58 +00:00
|
|
|
"smallvec",
|
2021-08-17 01:00:24 +00:00
|
|
|
"tokio",
|
2021-02-10 23:29:49 +00:00
|
|
|
"tokio-stream",
|
2021-07-09 03:20:24 +00:00
|
|
|
"tokio-util",
|
2020-10-23 04:16:33 +00:00
|
|
|
"tracing",
|
|
|
|
"tracing-subscriber",
|
2021-07-05 00:54:17 +00:00
|
|
|
"uint 0.9.1",
|
2020-05-17 11:16:48 +00:00
|
|
|
"zeroize",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "dtoa"
|
2021-05-04 00:44:05 +00:00
|
|
|
version = "0.4.8"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-05-04 00:44:05 +00:00
|
|
|
checksum = "56899898ce76aaf4a0f24d914c97ea6ed976d42fec6ad33fcbb0a1103e07b2b0"
|
2019-12-09 11:39:44 +00:00
|
|
|
|
2020-10-23 04:16:33 +00:00
|
|
|
[[package]]
|
|
|
|
name = "ecdsa"
|
2021-07-05 00:54:17 +00:00
|
|
|
version = "0.11.1"
|
2020-10-23 04:16:33 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-07-05 00:54:17 +00:00
|
|
|
checksum = "34d33b390ab82f2e1481e331dbd0530895640179d2128ef9a79cc690b78d1eba"
|
2020-10-23 04:16:33 +00:00
|
|
|
dependencies = [
|
2021-12-22 06:17:14 +00:00
|
|
|
"der 0.3.5",
|
|
|
|
"elliptic-curve 0.9.12",
|
2021-07-05 00:54:17 +00:00
|
|
|
"hmac 0.11.0",
|
2020-10-23 04:16:33 +00:00
|
|
|
"signature",
|
|
|
|
]
|
|
|
|
|
2021-12-22 06:17:14 +00:00
|
|
|
[[package]]
|
|
|
|
name = "ecdsa"
|
2022-01-11 01:35:56 +00:00
|
|
|
version = "0.13.4"
|
2021-12-22 06:17:14 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2022-01-11 01:35:56 +00:00
|
|
|
checksum = "d0d69ae62e0ce582d56380743515fefaf1a8c70cec685d9677636d7e30ae9dc9"
|
2021-12-22 06:17:14 +00:00
|
|
|
dependencies = [
|
|
|
|
"der 0.5.1",
|
|
|
|
"elliptic-curve 0.11.6",
|
|
|
|
"rfc6979",
|
|
|
|
"signature",
|
|
|
|
]
|
|
|
|
|
2020-07-21 00:54:47 +00:00
|
|
|
[[package]]
|
|
|
|
name = "ed25519"
|
2021-12-21 08:23:17 +00:00
|
|
|
version = "1.3.0"
|
2020-07-21 00:54:47 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-12-21 08:23:17 +00:00
|
|
|
checksum = "74e1069e39f1454367eb2de793ed062fac4c35c2934b76a81d90dd9abcd28816"
|
2020-07-21 00:54:47 +00:00
|
|
|
dependencies = [
|
|
|
|
"signature",
|
|
|
|
]
|
|
|
|
|
2019-12-09 11:39:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "ed25519-dalek"
|
2020-09-22 04:45:15 +00:00
|
|
|
version = "1.0.1"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2020-09-22 04:45:15 +00:00
|
|
|
checksum = "c762bae6dcaf24c4c84667b8579785430908723d5c889f469d76a41d59cc7a9d"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2020-10-05 07:45:54 +00:00
|
|
|
"curve25519-dalek",
|
2020-07-21 00:54:47 +00:00
|
|
|
"ed25519",
|
2020-05-10 09:56:31 +00:00
|
|
|
"rand 0.7.3",
|
2020-07-21 00:54:47 +00:00
|
|
|
"serde",
|
2022-01-11 01:35:56 +00:00
|
|
|
"sha2 0.9.9",
|
2020-07-21 00:54:47 +00:00
|
|
|
"zeroize",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "ef_tests"
|
Initial work towards v0.2.0 (#924)
* Remove ping protocol
* Initial renaming of network services
* Correct rebasing relative to latest master
* Start updating types
* Adds HashMapDelay struct to utils
* Initial network restructure
* Network restructure. Adds new types for v0.2.0
* Removes build artefacts
* Shift validation to beacon chain
* Temporarily remove gossip validation
This is to be updated to match current optimisation efforts.
* Adds AggregateAndProof
* Begin rebuilding pubsub encoding/decoding
* Signature hacking
* Shift gossipsup decoding into eth2_libp2p
* Existing EF tests passing with fake_crypto
* Shifts block encoding/decoding into RPC
* Delete outdated API spec
* All release tests passing bar genesis state parsing
* Update and test YamlConfig
* Update to spec v0.10 compatible BLS
* Updates to BLS EF tests
* Add EF test for AggregateVerify
And delete unused hash2curve tests for uncompressed points
* Update EF tests to v0.10.1
* Use optional block root correctly in block proc
* Use genesis fork in deposit domain. All tests pass
* Fast aggregate verify test
* Update REST API docs
* Fix unused import
* Bump spec tags to v0.10.1
* Add `seconds_per_eth1_block` to chainspec
* Update to timestamp based eth1 voting scheme
* Return None from `get_votes_to_consider` if block cache is empty
* Handle overflows in `is_candidate_block`
* Revert to failing tests
* Fix eth1 data sets test
* Choose default vote according to spec
* Fix collect_valid_votes tests
* Fix `get_votes_to_consider` to choose all eligible blocks
* Uncomment winning_vote tests
* Add comments; remove unused code
* Reduce seconds_per_eth1_block for simulation
* Addressed review comments
* Add test for default vote case
* Fix logs
* Remove unused functions
* Meter default eth1 votes
* Fix comments
* Progress on attestation service
* Address review comments; remove unused dependency
* Initial work on removing libp2p lock
* Add LRU caches to store (rollup)
* Update attestation validation for DB changes (WIP)
* Initial version of should_forward_block
* Scaffold
* Progress on attestation validation
Also, consolidate prod+testing slot clocks so that they share much
of the same implementation and can both handle sub-slot time changes.
* Removes lock from libp2p service
* Completed network lock removal
* Finish(?) attestation processing
* Correct network termination future
* Add slot check to block check
* Correct fmt issues
* Remove Drop implementation for network service
* Add first attempt at attestation proc. re-write
* Add version 2 of attestation processing
* Minor fixes
* Add validator pubkey cache
* Make get_indexed_attestation take a committee
* Link signature processing into new attn verification
* First working version
* Ensure pubkey cache is updated
* Add more metrics, slight optimizations
* Clone committee cache during attestation processing
* Update shuffling cache during block processing
* Remove old commented-out code
* Fix shuffling cache insert bug
* Used indexed attestation in fork choice
* Restructure attn processing, add metrics
* Add more detailed metrics
* Tidy, fix failing tests
* Fix failing tests, tidy
* Address reviewers suggestions
* Disable/delete two outdated tests
* Modification of validator for subscriptions
* Add slot signing to validator client
* Further progress on validation subscription
* Adds necessary validator subscription functionality
* Add new Pubkeys struct to signature_sets
* Refactor with functional approach
* Update beacon chain
* Clean up validator <-> beacon node http types
* Add aggregator status to ValidatorDuty
* Impl Clone for manual slot clock
* Fix minor errors
* Further progress validator client subscription
* Initial subscription and aggregation handling
* Remove decompressed member from pubkey bytes
* Progress to modifying val client for attestation aggregation
* First draft of validator client upgrade for aggregate attestations
* Add hashmap for indices lookup
* Add state cache, remove store cache
* Only build the head committee cache
* Removes lock on a network channel
* Partially implement beacon node subscription http api
* Correct compilation issues
* Change `get_attesting_indices` to use Vec
* Fix failing test
* Partial implementation of timer
* Adds timer, removes exit_future, http api to op pool
* Partial multiple aggregate attestation handling
* Permits bulk messages accross gossipsub network channel
* Correct compile issues
* Improve gosispsub messaging and correct rest api helpers
* Added global gossipsub subscriptions
* Update validator subscriptions data structs
* Tidy
* Re-structure validator subscriptions
* Initial handling of subscriptions
* Re-structure network service
* Add pubkey cache persistence file
* Add more comments
* Integrate persistence file into builder
* Add pubkey cache tests
* Add HashSetDelay and introduce into attestation service
* Handles validator subscriptions
* Add data_dir to beacon chain builder
* Remove Option in pubkey cache persistence file
* Ensure consistency between datadir/data_dir
* Fix failing network test
* Peer subnet discovery gets queued for future subscriptions
* Reorganise attestation service functions
* Initial wiring of attestation service
* First draft of attestation service timing logic
* Correct minor typos
* Tidy
* Fix todos
* Improve tests
* Add PeerInfo to connected peers mapping
* Fix compile error
* Fix compile error from merge
* Split up block processing metrics
* Tidy
* Refactor get_pubkey_from_state
* Remove commented-out code
* Rename state_cache -> checkpoint_cache
* Rename Checkpoint -> Snapshot
* Tidy, add comments
* Tidy up find_head function
* Change some checkpoint -> snapshot
* Add tests
* Expose max_len
* Remove dead code
* Tidy
* Fix bug
* Add sync-speed metric
* Add first attempt at VerifiableBlock
* Start integrating into beacon chain
* Integrate VerifiableBlock
* Rename VerifableBlock -> PartialBlockVerification
* Add start of typed methods
* Add progress
* Add further progress
* Rename structs
* Add full block verification to block_processing.rs
* Further beacon chain integration
* Update checks for gossip
* Add todo
* Start adding segement verification
* Add passing chain segement test
* Initial integration with batch sync
* Minor changes
* Tidy, add more error checking
* Start adding chain_segment tests
* Finish invalid signature tests
* Include single and gossip verified blocks in tests
* Add gossip verification tests
* Start adding docs
* Finish adding comments to block_processing.rs
* Rename block_processing.rs -> block_verification
* Start removing old block processing code
* Fixes beacon_chain compilation
* Fix project-wide compile errors
* Remove old code
* Correct code to pass all tests
* Fix bug with beacon proposer index
* Fix shim for BlockProcessingError
* Only process one epoch at a time
* Fix loop in chain segment processing
* Correct tests from master merge
* Add caching for state.eth1_data_votes
* Add BeaconChain::validator_pubkey
* Revert "Add caching for state.eth1_data_votes"
This reverts commit cd73dcd6434fb8d8e6bf30c5356355598ea7b78e.
Co-authored-by: Grant Wuerker <gwuerker@gmail.com>
Co-authored-by: Michael Sproul <michael@sigmaprime.io>
Co-authored-by: Michael Sproul <micsproul@gmail.com>
Co-authored-by: pawan <pawandhananjay@gmail.com>
Co-authored-by: Paul Hauner <paul@paulhauner.com>
2020-03-17 06:24:44 +00:00
|
|
|
version = "0.2.0"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2021-11-08 07:29:04 +00:00
|
|
|
"beacon_chain",
|
2020-05-10 09:56:31 +00:00
|
|
|
"bls",
|
|
|
|
"cached_tree_hash",
|
|
|
|
"compare_fields",
|
2021-07-09 06:15:32 +00:00
|
|
|
"compare_fields_derive",
|
|
|
|
"derivative",
|
2021-11-29 03:57:54 +00:00
|
|
|
"eth2_ssz",
|
2021-11-24 00:28:30 +00:00
|
|
|
"eth2_ssz_derive 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2021-10-14 02:58:11 +00:00
|
|
|
"ethereum-types 0.12.1",
|
2021-11-16 00:46:12 +00:00
|
|
|
"fork_choice",
|
2021-07-09 06:15:32 +00:00
|
|
|
"fs2",
|
2020-10-28 22:19:38 +00:00
|
|
|
"hex",
|
2020-05-10 09:56:31 +00:00
|
|
|
"rayon",
|
|
|
|
"serde",
|
|
|
|
"serde_derive",
|
|
|
|
"serde_repr",
|
|
|
|
"serde_yaml",
|
2021-07-09 06:15:32 +00:00
|
|
|
"snap",
|
2020-05-10 09:56:31 +00:00
|
|
|
"state_processing",
|
2021-11-08 07:29:04 +00:00
|
|
|
"store",
|
2020-05-10 09:56:31 +00:00
|
|
|
"swap_or_not_shuffle",
|
2021-11-29 03:57:54 +00:00
|
|
|
"tree_hash",
|
2021-11-24 00:28:30 +00:00
|
|
|
"tree_hash_derive 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2020-05-10 09:56:31 +00:00
|
|
|
"types",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "either"
|
2020-09-18 06:41:29 +00:00
|
|
|
version = "1.6.1"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2020-09-18 06:41:29 +00:00
|
|
|
checksum = "e78d4f1cc4ae33bbfc157ed5d5a5ef3bc29227303d595861deb238fcec4e9457"
|
2019-12-09 11:39:44 +00:00
|
|
|
|
2020-10-23 04:16:33 +00:00
|
|
|
[[package]]
|
|
|
|
name = "elliptic-curve"
|
2021-07-05 00:54:17 +00:00
|
|
|
version = "0.9.12"
|
2020-10-23 04:16:33 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-07-05 00:54:17 +00:00
|
|
|
checksum = "c13e9b0c3c4170dcc2a12783746c4205d98e18957f57854251eea3f9750fe005"
|
2020-10-23 04:16:33 +00:00
|
|
|
dependencies = [
|
2021-07-05 00:54:17 +00:00
|
|
|
"bitvec 0.20.4",
|
2021-12-22 06:17:14 +00:00
|
|
|
"ff 0.9.0",
|
2021-07-13 00:48:33 +00:00
|
|
|
"generic-array",
|
2021-12-22 06:17:14 +00:00
|
|
|
"group 0.9.0",
|
2021-02-10 23:29:49 +00:00
|
|
|
"pkcs8",
|
2021-07-05 00:54:17 +00:00
|
|
|
"rand_core 0.6.3",
|
2021-07-13 00:48:33 +00:00
|
|
|
"subtle",
|
2020-10-23 04:16:33 +00:00
|
|
|
"zeroize",
|
|
|
|
]
|
|
|
|
|
2021-12-22 06:17:14 +00:00
|
|
|
[[package]]
|
|
|
|
name = "elliptic-curve"
|
|
|
|
version = "0.11.6"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
checksum = "decb3a27ea454a5f23f96eb182af0671c12694d64ecc33dada74edd1301f6cfc"
|
|
|
|
dependencies = [
|
|
|
|
"crypto-bigint",
|
|
|
|
"der 0.5.1",
|
|
|
|
"ff 0.11.0",
|
|
|
|
"generic-array",
|
|
|
|
"group 0.11.0",
|
|
|
|
"rand_core 0.6.3",
|
|
|
|
"sec1",
|
|
|
|
"subtle",
|
|
|
|
"zeroize",
|
|
|
|
]
|
|
|
|
|
2019-12-09 11:39:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "encoding_rs"
|
2021-12-22 06:17:14 +00:00
|
|
|
version = "0.8.30"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-12-22 06:17:14 +00:00
|
|
|
checksum = "7896dc8abb250ffdda33912550faa54c88ec8b998dec0b2c55ab224921ce11df"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2021-11-18 05:08:42 +00:00
|
|
|
"cfg-if",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "enr"
|
2021-07-05 00:54:17 +00:00
|
|
|
version = "0.5.1"
|
2020-05-17 11:16:48 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-07-05 00:54:17 +00:00
|
|
|
checksum = "809869a1328bfb586b48c9c0f87761c47c41793a85bcb06f66074a87cafc1bcd"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2021-07-05 00:54:17 +00:00
|
|
|
"base64 0.13.0",
|
|
|
|
"bs58",
|
2021-10-29 01:59:29 +00:00
|
|
|
"bytes",
|
2020-05-10 09:56:31 +00:00
|
|
|
"ed25519-dalek",
|
2020-10-28 22:19:38 +00:00
|
|
|
"hex",
|
2020-10-23 04:16:33 +00:00
|
|
|
"k256",
|
2020-12-09 01:34:58 +00:00
|
|
|
"log",
|
2021-07-05 00:54:17 +00:00
|
|
|
"rand 0.8.4",
|
2021-08-17 01:00:24 +00:00
|
|
|
"rlp 0.5.1",
|
2020-05-10 09:56:31 +00:00
|
|
|
"serde",
|
2020-10-05 07:45:54 +00:00
|
|
|
"sha3",
|
2020-05-17 11:16:48 +00:00
|
|
|
"zeroize",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
2021-06-03 01:11:33 +00:00
|
|
|
[[package]]
|
|
|
|
name = "enum-as-inner"
|
|
|
|
version = "0.3.3"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
checksum = "7c5f0096a91d210159eceb2ff5e1c4da18388a170e1e3ce948aac9c8fdbbf595"
|
|
|
|
dependencies = [
|
|
|
|
"heck",
|
|
|
|
"proc-macro2",
|
|
|
|
"quote",
|
|
|
|
"syn",
|
|
|
|
]
|
|
|
|
|
2019-12-09 11:39:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "env_logger"
|
|
|
|
version = "0.7.1"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2020-05-10 09:56:31 +00:00
|
|
|
checksum = "44533bbbb3bb3c1fa17d9f2e4e38bbbaf8396ba82193c4cb1b6445d711445d36"
|
2020-12-07 08:20:33 +00:00
|
|
|
dependencies = [
|
2020-12-09 01:34:58 +00:00
|
|
|
"log",
|
2020-12-07 08:20:33 +00:00
|
|
|
"regex",
|
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "env_logger"
|
2021-08-17 01:00:24 +00:00
|
|
|
version = "0.9.0"
|
2020-12-07 08:20:33 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-08-17 01:00:24 +00:00
|
|
|
checksum = "0b2cf0344971ee6c64c31be0d530793fba457d322dfec2810c453d0ef228f9c3"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2020-05-10 09:56:31 +00:00
|
|
|
"atty",
|
|
|
|
"humantime",
|
2020-12-09 01:34:58 +00:00
|
|
|
"log",
|
2020-05-10 09:56:31 +00:00
|
|
|
"regex",
|
|
|
|
"termcolor",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "environment"
|
2020-05-18 05:05:23 +00:00
|
|
|
version = "0.1.2"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2020-05-10 09:56:31 +00:00
|
|
|
"ctrlc",
|
|
|
|
"eth2_config",
|
2020-12-08 05:41:10 +00:00
|
|
|
"eth2_network_config",
|
2020-06-04 11:48:05 +00:00
|
|
|
"exit-future",
|
2021-07-09 03:20:24 +00:00
|
|
|
"futures",
|
2020-05-10 09:56:31 +00:00
|
|
|
"logging",
|
|
|
|
"slog",
|
|
|
|
"slog-async",
|
|
|
|
"slog-json",
|
|
|
|
"slog-term",
|
2021-09-14 06:48:26 +00:00
|
|
|
"sloggers",
|
2020-10-05 07:45:54 +00:00
|
|
|
"task_executor",
|
2021-08-17 01:00:24 +00:00
|
|
|
"tokio",
|
2020-05-10 09:56:31 +00:00
|
|
|
"types",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "error-chain"
|
2020-08-03 09:35:53 +00:00
|
|
|
version = "0.12.4"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2020-08-03 09:35:53 +00:00
|
|
|
checksum = "2d2f06b9cac1506ece98fe3231e3cc9c4410ec3d5b1f24ae1c8946f0742cdefc"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2020-05-10 09:56:31 +00:00
|
|
|
"backtrace",
|
2020-12-09 01:34:58 +00:00
|
|
|
"version_check",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "eth1"
|
2020-08-06 03:43:05 +00:00
|
|
|
version = "0.2.0"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2020-05-10 09:56:31 +00:00
|
|
|
"environment",
|
|
|
|
"eth1_test_rig",
|
2020-11-02 00:37:30 +00:00
|
|
|
"eth2",
|
2021-11-29 03:57:54 +00:00
|
|
|
"eth2_ssz",
|
2021-11-24 00:28:30 +00:00
|
|
|
"eth2_ssz_derive 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2020-11-27 08:37:44 +00:00
|
|
|
"fallback",
|
2021-07-09 03:20:24 +00:00
|
|
|
"futures",
|
2020-10-28 22:19:38 +00:00
|
|
|
"hex",
|
2020-05-10 09:56:31 +00:00
|
|
|
"lazy_static",
|
|
|
|
"lighthouse_metrics",
|
|
|
|
"merkle_proof",
|
2020-12-09 01:34:58 +00:00
|
|
|
"parking_lot",
|
2020-05-10 09:56:31 +00:00
|
|
|
"reqwest",
|
2021-05-04 01:59:51 +00:00
|
|
|
"sensitive_url",
|
2020-05-10 09:56:31 +00:00
|
|
|
"serde",
|
|
|
|
"serde_json",
|
|
|
|
"slog",
|
2021-09-14 06:48:26 +00:00
|
|
|
"sloggers",
|
2020-05-10 09:56:31 +00:00
|
|
|
"state_processing",
|
2020-10-05 07:45:54 +00:00
|
|
|
"task_executor",
|
2021-08-17 01:00:24 +00:00
|
|
|
"tokio",
|
2020-05-10 09:56:31 +00:00
|
|
|
"toml",
|
2021-11-29 03:57:54 +00:00
|
|
|
"tree_hash",
|
2020-05-10 09:56:31 +00:00
|
|
|
"types",
|
|
|
|
"web3",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "eth1_test_rig"
|
Initial work towards v0.2.0 (#924)
* Remove ping protocol
* Initial renaming of network services
* Correct rebasing relative to latest master
* Start updating types
* Adds HashMapDelay struct to utils
* Initial network restructure
* Network restructure. Adds new types for v0.2.0
* Removes build artefacts
* Shift validation to beacon chain
* Temporarily remove gossip validation
This is to be updated to match current optimisation efforts.
* Adds AggregateAndProof
* Begin rebuilding pubsub encoding/decoding
* Signature hacking
* Shift gossipsup decoding into eth2_libp2p
* Existing EF tests passing with fake_crypto
* Shifts block encoding/decoding into RPC
* Delete outdated API spec
* All release tests passing bar genesis state parsing
* Update and test YamlConfig
* Update to spec v0.10 compatible BLS
* Updates to BLS EF tests
* Add EF test for AggregateVerify
And delete unused hash2curve tests for uncompressed points
* Update EF tests to v0.10.1
* Use optional block root correctly in block proc
* Use genesis fork in deposit domain. All tests pass
* Fast aggregate verify test
* Update REST API docs
* Fix unused import
* Bump spec tags to v0.10.1
* Add `seconds_per_eth1_block` to chainspec
* Update to timestamp based eth1 voting scheme
* Return None from `get_votes_to_consider` if block cache is empty
* Handle overflows in `is_candidate_block`
* Revert to failing tests
* Fix eth1 data sets test
* Choose default vote according to spec
* Fix collect_valid_votes tests
* Fix `get_votes_to_consider` to choose all eligible blocks
* Uncomment winning_vote tests
* Add comments; remove unused code
* Reduce seconds_per_eth1_block for simulation
* Addressed review comments
* Add test for default vote case
* Fix logs
* Remove unused functions
* Meter default eth1 votes
* Fix comments
* Progress on attestation service
* Address review comments; remove unused dependency
* Initial work on removing libp2p lock
* Add LRU caches to store (rollup)
* Update attestation validation for DB changes (WIP)
* Initial version of should_forward_block
* Scaffold
* Progress on attestation validation
Also, consolidate prod+testing slot clocks so that they share much
of the same implementation and can both handle sub-slot time changes.
* Removes lock from libp2p service
* Completed network lock removal
* Finish(?) attestation processing
* Correct network termination future
* Add slot check to block check
* Correct fmt issues
* Remove Drop implementation for network service
* Add first attempt at attestation proc. re-write
* Add version 2 of attestation processing
* Minor fixes
* Add validator pubkey cache
* Make get_indexed_attestation take a committee
* Link signature processing into new attn verification
* First working version
* Ensure pubkey cache is updated
* Add more metrics, slight optimizations
* Clone committee cache during attestation processing
* Update shuffling cache during block processing
* Remove old commented-out code
* Fix shuffling cache insert bug
* Used indexed attestation in fork choice
* Restructure attn processing, add metrics
* Add more detailed metrics
* Tidy, fix failing tests
* Fix failing tests, tidy
* Address reviewers suggestions
* Disable/delete two outdated tests
* Modification of validator for subscriptions
* Add slot signing to validator client
* Further progress on validation subscription
* Adds necessary validator subscription functionality
* Add new Pubkeys struct to signature_sets
* Refactor with functional approach
* Update beacon chain
* Clean up validator <-> beacon node http types
* Add aggregator status to ValidatorDuty
* Impl Clone for manual slot clock
* Fix minor errors
* Further progress validator client subscription
* Initial subscription and aggregation handling
* Remove decompressed member from pubkey bytes
* Progress to modifying val client for attestation aggregation
* First draft of validator client upgrade for aggregate attestations
* Add hashmap for indices lookup
* Add state cache, remove store cache
* Only build the head committee cache
* Removes lock on a network channel
* Partially implement beacon node subscription http api
* Correct compilation issues
* Change `get_attesting_indices` to use Vec
* Fix failing test
* Partial implementation of timer
* Adds timer, removes exit_future, http api to op pool
* Partial multiple aggregate attestation handling
* Permits bulk messages accross gossipsub network channel
* Correct compile issues
* Improve gosispsub messaging and correct rest api helpers
* Added global gossipsub subscriptions
* Update validator subscriptions data structs
* Tidy
* Re-structure validator subscriptions
* Initial handling of subscriptions
* Re-structure network service
* Add pubkey cache persistence file
* Add more comments
* Integrate persistence file into builder
* Add pubkey cache tests
* Add HashSetDelay and introduce into attestation service
* Handles validator subscriptions
* Add data_dir to beacon chain builder
* Remove Option in pubkey cache persistence file
* Ensure consistency between datadir/data_dir
* Fix failing network test
* Peer subnet discovery gets queued for future subscriptions
* Reorganise attestation service functions
* Initial wiring of attestation service
* First draft of attestation service timing logic
* Correct minor typos
* Tidy
* Fix todos
* Improve tests
* Add PeerInfo to connected peers mapping
* Fix compile error
* Fix compile error from merge
* Split up block processing metrics
* Tidy
* Refactor get_pubkey_from_state
* Remove commented-out code
* Rename state_cache -> checkpoint_cache
* Rename Checkpoint -> Snapshot
* Tidy, add comments
* Tidy up find_head function
* Change some checkpoint -> snapshot
* Add tests
* Expose max_len
* Remove dead code
* Tidy
* Fix bug
* Add sync-speed metric
* Add first attempt at VerifiableBlock
* Start integrating into beacon chain
* Integrate VerifiableBlock
* Rename VerifableBlock -> PartialBlockVerification
* Add start of typed methods
* Add progress
* Add further progress
* Rename structs
* Add full block verification to block_processing.rs
* Further beacon chain integration
* Update checks for gossip
* Add todo
* Start adding segement verification
* Add passing chain segement test
* Initial integration with batch sync
* Minor changes
* Tidy, add more error checking
* Start adding chain_segment tests
* Finish invalid signature tests
* Include single and gossip verified blocks in tests
* Add gossip verification tests
* Start adding docs
* Finish adding comments to block_processing.rs
* Rename block_processing.rs -> block_verification
* Start removing old block processing code
* Fixes beacon_chain compilation
* Fix project-wide compile errors
* Remove old code
* Correct code to pass all tests
* Fix bug with beacon proposer index
* Fix shim for BlockProcessingError
* Only process one epoch at a time
* Fix loop in chain segment processing
* Correct tests from master merge
* Add caching for state.eth1_data_votes
* Add BeaconChain::validator_pubkey
* Revert "Add caching for state.eth1_data_votes"
This reverts commit cd73dcd6434fb8d8e6bf30c5356355598ea7b78e.
Co-authored-by: Grant Wuerker <gwuerker@gmail.com>
Co-authored-by: Michael Sproul <michael@sigmaprime.io>
Co-authored-by: Michael Sproul <micsproul@gmail.com>
Co-authored-by: pawan <pawandhananjay@gmail.com>
Co-authored-by: Paul Hauner <paul@paulhauner.com>
2020-03-17 06:24:44 +00:00
|
|
|
version = "0.2.0"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2020-05-10 09:56:31 +00:00
|
|
|
"deposit_contract",
|
|
|
|
"serde_json",
|
2021-08-17 01:00:24 +00:00
|
|
|
"tokio",
|
2020-05-10 09:56:31 +00:00
|
|
|
"types",
|
|
|
|
"web3",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
2020-09-29 03:46:54 +00:00
|
|
|
[[package]]
|
|
|
|
name = "eth2"
|
|
|
|
version = "0.1.0"
|
|
|
|
dependencies = [
|
2020-10-02 09:42:19 +00:00
|
|
|
"account_utils",
|
2021-10-29 01:59:29 +00:00
|
|
|
"bytes",
|
2020-10-02 09:42:19 +00:00
|
|
|
"eth2_keystore",
|
2021-11-29 22:32:53 +00:00
|
|
|
"eth2_serde_utils",
|
2021-11-29 03:57:54 +00:00
|
|
|
"eth2_ssz",
|
2021-11-24 00:28:30 +00:00
|
|
|
"eth2_ssz_derive 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2021-07-09 03:20:24 +00:00
|
|
|
"futures",
|
2020-12-04 00:18:58 +00:00
|
|
|
"futures-util",
|
2021-08-12 01:59:20 +00:00
|
|
|
"libsecp256k1 0.6.0",
|
Rename eth2_libp2p to lighthouse_network (#2702)
## Description
The `eth2_libp2p` crate was originally named and designed to incorporate a simple libp2p integration into lighthouse. Since its origins the crates purpose has expanded dramatically. It now houses a lot more sophistication that is specific to lighthouse and no longer just a libp2p integration.
As of this writing it currently houses the following high-level lighthouse-specific logic:
- Lighthouse's implementation of the eth2 RPC protocol and specific encodings/decodings
- Integration and handling of ENRs with respect to libp2p and eth2
- Lighthouse's discovery logic, its integration with discv5 and logic about searching and handling peers.
- Lighthouse's peer manager - This is a large module handling various aspects of Lighthouse's network, such as peer scoring, handling pings and metadata, connection maintenance and recording, etc.
- Lighthouse's peer database - This is a collection of information stored for each individual peer which is specific to lighthouse. We store connection state, sync state, last seen ips and scores etc. The data stored for each peer is designed for various elements of the lighthouse code base such as syncing and the http api.
- Gossipsub scoring - This stores a collection of gossipsub 1.1 scoring mechanisms that are continuously analyssed and updated based on the ethereum 2 networks and how Lighthouse performs on these networks.
- Lighthouse specific types for managing gossipsub topics, sync status and ENR fields
- Lighthouse's network HTTP API metrics - A collection of metrics for lighthouse network monitoring
- Lighthouse's custom configuration of all networking protocols, RPC, gossipsub, discovery, identify and libp2p.
Therefore it makes sense to rename the crate to be more akin to its current purposes, simply that it manages the majority of Lighthouse's network stack. This PR renames this crate to `lighthouse_network`
Co-authored-by: Paul Hauner <paul@paulhauner.com>
2021-10-19 00:30:39 +00:00
|
|
|
"lighthouse_network",
|
2020-09-29 03:46:54 +00:00
|
|
|
"procinfo",
|
|
|
|
"proto_array",
|
|
|
|
"psutil",
|
|
|
|
"reqwest",
|
2020-10-02 09:42:19 +00:00
|
|
|
"ring",
|
2021-05-04 01:59:51 +00:00
|
|
|
"sensitive_url",
|
2020-09-29 03:46:54 +00:00
|
|
|
"serde",
|
|
|
|
"serde_json",
|
2021-09-22 00:37:28 +00:00
|
|
|
"store",
|
2020-09-29 03:46:54 +00:00
|
|
|
"types",
|
|
|
|
]
|
|
|
|
|
2019-12-09 11:39:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "eth2_config"
|
Initial work towards v0.2.0 (#924)
* Remove ping protocol
* Initial renaming of network services
* Correct rebasing relative to latest master
* Start updating types
* Adds HashMapDelay struct to utils
* Initial network restructure
* Network restructure. Adds new types for v0.2.0
* Removes build artefacts
* Shift validation to beacon chain
* Temporarily remove gossip validation
This is to be updated to match current optimisation efforts.
* Adds AggregateAndProof
* Begin rebuilding pubsub encoding/decoding
* Signature hacking
* Shift gossipsup decoding into eth2_libp2p
* Existing EF tests passing with fake_crypto
* Shifts block encoding/decoding into RPC
* Delete outdated API spec
* All release tests passing bar genesis state parsing
* Update and test YamlConfig
* Update to spec v0.10 compatible BLS
* Updates to BLS EF tests
* Add EF test for AggregateVerify
And delete unused hash2curve tests for uncompressed points
* Update EF tests to v0.10.1
* Use optional block root correctly in block proc
* Use genesis fork in deposit domain. All tests pass
* Fast aggregate verify test
* Update REST API docs
* Fix unused import
* Bump spec tags to v0.10.1
* Add `seconds_per_eth1_block` to chainspec
* Update to timestamp based eth1 voting scheme
* Return None from `get_votes_to_consider` if block cache is empty
* Handle overflows in `is_candidate_block`
* Revert to failing tests
* Fix eth1 data sets test
* Choose default vote according to spec
* Fix collect_valid_votes tests
* Fix `get_votes_to_consider` to choose all eligible blocks
* Uncomment winning_vote tests
* Add comments; remove unused code
* Reduce seconds_per_eth1_block for simulation
* Addressed review comments
* Add test for default vote case
* Fix logs
* Remove unused functions
* Meter default eth1 votes
* Fix comments
* Progress on attestation service
* Address review comments; remove unused dependency
* Initial work on removing libp2p lock
* Add LRU caches to store (rollup)
* Update attestation validation for DB changes (WIP)
* Initial version of should_forward_block
* Scaffold
* Progress on attestation validation
Also, consolidate prod+testing slot clocks so that they share much
of the same implementation and can both handle sub-slot time changes.
* Removes lock from libp2p service
* Completed network lock removal
* Finish(?) attestation processing
* Correct network termination future
* Add slot check to block check
* Correct fmt issues
* Remove Drop implementation for network service
* Add first attempt at attestation proc. re-write
* Add version 2 of attestation processing
* Minor fixes
* Add validator pubkey cache
* Make get_indexed_attestation take a committee
* Link signature processing into new attn verification
* First working version
* Ensure pubkey cache is updated
* Add more metrics, slight optimizations
* Clone committee cache during attestation processing
* Update shuffling cache during block processing
* Remove old commented-out code
* Fix shuffling cache insert bug
* Used indexed attestation in fork choice
* Restructure attn processing, add metrics
* Add more detailed metrics
* Tidy, fix failing tests
* Fix failing tests, tidy
* Address reviewers suggestions
* Disable/delete two outdated tests
* Modification of validator for subscriptions
* Add slot signing to validator client
* Further progress on validation subscription
* Adds necessary validator subscription functionality
* Add new Pubkeys struct to signature_sets
* Refactor with functional approach
* Update beacon chain
* Clean up validator <-> beacon node http types
* Add aggregator status to ValidatorDuty
* Impl Clone for manual slot clock
* Fix minor errors
* Further progress validator client subscription
* Initial subscription and aggregation handling
* Remove decompressed member from pubkey bytes
* Progress to modifying val client for attestation aggregation
* First draft of validator client upgrade for aggregate attestations
* Add hashmap for indices lookup
* Add state cache, remove store cache
* Only build the head committee cache
* Removes lock on a network channel
* Partially implement beacon node subscription http api
* Correct compilation issues
* Change `get_attesting_indices` to use Vec
* Fix failing test
* Partial implementation of timer
* Adds timer, removes exit_future, http api to op pool
* Partial multiple aggregate attestation handling
* Permits bulk messages accross gossipsub network channel
* Correct compile issues
* Improve gosispsub messaging and correct rest api helpers
* Added global gossipsub subscriptions
* Update validator subscriptions data structs
* Tidy
* Re-structure validator subscriptions
* Initial handling of subscriptions
* Re-structure network service
* Add pubkey cache persistence file
* Add more comments
* Integrate persistence file into builder
* Add pubkey cache tests
* Add HashSetDelay and introduce into attestation service
* Handles validator subscriptions
* Add data_dir to beacon chain builder
* Remove Option in pubkey cache persistence file
* Ensure consistency between datadir/data_dir
* Fix failing network test
* Peer subnet discovery gets queued for future subscriptions
* Reorganise attestation service functions
* Initial wiring of attestation service
* First draft of attestation service timing logic
* Correct minor typos
* Tidy
* Fix todos
* Improve tests
* Add PeerInfo to connected peers mapping
* Fix compile error
* Fix compile error from merge
* Split up block processing metrics
* Tidy
* Refactor get_pubkey_from_state
* Remove commented-out code
* Rename state_cache -> checkpoint_cache
* Rename Checkpoint -> Snapshot
* Tidy, add comments
* Tidy up find_head function
* Change some checkpoint -> snapshot
* Add tests
* Expose max_len
* Remove dead code
* Tidy
* Fix bug
* Add sync-speed metric
* Add first attempt at VerifiableBlock
* Start integrating into beacon chain
* Integrate VerifiableBlock
* Rename VerifableBlock -> PartialBlockVerification
* Add start of typed methods
* Add progress
* Add further progress
* Rename structs
* Add full block verification to block_processing.rs
* Further beacon chain integration
* Update checks for gossip
* Add todo
* Start adding segement verification
* Add passing chain segement test
* Initial integration with batch sync
* Minor changes
* Tidy, add more error checking
* Start adding chain_segment tests
* Finish invalid signature tests
* Include single and gossip verified blocks in tests
* Add gossip verification tests
* Start adding docs
* Finish adding comments to block_processing.rs
* Rename block_processing.rs -> block_verification
* Start removing old block processing code
* Fixes beacon_chain compilation
* Fix project-wide compile errors
* Remove old code
* Correct code to pass all tests
* Fix bug with beacon proposer index
* Fix shim for BlockProcessingError
* Only process one epoch at a time
* Fix loop in chain segment processing
* Correct tests from master merge
* Add caching for state.eth1_data_votes
* Add BeaconChain::validator_pubkey
* Revert "Add caching for state.eth1_data_votes"
This reverts commit cd73dcd6434fb8d8e6bf30c5356355598ea7b78e.
Co-authored-by: Grant Wuerker <gwuerker@gmail.com>
Co-authored-by: Michael Sproul <michael@sigmaprime.io>
Co-authored-by: Michael Sproul <micsproul@gmail.com>
Co-authored-by: pawan <pawandhananjay@gmail.com>
Co-authored-by: Paul Hauner <paul@paulhauner.com>
2020-03-17 06:24:44 +00:00
|
|
|
version = "0.2.0"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2021-08-30 23:27:28 +00:00
|
|
|
"paste",
|
2020-05-10 09:56:31 +00:00
|
|
|
"types",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "eth2_hashing"
|
2021-09-03 01:10:25 +00:00
|
|
|
version = "0.2.0"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2021-09-16 04:45:05 +00:00
|
|
|
"cpufeatures 0.1.5",
|
2020-05-10 09:56:31 +00:00
|
|
|
"lazy_static",
|
|
|
|
"ring",
|
|
|
|
"rustc-hex",
|
2022-01-11 01:35:56 +00:00
|
|
|
"sha2 0.9.9",
|
2020-05-10 09:56:31 +00:00
|
|
|
"wasm-bindgen-test",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
2021-09-03 01:10:25 +00:00
|
|
|
[[package]]
|
|
|
|
name = "eth2_hashing"
|
|
|
|
version = "0.2.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
checksum = "5b67737df7e3769e823d9d583eb5d60bcc4b2ef97ca674d1964ef287a02f8517"
|
|
|
|
dependencies = [
|
2021-09-16 04:45:05 +00:00
|
|
|
"cpufeatures 0.1.5",
|
2021-09-03 01:10:25 +00:00
|
|
|
"lazy_static",
|
|
|
|
"ring",
|
2022-01-11 01:35:56 +00:00
|
|
|
"sha2 0.9.9",
|
2021-09-03 01:10:25 +00:00
|
|
|
]
|
|
|
|
|
2019-12-09 11:39:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "eth2_interop_keypairs"
|
Initial work towards v0.2.0 (#924)
* Remove ping protocol
* Initial renaming of network services
* Correct rebasing relative to latest master
* Start updating types
* Adds HashMapDelay struct to utils
* Initial network restructure
* Network restructure. Adds new types for v0.2.0
* Removes build artefacts
* Shift validation to beacon chain
* Temporarily remove gossip validation
This is to be updated to match current optimisation efforts.
* Adds AggregateAndProof
* Begin rebuilding pubsub encoding/decoding
* Signature hacking
* Shift gossipsup decoding into eth2_libp2p
* Existing EF tests passing with fake_crypto
* Shifts block encoding/decoding into RPC
* Delete outdated API spec
* All release tests passing bar genesis state parsing
* Update and test YamlConfig
* Update to spec v0.10 compatible BLS
* Updates to BLS EF tests
* Add EF test for AggregateVerify
And delete unused hash2curve tests for uncompressed points
* Update EF tests to v0.10.1
* Use optional block root correctly in block proc
* Use genesis fork in deposit domain. All tests pass
* Fast aggregate verify test
* Update REST API docs
* Fix unused import
* Bump spec tags to v0.10.1
* Add `seconds_per_eth1_block` to chainspec
* Update to timestamp based eth1 voting scheme
* Return None from `get_votes_to_consider` if block cache is empty
* Handle overflows in `is_candidate_block`
* Revert to failing tests
* Fix eth1 data sets test
* Choose default vote according to spec
* Fix collect_valid_votes tests
* Fix `get_votes_to_consider` to choose all eligible blocks
* Uncomment winning_vote tests
* Add comments; remove unused code
* Reduce seconds_per_eth1_block for simulation
* Addressed review comments
* Add test for default vote case
* Fix logs
* Remove unused functions
* Meter default eth1 votes
* Fix comments
* Progress on attestation service
* Address review comments; remove unused dependency
* Initial work on removing libp2p lock
* Add LRU caches to store (rollup)
* Update attestation validation for DB changes (WIP)
* Initial version of should_forward_block
* Scaffold
* Progress on attestation validation
Also, consolidate prod+testing slot clocks so that they share much
of the same implementation and can both handle sub-slot time changes.
* Removes lock from libp2p service
* Completed network lock removal
* Finish(?) attestation processing
* Correct network termination future
* Add slot check to block check
* Correct fmt issues
* Remove Drop implementation for network service
* Add first attempt at attestation proc. re-write
* Add version 2 of attestation processing
* Minor fixes
* Add validator pubkey cache
* Make get_indexed_attestation take a committee
* Link signature processing into new attn verification
* First working version
* Ensure pubkey cache is updated
* Add more metrics, slight optimizations
* Clone committee cache during attestation processing
* Update shuffling cache during block processing
* Remove old commented-out code
* Fix shuffling cache insert bug
* Used indexed attestation in fork choice
* Restructure attn processing, add metrics
* Add more detailed metrics
* Tidy, fix failing tests
* Fix failing tests, tidy
* Address reviewers suggestions
* Disable/delete two outdated tests
* Modification of validator for subscriptions
* Add slot signing to validator client
* Further progress on validation subscription
* Adds necessary validator subscription functionality
* Add new Pubkeys struct to signature_sets
* Refactor with functional approach
* Update beacon chain
* Clean up validator <-> beacon node http types
* Add aggregator status to ValidatorDuty
* Impl Clone for manual slot clock
* Fix minor errors
* Further progress validator client subscription
* Initial subscription and aggregation handling
* Remove decompressed member from pubkey bytes
* Progress to modifying val client for attestation aggregation
* First draft of validator client upgrade for aggregate attestations
* Add hashmap for indices lookup
* Add state cache, remove store cache
* Only build the head committee cache
* Removes lock on a network channel
* Partially implement beacon node subscription http api
* Correct compilation issues
* Change `get_attesting_indices` to use Vec
* Fix failing test
* Partial implementation of timer
* Adds timer, removes exit_future, http api to op pool
* Partial multiple aggregate attestation handling
* Permits bulk messages accross gossipsub network channel
* Correct compile issues
* Improve gosispsub messaging and correct rest api helpers
* Added global gossipsub subscriptions
* Update validator subscriptions data structs
* Tidy
* Re-structure validator subscriptions
* Initial handling of subscriptions
* Re-structure network service
* Add pubkey cache persistence file
* Add more comments
* Integrate persistence file into builder
* Add pubkey cache tests
* Add HashSetDelay and introduce into attestation service
* Handles validator subscriptions
* Add data_dir to beacon chain builder
* Remove Option in pubkey cache persistence file
* Ensure consistency between datadir/data_dir
* Fix failing network test
* Peer subnet discovery gets queued for future subscriptions
* Reorganise attestation service functions
* Initial wiring of attestation service
* First draft of attestation service timing logic
* Correct minor typos
* Tidy
* Fix todos
* Improve tests
* Add PeerInfo to connected peers mapping
* Fix compile error
* Fix compile error from merge
* Split up block processing metrics
* Tidy
* Refactor get_pubkey_from_state
* Remove commented-out code
* Rename state_cache -> checkpoint_cache
* Rename Checkpoint -> Snapshot
* Tidy, add comments
* Tidy up find_head function
* Change some checkpoint -> snapshot
* Add tests
* Expose max_len
* Remove dead code
* Tidy
* Fix bug
* Add sync-speed metric
* Add first attempt at VerifiableBlock
* Start integrating into beacon chain
* Integrate VerifiableBlock
* Rename VerifableBlock -> PartialBlockVerification
* Add start of typed methods
* Add progress
* Add further progress
* Rename structs
* Add full block verification to block_processing.rs
* Further beacon chain integration
* Update checks for gossip
* Add todo
* Start adding segement verification
* Add passing chain segement test
* Initial integration with batch sync
* Minor changes
* Tidy, add more error checking
* Start adding chain_segment tests
* Finish invalid signature tests
* Include single and gossip verified blocks in tests
* Add gossip verification tests
* Start adding docs
* Finish adding comments to block_processing.rs
* Rename block_processing.rs -> block_verification
* Start removing old block processing code
* Fixes beacon_chain compilation
* Fix project-wide compile errors
* Remove old code
* Correct code to pass all tests
* Fix bug with beacon proposer index
* Fix shim for BlockProcessingError
* Only process one epoch at a time
* Fix loop in chain segment processing
* Correct tests from master merge
* Add caching for state.eth1_data_votes
* Add BeaconChain::validator_pubkey
* Revert "Add caching for state.eth1_data_votes"
This reverts commit cd73dcd6434fb8d8e6bf30c5356355598ea7b78e.
Co-authored-by: Grant Wuerker <gwuerker@gmail.com>
Co-authored-by: Michael Sproul <michael@sigmaprime.io>
Co-authored-by: Michael Sproul <micsproul@gmail.com>
Co-authored-by: pawan <pawandhananjay@gmail.com>
Co-authored-by: Paul Hauner <paul@paulhauner.com>
2020-03-17 06:24:44 +00:00
|
|
|
version = "0.2.0"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2020-10-05 08:22:19 +00:00
|
|
|
"base64 0.13.0",
|
2020-07-25 02:03:18 +00:00
|
|
|
"bls",
|
2021-09-03 01:10:25 +00:00
|
|
|
"eth2_hashing 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2020-10-28 22:19:38 +00:00
|
|
|
"hex",
|
2020-05-10 09:56:31 +00:00
|
|
|
"lazy_static",
|
|
|
|
"num-bigint",
|
|
|
|
"serde",
|
|
|
|
"serde_derive",
|
|
|
|
"serde_yaml",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
2020-05-11 08:43:43 +00:00
|
|
|
[[package]]
|
|
|
|
name = "eth2_key_derivation"
|
|
|
|
version = "0.1.0"
|
|
|
|
dependencies = [
|
2020-05-29 04:39:33 +00:00
|
|
|
"bls",
|
2020-10-28 22:19:38 +00:00
|
|
|
"hex",
|
2020-05-11 08:43:43 +00:00
|
|
|
"num-bigint-dig",
|
2020-05-12 05:48:39 +00:00
|
|
|
"ring",
|
2022-01-11 01:35:56 +00:00
|
|
|
"sha2 0.9.9",
|
2020-05-17 11:16:48 +00:00
|
|
|
"zeroize",
|
2020-05-11 08:43:43 +00:00
|
|
|
]
|
|
|
|
|
2020-05-11 07:45:06 +00:00
|
|
|
[[package]]
|
|
|
|
name = "eth2_keystore"
|
|
|
|
version = "0.1.0"
|
|
|
|
dependencies = [
|
2021-06-03 01:11:33 +00:00
|
|
|
"aes",
|
2020-05-11 07:45:06 +00:00
|
|
|
"bls",
|
2020-05-29 04:39:33 +00:00
|
|
|
"eth2_key_derivation",
|
2020-10-28 22:19:38 +00:00
|
|
|
"hex",
|
2021-08-17 01:00:24 +00:00
|
|
|
"hmac 0.11.0",
|
|
|
|
"pbkdf2 0.8.0",
|
2020-05-11 07:45:06 +00:00
|
|
|
"rand 0.7.3",
|
2020-12-07 08:20:33 +00:00
|
|
|
"scrypt",
|
2020-05-11 07:45:06 +00:00
|
|
|
"serde",
|
|
|
|
"serde_json",
|
|
|
|
"serde_repr",
|
2022-01-11 01:35:56 +00:00
|
|
|
"sha2 0.9.9",
|
2020-05-11 07:45:06 +00:00
|
|
|
"tempfile",
|
2020-12-03 22:07:09 +00:00
|
|
|
"unicode-normalization",
|
2020-05-17 11:16:48 +00:00
|
|
|
"uuid",
|
|
|
|
"zeroize",
|
2020-05-11 07:45:06 +00:00
|
|
|
]
|
|
|
|
|
2020-12-08 05:41:10 +00:00
|
|
|
[[package]]
|
|
|
|
name = "eth2_network_config"
|
|
|
|
version = "0.2.0"
|
|
|
|
dependencies = [
|
|
|
|
"enr",
|
|
|
|
"eth2_config",
|
2021-11-29 03:57:54 +00:00
|
|
|
"eth2_ssz",
|
2020-12-08 05:41:10 +00:00
|
|
|
"serde_yaml",
|
2021-01-06 06:36:11 +00:00
|
|
|
"tempfile",
|
2020-12-08 05:41:10 +00:00
|
|
|
"types",
|
|
|
|
"zip",
|
|
|
|
]
|
|
|
|
|
2021-09-03 01:10:25 +00:00
|
|
|
[[package]]
|
|
|
|
name = "eth2_serde_utils"
|
2021-11-29 22:32:53 +00:00
|
|
|
version = "0.1.1"
|
2021-09-03 01:10:25 +00:00
|
|
|
dependencies = [
|
2021-11-16 00:46:12 +00:00
|
|
|
"ethereum-types 0.12.1",
|
2021-09-03 01:10:25 +00:00
|
|
|
"hex",
|
|
|
|
"serde",
|
|
|
|
"serde_derive",
|
|
|
|
"serde_json",
|
|
|
|
]
|
|
|
|
|
2019-12-09 11:39:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "eth2_ssz"
|
2021-11-29 03:57:54 +00:00
|
|
|
version = "0.4.1"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2021-11-24 00:28:30 +00:00
|
|
|
"eth2_ssz_derive 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2021-10-14 02:58:11 +00:00
|
|
|
"ethereum-types 0.12.1",
|
2020-12-09 01:34:58 +00:00
|
|
|
"smallvec",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
2021-11-24 00:28:30 +00:00
|
|
|
[[package]]
|
|
|
|
name = "eth2_ssz_derive"
|
|
|
|
version = "0.3.0"
|
|
|
|
dependencies = [
|
2021-12-13 20:43:22 +00:00
|
|
|
"darling",
|
2021-11-24 00:28:30 +00:00
|
|
|
"proc-macro2",
|
|
|
|
"quote",
|
|
|
|
"syn",
|
|
|
|
]
|
|
|
|
|
2019-12-09 11:39:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "eth2_ssz_derive"
|
Implement SSZ union type (#2579)
## Issue Addressed
NA
## Proposed Changes
Implements the "union" type from the SSZ spec for `ssz`, `ssz_derive`, `tree_hash` and `tree_hash_derive` so it may be derived for `enums`:
https://github.com/ethereum/consensus-specs/blob/v1.1.0-beta.3/ssz/simple-serialize.md#union
The union type is required for the merge, since the `Transaction` type is defined as a single-variant union `Union[OpaqueTransaction]`.
### Crate Updates
This PR will (hopefully) cause CI to publish new versions for the following crates:
- `eth2_ssz_derive`: `0.2.1` -> `0.3.0`
- `eth2_ssz`: `0.3.0` -> `0.4.0`
- `eth2_ssz_types`: `0.2.0` -> `0.2.1`
- `tree_hash`: `0.3.0` -> `0.4.0`
- `tree_hash_derive`: `0.3.0` -> `0.4.0`
These these crates depend on each other, I've had to add a workspace-level `[patch]` for these crates. A follow-up PR will need to remove this patch, ones the new versions are published.
### Union Behaviors
We already had SSZ `Encode` and `TreeHash` derive for enums, however it just did a "transparent" pass-through of the inner value. Since the "union" decoding from the spec is in conflict with the transparent method, I've required that all `enum` have exactly one of the following enum-level attributes:
#### SSZ
- `#[ssz(enum_behaviour = "union")]`
- matches the spec used for the merge
- `#[ssz(enum_behaviour = "transparent")]`
- maintains existing functionality
- not supported for `Decode` (never was)
#### TreeHash
- `#[tree_hash(enum_behaviour = "union")]`
- matches the spec used for the merge
- `#[tree_hash(enum_behaviour = "transparent")]`
- maintains existing functionality
This means that we can maintain the existing transparent behaviour, but all existing users will get a compile-time error until they explicitly opt-in to being transparent.
### Legacy Option Encoding
Before this PR, we already had a union-esque encoding for `Option<T>`. However, this was with the *old* SSZ spec where the union selector was 4 bytes. During merge specification, the spec was changed to use 1 byte for the selector.
Whilst the 4-byte `Option` encoding was never used in the spec, we used it in our database. Writing a migrate script for all occurrences of `Option` in the database would be painful, especially since it's used in the `CommitteeCache`. To avoid the migrate script, I added a serde-esque `#[ssz(with = "module")]` field-level attribute to `ssz_derive` so that we can opt into the 4-byte encoding on a field-by-field basis.
The `ssz::legacy::four_byte_impl!` macro allows a one-liner to define the module required for the `#[ssz(with = "module")]` for some `Option<T> where T: Encode + Decode`.
Notably, **I have removed `Encode` and `Decode` impls for `Option`**. I've done this to force a break on downstream users. Like I mentioned, `Option` isn't used in the spec so I don't think it'll be *that* annoying. I think it's nicer than quietly having two different union implementations or quietly breaking the existing `Option` impl.
### Crate Publish Ordering
I've modified the order in which CI publishes crates to ensure that we don't publish a crate without ensuring we already published a crate that it depends upon.
## TODO
- [ ] Queue a follow-up `[patch]`-removing PR.
2021-09-25 05:58:36 +00:00
|
|
|
version = "0.3.0"
|
2021-11-24 00:28:30 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
checksum = "635b86d2c941bb71e7419a571e1763d65c93e51a1bafc400352e3bef6ff59fc9"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2021-12-13 20:43:22 +00:00
|
|
|
"darling",
|
Implement SSZ union type (#2579)
## Issue Addressed
NA
## Proposed Changes
Implements the "union" type from the SSZ spec for `ssz`, `ssz_derive`, `tree_hash` and `tree_hash_derive` so it may be derived for `enums`:
https://github.com/ethereum/consensus-specs/blob/v1.1.0-beta.3/ssz/simple-serialize.md#union
The union type is required for the merge, since the `Transaction` type is defined as a single-variant union `Union[OpaqueTransaction]`.
### Crate Updates
This PR will (hopefully) cause CI to publish new versions for the following crates:
- `eth2_ssz_derive`: `0.2.1` -> `0.3.0`
- `eth2_ssz`: `0.3.0` -> `0.4.0`
- `eth2_ssz_types`: `0.2.0` -> `0.2.1`
- `tree_hash`: `0.3.0` -> `0.4.0`
- `tree_hash_derive`: `0.3.0` -> `0.4.0`
These these crates depend on each other, I've had to add a workspace-level `[patch]` for these crates. A follow-up PR will need to remove this patch, ones the new versions are published.
### Union Behaviors
We already had SSZ `Encode` and `TreeHash` derive for enums, however it just did a "transparent" pass-through of the inner value. Since the "union" decoding from the spec is in conflict with the transparent method, I've required that all `enum` have exactly one of the following enum-level attributes:
#### SSZ
- `#[ssz(enum_behaviour = "union")]`
- matches the spec used for the merge
- `#[ssz(enum_behaviour = "transparent")]`
- maintains existing functionality
- not supported for `Decode` (never was)
#### TreeHash
- `#[tree_hash(enum_behaviour = "union")]`
- matches the spec used for the merge
- `#[tree_hash(enum_behaviour = "transparent")]`
- maintains existing functionality
This means that we can maintain the existing transparent behaviour, but all existing users will get a compile-time error until they explicitly opt-in to being transparent.
### Legacy Option Encoding
Before this PR, we already had a union-esque encoding for `Option<T>`. However, this was with the *old* SSZ spec where the union selector was 4 bytes. During merge specification, the spec was changed to use 1 byte for the selector.
Whilst the 4-byte `Option` encoding was never used in the spec, we used it in our database. Writing a migrate script for all occurrences of `Option` in the database would be painful, especially since it's used in the `CommitteeCache`. To avoid the migrate script, I added a serde-esque `#[ssz(with = "module")]` field-level attribute to `ssz_derive` so that we can opt into the 4-byte encoding on a field-by-field basis.
The `ssz::legacy::four_byte_impl!` macro allows a one-liner to define the module required for the `#[ssz(with = "module")]` for some `Option<T> where T: Encode + Decode`.
Notably, **I have removed `Encode` and `Decode` impls for `Option`**. I've done this to force a break on downstream users. Like I mentioned, `Option` isn't used in the spec so I don't think it'll be *that* annoying. I think it's nicer than quietly having two different union implementations or quietly breaking the existing `Option` impl.
### Crate Publish Ordering
I've modified the order in which CI publishes crates to ensure that we don't publish a crate without ensuring we already published a crate that it depends upon.
## TODO
- [ ] Queue a follow-up `[patch]`-removing PR.
2021-09-25 05:58:36 +00:00
|
|
|
"proc-macro2",
|
2020-05-17 11:16:48 +00:00
|
|
|
"quote",
|
|
|
|
"syn",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "eth2_ssz_types"
|
2021-11-29 03:57:54 +00:00
|
|
|
version = "0.2.2"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2021-10-14 02:58:11 +00:00
|
|
|
"arbitrary",
|
2022-01-14 07:20:54 +00:00
|
|
|
"derivative",
|
2021-11-29 22:32:53 +00:00
|
|
|
"eth2_serde_utils",
|
2021-11-29 03:57:54 +00:00
|
|
|
"eth2_ssz",
|
2020-05-10 09:56:31 +00:00
|
|
|
"serde",
|
|
|
|
"serde_derive",
|
2020-10-29 23:25:21 +00:00
|
|
|
"serde_json",
|
2021-11-29 03:57:54 +00:00
|
|
|
"tree_hash",
|
2021-11-24 00:28:30 +00:00
|
|
|
"tree_hash_derive 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"typenum",
|
|
|
|
]
|
|
|
|
|
EIP-2386 (draft): Eth2 wallet (#1117)
* Add test to understand flow of key storage
* First commit
* Committing to save trait stuff
* Working naive design
* Add keystore struct
* Move keystore files into their own module
* Add serde (de)serialize_with magic
* Add keystore test
* Fix tests
* Add comments and minor fixes
* Pass optional params to `to_keystore` function
* Add `path` field to keystore
* Add function to read Keystore from file
* Add test vectors and fix Version serialization
* Checksum params is empty object
* Add public key to Keystore
* Add function for saving keystore into file
* Deleted account_manager main.rs
* Move keystore module to validator_client
* Add save_keystore method to validator_directory
* Add load_keystore function. Minor refactorings
* Fixed dependencies
* Address some review comments
* Add Password newtype; derive Zeroize
* Fix test
* Move keystore into own crate
* Remove padding
* Add error enum, zeroize more things
* Fix comment
* Add keystore builder
* Remove keystore stuff from val client
* Add more tests, comments
* Add more comments, test vectors
* Progress on improving JSON validation
* More JSON verification
* Start moving JSON into own mod
* Remove old code
* Add more tests, reader/writers
* Tidy
* Move keystore into own file
* Move more logic into keystore file
* Tidy
* Tidy
* Allow for odd-character hex
* Add more json missing field checks
* Use scrypt by default
* Tidy, address comments
* Test path and uuid in vectors
* Fix comment
* Add checks for kdf params
* Enforce empty kdf message
* Expose json_keystore mod
* First commits on path derivation
* Progress with implementation
* More progress
* Passing intermediate test vectors
* Tidy, add comments
* Add DerivedKey structs
* Move key derivation into own crate
* Add zeroize structs
* Return error for empty seed
* Add tests
* Tidy
* First commits on path derivation
* Progress with implementation
* Move key derivation into own crate
* Start defining JSON wallet
* Add progress
* Split out encrypt/decrypt
* First commits on path derivation
* Progress with implementation
* More progress
* Passing intermediate test vectors
* Tidy, add comments
* Add DerivedKey structs
* Move key derivation into own crate
* Add zeroize structs
* Return error for empty seed
* Add tests
* Tidy
* Add progress
* Replace some password usage with slice
* First commits on path derivation
* Progress with implementation
* More progress
* Passing intermediate test vectors
* Tidy, add comments
* Add DerivedKey structs
* Move key derivation into own crate
* Add zeroize structs
* Return error for empty seed
* Add tests
* Tidy
* Add progress
* Expose PlainText struct
* First commits on path derivation
* Progress with implementation
* More progress
* Passing intermediate test vectors
* Tidy, add comments
* Add DerivedKey structs
* Move key derivation into own crate
* Add zeroize structs
* Return error for empty seed
* Add tests
* Tidy
* Add builder
* Expose consts, remove Password
* Minor progress
* Expose SALT_SIZE
* First compiling version
* Add test vectors
* Move dbg assert statement
* Add mnemonic, tidy
* Tidy
* Add testing
* Fix broken test
* Address review comments
Co-authored-by: pawan <pawandhananjay@gmail.com>
2020-05-11 22:54:59 +00:00
|
|
|
[[package]]
|
|
|
|
name = "eth2_wallet"
|
|
|
|
version = "0.1.0"
|
|
|
|
dependencies = [
|
|
|
|
"eth2_key_derivation",
|
|
|
|
"eth2_keystore",
|
2020-10-28 22:19:38 +00:00
|
|
|
"hex",
|
EIP-2386 (draft): Eth2 wallet (#1117)
* Add test to understand flow of key storage
* First commit
* Committing to save trait stuff
* Working naive design
* Add keystore struct
* Move keystore files into their own module
* Add serde (de)serialize_with magic
* Add keystore test
* Fix tests
* Add comments and minor fixes
* Pass optional params to `to_keystore` function
* Add `path` field to keystore
* Add function to read Keystore from file
* Add test vectors and fix Version serialization
* Checksum params is empty object
* Add public key to Keystore
* Add function for saving keystore into file
* Deleted account_manager main.rs
* Move keystore module to validator_client
* Add save_keystore method to validator_directory
* Add load_keystore function. Minor refactorings
* Fixed dependencies
* Address some review comments
* Add Password newtype; derive Zeroize
* Fix test
* Move keystore into own crate
* Remove padding
* Add error enum, zeroize more things
* Fix comment
* Add keystore builder
* Remove keystore stuff from val client
* Add more tests, comments
* Add more comments, test vectors
* Progress on improving JSON validation
* More JSON verification
* Start moving JSON into own mod
* Remove old code
* Add more tests, reader/writers
* Tidy
* Move keystore into own file
* Move more logic into keystore file
* Tidy
* Tidy
* Allow for odd-character hex
* Add more json missing field checks
* Use scrypt by default
* Tidy, address comments
* Test path and uuid in vectors
* Fix comment
* Add checks for kdf params
* Enforce empty kdf message
* Expose json_keystore mod
* First commits on path derivation
* Progress with implementation
* More progress
* Passing intermediate test vectors
* Tidy, add comments
* Add DerivedKey structs
* Move key derivation into own crate
* Add zeroize structs
* Return error for empty seed
* Add tests
* Tidy
* First commits on path derivation
* Progress with implementation
* Move key derivation into own crate
* Start defining JSON wallet
* Add progress
* Split out encrypt/decrypt
* First commits on path derivation
* Progress with implementation
* More progress
* Passing intermediate test vectors
* Tidy, add comments
* Add DerivedKey structs
* Move key derivation into own crate
* Add zeroize structs
* Return error for empty seed
* Add tests
* Tidy
* Add progress
* Replace some password usage with slice
* First commits on path derivation
* Progress with implementation
* More progress
* Passing intermediate test vectors
* Tidy, add comments
* Add DerivedKey structs
* Move key derivation into own crate
* Add zeroize structs
* Return error for empty seed
* Add tests
* Tidy
* Add progress
* Expose PlainText struct
* First commits on path derivation
* Progress with implementation
* More progress
* Passing intermediate test vectors
* Tidy, add comments
* Add DerivedKey structs
* Move key derivation into own crate
* Add zeroize structs
* Return error for empty seed
* Add tests
* Tidy
* Add builder
* Expose consts, remove Password
* Minor progress
* Expose SALT_SIZE
* First compiling version
* Add test vectors
* Move dbg assert statement
* Add mnemonic, tidy
* Tidy
* Add testing
* Fix broken test
* Address review comments
Co-authored-by: pawan <pawandhananjay@gmail.com>
2020-05-11 22:54:59 +00:00
|
|
|
"rand 0.7.3",
|
|
|
|
"serde",
|
|
|
|
"serde_json",
|
|
|
|
"serde_repr",
|
|
|
|
"tempfile",
|
|
|
|
"tiny-bip39",
|
2020-05-17 11:16:48 +00:00
|
|
|
"uuid",
|
EIP-2386 (draft): Eth2 wallet (#1117)
* Add test to understand flow of key storage
* First commit
* Committing to save trait stuff
* Working naive design
* Add keystore struct
* Move keystore files into their own module
* Add serde (de)serialize_with magic
* Add keystore test
* Fix tests
* Add comments and minor fixes
* Pass optional params to `to_keystore` function
* Add `path` field to keystore
* Add function to read Keystore from file
* Add test vectors and fix Version serialization
* Checksum params is empty object
* Add public key to Keystore
* Add function for saving keystore into file
* Deleted account_manager main.rs
* Move keystore module to validator_client
* Add save_keystore method to validator_directory
* Add load_keystore function. Minor refactorings
* Fixed dependencies
* Address some review comments
* Add Password newtype; derive Zeroize
* Fix test
* Move keystore into own crate
* Remove padding
* Add error enum, zeroize more things
* Fix comment
* Add keystore builder
* Remove keystore stuff from val client
* Add more tests, comments
* Add more comments, test vectors
* Progress on improving JSON validation
* More JSON verification
* Start moving JSON into own mod
* Remove old code
* Add more tests, reader/writers
* Tidy
* Move keystore into own file
* Move more logic into keystore file
* Tidy
* Tidy
* Allow for odd-character hex
* Add more json missing field checks
* Use scrypt by default
* Tidy, address comments
* Test path and uuid in vectors
* Fix comment
* Add checks for kdf params
* Enforce empty kdf message
* Expose json_keystore mod
* First commits on path derivation
* Progress with implementation
* More progress
* Passing intermediate test vectors
* Tidy, add comments
* Add DerivedKey structs
* Move key derivation into own crate
* Add zeroize structs
* Return error for empty seed
* Add tests
* Tidy
* First commits on path derivation
* Progress with implementation
* Move key derivation into own crate
* Start defining JSON wallet
* Add progress
* Split out encrypt/decrypt
* First commits on path derivation
* Progress with implementation
* More progress
* Passing intermediate test vectors
* Tidy, add comments
* Add DerivedKey structs
* Move key derivation into own crate
* Add zeroize structs
* Return error for empty seed
* Add tests
* Tidy
* Add progress
* Replace some password usage with slice
* First commits on path derivation
* Progress with implementation
* More progress
* Passing intermediate test vectors
* Tidy, add comments
* Add DerivedKey structs
* Move key derivation into own crate
* Add zeroize structs
* Return error for empty seed
* Add tests
* Tidy
* Add progress
* Expose PlainText struct
* First commits on path derivation
* Progress with implementation
* More progress
* Passing intermediate test vectors
* Tidy, add comments
* Add DerivedKey structs
* Move key derivation into own crate
* Add zeroize structs
* Return error for empty seed
* Add tests
* Tidy
* Add builder
* Expose consts, remove Password
* Minor progress
* Expose SALT_SIZE
* First compiling version
* Add test vectors
* Move dbg assert statement
* Add mnemonic, tidy
* Tidy
* Add testing
* Fix broken test
* Address review comments
Co-authored-by: pawan <pawandhananjay@gmail.com>
2020-05-11 22:54:59 +00:00
|
|
|
]
|
|
|
|
|
Wallet-based, encrypted key management (#1138)
* Update hashmap hashset to stable futures
* Adds panic test to hashset delay
* Port remote_beacon_node to stable futures
* Fix lcli merge conflicts
* Non rpc stuff compiles
* Remove padding
* Add error enum, zeroize more things
* Fix comment
* protocol.rs compiles
* Port websockets, timer and notifier to stable futures (#1035)
* Fix lcli
* Port timer to stable futures
* Fix timer
* Port websocket_server to stable futures
* Port notifier to stable futures
* Add TODOS
* Port remote_beacon_node to stable futures
* Partial eth2-libp2p stable future upgrade
* Finished first round of fighting RPC types
* Further progress towards porting eth2-libp2p adds caching to discovery
* Update behaviour
* Add keystore builder
* Remove keystore stuff from val client
* Add more tests, comments
* RPC handler to stable futures
* Update RPC to master libp2p
* Add more comments, test vectors
* Network service additions
* Progress on improving JSON validation
* More JSON verification
* Start moving JSON into own mod
* Remove old code
* Add more tests, reader/writers
* Tidy
* Move keystore into own file
* Move more logic into keystore file
* Tidy
* Tidy
* Fix the fallback transport construction (#1102)
* Allow for odd-character hex
* Correct warning
* Remove hashmap delay
* Compiling version of eth2-libp2p
* Update all crates versions
* Fix conversion function and add tests (#1113)
* Add more json missing field checks
* Use scrypt by default
* Tidy, address comments
* Test path and uuid in vectors
* Fix comment
* Add checks for kdf params
* Enforce empty kdf message
* Port validator_client to stable futures (#1114)
* Add PH & MS slot clock changes
* Account for genesis time
* Add progress on duties refactor
* Add simple is_aggregator bool to val subscription
* Start work on attestation_verification.rs
* Add progress on ObservedAttestations
* Progress with ObservedAttestations
* Fix tests
* Add observed attestations to the beacon chain
* Add attestation observation to processing code
* Add progress on attestation verification
* Add first draft of ObservedAttesters
* Add more tests
* Add observed attesters to beacon chain
* Add observers to attestation processing
* Add more attestation verification
* Create ObservedAggregators map
* Remove commented-out code
* Add observed aggregators into chain
* Add progress
* Finish adding features to attestation verification
* Ensure beacon chain compiles
* Link attn verification into chain
* Integrate new attn verification in chain
* Remove old attestation processing code
* Start trying to fix beacon_chain tests
* Split adding into pools into two functions
* Add aggregation to harness
* Get test harness working again
* Adjust the number of aggregators for test harness
* Fix edge-case in harness
* Integrate new attn processing in network
* Fix compile bug in validator_client
* Update validator API endpoints
* Fix aggreagation in test harness
* Fix enum thing
* Fix attestation observation bug:
* Patch failing API tests
* Start adding comments to attestation verification
* Remove unused attestation field
* Unify "is block known" logic
* Update comments
* Supress fork choice errors for network processing
* Add todos
* Tidy
* Add gossip attn tests
* Disallow test harness to produce old attns
* Comment out in-progress tests
* Partially address pruning tests
* Fix failing store test
* Add aggregate tests
* Add comments about which spec conditions we check
* Dont re-aggregate
* Split apart test harness attn production
* Fix compile error in network
* Make progress on commented-out test
* Fix skipping attestation test
* Add fork choice verification tests
* Tidy attn tests, remove dead code
* Remove some accidentally added code
* Fix clippy lint
* Rename test file
* Add block tests, add cheap block proposer check
* Rename block testing file
* Add observed_block_producers
* Tidy
* Switch around block signature verification
* Finish block testing
* Remove gossip from signature tests
* First pass of self review
* Fix deviation in spec
* Update test spec tags
* Start moving over to hashset
* Finish moving observed attesters to hashmap
* Move aggregation pool over to hashmap
* Make fc attn borrow again
* Fix rest_api compile error
* Fix missing comments
* Fix monster test
* Uncomment increasing slots test
* Address remaining comments
* Remove unsafe, use cfg test
* Remove cfg test flag
* Fix dodgy comment
* Revert "Update hashmap hashset to stable futures"
This reverts commit d432378a3cc5cd67fc29c0b15b96b886c1323554.
* Revert "Adds panic test to hashset delay"
This reverts commit 281502396fc5b90d9c421a309c2c056982c9525b.
* Ported attestation_service
* Ported duties_service
* Ported fork_service
* More ports
* Port block_service
* Minor fixes
* VC compiles
* Update TODOS
* Borrow self where possible
* Ignore aggregates that are already known.
* Unify aggregator modulo logic
* Fix typo in logs
* Refactor validator subscription logic
* Avoid reproducing selection proof
* Skip HTTP call if no subscriptions
* Rename DutyAndState -> DutyAndProof
* Tidy logs
* Print root as dbg
* Fix compile errors in tests
* Fix compile error in test
* Re-Fix attestation and duties service
* Minor fixes
Co-authored-by: Paul Hauner <paul@paulhauner.com>
* Expose json_keystore mod
* First commits on path derivation
* Progress with implementation
* More progress
* Passing intermediate test vectors
* Tidy, add comments
* Add DerivedKey structs
* Move key derivation into own crate
* Add zeroize structs
* Return error for empty seed
* Add tests
* Tidy
* First commits on path derivation
* Progress with implementation
* Move key derivation into own crate
* Start defining JSON wallet
* Add progress
* Split out encrypt/decrypt
* First commits on path derivation
* Progress with implementation
* More progress
* Passing intermediate test vectors
* Tidy, add comments
* Add DerivedKey structs
* Move key derivation into own crate
* Add zeroize structs
* Return error for empty seed
* Add tests
* Tidy
* Add progress
* Replace some password usage with slice
* First commits on path derivation
* Progress with implementation
* More progress
* Passing intermediate test vectors
* Tidy, add comments
* Add DerivedKey structs
* Move key derivation into own crate
* Add zeroize structs
* Return error for empty seed
* Add tests
* Tidy
* Add progress
* Expose PlainText struct
* First commits on path derivation
* Progress with implementation
* More progress
* Passing intermediate test vectors
* Tidy, add comments
* Add DerivedKey structs
* Move key derivation into own crate
* Add zeroize structs
* Return error for empty seed
* Add tests
* Tidy
* Add builder
* Expose consts, remove Password
* Minor progress
* Expose SALT_SIZE
* First compiling version
* Add test vectors
* Network crate update to stable futures
* Move dbg assert statement
* Port account_manager to stable futures (#1121)
* Port account_manager to stable futures
* Run async fns in tokio environment
* Port rest_api crate to stable futures (#1118)
* Port rest_api lib to stable futures
* Reduce tokio features
* Update notifier to stable futures
* Builder update
* Further updates
* Add mnemonic, tidy
* Convert self referential async functions
* Tidy
* Add testing
* Add first attempt at validator_dir
* Present pubkey field
* stable futures fixes (#1124)
* Fix eth1 update functions
* Fix genesis and client
* Fix beacon node lib
* Return appropriate runtimes from environment
* Fix test rig
* Refactor eth1 service update
* Upgrade simulator to stable futures
* Lighthouse compiles on stable futures
* Add first pass of wallet manager
* Progress with CLI
* Remove println debugging statement
* Tidy output
* Tidy 600 perms
* Update libp2p service, start rpc test upgrade
* Add validator creation flow
* Update network crate for new libp2p
* Start tidying, adding comments
* Update tokio::codec to futures_codec (#1128)
* Further work towards RPC corrections
* Correct http timeout and network service select
* Add wallet mgr testing
* Shift LockedWallet into own file
* Add comments to fs
* Start integration into VC
* Use tokio runtime for libp2p
* Revert "Update tokio::codec to futures_codec (#1128)"
This reverts commit e57aea924acf5cbabdcea18895ac07e38a425ed7.
* Upgrade RPC libp2p tests
* Upgrade secio fallback test
* Add lcli keypair upgrade command
* Upgrade gossipsub examples
* Clean up RPC protocol
* Test fixes (#1133)
* Correct websocket timeout and run on os thread
* Fix network test
* Add --secrets-dir to VC
* Remove --legacy-keys from VC
* Clean up PR
* Correct tokio tcp move attestation service tests
* Upgrade attestation service tests
* Fix sim
* Correct network test
* Correct genesis test
* Start docs
* Add progress for validator generation
* Tidy error messages
* Test corrections
* Log info when block is received
* Modify logs and update attester service events
* Stable futures: fixes to vc, eth1 and account manager (#1142)
* Add local testnet scripts
* Remove whiteblock script
* Rename local testnet script
* Move spawns onto handle
* Fix VC panic
* Initial fix to block production issue
* Tidy block producer fix
* Tidy further
* Add local testnet clean script
* Run cargo fmt
* Tidy duties service
* Tidy fork service
* Tidy ForkService
* Tidy AttestationService
* Tidy notifier
* Ensure await is not suppressed in eth1
* Ensure await is not suppressed in account_manager
* Use .ok() instead of .unwrap_or(())
* RPC decoding test for proto
* Update discv5 and eth2-libp2p deps
* Run cargo fmt
* Pre-build keystores for sim
* Fix lcli double runtime issue (#1144)
* Handle stream termination and dialing peer errors
* Correct peer_info variant types
* Add progress on new deposit flow
* Remove unnecessary warnings
* Handle subnet unsubscription removal and improve logigng
* Add logs around ping
* Upgrade discv5 and improve logging
* Handle peer connection status for multiple connections
* Improve network service logging
* Add more incomplete progress
* Improve logging around peer manager
* Upgrade swarm poll centralise peer management
* Identify clients on error
* Fix `remove_peer` in sync (#1150)
* remove_peer removes from all chains
* Remove logs
* Fix early return from loop
* Improved logging, fix panic
* Partially correct tests
* Add deposit command
* Remove old validator directory
* Start adding AM tests
* Stable futures: Vc sync (#1149)
* Improve syncing heuristic
* Add comments
* Use safer method for tolerance
* Fix tests
* Binary testing progress
* Progress with CLI tests
* Use constants for flags
* More account manager testing
* Improve CLI tests
* Move upgrade-legacy-keypairs into account man
* Use rayon for VC key generation
* Add comments to `validator_dir`
* Add testing to validator_dir
* Add fix to eth1-sim
* Check errors in eth1-sim
* Fix mutability issue
* Ensure password file ends in .pass
* Add more tests to wallet manager
* Tidy deposit
* Tidy account manager
* Tidy account manager
* Remove panic
* Generate keypairs earlier in sim
* Tidy eth1-sime
* Try to fix eth1 sim
* Address review comments
* Fix typo in CLI command
* Update docs
* Disable eth1 sim
* Remove eth1 sim completely
Co-authored-by: Age Manning <Age@AgeManning.com>
Co-authored-by: pawanjay176 <pawandhananjay@gmail.com>
2020-05-18 09:01:45 +00:00
|
|
|
[[package]]
|
|
|
|
name = "eth2_wallet_manager"
|
|
|
|
version = "0.1.0"
|
|
|
|
dependencies = [
|
|
|
|
"eth2_wallet",
|
2020-11-26 11:25:46 +00:00
|
|
|
"lockfile",
|
Wallet-based, encrypted key management (#1138)
* Update hashmap hashset to stable futures
* Adds panic test to hashset delay
* Port remote_beacon_node to stable futures
* Fix lcli merge conflicts
* Non rpc stuff compiles
* Remove padding
* Add error enum, zeroize more things
* Fix comment
* protocol.rs compiles
* Port websockets, timer and notifier to stable futures (#1035)
* Fix lcli
* Port timer to stable futures
* Fix timer
* Port websocket_server to stable futures
* Port notifier to stable futures
* Add TODOS
* Port remote_beacon_node to stable futures
* Partial eth2-libp2p stable future upgrade
* Finished first round of fighting RPC types
* Further progress towards porting eth2-libp2p adds caching to discovery
* Update behaviour
* Add keystore builder
* Remove keystore stuff from val client
* Add more tests, comments
* RPC handler to stable futures
* Update RPC to master libp2p
* Add more comments, test vectors
* Network service additions
* Progress on improving JSON validation
* More JSON verification
* Start moving JSON into own mod
* Remove old code
* Add more tests, reader/writers
* Tidy
* Move keystore into own file
* Move more logic into keystore file
* Tidy
* Tidy
* Fix the fallback transport construction (#1102)
* Allow for odd-character hex
* Correct warning
* Remove hashmap delay
* Compiling version of eth2-libp2p
* Update all crates versions
* Fix conversion function and add tests (#1113)
* Add more json missing field checks
* Use scrypt by default
* Tidy, address comments
* Test path and uuid in vectors
* Fix comment
* Add checks for kdf params
* Enforce empty kdf message
* Port validator_client to stable futures (#1114)
* Add PH & MS slot clock changes
* Account for genesis time
* Add progress on duties refactor
* Add simple is_aggregator bool to val subscription
* Start work on attestation_verification.rs
* Add progress on ObservedAttestations
* Progress with ObservedAttestations
* Fix tests
* Add observed attestations to the beacon chain
* Add attestation observation to processing code
* Add progress on attestation verification
* Add first draft of ObservedAttesters
* Add more tests
* Add observed attesters to beacon chain
* Add observers to attestation processing
* Add more attestation verification
* Create ObservedAggregators map
* Remove commented-out code
* Add observed aggregators into chain
* Add progress
* Finish adding features to attestation verification
* Ensure beacon chain compiles
* Link attn verification into chain
* Integrate new attn verification in chain
* Remove old attestation processing code
* Start trying to fix beacon_chain tests
* Split adding into pools into two functions
* Add aggregation to harness
* Get test harness working again
* Adjust the number of aggregators for test harness
* Fix edge-case in harness
* Integrate new attn processing in network
* Fix compile bug in validator_client
* Update validator API endpoints
* Fix aggreagation in test harness
* Fix enum thing
* Fix attestation observation bug:
* Patch failing API tests
* Start adding comments to attestation verification
* Remove unused attestation field
* Unify "is block known" logic
* Update comments
* Supress fork choice errors for network processing
* Add todos
* Tidy
* Add gossip attn tests
* Disallow test harness to produce old attns
* Comment out in-progress tests
* Partially address pruning tests
* Fix failing store test
* Add aggregate tests
* Add comments about which spec conditions we check
* Dont re-aggregate
* Split apart test harness attn production
* Fix compile error in network
* Make progress on commented-out test
* Fix skipping attestation test
* Add fork choice verification tests
* Tidy attn tests, remove dead code
* Remove some accidentally added code
* Fix clippy lint
* Rename test file
* Add block tests, add cheap block proposer check
* Rename block testing file
* Add observed_block_producers
* Tidy
* Switch around block signature verification
* Finish block testing
* Remove gossip from signature tests
* First pass of self review
* Fix deviation in spec
* Update test spec tags
* Start moving over to hashset
* Finish moving observed attesters to hashmap
* Move aggregation pool over to hashmap
* Make fc attn borrow again
* Fix rest_api compile error
* Fix missing comments
* Fix monster test
* Uncomment increasing slots test
* Address remaining comments
* Remove unsafe, use cfg test
* Remove cfg test flag
* Fix dodgy comment
* Revert "Update hashmap hashset to stable futures"
This reverts commit d432378a3cc5cd67fc29c0b15b96b886c1323554.
* Revert "Adds panic test to hashset delay"
This reverts commit 281502396fc5b90d9c421a309c2c056982c9525b.
* Ported attestation_service
* Ported duties_service
* Ported fork_service
* More ports
* Port block_service
* Minor fixes
* VC compiles
* Update TODOS
* Borrow self where possible
* Ignore aggregates that are already known.
* Unify aggregator modulo logic
* Fix typo in logs
* Refactor validator subscription logic
* Avoid reproducing selection proof
* Skip HTTP call if no subscriptions
* Rename DutyAndState -> DutyAndProof
* Tidy logs
* Print root as dbg
* Fix compile errors in tests
* Fix compile error in test
* Re-Fix attestation and duties service
* Minor fixes
Co-authored-by: Paul Hauner <paul@paulhauner.com>
* Expose json_keystore mod
* First commits on path derivation
* Progress with implementation
* More progress
* Passing intermediate test vectors
* Tidy, add comments
* Add DerivedKey structs
* Move key derivation into own crate
* Add zeroize structs
* Return error for empty seed
* Add tests
* Tidy
* First commits on path derivation
* Progress with implementation
* Move key derivation into own crate
* Start defining JSON wallet
* Add progress
* Split out encrypt/decrypt
* First commits on path derivation
* Progress with implementation
* More progress
* Passing intermediate test vectors
* Tidy, add comments
* Add DerivedKey structs
* Move key derivation into own crate
* Add zeroize structs
* Return error for empty seed
* Add tests
* Tidy
* Add progress
* Replace some password usage with slice
* First commits on path derivation
* Progress with implementation
* More progress
* Passing intermediate test vectors
* Tidy, add comments
* Add DerivedKey structs
* Move key derivation into own crate
* Add zeroize structs
* Return error for empty seed
* Add tests
* Tidy
* Add progress
* Expose PlainText struct
* First commits on path derivation
* Progress with implementation
* More progress
* Passing intermediate test vectors
* Tidy, add comments
* Add DerivedKey structs
* Move key derivation into own crate
* Add zeroize structs
* Return error for empty seed
* Add tests
* Tidy
* Add builder
* Expose consts, remove Password
* Minor progress
* Expose SALT_SIZE
* First compiling version
* Add test vectors
* Network crate update to stable futures
* Move dbg assert statement
* Port account_manager to stable futures (#1121)
* Port account_manager to stable futures
* Run async fns in tokio environment
* Port rest_api crate to stable futures (#1118)
* Port rest_api lib to stable futures
* Reduce tokio features
* Update notifier to stable futures
* Builder update
* Further updates
* Add mnemonic, tidy
* Convert self referential async functions
* Tidy
* Add testing
* Add first attempt at validator_dir
* Present pubkey field
* stable futures fixes (#1124)
* Fix eth1 update functions
* Fix genesis and client
* Fix beacon node lib
* Return appropriate runtimes from environment
* Fix test rig
* Refactor eth1 service update
* Upgrade simulator to stable futures
* Lighthouse compiles on stable futures
* Add first pass of wallet manager
* Progress with CLI
* Remove println debugging statement
* Tidy output
* Tidy 600 perms
* Update libp2p service, start rpc test upgrade
* Add validator creation flow
* Update network crate for new libp2p
* Start tidying, adding comments
* Update tokio::codec to futures_codec (#1128)
* Further work towards RPC corrections
* Correct http timeout and network service select
* Add wallet mgr testing
* Shift LockedWallet into own file
* Add comments to fs
* Start integration into VC
* Use tokio runtime for libp2p
* Revert "Update tokio::codec to futures_codec (#1128)"
This reverts commit e57aea924acf5cbabdcea18895ac07e38a425ed7.
* Upgrade RPC libp2p tests
* Upgrade secio fallback test
* Add lcli keypair upgrade command
* Upgrade gossipsub examples
* Clean up RPC protocol
* Test fixes (#1133)
* Correct websocket timeout and run on os thread
* Fix network test
* Add --secrets-dir to VC
* Remove --legacy-keys from VC
* Clean up PR
* Correct tokio tcp move attestation service tests
* Upgrade attestation service tests
* Fix sim
* Correct network test
* Correct genesis test
* Start docs
* Add progress for validator generation
* Tidy error messages
* Test corrections
* Log info when block is received
* Modify logs and update attester service events
* Stable futures: fixes to vc, eth1 and account manager (#1142)
* Add local testnet scripts
* Remove whiteblock script
* Rename local testnet script
* Move spawns onto handle
* Fix VC panic
* Initial fix to block production issue
* Tidy block producer fix
* Tidy further
* Add local testnet clean script
* Run cargo fmt
* Tidy duties service
* Tidy fork service
* Tidy ForkService
* Tidy AttestationService
* Tidy notifier
* Ensure await is not suppressed in eth1
* Ensure await is not suppressed in account_manager
* Use .ok() instead of .unwrap_or(())
* RPC decoding test for proto
* Update discv5 and eth2-libp2p deps
* Run cargo fmt
* Pre-build keystores for sim
* Fix lcli double runtime issue (#1144)
* Handle stream termination and dialing peer errors
* Correct peer_info variant types
* Add progress on new deposit flow
* Remove unnecessary warnings
* Handle subnet unsubscription removal and improve logigng
* Add logs around ping
* Upgrade discv5 and improve logging
* Handle peer connection status for multiple connections
* Improve network service logging
* Add more incomplete progress
* Improve logging around peer manager
* Upgrade swarm poll centralise peer management
* Identify clients on error
* Fix `remove_peer` in sync (#1150)
* remove_peer removes from all chains
* Remove logs
* Fix early return from loop
* Improved logging, fix panic
* Partially correct tests
* Add deposit command
* Remove old validator directory
* Start adding AM tests
* Stable futures: Vc sync (#1149)
* Improve syncing heuristic
* Add comments
* Use safer method for tolerance
* Fix tests
* Binary testing progress
* Progress with CLI tests
* Use constants for flags
* More account manager testing
* Improve CLI tests
* Move upgrade-legacy-keypairs into account man
* Use rayon for VC key generation
* Add comments to `validator_dir`
* Add testing to validator_dir
* Add fix to eth1-sim
* Check errors in eth1-sim
* Fix mutability issue
* Ensure password file ends in .pass
* Add more tests to wallet manager
* Tidy deposit
* Tidy account manager
* Tidy account manager
* Remove panic
* Generate keypairs earlier in sim
* Tidy eth1-sime
* Try to fix eth1 sim
* Address review comments
* Fix typo in CLI command
* Update docs
* Disable eth1 sim
* Remove eth1 sim completely
Co-authored-by: Age Manning <Age@AgeManning.com>
Co-authored-by: pawanjay176 <pawandhananjay@gmail.com>
2020-05-18 09:01:45 +00:00
|
|
|
"tempfile",
|
|
|
|
]
|
|
|
|
|
2019-12-09 11:39:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "ethabi"
|
2020-05-05 23:12:28 +00:00
|
|
|
version = "12.0.0"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2020-05-10 09:56:31 +00:00
|
|
|
checksum = "052a565e3de82944527d6d10a465697e6bb92476b772ca7141080c901f6a63c6"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2021-07-09 03:20:24 +00:00
|
|
|
"ethereum-types 0.9.2",
|
2020-05-10 09:56:31 +00:00
|
|
|
"rustc-hex",
|
|
|
|
"serde",
|
|
|
|
"serde_json",
|
|
|
|
"tiny-keccak 1.5.0",
|
2021-07-05 00:54:17 +00:00
|
|
|
"uint 0.8.5",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
2021-07-09 03:20:24 +00:00
|
|
|
[[package]]
|
|
|
|
name = "ethabi"
|
2021-06-03 01:11:33 +00:00
|
|
|
version = "14.1.0"
|
2021-07-09 03:20:24 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-06-03 01:11:33 +00:00
|
|
|
checksum = "a01317735d563b3bad2d5f90d2e1799f414165408251abb762510f40e790e69a"
|
2021-07-09 03:20:24 +00:00
|
|
|
dependencies = [
|
|
|
|
"anyhow",
|
|
|
|
"ethereum-types 0.11.0",
|
|
|
|
"hex",
|
|
|
|
"serde",
|
|
|
|
"serde_json",
|
|
|
|
"sha3",
|
|
|
|
"thiserror",
|
|
|
|
"uint 0.9.1",
|
|
|
|
]
|
|
|
|
|
2019-12-09 11:39:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "ethbloom"
|
2020-05-26 20:34:15 +00:00
|
|
|
version = "0.9.2"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2020-05-26 20:34:15 +00:00
|
|
|
checksum = "71a6567e6fd35589fea0c63b94b4cf2e55573e413901bdbe60ab15cf0e25e5df"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2020-05-17 11:16:48 +00:00
|
|
|
"crunchy",
|
2021-07-09 03:20:24 +00:00
|
|
|
"fixed-hash 0.6.1",
|
|
|
|
"impl-rlp 0.2.1",
|
|
|
|
"impl-serde",
|
|
|
|
"tiny-keccak 2.0.2",
|
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "ethbloom"
|
2021-10-05 03:53:18 +00:00
|
|
|
version = "0.11.1"
|
2021-07-09 03:20:24 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-10-05 03:53:18 +00:00
|
|
|
checksum = "bfb684ac8fa8f6c5759f788862bb22ec6fe3cb392f6bfd08e3c64b603661e3f8"
|
2021-07-09 03:20:24 +00:00
|
|
|
dependencies = [
|
|
|
|
"crunchy",
|
|
|
|
"fixed-hash 0.7.0",
|
|
|
|
"impl-rlp 0.3.0",
|
2020-05-10 09:56:31 +00:00
|
|
|
"impl-serde",
|
|
|
|
"tiny-keccak 2.0.2",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "ethereum-types"
|
2020-05-26 20:34:15 +00:00
|
|
|
version = "0.9.2"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2020-05-26 20:34:15 +00:00
|
|
|
checksum = "473aecff686bd8e7b9db0165cbbb53562376b39bf35b427f0c60446a9e1634b0"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2021-07-09 03:20:24 +00:00
|
|
|
"ethbloom 0.9.2",
|
|
|
|
"fixed-hash 0.6.1",
|
|
|
|
"impl-rlp 0.2.1",
|
2020-05-10 09:56:31 +00:00
|
|
|
"impl-serde",
|
2021-07-09 03:20:24 +00:00
|
|
|
"primitive-types 0.7.3",
|
2021-07-05 00:54:17 +00:00
|
|
|
"uint 0.8.5",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
2021-07-09 03:20:24 +00:00
|
|
|
[[package]]
|
|
|
|
name = "ethereum-types"
|
|
|
|
version = "0.11.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
checksum = "f64b5df66a228d85e4b17e5d6c6aa43b0310898ffe8a85988c4c032357aaabfd"
|
|
|
|
dependencies = [
|
2021-10-05 03:53:18 +00:00
|
|
|
"ethbloom 0.11.1",
|
2021-07-09 03:20:24 +00:00
|
|
|
"fixed-hash 0.7.0",
|
|
|
|
"impl-rlp 0.3.0",
|
|
|
|
"impl-serde",
|
|
|
|
"primitive-types 0.9.1",
|
|
|
|
"uint 0.9.1",
|
|
|
|
]
|
|
|
|
|
2021-10-14 02:58:11 +00:00
|
|
|
[[package]]
|
|
|
|
name = "ethereum-types"
|
|
|
|
version = "0.12.1"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
checksum = "05136f7057fe789f06e6d41d07b34e6f70d8c86e5693b60f97aaa6553553bdaf"
|
|
|
|
dependencies = [
|
|
|
|
"ethbloom 0.11.1",
|
|
|
|
"fixed-hash 0.7.0",
|
|
|
|
"impl-rlp 0.3.0",
|
|
|
|
"impl-serde",
|
|
|
|
"primitive-types 0.10.1",
|
|
|
|
"uint 0.9.1",
|
|
|
|
]
|
|
|
|
|
2021-11-16 00:46:12 +00:00
|
|
|
[[package]]
|
|
|
|
name = "execution_layer"
|
|
|
|
version = "0.1.0"
|
|
|
|
dependencies = [
|
|
|
|
"async-trait",
|
|
|
|
"bytes",
|
|
|
|
"environment",
|
|
|
|
"eth1",
|
2021-11-29 22:32:53 +00:00
|
|
|
"eth2_serde_utils",
|
2021-11-29 03:57:54 +00:00
|
|
|
"eth2_ssz_types",
|
2021-11-16 00:46:12 +00:00
|
|
|
"exit-future",
|
|
|
|
"futures",
|
|
|
|
"hex",
|
|
|
|
"lru",
|
|
|
|
"parking_lot",
|
|
|
|
"reqwest",
|
|
|
|
"sensitive_url",
|
|
|
|
"serde",
|
|
|
|
"serde_json",
|
|
|
|
"slog",
|
|
|
|
"slot_clock",
|
|
|
|
"task_executor",
|
|
|
|
"tokio",
|
2021-11-29 03:57:54 +00:00
|
|
|
"tree_hash",
|
2021-11-16 00:46:12 +00:00
|
|
|
"tree_hash_derive 0.4.0",
|
|
|
|
"types",
|
|
|
|
"warp 0.3.0",
|
|
|
|
]
|
|
|
|
|
2019-12-09 11:39:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "exit-future"
|
2020-05-17 11:16:48 +00:00
|
|
|
version = "0.2.0"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2020-05-17 11:16:48 +00:00
|
|
|
checksum = "e43f2f1833d64e33f15592464d6fdd70f349dda7b1a53088eb83cd94014008c5"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2021-07-09 03:20:24 +00:00
|
|
|
"futures",
|
2020-11-19 04:04:52 +00:00
|
|
|
]
|
|
|
|
|
2020-11-27 08:37:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "fallback"
|
|
|
|
version = "0.1.0"
|
|
|
|
dependencies = [
|
2021-08-17 01:00:24 +00:00
|
|
|
"itertools",
|
2020-11-27 08:37:44 +00:00
|
|
|
]
|
|
|
|
|
2020-05-18 06:25:16 +00:00
|
|
|
[[package]]
|
|
|
|
name = "fallible-iterator"
|
|
|
|
version = "0.2.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
checksum = "4443176a9f2c162692bd3d352d745ef9413eec5782a80d8fd6f8a1ac692a07f7"
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "fallible-streaming-iterator"
|
|
|
|
version = "0.1.9"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
checksum = "7360491ce676a36bf9bb3c56c1aa791658183a54d2744120f27285738d90465a"
|
|
|
|
|
2022-01-11 01:35:56 +00:00
|
|
|
[[package]]
|
|
|
|
name = "fastrand"
|
|
|
|
version = "1.6.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
checksum = "779d043b6a0b90cc4c0ed7ee380a6504394cee7efd7db050e3774eee387324b2"
|
|
|
|
dependencies = [
|
|
|
|
"instant",
|
|
|
|
]
|
|
|
|
|
2020-10-23 04:16:33 +00:00
|
|
|
[[package]]
|
|
|
|
name = "ff"
|
2021-07-05 00:54:17 +00:00
|
|
|
version = "0.9.0"
|
2020-10-23 04:16:33 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-07-05 00:54:17 +00:00
|
|
|
checksum = "72a4d941a5b7c2a75222e2d44fcdf634a67133d9db31e177ae5ff6ecda852bfe"
|
2020-10-23 04:16:33 +00:00
|
|
|
dependencies = [
|
2021-07-05 00:54:17 +00:00
|
|
|
"bitvec 0.20.4",
|
|
|
|
"rand_core 0.6.3",
|
2021-07-13 00:48:33 +00:00
|
|
|
"subtle",
|
2020-10-23 04:16:33 +00:00
|
|
|
]
|
|
|
|
|
2021-12-22 06:17:14 +00:00
|
|
|
[[package]]
|
|
|
|
name = "ff"
|
|
|
|
version = "0.11.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
checksum = "b2958d04124b9f27f175eaeb9a9f383d026098aa837eadd8ba22c11f13a05b9e"
|
|
|
|
dependencies = [
|
|
|
|
"rand_core 0.6.3",
|
|
|
|
"subtle",
|
|
|
|
]
|
|
|
|
|
2021-08-17 01:00:24 +00:00
|
|
|
[[package]]
|
|
|
|
name = "ffi-opaque"
|
|
|
|
version = "2.0.1"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
checksum = "ec54ac60a7f2ee9a97cad9946f9bf629a3bc6a7ae59e68983dc9318f5a54b81a"
|
|
|
|
|
2021-05-19 23:05:16 +00:00
|
|
|
[[package]]
|
|
|
|
name = "field-offset"
|
2021-07-05 00:54:17 +00:00
|
|
|
version = "0.3.4"
|
2021-05-19 23:05:16 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-07-05 00:54:17 +00:00
|
|
|
checksum = "1e1c54951450cbd39f3dbcf1005ac413b49487dabf18a720ad2383eccfeffb92"
|
2021-05-19 23:05:16 +00:00
|
|
|
dependencies = [
|
|
|
|
"memoffset",
|
|
|
|
"rustc_version 0.3.3",
|
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "filesystem"
|
|
|
|
version = "0.1.0"
|
|
|
|
dependencies = [
|
2021-07-09 03:20:24 +00:00
|
|
|
"winapi",
|
2021-05-19 23:05:16 +00:00
|
|
|
"windows-acl",
|
|
|
|
]
|
|
|
|
|
2019-12-09 11:39:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "fixed-hash"
|
2020-05-05 23:12:28 +00:00
|
|
|
version = "0.6.1"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2020-05-10 09:56:31 +00:00
|
|
|
checksum = "11498d382790b7a8f2fd211780bec78619bba81cdad3a283997c0c41f836759c"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2020-05-17 11:16:48 +00:00
|
|
|
"byteorder",
|
2020-05-10 09:56:31 +00:00
|
|
|
"rand 0.7.3",
|
|
|
|
"rustc-hex",
|
|
|
|
"static_assertions",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
2021-07-09 03:20:24 +00:00
|
|
|
[[package]]
|
|
|
|
name = "fixed-hash"
|
|
|
|
version = "0.7.0"
|
2021-10-14 02:58:11 +00:00
|
|
|
source = "git+https://github.com/paritytech/parity-common?rev=df638ab0885293d21d656dc300d39236b69ce57d#df638ab0885293d21d656dc300d39236b69ce57d"
|
2021-07-09 03:20:24 +00:00
|
|
|
dependencies = [
|
2021-10-14 02:58:11 +00:00
|
|
|
"arbitrary",
|
2021-07-09 03:20:24 +00:00
|
|
|
"byteorder",
|
|
|
|
"rand 0.8.4",
|
|
|
|
"rustc-hex",
|
|
|
|
"static_assertions",
|
|
|
|
]
|
|
|
|
|
2021-10-29 01:59:29 +00:00
|
|
|
[[package]]
|
|
|
|
name = "fixedbitset"
|
2022-01-11 01:35:56 +00:00
|
|
|
version = "0.4.1"
|
2021-10-29 01:59:29 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2022-01-11 01:35:56 +00:00
|
|
|
checksum = "279fb028e20b3c4c320317955b77c5e0c9701f05a1d309905d6fc702cdc5053e"
|
2021-10-29 01:59:29 +00:00
|
|
|
|
2019-12-09 11:39:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "flate2"
|
2021-09-16 04:45:05 +00:00
|
|
|
version = "1.0.22"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-09-16 04:45:05 +00:00
|
|
|
checksum = "1e6988e897c1c9c485f43b47a529cef42fde0547f9d8d41a7062518f1d8fc53f"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2021-11-18 05:08:42 +00:00
|
|
|
"cfg-if",
|
2020-05-10 09:56:31 +00:00
|
|
|
"crc32fast",
|
|
|
|
"libc",
|
|
|
|
"libz-sys",
|
2021-05-04 00:44:05 +00:00
|
|
|
"miniz_oxide",
|
2020-11-24 00:44:40 +00:00
|
|
|
]
|
|
|
|
|
2019-12-09 11:39:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "fnv"
|
2020-05-26 20:34:15 +00:00
|
|
|
version = "1.0.7"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2020-05-26 20:34:15 +00:00
|
|
|
checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
|
2019-12-09 11:39:44 +00:00
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "foreign-types"
|
|
|
|
version = "0.3.2"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2020-05-10 09:56:31 +00:00
|
|
|
checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2020-05-10 09:56:31 +00:00
|
|
|
"foreign-types-shared",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "foreign-types-shared"
|
|
|
|
version = "0.1.1"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2020-05-10 09:56:31 +00:00
|
|
|
checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b"
|
2019-12-09 11:39:44 +00:00
|
|
|
|
v0.12 fork choice update (#1229)
* Incomplete scraps
* Add progress on new fork choice impl
* Further progress
* First complete compiling version
* Remove chain reference
* Add new lmd_ghost crate
* Start integrating into beacon chain
* Update `milagro_bls` to new release (#1183)
* Update milagro_bls to new release
Signed-off-by: Kirk Baird <baird.k@outlook.com>
* Tidy up fake cryptos
Signed-off-by: Kirk Baird <baird.k@outlook.com>
* move SecretHash to bls and put plaintext back
Signed-off-by: Kirk Baird <baird.k@outlook.com>
* Update state processing for v0.12
* Fix EF test runners for v0.12
* Fix some tests
* Fix broken attestation verification test
* More test fixes
* Rough beacon chain impl working
* Remove fork_choice_2
* Remove checkpoint manager
* Half finished ssz impl
* Add missed file
* Add persistence
* Tidy, fix some compile errors
* Remove RwLock from ProtoArrayForkChoice
* Fix store-based compile errors
* Add comments, tidy
* Move function out of ForkChoice struct
* Start testing
* More testing
* Fix compile error
* Tidy beacon_chain::fork_choice
* Queue attestations from the current slot
* Allow fork choice to handle prior-to-genesis start
* Improve error granularity
* Test attestation dequeuing
* Process attestations during block
* Store target root in fork choice
* Move fork choice verification into new crate
* Update tests
* Consensus updates for v0.12 (#1228)
* Update state processing for v0.12
* Fix EF test runners for v0.12
* Fix some tests
* Fix broken attestation verification test
* More test fixes
* Fix typo found in review
* Add `Block` struct to ProtoArray
* Start fixing get_ancestor
* Add rough progress on testing
* Get fork choice tests working
* Progress with testing
* Fix partialeq impl
* Move slot clock from fc_store
* Improve testing
* Add testing for best justified
* Add clone back to SystemTimeSlotClock
* Add balances test
* Start adding balances cache again
* Wire-in balances cache
* Improve tests
* Remove commented-out tests
* Remove beacon_chain::ForkChoice
* Rename crates
* Update wider codebase to new fork_choice layout
* Move advance_slot in test harness
* Tidy ForkChoice::update_time
* Fix verification tests
* Fix compile error with iter::once
* Fix fork choice tests
* Ensure block attestations are processed
* Fix failing beacon_chain tests
* Add first invalid block check
* Add finalized block check
* Progress with testing, new store builder
* Add fixes to get_ancestor
* Fix old genesis justification test
* Fix remaining fork choice tests
* Change root iteration method
* Move on_verified_block
* Remove unused method
* Start adding attestation verification tests
* Add invalid ffg target test
* Add target epoch test
* Add queued attestation test
* Remove old fork choice verification tests
* Tidy, add test
* Move fork choice lock drop
* Rename BeaconForkChoiceStore
* Add comments, tidy BeaconForkChoiceStore
* Update metrics, rename fork_choice_store.rs
* Remove genesis_block_root from ForkChoice
* Tidy
* Update fork_choice comments
* Tidy, add comments
* Tidy, simplify ForkChoice, fix compile issue
* Tidy, removed dead file
* Increase http request timeout
* Fix failing rest_api test
* Set HTTP timeout back to 5s
* Apply fix to get_ancestor
* Address Michael's comments
* Fix typo
* Revert "Fix broken attestation verification test"
This reverts commit 722cdc903b12611de27916a57eeecfa3224f2279.
Co-authored-by: Kirk Baird <baird.k@outlook.com>
Co-authored-by: Michael Sproul <michael@sigmaprime.io>
2020-06-17 01:10:22 +00:00
|
|
|
[[package]]
|
|
|
|
name = "fork_choice"
|
|
|
|
version = "0.1.0"
|
|
|
|
dependencies = [
|
|
|
|
"beacon_chain",
|
2021-11-29 03:57:54 +00:00
|
|
|
"eth2_ssz",
|
2021-11-24 00:28:30 +00:00
|
|
|
"eth2_ssz_derive 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
v0.12 fork choice update (#1229)
* Incomplete scraps
* Add progress on new fork choice impl
* Further progress
* First complete compiling version
* Remove chain reference
* Add new lmd_ghost crate
* Start integrating into beacon chain
* Update `milagro_bls` to new release (#1183)
* Update milagro_bls to new release
Signed-off-by: Kirk Baird <baird.k@outlook.com>
* Tidy up fake cryptos
Signed-off-by: Kirk Baird <baird.k@outlook.com>
* move SecretHash to bls and put plaintext back
Signed-off-by: Kirk Baird <baird.k@outlook.com>
* Update state processing for v0.12
* Fix EF test runners for v0.12
* Fix some tests
* Fix broken attestation verification test
* More test fixes
* Rough beacon chain impl working
* Remove fork_choice_2
* Remove checkpoint manager
* Half finished ssz impl
* Add missed file
* Add persistence
* Tidy, fix some compile errors
* Remove RwLock from ProtoArrayForkChoice
* Fix store-based compile errors
* Add comments, tidy
* Move function out of ForkChoice struct
* Start testing
* More testing
* Fix compile error
* Tidy beacon_chain::fork_choice
* Queue attestations from the current slot
* Allow fork choice to handle prior-to-genesis start
* Improve error granularity
* Test attestation dequeuing
* Process attestations during block
* Store target root in fork choice
* Move fork choice verification into new crate
* Update tests
* Consensus updates for v0.12 (#1228)
* Update state processing for v0.12
* Fix EF test runners for v0.12
* Fix some tests
* Fix broken attestation verification test
* More test fixes
* Fix typo found in review
* Add `Block` struct to ProtoArray
* Start fixing get_ancestor
* Add rough progress on testing
* Get fork choice tests working
* Progress with testing
* Fix partialeq impl
* Move slot clock from fc_store
* Improve testing
* Add testing for best justified
* Add clone back to SystemTimeSlotClock
* Add balances test
* Start adding balances cache again
* Wire-in balances cache
* Improve tests
* Remove commented-out tests
* Remove beacon_chain::ForkChoice
* Rename crates
* Update wider codebase to new fork_choice layout
* Move advance_slot in test harness
* Tidy ForkChoice::update_time
* Fix verification tests
* Fix compile error with iter::once
* Fix fork choice tests
* Ensure block attestations are processed
* Fix failing beacon_chain tests
* Add first invalid block check
* Add finalized block check
* Progress with testing, new store builder
* Add fixes to get_ancestor
* Fix old genesis justification test
* Fix remaining fork choice tests
* Change root iteration method
* Move on_verified_block
* Remove unused method
* Start adding attestation verification tests
* Add invalid ffg target test
* Add target epoch test
* Add queued attestation test
* Remove old fork choice verification tests
* Tidy, add test
* Move fork choice lock drop
* Rename BeaconForkChoiceStore
* Add comments, tidy BeaconForkChoiceStore
* Update metrics, rename fork_choice_store.rs
* Remove genesis_block_root from ForkChoice
* Tidy
* Update fork_choice comments
* Tidy, add comments
* Tidy, simplify ForkChoice, fix compile issue
* Tidy, removed dead file
* Increase http request timeout
* Fix failing rest_api test
* Set HTTP timeout back to 5s
* Apply fix to get_ancestor
* Address Michael's comments
* Fix typo
* Revert "Fix broken attestation verification test"
This reverts commit 722cdc903b12611de27916a57eeecfa3224f2279.
Co-authored-by: Kirk Baird <baird.k@outlook.com>
Co-authored-by: Michael Sproul <michael@sigmaprime.io>
2020-06-17 01:10:22 +00:00
|
|
|
"proto_array",
|
|
|
|
"store",
|
|
|
|
"types",
|
|
|
|
]
|
|
|
|
|
2020-11-13 06:06:35 +00:00
|
|
|
[[package]]
|
|
|
|
name = "form_urlencoded"
|
2021-03-02 05:59:49 +00:00
|
|
|
version = "1.0.1"
|
2020-11-13 06:06:35 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-03-02 05:59:49 +00:00
|
|
|
checksum = "5fc25a87fa4fd2094bffb06925852034d90a17f0d1e05197d4956d3555752191"
|
2020-11-13 06:06:35 +00:00
|
|
|
dependencies = [
|
|
|
|
"matches",
|
2020-12-09 01:34:58 +00:00
|
|
|
"percent-encoding",
|
2020-11-13 06:06:35 +00:00
|
|
|
]
|
|
|
|
|
2020-11-26 11:25:46 +00:00
|
|
|
[[package]]
|
|
|
|
name = "fs2"
|
|
|
|
version = "0.4.3"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
checksum = "9564fc758e15025b46aa6643b1b77d047d1a56a1aea6e01002ac0c7026876213"
|
|
|
|
dependencies = [
|
|
|
|
"libc",
|
2021-07-09 03:20:24 +00:00
|
|
|
"winapi",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
2020-10-05 08:22:19 +00:00
|
|
|
[[package]]
|
|
|
|
name = "funty"
|
2020-12-28 23:38:02 +00:00
|
|
|
version = "1.1.0"
|
2020-10-05 08:22:19 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2020-12-28 23:38:02 +00:00
|
|
|
checksum = "fed34cd105917e91daa4da6b3728c47b068749d6a62c59811f06ed2ac71d9da7"
|
2020-10-05 08:22:19 +00:00
|
|
|
|
2020-05-17 11:16:48 +00:00
|
|
|
[[package]]
|
|
|
|
name = "futures"
|
2021-12-22 06:17:14 +00:00
|
|
|
version = "0.3.19"
|
2020-05-17 11:16:48 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-12-22 06:17:14 +00:00
|
|
|
checksum = "28560757fe2bb34e79f907794bb6b22ae8b0e5c669b638a1132f2592b19035b4"
|
2020-05-17 11:16:48 +00:00
|
|
|
dependencies = [
|
|
|
|
"futures-channel",
|
|
|
|
"futures-core",
|
|
|
|
"futures-executor",
|
|
|
|
"futures-io",
|
|
|
|
"futures-sink",
|
|
|
|
"futures-task",
|
|
|
|
"futures-util",
|
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "futures-channel"
|
2021-12-22 06:17:14 +00:00
|
|
|
version = "0.3.19"
|
2020-05-17 11:16:48 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-12-22 06:17:14 +00:00
|
|
|
checksum = "ba3dda0b6588335f360afc675d0564c17a77a2bda81ca178a4b6081bd86c7f0b"
|
2020-05-17 11:16:48 +00:00
|
|
|
dependencies = [
|
|
|
|
"futures-core",
|
|
|
|
"futures-sink",
|
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "futures-core"
|
2021-12-22 06:17:14 +00:00
|
|
|
version = "0.3.19"
|
2020-05-17 11:16:48 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-12-22 06:17:14 +00:00
|
|
|
checksum = "d0c8ff0461b82559810cdccfde3215c3f373807f5e5232b71479bff7bb2583d7"
|
2020-05-17 11:16:48 +00:00
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "futures-executor"
|
2021-12-22 06:17:14 +00:00
|
|
|
version = "0.3.19"
|
2020-05-17 11:16:48 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-12-22 06:17:14 +00:00
|
|
|
checksum = "29d6d2ff5bb10fb95c85b8ce46538a2e5f5e7fdc755623a7d4529ab8a4ed9d2a"
|
2020-05-17 11:16:48 +00:00
|
|
|
dependencies = [
|
|
|
|
"futures-core",
|
|
|
|
"futures-task",
|
|
|
|
"futures-util",
|
|
|
|
"num_cpus",
|
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "futures-io"
|
2021-12-22 06:17:14 +00:00
|
|
|
version = "0.3.19"
|
2020-05-17 11:16:48 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-12-22 06:17:14 +00:00
|
|
|
checksum = "b1f9d34af5a1aac6fb380f735fe510746c38067c5bf16c7fd250280503c971b2"
|
2020-05-17 11:16:48 +00:00
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "futures-macro"
|
2021-12-22 06:17:14 +00:00
|
|
|
version = "0.3.19"
|
2020-05-17 11:16:48 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-12-22 06:17:14 +00:00
|
|
|
checksum = "6dbd947adfffb0efc70599b3ddcf7b5597bb5fa9e245eb99f62b3a5f7bb8bd3c"
|
2020-05-17 11:16:48 +00:00
|
|
|
dependencies = [
|
|
|
|
"proc-macro2",
|
|
|
|
"quote",
|
|
|
|
"syn",
|
|
|
|
]
|
|
|
|
|
2021-02-10 23:29:49 +00:00
|
|
|
[[package]]
|
|
|
|
name = "futures-rustls"
|
2021-11-18 05:08:42 +00:00
|
|
|
version = "0.22.0"
|
2021-02-10 23:29:49 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-11-18 05:08:42 +00:00
|
|
|
checksum = "d383f0425d991a05e564c2f3ec150bd6dde863179c131dd60d8aa73a05434461"
|
2021-02-10 23:29:49 +00:00
|
|
|
dependencies = [
|
|
|
|
"futures-io",
|
2021-12-22 06:17:14 +00:00
|
|
|
"rustls 0.20.2",
|
2021-11-18 05:08:42 +00:00
|
|
|
"webpki 0.22.0",
|
2021-02-10 23:29:49 +00:00
|
|
|
]
|
|
|
|
|
2020-05-17 11:16:48 +00:00
|
|
|
[[package]]
|
|
|
|
name = "futures-sink"
|
2021-12-22 06:17:14 +00:00
|
|
|
version = "0.3.19"
|
2020-05-17 11:16:48 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-12-22 06:17:14 +00:00
|
|
|
checksum = "e3055baccb68d74ff6480350f8d6eb8fcfa3aa11bdc1a1ae3afdd0514617d508"
|
2020-05-17 11:16:48 +00:00
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "futures-task"
|
2021-12-22 06:17:14 +00:00
|
|
|
version = "0.3.19"
|
2020-05-17 11:16:48 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-12-22 06:17:14 +00:00
|
|
|
checksum = "6ee7c6485c30167ce4dfb83ac568a849fe53274c831081476ee13e0dce1aad72"
|
2020-05-17 11:16:48 +00:00
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "futures-timer"
|
|
|
|
version = "3.0.2"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
checksum = "e64b03909df88034c26dc1547e8970b91f98bdb65165d6a4e9110d94263dbb2c"
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "futures-util"
|
2021-12-22 06:17:14 +00:00
|
|
|
version = "0.3.19"
|
2020-05-17 11:16:48 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-12-22 06:17:14 +00:00
|
|
|
checksum = "d9b5cf40b47a271f77a8b1bec03ca09044d99d2372c0de244e66430761127164"
|
2020-05-17 11:16:48 +00:00
|
|
|
dependencies = [
|
|
|
|
"futures-channel",
|
|
|
|
"futures-core",
|
|
|
|
"futures-io",
|
|
|
|
"futures-macro",
|
|
|
|
"futures-sink",
|
|
|
|
"futures-task",
|
|
|
|
"memchr",
|
2022-01-11 01:35:56 +00:00
|
|
|
"pin-project-lite 0.2.8",
|
2020-05-17 11:16:48 +00:00
|
|
|
"pin-utils",
|
2020-12-09 01:34:58 +00:00
|
|
|
"slab",
|
2020-05-17 11:16:48 +00:00
|
|
|
]
|
|
|
|
|
2020-07-01 08:01:03 +00:00
|
|
|
[[package]]
|
|
|
|
name = "generic-array"
|
2022-01-11 01:35:56 +00:00
|
|
|
version = "0.14.5"
|
2020-07-01 08:01:03 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2022-01-11 01:35:56 +00:00
|
|
|
checksum = "fd48d33ec7f05fbfa152300fdad764757cbded343c1aa1cff2fbaf4134851803"
|
2020-07-01 08:01:03 +00:00
|
|
|
dependencies = [
|
|
|
|
"typenum",
|
2020-12-09 01:34:58 +00:00
|
|
|
"version_check",
|
2020-07-01 08:01:03 +00:00
|
|
|
]
|
|
|
|
|
2019-12-09 11:39:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "genesis"
|
2020-08-06 03:43:05 +00:00
|
|
|
version = "0.2.0"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2020-05-10 09:56:31 +00:00
|
|
|
"environment",
|
|
|
|
"eth1",
|
|
|
|
"eth1_test_rig",
|
2021-09-03 01:10:25 +00:00
|
|
|
"eth2_hashing 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2021-11-29 03:57:54 +00:00
|
|
|
"eth2_ssz",
|
2021-07-09 03:20:24 +00:00
|
|
|
"futures",
|
2020-05-10 09:56:31 +00:00
|
|
|
"int_to_bytes",
|
|
|
|
"merkle_proof",
|
|
|
|
"rayon",
|
2021-05-04 01:59:51 +00:00
|
|
|
"sensitive_url",
|
2020-05-10 09:56:31 +00:00
|
|
|
"slog",
|
|
|
|
"state_processing",
|
2021-08-17 01:00:24 +00:00
|
|
|
"tokio",
|
2021-11-29 03:57:54 +00:00
|
|
|
"tree_hash",
|
2020-05-10 09:56:31 +00:00
|
|
|
"types",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "getrandom"
|
2021-02-10 23:29:49 +00:00
|
|
|
version = "0.1.16"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-02-10 23:29:49 +00:00
|
|
|
checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2021-11-18 05:08:42 +00:00
|
|
|
"cfg-if",
|
2021-10-01 01:23:55 +00:00
|
|
|
"js-sys",
|
2020-05-10 09:56:31 +00:00
|
|
|
"libc",
|
2020-08-27 07:04:12 +00:00
|
|
|
"wasi 0.9.0+wasi-snapshot-preview1",
|
2021-10-01 01:23:55 +00:00
|
|
|
"wasm-bindgen",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
2021-02-10 23:29:49 +00:00
|
|
|
[[package]]
|
|
|
|
name = "getrandom"
|
2022-01-14 05:42:47 +00:00
|
|
|
version = "0.2.4"
|
2021-02-10 23:29:49 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2022-01-14 05:42:47 +00:00
|
|
|
checksum = "418d37c8b1d42553c93648be529cb70f920d3baf8ef469b74b9638df426e0b4c"
|
2021-02-10 23:29:49 +00:00
|
|
|
dependencies = [
|
2021-11-18 05:08:42 +00:00
|
|
|
"cfg-if",
|
2021-02-10 23:29:49 +00:00
|
|
|
"libc",
|
2021-03-02 05:59:49 +00:00
|
|
|
"wasi 0.10.2+wasi-snapshot-preview1",
|
2021-02-10 23:29:49 +00:00
|
|
|
]
|
|
|
|
|
2021-07-05 00:54:17 +00:00
|
|
|
[[package]]
|
|
|
|
name = "ghash"
|
2021-09-16 04:45:05 +00:00
|
|
|
version = "0.4.4"
|
2021-07-05 00:54:17 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-09-16 04:45:05 +00:00
|
|
|
checksum = "1583cc1656d7839fd3732b80cf4f38850336cdb9b8ded1cd399ca62958de3c99"
|
2021-07-05 00:54:17 +00:00
|
|
|
dependencies = [
|
2021-07-13 00:48:33 +00:00
|
|
|
"opaque-debug",
|
2021-06-03 01:11:33 +00:00
|
|
|
"polyval",
|
2020-06-29 10:25:42 +00:00
|
|
|
]
|
|
|
|
|
2020-05-26 20:34:15 +00:00
|
|
|
[[package]]
|
|
|
|
name = "gimli"
|
2021-11-18 05:08:42 +00:00
|
|
|
version = "0.26.1"
|
2020-05-26 20:34:15 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-11-18 05:08:42 +00:00
|
|
|
checksum = "78cc372d058dcf6d5ecd98510e7fbc9e5aec4d21de70f65fea8fecebcd881bd4"
|
2020-05-26 20:34:15 +00:00
|
|
|
|
2020-07-06 09:08:37 +00:00
|
|
|
[[package]]
|
|
|
|
name = "git-version"
|
2021-08-17 01:00:24 +00:00
|
|
|
version = "0.3.5"
|
2020-07-06 09:08:37 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-08-17 01:00:24 +00:00
|
|
|
checksum = "f6b0decc02f4636b9ccad390dcbe77b722a77efedfa393caf8379a51d5c61899"
|
2020-07-06 09:08:37 +00:00
|
|
|
dependencies = [
|
|
|
|
"git-version-macro",
|
|
|
|
"proc-macro-hack",
|
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "git-version-macro"
|
2021-08-17 01:00:24 +00:00
|
|
|
version = "0.3.5"
|
2020-07-06 09:08:37 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-08-17 01:00:24 +00:00
|
|
|
checksum = "fe69f1cbdb6e28af2bac214e943b99ce8a0a06b447d15d3e61161b0423139f3f"
|
2020-07-06 09:08:37 +00:00
|
|
|
dependencies = [
|
|
|
|
"proc-macro-hack",
|
|
|
|
"proc-macro2",
|
|
|
|
"quote",
|
|
|
|
"syn",
|
|
|
|
]
|
|
|
|
|
2020-05-29 02:03:30 +00:00
|
|
|
[[package]]
|
|
|
|
name = "glob"
|
|
|
|
version = "0.3.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
checksum = "9b919933a397b79c37e33b77bb2aa3dc8eb6e165ad809e58ff75bc7db2e34574"
|
|
|
|
|
2020-10-23 04:16:33 +00:00
|
|
|
[[package]]
|
|
|
|
name = "group"
|
2021-07-05 00:54:17 +00:00
|
|
|
version = "0.9.0"
|
2020-10-23 04:16:33 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-07-05 00:54:17 +00:00
|
|
|
checksum = "61b3c1e8b4f1ca07e6605ea1be903a5f6956aec5c8a67fd44d56076631675ed8"
|
2020-10-23 04:16:33 +00:00
|
|
|
dependencies = [
|
2021-12-22 06:17:14 +00:00
|
|
|
"ff 0.9.0",
|
|
|
|
"rand_core 0.6.3",
|
|
|
|
"subtle",
|
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "group"
|
|
|
|
version = "0.11.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
checksum = "bc5ac374b108929de78460075f3dc439fa66df9d8fc77e8f12caa5165fcf0c89"
|
|
|
|
dependencies = [
|
|
|
|
"ff 0.11.0",
|
2021-07-05 00:54:17 +00:00
|
|
|
"rand_core 0.6.3",
|
2021-07-13 00:48:33 +00:00
|
|
|
"subtle",
|
2020-10-23 04:16:33 +00:00
|
|
|
]
|
|
|
|
|
2020-11-28 05:30:57 +00:00
|
|
|
[[package]]
|
|
|
|
name = "h2"
|
2022-01-11 01:35:56 +00:00
|
|
|
version = "0.3.10"
|
2021-02-10 23:29:49 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2022-01-11 01:35:56 +00:00
|
|
|
checksum = "0c9de88456263e249e241fcd211d3954e2c9b0ef7ccfc235a444eb367cae3689"
|
2020-11-28 05:30:57 +00:00
|
|
|
dependencies = [
|
2021-10-29 01:59:29 +00:00
|
|
|
"bytes",
|
2020-11-28 05:30:57 +00:00
|
|
|
"fnv",
|
|
|
|
"futures-core",
|
|
|
|
"futures-sink",
|
|
|
|
"futures-util",
|
2021-02-10 23:29:49 +00:00
|
|
|
"http",
|
2020-11-28 05:30:57 +00:00
|
|
|
"indexmap",
|
2020-12-09 01:34:58 +00:00
|
|
|
"slab",
|
2021-08-17 01:00:24 +00:00
|
|
|
"tokio",
|
2021-07-09 03:20:24 +00:00
|
|
|
"tokio-util",
|
2020-07-15 05:04:09 +00:00
|
|
|
"tracing",
|
2020-05-17 11:16:48 +00:00
|
|
|
]
|
|
|
|
|
2020-07-06 01:55:56 +00:00
|
|
|
[[package]]
|
|
|
|
name = "half"
|
2021-10-29 01:59:29 +00:00
|
|
|
version = "1.8.2"
|
2020-07-06 01:55:56 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-10-29 01:59:29 +00:00
|
|
|
checksum = "eabb4a44450da02c90444cf74558da904edde8fb4e9035a9a6a4e15445af0bd7"
|
2020-07-06 01:55:56 +00:00
|
|
|
|
2020-07-21 00:54:47 +00:00
|
|
|
[[package]]
|
|
|
|
name = "hashbrown"
|
2021-08-17 01:00:24 +00:00
|
|
|
version = "0.11.2"
|
2020-07-21 00:54:47 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-08-17 01:00:24 +00:00
|
|
|
checksum = "ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e"
|
2020-10-09 02:05:30 +00:00
|
|
|
dependencies = [
|
2020-11-02 23:55:15 +00:00
|
|
|
"ahash",
|
2020-10-09 02:05:30 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "hashlink"
|
2021-08-17 01:00:24 +00:00
|
|
|
version = "0.7.0"
|
2020-10-09 02:05:30 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-08-17 01:00:24 +00:00
|
|
|
checksum = "7249a3129cbc1ffccd74857f81464a323a152173cdb134e0fd81bc803b29facf"
|
2020-10-09 02:05:30 +00:00
|
|
|
dependencies = [
|
2021-08-17 01:00:24 +00:00
|
|
|
"hashbrown",
|
2020-10-09 02:05:30 +00:00
|
|
|
]
|
2020-07-21 00:54:47 +00:00
|
|
|
|
2019-12-09 11:39:44 +00:00
|
|
|
[[package]]
|
2020-05-17 11:16:48 +00:00
|
|
|
name = "hashset_delay"
|
Initial work towards v0.2.0 (#924)
* Remove ping protocol
* Initial renaming of network services
* Correct rebasing relative to latest master
* Start updating types
* Adds HashMapDelay struct to utils
* Initial network restructure
* Network restructure. Adds new types for v0.2.0
* Removes build artefacts
* Shift validation to beacon chain
* Temporarily remove gossip validation
This is to be updated to match current optimisation efforts.
* Adds AggregateAndProof
* Begin rebuilding pubsub encoding/decoding
* Signature hacking
* Shift gossipsup decoding into eth2_libp2p
* Existing EF tests passing with fake_crypto
* Shifts block encoding/decoding into RPC
* Delete outdated API spec
* All release tests passing bar genesis state parsing
* Update and test YamlConfig
* Update to spec v0.10 compatible BLS
* Updates to BLS EF tests
* Add EF test for AggregateVerify
And delete unused hash2curve tests for uncompressed points
* Update EF tests to v0.10.1
* Use optional block root correctly in block proc
* Use genesis fork in deposit domain. All tests pass
* Fast aggregate verify test
* Update REST API docs
* Fix unused import
* Bump spec tags to v0.10.1
* Add `seconds_per_eth1_block` to chainspec
* Update to timestamp based eth1 voting scheme
* Return None from `get_votes_to_consider` if block cache is empty
* Handle overflows in `is_candidate_block`
* Revert to failing tests
* Fix eth1 data sets test
* Choose default vote according to spec
* Fix collect_valid_votes tests
* Fix `get_votes_to_consider` to choose all eligible blocks
* Uncomment winning_vote tests
* Add comments; remove unused code
* Reduce seconds_per_eth1_block for simulation
* Addressed review comments
* Add test for default vote case
* Fix logs
* Remove unused functions
* Meter default eth1 votes
* Fix comments
* Progress on attestation service
* Address review comments; remove unused dependency
* Initial work on removing libp2p lock
* Add LRU caches to store (rollup)
* Update attestation validation for DB changes (WIP)
* Initial version of should_forward_block
* Scaffold
* Progress on attestation validation
Also, consolidate prod+testing slot clocks so that they share much
of the same implementation and can both handle sub-slot time changes.
* Removes lock from libp2p service
* Completed network lock removal
* Finish(?) attestation processing
* Correct network termination future
* Add slot check to block check
* Correct fmt issues
* Remove Drop implementation for network service
* Add first attempt at attestation proc. re-write
* Add version 2 of attestation processing
* Minor fixes
* Add validator pubkey cache
* Make get_indexed_attestation take a committee
* Link signature processing into new attn verification
* First working version
* Ensure pubkey cache is updated
* Add more metrics, slight optimizations
* Clone committee cache during attestation processing
* Update shuffling cache during block processing
* Remove old commented-out code
* Fix shuffling cache insert bug
* Used indexed attestation in fork choice
* Restructure attn processing, add metrics
* Add more detailed metrics
* Tidy, fix failing tests
* Fix failing tests, tidy
* Address reviewers suggestions
* Disable/delete two outdated tests
* Modification of validator for subscriptions
* Add slot signing to validator client
* Further progress on validation subscription
* Adds necessary validator subscription functionality
* Add new Pubkeys struct to signature_sets
* Refactor with functional approach
* Update beacon chain
* Clean up validator <-> beacon node http types
* Add aggregator status to ValidatorDuty
* Impl Clone for manual slot clock
* Fix minor errors
* Further progress validator client subscription
* Initial subscription and aggregation handling
* Remove decompressed member from pubkey bytes
* Progress to modifying val client for attestation aggregation
* First draft of validator client upgrade for aggregate attestations
* Add hashmap for indices lookup
* Add state cache, remove store cache
* Only build the head committee cache
* Removes lock on a network channel
* Partially implement beacon node subscription http api
* Correct compilation issues
* Change `get_attesting_indices` to use Vec
* Fix failing test
* Partial implementation of timer
* Adds timer, removes exit_future, http api to op pool
* Partial multiple aggregate attestation handling
* Permits bulk messages accross gossipsub network channel
* Correct compile issues
* Improve gosispsub messaging and correct rest api helpers
* Added global gossipsub subscriptions
* Update validator subscriptions data structs
* Tidy
* Re-structure validator subscriptions
* Initial handling of subscriptions
* Re-structure network service
* Add pubkey cache persistence file
* Add more comments
* Integrate persistence file into builder
* Add pubkey cache tests
* Add HashSetDelay and introduce into attestation service
* Handles validator subscriptions
* Add data_dir to beacon chain builder
* Remove Option in pubkey cache persistence file
* Ensure consistency between datadir/data_dir
* Fix failing network test
* Peer subnet discovery gets queued for future subscriptions
* Reorganise attestation service functions
* Initial wiring of attestation service
* First draft of attestation service timing logic
* Correct minor typos
* Tidy
* Fix todos
* Improve tests
* Add PeerInfo to connected peers mapping
* Fix compile error
* Fix compile error from merge
* Split up block processing metrics
* Tidy
* Refactor get_pubkey_from_state
* Remove commented-out code
* Rename state_cache -> checkpoint_cache
* Rename Checkpoint -> Snapshot
* Tidy, add comments
* Tidy up find_head function
* Change some checkpoint -> snapshot
* Add tests
* Expose max_len
* Remove dead code
* Tidy
* Fix bug
* Add sync-speed metric
* Add first attempt at VerifiableBlock
* Start integrating into beacon chain
* Integrate VerifiableBlock
* Rename VerifableBlock -> PartialBlockVerification
* Add start of typed methods
* Add progress
* Add further progress
* Rename structs
* Add full block verification to block_processing.rs
* Further beacon chain integration
* Update checks for gossip
* Add todo
* Start adding segement verification
* Add passing chain segement test
* Initial integration with batch sync
* Minor changes
* Tidy, add more error checking
* Start adding chain_segment tests
* Finish invalid signature tests
* Include single and gossip verified blocks in tests
* Add gossip verification tests
* Start adding docs
* Finish adding comments to block_processing.rs
* Rename block_processing.rs -> block_verification
* Start removing old block processing code
* Fixes beacon_chain compilation
* Fix project-wide compile errors
* Remove old code
* Correct code to pass all tests
* Fix bug with beacon proposer index
* Fix shim for BlockProcessingError
* Only process one epoch at a time
* Fix loop in chain segment processing
* Correct tests from master merge
* Add caching for state.eth1_data_votes
* Add BeaconChain::validator_pubkey
* Revert "Add caching for state.eth1_data_votes"
This reverts commit cd73dcd6434fb8d8e6bf30c5356355598ea7b78e.
Co-authored-by: Grant Wuerker <gwuerker@gmail.com>
Co-authored-by: Michael Sproul <michael@sigmaprime.io>
Co-authored-by: Michael Sproul <micsproul@gmail.com>
Co-authored-by: pawan <pawandhananjay@gmail.com>
Co-authored-by: Paul Hauner <paul@paulhauner.com>
2020-03-17 06:24:44 +00:00
|
|
|
version = "0.2.0"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2021-07-09 03:20:24 +00:00
|
|
|
"futures",
|
2021-08-17 01:00:24 +00:00
|
|
|
"tokio",
|
2021-07-09 03:20:24 +00:00
|
|
|
"tokio-util",
|
2020-05-17 11:16:48 +00:00
|
|
|
]
|
|
|
|
|
2020-09-29 03:46:54 +00:00
|
|
|
[[package]]
|
|
|
|
name = "headers"
|
2021-10-29 01:59:29 +00:00
|
|
|
version = "0.3.5"
|
2020-09-29 03:46:54 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-10-29 01:59:29 +00:00
|
|
|
checksum = "a4c4eb0471fcb85846d8b0690695ef354f9afb11cb03cac2e1d7c9253351afb0"
|
2020-11-28 05:30:57 +00:00
|
|
|
dependencies = [
|
|
|
|
"base64 0.13.0",
|
2020-12-09 01:34:58 +00:00
|
|
|
"bitflags",
|
2021-10-29 01:59:29 +00:00
|
|
|
"bytes",
|
2021-02-10 23:29:49 +00:00
|
|
|
"headers-core",
|
|
|
|
"http",
|
2021-10-29 01:59:29 +00:00
|
|
|
"httpdate",
|
2020-12-09 01:34:58 +00:00
|
|
|
"mime",
|
2021-03-08 06:27:49 +00:00
|
|
|
"sha-1",
|
2020-09-29 03:46:54 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "headers-core"
|
|
|
|
version = "0.2.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
checksum = "e7f66481bfee273957b1f20485a4ff3362987f85b2c236580d81b4eb7a326429"
|
|
|
|
dependencies = [
|
2021-02-10 23:29:49 +00:00
|
|
|
"http",
|
2020-09-29 03:46:54 +00:00
|
|
|
]
|
|
|
|
|
2020-05-17 11:16:48 +00:00
|
|
|
[[package]]
|
|
|
|
name = "heck"
|
2021-07-05 00:54:17 +00:00
|
|
|
version = "0.3.3"
|
2020-05-17 11:16:48 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-07-05 00:54:17 +00:00
|
|
|
checksum = "6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c"
|
2020-05-17 11:16:48 +00:00
|
|
|
dependencies = [
|
|
|
|
"unicode-segmentation",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "hermit-abi"
|
2021-07-05 00:54:17 +00:00
|
|
|
version = "0.1.19"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-07-05 00:54:17 +00:00
|
|
|
checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2020-05-10 09:56:31 +00:00
|
|
|
"libc",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "hex"
|
2021-03-08 06:27:49 +00:00
|
|
|
version = "0.4.3"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-03-08 06:27:49 +00:00
|
|
|
checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70"
|
2019-12-09 11:39:44 +00:00
|
|
|
|
2020-07-29 03:40:22 +00:00
|
|
|
[[package]]
|
|
|
|
name = "hex_fmt"
|
|
|
|
version = "0.3.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
checksum = "b07f60793ff0a4d9cef0f18e63b5357e06209987153a64648c972c1e5aff336f"
|
|
|
|
|
2020-11-28 05:30:57 +00:00
|
|
|
[[package]]
|
|
|
|
name = "hkdf"
|
2021-07-05 00:54:17 +00:00
|
|
|
version = "0.11.0"
|
2020-11-28 05:30:57 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-07-05 00:54:17 +00:00
|
|
|
checksum = "01706d578d5c281058480e673ae4086a9f4710d8df1ad80a5b03e39ece5f886b"
|
2020-11-28 05:30:57 +00:00
|
|
|
dependencies = [
|
2021-12-22 06:17:14 +00:00
|
|
|
"digest 0.9.0",
|
2021-07-05 00:54:17 +00:00
|
|
|
"hmac 0.11.0",
|
2020-11-28 05:30:57 +00:00
|
|
|
]
|
|
|
|
|
2020-07-01 08:01:03 +00:00
|
|
|
[[package]]
|
|
|
|
name = "hmac"
|
2020-07-06 01:55:56 +00:00
|
|
|
version = "0.8.1"
|
2020-07-01 08:01:03 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2020-07-06 01:55:56 +00:00
|
|
|
checksum = "126888268dcc288495a26bf004b38c5fdbb31682f992c84ceb046a1f0fe38840"
|
2020-07-01 08:01:03 +00:00
|
|
|
dependencies = [
|
|
|
|
"crypto-mac 0.8.0",
|
2021-12-22 06:17:14 +00:00
|
|
|
"digest 0.9.0",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
2021-07-05 00:54:17 +00:00
|
|
|
[[package]]
|
|
|
|
name = "hmac"
|
|
|
|
version = "0.11.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
checksum = "2a2a2320eb7ec0ebe8da8f744d7812d9fc4cb4d09344ac01898dbcb6a20ae69b"
|
|
|
|
dependencies = [
|
2021-08-17 01:00:24 +00:00
|
|
|
"crypto-mac 0.11.1",
|
2021-12-22 06:17:14 +00:00
|
|
|
"digest 0.9.0",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
2021-07-14 05:24:10 +00:00
|
|
|
[[package]]
|
|
|
|
name = "hmac-drbg"
|
|
|
|
version = "0.3.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
checksum = "17ea0a1394df5b6574da6e0c1ade9e78868c9fb0a4e5ef4428e32da4676b85b1"
|
|
|
|
dependencies = [
|
2021-12-22 06:17:14 +00:00
|
|
|
"digest 0.9.0",
|
2021-07-13 00:48:33 +00:00
|
|
|
"generic-array",
|
2021-07-14 05:24:10 +00:00
|
|
|
"hmac 0.8.1",
|
|
|
|
]
|
|
|
|
|
2021-06-03 01:11:33 +00:00
|
|
|
[[package]]
|
|
|
|
name = "hostname"
|
|
|
|
version = "0.3.1"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
checksum = "3c731c3e10504cc8ed35cfe2f1db4c9274c3d35fa486e3b31df46f068ef3e867"
|
|
|
|
dependencies = [
|
|
|
|
"libc",
|
|
|
|
"match_cfg",
|
|
|
|
"winapi",
|
|
|
|
]
|
|
|
|
|
2020-05-17 11:16:48 +00:00
|
|
|
[[package]]
|
|
|
|
name = "http"
|
2022-01-11 01:35:56 +00:00
|
|
|
version = "0.2.6"
|
2020-12-23 07:53:36 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2022-01-11 01:35:56 +00:00
|
|
|
checksum = "31f4c6746584866f0feabcc69893c5b51beef3831656a968ed7ae254cdc4fd03"
|
2020-11-28 05:30:57 +00:00
|
|
|
dependencies = [
|
2021-10-29 01:59:29 +00:00
|
|
|
"bytes",
|
2020-11-28 05:30:57 +00:00
|
|
|
"fnv",
|
2022-01-11 01:35:56 +00:00
|
|
|
"itoa 1.0.1",
|
2020-11-28 05:30:57 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "http-body"
|
2021-10-29 01:59:29 +00:00
|
|
|
version = "0.4.4"
|
2021-02-10 23:29:49 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-10-29 01:59:29 +00:00
|
|
|
checksum = "1ff4f84919677303da5f147645dbea6b1881f368d03ac84e1dc09031ebd7b2c6"
|
2020-11-28 05:30:57 +00:00
|
|
|
dependencies = [
|
2021-10-29 01:59:29 +00:00
|
|
|
"bytes",
|
2021-02-10 23:29:49 +00:00
|
|
|
"http",
|
2022-01-11 01:35:56 +00:00
|
|
|
"pin-project-lite 0.2.8",
|
2020-05-17 11:16:48 +00:00
|
|
|
]
|
|
|
|
|
2020-09-29 03:46:54 +00:00
|
|
|
[[package]]
|
|
|
|
name = "http_api"
|
|
|
|
version = "0.1.0"
|
|
|
|
dependencies = [
|
|
|
|
"beacon_chain",
|
2021-07-05 00:54:17 +00:00
|
|
|
"bs58",
|
2020-09-29 03:46:54 +00:00
|
|
|
"environment",
|
|
|
|
"eth1",
|
|
|
|
"eth2",
|
2021-11-29 03:57:54 +00:00
|
|
|
"eth2_ssz",
|
2021-07-09 03:20:24 +00:00
|
|
|
"futures",
|
2020-10-28 22:19:38 +00:00
|
|
|
"hex",
|
2020-09-29 03:46:54 +00:00
|
|
|
"lazy_static",
|
|
|
|
"lighthouse_metrics",
|
Rename eth2_libp2p to lighthouse_network (#2702)
## Description
The `eth2_libp2p` crate was originally named and designed to incorporate a simple libp2p integration into lighthouse. Since its origins the crates purpose has expanded dramatically. It now houses a lot more sophistication that is specific to lighthouse and no longer just a libp2p integration.
As of this writing it currently houses the following high-level lighthouse-specific logic:
- Lighthouse's implementation of the eth2 RPC protocol and specific encodings/decodings
- Integration and handling of ENRs with respect to libp2p and eth2
- Lighthouse's discovery logic, its integration with discv5 and logic about searching and handling peers.
- Lighthouse's peer manager - This is a large module handling various aspects of Lighthouse's network, such as peer scoring, handling pings and metadata, connection maintenance and recording, etc.
- Lighthouse's peer database - This is a collection of information stored for each individual peer which is specific to lighthouse. We store connection state, sync state, last seen ips and scores etc. The data stored for each peer is designed for various elements of the lighthouse code base such as syncing and the http api.
- Gossipsub scoring - This stores a collection of gossipsub 1.1 scoring mechanisms that are continuously analyssed and updated based on the ethereum 2 networks and how Lighthouse performs on these networks.
- Lighthouse specific types for managing gossipsub topics, sync status and ENR fields
- Lighthouse's network HTTP API metrics - A collection of metrics for lighthouse network monitoring
- Lighthouse's custom configuration of all networking protocols, RPC, gossipsub, discovery, identify and libp2p.
Therefore it makes sense to rename the crate to be more akin to its current purposes, simply that it manages the majority of Lighthouse's network stack. This PR renames this crate to `lighthouse_network`
Co-authored-by: Paul Hauner <paul@paulhauner.com>
2021-10-19 00:30:39 +00:00
|
|
|
"lighthouse_network",
|
2020-09-29 03:46:54 +00:00
|
|
|
"lighthouse_version",
|
|
|
|
"network",
|
2021-05-04 01:59:51 +00:00
|
|
|
"sensitive_url",
|
2020-09-29 03:46:54 +00:00
|
|
|
"serde",
|
|
|
|
"slog",
|
|
|
|
"slot_clock",
|
|
|
|
"state_processing",
|
|
|
|
"store",
|
2021-08-17 01:00:24 +00:00
|
|
|
"tokio",
|
2021-02-10 23:29:49 +00:00
|
|
|
"tokio-stream",
|
2021-11-29 03:57:54 +00:00
|
|
|
"tree_hash",
|
2020-09-29 03:46:54 +00:00
|
|
|
"types",
|
2021-11-16 00:46:12 +00:00
|
|
|
"warp 0.3.2",
|
2020-09-29 03:46:54 +00:00
|
|
|
"warp_utils",
|
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "http_metrics"
|
|
|
|
version = "0.1.0"
|
|
|
|
dependencies = [
|
|
|
|
"beacon_chain",
|
|
|
|
"environment",
|
|
|
|
"lighthouse_metrics",
|
Rename eth2_libp2p to lighthouse_network (#2702)
## Description
The `eth2_libp2p` crate was originally named and designed to incorporate a simple libp2p integration into lighthouse. Since its origins the crates purpose has expanded dramatically. It now houses a lot more sophistication that is specific to lighthouse and no longer just a libp2p integration.
As of this writing it currently houses the following high-level lighthouse-specific logic:
- Lighthouse's implementation of the eth2 RPC protocol and specific encodings/decodings
- Integration and handling of ENRs with respect to libp2p and eth2
- Lighthouse's discovery logic, its integration with discv5 and logic about searching and handling peers.
- Lighthouse's peer manager - This is a large module handling various aspects of Lighthouse's network, such as peer scoring, handling pings and metadata, connection maintenance and recording, etc.
- Lighthouse's peer database - This is a collection of information stored for each individual peer which is specific to lighthouse. We store connection state, sync state, last seen ips and scores etc. The data stored for each peer is designed for various elements of the lighthouse code base such as syncing and the http api.
- Gossipsub scoring - This stores a collection of gossipsub 1.1 scoring mechanisms that are continuously analyssed and updated based on the ethereum 2 networks and how Lighthouse performs on these networks.
- Lighthouse specific types for managing gossipsub topics, sync status and ENR fields
- Lighthouse's network HTTP API metrics - A collection of metrics for lighthouse network monitoring
- Lighthouse's custom configuration of all networking protocols, RPC, gossipsub, discovery, identify and libp2p.
Therefore it makes sense to rename the crate to be more akin to its current purposes, simply that it manages the majority of Lighthouse's network stack. This PR renames this crate to `lighthouse_network`
Co-authored-by: Paul Hauner <paul@paulhauner.com>
2021-10-19 00:30:39 +00:00
|
|
|
"lighthouse_network",
|
2020-09-29 03:46:54 +00:00
|
|
|
"lighthouse_version",
|
2021-05-28 05:59:45 +00:00
|
|
|
"malloc_utils",
|
2020-09-29 03:46:54 +00:00
|
|
|
"reqwest",
|
|
|
|
"serde",
|
|
|
|
"slog",
|
|
|
|
"slot_clock",
|
|
|
|
"store",
|
2021-08-17 01:00:24 +00:00
|
|
|
"tokio",
|
2020-09-29 03:46:54 +00:00
|
|
|
"types",
|
2021-11-16 00:46:12 +00:00
|
|
|
"warp 0.3.2",
|
2020-09-29 03:46:54 +00:00
|
|
|
"warp_utils",
|
|
|
|
]
|
|
|
|
|
2019-12-09 11:39:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "httparse"
|
2021-09-03 01:10:25 +00:00
|
|
|
version = "1.5.1"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-09-03 01:10:25 +00:00
|
|
|
checksum = "acd94fdbe1d4ff688b67b04eee2e17bd50995534a61539e45adfefb45e5e5503"
|
2019-12-09 11:39:44 +00:00
|
|
|
|
2021-05-04 00:44:05 +00:00
|
|
|
[[package]]
|
|
|
|
name = "httpdate"
|
2021-12-21 08:23:17 +00:00
|
|
|
version = "1.0.2"
|
2021-05-04 00:44:05 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-12-21 08:23:17 +00:00
|
|
|
checksum = "c4a1e36c821dbe04574f602848a19f742f4fb3c98d40449f11bcad18d6b17421"
|
2021-05-04 00:44:05 +00:00
|
|
|
|
2019-12-09 11:39:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "humantime"
|
2021-02-10 23:29:49 +00:00
|
|
|
version = "2.1.0"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-02-10 23:29:49 +00:00
|
|
|
checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4"
|
2019-12-09 11:39:44 +00:00
|
|
|
|
2020-11-28 05:30:57 +00:00
|
|
|
[[package]]
|
|
|
|
name = "hyper"
|
2021-12-22 06:17:14 +00:00
|
|
|
version = "0.14.16"
|
2021-02-10 23:29:49 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-12-22 06:17:14 +00:00
|
|
|
checksum = "b7ec3e62bdc98a2f0393a5048e4c30ef659440ea6e0e572965103e72bd836f55"
|
2020-11-28 05:30:57 +00:00
|
|
|
dependencies = [
|
2021-10-29 01:59:29 +00:00
|
|
|
"bytes",
|
2020-11-28 05:30:57 +00:00
|
|
|
"futures-channel",
|
|
|
|
"futures-core",
|
|
|
|
"futures-util",
|
2021-07-09 03:20:24 +00:00
|
|
|
"h2",
|
2021-02-10 23:29:49 +00:00
|
|
|
"http",
|
2021-07-09 03:20:24 +00:00
|
|
|
"http-body",
|
2020-11-28 05:30:57 +00:00
|
|
|
"httparse",
|
2021-07-09 03:20:24 +00:00
|
|
|
"httpdate",
|
2021-12-22 06:17:14 +00:00
|
|
|
"itoa 0.4.8",
|
2022-01-11 01:35:56 +00:00
|
|
|
"pin-project-lite 0.2.8",
|
2021-09-16 04:45:05 +00:00
|
|
|
"socket2 0.4.2",
|
2021-08-17 01:00:24 +00:00
|
|
|
"tokio",
|
2020-11-28 05:30:57 +00:00
|
|
|
"tower-service",
|
|
|
|
"tracing",
|
2020-12-09 01:34:58 +00:00
|
|
|
"want",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
2021-02-10 23:29:49 +00:00
|
|
|
[[package]]
|
|
|
|
name = "hyper-tls"
|
|
|
|
version = "0.5.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905"
|
|
|
|
dependencies = [
|
2021-10-29 01:59:29 +00:00
|
|
|
"bytes",
|
2021-07-09 03:20:24 +00:00
|
|
|
"hyper",
|
2021-02-10 23:29:49 +00:00
|
|
|
"native-tls",
|
2021-08-17 01:00:24 +00:00
|
|
|
"tokio",
|
2021-02-10 23:29:49 +00:00
|
|
|
"tokio-native-tls",
|
|
|
|
]
|
|
|
|
|
2021-07-09 06:15:32 +00:00
|
|
|
[[package]]
|
|
|
|
name = "ident_case"
|
|
|
|
version = "1.0.1"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39"
|
|
|
|
|
2019-12-09 11:39:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "idna"
|
2021-05-04 00:44:05 +00:00
|
|
|
version = "0.2.3"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-05-04 00:44:05 +00:00
|
|
|
checksum = "418a0a6fab821475f634efe3ccc45c013f742efe03d853e8d3355d5cb850ecf8"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2020-05-10 09:56:31 +00:00
|
|
|
"matches",
|
|
|
|
"unicode-bidi",
|
|
|
|
"unicode-normalization",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
2020-11-06 04:14:14 +00:00
|
|
|
[[package]]
|
|
|
|
name = "if-addrs"
|
2021-11-18 05:08:42 +00:00
|
|
|
version = "0.6.7"
|
2020-11-06 04:14:14 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-11-18 05:08:42 +00:00
|
|
|
checksum = "2273e421f7c4f0fc99e1934fe4776f59d8df2972f4199d703fc0da9f2a9f73de"
|
2020-11-06 04:14:14 +00:00
|
|
|
dependencies = [
|
|
|
|
"if-addrs-sys",
|
|
|
|
"libc",
|
2021-07-09 03:20:24 +00:00
|
|
|
"winapi",
|
2020-11-06 04:14:14 +00:00
|
|
|
]
|
|
|
|
|
2021-12-22 06:17:14 +00:00
|
|
|
[[package]]
|
|
|
|
name = "if-addrs"
|
|
|
|
version = "0.7.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
checksum = "cbc0fa01ffc752e9dbc72818cdb072cd028b86be5e09dd04c5a643704fe101a9"
|
|
|
|
dependencies = [
|
|
|
|
"libc",
|
|
|
|
"winapi",
|
|
|
|
]
|
|
|
|
|
2020-11-06 04:14:14 +00:00
|
|
|
[[package]]
|
|
|
|
name = "if-addrs-sys"
|
|
|
|
version = "0.3.2"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
checksum = "de74b9dd780476e837e5eb5ab7c88b49ed304126e412030a0adba99c8efe79ea"
|
|
|
|
dependencies = [
|
|
|
|
"cc",
|
|
|
|
"libc",
|
|
|
|
]
|
|
|
|
|
2020-10-02 08:47:00 +00:00
|
|
|
[[package]]
|
|
|
|
name = "igd"
|
|
|
|
version = "0.11.1"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
checksum = "2fd32c880165b2f776af0b38d206d1cabaebcf46c166ac6ae004a5d45f7d48ef"
|
|
|
|
dependencies = [
|
|
|
|
"attohttpc",
|
2020-12-09 01:34:58 +00:00
|
|
|
"log",
|
2020-10-02 08:47:00 +00:00
|
|
|
"rand 0.7.3",
|
2020-12-09 01:34:58 +00:00
|
|
|
"url",
|
2020-10-02 08:47:00 +00:00
|
|
|
"xmltree",
|
|
|
|
]
|
|
|
|
|
2019-12-09 11:39:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "impl-codec"
|
|
|
|
version = "0.4.2"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2020-05-10 09:56:31 +00:00
|
|
|
checksum = "1be51a921b067b0eaca2fad532d9400041561aa922221cc65f95a85641c6bf53"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2021-07-09 03:20:24 +00:00
|
|
|
"parity-scale-codec 1.3.7",
|
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "impl-codec"
|
|
|
|
version = "0.5.1"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
checksum = "161ebdfec3c8e3b52bf61c4f3550a1eea4f9579d10dc1b936f3171ebdcd6c443"
|
|
|
|
dependencies = [
|
2021-10-01 01:23:55 +00:00
|
|
|
"parity-scale-codec 2.3.1",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "impl-rlp"
|
|
|
|
version = "0.2.1"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2020-05-10 09:56:31 +00:00
|
|
|
checksum = "8f7a72f11830b52333f36e3b09a288333888bf54380fd0ac0790a3c31ab0f3c5"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2021-02-10 23:29:49 +00:00
|
|
|
"rlp 0.4.6",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
2021-07-09 03:20:24 +00:00
|
|
|
[[package]]
|
|
|
|
name = "impl-rlp"
|
|
|
|
version = "0.3.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
checksum = "f28220f89297a075ddc7245cd538076ee98b01f2a9c23a53a4f1105d5a322808"
|
|
|
|
dependencies = [
|
2021-08-17 01:00:24 +00:00
|
|
|
"rlp 0.5.1",
|
2021-07-09 03:20:24 +00:00
|
|
|
]
|
|
|
|
|
2020-01-08 03:18:06 +00:00
|
|
|
[[package]]
|
|
|
|
name = "impl-serde"
|
2021-11-18 05:08:42 +00:00
|
|
|
version = "0.3.2"
|
2020-01-08 03:18:06 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-11-18 05:08:42 +00:00
|
|
|
checksum = "4551f042f3438e64dbd6226b20527fc84a6e1fe65688b58746a2f53623f25f5c"
|
2020-01-08 03:18:06 +00:00
|
|
|
dependencies = [
|
2020-05-10 09:56:31 +00:00
|
|
|
"serde",
|
2020-01-08 03:18:06 +00:00
|
|
|
]
|
|
|
|
|
2021-07-09 03:20:24 +00:00
|
|
|
[[package]]
|
|
|
|
name = "impl-trait-for-tuples"
|
|
|
|
version = "0.2.1"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
checksum = "d5dacb10c5b3bb92d46ba347505a9041e676bb20ad220101326bffb0c93031ee"
|
|
|
|
dependencies = [
|
|
|
|
"proc-macro2",
|
|
|
|
"quote",
|
|
|
|
"syn",
|
|
|
|
]
|
|
|
|
|
2019-12-09 11:39:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "indexmap"
|
2022-01-11 01:35:56 +00:00
|
|
|
version = "1.8.0"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2022-01-11 01:35:56 +00:00
|
|
|
checksum = "282a6247722caba404c065016bbfa522806e51714c34f5dfc3e4a3a46fcb4223"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2020-08-21 12:00:01 +00:00
|
|
|
"autocfg 1.0.1",
|
2021-08-17 01:00:24 +00:00
|
|
|
"hashbrown",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
2021-11-16 00:46:12 +00:00
|
|
|
[[package]]
|
|
|
|
name = "input_buffer"
|
|
|
|
version = "0.4.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
checksum = "f97967975f448f1a7ddb12b0bc41069d09ed6a1c161a92687e057325db35d413"
|
|
|
|
dependencies = [
|
|
|
|
"bytes",
|
|
|
|
]
|
|
|
|
|
2020-07-06 01:55:56 +00:00
|
|
|
[[package]]
|
|
|
|
name = "instant"
|
2021-10-29 01:59:29 +00:00
|
|
|
version = "0.1.12"
|
2020-07-06 01:55:56 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-10-29 01:59:29 +00:00
|
|
|
checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c"
|
2020-09-22 04:45:15 +00:00
|
|
|
dependencies = [
|
2021-11-18 05:08:42 +00:00
|
|
|
"cfg-if",
|
2020-09-22 04:45:15 +00:00
|
|
|
]
|
2020-07-06 01:55:56 +00:00
|
|
|
|
2019-12-09 11:39:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "int_to_bytes"
|
Initial work towards v0.2.0 (#924)
* Remove ping protocol
* Initial renaming of network services
* Correct rebasing relative to latest master
* Start updating types
* Adds HashMapDelay struct to utils
* Initial network restructure
* Network restructure. Adds new types for v0.2.0
* Removes build artefacts
* Shift validation to beacon chain
* Temporarily remove gossip validation
This is to be updated to match current optimisation efforts.
* Adds AggregateAndProof
* Begin rebuilding pubsub encoding/decoding
* Signature hacking
* Shift gossipsup decoding into eth2_libp2p
* Existing EF tests passing with fake_crypto
* Shifts block encoding/decoding into RPC
* Delete outdated API spec
* All release tests passing bar genesis state parsing
* Update and test YamlConfig
* Update to spec v0.10 compatible BLS
* Updates to BLS EF tests
* Add EF test for AggregateVerify
And delete unused hash2curve tests for uncompressed points
* Update EF tests to v0.10.1
* Use optional block root correctly in block proc
* Use genesis fork in deposit domain. All tests pass
* Fast aggregate verify test
* Update REST API docs
* Fix unused import
* Bump spec tags to v0.10.1
* Add `seconds_per_eth1_block` to chainspec
* Update to timestamp based eth1 voting scheme
* Return None from `get_votes_to_consider` if block cache is empty
* Handle overflows in `is_candidate_block`
* Revert to failing tests
* Fix eth1 data sets test
* Choose default vote according to spec
* Fix collect_valid_votes tests
* Fix `get_votes_to_consider` to choose all eligible blocks
* Uncomment winning_vote tests
* Add comments; remove unused code
* Reduce seconds_per_eth1_block for simulation
* Addressed review comments
* Add test for default vote case
* Fix logs
* Remove unused functions
* Meter default eth1 votes
* Fix comments
* Progress on attestation service
* Address review comments; remove unused dependency
* Initial work on removing libp2p lock
* Add LRU caches to store (rollup)
* Update attestation validation for DB changes (WIP)
* Initial version of should_forward_block
* Scaffold
* Progress on attestation validation
Also, consolidate prod+testing slot clocks so that they share much
of the same implementation and can both handle sub-slot time changes.
* Removes lock from libp2p service
* Completed network lock removal
* Finish(?) attestation processing
* Correct network termination future
* Add slot check to block check
* Correct fmt issues
* Remove Drop implementation for network service
* Add first attempt at attestation proc. re-write
* Add version 2 of attestation processing
* Minor fixes
* Add validator pubkey cache
* Make get_indexed_attestation take a committee
* Link signature processing into new attn verification
* First working version
* Ensure pubkey cache is updated
* Add more metrics, slight optimizations
* Clone committee cache during attestation processing
* Update shuffling cache during block processing
* Remove old commented-out code
* Fix shuffling cache insert bug
* Used indexed attestation in fork choice
* Restructure attn processing, add metrics
* Add more detailed metrics
* Tidy, fix failing tests
* Fix failing tests, tidy
* Address reviewers suggestions
* Disable/delete two outdated tests
* Modification of validator for subscriptions
* Add slot signing to validator client
* Further progress on validation subscription
* Adds necessary validator subscription functionality
* Add new Pubkeys struct to signature_sets
* Refactor with functional approach
* Update beacon chain
* Clean up validator <-> beacon node http types
* Add aggregator status to ValidatorDuty
* Impl Clone for manual slot clock
* Fix minor errors
* Further progress validator client subscription
* Initial subscription and aggregation handling
* Remove decompressed member from pubkey bytes
* Progress to modifying val client for attestation aggregation
* First draft of validator client upgrade for aggregate attestations
* Add hashmap for indices lookup
* Add state cache, remove store cache
* Only build the head committee cache
* Removes lock on a network channel
* Partially implement beacon node subscription http api
* Correct compilation issues
* Change `get_attesting_indices` to use Vec
* Fix failing test
* Partial implementation of timer
* Adds timer, removes exit_future, http api to op pool
* Partial multiple aggregate attestation handling
* Permits bulk messages accross gossipsub network channel
* Correct compile issues
* Improve gosispsub messaging and correct rest api helpers
* Added global gossipsub subscriptions
* Update validator subscriptions data structs
* Tidy
* Re-structure validator subscriptions
* Initial handling of subscriptions
* Re-structure network service
* Add pubkey cache persistence file
* Add more comments
* Integrate persistence file into builder
* Add pubkey cache tests
* Add HashSetDelay and introduce into attestation service
* Handles validator subscriptions
* Add data_dir to beacon chain builder
* Remove Option in pubkey cache persistence file
* Ensure consistency between datadir/data_dir
* Fix failing network test
* Peer subnet discovery gets queued for future subscriptions
* Reorganise attestation service functions
* Initial wiring of attestation service
* First draft of attestation service timing logic
* Correct minor typos
* Tidy
* Fix todos
* Improve tests
* Add PeerInfo to connected peers mapping
* Fix compile error
* Fix compile error from merge
* Split up block processing metrics
* Tidy
* Refactor get_pubkey_from_state
* Remove commented-out code
* Rename state_cache -> checkpoint_cache
* Rename Checkpoint -> Snapshot
* Tidy, add comments
* Tidy up find_head function
* Change some checkpoint -> snapshot
* Add tests
* Expose max_len
* Remove dead code
* Tidy
* Fix bug
* Add sync-speed metric
* Add first attempt at VerifiableBlock
* Start integrating into beacon chain
* Integrate VerifiableBlock
* Rename VerifableBlock -> PartialBlockVerification
* Add start of typed methods
* Add progress
* Add further progress
* Rename structs
* Add full block verification to block_processing.rs
* Further beacon chain integration
* Update checks for gossip
* Add todo
* Start adding segement verification
* Add passing chain segement test
* Initial integration with batch sync
* Minor changes
* Tidy, add more error checking
* Start adding chain_segment tests
* Finish invalid signature tests
* Include single and gossip verified blocks in tests
* Add gossip verification tests
* Start adding docs
* Finish adding comments to block_processing.rs
* Rename block_processing.rs -> block_verification
* Start removing old block processing code
* Fixes beacon_chain compilation
* Fix project-wide compile errors
* Remove old code
* Correct code to pass all tests
* Fix bug with beacon proposer index
* Fix shim for BlockProcessingError
* Only process one epoch at a time
* Fix loop in chain segment processing
* Correct tests from master merge
* Add caching for state.eth1_data_votes
* Add BeaconChain::validator_pubkey
* Revert "Add caching for state.eth1_data_votes"
This reverts commit cd73dcd6434fb8d8e6bf30c5356355598ea7b78e.
Co-authored-by: Grant Wuerker <gwuerker@gmail.com>
Co-authored-by: Michael Sproul <michael@sigmaprime.io>
Co-authored-by: Michael Sproul <micsproul@gmail.com>
Co-authored-by: pawan <pawandhananjay@gmail.com>
Co-authored-by: Paul Hauner <paul@paulhauner.com>
2020-03-17 06:24:44 +00:00
|
|
|
version = "0.2.0"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2021-10-29 01:59:29 +00:00
|
|
|
"bytes",
|
2020-10-28 22:19:38 +00:00
|
|
|
"hex",
|
2020-05-10 09:56:31 +00:00
|
|
|
"yaml-rust",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "integer-sqrt"
|
2020-09-11 01:43:13 +00:00
|
|
|
version = "0.1.5"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2020-09-11 01:43:13 +00:00
|
|
|
checksum = "276ec31bcb4a9ee45f58bec6f9ec700ae4cf4f4f8f2fa7e06cb406bd5ffdd770"
|
2020-09-09 02:28:35 +00:00
|
|
|
dependencies = [
|
|
|
|
"num-traits",
|
|
|
|
]
|
2019-12-09 11:39:44 +00:00
|
|
|
|
2021-06-03 01:11:33 +00:00
|
|
|
[[package]]
|
|
|
|
name = "ipconfig"
|
|
|
|
version = "0.2.2"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
checksum = "f7e2f18aece9709094573a9f24f483c4f65caa4298e2f7ae1b71cc65d853fad7"
|
|
|
|
dependencies = [
|
|
|
|
"socket2 0.3.19",
|
|
|
|
"widestring",
|
|
|
|
"winapi",
|
|
|
|
"winreg 0.6.2",
|
|
|
|
]
|
|
|
|
|
2019-12-09 11:39:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "ipnet"
|
2021-07-05 00:54:17 +00:00
|
|
|
version = "2.3.1"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-07-05 00:54:17 +00:00
|
|
|
checksum = "68f2d64f2edebec4ce84ad108148e67e1064789bee435edc5b60ad398714a3a9"
|
2019-12-09 11:39:44 +00:00
|
|
|
|
2021-03-02 05:59:49 +00:00
|
|
|
[[package]]
|
|
|
|
name = "itertools"
|
2021-12-22 06:17:14 +00:00
|
|
|
version = "0.10.3"
|
2021-03-02 05:59:49 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-12-22 06:17:14 +00:00
|
|
|
checksum = "a9a9d19fa1e79b6215ff29b9d6880b706147f16e9b1dbb1e4e5947b5b02bc5e3"
|
2021-03-02 05:59:49 +00:00
|
|
|
dependencies = [
|
|
|
|
"either",
|
|
|
|
]
|
|
|
|
|
2019-12-09 11:39:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "itoa"
|
2021-09-03 01:10:25 +00:00
|
|
|
version = "0.4.8"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-09-03 01:10:25 +00:00
|
|
|
checksum = "b71991ff56294aa922b450139ee08b3bfc70982c6b2c7562771375cf73542dd4"
|
2019-12-09 11:39:44 +00:00
|
|
|
|
2021-12-22 06:17:14 +00:00
|
|
|
[[package]]
|
|
|
|
name = "itoa"
|
|
|
|
version = "1.0.1"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
checksum = "1aab8fc367588b89dcee83ab0fd66b72b50b72fa1904d7095045ace2b0c81c35"
|
|
|
|
|
2019-12-09 11:39:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "js-sys"
|
2021-09-16 04:45:05 +00:00
|
|
|
version = "0.3.55"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-09-16 04:45:05 +00:00
|
|
|
checksum = "7cc9ffccd38c451a86bf13657df244e9c3f37493cce8e5e21e940963777acc84"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2020-05-10 09:56:31 +00:00
|
|
|
"wasm-bindgen",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
2020-04-19 02:20:43 +00:00
|
|
|
[[package]]
|
|
|
|
name = "jsonrpc-core"
|
2021-08-17 01:00:24 +00:00
|
|
|
version = "18.0.0"
|
2020-04-19 02:20:43 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-08-17 01:00:24 +00:00
|
|
|
checksum = "14f7f76aef2d054868398427f6c54943cf3d1caa9a7ec7d0c38d69df97a965eb"
|
2020-04-19 02:20:43 +00:00
|
|
|
dependencies = [
|
2021-07-09 03:20:24 +00:00
|
|
|
"futures",
|
|
|
|
"futures-executor",
|
|
|
|
"futures-util",
|
2020-12-09 01:34:58 +00:00
|
|
|
"log",
|
2020-05-10 09:56:31 +00:00
|
|
|
"serde",
|
|
|
|
"serde_derive",
|
|
|
|
"serde_json",
|
2020-04-19 02:20:43 +00:00
|
|
|
]
|
|
|
|
|
2020-10-23 04:16:33 +00:00
|
|
|
[[package]]
|
|
|
|
name = "k256"
|
2021-07-05 00:54:17 +00:00
|
|
|
version = "0.8.1"
|
2020-10-23 04:16:33 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-07-05 00:54:17 +00:00
|
|
|
checksum = "8c3e8e491ed22bc161583a1c77e42313672c483eba6bd9d7afec0f1131d0b9ce"
|
2020-10-23 04:16:33 +00:00
|
|
|
dependencies = [
|
2021-11-18 05:08:42 +00:00
|
|
|
"cfg-if",
|
2021-12-22 06:17:14 +00:00
|
|
|
"ecdsa 0.11.1",
|
|
|
|
"elliptic-curve 0.9.12",
|
2022-01-11 01:35:56 +00:00
|
|
|
"sha2 0.9.9",
|
2020-10-23 04:16:33 +00:00
|
|
|
]
|
|
|
|
|
2019-12-09 11:39:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "keccak"
|
|
|
|
version = "0.1.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2020-05-10 09:56:31 +00:00
|
|
|
checksum = "67c21572b4949434e4fc1e1978b99c5f77064153c59d998bf13ecd96fb5ecba7"
|
2019-12-09 11:39:44 +00:00
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "lazy_static"
|
|
|
|
version = "1.4.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2020-05-10 09:56:31 +00:00
|
|
|
checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
|
2020-05-11 08:43:43 +00:00
|
|
|
dependencies = [
|
|
|
|
"spin",
|
|
|
|
]
|
2019-12-09 11:39:44 +00:00
|
|
|
|
2021-12-21 08:23:17 +00:00
|
|
|
[[package]]
|
|
|
|
name = "lazycell"
|
|
|
|
version = "1.3.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55"
|
|
|
|
|
2019-12-09 11:39:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "lcli"
|
2022-01-20 03:39:41 +00:00
|
|
|
version = "2.1.0"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2021-01-19 08:42:30 +00:00
|
|
|
"account_utils",
|
2020-07-31 05:00:39 +00:00
|
|
|
"bls",
|
2020-05-10 09:56:31 +00:00
|
|
|
"clap",
|
|
|
|
"clap_utils",
|
|
|
|
"deposit_contract",
|
2020-09-29 00:02:44 +00:00
|
|
|
"directory",
|
2021-09-22 00:37:28 +00:00
|
|
|
"env_logger 0.9.0",
|
2020-05-10 09:56:31 +00:00
|
|
|
"environment",
|
2021-03-30 05:17:58 +00:00
|
|
|
"eth1_test_rig",
|
2021-09-25 07:53:56 +00:00
|
|
|
"eth2",
|
2020-12-08 05:41:10 +00:00
|
|
|
"eth2_network_config",
|
2021-11-29 03:57:54 +00:00
|
|
|
"eth2_ssz",
|
2021-01-19 08:42:30 +00:00
|
|
|
"eth2_wallet",
|
2020-05-10 09:56:31 +00:00
|
|
|
"genesis",
|
2021-11-16 00:46:12 +00:00
|
|
|
"int_to_bytes",
|
Rename eth2_libp2p to lighthouse_network (#2702)
## Description
The `eth2_libp2p` crate was originally named and designed to incorporate a simple libp2p integration into lighthouse. Since its origins the crates purpose has expanded dramatically. It now houses a lot more sophistication that is specific to lighthouse and no longer just a libp2p integration.
As of this writing it currently houses the following high-level lighthouse-specific logic:
- Lighthouse's implementation of the eth2 RPC protocol and specific encodings/decodings
- Integration and handling of ENRs with respect to libp2p and eth2
- Lighthouse's discovery logic, its integration with discv5 and logic about searching and handling peers.
- Lighthouse's peer manager - This is a large module handling various aspects of Lighthouse's network, such as peer scoring, handling pings and metadata, connection maintenance and recording, etc.
- Lighthouse's peer database - This is a collection of information stored for each individual peer which is specific to lighthouse. We store connection state, sync state, last seen ips and scores etc. The data stored for each peer is designed for various elements of the lighthouse code base such as syncing and the http api.
- Gossipsub scoring - This stores a collection of gossipsub 1.1 scoring mechanisms that are continuously analyssed and updated based on the ethereum 2 networks and how Lighthouse performs on these networks.
- Lighthouse specific types for managing gossipsub topics, sync status and ENR fields
- Lighthouse's network HTTP API metrics - A collection of metrics for lighthouse network monitoring
- Lighthouse's custom configuration of all networking protocols, RPC, gossipsub, discovery, identify and libp2p.
Therefore it makes sense to rename the crate to be more akin to its current purposes, simply that it manages the majority of Lighthouse's network stack. This PR renames this crate to `lighthouse_network`
Co-authored-by: Paul Hauner <paul@paulhauner.com>
2021-10-19 00:30:39 +00:00
|
|
|
"lighthouse_network",
|
2020-08-04 07:44:53 +00:00
|
|
|
"lighthouse_version",
|
2020-12-09 01:34:58 +00:00
|
|
|
"log",
|
2021-05-04 01:59:51 +00:00
|
|
|
"sensitive_url",
|
2020-05-10 09:56:31 +00:00
|
|
|
"serde",
|
2021-09-22 00:37:28 +00:00
|
|
|
"serde_json",
|
2020-05-10 09:56:31 +00:00
|
|
|
"serde_yaml",
|
|
|
|
"state_processing",
|
2021-11-29 03:57:54 +00:00
|
|
|
"tree_hash",
|
2020-05-10 09:56:31 +00:00
|
|
|
"types",
|
Wallet-based, encrypted key management (#1138)
* Update hashmap hashset to stable futures
* Adds panic test to hashset delay
* Port remote_beacon_node to stable futures
* Fix lcli merge conflicts
* Non rpc stuff compiles
* Remove padding
* Add error enum, zeroize more things
* Fix comment
* protocol.rs compiles
* Port websockets, timer and notifier to stable futures (#1035)
* Fix lcli
* Port timer to stable futures
* Fix timer
* Port websocket_server to stable futures
* Port notifier to stable futures
* Add TODOS
* Port remote_beacon_node to stable futures
* Partial eth2-libp2p stable future upgrade
* Finished first round of fighting RPC types
* Further progress towards porting eth2-libp2p adds caching to discovery
* Update behaviour
* Add keystore builder
* Remove keystore stuff from val client
* Add more tests, comments
* RPC handler to stable futures
* Update RPC to master libp2p
* Add more comments, test vectors
* Network service additions
* Progress on improving JSON validation
* More JSON verification
* Start moving JSON into own mod
* Remove old code
* Add more tests, reader/writers
* Tidy
* Move keystore into own file
* Move more logic into keystore file
* Tidy
* Tidy
* Fix the fallback transport construction (#1102)
* Allow for odd-character hex
* Correct warning
* Remove hashmap delay
* Compiling version of eth2-libp2p
* Update all crates versions
* Fix conversion function and add tests (#1113)
* Add more json missing field checks
* Use scrypt by default
* Tidy, address comments
* Test path and uuid in vectors
* Fix comment
* Add checks for kdf params
* Enforce empty kdf message
* Port validator_client to stable futures (#1114)
* Add PH & MS slot clock changes
* Account for genesis time
* Add progress on duties refactor
* Add simple is_aggregator bool to val subscription
* Start work on attestation_verification.rs
* Add progress on ObservedAttestations
* Progress with ObservedAttestations
* Fix tests
* Add observed attestations to the beacon chain
* Add attestation observation to processing code
* Add progress on attestation verification
* Add first draft of ObservedAttesters
* Add more tests
* Add observed attesters to beacon chain
* Add observers to attestation processing
* Add more attestation verification
* Create ObservedAggregators map
* Remove commented-out code
* Add observed aggregators into chain
* Add progress
* Finish adding features to attestation verification
* Ensure beacon chain compiles
* Link attn verification into chain
* Integrate new attn verification in chain
* Remove old attestation processing code
* Start trying to fix beacon_chain tests
* Split adding into pools into two functions
* Add aggregation to harness
* Get test harness working again
* Adjust the number of aggregators for test harness
* Fix edge-case in harness
* Integrate new attn processing in network
* Fix compile bug in validator_client
* Update validator API endpoints
* Fix aggreagation in test harness
* Fix enum thing
* Fix attestation observation bug:
* Patch failing API tests
* Start adding comments to attestation verification
* Remove unused attestation field
* Unify "is block known" logic
* Update comments
* Supress fork choice errors for network processing
* Add todos
* Tidy
* Add gossip attn tests
* Disallow test harness to produce old attns
* Comment out in-progress tests
* Partially address pruning tests
* Fix failing store test
* Add aggregate tests
* Add comments about which spec conditions we check
* Dont re-aggregate
* Split apart test harness attn production
* Fix compile error in network
* Make progress on commented-out test
* Fix skipping attestation test
* Add fork choice verification tests
* Tidy attn tests, remove dead code
* Remove some accidentally added code
* Fix clippy lint
* Rename test file
* Add block tests, add cheap block proposer check
* Rename block testing file
* Add observed_block_producers
* Tidy
* Switch around block signature verification
* Finish block testing
* Remove gossip from signature tests
* First pass of self review
* Fix deviation in spec
* Update test spec tags
* Start moving over to hashset
* Finish moving observed attesters to hashmap
* Move aggregation pool over to hashmap
* Make fc attn borrow again
* Fix rest_api compile error
* Fix missing comments
* Fix monster test
* Uncomment increasing slots test
* Address remaining comments
* Remove unsafe, use cfg test
* Remove cfg test flag
* Fix dodgy comment
* Revert "Update hashmap hashset to stable futures"
This reverts commit d432378a3cc5cd67fc29c0b15b96b886c1323554.
* Revert "Adds panic test to hashset delay"
This reverts commit 281502396fc5b90d9c421a309c2c056982c9525b.
* Ported attestation_service
* Ported duties_service
* Ported fork_service
* More ports
* Port block_service
* Minor fixes
* VC compiles
* Update TODOS
* Borrow self where possible
* Ignore aggregates that are already known.
* Unify aggregator modulo logic
* Fix typo in logs
* Refactor validator subscription logic
* Avoid reproducing selection proof
* Skip HTTP call if no subscriptions
* Rename DutyAndState -> DutyAndProof
* Tidy logs
* Print root as dbg
* Fix compile errors in tests
* Fix compile error in test
* Re-Fix attestation and duties service
* Minor fixes
Co-authored-by: Paul Hauner <paul@paulhauner.com>
* Expose json_keystore mod
* First commits on path derivation
* Progress with implementation
* More progress
* Passing intermediate test vectors
* Tidy, add comments
* Add DerivedKey structs
* Move key derivation into own crate
* Add zeroize structs
* Return error for empty seed
* Add tests
* Tidy
* First commits on path derivation
* Progress with implementation
* Move key derivation into own crate
* Start defining JSON wallet
* Add progress
* Split out encrypt/decrypt
* First commits on path derivation
* Progress with implementation
* More progress
* Passing intermediate test vectors
* Tidy, add comments
* Add DerivedKey structs
* Move key derivation into own crate
* Add zeroize structs
* Return error for empty seed
* Add tests
* Tidy
* Add progress
* Replace some password usage with slice
* First commits on path derivation
* Progress with implementation
* More progress
* Passing intermediate test vectors
* Tidy, add comments
* Add DerivedKey structs
* Move key derivation into own crate
* Add zeroize structs
* Return error for empty seed
* Add tests
* Tidy
* Add progress
* Expose PlainText struct
* First commits on path derivation
* Progress with implementation
* More progress
* Passing intermediate test vectors
* Tidy, add comments
* Add DerivedKey structs
* Move key derivation into own crate
* Add zeroize structs
* Return error for empty seed
* Add tests
* Tidy
* Add builder
* Expose consts, remove Password
* Minor progress
* Expose SALT_SIZE
* First compiling version
* Add test vectors
* Network crate update to stable futures
* Move dbg assert statement
* Port account_manager to stable futures (#1121)
* Port account_manager to stable futures
* Run async fns in tokio environment
* Port rest_api crate to stable futures (#1118)
* Port rest_api lib to stable futures
* Reduce tokio features
* Update notifier to stable futures
* Builder update
* Further updates
* Add mnemonic, tidy
* Convert self referential async functions
* Tidy
* Add testing
* Add first attempt at validator_dir
* Present pubkey field
* stable futures fixes (#1124)
* Fix eth1 update functions
* Fix genesis and client
* Fix beacon node lib
* Return appropriate runtimes from environment
* Fix test rig
* Refactor eth1 service update
* Upgrade simulator to stable futures
* Lighthouse compiles on stable futures
* Add first pass of wallet manager
* Progress with CLI
* Remove println debugging statement
* Tidy output
* Tidy 600 perms
* Update libp2p service, start rpc test upgrade
* Add validator creation flow
* Update network crate for new libp2p
* Start tidying, adding comments
* Update tokio::codec to futures_codec (#1128)
* Further work towards RPC corrections
* Correct http timeout and network service select
* Add wallet mgr testing
* Shift LockedWallet into own file
* Add comments to fs
* Start integration into VC
* Use tokio runtime for libp2p
* Revert "Update tokio::codec to futures_codec (#1128)"
This reverts commit e57aea924acf5cbabdcea18895ac07e38a425ed7.
* Upgrade RPC libp2p tests
* Upgrade secio fallback test
* Add lcli keypair upgrade command
* Upgrade gossipsub examples
* Clean up RPC protocol
* Test fixes (#1133)
* Correct websocket timeout and run on os thread
* Fix network test
* Add --secrets-dir to VC
* Remove --legacy-keys from VC
* Clean up PR
* Correct tokio tcp move attestation service tests
* Upgrade attestation service tests
* Fix sim
* Correct network test
* Correct genesis test
* Start docs
* Add progress for validator generation
* Tidy error messages
* Test corrections
* Log info when block is received
* Modify logs and update attester service events
* Stable futures: fixes to vc, eth1 and account manager (#1142)
* Add local testnet scripts
* Remove whiteblock script
* Rename local testnet script
* Move spawns onto handle
* Fix VC panic
* Initial fix to block production issue
* Tidy block producer fix
* Tidy further
* Add local testnet clean script
* Run cargo fmt
* Tidy duties service
* Tidy fork service
* Tidy ForkService
* Tidy AttestationService
* Tidy notifier
* Ensure await is not suppressed in eth1
* Ensure await is not suppressed in account_manager
* Use .ok() instead of .unwrap_or(())
* RPC decoding test for proto
* Update discv5 and eth2-libp2p deps
* Run cargo fmt
* Pre-build keystores for sim
* Fix lcli double runtime issue (#1144)
* Handle stream termination and dialing peer errors
* Correct peer_info variant types
* Add progress on new deposit flow
* Remove unnecessary warnings
* Handle subnet unsubscription removal and improve logigng
* Add logs around ping
* Upgrade discv5 and improve logging
* Handle peer connection status for multiple connections
* Improve network service logging
* Add more incomplete progress
* Improve logging around peer manager
* Upgrade swarm poll centralise peer management
* Identify clients on error
* Fix `remove_peer` in sync (#1150)
* remove_peer removes from all chains
* Remove logs
* Fix early return from loop
* Improved logging, fix panic
* Partially correct tests
* Add deposit command
* Remove old validator directory
* Start adding AM tests
* Stable futures: Vc sync (#1149)
* Improve syncing heuristic
* Add comments
* Use safer method for tolerance
* Fix tests
* Binary testing progress
* Progress with CLI tests
* Use constants for flags
* More account manager testing
* Improve CLI tests
* Move upgrade-legacy-keypairs into account man
* Use rayon for VC key generation
* Add comments to `validator_dir`
* Add testing to validator_dir
* Add fix to eth1-sim
* Check errors in eth1-sim
* Fix mutability issue
* Ensure password file ends in .pass
* Add more tests to wallet manager
* Tidy deposit
* Tidy account manager
* Tidy account manager
* Remove panic
* Generate keypairs earlier in sim
* Tidy eth1-sime
* Try to fix eth1 sim
* Address review comments
* Fix typo in CLI command
* Update docs
* Disable eth1 sim
* Remove eth1 sim completely
Co-authored-by: Age Manning <Age@AgeManning.com>
Co-authored-by: pawanjay176 <pawandhananjay@gmail.com>
2020-05-18 09:01:45 +00:00
|
|
|
"validator_dir",
|
2021-03-30 05:17:58 +00:00
|
|
|
"web3",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "leveldb"
|
2020-09-21 11:53:53 +00:00
|
|
|
version = "0.8.6"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2020-09-21 11:53:53 +00:00
|
|
|
checksum = "32651baaaa5596b3a6e0bee625e73fd0334c167db0ea5ac68750ef9a629a2d6a"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2020-05-10 09:56:31 +00:00
|
|
|
"db-key",
|
|
|
|
"leveldb-sys",
|
|
|
|
"libc",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "leveldb-sys"
|
2021-08-17 01:00:24 +00:00
|
|
|
version = "2.0.9"
|
2020-09-21 11:53:53 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-08-17 01:00:24 +00:00
|
|
|
checksum = "9dd94a4d0242a437e5e41a27c782b69a624469ca1c4d1e5cb3c337f74a8031d4"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2020-06-06 06:39:42 +00:00
|
|
|
"cmake",
|
2021-08-17 01:00:24 +00:00
|
|
|
"ffi-opaque",
|
2020-05-10 09:56:31 +00:00
|
|
|
"libc",
|
2020-06-06 06:39:42 +00:00
|
|
|
"num_cpus",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "libc"
|
2021-12-22 06:17:14 +00:00
|
|
|
version = "0.2.112"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-12-22 06:17:14 +00:00
|
|
|
checksum = "1b03d17f364a3a042d5e5d46b053bbbf82c92c9430c592dd4c064dc6ee997125"
|
2019-12-09 11:39:44 +00:00
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "libflate"
|
2021-09-16 04:45:05 +00:00
|
|
|
version = "1.1.1"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-09-16 04:45:05 +00:00
|
|
|
checksum = "16364af76ebb39b5869bb32c81fa93573267cd8c62bb3474e28d78fac3fb141e"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2020-05-10 09:56:31 +00:00
|
|
|
"adler32",
|
|
|
|
"crc32fast",
|
2020-05-17 11:16:48 +00:00
|
|
|
"libflate_lz77",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
2020-05-17 11:16:48 +00:00
|
|
|
[[package]]
|
|
|
|
name = "libflate_lz77"
|
2021-05-04 00:44:05 +00:00
|
|
|
version = "1.1.0"
|
2020-05-17 11:16:48 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-05-04 00:44:05 +00:00
|
|
|
checksum = "39a734c0493409afcd49deee13c006a04e3586b9761a03543c6272c9c51f2f5a"
|
|
|
|
dependencies = [
|
|
|
|
"rle-decode-fast",
|
|
|
|
]
|
2020-05-17 11:16:48 +00:00
|
|
|
|
2021-12-21 08:23:17 +00:00
|
|
|
[[package]]
|
|
|
|
name = "libloading"
|
|
|
|
version = "0.7.2"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
checksum = "afe203d669ec979b7128619bae5a63b7b42e9203c1b29146079ee05e2f604b52"
|
|
|
|
dependencies = [
|
|
|
|
"cfg-if",
|
|
|
|
"winapi",
|
|
|
|
]
|
|
|
|
|
2020-05-11 08:43:43 +00:00
|
|
|
[[package]]
|
|
|
|
name = "libm"
|
|
|
|
version = "0.2.1"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
checksum = "c7d73b3f436185384286bd8098d17ec07c9a7d2388a6599f824d8502b529702a"
|
|
|
|
|
2021-12-21 08:23:17 +00:00
|
|
|
[[package]]
|
|
|
|
name = "libmdbx"
|
2022-01-11 01:35:56 +00:00
|
|
|
version = "0.1.1"
|
2021-12-21 08:23:17 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2022-01-11 01:35:56 +00:00
|
|
|
checksum = "c9a8a3723c12c5caa3f2a456b645063d1d8ffb1562895fa43746a999d205b0c6"
|
2021-12-21 08:23:17 +00:00
|
|
|
dependencies = [
|
|
|
|
"bitflags",
|
|
|
|
"byteorder",
|
|
|
|
"derive_more",
|
|
|
|
"indexmap",
|
|
|
|
"libc",
|
|
|
|
"mdbx-sys",
|
|
|
|
"parking_lot",
|
|
|
|
"thiserror",
|
|
|
|
]
|
|
|
|
|
2019-12-09 11:39:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "libp2p"
|
2021-12-22 06:17:14 +00:00
|
|
|
version = "0.42.0"
|
|
|
|
source = "git+https://github.com/libp2p/rust-libp2p?rev=17861d9cac121f7e448585a7f052d5eab4618826#17861d9cac121f7e448585a7f052d5eab4618826"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2020-07-29 03:40:22 +00:00
|
|
|
"atomic",
|
2021-10-29 01:59:29 +00:00
|
|
|
"bytes",
|
2021-07-09 03:20:24 +00:00
|
|
|
"futures",
|
2021-11-18 05:08:42 +00:00
|
|
|
"futures-timer",
|
2022-01-14 05:42:47 +00:00
|
|
|
"getrandom 0.2.4",
|
2021-11-18 05:08:42 +00:00
|
|
|
"instant",
|
2020-05-10 09:56:31 +00:00
|
|
|
"lazy_static",
|
2021-12-22 06:17:14 +00:00
|
|
|
"libp2p-core 0.31.0",
|
2020-05-10 09:56:31 +00:00
|
|
|
"libp2p-dns",
|
|
|
|
"libp2p-gossipsub",
|
|
|
|
"libp2p-identify",
|
2021-10-29 01:59:29 +00:00
|
|
|
"libp2p-metrics",
|
2020-05-10 09:56:31 +00:00
|
|
|
"libp2p-mplex",
|
|
|
|
"libp2p-noise",
|
2021-12-20 23:45:21 +00:00
|
|
|
"libp2p-plaintext",
|
2020-05-10 09:56:31 +00:00
|
|
|
"libp2p-swarm",
|
2021-03-02 05:59:49 +00:00
|
|
|
"libp2p-swarm-derive",
|
2020-06-29 10:25:42 +00:00
|
|
|
"libp2p-tcp",
|
2020-05-10 09:56:31 +00:00
|
|
|
"libp2p-websocket",
|
2020-11-06 04:14:14 +00:00
|
|
|
"libp2p-yamux",
|
Update to Libp2p to 39.1 (#2448)
* Adjust beacon node timeouts for validator client HTTP requests (#2352)
Resolves #2313
Provide `BeaconNodeHttpClient` with a dedicated `Timeouts` struct.
This will allow granular adjustment of the timeout duration for different calls made from the VC to the BN. These can either be a constant value, or as a ratio of the slot duration.
Improve timeout performance by using these adjusted timeout duration's only whenever a fallback endpoint is available.
Add a CLI flag called `use-long-timeouts` to revert to the old behavior.
Additionally set the default `BeaconNodeHttpClient` timeouts to the be the slot duration of the network, rather than a constant 12 seconds. This will allow it to adjust to different network specifications.
Co-authored-by: Paul Hauner <paul@paulhauner.com>
* Use read_recursive locks in database (#2417)
Closes #2245
Replace all calls to `RwLock::read` in the `store` crate with `RwLock::read_recursive`.
* Unfortunately we can't run the deadlock detector on CI because it's pinned to an old Rust 1.51.0 nightly which cannot compile Lighthouse (one of our deps uses `ptr::addr_of!` which is too new). A fun side-project at some point might be to update the deadlock detector.
* The reason I think we haven't seen this deadlock (at all?) in practice is that _writes_ to the database's split point are quite infrequent, and a concurrent write is required to trigger the deadlock. The split point is only written when finalization advances, which is once per epoch (every ~6 minutes), and state reads are also quite sporadic. Perhaps we've just been incredibly lucky, or there's something about the timing of state reads vs database migration that protects us.
* I wrote a few small programs to demo the deadlock, and the effectiveness of the `read_recursive` fix: https://github.com/michaelsproul/relock_deadlock_mvp
* [The docs for `read_recursive`](https://docs.rs/lock_api/0.4.2/lock_api/struct.RwLock.html#method.read_recursive) warn of starvation for writers. I think in order for starvation to occur the database would have to be spammed with so many state reads that it's unable to ever clear them all and find time for a write, in which case migration of states to the freezer would cease. If an attack could be performed to trigger this starvation then it would likely trigger a deadlock in the current code, and I think ceasing migration is preferable to deadlocking in this extreme situation. In practice neither should occur due to protection from spammy peers at the network layer. Nevertheless, it would be prudent to run this change on the testnet nodes to check that it doesn't cause accidental starvation.
* Return more detail when invalid data is found in the DB during startup (#2445)
- Resolves #2444
Adds some more detail to the error message returned when the `BeaconChainBuilder` is unable to access or decode block/state objects during startup.
NA
* Use hardware acceleration for SHA256 (#2426)
Modify the SHA256 implementation in `eth2_hashing` so that it switches between `ring` and `sha2` to take advantage of [x86_64 SHA extensions](https://en.wikipedia.org/wiki/Intel_SHA_extensions). The extensions are available on modern Intel and AMD CPUs, and seem to provide a considerable speed-up: on my Ryzen 5950X it dropped state tree hashing times by about 30% from 35ms to 25ms (on Prater).
The extensions became available in the `sha2` crate [last year](https://www.reddit.com/r/rust/comments/hf2vcx/ann_rustcryptos_sha1_and_sha2_now_support/), and are not available in Ring, which uses a [pure Rust implementation of sha2](https://github.com/briansmith/ring/blob/main/src/digest/sha2.rs). Ring is faster on CPUs that lack the extensions so I've implemented a runtime switch to use `sha2` only when the extensions are available. The runtime switching seems to impose a miniscule penalty (see the benchmarks linked below).
* Start a release checklist (#2270)
NA
Add a checklist to the release draft created by CI. I know @michaelsproul was also working on this and I suspect @realbigsean also might have useful input.
NA
* Serious banning
* fmt
Co-authored-by: Mac L <mjladson@pm.me>
Co-authored-by: Paul Hauner <paul@paulhauner.com>
Co-authored-by: Michael Sproul <michael@sigmaprime.io>
2021-07-13 04:37:25 +00:00
|
|
|
"multiaddr",
|
2020-12-09 01:34:58 +00:00
|
|
|
"parking_lot",
|
2022-01-11 01:35:56 +00:00
|
|
|
"pin-project 1.0.10",
|
2021-11-18 05:08:42 +00:00
|
|
|
"rand 0.7.3",
|
2020-12-09 01:34:58 +00:00
|
|
|
"smallvec",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "libp2p-core"
|
2021-12-22 06:17:14 +00:00
|
|
|
version = "0.30.0"
|
2020-10-05 05:16:27 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-12-22 06:17:14 +00:00
|
|
|
checksum = "bef22d9bba1e8bcb7ec300073e6802943fe8abb8190431842262b5f1c30abba1"
|
2020-06-29 10:25:42 +00:00
|
|
|
dependencies = [
|
2021-06-03 01:11:33 +00:00
|
|
|
"asn1_der",
|
2021-07-05 00:54:17 +00:00
|
|
|
"bs58",
|
|
|
|
"ed25519-dalek",
|
|
|
|
"either",
|
|
|
|
"fnv",
|
2021-07-09 03:20:24 +00:00
|
|
|
"futures",
|
2021-07-05 00:54:17 +00:00
|
|
|
"futures-timer",
|
|
|
|
"lazy_static",
|
2021-12-22 06:17:14 +00:00
|
|
|
"libsecp256k1 0.7.0",
|
2021-07-05 00:54:17 +00:00
|
|
|
"log",
|
Update to Libp2p to 39.1 (#2448)
* Adjust beacon node timeouts for validator client HTTP requests (#2352)
Resolves #2313
Provide `BeaconNodeHttpClient` with a dedicated `Timeouts` struct.
This will allow granular adjustment of the timeout duration for different calls made from the VC to the BN. These can either be a constant value, or as a ratio of the slot duration.
Improve timeout performance by using these adjusted timeout duration's only whenever a fallback endpoint is available.
Add a CLI flag called `use-long-timeouts` to revert to the old behavior.
Additionally set the default `BeaconNodeHttpClient` timeouts to the be the slot duration of the network, rather than a constant 12 seconds. This will allow it to adjust to different network specifications.
Co-authored-by: Paul Hauner <paul@paulhauner.com>
* Use read_recursive locks in database (#2417)
Closes #2245
Replace all calls to `RwLock::read` in the `store` crate with `RwLock::read_recursive`.
* Unfortunately we can't run the deadlock detector on CI because it's pinned to an old Rust 1.51.0 nightly which cannot compile Lighthouse (one of our deps uses `ptr::addr_of!` which is too new). A fun side-project at some point might be to update the deadlock detector.
* The reason I think we haven't seen this deadlock (at all?) in practice is that _writes_ to the database's split point are quite infrequent, and a concurrent write is required to trigger the deadlock. The split point is only written when finalization advances, which is once per epoch (every ~6 minutes), and state reads are also quite sporadic. Perhaps we've just been incredibly lucky, or there's something about the timing of state reads vs database migration that protects us.
* I wrote a few small programs to demo the deadlock, and the effectiveness of the `read_recursive` fix: https://github.com/michaelsproul/relock_deadlock_mvp
* [The docs for `read_recursive`](https://docs.rs/lock_api/0.4.2/lock_api/struct.RwLock.html#method.read_recursive) warn of starvation for writers. I think in order for starvation to occur the database would have to be spammed with so many state reads that it's unable to ever clear them all and find time for a write, in which case migration of states to the freezer would cease. If an attack could be performed to trigger this starvation then it would likely trigger a deadlock in the current code, and I think ceasing migration is preferable to deadlocking in this extreme situation. In practice neither should occur due to protection from spammy peers at the network layer. Nevertheless, it would be prudent to run this change on the testnet nodes to check that it doesn't cause accidental starvation.
* Return more detail when invalid data is found in the DB during startup (#2445)
- Resolves #2444
Adds some more detail to the error message returned when the `BeaconChainBuilder` is unable to access or decode block/state objects during startup.
NA
* Use hardware acceleration for SHA256 (#2426)
Modify the SHA256 implementation in `eth2_hashing` so that it switches between `ring` and `sha2` to take advantage of [x86_64 SHA extensions](https://en.wikipedia.org/wiki/Intel_SHA_extensions). The extensions are available on modern Intel and AMD CPUs, and seem to provide a considerable speed-up: on my Ryzen 5950X it dropped state tree hashing times by about 30% from 35ms to 25ms (on Prater).
The extensions became available in the `sha2` crate [last year](https://www.reddit.com/r/rust/comments/hf2vcx/ann_rustcryptos_sha1_and_sha2_now_support/), and are not available in Ring, which uses a [pure Rust implementation of sha2](https://github.com/briansmith/ring/blob/main/src/digest/sha2.rs). Ring is faster on CPUs that lack the extensions so I've implemented a runtime switch to use `sha2` only when the extensions are available. The runtime switching seems to impose a miniscule penalty (see the benchmarks linked below).
* Start a release checklist (#2270)
NA
Add a checklist to the release draft created by CI. I know @michaelsproul was also working on this and I suspect @realbigsean also might have useful input.
NA
* Serious banning
* fmt
Co-authored-by: Mac L <mjladson@pm.me>
Co-authored-by: Paul Hauner <paul@paulhauner.com>
Co-authored-by: Michael Sproul <michael@sigmaprime.io>
2021-07-13 04:37:25 +00:00
|
|
|
"multiaddr",
|
|
|
|
"multihash",
|
2021-12-22 06:17:14 +00:00
|
|
|
"multistream-select 0.10.4",
|
2021-07-05 00:54:17 +00:00
|
|
|
"parking_lot",
|
2022-01-11 01:35:56 +00:00
|
|
|
"pin-project 1.0.10",
|
2021-12-22 06:17:14 +00:00
|
|
|
"prost",
|
|
|
|
"prost-build",
|
|
|
|
"rand 0.8.4",
|
2020-06-29 10:25:42 +00:00
|
|
|
"ring",
|
|
|
|
"rw-stream-sink",
|
2022-01-11 01:35:56 +00:00
|
|
|
"sha2 0.9.9",
|
2020-12-09 01:34:58 +00:00
|
|
|
"smallvec",
|
2020-06-29 10:25:42 +00:00
|
|
|
"thiserror",
|
2021-11-18 05:08:42 +00:00
|
|
|
"unsigned-varint 0.7.1",
|
2020-06-29 10:25:42 +00:00
|
|
|
"void",
|
|
|
|
"zeroize",
|
|
|
|
]
|
|
|
|
|
2021-07-15 00:53:59 +00:00
|
|
|
[[package]]
|
|
|
|
name = "libp2p-core"
|
2021-12-22 06:17:14 +00:00
|
|
|
version = "0.31.0"
|
|
|
|
source = "git+https://github.com/libp2p/rust-libp2p?rev=17861d9cac121f7e448585a7f052d5eab4618826#17861d9cac121f7e448585a7f052d5eab4618826"
|
2021-07-15 00:53:59 +00:00
|
|
|
dependencies = [
|
|
|
|
"asn1_der",
|
|
|
|
"bs58",
|
|
|
|
"ed25519-dalek",
|
|
|
|
"either",
|
|
|
|
"fnv",
|
|
|
|
"futures",
|
|
|
|
"futures-timer",
|
2021-12-22 06:17:14 +00:00
|
|
|
"instant",
|
2021-07-15 00:53:59 +00:00
|
|
|
"lazy_static",
|
2021-10-29 01:59:29 +00:00
|
|
|
"libsecp256k1 0.7.0",
|
2021-07-15 00:53:59 +00:00
|
|
|
"log",
|
|
|
|
"multiaddr",
|
|
|
|
"multihash",
|
2021-12-22 06:17:14 +00:00
|
|
|
"multistream-select 0.11.0",
|
|
|
|
"p256",
|
2021-07-15 00:53:59 +00:00
|
|
|
"parking_lot",
|
2022-01-11 01:35:56 +00:00
|
|
|
"pin-project 1.0.10",
|
2021-12-22 06:17:14 +00:00
|
|
|
"prost",
|
|
|
|
"prost-build",
|
2021-10-29 01:59:29 +00:00
|
|
|
"rand 0.8.4",
|
2021-07-15 00:53:59 +00:00
|
|
|
"ring",
|
|
|
|
"rw-stream-sink",
|
2022-01-11 01:35:56 +00:00
|
|
|
"sha2 0.10.1",
|
2021-07-15 00:53:59 +00:00
|
|
|
"smallvec",
|
|
|
|
"thiserror",
|
2021-11-18 05:08:42 +00:00
|
|
|
"unsigned-varint 0.7.1",
|
2021-07-15 00:53:59 +00:00
|
|
|
"void",
|
|
|
|
"zeroize",
|
|
|
|
]
|
|
|
|
|
2019-12-09 11:39:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "libp2p-dns"
|
2021-12-22 06:17:14 +00:00
|
|
|
version = "0.31.0"
|
|
|
|
source = "git+https://github.com/libp2p/rust-libp2p?rev=17861d9cac121f7e448585a7f052d5eab4618826#17861d9cac121f7e448585a7f052d5eab4618826"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2021-07-09 03:20:24 +00:00
|
|
|
"futures",
|
2021-12-22 06:17:14 +00:00
|
|
|
"libp2p-core 0.31.0",
|
2020-12-09 01:34:58 +00:00
|
|
|
"log",
|
2021-06-03 01:11:33 +00:00
|
|
|
"smallvec",
|
|
|
|
"trust-dns-resolver",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "libp2p-gossipsub"
|
2021-12-22 06:17:14 +00:00
|
|
|
version = "0.35.0"
|
|
|
|
source = "git+https://github.com/libp2p/rust-libp2p?rev=17861d9cac121f7e448585a7f052d5eab4618826#17861d9cac121f7e448585a7f052d5eab4618826"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2021-02-10 23:29:49 +00:00
|
|
|
"asynchronous-codec",
|
2020-11-06 04:14:14 +00:00
|
|
|
"base64 0.13.0",
|
2020-05-17 11:16:48 +00:00
|
|
|
"byteorder",
|
2021-10-29 01:59:29 +00:00
|
|
|
"bytes",
|
2020-05-10 09:56:31 +00:00
|
|
|
"fnv",
|
2021-07-09 03:20:24 +00:00
|
|
|
"futures",
|
2021-11-18 05:08:42 +00:00
|
|
|
"futures-timer",
|
2020-07-29 03:40:22 +00:00
|
|
|
"hex_fmt",
|
2021-11-18 05:08:42 +00:00
|
|
|
"instant",
|
2021-12-22 06:17:14 +00:00
|
|
|
"libp2p-core 0.31.0",
|
2020-05-10 09:56:31 +00:00
|
|
|
"libp2p-swarm",
|
2020-12-09 01:34:58 +00:00
|
|
|
"log",
|
2021-11-18 05:08:42 +00:00
|
|
|
"open-metrics-client",
|
2022-01-11 01:35:56 +00:00
|
|
|
"pin-project 1.0.10",
|
2021-12-22 06:17:14 +00:00
|
|
|
"prost",
|
|
|
|
"prost-build",
|
2020-05-10 09:56:31 +00:00
|
|
|
"rand 0.7.3",
|
2020-12-23 07:53:36 +00:00
|
|
|
"regex",
|
2022-01-11 01:35:56 +00:00
|
|
|
"sha2 0.10.1",
|
2020-12-09 01:34:58 +00:00
|
|
|
"smallvec",
|
2021-11-18 05:08:42 +00:00
|
|
|
"unsigned-varint 0.7.1",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
2020-05-17 11:16:48 +00:00
|
|
|
name = "libp2p-identify"
|
2021-12-22 06:17:14 +00:00
|
|
|
version = "0.33.0"
|
|
|
|
source = "git+https://github.com/libp2p/rust-libp2p?rev=17861d9cac121f7e448585a7f052d5eab4618826#17861d9cac121f7e448585a7f052d5eab4618826"
|
2021-07-15 00:53:59 +00:00
|
|
|
dependencies = [
|
|
|
|
"futures",
|
2021-11-18 05:08:42 +00:00
|
|
|
"futures-timer",
|
2021-12-22 06:17:14 +00:00
|
|
|
"libp2p-core 0.31.0",
|
2021-07-15 00:53:59 +00:00
|
|
|
"libp2p-swarm",
|
|
|
|
"log",
|
2021-10-29 01:59:29 +00:00
|
|
|
"lru",
|
2021-12-22 06:17:14 +00:00
|
|
|
"prost",
|
|
|
|
"prost-build",
|
2021-10-29 01:59:29 +00:00
|
|
|
"smallvec",
|
2021-07-15 00:53:59 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
2021-10-29 01:59:29 +00:00
|
|
|
name = "libp2p-metrics"
|
2021-12-22 06:17:14 +00:00
|
|
|
version = "0.3.0"
|
|
|
|
source = "git+https://github.com/libp2p/rust-libp2p?rev=17861d9cac121f7e448585a7f052d5eab4618826#17861d9cac121f7e448585a7f052d5eab4618826"
|
2021-07-15 00:53:59 +00:00
|
|
|
dependencies = [
|
2021-12-22 06:17:14 +00:00
|
|
|
"libp2p-core 0.31.0",
|
2021-11-18 05:08:42 +00:00
|
|
|
"libp2p-gossipsub",
|
2021-10-29 01:59:29 +00:00
|
|
|
"libp2p-identify",
|
|
|
|
"libp2p-swarm",
|
|
|
|
"open-metrics-client",
|
2021-07-15 00:53:59 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
2021-10-29 01:59:29 +00:00
|
|
|
name = "libp2p-mplex"
|
2021-12-22 06:17:14 +00:00
|
|
|
version = "0.31.0"
|
|
|
|
source = "git+https://github.com/libp2p/rust-libp2p?rev=17861d9cac121f7e448585a7f052d5eab4618826#17861d9cac121f7e448585a7f052d5eab4618826"
|
2021-07-15 00:53:59 +00:00
|
|
|
dependencies = [
|
|
|
|
"asynchronous-codec",
|
2021-10-29 01:59:29 +00:00
|
|
|
"bytes",
|
2021-07-15 00:53:59 +00:00
|
|
|
"futures",
|
2021-12-22 06:17:14 +00:00
|
|
|
"libp2p-core 0.31.0",
|
2021-07-15 00:53:59 +00:00
|
|
|
"log",
|
2021-10-29 01:59:29 +00:00
|
|
|
"nohash-hasher",
|
|
|
|
"parking_lot",
|
2021-07-15 00:53:59 +00:00
|
|
|
"rand 0.7.3",
|
|
|
|
"smallvec",
|
2021-11-18 05:08:42 +00:00
|
|
|
"unsigned-varint 0.7.1",
|
2021-07-15 00:53:59 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
2021-10-29 01:59:29 +00:00
|
|
|
name = "libp2p-noise"
|
2021-12-22 06:17:14 +00:00
|
|
|
version = "0.34.0"
|
|
|
|
source = "git+https://github.com/libp2p/rust-libp2p?rev=17861d9cac121f7e448585a7f052d5eab4618826#17861d9cac121f7e448585a7f052d5eab4618826"
|
2021-07-15 00:53:59 +00:00
|
|
|
dependencies = [
|
2021-10-29 01:59:29 +00:00
|
|
|
"bytes",
|
|
|
|
"curve25519-dalek",
|
2021-07-15 00:53:59 +00:00
|
|
|
"futures",
|
2021-10-29 01:59:29 +00:00
|
|
|
"lazy_static",
|
2021-12-22 06:17:14 +00:00
|
|
|
"libp2p-core 0.31.0",
|
2021-07-15 00:53:59 +00:00
|
|
|
"log",
|
2021-12-22 06:17:14 +00:00
|
|
|
"prost",
|
|
|
|
"prost-build",
|
2021-10-29 01:59:29 +00:00
|
|
|
"rand 0.8.4",
|
2022-01-11 01:35:56 +00:00
|
|
|
"sha2 0.10.1",
|
2021-10-29 01:59:29 +00:00
|
|
|
"snow",
|
|
|
|
"static_assertions",
|
|
|
|
"x25519-dalek",
|
|
|
|
"zeroize",
|
2021-07-15 00:53:59 +00:00
|
|
|
]
|
|
|
|
|
2021-12-20 23:45:21 +00:00
|
|
|
[[package]]
|
|
|
|
name = "libp2p-plaintext"
|
2021-12-22 06:17:14 +00:00
|
|
|
version = "0.31.0"
|
|
|
|
source = "git+https://github.com/libp2p/rust-libp2p?rev=17861d9cac121f7e448585a7f052d5eab4618826#17861d9cac121f7e448585a7f052d5eab4618826"
|
2021-12-20 23:45:21 +00:00
|
|
|
dependencies = [
|
|
|
|
"asynchronous-codec",
|
|
|
|
"bytes",
|
|
|
|
"futures",
|
2021-12-22 06:17:14 +00:00
|
|
|
"libp2p-core 0.31.0",
|
2021-12-20 23:45:21 +00:00
|
|
|
"log",
|
2021-12-22 06:17:14 +00:00
|
|
|
"prost",
|
|
|
|
"prost-build",
|
2021-12-20 23:45:21 +00:00
|
|
|
"unsigned-varint 0.7.1",
|
|
|
|
"void",
|
|
|
|
]
|
|
|
|
|
2019-12-09 11:39:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "libp2p-swarm"
|
2021-12-22 06:17:14 +00:00
|
|
|
version = "0.33.0"
|
|
|
|
source = "git+https://github.com/libp2p/rust-libp2p?rev=17861d9cac121f7e448585a7f052d5eab4618826#17861d9cac121f7e448585a7f052d5eab4618826"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2020-08-30 13:06:50 +00:00
|
|
|
"either",
|
2021-07-09 03:20:24 +00:00
|
|
|
"futures",
|
2021-11-18 05:08:42 +00:00
|
|
|
"futures-timer",
|
|
|
|
"instant",
|
2021-12-22 06:17:14 +00:00
|
|
|
"libp2p-core 0.31.0",
|
2020-12-09 01:34:58 +00:00
|
|
|
"log",
|
2020-05-17 11:16:48 +00:00
|
|
|
"rand 0.7.3",
|
2020-12-09 01:34:58 +00:00
|
|
|
"smallvec",
|
2020-05-10 09:56:31 +00:00
|
|
|
"void",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
2021-03-02 05:59:49 +00:00
|
|
|
[[package]]
|
|
|
|
name = "libp2p-swarm-derive"
|
2021-12-22 06:17:14 +00:00
|
|
|
version = "0.26.1"
|
|
|
|
source = "git+https://github.com/libp2p/rust-libp2p?rev=17861d9cac121f7e448585a7f052d5eab4618826#17861d9cac121f7e448585a7f052d5eab4618826"
|
2021-03-02 05:59:49 +00:00
|
|
|
dependencies = [
|
|
|
|
"quote",
|
|
|
|
"syn",
|
|
|
|
]
|
|
|
|
|
2019-12-09 11:39:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "libp2p-tcp"
|
2021-12-22 06:17:14 +00:00
|
|
|
version = "0.31.0"
|
|
|
|
source = "git+https://github.com/libp2p/rust-libp2p?rev=17861d9cac121f7e448585a7f052d5eab4618826#17861d9cac121f7e448585a7f052d5eab4618826"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2021-07-09 03:20:24 +00:00
|
|
|
"futures",
|
2020-05-17 11:16:48 +00:00
|
|
|
"futures-timer",
|
2021-12-22 06:17:14 +00:00
|
|
|
"if-addrs 0.7.0",
|
2020-05-10 09:56:31 +00:00
|
|
|
"ipnet",
|
2021-02-10 23:29:49 +00:00
|
|
|
"libc",
|
2021-12-22 06:17:14 +00:00
|
|
|
"libp2p-core 0.31.0",
|
2020-12-09 01:34:58 +00:00
|
|
|
"log",
|
2021-09-16 04:45:05 +00:00
|
|
|
"socket2 0.4.2",
|
2021-08-17 01:00:24 +00:00
|
|
|
"tokio",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "libp2p-websocket"
|
2021-12-22 06:17:14 +00:00
|
|
|
version = "0.33.0"
|
|
|
|
source = "git+https://github.com/libp2p/rust-libp2p?rev=17861d9cac121f7e448585a7f052d5eab4618826#17861d9cac121f7e448585a7f052d5eab4618826"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2020-05-17 11:16:48 +00:00
|
|
|
"either",
|
2021-07-09 03:20:24 +00:00
|
|
|
"futures",
|
2021-02-10 23:29:49 +00:00
|
|
|
"futures-rustls",
|
2021-12-22 06:17:14 +00:00
|
|
|
"libp2p-core 0.31.0",
|
2020-12-09 01:34:58 +00:00
|
|
|
"log",
|
2020-05-17 11:16:48 +00:00
|
|
|
"quicksink",
|
2020-05-10 09:56:31 +00:00
|
|
|
"rw-stream-sink",
|
2021-11-18 05:08:42 +00:00
|
|
|
"soketto 0.7.1",
|
2020-12-09 01:34:58 +00:00
|
|
|
"url",
|
2020-10-05 05:16:27 +00:00
|
|
|
"webpki-roots",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
2020-11-06 04:14:14 +00:00
|
|
|
[[package]]
|
|
|
|
name = "libp2p-yamux"
|
2021-12-22 06:17:14 +00:00
|
|
|
version = "0.35.0"
|
|
|
|
source = "git+https://github.com/libp2p/rust-libp2p?rev=17861d9cac121f7e448585a7f052d5eab4618826#17861d9cac121f7e448585a7f052d5eab4618826"
|
2020-11-06 04:14:14 +00:00
|
|
|
dependencies = [
|
2021-07-09 03:20:24 +00:00
|
|
|
"futures",
|
2021-12-22 06:17:14 +00:00
|
|
|
"libp2p-core 0.31.0",
|
2020-12-09 01:34:58 +00:00
|
|
|
"parking_lot",
|
2020-11-06 04:14:14 +00:00
|
|
|
"thiserror",
|
|
|
|
"yamux",
|
|
|
|
]
|
|
|
|
|
2021-08-12 01:59:20 +00:00
|
|
|
[[package]]
|
|
|
|
name = "libsecp256k1"
|
|
|
|
version = "0.6.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
checksum = "c9d220bc1feda2ac231cb78c3d26f27676b8cf82c96971f7aeef3d0cf2797c73"
|
|
|
|
dependencies = [
|
|
|
|
"arrayref",
|
|
|
|
"base64 0.12.3",
|
2021-12-22 06:17:14 +00:00
|
|
|
"digest 0.9.0",
|
2021-08-12 01:59:20 +00:00
|
|
|
"hmac-drbg",
|
2021-10-29 01:59:29 +00:00
|
|
|
"libsecp256k1-core 0.2.2",
|
|
|
|
"libsecp256k1-gen-ecmult 0.2.1",
|
|
|
|
"libsecp256k1-gen-genmult 0.2.1",
|
2021-08-12 01:59:20 +00:00
|
|
|
"rand 0.7.3",
|
|
|
|
"serde",
|
2022-01-11 01:35:56 +00:00
|
|
|
"sha2 0.9.9",
|
2021-08-12 01:59:20 +00:00
|
|
|
"typenum",
|
|
|
|
]
|
|
|
|
|
2021-10-29 01:59:29 +00:00
|
|
|
[[package]]
|
|
|
|
name = "libsecp256k1"
|
|
|
|
version = "0.7.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
checksum = "b0452aac8bab02242429380e9b2f94ea20cea2b37e2c1777a1358799bbe97f37"
|
|
|
|
dependencies = [
|
|
|
|
"arrayref",
|
|
|
|
"base64 0.13.0",
|
2021-12-22 06:17:14 +00:00
|
|
|
"digest 0.9.0",
|
2021-10-29 01:59:29 +00:00
|
|
|
"hmac-drbg",
|
|
|
|
"libsecp256k1-core 0.3.0",
|
|
|
|
"libsecp256k1-gen-ecmult 0.3.0",
|
|
|
|
"libsecp256k1-gen-genmult 0.3.0",
|
|
|
|
"rand 0.8.4",
|
|
|
|
"serde",
|
2022-01-11 01:35:56 +00:00
|
|
|
"sha2 0.9.9",
|
2021-10-29 01:59:29 +00:00
|
|
|
"typenum",
|
|
|
|
]
|
|
|
|
|
2021-07-14 05:24:10 +00:00
|
|
|
[[package]]
|
|
|
|
name = "libsecp256k1-core"
|
2021-08-12 01:59:20 +00:00
|
|
|
version = "0.2.2"
|
2021-07-14 05:24:10 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-08-12 01:59:20 +00:00
|
|
|
checksum = "d0f6ab710cec28cef759c5f18671a27dae2a5f952cdaaee1d8e2908cb2478a80"
|
2021-07-14 05:24:10 +00:00
|
|
|
dependencies = [
|
|
|
|
"crunchy",
|
2021-12-22 06:17:14 +00:00
|
|
|
"digest 0.9.0",
|
2021-07-13 00:48:33 +00:00
|
|
|
"subtle",
|
2021-07-14 05:24:10 +00:00
|
|
|
]
|
|
|
|
|
2021-10-29 01:59:29 +00:00
|
|
|
[[package]]
|
|
|
|
name = "libsecp256k1-core"
|
|
|
|
version = "0.3.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
checksum = "5be9b9bb642d8522a44d533eab56c16c738301965504753b03ad1de3425d5451"
|
|
|
|
dependencies = [
|
|
|
|
"crunchy",
|
2021-12-22 06:17:14 +00:00
|
|
|
"digest 0.9.0",
|
2021-10-29 01:59:29 +00:00
|
|
|
"subtle",
|
|
|
|
]
|
|
|
|
|
2021-07-14 05:24:10 +00:00
|
|
|
[[package]]
|
|
|
|
name = "libsecp256k1-gen-ecmult"
|
2021-08-12 01:59:20 +00:00
|
|
|
version = "0.2.1"
|
2021-07-14 05:24:10 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-08-12 01:59:20 +00:00
|
|
|
checksum = "ccab96b584d38fac86a83f07e659f0deafd0253dc096dab5a36d53efe653c5c3"
|
2021-07-14 05:24:10 +00:00
|
|
|
dependencies = [
|
2021-10-29 01:59:29 +00:00
|
|
|
"libsecp256k1-core 0.2.2",
|
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "libsecp256k1-gen-ecmult"
|
|
|
|
version = "0.3.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
checksum = "3038c808c55c87e8a172643a7d87187fc6c4174468159cb3090659d55bcb4809"
|
|
|
|
dependencies = [
|
|
|
|
"libsecp256k1-core 0.3.0",
|
2021-07-14 05:24:10 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "libsecp256k1-gen-genmult"
|
2021-08-12 01:59:20 +00:00
|
|
|
version = "0.2.1"
|
2021-07-14 05:24:10 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-08-12 01:59:20 +00:00
|
|
|
checksum = "67abfe149395e3aa1c48a2beb32b068e2334402df8181f818d3aee2b304c4f5d"
|
2021-07-14 05:24:10 +00:00
|
|
|
dependencies = [
|
2021-10-29 01:59:29 +00:00
|
|
|
"libsecp256k1-core 0.2.2",
|
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "libsecp256k1-gen-genmult"
|
|
|
|
version = "0.3.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
checksum = "3db8d6ba2cec9eacc40e6e8ccc98931840301f1006e95647ceb2dd5c3aa06f7c"
|
|
|
|
dependencies = [
|
|
|
|
"libsecp256k1-core 0.3.0",
|
2021-07-14 05:24:10 +00:00
|
|
|
]
|
|
|
|
|
2020-05-18 06:25:16 +00:00
|
|
|
[[package]]
|
|
|
|
name = "libsqlite3-sys"
|
2021-08-17 01:00:24 +00:00
|
|
|
version = "0.22.2"
|
2020-05-18 06:25:16 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-08-17 01:00:24 +00:00
|
|
|
checksum = "290b64917f8b0cb885d9de0f9959fe1f775d7fa12f1da2db9001c1c8ab60f89d"
|
2020-05-18 06:25:16 +00:00
|
|
|
dependencies = [
|
|
|
|
"cc",
|
|
|
|
"pkg-config",
|
|
|
|
"vcpkg",
|
|
|
|
]
|
|
|
|
|
2019-12-09 11:39:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "libz-sys"
|
2021-05-04 00:44:05 +00:00
|
|
|
version = "1.1.3"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-05-04 00:44:05 +00:00
|
|
|
checksum = "de5435b8549c16d423ed0c03dbaafe57cf6c3344744f1242520d59c9d8ecec66"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2020-05-10 09:56:31 +00:00
|
|
|
"cc",
|
|
|
|
"pkg-config",
|
|
|
|
"vcpkg",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "lighthouse"
|
2022-01-20 03:39:41 +00:00
|
|
|
version = "2.1.0"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2020-05-10 09:56:31 +00:00
|
|
|
"account_manager",
|
2020-07-29 04:32:50 +00:00
|
|
|
"account_utils",
|
2020-05-10 09:56:31 +00:00
|
|
|
"beacon_node",
|
2020-07-31 05:00:39 +00:00
|
|
|
"bls",
|
2020-06-19 06:30:07 +00:00
|
|
|
"boot_node",
|
2020-05-10 09:56:31 +00:00
|
|
|
"clap",
|
|
|
|
"clap_utils",
|
2021-11-30 03:25:32 +00:00
|
|
|
"directory",
|
2021-08-17 01:00:24 +00:00
|
|
|
"env_logger 0.9.0",
|
2020-05-10 09:56:31 +00:00
|
|
|
"environment",
|
2021-09-03 01:10:25 +00:00
|
|
|
"eth2_hashing 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2020-12-08 05:41:10 +00:00
|
|
|
"eth2_network_config",
|
2021-07-09 03:20:24 +00:00
|
|
|
"futures",
|
2021-03-02 22:35:47 +00:00
|
|
|
"lazy_static",
|
|
|
|
"lighthouse_metrics",
|
Rename eth2_libp2p to lighthouse_network (#2702)
## Description
The `eth2_libp2p` crate was originally named and designed to incorporate a simple libp2p integration into lighthouse. Since its origins the crates purpose has expanded dramatically. It now houses a lot more sophistication that is specific to lighthouse and no longer just a libp2p integration.
As of this writing it currently houses the following high-level lighthouse-specific logic:
- Lighthouse's implementation of the eth2 RPC protocol and specific encodings/decodings
- Integration and handling of ENRs with respect to libp2p and eth2
- Lighthouse's discovery logic, its integration with discv5 and logic about searching and handling peers.
- Lighthouse's peer manager - This is a large module handling various aspects of Lighthouse's network, such as peer scoring, handling pings and metadata, connection maintenance and recording, etc.
- Lighthouse's peer database - This is a collection of information stored for each individual peer which is specific to lighthouse. We store connection state, sync state, last seen ips and scores etc. The data stored for each peer is designed for various elements of the lighthouse code base such as syncing and the http api.
- Gossipsub scoring - This stores a collection of gossipsub 1.1 scoring mechanisms that are continuously analyssed and updated based on the ethereum 2 networks and how Lighthouse performs on these networks.
- Lighthouse specific types for managing gossipsub topics, sync status and ENR fields
- Lighthouse's network HTTP API metrics - A collection of metrics for lighthouse network monitoring
- Lighthouse's custom configuration of all networking protocols, RPC, gossipsub, discovery, identify and libp2p.
Therefore it makes sense to rename the crate to be more akin to its current purposes, simply that it manages the majority of Lighthouse's network stack. This PR renames this crate to `lighthouse_network`
Co-authored-by: Paul Hauner <paul@paulhauner.com>
2021-10-19 00:30:39 +00:00
|
|
|
"lighthouse_network",
|
2020-08-04 07:44:53 +00:00
|
|
|
"lighthouse_version",
|
2021-05-28 05:59:45 +00:00
|
|
|
"malloc_utils",
|
2021-11-08 01:37:58 +00:00
|
|
|
"serde",
|
2021-05-06 00:36:22 +00:00
|
|
|
"serde_json",
|
2020-10-02 01:42:27 +00:00
|
|
|
"slashing_protection",
|
2020-05-10 09:56:31 +00:00
|
|
|
"slog",
|
2021-09-14 06:48:26 +00:00
|
|
|
"sloggers",
|
2021-05-06 00:36:22 +00:00
|
|
|
"task_executor",
|
Wallet-based, encrypted key management (#1138)
* Update hashmap hashset to stable futures
* Adds panic test to hashset delay
* Port remote_beacon_node to stable futures
* Fix lcli merge conflicts
* Non rpc stuff compiles
* Remove padding
* Add error enum, zeroize more things
* Fix comment
* protocol.rs compiles
* Port websockets, timer and notifier to stable futures (#1035)
* Fix lcli
* Port timer to stable futures
* Fix timer
* Port websocket_server to stable futures
* Port notifier to stable futures
* Add TODOS
* Port remote_beacon_node to stable futures
* Partial eth2-libp2p stable future upgrade
* Finished first round of fighting RPC types
* Further progress towards porting eth2-libp2p adds caching to discovery
* Update behaviour
* Add keystore builder
* Remove keystore stuff from val client
* Add more tests, comments
* RPC handler to stable futures
* Update RPC to master libp2p
* Add more comments, test vectors
* Network service additions
* Progress on improving JSON validation
* More JSON verification
* Start moving JSON into own mod
* Remove old code
* Add more tests, reader/writers
* Tidy
* Move keystore into own file
* Move more logic into keystore file
* Tidy
* Tidy
* Fix the fallback transport construction (#1102)
* Allow for odd-character hex
* Correct warning
* Remove hashmap delay
* Compiling version of eth2-libp2p
* Update all crates versions
* Fix conversion function and add tests (#1113)
* Add more json missing field checks
* Use scrypt by default
* Tidy, address comments
* Test path and uuid in vectors
* Fix comment
* Add checks for kdf params
* Enforce empty kdf message
* Port validator_client to stable futures (#1114)
* Add PH & MS slot clock changes
* Account for genesis time
* Add progress on duties refactor
* Add simple is_aggregator bool to val subscription
* Start work on attestation_verification.rs
* Add progress on ObservedAttestations
* Progress with ObservedAttestations
* Fix tests
* Add observed attestations to the beacon chain
* Add attestation observation to processing code
* Add progress on attestation verification
* Add first draft of ObservedAttesters
* Add more tests
* Add observed attesters to beacon chain
* Add observers to attestation processing
* Add more attestation verification
* Create ObservedAggregators map
* Remove commented-out code
* Add observed aggregators into chain
* Add progress
* Finish adding features to attestation verification
* Ensure beacon chain compiles
* Link attn verification into chain
* Integrate new attn verification in chain
* Remove old attestation processing code
* Start trying to fix beacon_chain tests
* Split adding into pools into two functions
* Add aggregation to harness
* Get test harness working again
* Adjust the number of aggregators for test harness
* Fix edge-case in harness
* Integrate new attn processing in network
* Fix compile bug in validator_client
* Update validator API endpoints
* Fix aggreagation in test harness
* Fix enum thing
* Fix attestation observation bug:
* Patch failing API tests
* Start adding comments to attestation verification
* Remove unused attestation field
* Unify "is block known" logic
* Update comments
* Supress fork choice errors for network processing
* Add todos
* Tidy
* Add gossip attn tests
* Disallow test harness to produce old attns
* Comment out in-progress tests
* Partially address pruning tests
* Fix failing store test
* Add aggregate tests
* Add comments about which spec conditions we check
* Dont re-aggregate
* Split apart test harness attn production
* Fix compile error in network
* Make progress on commented-out test
* Fix skipping attestation test
* Add fork choice verification tests
* Tidy attn tests, remove dead code
* Remove some accidentally added code
* Fix clippy lint
* Rename test file
* Add block tests, add cheap block proposer check
* Rename block testing file
* Add observed_block_producers
* Tidy
* Switch around block signature verification
* Finish block testing
* Remove gossip from signature tests
* First pass of self review
* Fix deviation in spec
* Update test spec tags
* Start moving over to hashset
* Finish moving observed attesters to hashmap
* Move aggregation pool over to hashmap
* Make fc attn borrow again
* Fix rest_api compile error
* Fix missing comments
* Fix monster test
* Uncomment increasing slots test
* Address remaining comments
* Remove unsafe, use cfg test
* Remove cfg test flag
* Fix dodgy comment
* Revert "Update hashmap hashset to stable futures"
This reverts commit d432378a3cc5cd67fc29c0b15b96b886c1323554.
* Revert "Adds panic test to hashset delay"
This reverts commit 281502396fc5b90d9c421a309c2c056982c9525b.
* Ported attestation_service
* Ported duties_service
* Ported fork_service
* More ports
* Port block_service
* Minor fixes
* VC compiles
* Update TODOS
* Borrow self where possible
* Ignore aggregates that are already known.
* Unify aggregator modulo logic
* Fix typo in logs
* Refactor validator subscription logic
* Avoid reproducing selection proof
* Skip HTTP call if no subscriptions
* Rename DutyAndState -> DutyAndProof
* Tidy logs
* Print root as dbg
* Fix compile errors in tests
* Fix compile error in test
* Re-Fix attestation and duties service
* Minor fixes
Co-authored-by: Paul Hauner <paul@paulhauner.com>
* Expose json_keystore mod
* First commits on path derivation
* Progress with implementation
* More progress
* Passing intermediate test vectors
* Tidy, add comments
* Add DerivedKey structs
* Move key derivation into own crate
* Add zeroize structs
* Return error for empty seed
* Add tests
* Tidy
* First commits on path derivation
* Progress with implementation
* Move key derivation into own crate
* Start defining JSON wallet
* Add progress
* Split out encrypt/decrypt
* First commits on path derivation
* Progress with implementation
* More progress
* Passing intermediate test vectors
* Tidy, add comments
* Add DerivedKey structs
* Move key derivation into own crate
* Add zeroize structs
* Return error for empty seed
* Add tests
* Tidy
* Add progress
* Replace some password usage with slice
* First commits on path derivation
* Progress with implementation
* More progress
* Passing intermediate test vectors
* Tidy, add comments
* Add DerivedKey structs
* Move key derivation into own crate
* Add zeroize structs
* Return error for empty seed
* Add tests
* Tidy
* Add progress
* Expose PlainText struct
* First commits on path derivation
* Progress with implementation
* More progress
* Passing intermediate test vectors
* Tidy, add comments
* Add DerivedKey structs
* Move key derivation into own crate
* Add zeroize structs
* Return error for empty seed
* Add tests
* Tidy
* Add builder
* Expose consts, remove Password
* Minor progress
* Expose SALT_SIZE
* First compiling version
* Add test vectors
* Network crate update to stable futures
* Move dbg assert statement
* Port account_manager to stable futures (#1121)
* Port account_manager to stable futures
* Run async fns in tokio environment
* Port rest_api crate to stable futures (#1118)
* Port rest_api lib to stable futures
* Reduce tokio features
* Update notifier to stable futures
* Builder update
* Further updates
* Add mnemonic, tidy
* Convert self referential async functions
* Tidy
* Add testing
* Add first attempt at validator_dir
* Present pubkey field
* stable futures fixes (#1124)
* Fix eth1 update functions
* Fix genesis and client
* Fix beacon node lib
* Return appropriate runtimes from environment
* Fix test rig
* Refactor eth1 service update
* Upgrade simulator to stable futures
* Lighthouse compiles on stable futures
* Add first pass of wallet manager
* Progress with CLI
* Remove println debugging statement
* Tidy output
* Tidy 600 perms
* Update libp2p service, start rpc test upgrade
* Add validator creation flow
* Update network crate for new libp2p
* Start tidying, adding comments
* Update tokio::codec to futures_codec (#1128)
* Further work towards RPC corrections
* Correct http timeout and network service select
* Add wallet mgr testing
* Shift LockedWallet into own file
* Add comments to fs
* Start integration into VC
* Use tokio runtime for libp2p
* Revert "Update tokio::codec to futures_codec (#1128)"
This reverts commit e57aea924acf5cbabdcea18895ac07e38a425ed7.
* Upgrade RPC libp2p tests
* Upgrade secio fallback test
* Add lcli keypair upgrade command
* Upgrade gossipsub examples
* Clean up RPC protocol
* Test fixes (#1133)
* Correct websocket timeout and run on os thread
* Fix network test
* Add --secrets-dir to VC
* Remove --legacy-keys from VC
* Clean up PR
* Correct tokio tcp move attestation service tests
* Upgrade attestation service tests
* Fix sim
* Correct network test
* Correct genesis test
* Start docs
* Add progress for validator generation
* Tidy error messages
* Test corrections
* Log info when block is received
* Modify logs and update attester service events
* Stable futures: fixes to vc, eth1 and account manager (#1142)
* Add local testnet scripts
* Remove whiteblock script
* Rename local testnet script
* Move spawns onto handle
* Fix VC panic
* Initial fix to block production issue
* Tidy block producer fix
* Tidy further
* Add local testnet clean script
* Run cargo fmt
* Tidy duties service
* Tidy fork service
* Tidy ForkService
* Tidy AttestationService
* Tidy notifier
* Ensure await is not suppressed in eth1
* Ensure await is not suppressed in account_manager
* Use .ok() instead of .unwrap_or(())
* RPC decoding test for proto
* Update discv5 and eth2-libp2p deps
* Run cargo fmt
* Pre-build keystores for sim
* Fix lcli double runtime issue (#1144)
* Handle stream termination and dialing peer errors
* Correct peer_info variant types
* Add progress on new deposit flow
* Remove unnecessary warnings
* Handle subnet unsubscription removal and improve logigng
* Add logs around ping
* Upgrade discv5 and improve logging
* Handle peer connection status for multiple connections
* Improve network service logging
* Add more incomplete progress
* Improve logging around peer manager
* Upgrade swarm poll centralise peer management
* Identify clients on error
* Fix `remove_peer` in sync (#1150)
* remove_peer removes from all chains
* Remove logs
* Fix early return from loop
* Improved logging, fix panic
* Partially correct tests
* Add deposit command
* Remove old validator directory
* Start adding AM tests
* Stable futures: Vc sync (#1149)
* Improve syncing heuristic
* Add comments
* Use safer method for tolerance
* Fix tests
* Binary testing progress
* Progress with CLI tests
* Use constants for flags
* More account manager testing
* Improve CLI tests
* Move upgrade-legacy-keypairs into account man
* Use rayon for VC key generation
* Add comments to `validator_dir`
* Add testing to validator_dir
* Add fix to eth1-sim
* Check errors in eth1-sim
* Fix mutability issue
* Ensure password file ends in .pass
* Add more tests to wallet manager
* Tidy deposit
* Tidy account manager
* Tidy account manager
* Remove panic
* Generate keypairs earlier in sim
* Tidy eth1-sime
* Try to fix eth1 sim
* Address review comments
* Fix typo in CLI command
* Update docs
* Disable eth1 sim
* Remove eth1 sim completely
Co-authored-by: Age Manning <Age@AgeManning.com>
Co-authored-by: pawanjay176 <pawandhananjay@gmail.com>
2020-05-18 09:01:45 +00:00
|
|
|
"tempfile",
|
2020-05-10 09:56:31 +00:00
|
|
|
"types",
|
|
|
|
"validator_client",
|
Wallet-based, encrypted key management (#1138)
* Update hashmap hashset to stable futures
* Adds panic test to hashset delay
* Port remote_beacon_node to stable futures
* Fix lcli merge conflicts
* Non rpc stuff compiles
* Remove padding
* Add error enum, zeroize more things
* Fix comment
* protocol.rs compiles
* Port websockets, timer and notifier to stable futures (#1035)
* Fix lcli
* Port timer to stable futures
* Fix timer
* Port websocket_server to stable futures
* Port notifier to stable futures
* Add TODOS
* Port remote_beacon_node to stable futures
* Partial eth2-libp2p stable future upgrade
* Finished first round of fighting RPC types
* Further progress towards porting eth2-libp2p adds caching to discovery
* Update behaviour
* Add keystore builder
* Remove keystore stuff from val client
* Add more tests, comments
* RPC handler to stable futures
* Update RPC to master libp2p
* Add more comments, test vectors
* Network service additions
* Progress on improving JSON validation
* More JSON verification
* Start moving JSON into own mod
* Remove old code
* Add more tests, reader/writers
* Tidy
* Move keystore into own file
* Move more logic into keystore file
* Tidy
* Tidy
* Fix the fallback transport construction (#1102)
* Allow for odd-character hex
* Correct warning
* Remove hashmap delay
* Compiling version of eth2-libp2p
* Update all crates versions
* Fix conversion function and add tests (#1113)
* Add more json missing field checks
* Use scrypt by default
* Tidy, address comments
* Test path and uuid in vectors
* Fix comment
* Add checks for kdf params
* Enforce empty kdf message
* Port validator_client to stable futures (#1114)
* Add PH & MS slot clock changes
* Account for genesis time
* Add progress on duties refactor
* Add simple is_aggregator bool to val subscription
* Start work on attestation_verification.rs
* Add progress on ObservedAttestations
* Progress with ObservedAttestations
* Fix tests
* Add observed attestations to the beacon chain
* Add attestation observation to processing code
* Add progress on attestation verification
* Add first draft of ObservedAttesters
* Add more tests
* Add observed attesters to beacon chain
* Add observers to attestation processing
* Add more attestation verification
* Create ObservedAggregators map
* Remove commented-out code
* Add observed aggregators into chain
* Add progress
* Finish adding features to attestation verification
* Ensure beacon chain compiles
* Link attn verification into chain
* Integrate new attn verification in chain
* Remove old attestation processing code
* Start trying to fix beacon_chain tests
* Split adding into pools into two functions
* Add aggregation to harness
* Get test harness working again
* Adjust the number of aggregators for test harness
* Fix edge-case in harness
* Integrate new attn processing in network
* Fix compile bug in validator_client
* Update validator API endpoints
* Fix aggreagation in test harness
* Fix enum thing
* Fix attestation observation bug:
* Patch failing API tests
* Start adding comments to attestation verification
* Remove unused attestation field
* Unify "is block known" logic
* Update comments
* Supress fork choice errors for network processing
* Add todos
* Tidy
* Add gossip attn tests
* Disallow test harness to produce old attns
* Comment out in-progress tests
* Partially address pruning tests
* Fix failing store test
* Add aggregate tests
* Add comments about which spec conditions we check
* Dont re-aggregate
* Split apart test harness attn production
* Fix compile error in network
* Make progress on commented-out test
* Fix skipping attestation test
* Add fork choice verification tests
* Tidy attn tests, remove dead code
* Remove some accidentally added code
* Fix clippy lint
* Rename test file
* Add block tests, add cheap block proposer check
* Rename block testing file
* Add observed_block_producers
* Tidy
* Switch around block signature verification
* Finish block testing
* Remove gossip from signature tests
* First pass of self review
* Fix deviation in spec
* Update test spec tags
* Start moving over to hashset
* Finish moving observed attesters to hashmap
* Move aggregation pool over to hashmap
* Make fc attn borrow again
* Fix rest_api compile error
* Fix missing comments
* Fix monster test
* Uncomment increasing slots test
* Address remaining comments
* Remove unsafe, use cfg test
* Remove cfg test flag
* Fix dodgy comment
* Revert "Update hashmap hashset to stable futures"
This reverts commit d432378a3cc5cd67fc29c0b15b96b886c1323554.
* Revert "Adds panic test to hashset delay"
This reverts commit 281502396fc5b90d9c421a309c2c056982c9525b.
* Ported attestation_service
* Ported duties_service
* Ported fork_service
* More ports
* Port block_service
* Minor fixes
* VC compiles
* Update TODOS
* Borrow self where possible
* Ignore aggregates that are already known.
* Unify aggregator modulo logic
* Fix typo in logs
* Refactor validator subscription logic
* Avoid reproducing selection proof
* Skip HTTP call if no subscriptions
* Rename DutyAndState -> DutyAndProof
* Tidy logs
* Print root as dbg
* Fix compile errors in tests
* Fix compile error in test
* Re-Fix attestation and duties service
* Minor fixes
Co-authored-by: Paul Hauner <paul@paulhauner.com>
* Expose json_keystore mod
* First commits on path derivation
* Progress with implementation
* More progress
* Passing intermediate test vectors
* Tidy, add comments
* Add DerivedKey structs
* Move key derivation into own crate
* Add zeroize structs
* Return error for empty seed
* Add tests
* Tidy
* First commits on path derivation
* Progress with implementation
* Move key derivation into own crate
* Start defining JSON wallet
* Add progress
* Split out encrypt/decrypt
* First commits on path derivation
* Progress with implementation
* More progress
* Passing intermediate test vectors
* Tidy, add comments
* Add DerivedKey structs
* Move key derivation into own crate
* Add zeroize structs
* Return error for empty seed
* Add tests
* Tidy
* Add progress
* Replace some password usage with slice
* First commits on path derivation
* Progress with implementation
* More progress
* Passing intermediate test vectors
* Tidy, add comments
* Add DerivedKey structs
* Move key derivation into own crate
* Add zeroize structs
* Return error for empty seed
* Add tests
* Tidy
* Add progress
* Expose PlainText struct
* First commits on path derivation
* Progress with implementation
* More progress
* Passing intermediate test vectors
* Tidy, add comments
* Add DerivedKey structs
* Move key derivation into own crate
* Add zeroize structs
* Return error for empty seed
* Add tests
* Tidy
* Add builder
* Expose consts, remove Password
* Minor progress
* Expose SALT_SIZE
* First compiling version
* Add test vectors
* Network crate update to stable futures
* Move dbg assert statement
* Port account_manager to stable futures (#1121)
* Port account_manager to stable futures
* Run async fns in tokio environment
* Port rest_api crate to stable futures (#1118)
* Port rest_api lib to stable futures
* Reduce tokio features
* Update notifier to stable futures
* Builder update
* Further updates
* Add mnemonic, tidy
* Convert self referential async functions
* Tidy
* Add testing
* Add first attempt at validator_dir
* Present pubkey field
* stable futures fixes (#1124)
* Fix eth1 update functions
* Fix genesis and client
* Fix beacon node lib
* Return appropriate runtimes from environment
* Fix test rig
* Refactor eth1 service update
* Upgrade simulator to stable futures
* Lighthouse compiles on stable futures
* Add first pass of wallet manager
* Progress with CLI
* Remove println debugging statement
* Tidy output
* Tidy 600 perms
* Update libp2p service, start rpc test upgrade
* Add validator creation flow
* Update network crate for new libp2p
* Start tidying, adding comments
* Update tokio::codec to futures_codec (#1128)
* Further work towards RPC corrections
* Correct http timeout and network service select
* Add wallet mgr testing
* Shift LockedWallet into own file
* Add comments to fs
* Start integration into VC
* Use tokio runtime for libp2p
* Revert "Update tokio::codec to futures_codec (#1128)"
This reverts commit e57aea924acf5cbabdcea18895ac07e38a425ed7.
* Upgrade RPC libp2p tests
* Upgrade secio fallback test
* Add lcli keypair upgrade command
* Upgrade gossipsub examples
* Clean up RPC protocol
* Test fixes (#1133)
* Correct websocket timeout and run on os thread
* Fix network test
* Add --secrets-dir to VC
* Remove --legacy-keys from VC
* Clean up PR
* Correct tokio tcp move attestation service tests
* Upgrade attestation service tests
* Fix sim
* Correct network test
* Correct genesis test
* Start docs
* Add progress for validator generation
* Tidy error messages
* Test corrections
* Log info when block is received
* Modify logs and update attester service events
* Stable futures: fixes to vc, eth1 and account manager (#1142)
* Add local testnet scripts
* Remove whiteblock script
* Rename local testnet script
* Move spawns onto handle
* Fix VC panic
* Initial fix to block production issue
* Tidy block producer fix
* Tidy further
* Add local testnet clean script
* Run cargo fmt
* Tidy duties service
* Tidy fork service
* Tidy ForkService
* Tidy AttestationService
* Tidy notifier
* Ensure await is not suppressed in eth1
* Ensure await is not suppressed in account_manager
* Use .ok() instead of .unwrap_or(())
* RPC decoding test for proto
* Update discv5 and eth2-libp2p deps
* Run cargo fmt
* Pre-build keystores for sim
* Fix lcli double runtime issue (#1144)
* Handle stream termination and dialing peer errors
* Correct peer_info variant types
* Add progress on new deposit flow
* Remove unnecessary warnings
* Handle subnet unsubscription removal and improve logigng
* Add logs around ping
* Upgrade discv5 and improve logging
* Handle peer connection status for multiple connections
* Improve network service logging
* Add more incomplete progress
* Improve logging around peer manager
* Upgrade swarm poll centralise peer management
* Identify clients on error
* Fix `remove_peer` in sync (#1150)
* remove_peer removes from all chains
* Remove logs
* Fix early return from loop
* Improved logging, fix panic
* Partially correct tests
* Add deposit command
* Remove old validator directory
* Start adding AM tests
* Stable futures: Vc sync (#1149)
* Improve syncing heuristic
* Add comments
* Use safer method for tolerance
* Fix tests
* Binary testing progress
* Progress with CLI tests
* Use constants for flags
* More account manager testing
* Improve CLI tests
* Move upgrade-legacy-keypairs into account man
* Use rayon for VC key generation
* Add comments to `validator_dir`
* Add testing to validator_dir
* Add fix to eth1-sim
* Check errors in eth1-sim
* Fix mutability issue
* Ensure password file ends in .pass
* Add more tests to wallet manager
* Tidy deposit
* Tidy account manager
* Tidy account manager
* Remove panic
* Generate keypairs earlier in sim
* Tidy eth1-sime
* Try to fix eth1 sim
* Address review comments
* Fix typo in CLI command
* Update docs
* Disable eth1 sim
* Remove eth1 sim completely
Co-authored-by: Age Manning <Age@AgeManning.com>
Co-authored-by: pawanjay176 <pawandhananjay@gmail.com>
2020-05-18 09:01:45 +00:00
|
|
|
"validator_dir",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "lighthouse_metrics"
|
Initial work towards v0.2.0 (#924)
* Remove ping protocol
* Initial renaming of network services
* Correct rebasing relative to latest master
* Start updating types
* Adds HashMapDelay struct to utils
* Initial network restructure
* Network restructure. Adds new types for v0.2.0
* Removes build artefacts
* Shift validation to beacon chain
* Temporarily remove gossip validation
This is to be updated to match current optimisation efforts.
* Adds AggregateAndProof
* Begin rebuilding pubsub encoding/decoding
* Signature hacking
* Shift gossipsup decoding into eth2_libp2p
* Existing EF tests passing with fake_crypto
* Shifts block encoding/decoding into RPC
* Delete outdated API spec
* All release tests passing bar genesis state parsing
* Update and test YamlConfig
* Update to spec v0.10 compatible BLS
* Updates to BLS EF tests
* Add EF test for AggregateVerify
And delete unused hash2curve tests for uncompressed points
* Update EF tests to v0.10.1
* Use optional block root correctly in block proc
* Use genesis fork in deposit domain. All tests pass
* Fast aggregate verify test
* Update REST API docs
* Fix unused import
* Bump spec tags to v0.10.1
* Add `seconds_per_eth1_block` to chainspec
* Update to timestamp based eth1 voting scheme
* Return None from `get_votes_to_consider` if block cache is empty
* Handle overflows in `is_candidate_block`
* Revert to failing tests
* Fix eth1 data sets test
* Choose default vote according to spec
* Fix collect_valid_votes tests
* Fix `get_votes_to_consider` to choose all eligible blocks
* Uncomment winning_vote tests
* Add comments; remove unused code
* Reduce seconds_per_eth1_block for simulation
* Addressed review comments
* Add test for default vote case
* Fix logs
* Remove unused functions
* Meter default eth1 votes
* Fix comments
* Progress on attestation service
* Address review comments; remove unused dependency
* Initial work on removing libp2p lock
* Add LRU caches to store (rollup)
* Update attestation validation for DB changes (WIP)
* Initial version of should_forward_block
* Scaffold
* Progress on attestation validation
Also, consolidate prod+testing slot clocks so that they share much
of the same implementation and can both handle sub-slot time changes.
* Removes lock from libp2p service
* Completed network lock removal
* Finish(?) attestation processing
* Correct network termination future
* Add slot check to block check
* Correct fmt issues
* Remove Drop implementation for network service
* Add first attempt at attestation proc. re-write
* Add version 2 of attestation processing
* Minor fixes
* Add validator pubkey cache
* Make get_indexed_attestation take a committee
* Link signature processing into new attn verification
* First working version
* Ensure pubkey cache is updated
* Add more metrics, slight optimizations
* Clone committee cache during attestation processing
* Update shuffling cache during block processing
* Remove old commented-out code
* Fix shuffling cache insert bug
* Used indexed attestation in fork choice
* Restructure attn processing, add metrics
* Add more detailed metrics
* Tidy, fix failing tests
* Fix failing tests, tidy
* Address reviewers suggestions
* Disable/delete two outdated tests
* Modification of validator for subscriptions
* Add slot signing to validator client
* Further progress on validation subscription
* Adds necessary validator subscription functionality
* Add new Pubkeys struct to signature_sets
* Refactor with functional approach
* Update beacon chain
* Clean up validator <-> beacon node http types
* Add aggregator status to ValidatorDuty
* Impl Clone for manual slot clock
* Fix minor errors
* Further progress validator client subscription
* Initial subscription and aggregation handling
* Remove decompressed member from pubkey bytes
* Progress to modifying val client for attestation aggregation
* First draft of validator client upgrade for aggregate attestations
* Add hashmap for indices lookup
* Add state cache, remove store cache
* Only build the head committee cache
* Removes lock on a network channel
* Partially implement beacon node subscription http api
* Correct compilation issues
* Change `get_attesting_indices` to use Vec
* Fix failing test
* Partial implementation of timer
* Adds timer, removes exit_future, http api to op pool
* Partial multiple aggregate attestation handling
* Permits bulk messages accross gossipsub network channel
* Correct compile issues
* Improve gosispsub messaging and correct rest api helpers
* Added global gossipsub subscriptions
* Update validator subscriptions data structs
* Tidy
* Re-structure validator subscriptions
* Initial handling of subscriptions
* Re-structure network service
* Add pubkey cache persistence file
* Add more comments
* Integrate persistence file into builder
* Add pubkey cache tests
* Add HashSetDelay and introduce into attestation service
* Handles validator subscriptions
* Add data_dir to beacon chain builder
* Remove Option in pubkey cache persistence file
* Ensure consistency between datadir/data_dir
* Fix failing network test
* Peer subnet discovery gets queued for future subscriptions
* Reorganise attestation service functions
* Initial wiring of attestation service
* First draft of attestation service timing logic
* Correct minor typos
* Tidy
* Fix todos
* Improve tests
* Add PeerInfo to connected peers mapping
* Fix compile error
* Fix compile error from merge
* Split up block processing metrics
* Tidy
* Refactor get_pubkey_from_state
* Remove commented-out code
* Rename state_cache -> checkpoint_cache
* Rename Checkpoint -> Snapshot
* Tidy, add comments
* Tidy up find_head function
* Change some checkpoint -> snapshot
* Add tests
* Expose max_len
* Remove dead code
* Tidy
* Fix bug
* Add sync-speed metric
* Add first attempt at VerifiableBlock
* Start integrating into beacon chain
* Integrate VerifiableBlock
* Rename VerifableBlock -> PartialBlockVerification
* Add start of typed methods
* Add progress
* Add further progress
* Rename structs
* Add full block verification to block_processing.rs
* Further beacon chain integration
* Update checks for gossip
* Add todo
* Start adding segement verification
* Add passing chain segement test
* Initial integration with batch sync
* Minor changes
* Tidy, add more error checking
* Start adding chain_segment tests
* Finish invalid signature tests
* Include single and gossip verified blocks in tests
* Add gossip verification tests
* Start adding docs
* Finish adding comments to block_processing.rs
* Rename block_processing.rs -> block_verification
* Start removing old block processing code
* Fixes beacon_chain compilation
* Fix project-wide compile errors
* Remove old code
* Correct code to pass all tests
* Fix bug with beacon proposer index
* Fix shim for BlockProcessingError
* Only process one epoch at a time
* Fix loop in chain segment processing
* Correct tests from master merge
* Add caching for state.eth1_data_votes
* Add BeaconChain::validator_pubkey
* Revert "Add caching for state.eth1_data_votes"
This reverts commit cd73dcd6434fb8d8e6bf30c5356355598ea7b78e.
Co-authored-by: Grant Wuerker <gwuerker@gmail.com>
Co-authored-by: Michael Sproul <michael@sigmaprime.io>
Co-authored-by: Michael Sproul <micsproul@gmail.com>
Co-authored-by: pawan <pawandhananjay@gmail.com>
Co-authored-by: Paul Hauner <paul@paulhauner.com>
2020-03-17 06:24:44 +00:00
|
|
|
version = "0.2.0"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2020-05-10 09:56:31 +00:00
|
|
|
"lazy_static",
|
|
|
|
"prometheus",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
Rename eth2_libp2p to lighthouse_network (#2702)
## Description
The `eth2_libp2p` crate was originally named and designed to incorporate a simple libp2p integration into lighthouse. Since its origins the crates purpose has expanded dramatically. It now houses a lot more sophistication that is specific to lighthouse and no longer just a libp2p integration.
As of this writing it currently houses the following high-level lighthouse-specific logic:
- Lighthouse's implementation of the eth2 RPC protocol and specific encodings/decodings
- Integration and handling of ENRs with respect to libp2p and eth2
- Lighthouse's discovery logic, its integration with discv5 and logic about searching and handling peers.
- Lighthouse's peer manager - This is a large module handling various aspects of Lighthouse's network, such as peer scoring, handling pings and metadata, connection maintenance and recording, etc.
- Lighthouse's peer database - This is a collection of information stored for each individual peer which is specific to lighthouse. We store connection state, sync state, last seen ips and scores etc. The data stored for each peer is designed for various elements of the lighthouse code base such as syncing and the http api.
- Gossipsub scoring - This stores a collection of gossipsub 1.1 scoring mechanisms that are continuously analyssed and updated based on the ethereum 2 networks and how Lighthouse performs on these networks.
- Lighthouse specific types for managing gossipsub topics, sync status and ENR fields
- Lighthouse's network HTTP API metrics - A collection of metrics for lighthouse network monitoring
- Lighthouse's custom configuration of all networking protocols, RPC, gossipsub, discovery, identify and libp2p.
Therefore it makes sense to rename the crate to be more akin to its current purposes, simply that it manages the majority of Lighthouse's network stack. This PR renames this crate to `lighthouse_network`
Co-authored-by: Paul Hauner <paul@paulhauner.com>
2021-10-19 00:30:39 +00:00
|
|
|
[[package]]
|
|
|
|
name = "lighthouse_network"
|
|
|
|
version = "0.2.0"
|
|
|
|
dependencies = [
|
|
|
|
"directory",
|
|
|
|
"dirs",
|
|
|
|
"discv5",
|
|
|
|
"error-chain",
|
2021-11-29 03:57:54 +00:00
|
|
|
"eth2_ssz",
|
2021-11-24 00:28:30 +00:00
|
|
|
"eth2_ssz_derive 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2021-11-29 03:57:54 +00:00
|
|
|
"eth2_ssz_types",
|
Rename eth2_libp2p to lighthouse_network (#2702)
## Description
The `eth2_libp2p` crate was originally named and designed to incorporate a simple libp2p integration into lighthouse. Since its origins the crates purpose has expanded dramatically. It now houses a lot more sophistication that is specific to lighthouse and no longer just a libp2p integration.
As of this writing it currently houses the following high-level lighthouse-specific logic:
- Lighthouse's implementation of the eth2 RPC protocol and specific encodings/decodings
- Integration and handling of ENRs with respect to libp2p and eth2
- Lighthouse's discovery logic, its integration with discv5 and logic about searching and handling peers.
- Lighthouse's peer manager - This is a large module handling various aspects of Lighthouse's network, such as peer scoring, handling pings and metadata, connection maintenance and recording, etc.
- Lighthouse's peer database - This is a collection of information stored for each individual peer which is specific to lighthouse. We store connection state, sync state, last seen ips and scores etc. The data stored for each peer is designed for various elements of the lighthouse code base such as syncing and the http api.
- Gossipsub scoring - This stores a collection of gossipsub 1.1 scoring mechanisms that are continuously analyssed and updated based on the ethereum 2 networks and how Lighthouse performs on these networks.
- Lighthouse specific types for managing gossipsub topics, sync status and ENR fields
- Lighthouse's network HTTP API metrics - A collection of metrics for lighthouse network monitoring
- Lighthouse's custom configuration of all networking protocols, RPC, gossipsub, discovery, identify and libp2p.
Therefore it makes sense to rename the crate to be more akin to its current purposes, simply that it manages the majority of Lighthouse's network stack. This PR renames this crate to `lighthouse_network`
Co-authored-by: Paul Hauner <paul@paulhauner.com>
2021-10-19 00:30:39 +00:00
|
|
|
"exit-future",
|
|
|
|
"fnv",
|
|
|
|
"futures",
|
|
|
|
"hashset_delay",
|
|
|
|
"hex",
|
|
|
|
"lazy_static",
|
|
|
|
"libp2p",
|
|
|
|
"lighthouse_metrics",
|
|
|
|
"lighthouse_version",
|
|
|
|
"lru",
|
2021-12-22 06:17:14 +00:00
|
|
|
"open-metrics-client",
|
Rename eth2_libp2p to lighthouse_network (#2702)
## Description
The `eth2_libp2p` crate was originally named and designed to incorporate a simple libp2p integration into lighthouse. Since its origins the crates purpose has expanded dramatically. It now houses a lot more sophistication that is specific to lighthouse and no longer just a libp2p integration.
As of this writing it currently houses the following high-level lighthouse-specific logic:
- Lighthouse's implementation of the eth2 RPC protocol and specific encodings/decodings
- Integration and handling of ENRs with respect to libp2p and eth2
- Lighthouse's discovery logic, its integration with discv5 and logic about searching and handling peers.
- Lighthouse's peer manager - This is a large module handling various aspects of Lighthouse's network, such as peer scoring, handling pings and metadata, connection maintenance and recording, etc.
- Lighthouse's peer database - This is a collection of information stored for each individual peer which is specific to lighthouse. We store connection state, sync state, last seen ips and scores etc. The data stored for each peer is designed for various elements of the lighthouse code base such as syncing and the http api.
- Gossipsub scoring - This stores a collection of gossipsub 1.1 scoring mechanisms that are continuously analyssed and updated based on the ethereum 2 networks and how Lighthouse performs on these networks.
- Lighthouse specific types for managing gossipsub topics, sync status and ENR fields
- Lighthouse's network HTTP API metrics - A collection of metrics for lighthouse network monitoring
- Lighthouse's custom configuration of all networking protocols, RPC, gossipsub, discovery, identify and libp2p.
Therefore it makes sense to rename the crate to be more akin to its current purposes, simply that it manages the majority of Lighthouse's network stack. This PR renames this crate to `lighthouse_network`
Co-authored-by: Paul Hauner <paul@paulhauner.com>
2021-10-19 00:30:39 +00:00
|
|
|
"parking_lot",
|
|
|
|
"rand 0.7.3",
|
|
|
|
"regex",
|
|
|
|
"serde",
|
|
|
|
"serde_derive",
|
2022-01-11 01:35:56 +00:00
|
|
|
"sha2 0.9.9",
|
Rename eth2_libp2p to lighthouse_network (#2702)
## Description
The `eth2_libp2p` crate was originally named and designed to incorporate a simple libp2p integration into lighthouse. Since its origins the crates purpose has expanded dramatically. It now houses a lot more sophistication that is specific to lighthouse and no longer just a libp2p integration.
As of this writing it currently houses the following high-level lighthouse-specific logic:
- Lighthouse's implementation of the eth2 RPC protocol and specific encodings/decodings
- Integration and handling of ENRs with respect to libp2p and eth2
- Lighthouse's discovery logic, its integration with discv5 and logic about searching and handling peers.
- Lighthouse's peer manager - This is a large module handling various aspects of Lighthouse's network, such as peer scoring, handling pings and metadata, connection maintenance and recording, etc.
- Lighthouse's peer database - This is a collection of information stored for each individual peer which is specific to lighthouse. We store connection state, sync state, last seen ips and scores etc. The data stored for each peer is designed for various elements of the lighthouse code base such as syncing and the http api.
- Gossipsub scoring - This stores a collection of gossipsub 1.1 scoring mechanisms that are continuously analyssed and updated based on the ethereum 2 networks and how Lighthouse performs on these networks.
- Lighthouse specific types for managing gossipsub topics, sync status and ENR fields
- Lighthouse's network HTTP API metrics - A collection of metrics for lighthouse network monitoring
- Lighthouse's custom configuration of all networking protocols, RPC, gossipsub, discovery, identify and libp2p.
Therefore it makes sense to rename the crate to be more akin to its current purposes, simply that it manages the majority of Lighthouse's network stack. This PR renames this crate to `lighthouse_network`
Co-authored-by: Paul Hauner <paul@paulhauner.com>
2021-10-19 00:30:39 +00:00
|
|
|
"slog",
|
|
|
|
"slog-async",
|
|
|
|
"slog-term",
|
|
|
|
"smallvec",
|
|
|
|
"snap",
|
|
|
|
"strum",
|
|
|
|
"superstruct",
|
|
|
|
"task_executor",
|
|
|
|
"tempfile",
|
|
|
|
"tiny-keccak 2.0.2",
|
|
|
|
"tokio",
|
|
|
|
"tokio-io-timeout",
|
|
|
|
"tokio-util",
|
|
|
|
"types",
|
|
|
|
"unsigned-varint 0.6.0",
|
2021-12-20 23:45:21 +00:00
|
|
|
"void",
|
Rename eth2_libp2p to lighthouse_network (#2702)
## Description
The `eth2_libp2p` crate was originally named and designed to incorporate a simple libp2p integration into lighthouse. Since its origins the crates purpose has expanded dramatically. It now houses a lot more sophistication that is specific to lighthouse and no longer just a libp2p integration.
As of this writing it currently houses the following high-level lighthouse-specific logic:
- Lighthouse's implementation of the eth2 RPC protocol and specific encodings/decodings
- Integration and handling of ENRs with respect to libp2p and eth2
- Lighthouse's discovery logic, its integration with discv5 and logic about searching and handling peers.
- Lighthouse's peer manager - This is a large module handling various aspects of Lighthouse's network, such as peer scoring, handling pings and metadata, connection maintenance and recording, etc.
- Lighthouse's peer database - This is a collection of information stored for each individual peer which is specific to lighthouse. We store connection state, sync state, last seen ips and scores etc. The data stored for each peer is designed for various elements of the lighthouse code base such as syncing and the http api.
- Gossipsub scoring - This stores a collection of gossipsub 1.1 scoring mechanisms that are continuously analyssed and updated based on the ethereum 2 networks and how Lighthouse performs on these networks.
- Lighthouse specific types for managing gossipsub topics, sync status and ENR fields
- Lighthouse's network HTTP API metrics - A collection of metrics for lighthouse network monitoring
- Lighthouse's custom configuration of all networking protocols, RPC, gossipsub, discovery, identify and libp2p.
Therefore it makes sense to rename the crate to be more akin to its current purposes, simply that it manages the majority of Lighthouse's network stack. This PR renames this crate to `lighthouse_network`
Co-authored-by: Paul Hauner <paul@paulhauner.com>
2021-10-19 00:30:39 +00:00
|
|
|
]
|
|
|
|
|
2020-08-04 07:44:53 +00:00
|
|
|
[[package]]
|
|
|
|
name = "lighthouse_version"
|
|
|
|
version = "0.1.0"
|
|
|
|
dependencies = [
|
|
|
|
"git-version",
|
2021-02-23 23:31:37 +00:00
|
|
|
"regex",
|
2020-08-04 07:44:53 +00:00
|
|
|
"target_info",
|
|
|
|
]
|
|
|
|
|
2019-12-09 11:39:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "linked-hash-map"
|
2021-02-10 23:29:49 +00:00
|
|
|
version = "0.5.4"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-02-10 23:29:49 +00:00
|
|
|
checksum = "7fb9b38af92608140b86b693604b9ffcc5824240a484d1ecd4795bacb2fe88f3"
|
2019-12-09 11:39:44 +00:00
|
|
|
|
2020-07-06 01:55:56 +00:00
|
|
|
[[package]]
|
|
|
|
name = "lock_api"
|
2021-09-16 04:45:05 +00:00
|
|
|
version = "0.4.5"
|
2020-07-06 01:55:56 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-09-16 04:45:05 +00:00
|
|
|
checksum = "712a4d093c9976e24e7dbca41db895dabcbac38eb5f4045393d17a95bdfb1109"
|
2020-07-06 01:55:56 +00:00
|
|
|
dependencies = [
|
|
|
|
"scopeguard",
|
|
|
|
]
|
|
|
|
|
2020-11-26 11:25:46 +00:00
|
|
|
[[package]]
|
|
|
|
name = "lockfile"
|
|
|
|
version = "0.1.0"
|
|
|
|
dependencies = [
|
|
|
|
"fs2",
|
2021-01-06 06:36:11 +00:00
|
|
|
"tempfile",
|
2020-11-26 11:25:46 +00:00
|
|
|
]
|
|
|
|
|
2019-12-09 11:39:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "log"
|
2021-03-02 05:59:49 +00:00
|
|
|
version = "0.4.14"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-03-02 05:59:49 +00:00
|
|
|
checksum = "51b9bbe6c47d51fc3e1a9b945965946b4c44142ab8792c50835a980d362c2710"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2021-11-18 05:08:42 +00:00
|
|
|
"cfg-if",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "logging"
|
Initial work towards v0.2.0 (#924)
* Remove ping protocol
* Initial renaming of network services
* Correct rebasing relative to latest master
* Start updating types
* Adds HashMapDelay struct to utils
* Initial network restructure
* Network restructure. Adds new types for v0.2.0
* Removes build artefacts
* Shift validation to beacon chain
* Temporarily remove gossip validation
This is to be updated to match current optimisation efforts.
* Adds AggregateAndProof
* Begin rebuilding pubsub encoding/decoding
* Signature hacking
* Shift gossipsup decoding into eth2_libp2p
* Existing EF tests passing with fake_crypto
* Shifts block encoding/decoding into RPC
* Delete outdated API spec
* All release tests passing bar genesis state parsing
* Update and test YamlConfig
* Update to spec v0.10 compatible BLS
* Updates to BLS EF tests
* Add EF test for AggregateVerify
And delete unused hash2curve tests for uncompressed points
* Update EF tests to v0.10.1
* Use optional block root correctly in block proc
* Use genesis fork in deposit domain. All tests pass
* Fast aggregate verify test
* Update REST API docs
* Fix unused import
* Bump spec tags to v0.10.1
* Add `seconds_per_eth1_block` to chainspec
* Update to timestamp based eth1 voting scheme
* Return None from `get_votes_to_consider` if block cache is empty
* Handle overflows in `is_candidate_block`
* Revert to failing tests
* Fix eth1 data sets test
* Choose default vote according to spec
* Fix collect_valid_votes tests
* Fix `get_votes_to_consider` to choose all eligible blocks
* Uncomment winning_vote tests
* Add comments; remove unused code
* Reduce seconds_per_eth1_block for simulation
* Addressed review comments
* Add test for default vote case
* Fix logs
* Remove unused functions
* Meter default eth1 votes
* Fix comments
* Progress on attestation service
* Address review comments; remove unused dependency
* Initial work on removing libp2p lock
* Add LRU caches to store (rollup)
* Update attestation validation for DB changes (WIP)
* Initial version of should_forward_block
* Scaffold
* Progress on attestation validation
Also, consolidate prod+testing slot clocks so that they share much
of the same implementation and can both handle sub-slot time changes.
* Removes lock from libp2p service
* Completed network lock removal
* Finish(?) attestation processing
* Correct network termination future
* Add slot check to block check
* Correct fmt issues
* Remove Drop implementation for network service
* Add first attempt at attestation proc. re-write
* Add version 2 of attestation processing
* Minor fixes
* Add validator pubkey cache
* Make get_indexed_attestation take a committee
* Link signature processing into new attn verification
* First working version
* Ensure pubkey cache is updated
* Add more metrics, slight optimizations
* Clone committee cache during attestation processing
* Update shuffling cache during block processing
* Remove old commented-out code
* Fix shuffling cache insert bug
* Used indexed attestation in fork choice
* Restructure attn processing, add metrics
* Add more detailed metrics
* Tidy, fix failing tests
* Fix failing tests, tidy
* Address reviewers suggestions
* Disable/delete two outdated tests
* Modification of validator for subscriptions
* Add slot signing to validator client
* Further progress on validation subscription
* Adds necessary validator subscription functionality
* Add new Pubkeys struct to signature_sets
* Refactor with functional approach
* Update beacon chain
* Clean up validator <-> beacon node http types
* Add aggregator status to ValidatorDuty
* Impl Clone for manual slot clock
* Fix minor errors
* Further progress validator client subscription
* Initial subscription and aggregation handling
* Remove decompressed member from pubkey bytes
* Progress to modifying val client for attestation aggregation
* First draft of validator client upgrade for aggregate attestations
* Add hashmap for indices lookup
* Add state cache, remove store cache
* Only build the head committee cache
* Removes lock on a network channel
* Partially implement beacon node subscription http api
* Correct compilation issues
* Change `get_attesting_indices` to use Vec
* Fix failing test
* Partial implementation of timer
* Adds timer, removes exit_future, http api to op pool
* Partial multiple aggregate attestation handling
* Permits bulk messages accross gossipsub network channel
* Correct compile issues
* Improve gosispsub messaging and correct rest api helpers
* Added global gossipsub subscriptions
* Update validator subscriptions data structs
* Tidy
* Re-structure validator subscriptions
* Initial handling of subscriptions
* Re-structure network service
* Add pubkey cache persistence file
* Add more comments
* Integrate persistence file into builder
* Add pubkey cache tests
* Add HashSetDelay and introduce into attestation service
* Handles validator subscriptions
* Add data_dir to beacon chain builder
* Remove Option in pubkey cache persistence file
* Ensure consistency between datadir/data_dir
* Fix failing network test
* Peer subnet discovery gets queued for future subscriptions
* Reorganise attestation service functions
* Initial wiring of attestation service
* First draft of attestation service timing logic
* Correct minor typos
* Tidy
* Fix todos
* Improve tests
* Add PeerInfo to connected peers mapping
* Fix compile error
* Fix compile error from merge
* Split up block processing metrics
* Tidy
* Refactor get_pubkey_from_state
* Remove commented-out code
* Rename state_cache -> checkpoint_cache
* Rename Checkpoint -> Snapshot
* Tidy, add comments
* Tidy up find_head function
* Change some checkpoint -> snapshot
* Add tests
* Expose max_len
* Remove dead code
* Tidy
* Fix bug
* Add sync-speed metric
* Add first attempt at VerifiableBlock
* Start integrating into beacon chain
* Integrate VerifiableBlock
* Rename VerifableBlock -> PartialBlockVerification
* Add start of typed methods
* Add progress
* Add further progress
* Rename structs
* Add full block verification to block_processing.rs
* Further beacon chain integration
* Update checks for gossip
* Add todo
* Start adding segement verification
* Add passing chain segement test
* Initial integration with batch sync
* Minor changes
* Tidy, add more error checking
* Start adding chain_segment tests
* Finish invalid signature tests
* Include single and gossip verified blocks in tests
* Add gossip verification tests
* Start adding docs
* Finish adding comments to block_processing.rs
* Rename block_processing.rs -> block_verification
* Start removing old block processing code
* Fixes beacon_chain compilation
* Fix project-wide compile errors
* Remove old code
* Correct code to pass all tests
* Fix bug with beacon proposer index
* Fix shim for BlockProcessingError
* Only process one epoch at a time
* Fix loop in chain segment processing
* Correct tests from master merge
* Add caching for state.eth1_data_votes
* Add BeaconChain::validator_pubkey
* Revert "Add caching for state.eth1_data_votes"
This reverts commit cd73dcd6434fb8d8e6bf30c5356355598ea7b78e.
Co-authored-by: Grant Wuerker <gwuerker@gmail.com>
Co-authored-by: Michael Sproul <michael@sigmaprime.io>
Co-authored-by: Michael Sproul <micsproul@gmail.com>
Co-authored-by: pawan <pawandhananjay@gmail.com>
Co-authored-by: Paul Hauner <paul@paulhauner.com>
2020-03-17 06:24:44 +00:00
|
|
|
version = "0.2.0"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2020-05-10 09:56:31 +00:00
|
|
|
"lazy_static",
|
|
|
|
"lighthouse_metrics",
|
|
|
|
"slog",
|
|
|
|
"slog-term",
|
2021-10-06 00:46:07 +00:00
|
|
|
"sloggers",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
2020-06-06 06:39:42 +00:00
|
|
|
[[package]]
|
|
|
|
name = "lru"
|
2022-01-11 01:35:56 +00:00
|
|
|
version = "0.7.2"
|
2020-05-18 06:25:16 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2022-01-11 01:35:56 +00:00
|
|
|
checksum = "274353858935c992b13c0ca408752e2121da852d07dec7ce5f108c77dfa14d1f"
|
2020-05-18 06:25:16 +00:00
|
|
|
dependencies = [
|
2021-08-17 01:00:24 +00:00
|
|
|
"hashbrown",
|
2020-05-18 06:25:16 +00:00
|
|
|
]
|
|
|
|
|
2021-06-03 01:11:33 +00:00
|
|
|
[[package]]
|
|
|
|
name = "lru-cache"
|
|
|
|
version = "0.1.2"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
checksum = "31e24f1ad8321ca0e8a1e0ac13f23cb668e6f5466c2c57319f6a5cf1cc8e3b1c"
|
|
|
|
dependencies = [
|
|
|
|
"linked-hash-map",
|
|
|
|
]
|
|
|
|
|
2020-08-18 03:54:09 +00:00
|
|
|
[[package]]
|
|
|
|
name = "lru_cache"
|
|
|
|
version = "0.1.0"
|
|
|
|
dependencies = [
|
|
|
|
"fnv",
|
|
|
|
]
|
|
|
|
|
2020-05-29 02:03:30 +00:00
|
|
|
[[package]]
|
|
|
|
name = "mach"
|
|
|
|
version = "0.3.2"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
checksum = "b823e83b2affd8f40a9ee8c29dbc56404c1e34cd2710921f2801e2cf29527afa"
|
|
|
|
dependencies = [
|
|
|
|
"libc",
|
|
|
|
]
|
|
|
|
|
2021-05-28 05:59:45 +00:00
|
|
|
[[package]]
|
|
|
|
name = "malloc_utils"
|
|
|
|
version = "0.1.0"
|
|
|
|
dependencies = [
|
|
|
|
"lazy_static",
|
|
|
|
"libc",
|
|
|
|
"lighthouse_metrics",
|
|
|
|
"parking_lot",
|
|
|
|
]
|
|
|
|
|
2020-07-29 06:39:29 +00:00
|
|
|
[[package]]
|
|
|
|
name = "maplit"
|
|
|
|
version = "1.0.2"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
checksum = "3e2e65a1a2e43cfcb47a895c4c8b10d1f4a61097f9f254f183aee60cad9c651d"
|
|
|
|
|
2021-06-03 01:11:33 +00:00
|
|
|
[[package]]
|
|
|
|
name = "match_cfg"
|
|
|
|
version = "0.1.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
checksum = "ffbee8634e0d45d258acb448e7eaab3fce7a0a467395d4d9f228e3c1f01fb2e4"
|
|
|
|
|
2020-10-23 04:16:33 +00:00
|
|
|
[[package]]
|
|
|
|
name = "matchers"
|
2021-12-22 06:17:14 +00:00
|
|
|
version = "0.1.0"
|
2020-10-23 04:16:33 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-12-22 06:17:14 +00:00
|
|
|
checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558"
|
2020-10-23 04:16:33 +00:00
|
|
|
dependencies = [
|
|
|
|
"regex-automata",
|
|
|
|
]
|
|
|
|
|
2019-12-09 11:39:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "matches"
|
2021-08-17 01:00:24 +00:00
|
|
|
version = "0.1.9"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-08-17 01:00:24 +00:00
|
|
|
checksum = "a3e378b66a060d48947b590737b30a1be76706c8dd7b8ba0f2fe3989c68a853f"
|
2019-12-09 11:39:44 +00:00
|
|
|
|
2021-12-21 08:23:17 +00:00
|
|
|
[[package]]
|
|
|
|
name = "mdbx-sys"
|
2022-01-11 01:35:56 +00:00
|
|
|
version = "0.11.4-git.20210105"
|
2021-12-21 08:23:17 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2022-01-11 01:35:56 +00:00
|
|
|
checksum = "b21b3e0def3a5c880f6388ed2e33b695097c6b0eca039dae6010527b059f8be1"
|
2021-12-21 08:23:17 +00:00
|
|
|
dependencies = [
|
|
|
|
"bindgen",
|
|
|
|
"cc",
|
|
|
|
"cmake",
|
|
|
|
"libc",
|
|
|
|
]
|
|
|
|
|
2019-12-09 11:39:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "memchr"
|
2021-09-03 01:10:25 +00:00
|
|
|
version = "2.4.1"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-09-03 01:10:25 +00:00
|
|
|
checksum = "308cc39be01b73d0d18f82a0e7b2a3df85245f84af96fdddc5d202d27e47b86a"
|
2019-12-09 11:39:44 +00:00
|
|
|
|
2020-11-27 09:48:38 +00:00
|
|
|
[[package]]
|
|
|
|
name = "memoffset"
|
2021-12-22 06:17:14 +00:00
|
|
|
version = "0.6.5"
|
2020-11-27 09:48:38 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-12-22 06:17:14 +00:00
|
|
|
checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce"
|
2020-11-27 09:48:38 +00:00
|
|
|
dependencies = [
|
|
|
|
"autocfg 1.0.1",
|
|
|
|
]
|
|
|
|
|
2019-12-09 11:39:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "merkle_proof"
|
Initial work towards v0.2.0 (#924)
* Remove ping protocol
* Initial renaming of network services
* Correct rebasing relative to latest master
* Start updating types
* Adds HashMapDelay struct to utils
* Initial network restructure
* Network restructure. Adds new types for v0.2.0
* Removes build artefacts
* Shift validation to beacon chain
* Temporarily remove gossip validation
This is to be updated to match current optimisation efforts.
* Adds AggregateAndProof
* Begin rebuilding pubsub encoding/decoding
* Signature hacking
* Shift gossipsup decoding into eth2_libp2p
* Existing EF tests passing with fake_crypto
* Shifts block encoding/decoding into RPC
* Delete outdated API spec
* All release tests passing bar genesis state parsing
* Update and test YamlConfig
* Update to spec v0.10 compatible BLS
* Updates to BLS EF tests
* Add EF test for AggregateVerify
And delete unused hash2curve tests for uncompressed points
* Update EF tests to v0.10.1
* Use optional block root correctly in block proc
* Use genesis fork in deposit domain. All tests pass
* Fast aggregate verify test
* Update REST API docs
* Fix unused import
* Bump spec tags to v0.10.1
* Add `seconds_per_eth1_block` to chainspec
* Update to timestamp based eth1 voting scheme
* Return None from `get_votes_to_consider` if block cache is empty
* Handle overflows in `is_candidate_block`
* Revert to failing tests
* Fix eth1 data sets test
* Choose default vote according to spec
* Fix collect_valid_votes tests
* Fix `get_votes_to_consider` to choose all eligible blocks
* Uncomment winning_vote tests
* Add comments; remove unused code
* Reduce seconds_per_eth1_block for simulation
* Addressed review comments
* Add test for default vote case
* Fix logs
* Remove unused functions
* Meter default eth1 votes
* Fix comments
* Progress on attestation service
* Address review comments; remove unused dependency
* Initial work on removing libp2p lock
* Add LRU caches to store (rollup)
* Update attestation validation for DB changes (WIP)
* Initial version of should_forward_block
* Scaffold
* Progress on attestation validation
Also, consolidate prod+testing slot clocks so that they share much
of the same implementation and can both handle sub-slot time changes.
* Removes lock from libp2p service
* Completed network lock removal
* Finish(?) attestation processing
* Correct network termination future
* Add slot check to block check
* Correct fmt issues
* Remove Drop implementation for network service
* Add first attempt at attestation proc. re-write
* Add version 2 of attestation processing
* Minor fixes
* Add validator pubkey cache
* Make get_indexed_attestation take a committee
* Link signature processing into new attn verification
* First working version
* Ensure pubkey cache is updated
* Add more metrics, slight optimizations
* Clone committee cache during attestation processing
* Update shuffling cache during block processing
* Remove old commented-out code
* Fix shuffling cache insert bug
* Used indexed attestation in fork choice
* Restructure attn processing, add metrics
* Add more detailed metrics
* Tidy, fix failing tests
* Fix failing tests, tidy
* Address reviewers suggestions
* Disable/delete two outdated tests
* Modification of validator for subscriptions
* Add slot signing to validator client
* Further progress on validation subscription
* Adds necessary validator subscription functionality
* Add new Pubkeys struct to signature_sets
* Refactor with functional approach
* Update beacon chain
* Clean up validator <-> beacon node http types
* Add aggregator status to ValidatorDuty
* Impl Clone for manual slot clock
* Fix minor errors
* Further progress validator client subscription
* Initial subscription and aggregation handling
* Remove decompressed member from pubkey bytes
* Progress to modifying val client for attestation aggregation
* First draft of validator client upgrade for aggregate attestations
* Add hashmap for indices lookup
* Add state cache, remove store cache
* Only build the head committee cache
* Removes lock on a network channel
* Partially implement beacon node subscription http api
* Correct compilation issues
* Change `get_attesting_indices` to use Vec
* Fix failing test
* Partial implementation of timer
* Adds timer, removes exit_future, http api to op pool
* Partial multiple aggregate attestation handling
* Permits bulk messages accross gossipsub network channel
* Correct compile issues
* Improve gosispsub messaging and correct rest api helpers
* Added global gossipsub subscriptions
* Update validator subscriptions data structs
* Tidy
* Re-structure validator subscriptions
* Initial handling of subscriptions
* Re-structure network service
* Add pubkey cache persistence file
* Add more comments
* Integrate persistence file into builder
* Add pubkey cache tests
* Add HashSetDelay and introduce into attestation service
* Handles validator subscriptions
* Add data_dir to beacon chain builder
* Remove Option in pubkey cache persistence file
* Ensure consistency between datadir/data_dir
* Fix failing network test
* Peer subnet discovery gets queued for future subscriptions
* Reorganise attestation service functions
* Initial wiring of attestation service
* First draft of attestation service timing logic
* Correct minor typos
* Tidy
* Fix todos
* Improve tests
* Add PeerInfo to connected peers mapping
* Fix compile error
* Fix compile error from merge
* Split up block processing metrics
* Tidy
* Refactor get_pubkey_from_state
* Remove commented-out code
* Rename state_cache -> checkpoint_cache
* Rename Checkpoint -> Snapshot
* Tidy, add comments
* Tidy up find_head function
* Change some checkpoint -> snapshot
* Add tests
* Expose max_len
* Remove dead code
* Tidy
* Fix bug
* Add sync-speed metric
* Add first attempt at VerifiableBlock
* Start integrating into beacon chain
* Integrate VerifiableBlock
* Rename VerifableBlock -> PartialBlockVerification
* Add start of typed methods
* Add progress
* Add further progress
* Rename structs
* Add full block verification to block_processing.rs
* Further beacon chain integration
* Update checks for gossip
* Add todo
* Start adding segement verification
* Add passing chain segement test
* Initial integration with batch sync
* Minor changes
* Tidy, add more error checking
* Start adding chain_segment tests
* Finish invalid signature tests
* Include single and gossip verified blocks in tests
* Add gossip verification tests
* Start adding docs
* Finish adding comments to block_processing.rs
* Rename block_processing.rs -> block_verification
* Start removing old block processing code
* Fixes beacon_chain compilation
* Fix project-wide compile errors
* Remove old code
* Correct code to pass all tests
* Fix bug with beacon proposer index
* Fix shim for BlockProcessingError
* Only process one epoch at a time
* Fix loop in chain segment processing
* Correct tests from master merge
* Add caching for state.eth1_data_votes
* Add BeaconChain::validator_pubkey
* Revert "Add caching for state.eth1_data_votes"
This reverts commit cd73dcd6434fb8d8e6bf30c5356355598ea7b78e.
Co-authored-by: Grant Wuerker <gwuerker@gmail.com>
Co-authored-by: Michael Sproul <michael@sigmaprime.io>
Co-authored-by: Michael Sproul <micsproul@gmail.com>
Co-authored-by: pawan <pawandhananjay@gmail.com>
Co-authored-by: Paul Hauner <paul@paulhauner.com>
2020-03-17 06:24:44 +00:00
|
|
|
version = "0.2.0"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2021-09-03 01:10:25 +00:00
|
|
|
"eth2_hashing 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2021-10-14 02:58:11 +00:00
|
|
|
"ethereum-types 0.12.1",
|
2020-05-10 09:56:31 +00:00
|
|
|
"lazy_static",
|
|
|
|
"quickcheck",
|
|
|
|
"quickcheck_macros",
|
|
|
|
"safe_arith",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "milagro_bls"
|
2021-03-16 03:11:51 +00:00
|
|
|
version = "1.4.2"
|
|
|
|
source = "git+https://github.com/sigp/milagro_bls?tag=v1.4.2#16655aa033175a90c10ef02aa144e2835de23aec"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2020-05-10 09:56:31 +00:00
|
|
|
"amcl",
|
2020-10-28 22:19:38 +00:00
|
|
|
"hex",
|
2020-05-10 09:56:31 +00:00
|
|
|
"lazy_static",
|
|
|
|
"rand 0.7.3",
|
2020-05-17 11:16:48 +00:00
|
|
|
"zeroize",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "mime"
|
2020-01-10 03:35:07 +00:00
|
|
|
version = "0.3.16"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2020-05-10 09:56:31 +00:00
|
|
|
checksum = "2a60c7ce501c71e03a9c9c0d35b861413ae925bd979cc7a4e30d060069aaac8d"
|
2019-12-09 11:39:44 +00:00
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "mime_guess"
|
Initial work towards v0.2.0 (#924)
* Remove ping protocol
* Initial renaming of network services
* Correct rebasing relative to latest master
* Start updating types
* Adds HashMapDelay struct to utils
* Initial network restructure
* Network restructure. Adds new types for v0.2.0
* Removes build artefacts
* Shift validation to beacon chain
* Temporarily remove gossip validation
This is to be updated to match current optimisation efforts.
* Adds AggregateAndProof
* Begin rebuilding pubsub encoding/decoding
* Signature hacking
* Shift gossipsup decoding into eth2_libp2p
* Existing EF tests passing with fake_crypto
* Shifts block encoding/decoding into RPC
* Delete outdated API spec
* All release tests passing bar genesis state parsing
* Update and test YamlConfig
* Update to spec v0.10 compatible BLS
* Updates to BLS EF tests
* Add EF test for AggregateVerify
And delete unused hash2curve tests for uncompressed points
* Update EF tests to v0.10.1
* Use optional block root correctly in block proc
* Use genesis fork in deposit domain. All tests pass
* Fast aggregate verify test
* Update REST API docs
* Fix unused import
* Bump spec tags to v0.10.1
* Add `seconds_per_eth1_block` to chainspec
* Update to timestamp based eth1 voting scheme
* Return None from `get_votes_to_consider` if block cache is empty
* Handle overflows in `is_candidate_block`
* Revert to failing tests
* Fix eth1 data sets test
* Choose default vote according to spec
* Fix collect_valid_votes tests
* Fix `get_votes_to_consider` to choose all eligible blocks
* Uncomment winning_vote tests
* Add comments; remove unused code
* Reduce seconds_per_eth1_block for simulation
* Addressed review comments
* Add test for default vote case
* Fix logs
* Remove unused functions
* Meter default eth1 votes
* Fix comments
* Progress on attestation service
* Address review comments; remove unused dependency
* Initial work on removing libp2p lock
* Add LRU caches to store (rollup)
* Update attestation validation for DB changes (WIP)
* Initial version of should_forward_block
* Scaffold
* Progress on attestation validation
Also, consolidate prod+testing slot clocks so that they share much
of the same implementation and can both handle sub-slot time changes.
* Removes lock from libp2p service
* Completed network lock removal
* Finish(?) attestation processing
* Correct network termination future
* Add slot check to block check
* Correct fmt issues
* Remove Drop implementation for network service
* Add first attempt at attestation proc. re-write
* Add version 2 of attestation processing
* Minor fixes
* Add validator pubkey cache
* Make get_indexed_attestation take a committee
* Link signature processing into new attn verification
* First working version
* Ensure pubkey cache is updated
* Add more metrics, slight optimizations
* Clone committee cache during attestation processing
* Update shuffling cache during block processing
* Remove old commented-out code
* Fix shuffling cache insert bug
* Used indexed attestation in fork choice
* Restructure attn processing, add metrics
* Add more detailed metrics
* Tidy, fix failing tests
* Fix failing tests, tidy
* Address reviewers suggestions
* Disable/delete two outdated tests
* Modification of validator for subscriptions
* Add slot signing to validator client
* Further progress on validation subscription
* Adds necessary validator subscription functionality
* Add new Pubkeys struct to signature_sets
* Refactor with functional approach
* Update beacon chain
* Clean up validator <-> beacon node http types
* Add aggregator status to ValidatorDuty
* Impl Clone for manual slot clock
* Fix minor errors
* Further progress validator client subscription
* Initial subscription and aggregation handling
* Remove decompressed member from pubkey bytes
* Progress to modifying val client for attestation aggregation
* First draft of validator client upgrade for aggregate attestations
* Add hashmap for indices lookup
* Add state cache, remove store cache
* Only build the head committee cache
* Removes lock on a network channel
* Partially implement beacon node subscription http api
* Correct compilation issues
* Change `get_attesting_indices` to use Vec
* Fix failing test
* Partial implementation of timer
* Adds timer, removes exit_future, http api to op pool
* Partial multiple aggregate attestation handling
* Permits bulk messages accross gossipsub network channel
* Correct compile issues
* Improve gosispsub messaging and correct rest api helpers
* Added global gossipsub subscriptions
* Update validator subscriptions data structs
* Tidy
* Re-structure validator subscriptions
* Initial handling of subscriptions
* Re-structure network service
* Add pubkey cache persistence file
* Add more comments
* Integrate persistence file into builder
* Add pubkey cache tests
* Add HashSetDelay and introduce into attestation service
* Handles validator subscriptions
* Add data_dir to beacon chain builder
* Remove Option in pubkey cache persistence file
* Ensure consistency between datadir/data_dir
* Fix failing network test
* Peer subnet discovery gets queued for future subscriptions
* Reorganise attestation service functions
* Initial wiring of attestation service
* First draft of attestation service timing logic
* Correct minor typos
* Tidy
* Fix todos
* Improve tests
* Add PeerInfo to connected peers mapping
* Fix compile error
* Fix compile error from merge
* Split up block processing metrics
* Tidy
* Refactor get_pubkey_from_state
* Remove commented-out code
* Rename state_cache -> checkpoint_cache
* Rename Checkpoint -> Snapshot
* Tidy, add comments
* Tidy up find_head function
* Change some checkpoint -> snapshot
* Add tests
* Expose max_len
* Remove dead code
* Tidy
* Fix bug
* Add sync-speed metric
* Add first attempt at VerifiableBlock
* Start integrating into beacon chain
* Integrate VerifiableBlock
* Rename VerifableBlock -> PartialBlockVerification
* Add start of typed methods
* Add progress
* Add further progress
* Rename structs
* Add full block verification to block_processing.rs
* Further beacon chain integration
* Update checks for gossip
* Add todo
* Start adding segement verification
* Add passing chain segement test
* Initial integration with batch sync
* Minor changes
* Tidy, add more error checking
* Start adding chain_segment tests
* Finish invalid signature tests
* Include single and gossip verified blocks in tests
* Add gossip verification tests
* Start adding docs
* Finish adding comments to block_processing.rs
* Rename block_processing.rs -> block_verification
* Start removing old block processing code
* Fixes beacon_chain compilation
* Fix project-wide compile errors
* Remove old code
* Correct code to pass all tests
* Fix bug with beacon proposer index
* Fix shim for BlockProcessingError
* Only process one epoch at a time
* Fix loop in chain segment processing
* Correct tests from master merge
* Add caching for state.eth1_data_votes
* Add BeaconChain::validator_pubkey
* Revert "Add caching for state.eth1_data_votes"
This reverts commit cd73dcd6434fb8d8e6bf30c5356355598ea7b78e.
Co-authored-by: Grant Wuerker <gwuerker@gmail.com>
Co-authored-by: Michael Sproul <michael@sigmaprime.io>
Co-authored-by: Michael Sproul <micsproul@gmail.com>
Co-authored-by: pawan <pawandhananjay@gmail.com>
Co-authored-by: Paul Hauner <paul@paulhauner.com>
2020-03-17 06:24:44 +00:00
|
|
|
version = "2.0.3"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2020-05-10 09:56:31 +00:00
|
|
|
checksum = "2684d4c2e97d99848d30b324b00c8fcc7e5c897b7cbb5819b09e7c90e8baf212"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2020-12-09 01:34:58 +00:00
|
|
|
"mime",
|
|
|
|
"unicase",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
2021-12-22 06:17:14 +00:00
|
|
|
[[package]]
|
|
|
|
name = "minimal-lexical"
|
|
|
|
version = "0.2.1"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"
|
|
|
|
|
2020-07-06 01:55:56 +00:00
|
|
|
[[package]]
|
|
|
|
name = "miniz_oxide"
|
2021-03-02 05:59:49 +00:00
|
|
|
version = "0.4.4"
|
2020-07-06 01:55:56 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-03-02 05:59:49 +00:00
|
|
|
checksum = "a92518e98c078586bc6c934028adcca4c92a53d6a958196de835170a01d84e4b"
|
2020-07-06 01:55:56 +00:00
|
|
|
dependencies = [
|
|
|
|
"adler",
|
2020-09-18 06:41:29 +00:00
|
|
|
"autocfg 1.0.1",
|
2020-07-06 01:55:56 +00:00
|
|
|
]
|
|
|
|
|
2020-11-28 05:30:57 +00:00
|
|
|
[[package]]
|
|
|
|
name = "mio"
|
2021-10-17 04:04:36 +00:00
|
|
|
version = "0.7.14"
|
2020-11-28 05:30:57 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-10-17 04:04:36 +00:00
|
|
|
checksum = "8067b404fe97c70829f082dec8bcf4f71225d7eaea1d8645349cb76fa06205cc"
|
2020-11-28 05:30:57 +00:00
|
|
|
dependencies = [
|
|
|
|
"libc",
|
2020-12-09 01:34:58 +00:00
|
|
|
"log",
|
2021-07-09 03:20:24 +00:00
|
|
|
"miow",
|
2020-11-28 05:30:57 +00:00
|
|
|
"ntapi",
|
2021-07-09 03:20:24 +00:00
|
|
|
"winapi",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
2020-05-17 11:16:48 +00:00
|
|
|
[[package]]
|
|
|
|
name = "miow"
|
2021-05-04 00:44:05 +00:00
|
|
|
version = "0.3.7"
|
2020-05-17 11:16:48 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-05-04 00:44:05 +00:00
|
|
|
checksum = "b9f1c5b025cda876f66ef43a113f91ebc9f4ccef34843000e0adf6ebbab84e21"
|
2020-05-17 11:16:48 +00:00
|
|
|
dependencies = [
|
2021-07-09 03:20:24 +00:00
|
|
|
"winapi",
|
2020-11-28 05:30:57 +00:00
|
|
|
]
|
|
|
|
|
2021-05-26 05:58:41 +00:00
|
|
|
[[package]]
|
|
|
|
name = "monitoring_api"
|
|
|
|
version = "0.1.0"
|
|
|
|
dependencies = [
|
|
|
|
"eth2",
|
|
|
|
"lazy_static",
|
|
|
|
"lighthouse_metrics",
|
|
|
|
"lighthouse_version",
|
|
|
|
"regex",
|
|
|
|
"reqwest",
|
|
|
|
"sensitive_url",
|
|
|
|
"serde",
|
|
|
|
"serde_derive",
|
|
|
|
"serde_json",
|
|
|
|
"slog",
|
|
|
|
"store",
|
|
|
|
"task_executor",
|
2021-08-17 01:00:24 +00:00
|
|
|
"tokio",
|
2021-05-26 05:58:41 +00:00
|
|
|
]
|
|
|
|
|
2021-06-03 01:11:33 +00:00
|
|
|
[[package]]
|
|
|
|
name = "multiaddr"
|
|
|
|
version = "0.13.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
checksum = "48ee4ea82141951ac6379f964f71b20876d43712bea8faf6dd1a375e08a46499"
|
|
|
|
dependencies = [
|
|
|
|
"arrayref",
|
|
|
|
"bs58",
|
|
|
|
"byteorder",
|
|
|
|
"data-encoding",
|
Update to Libp2p to 39.1 (#2448)
* Adjust beacon node timeouts for validator client HTTP requests (#2352)
Resolves #2313
Provide `BeaconNodeHttpClient` with a dedicated `Timeouts` struct.
This will allow granular adjustment of the timeout duration for different calls made from the VC to the BN. These can either be a constant value, or as a ratio of the slot duration.
Improve timeout performance by using these adjusted timeout duration's only whenever a fallback endpoint is available.
Add a CLI flag called `use-long-timeouts` to revert to the old behavior.
Additionally set the default `BeaconNodeHttpClient` timeouts to the be the slot duration of the network, rather than a constant 12 seconds. This will allow it to adjust to different network specifications.
Co-authored-by: Paul Hauner <paul@paulhauner.com>
* Use read_recursive locks in database (#2417)
Closes #2245
Replace all calls to `RwLock::read` in the `store` crate with `RwLock::read_recursive`.
* Unfortunately we can't run the deadlock detector on CI because it's pinned to an old Rust 1.51.0 nightly which cannot compile Lighthouse (one of our deps uses `ptr::addr_of!` which is too new). A fun side-project at some point might be to update the deadlock detector.
* The reason I think we haven't seen this deadlock (at all?) in practice is that _writes_ to the database's split point are quite infrequent, and a concurrent write is required to trigger the deadlock. The split point is only written when finalization advances, which is once per epoch (every ~6 minutes), and state reads are also quite sporadic. Perhaps we've just been incredibly lucky, or there's something about the timing of state reads vs database migration that protects us.
* I wrote a few small programs to demo the deadlock, and the effectiveness of the `read_recursive` fix: https://github.com/michaelsproul/relock_deadlock_mvp
* [The docs for `read_recursive`](https://docs.rs/lock_api/0.4.2/lock_api/struct.RwLock.html#method.read_recursive) warn of starvation for writers. I think in order for starvation to occur the database would have to be spammed with so many state reads that it's unable to ever clear them all and find time for a write, in which case migration of states to the freezer would cease. If an attack could be performed to trigger this starvation then it would likely trigger a deadlock in the current code, and I think ceasing migration is preferable to deadlocking in this extreme situation. In practice neither should occur due to protection from spammy peers at the network layer. Nevertheless, it would be prudent to run this change on the testnet nodes to check that it doesn't cause accidental starvation.
* Return more detail when invalid data is found in the DB during startup (#2445)
- Resolves #2444
Adds some more detail to the error message returned when the `BeaconChainBuilder` is unable to access or decode block/state objects during startup.
NA
* Use hardware acceleration for SHA256 (#2426)
Modify the SHA256 implementation in `eth2_hashing` so that it switches between `ring` and `sha2` to take advantage of [x86_64 SHA extensions](https://en.wikipedia.org/wiki/Intel_SHA_extensions). The extensions are available on modern Intel and AMD CPUs, and seem to provide a considerable speed-up: on my Ryzen 5950X it dropped state tree hashing times by about 30% from 35ms to 25ms (on Prater).
The extensions became available in the `sha2` crate [last year](https://www.reddit.com/r/rust/comments/hf2vcx/ann_rustcryptos_sha1_and_sha2_now_support/), and are not available in Ring, which uses a [pure Rust implementation of sha2](https://github.com/briansmith/ring/blob/main/src/digest/sha2.rs). Ring is faster on CPUs that lack the extensions so I've implemented a runtime switch to use `sha2` only when the extensions are available. The runtime switching seems to impose a miniscule penalty (see the benchmarks linked below).
* Start a release checklist (#2270)
NA
Add a checklist to the release draft created by CI. I know @michaelsproul was also working on this and I suspect @realbigsean also might have useful input.
NA
* Serious banning
* fmt
Co-authored-by: Mac L <mjladson@pm.me>
Co-authored-by: Paul Hauner <paul@paulhauner.com>
Co-authored-by: Michael Sproul <michael@sigmaprime.io>
2021-07-13 04:37:25 +00:00
|
|
|
"multihash",
|
2021-06-03 01:11:33 +00:00
|
|
|
"percent-encoding",
|
|
|
|
"serde",
|
|
|
|
"static_assertions",
|
2021-11-18 05:08:42 +00:00
|
|
|
"unsigned-varint 0.7.1",
|
2021-06-03 01:11:33 +00:00
|
|
|
"url",
|
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "multihash"
|
|
|
|
version = "0.14.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
checksum = "752a61cd890ff691b4411423d23816d5866dd5621e4d1c5687a53b94b5a979d8"
|
|
|
|
dependencies = [
|
2021-12-22 06:17:14 +00:00
|
|
|
"digest 0.9.0",
|
2021-07-13 00:48:33 +00:00
|
|
|
"generic-array",
|
2021-06-03 01:11:33 +00:00
|
|
|
"multihash-derive",
|
2022-01-11 01:35:56 +00:00
|
|
|
"sha2 0.9.9",
|
2021-11-18 05:08:42 +00:00
|
|
|
"unsigned-varint 0.7.1",
|
2021-06-03 01:11:33 +00:00
|
|
|
]
|
|
|
|
|
2020-11-28 05:30:57 +00:00
|
|
|
[[package]]
|
|
|
|
name = "multihash-derive"
|
2021-07-05 00:54:17 +00:00
|
|
|
version = "0.7.2"
|
2020-11-28 05:30:57 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-07-05 00:54:17 +00:00
|
|
|
checksum = "424f6e86263cd5294cbd7f1e95746b95aca0e0d66bff31e5a40d6baa87b4aa99"
|
2020-11-28 05:30:57 +00:00
|
|
|
dependencies = [
|
|
|
|
"proc-macro-crate",
|
|
|
|
"proc-macro-error",
|
|
|
|
"proc-macro2",
|
|
|
|
"quote",
|
|
|
|
"syn",
|
|
|
|
"synstructure",
|
2020-05-17 11:16:48 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "multimap"
|
2021-05-04 00:44:05 +00:00
|
|
|
version = "0.8.3"
|
2020-05-17 11:16:48 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-05-04 00:44:05 +00:00
|
|
|
checksum = "e5ce46fe64a9d73be07dcbe690a38ce1b293be448fd8ce1e6c1b8062c9f72c6a"
|
2020-05-17 11:16:48 +00:00
|
|
|
|
2021-11-16 00:46:12 +00:00
|
|
|
[[package]]
|
|
|
|
name = "multipart"
|
|
|
|
version = "0.17.1"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
checksum = "d050aeedc89243f5347c3e237e3e13dc76fbe4ae3742a57b94dc14f69acf76d4"
|
|
|
|
dependencies = [
|
|
|
|
"buf_redux",
|
|
|
|
"httparse",
|
|
|
|
"log",
|
|
|
|
"mime",
|
|
|
|
"mime_guess",
|
|
|
|
"quick-error",
|
|
|
|
"rand 0.7.3",
|
|
|
|
"safemem",
|
|
|
|
"tempfile",
|
|
|
|
"twoway",
|
|
|
|
]
|
|
|
|
|
2020-09-29 03:46:54 +00:00
|
|
|
[[package]]
|
|
|
|
name = "multipart"
|
2021-11-18 05:08:42 +00:00
|
|
|
version = "0.18.0"
|
2020-09-29 03:46:54 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-11-18 05:08:42 +00:00
|
|
|
checksum = "00dec633863867f29cb39df64a397cdf4a6354708ddd7759f70c7fb51c5f9182"
|
2020-09-29 03:46:54 +00:00
|
|
|
dependencies = [
|
|
|
|
"buf_redux",
|
|
|
|
"httparse",
|
2020-12-09 01:34:58 +00:00
|
|
|
"log",
|
|
|
|
"mime",
|
2020-09-29 03:46:54 +00:00
|
|
|
"mime_guess",
|
|
|
|
"quick-error",
|
2021-11-18 05:08:42 +00:00
|
|
|
"rand 0.8.4",
|
2020-09-29 03:46:54 +00:00
|
|
|
"safemem",
|
|
|
|
"tempfile",
|
|
|
|
"twoway",
|
|
|
|
]
|
|
|
|
|
2019-12-09 11:39:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "multistream-select"
|
2021-10-17 04:04:36 +00:00
|
|
|
version = "0.10.4"
|
2020-11-28 05:30:57 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-10-17 04:04:36 +00:00
|
|
|
checksum = "56a336acba8bc87c8876f6425407dbbe6c417bf478b22015f8fb0994ef3bc0ab"
|
2020-06-29 10:25:42 +00:00
|
|
|
dependencies = [
|
2021-10-29 01:59:29 +00:00
|
|
|
"bytes",
|
2021-07-15 00:53:59 +00:00
|
|
|
"futures",
|
|
|
|
"log",
|
2022-01-11 01:35:56 +00:00
|
|
|
"pin-project 1.0.10",
|
2021-07-15 00:53:59 +00:00
|
|
|
"smallvec",
|
2021-11-18 05:08:42 +00:00
|
|
|
"unsigned-varint 0.7.1",
|
2021-07-15 00:53:59 +00:00
|
|
|
]
|
|
|
|
|
2021-12-22 06:17:14 +00:00
|
|
|
[[package]]
|
|
|
|
name = "multistream-select"
|
|
|
|
version = "0.11.0"
|
|
|
|
source = "git+https://github.com/libp2p/rust-libp2p?rev=17861d9cac121f7e448585a7f052d5eab4618826#17861d9cac121f7e448585a7f052d5eab4618826"
|
|
|
|
dependencies = [
|
|
|
|
"bytes",
|
|
|
|
"futures",
|
|
|
|
"log",
|
2022-01-11 01:35:56 +00:00
|
|
|
"pin-project 1.0.10",
|
2021-12-22 06:17:14 +00:00
|
|
|
"smallvec",
|
|
|
|
"unsigned-varint 0.7.1",
|
|
|
|
]
|
|
|
|
|
2019-12-09 11:39:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "native-tls"
|
2021-08-17 01:00:24 +00:00
|
|
|
version = "0.2.8"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-08-17 01:00:24 +00:00
|
|
|
checksum = "48ba9f7719b5a0f42f338907614285fb5fd70e53858141f69898a1fb7203b24d"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2020-05-10 09:56:31 +00:00
|
|
|
"lazy_static",
|
|
|
|
"libc",
|
2020-12-09 01:34:58 +00:00
|
|
|
"log",
|
2020-05-10 09:56:31 +00:00
|
|
|
"openssl",
|
|
|
|
"openssl-probe",
|
|
|
|
"openssl-sys",
|
|
|
|
"schannel",
|
|
|
|
"security-framework",
|
|
|
|
"security-framework-sys",
|
|
|
|
"tempfile",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "network"
|
2020-08-06 03:43:05 +00:00
|
|
|
version = "0.2.0"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2020-05-10 09:56:31 +00:00
|
|
|
"beacon_chain",
|
Handle early blocks (#2155)
## Issue Addressed
NA
## Problem this PR addresses
There's an issue where Lighthouse is banning a lot of peers due to the following sequence of events:
1. Gossip block 0xabc arrives ~200ms early
- It is propagated across the network, with respect to [`MAXIMUM_GOSSIP_CLOCK_DISPARITY`](https://github.com/ethereum/eth2.0-specs/blob/v1.0.0/specs/phase0/p2p-interface.md#why-is-there-maximum_gossip_clock_disparity-when-validating-slot-ranges-of-messages-in-gossip-subnets).
- However, it is not imported to our database since the block is early.
2. Attestations for 0xabc arrive, but the block was not imported.
- The peer that sent the attestation is down-voted.
- Each unknown-block attestation causes a score loss of 1, the peer is banned at -100.
- When the peer is on an attestation subnet there can be hundreds of attestations, so the peer is banned quickly (before the missed block can be obtained via rpc).
## Potential solutions
I can think of three solutions to this:
1. Wait for attestation-queuing (#635) to arrive and solve this.
- Easy
- Not immediate fix.
- Whilst this would work, I don't think it's a perfect solution for this particular issue, rather (3) is better.
1. Allow importing blocks with a tolerance of `MAXIMUM_GOSSIP_CLOCK_DISPARITY`.
- Easy
- ~~I have implemented this, for now.~~
1. If a block is verified for gossip propagation (i.e., signature verified) and it's within `MAXIMUM_GOSSIP_CLOCK_DISPARITY`, then queue it to be processed at the start of the appropriate slot.
- More difficult
- Feels like the best solution, I will try to implement this.
**This PR takes approach (3).**
## Changes included
- Implement the `block_delay_queue`, based upon a [`DelayQueue`](https://docs.rs/tokio-util/0.6.3/tokio_util/time/delay_queue/struct.DelayQueue.html) which can store blocks until it's time to import them.
- Add a new `DelayedImportBlock` variant to the `beacon_processor::WorkEvent` enum to handle this new event.
- In the `BeaconProcessor`, refactor a `tokio::select!` to a struct with an explicit `Stream` implementation. I experienced some issues with `tokio::select!` in the block delay queue and I also found it hard to debug. I think this explicit implementation is nicer and functionally equivalent (apart from the fact that `tokio::select!` randomly chooses futures to poll, whereas now we're deterministic).
- Add a testing framework to the `beacon_processor` module that tests this new block delay logic. I also tested a handful of other operations in the beacon processor (attns, slashings, exits) since it was super easy to copy-pasta the code from the `http_api` tester.
- To implement these tests I added the concept of an optional `work_journal_tx` to the `BeaconProcessor` which will spit out a log of events. I used this in the tests to ensure that things were happening as I expect.
- The tests are a little racey, but it's hard to avoid that when testing timing-based code. If we see CI failures I can revise. I haven't observed *any* failures due to races on my machine or on CI yet.
- To assist with testing I allowed for directly setting the time on the `ManualSlotClock`.
- I gave the `beacon_processor::Worker` a `Toolbox` for two reasons; (a) it avoids changing tons of function sigs when you want to pass a new object to the worker and (b) it seemed cute.
2021-02-24 03:08:52 +00:00
|
|
|
"environment",
|
2020-05-10 09:56:31 +00:00
|
|
|
"error-chain",
|
2021-11-29 03:57:54 +00:00
|
|
|
"eth2_ssz",
|
|
|
|
"eth2_ssz_types",
|
2020-06-04 11:48:05 +00:00
|
|
|
"exit-future",
|
2020-05-10 09:56:31 +00:00
|
|
|
"fnv",
|
2021-07-09 03:20:24 +00:00
|
|
|
"futures",
|
2020-05-10 09:56:31 +00:00
|
|
|
"genesis",
|
2020-05-17 11:16:48 +00:00
|
|
|
"hashset_delay",
|
2020-10-28 22:19:38 +00:00
|
|
|
"hex",
|
2021-12-22 06:17:14 +00:00
|
|
|
"if-addrs 0.6.7",
|
2020-10-02 08:47:00 +00:00
|
|
|
"igd",
|
2021-08-17 01:00:24 +00:00
|
|
|
"itertools",
|
2020-05-10 09:56:31 +00:00
|
|
|
"lazy_static",
|
2020-05-17 11:16:48 +00:00
|
|
|
"lighthouse_metrics",
|
Rename eth2_libp2p to lighthouse_network (#2702)
## Description
The `eth2_libp2p` crate was originally named and designed to incorporate a simple libp2p integration into lighthouse. Since its origins the crates purpose has expanded dramatically. It now houses a lot more sophistication that is specific to lighthouse and no longer just a libp2p integration.
As of this writing it currently houses the following high-level lighthouse-specific logic:
- Lighthouse's implementation of the eth2 RPC protocol and specific encodings/decodings
- Integration and handling of ENRs with respect to libp2p and eth2
- Lighthouse's discovery logic, its integration with discv5 and logic about searching and handling peers.
- Lighthouse's peer manager - This is a large module handling various aspects of Lighthouse's network, such as peer scoring, handling pings and metadata, connection maintenance and recording, etc.
- Lighthouse's peer database - This is a collection of information stored for each individual peer which is specific to lighthouse. We store connection state, sync state, last seen ips and scores etc. The data stored for each peer is designed for various elements of the lighthouse code base such as syncing and the http api.
- Gossipsub scoring - This stores a collection of gossipsub 1.1 scoring mechanisms that are continuously analyssed and updated based on the ethereum 2 networks and how Lighthouse performs on these networks.
- Lighthouse specific types for managing gossipsub topics, sync status and ENR fields
- Lighthouse's network HTTP API metrics - A collection of metrics for lighthouse network monitoring
- Lighthouse's custom configuration of all networking protocols, RPC, gossipsub, discovery, identify and libp2p.
Therefore it makes sense to rename the crate to be more akin to its current purposes, simply that it manages the majority of Lighthouse's network stack. This PR renames this crate to `lighthouse_network`
Co-authored-by: Paul Hauner <paul@paulhauner.com>
2021-10-19 00:30:39 +00:00
|
|
|
"lighthouse_network",
|
2020-12-08 10:48:45 +00:00
|
|
|
"logging",
|
2020-08-18 03:54:09 +00:00
|
|
|
"lru_cache",
|
2020-05-10 09:56:31 +00:00
|
|
|
"matches",
|
2020-08-14 04:38:45 +00:00
|
|
|
"num_cpus",
|
2020-05-10 09:56:31 +00:00
|
|
|
"rand 0.7.3",
|
2021-08-17 01:00:24 +00:00
|
|
|
"rlp 0.5.1",
|
2020-05-10 09:56:31 +00:00
|
|
|
"slog",
|
2020-11-28 05:30:57 +00:00
|
|
|
"slog-async",
|
|
|
|
"slog-term",
|
2021-09-14 06:48:26 +00:00
|
|
|
"sloggers",
|
2020-05-10 09:56:31 +00:00
|
|
|
"slot_clock",
|
2020-12-09 01:34:58 +00:00
|
|
|
"smallvec",
|
2020-05-10 09:56:31 +00:00
|
|
|
"store",
|
2021-01-19 06:33:58 +00:00
|
|
|
"strum",
|
2020-10-05 07:45:54 +00:00
|
|
|
"task_executor",
|
2021-08-17 01:00:24 +00:00
|
|
|
"tokio",
|
2021-02-10 23:29:49 +00:00
|
|
|
"tokio-stream",
|
2021-07-09 03:20:24 +00:00
|
|
|
"tokio-util",
|
2020-05-10 09:56:31 +00:00
|
|
|
"types",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "nix"
|
2021-11-18 05:08:42 +00:00
|
|
|
version = "0.21.2"
|
2020-10-23 04:16:33 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-11-18 05:08:42 +00:00
|
|
|
checksum = "77d9f3521ea8e0641a153b3cddaf008dcbf26acd4ed739a2517295e0760d12c7"
|
2020-10-23 04:16:33 +00:00
|
|
|
dependencies = [
|
2020-12-09 01:34:58 +00:00
|
|
|
"bitflags",
|
2020-10-23 04:16:33 +00:00
|
|
|
"cc",
|
2021-11-18 05:08:42 +00:00
|
|
|
"cfg-if",
|
|
|
|
"libc",
|
|
|
|
"memoffset",
|
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "nix"
|
2021-12-22 06:17:14 +00:00
|
|
|
version = "0.23.1"
|
2021-11-18 05:08:42 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-12-22 06:17:14 +00:00
|
|
|
checksum = "9f866317acbd3a240710c63f065ffb1e4fd466259045ccb504130b7f668f35c6"
|
2021-11-18 05:08:42 +00:00
|
|
|
dependencies = [
|
|
|
|
"bitflags",
|
|
|
|
"cc",
|
|
|
|
"cfg-if",
|
2020-10-23 04:16:33 +00:00
|
|
|
"libc",
|
2021-08-17 01:00:24 +00:00
|
|
|
"memoffset",
|
2020-10-23 04:16:33 +00:00
|
|
|
]
|
|
|
|
|
2019-12-09 11:39:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "node_test_rig"
|
Initial work towards v0.2.0 (#924)
* Remove ping protocol
* Initial renaming of network services
* Correct rebasing relative to latest master
* Start updating types
* Adds HashMapDelay struct to utils
* Initial network restructure
* Network restructure. Adds new types for v0.2.0
* Removes build artefacts
* Shift validation to beacon chain
* Temporarily remove gossip validation
This is to be updated to match current optimisation efforts.
* Adds AggregateAndProof
* Begin rebuilding pubsub encoding/decoding
* Signature hacking
* Shift gossipsup decoding into eth2_libp2p
* Existing EF tests passing with fake_crypto
* Shifts block encoding/decoding into RPC
* Delete outdated API spec
* All release tests passing bar genesis state parsing
* Update and test YamlConfig
* Update to spec v0.10 compatible BLS
* Updates to BLS EF tests
* Add EF test for AggregateVerify
And delete unused hash2curve tests for uncompressed points
* Update EF tests to v0.10.1
* Use optional block root correctly in block proc
* Use genesis fork in deposit domain. All tests pass
* Fast aggregate verify test
* Update REST API docs
* Fix unused import
* Bump spec tags to v0.10.1
* Add `seconds_per_eth1_block` to chainspec
* Update to timestamp based eth1 voting scheme
* Return None from `get_votes_to_consider` if block cache is empty
* Handle overflows in `is_candidate_block`
* Revert to failing tests
* Fix eth1 data sets test
* Choose default vote according to spec
* Fix collect_valid_votes tests
* Fix `get_votes_to_consider` to choose all eligible blocks
* Uncomment winning_vote tests
* Add comments; remove unused code
* Reduce seconds_per_eth1_block for simulation
* Addressed review comments
* Add test for default vote case
* Fix logs
* Remove unused functions
* Meter default eth1 votes
* Fix comments
* Progress on attestation service
* Address review comments; remove unused dependency
* Initial work on removing libp2p lock
* Add LRU caches to store (rollup)
* Update attestation validation for DB changes (WIP)
* Initial version of should_forward_block
* Scaffold
* Progress on attestation validation
Also, consolidate prod+testing slot clocks so that they share much
of the same implementation and can both handle sub-slot time changes.
* Removes lock from libp2p service
* Completed network lock removal
* Finish(?) attestation processing
* Correct network termination future
* Add slot check to block check
* Correct fmt issues
* Remove Drop implementation for network service
* Add first attempt at attestation proc. re-write
* Add version 2 of attestation processing
* Minor fixes
* Add validator pubkey cache
* Make get_indexed_attestation take a committee
* Link signature processing into new attn verification
* First working version
* Ensure pubkey cache is updated
* Add more metrics, slight optimizations
* Clone committee cache during attestation processing
* Update shuffling cache during block processing
* Remove old commented-out code
* Fix shuffling cache insert bug
* Used indexed attestation in fork choice
* Restructure attn processing, add metrics
* Add more detailed metrics
* Tidy, fix failing tests
* Fix failing tests, tidy
* Address reviewers suggestions
* Disable/delete two outdated tests
* Modification of validator for subscriptions
* Add slot signing to validator client
* Further progress on validation subscription
* Adds necessary validator subscription functionality
* Add new Pubkeys struct to signature_sets
* Refactor with functional approach
* Update beacon chain
* Clean up validator <-> beacon node http types
* Add aggregator status to ValidatorDuty
* Impl Clone for manual slot clock
* Fix minor errors
* Further progress validator client subscription
* Initial subscription and aggregation handling
* Remove decompressed member from pubkey bytes
* Progress to modifying val client for attestation aggregation
* First draft of validator client upgrade for aggregate attestations
* Add hashmap for indices lookup
* Add state cache, remove store cache
* Only build the head committee cache
* Removes lock on a network channel
* Partially implement beacon node subscription http api
* Correct compilation issues
* Change `get_attesting_indices` to use Vec
* Fix failing test
* Partial implementation of timer
* Adds timer, removes exit_future, http api to op pool
* Partial multiple aggregate attestation handling
* Permits bulk messages accross gossipsub network channel
* Correct compile issues
* Improve gosispsub messaging and correct rest api helpers
* Added global gossipsub subscriptions
* Update validator subscriptions data structs
* Tidy
* Re-structure validator subscriptions
* Initial handling of subscriptions
* Re-structure network service
* Add pubkey cache persistence file
* Add more comments
* Integrate persistence file into builder
* Add pubkey cache tests
* Add HashSetDelay and introduce into attestation service
* Handles validator subscriptions
* Add data_dir to beacon chain builder
* Remove Option in pubkey cache persistence file
* Ensure consistency between datadir/data_dir
* Fix failing network test
* Peer subnet discovery gets queued for future subscriptions
* Reorganise attestation service functions
* Initial wiring of attestation service
* First draft of attestation service timing logic
* Correct minor typos
* Tidy
* Fix todos
* Improve tests
* Add PeerInfo to connected peers mapping
* Fix compile error
* Fix compile error from merge
* Split up block processing metrics
* Tidy
* Refactor get_pubkey_from_state
* Remove commented-out code
* Rename state_cache -> checkpoint_cache
* Rename Checkpoint -> Snapshot
* Tidy, add comments
* Tidy up find_head function
* Change some checkpoint -> snapshot
* Add tests
* Expose max_len
* Remove dead code
* Tidy
* Fix bug
* Add sync-speed metric
* Add first attempt at VerifiableBlock
* Start integrating into beacon chain
* Integrate VerifiableBlock
* Rename VerifableBlock -> PartialBlockVerification
* Add start of typed methods
* Add progress
* Add further progress
* Rename structs
* Add full block verification to block_processing.rs
* Further beacon chain integration
* Update checks for gossip
* Add todo
* Start adding segement verification
* Add passing chain segement test
* Initial integration with batch sync
* Minor changes
* Tidy, add more error checking
* Start adding chain_segment tests
* Finish invalid signature tests
* Include single and gossip verified blocks in tests
* Add gossip verification tests
* Start adding docs
* Finish adding comments to block_processing.rs
* Rename block_processing.rs -> block_verification
* Start removing old block processing code
* Fixes beacon_chain compilation
* Fix project-wide compile errors
* Remove old code
* Correct code to pass all tests
* Fix bug with beacon proposer index
* Fix shim for BlockProcessingError
* Only process one epoch at a time
* Fix loop in chain segment processing
* Correct tests from master merge
* Add caching for state.eth1_data_votes
* Add BeaconChain::validator_pubkey
* Revert "Add caching for state.eth1_data_votes"
This reverts commit cd73dcd6434fb8d8e6bf30c5356355598ea7b78e.
Co-authored-by: Grant Wuerker <gwuerker@gmail.com>
Co-authored-by: Michael Sproul <michael@sigmaprime.io>
Co-authored-by: Michael Sproul <micsproul@gmail.com>
Co-authored-by: pawan <pawandhananjay@gmail.com>
Co-authored-by: Paul Hauner <paul@paulhauner.com>
2020-03-17 06:24:44 +00:00
|
|
|
version = "0.2.0"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2020-05-10 09:56:31 +00:00
|
|
|
"beacon_node",
|
|
|
|
"environment",
|
2020-09-29 03:46:54 +00:00
|
|
|
"eth2",
|
2021-05-04 01:59:51 +00:00
|
|
|
"sensitive_url",
|
2021-01-06 06:36:11 +00:00
|
|
|
"tempfile",
|
2020-05-10 09:56:31 +00:00
|
|
|
"types",
|
|
|
|
"validator_client",
|
Wallet-based, encrypted key management (#1138)
* Update hashmap hashset to stable futures
* Adds panic test to hashset delay
* Port remote_beacon_node to stable futures
* Fix lcli merge conflicts
* Non rpc stuff compiles
* Remove padding
* Add error enum, zeroize more things
* Fix comment
* protocol.rs compiles
* Port websockets, timer and notifier to stable futures (#1035)
* Fix lcli
* Port timer to stable futures
* Fix timer
* Port websocket_server to stable futures
* Port notifier to stable futures
* Add TODOS
* Port remote_beacon_node to stable futures
* Partial eth2-libp2p stable future upgrade
* Finished first round of fighting RPC types
* Further progress towards porting eth2-libp2p adds caching to discovery
* Update behaviour
* Add keystore builder
* Remove keystore stuff from val client
* Add more tests, comments
* RPC handler to stable futures
* Update RPC to master libp2p
* Add more comments, test vectors
* Network service additions
* Progress on improving JSON validation
* More JSON verification
* Start moving JSON into own mod
* Remove old code
* Add more tests, reader/writers
* Tidy
* Move keystore into own file
* Move more logic into keystore file
* Tidy
* Tidy
* Fix the fallback transport construction (#1102)
* Allow for odd-character hex
* Correct warning
* Remove hashmap delay
* Compiling version of eth2-libp2p
* Update all crates versions
* Fix conversion function and add tests (#1113)
* Add more json missing field checks
* Use scrypt by default
* Tidy, address comments
* Test path and uuid in vectors
* Fix comment
* Add checks for kdf params
* Enforce empty kdf message
* Port validator_client to stable futures (#1114)
* Add PH & MS slot clock changes
* Account for genesis time
* Add progress on duties refactor
* Add simple is_aggregator bool to val subscription
* Start work on attestation_verification.rs
* Add progress on ObservedAttestations
* Progress with ObservedAttestations
* Fix tests
* Add observed attestations to the beacon chain
* Add attestation observation to processing code
* Add progress on attestation verification
* Add first draft of ObservedAttesters
* Add more tests
* Add observed attesters to beacon chain
* Add observers to attestation processing
* Add more attestation verification
* Create ObservedAggregators map
* Remove commented-out code
* Add observed aggregators into chain
* Add progress
* Finish adding features to attestation verification
* Ensure beacon chain compiles
* Link attn verification into chain
* Integrate new attn verification in chain
* Remove old attestation processing code
* Start trying to fix beacon_chain tests
* Split adding into pools into two functions
* Add aggregation to harness
* Get test harness working again
* Adjust the number of aggregators for test harness
* Fix edge-case in harness
* Integrate new attn processing in network
* Fix compile bug in validator_client
* Update validator API endpoints
* Fix aggreagation in test harness
* Fix enum thing
* Fix attestation observation bug:
* Patch failing API tests
* Start adding comments to attestation verification
* Remove unused attestation field
* Unify "is block known" logic
* Update comments
* Supress fork choice errors for network processing
* Add todos
* Tidy
* Add gossip attn tests
* Disallow test harness to produce old attns
* Comment out in-progress tests
* Partially address pruning tests
* Fix failing store test
* Add aggregate tests
* Add comments about which spec conditions we check
* Dont re-aggregate
* Split apart test harness attn production
* Fix compile error in network
* Make progress on commented-out test
* Fix skipping attestation test
* Add fork choice verification tests
* Tidy attn tests, remove dead code
* Remove some accidentally added code
* Fix clippy lint
* Rename test file
* Add block tests, add cheap block proposer check
* Rename block testing file
* Add observed_block_producers
* Tidy
* Switch around block signature verification
* Finish block testing
* Remove gossip from signature tests
* First pass of self review
* Fix deviation in spec
* Update test spec tags
* Start moving over to hashset
* Finish moving observed attesters to hashmap
* Move aggregation pool over to hashmap
* Make fc attn borrow again
* Fix rest_api compile error
* Fix missing comments
* Fix monster test
* Uncomment increasing slots test
* Address remaining comments
* Remove unsafe, use cfg test
* Remove cfg test flag
* Fix dodgy comment
* Revert "Update hashmap hashset to stable futures"
This reverts commit d432378a3cc5cd67fc29c0b15b96b886c1323554.
* Revert "Adds panic test to hashset delay"
This reverts commit 281502396fc5b90d9c421a309c2c056982c9525b.
* Ported attestation_service
* Ported duties_service
* Ported fork_service
* More ports
* Port block_service
* Minor fixes
* VC compiles
* Update TODOS
* Borrow self where possible
* Ignore aggregates that are already known.
* Unify aggregator modulo logic
* Fix typo in logs
* Refactor validator subscription logic
* Avoid reproducing selection proof
* Skip HTTP call if no subscriptions
* Rename DutyAndState -> DutyAndProof
* Tidy logs
* Print root as dbg
* Fix compile errors in tests
* Fix compile error in test
* Re-Fix attestation and duties service
* Minor fixes
Co-authored-by: Paul Hauner <paul@paulhauner.com>
* Expose json_keystore mod
* First commits on path derivation
* Progress with implementation
* More progress
* Passing intermediate test vectors
* Tidy, add comments
* Add DerivedKey structs
* Move key derivation into own crate
* Add zeroize structs
* Return error for empty seed
* Add tests
* Tidy
* First commits on path derivation
* Progress with implementation
* Move key derivation into own crate
* Start defining JSON wallet
* Add progress
* Split out encrypt/decrypt
* First commits on path derivation
* Progress with implementation
* More progress
* Passing intermediate test vectors
* Tidy, add comments
* Add DerivedKey structs
* Move key derivation into own crate
* Add zeroize structs
* Return error for empty seed
* Add tests
* Tidy
* Add progress
* Replace some password usage with slice
* First commits on path derivation
* Progress with implementation
* More progress
* Passing intermediate test vectors
* Tidy, add comments
* Add DerivedKey structs
* Move key derivation into own crate
* Add zeroize structs
* Return error for empty seed
* Add tests
* Tidy
* Add progress
* Expose PlainText struct
* First commits on path derivation
* Progress with implementation
* More progress
* Passing intermediate test vectors
* Tidy, add comments
* Add DerivedKey structs
* Move key derivation into own crate
* Add zeroize structs
* Return error for empty seed
* Add tests
* Tidy
* Add builder
* Expose consts, remove Password
* Minor progress
* Expose SALT_SIZE
* First compiling version
* Add test vectors
* Network crate update to stable futures
* Move dbg assert statement
* Port account_manager to stable futures (#1121)
* Port account_manager to stable futures
* Run async fns in tokio environment
* Port rest_api crate to stable futures (#1118)
* Port rest_api lib to stable futures
* Reduce tokio features
* Update notifier to stable futures
* Builder update
* Further updates
* Add mnemonic, tidy
* Convert self referential async functions
* Tidy
* Add testing
* Add first attempt at validator_dir
* Present pubkey field
* stable futures fixes (#1124)
* Fix eth1 update functions
* Fix genesis and client
* Fix beacon node lib
* Return appropriate runtimes from environment
* Fix test rig
* Refactor eth1 service update
* Upgrade simulator to stable futures
* Lighthouse compiles on stable futures
* Add first pass of wallet manager
* Progress with CLI
* Remove println debugging statement
* Tidy output
* Tidy 600 perms
* Update libp2p service, start rpc test upgrade
* Add validator creation flow
* Update network crate for new libp2p
* Start tidying, adding comments
* Update tokio::codec to futures_codec (#1128)
* Further work towards RPC corrections
* Correct http timeout and network service select
* Add wallet mgr testing
* Shift LockedWallet into own file
* Add comments to fs
* Start integration into VC
* Use tokio runtime for libp2p
* Revert "Update tokio::codec to futures_codec (#1128)"
This reverts commit e57aea924acf5cbabdcea18895ac07e38a425ed7.
* Upgrade RPC libp2p tests
* Upgrade secio fallback test
* Add lcli keypair upgrade command
* Upgrade gossipsub examples
* Clean up RPC protocol
* Test fixes (#1133)
* Correct websocket timeout and run on os thread
* Fix network test
* Add --secrets-dir to VC
* Remove --legacy-keys from VC
* Clean up PR
* Correct tokio tcp move attestation service tests
* Upgrade attestation service tests
* Fix sim
* Correct network test
* Correct genesis test
* Start docs
* Add progress for validator generation
* Tidy error messages
* Test corrections
* Log info when block is received
* Modify logs and update attester service events
* Stable futures: fixes to vc, eth1 and account manager (#1142)
* Add local testnet scripts
* Remove whiteblock script
* Rename local testnet script
* Move spawns onto handle
* Fix VC panic
* Initial fix to block production issue
* Tidy block producer fix
* Tidy further
* Add local testnet clean script
* Run cargo fmt
* Tidy duties service
* Tidy fork service
* Tidy ForkService
* Tidy AttestationService
* Tidy notifier
* Ensure await is not suppressed in eth1
* Ensure await is not suppressed in account_manager
* Use .ok() instead of .unwrap_or(())
* RPC decoding test for proto
* Update discv5 and eth2-libp2p deps
* Run cargo fmt
* Pre-build keystores for sim
* Fix lcli double runtime issue (#1144)
* Handle stream termination and dialing peer errors
* Correct peer_info variant types
* Add progress on new deposit flow
* Remove unnecessary warnings
* Handle subnet unsubscription removal and improve logigng
* Add logs around ping
* Upgrade discv5 and improve logging
* Handle peer connection status for multiple connections
* Improve network service logging
* Add more incomplete progress
* Improve logging around peer manager
* Upgrade swarm poll centralise peer management
* Identify clients on error
* Fix `remove_peer` in sync (#1150)
* remove_peer removes from all chains
* Remove logs
* Fix early return from loop
* Improved logging, fix panic
* Partially correct tests
* Add deposit command
* Remove old validator directory
* Start adding AM tests
* Stable futures: Vc sync (#1149)
* Improve syncing heuristic
* Add comments
* Use safer method for tolerance
* Fix tests
* Binary testing progress
* Progress with CLI tests
* Use constants for flags
* More account manager testing
* Improve CLI tests
* Move upgrade-legacy-keypairs into account man
* Use rayon for VC key generation
* Add comments to `validator_dir`
* Add testing to validator_dir
* Add fix to eth1-sim
* Check errors in eth1-sim
* Fix mutability issue
* Ensure password file ends in .pass
* Add more tests to wallet manager
* Tidy deposit
* Tidy account manager
* Tidy account manager
* Remove panic
* Generate keypairs earlier in sim
* Tidy eth1-sime
* Try to fix eth1 sim
* Address review comments
* Fix typo in CLI command
* Update docs
* Disable eth1 sim
* Remove eth1 sim completely
Co-authored-by: Age Manning <Age@AgeManning.com>
Co-authored-by: pawanjay176 <pawandhananjay@gmail.com>
2020-05-18 09:01:45 +00:00
|
|
|
"validator_dir",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
2020-11-06 04:14:14 +00:00
|
|
|
[[package]]
|
|
|
|
name = "nohash-hasher"
|
|
|
|
version = "0.2.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
checksum = "2bf50223579dc7cdcfb3bfcacf7069ff68243f8c363f62ffa99cf000a6b9c451"
|
|
|
|
|
2020-05-29 02:03:30 +00:00
|
|
|
[[package]]
|
|
|
|
name = "nom"
|
|
|
|
version = "2.2.1"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
checksum = "cf51a729ecf40266a2368ad335a5fdde43471f545a967109cd62146ecf8b66ff"
|
|
|
|
|
2021-12-21 08:23:17 +00:00
|
|
|
[[package]]
|
|
|
|
name = "nom"
|
2021-12-22 06:17:14 +00:00
|
|
|
version = "7.1.0"
|
2021-12-21 08:23:17 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-12-22 06:17:14 +00:00
|
|
|
checksum = "1b1d11e1ef389c76fe5b81bcaf2ea32cf88b62bc494e19f493d0b30e7a930109"
|
2021-12-21 08:23:17 +00:00
|
|
|
dependencies = [
|
|
|
|
"memchr",
|
2021-12-22 06:17:14 +00:00
|
|
|
"minimal-lexical",
|
2021-12-21 08:23:17 +00:00
|
|
|
"version_check",
|
|
|
|
]
|
|
|
|
|
2020-11-28 05:30:57 +00:00
|
|
|
[[package]]
|
|
|
|
name = "ntapi"
|
|
|
|
version = "0.3.6"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
checksum = "3f6bb902e437b6d86e03cce10a7e2af662292c5dfef23b65899ea3ac9354ad44"
|
|
|
|
dependencies = [
|
2021-07-09 03:20:24 +00:00
|
|
|
"winapi",
|
2020-11-28 05:30:57 +00:00
|
|
|
]
|
|
|
|
|
2019-12-09 11:39:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "num-bigint"
|
2021-11-18 05:08:42 +00:00
|
|
|
version = "0.4.3"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-11-18 05:08:42 +00:00
|
|
|
checksum = "f93ab6289c7b344a8a9f60f88d80aa20032336fe78da341afc91c8a2341fc75f"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2020-08-21 12:00:01 +00:00
|
|
|
"autocfg 1.0.1",
|
2020-05-10 09:56:31 +00:00
|
|
|
"num-integer",
|
|
|
|
"num-traits",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
2020-05-11 08:43:43 +00:00
|
|
|
[[package]]
|
|
|
|
name = "num-bigint-dig"
|
2020-12-07 08:20:33 +00:00
|
|
|
version = "0.6.1"
|
2020-05-11 08:43:43 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2020-12-07 08:20:33 +00:00
|
|
|
checksum = "5d51546d704f52ef14b3c962b5776e53d5b862e5790e40a350d366c209bd7f7a"
|
2020-05-11 08:43:43 +00:00
|
|
|
dependencies = [
|
|
|
|
"autocfg 0.1.7",
|
2020-05-17 11:16:48 +00:00
|
|
|
"byteorder",
|
2020-05-11 08:43:43 +00:00
|
|
|
"lazy_static",
|
|
|
|
"libm",
|
|
|
|
"num-integer",
|
|
|
|
"num-iter",
|
|
|
|
"num-traits",
|
|
|
|
"rand 0.7.3",
|
|
|
|
"serde",
|
2020-12-09 01:34:58 +00:00
|
|
|
"smallvec",
|
2020-05-17 11:16:48 +00:00
|
|
|
"zeroize",
|
2020-05-11 08:43:43 +00:00
|
|
|
]
|
|
|
|
|
2019-12-09 11:39:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "num-integer"
|
2020-11-02 23:55:15 +00:00
|
|
|
version = "0.1.44"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2020-11-02 23:55:15 +00:00
|
|
|
checksum = "d2cc698a63b549a70bc047073d2949cce27cd1c7b0a4a862d08a8031bc2801db"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2020-08-21 12:00:01 +00:00
|
|
|
"autocfg 1.0.1",
|
2020-05-10 09:56:31 +00:00
|
|
|
"num-traits",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
2020-05-11 08:43:43 +00:00
|
|
|
[[package]]
|
|
|
|
name = "num-iter"
|
2020-11-02 23:55:15 +00:00
|
|
|
version = "0.1.42"
|
2020-05-11 08:43:43 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2020-11-02 23:55:15 +00:00
|
|
|
checksum = "b2021c8337a54d21aca0d59a92577a029af9431cb59b909b03252b9c164fad59"
|
2020-05-11 08:43:43 +00:00
|
|
|
dependencies = [
|
2020-08-21 12:00:01 +00:00
|
|
|
"autocfg 1.0.1",
|
2020-05-11 08:43:43 +00:00
|
|
|
"num-integer",
|
|
|
|
"num-traits",
|
|
|
|
]
|
|
|
|
|
2019-12-09 11:39:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "num-traits"
|
2020-11-02 23:55:15 +00:00
|
|
|
version = "0.2.14"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2020-11-02 23:55:15 +00:00
|
|
|
checksum = "9a64b1ec5cda2586e284722486d802acf1f7dbdc623e2bfc57e65ca1cd099290"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2020-08-21 12:00:01 +00:00
|
|
|
"autocfg 1.0.1",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "num_cpus"
|
2021-12-22 06:17:14 +00:00
|
|
|
version = "1.13.1"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-12-22 06:17:14 +00:00
|
|
|
checksum = "19e64526ebdee182341572e50e9ad03965aa510cd94427a4549448f285e957a1"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2020-05-10 09:56:31 +00:00
|
|
|
"hermit-abi",
|
|
|
|
"libc",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
2020-05-26 20:34:15 +00:00
|
|
|
[[package]]
|
|
|
|
name = "object"
|
2021-10-29 01:59:29 +00:00
|
|
|
version = "0.27.1"
|
2020-05-26 20:34:15 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-10-29 01:59:29 +00:00
|
|
|
checksum = "67ac1d3f9a1d3616fd9a60c8d74296f22406a238b6a72f5cc1e6f314df4ffbf9"
|
2021-07-05 00:54:17 +00:00
|
|
|
dependencies = [
|
|
|
|
"memchr",
|
|
|
|
]
|
2020-05-26 20:34:15 +00:00
|
|
|
|
EIP-2386 (draft): Eth2 wallet (#1117)
* Add test to understand flow of key storage
* First commit
* Committing to save trait stuff
* Working naive design
* Add keystore struct
* Move keystore files into their own module
* Add serde (de)serialize_with magic
* Add keystore test
* Fix tests
* Add comments and minor fixes
* Pass optional params to `to_keystore` function
* Add `path` field to keystore
* Add function to read Keystore from file
* Add test vectors and fix Version serialization
* Checksum params is empty object
* Add public key to Keystore
* Add function for saving keystore into file
* Deleted account_manager main.rs
* Move keystore module to validator_client
* Add save_keystore method to validator_directory
* Add load_keystore function. Minor refactorings
* Fixed dependencies
* Address some review comments
* Add Password newtype; derive Zeroize
* Fix test
* Move keystore into own crate
* Remove padding
* Add error enum, zeroize more things
* Fix comment
* Add keystore builder
* Remove keystore stuff from val client
* Add more tests, comments
* Add more comments, test vectors
* Progress on improving JSON validation
* More JSON verification
* Start moving JSON into own mod
* Remove old code
* Add more tests, reader/writers
* Tidy
* Move keystore into own file
* Move more logic into keystore file
* Tidy
* Tidy
* Allow for odd-character hex
* Add more json missing field checks
* Use scrypt by default
* Tidy, address comments
* Test path and uuid in vectors
* Fix comment
* Add checks for kdf params
* Enforce empty kdf message
* Expose json_keystore mod
* First commits on path derivation
* Progress with implementation
* More progress
* Passing intermediate test vectors
* Tidy, add comments
* Add DerivedKey structs
* Move key derivation into own crate
* Add zeroize structs
* Return error for empty seed
* Add tests
* Tidy
* First commits on path derivation
* Progress with implementation
* Move key derivation into own crate
* Start defining JSON wallet
* Add progress
* Split out encrypt/decrypt
* First commits on path derivation
* Progress with implementation
* More progress
* Passing intermediate test vectors
* Tidy, add comments
* Add DerivedKey structs
* Move key derivation into own crate
* Add zeroize structs
* Return error for empty seed
* Add tests
* Tidy
* Add progress
* Replace some password usage with slice
* First commits on path derivation
* Progress with implementation
* More progress
* Passing intermediate test vectors
* Tidy, add comments
* Add DerivedKey structs
* Move key derivation into own crate
* Add zeroize structs
* Return error for empty seed
* Add tests
* Tidy
* Add progress
* Expose PlainText struct
* First commits on path derivation
* Progress with implementation
* More progress
* Passing intermediate test vectors
* Tidy, add comments
* Add DerivedKey structs
* Move key derivation into own crate
* Add zeroize structs
* Return error for empty seed
* Add tests
* Tidy
* Add builder
* Expose consts, remove Password
* Minor progress
* Expose SALT_SIZE
* First compiling version
* Add test vectors
* Move dbg assert statement
* Add mnemonic, tidy
* Tidy
* Add testing
* Fix broken test
* Address review comments
Co-authored-by: pawan <pawandhananjay@gmail.com>
2020-05-11 22:54:59 +00:00
|
|
|
[[package]]
|
|
|
|
name = "once_cell"
|
2021-12-22 06:17:14 +00:00
|
|
|
version = "1.9.0"
|
EIP-2386 (draft): Eth2 wallet (#1117)
* Add test to understand flow of key storage
* First commit
* Committing to save trait stuff
* Working naive design
* Add keystore struct
* Move keystore files into their own module
* Add serde (de)serialize_with magic
* Add keystore test
* Fix tests
* Add comments and minor fixes
* Pass optional params to `to_keystore` function
* Add `path` field to keystore
* Add function to read Keystore from file
* Add test vectors and fix Version serialization
* Checksum params is empty object
* Add public key to Keystore
* Add function for saving keystore into file
* Deleted account_manager main.rs
* Move keystore module to validator_client
* Add save_keystore method to validator_directory
* Add load_keystore function. Minor refactorings
* Fixed dependencies
* Address some review comments
* Add Password newtype; derive Zeroize
* Fix test
* Move keystore into own crate
* Remove padding
* Add error enum, zeroize more things
* Fix comment
* Add keystore builder
* Remove keystore stuff from val client
* Add more tests, comments
* Add more comments, test vectors
* Progress on improving JSON validation
* More JSON verification
* Start moving JSON into own mod
* Remove old code
* Add more tests, reader/writers
* Tidy
* Move keystore into own file
* Move more logic into keystore file
* Tidy
* Tidy
* Allow for odd-character hex
* Add more json missing field checks
* Use scrypt by default
* Tidy, address comments
* Test path and uuid in vectors
* Fix comment
* Add checks for kdf params
* Enforce empty kdf message
* Expose json_keystore mod
* First commits on path derivation
* Progress with implementation
* More progress
* Passing intermediate test vectors
* Tidy, add comments
* Add DerivedKey structs
* Move key derivation into own crate
* Add zeroize structs
* Return error for empty seed
* Add tests
* Tidy
* First commits on path derivation
* Progress with implementation
* Move key derivation into own crate
* Start defining JSON wallet
* Add progress
* Split out encrypt/decrypt
* First commits on path derivation
* Progress with implementation
* More progress
* Passing intermediate test vectors
* Tidy, add comments
* Add DerivedKey structs
* Move key derivation into own crate
* Add zeroize structs
* Return error for empty seed
* Add tests
* Tidy
* Add progress
* Replace some password usage with slice
* First commits on path derivation
* Progress with implementation
* More progress
* Passing intermediate test vectors
* Tidy, add comments
* Add DerivedKey structs
* Move key derivation into own crate
* Add zeroize structs
* Return error for empty seed
* Add tests
* Tidy
* Add progress
* Expose PlainText struct
* First commits on path derivation
* Progress with implementation
* More progress
* Passing intermediate test vectors
* Tidy, add comments
* Add DerivedKey structs
* Move key derivation into own crate
* Add zeroize structs
* Return error for empty seed
* Add tests
* Tidy
* Add builder
* Expose consts, remove Password
* Minor progress
* Expose SALT_SIZE
* First compiling version
* Add test vectors
* Move dbg assert statement
* Add mnemonic, tidy
* Tidy
* Add testing
* Fix broken test
* Address review comments
Co-authored-by: pawan <pawandhananjay@gmail.com>
2020-05-11 22:54:59 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-12-22 06:17:14 +00:00
|
|
|
checksum = "da32515d9f6e6e489d7bc9d84c71b060db7247dc035bbe44eac88cf87486d8d5"
|
EIP-2386 (draft): Eth2 wallet (#1117)
* Add test to understand flow of key storage
* First commit
* Committing to save trait stuff
* Working naive design
* Add keystore struct
* Move keystore files into their own module
* Add serde (de)serialize_with magic
* Add keystore test
* Fix tests
* Add comments and minor fixes
* Pass optional params to `to_keystore` function
* Add `path` field to keystore
* Add function to read Keystore from file
* Add test vectors and fix Version serialization
* Checksum params is empty object
* Add public key to Keystore
* Add function for saving keystore into file
* Deleted account_manager main.rs
* Move keystore module to validator_client
* Add save_keystore method to validator_directory
* Add load_keystore function. Minor refactorings
* Fixed dependencies
* Address some review comments
* Add Password newtype; derive Zeroize
* Fix test
* Move keystore into own crate
* Remove padding
* Add error enum, zeroize more things
* Fix comment
* Add keystore builder
* Remove keystore stuff from val client
* Add more tests, comments
* Add more comments, test vectors
* Progress on improving JSON validation
* More JSON verification
* Start moving JSON into own mod
* Remove old code
* Add more tests, reader/writers
* Tidy
* Move keystore into own file
* Move more logic into keystore file
* Tidy
* Tidy
* Allow for odd-character hex
* Add more json missing field checks
* Use scrypt by default
* Tidy, address comments
* Test path and uuid in vectors
* Fix comment
* Add checks for kdf params
* Enforce empty kdf message
* Expose json_keystore mod
* First commits on path derivation
* Progress with implementation
* More progress
* Passing intermediate test vectors
* Tidy, add comments
* Add DerivedKey structs
* Move key derivation into own crate
* Add zeroize structs
* Return error for empty seed
* Add tests
* Tidy
* First commits on path derivation
* Progress with implementation
* Move key derivation into own crate
* Start defining JSON wallet
* Add progress
* Split out encrypt/decrypt
* First commits on path derivation
* Progress with implementation
* More progress
* Passing intermediate test vectors
* Tidy, add comments
* Add DerivedKey structs
* Move key derivation into own crate
* Add zeroize structs
* Return error for empty seed
* Add tests
* Tidy
* Add progress
* Replace some password usage with slice
* First commits on path derivation
* Progress with implementation
* More progress
* Passing intermediate test vectors
* Tidy, add comments
* Add DerivedKey structs
* Move key derivation into own crate
* Add zeroize structs
* Return error for empty seed
* Add tests
* Tidy
* Add progress
* Expose PlainText struct
* First commits on path derivation
* Progress with implementation
* More progress
* Passing intermediate test vectors
* Tidy, add comments
* Add DerivedKey structs
* Move key derivation into own crate
* Add zeroize structs
* Return error for empty seed
* Add tests
* Tidy
* Add builder
* Expose consts, remove Password
* Minor progress
* Expose SALT_SIZE
* First compiling version
* Add test vectors
* Move dbg assert statement
* Add mnemonic, tidy
* Tidy
* Add testing
* Fix broken test
* Address review comments
Co-authored-by: pawan <pawandhananjay@gmail.com>
2020-05-11 22:54:59 +00:00
|
|
|
|
Initial work towards v0.2.0 (#924)
* Remove ping protocol
* Initial renaming of network services
* Correct rebasing relative to latest master
* Start updating types
* Adds HashMapDelay struct to utils
* Initial network restructure
* Network restructure. Adds new types for v0.2.0
* Removes build artefacts
* Shift validation to beacon chain
* Temporarily remove gossip validation
This is to be updated to match current optimisation efforts.
* Adds AggregateAndProof
* Begin rebuilding pubsub encoding/decoding
* Signature hacking
* Shift gossipsup decoding into eth2_libp2p
* Existing EF tests passing with fake_crypto
* Shifts block encoding/decoding into RPC
* Delete outdated API spec
* All release tests passing bar genesis state parsing
* Update and test YamlConfig
* Update to spec v0.10 compatible BLS
* Updates to BLS EF tests
* Add EF test for AggregateVerify
And delete unused hash2curve tests for uncompressed points
* Update EF tests to v0.10.1
* Use optional block root correctly in block proc
* Use genesis fork in deposit domain. All tests pass
* Fast aggregate verify test
* Update REST API docs
* Fix unused import
* Bump spec tags to v0.10.1
* Add `seconds_per_eth1_block` to chainspec
* Update to timestamp based eth1 voting scheme
* Return None from `get_votes_to_consider` if block cache is empty
* Handle overflows in `is_candidate_block`
* Revert to failing tests
* Fix eth1 data sets test
* Choose default vote according to spec
* Fix collect_valid_votes tests
* Fix `get_votes_to_consider` to choose all eligible blocks
* Uncomment winning_vote tests
* Add comments; remove unused code
* Reduce seconds_per_eth1_block for simulation
* Addressed review comments
* Add test for default vote case
* Fix logs
* Remove unused functions
* Meter default eth1 votes
* Fix comments
* Progress on attestation service
* Address review comments; remove unused dependency
* Initial work on removing libp2p lock
* Add LRU caches to store (rollup)
* Update attestation validation for DB changes (WIP)
* Initial version of should_forward_block
* Scaffold
* Progress on attestation validation
Also, consolidate prod+testing slot clocks so that they share much
of the same implementation and can both handle sub-slot time changes.
* Removes lock from libp2p service
* Completed network lock removal
* Finish(?) attestation processing
* Correct network termination future
* Add slot check to block check
* Correct fmt issues
* Remove Drop implementation for network service
* Add first attempt at attestation proc. re-write
* Add version 2 of attestation processing
* Minor fixes
* Add validator pubkey cache
* Make get_indexed_attestation take a committee
* Link signature processing into new attn verification
* First working version
* Ensure pubkey cache is updated
* Add more metrics, slight optimizations
* Clone committee cache during attestation processing
* Update shuffling cache during block processing
* Remove old commented-out code
* Fix shuffling cache insert bug
* Used indexed attestation in fork choice
* Restructure attn processing, add metrics
* Add more detailed metrics
* Tidy, fix failing tests
* Fix failing tests, tidy
* Address reviewers suggestions
* Disable/delete two outdated tests
* Modification of validator for subscriptions
* Add slot signing to validator client
* Further progress on validation subscription
* Adds necessary validator subscription functionality
* Add new Pubkeys struct to signature_sets
* Refactor with functional approach
* Update beacon chain
* Clean up validator <-> beacon node http types
* Add aggregator status to ValidatorDuty
* Impl Clone for manual slot clock
* Fix minor errors
* Further progress validator client subscription
* Initial subscription and aggregation handling
* Remove decompressed member from pubkey bytes
* Progress to modifying val client for attestation aggregation
* First draft of validator client upgrade for aggregate attestations
* Add hashmap for indices lookup
* Add state cache, remove store cache
* Only build the head committee cache
* Removes lock on a network channel
* Partially implement beacon node subscription http api
* Correct compilation issues
* Change `get_attesting_indices` to use Vec
* Fix failing test
* Partial implementation of timer
* Adds timer, removes exit_future, http api to op pool
* Partial multiple aggregate attestation handling
* Permits bulk messages accross gossipsub network channel
* Correct compile issues
* Improve gosispsub messaging and correct rest api helpers
* Added global gossipsub subscriptions
* Update validator subscriptions data structs
* Tidy
* Re-structure validator subscriptions
* Initial handling of subscriptions
* Re-structure network service
* Add pubkey cache persistence file
* Add more comments
* Integrate persistence file into builder
* Add pubkey cache tests
* Add HashSetDelay and introduce into attestation service
* Handles validator subscriptions
* Add data_dir to beacon chain builder
* Remove Option in pubkey cache persistence file
* Ensure consistency between datadir/data_dir
* Fix failing network test
* Peer subnet discovery gets queued for future subscriptions
* Reorganise attestation service functions
* Initial wiring of attestation service
* First draft of attestation service timing logic
* Correct minor typos
* Tidy
* Fix todos
* Improve tests
* Add PeerInfo to connected peers mapping
* Fix compile error
* Fix compile error from merge
* Split up block processing metrics
* Tidy
* Refactor get_pubkey_from_state
* Remove commented-out code
* Rename state_cache -> checkpoint_cache
* Rename Checkpoint -> Snapshot
* Tidy, add comments
* Tidy up find_head function
* Change some checkpoint -> snapshot
* Add tests
* Expose max_len
* Remove dead code
* Tidy
* Fix bug
* Add sync-speed metric
* Add first attempt at VerifiableBlock
* Start integrating into beacon chain
* Integrate VerifiableBlock
* Rename VerifableBlock -> PartialBlockVerification
* Add start of typed methods
* Add progress
* Add further progress
* Rename structs
* Add full block verification to block_processing.rs
* Further beacon chain integration
* Update checks for gossip
* Add todo
* Start adding segement verification
* Add passing chain segement test
* Initial integration with batch sync
* Minor changes
* Tidy, add more error checking
* Start adding chain_segment tests
* Finish invalid signature tests
* Include single and gossip verified blocks in tests
* Add gossip verification tests
* Start adding docs
* Finish adding comments to block_processing.rs
* Rename block_processing.rs -> block_verification
* Start removing old block processing code
* Fixes beacon_chain compilation
* Fix project-wide compile errors
* Remove old code
* Correct code to pass all tests
* Fix bug with beacon proposer index
* Fix shim for BlockProcessingError
* Only process one epoch at a time
* Fix loop in chain segment processing
* Correct tests from master merge
* Add caching for state.eth1_data_votes
* Add BeaconChain::validator_pubkey
* Revert "Add caching for state.eth1_data_votes"
This reverts commit cd73dcd6434fb8d8e6bf30c5356355598ea7b78e.
Co-authored-by: Grant Wuerker <gwuerker@gmail.com>
Co-authored-by: Michael Sproul <michael@sigmaprime.io>
Co-authored-by: Michael Sproul <micsproul@gmail.com>
Co-authored-by: pawan <pawandhananjay@gmail.com>
Co-authored-by: Paul Hauner <paul@paulhauner.com>
2020-03-17 06:24:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "oorandom"
|
2020-11-24 00:44:40 +00:00
|
|
|
version = "11.1.3"
|
Initial work towards v0.2.0 (#924)
* Remove ping protocol
* Initial renaming of network services
* Correct rebasing relative to latest master
* Start updating types
* Adds HashMapDelay struct to utils
* Initial network restructure
* Network restructure. Adds new types for v0.2.0
* Removes build artefacts
* Shift validation to beacon chain
* Temporarily remove gossip validation
This is to be updated to match current optimisation efforts.
* Adds AggregateAndProof
* Begin rebuilding pubsub encoding/decoding
* Signature hacking
* Shift gossipsup decoding into eth2_libp2p
* Existing EF tests passing with fake_crypto
* Shifts block encoding/decoding into RPC
* Delete outdated API spec
* All release tests passing bar genesis state parsing
* Update and test YamlConfig
* Update to spec v0.10 compatible BLS
* Updates to BLS EF tests
* Add EF test for AggregateVerify
And delete unused hash2curve tests for uncompressed points
* Update EF tests to v0.10.1
* Use optional block root correctly in block proc
* Use genesis fork in deposit domain. All tests pass
* Fast aggregate verify test
* Update REST API docs
* Fix unused import
* Bump spec tags to v0.10.1
* Add `seconds_per_eth1_block` to chainspec
* Update to timestamp based eth1 voting scheme
* Return None from `get_votes_to_consider` if block cache is empty
* Handle overflows in `is_candidate_block`
* Revert to failing tests
* Fix eth1 data sets test
* Choose default vote according to spec
* Fix collect_valid_votes tests
* Fix `get_votes_to_consider` to choose all eligible blocks
* Uncomment winning_vote tests
* Add comments; remove unused code
* Reduce seconds_per_eth1_block for simulation
* Addressed review comments
* Add test for default vote case
* Fix logs
* Remove unused functions
* Meter default eth1 votes
* Fix comments
* Progress on attestation service
* Address review comments; remove unused dependency
* Initial work on removing libp2p lock
* Add LRU caches to store (rollup)
* Update attestation validation for DB changes (WIP)
* Initial version of should_forward_block
* Scaffold
* Progress on attestation validation
Also, consolidate prod+testing slot clocks so that they share much
of the same implementation and can both handle sub-slot time changes.
* Removes lock from libp2p service
* Completed network lock removal
* Finish(?) attestation processing
* Correct network termination future
* Add slot check to block check
* Correct fmt issues
* Remove Drop implementation for network service
* Add first attempt at attestation proc. re-write
* Add version 2 of attestation processing
* Minor fixes
* Add validator pubkey cache
* Make get_indexed_attestation take a committee
* Link signature processing into new attn verification
* First working version
* Ensure pubkey cache is updated
* Add more metrics, slight optimizations
* Clone committee cache during attestation processing
* Update shuffling cache during block processing
* Remove old commented-out code
* Fix shuffling cache insert bug
* Used indexed attestation in fork choice
* Restructure attn processing, add metrics
* Add more detailed metrics
* Tidy, fix failing tests
* Fix failing tests, tidy
* Address reviewers suggestions
* Disable/delete two outdated tests
* Modification of validator for subscriptions
* Add slot signing to validator client
* Further progress on validation subscription
* Adds necessary validator subscription functionality
* Add new Pubkeys struct to signature_sets
* Refactor with functional approach
* Update beacon chain
* Clean up validator <-> beacon node http types
* Add aggregator status to ValidatorDuty
* Impl Clone for manual slot clock
* Fix minor errors
* Further progress validator client subscription
* Initial subscription and aggregation handling
* Remove decompressed member from pubkey bytes
* Progress to modifying val client for attestation aggregation
* First draft of validator client upgrade for aggregate attestations
* Add hashmap for indices lookup
* Add state cache, remove store cache
* Only build the head committee cache
* Removes lock on a network channel
* Partially implement beacon node subscription http api
* Correct compilation issues
* Change `get_attesting_indices` to use Vec
* Fix failing test
* Partial implementation of timer
* Adds timer, removes exit_future, http api to op pool
* Partial multiple aggregate attestation handling
* Permits bulk messages accross gossipsub network channel
* Correct compile issues
* Improve gosispsub messaging and correct rest api helpers
* Added global gossipsub subscriptions
* Update validator subscriptions data structs
* Tidy
* Re-structure validator subscriptions
* Initial handling of subscriptions
* Re-structure network service
* Add pubkey cache persistence file
* Add more comments
* Integrate persistence file into builder
* Add pubkey cache tests
* Add HashSetDelay and introduce into attestation service
* Handles validator subscriptions
* Add data_dir to beacon chain builder
* Remove Option in pubkey cache persistence file
* Ensure consistency between datadir/data_dir
* Fix failing network test
* Peer subnet discovery gets queued for future subscriptions
* Reorganise attestation service functions
* Initial wiring of attestation service
* First draft of attestation service timing logic
* Correct minor typos
* Tidy
* Fix todos
* Improve tests
* Add PeerInfo to connected peers mapping
* Fix compile error
* Fix compile error from merge
* Split up block processing metrics
* Tidy
* Refactor get_pubkey_from_state
* Remove commented-out code
* Rename state_cache -> checkpoint_cache
* Rename Checkpoint -> Snapshot
* Tidy, add comments
* Tidy up find_head function
* Change some checkpoint -> snapshot
* Add tests
* Expose max_len
* Remove dead code
* Tidy
* Fix bug
* Add sync-speed metric
* Add first attempt at VerifiableBlock
* Start integrating into beacon chain
* Integrate VerifiableBlock
* Rename VerifableBlock -> PartialBlockVerification
* Add start of typed methods
* Add progress
* Add further progress
* Rename structs
* Add full block verification to block_processing.rs
* Further beacon chain integration
* Update checks for gossip
* Add todo
* Start adding segement verification
* Add passing chain segement test
* Initial integration with batch sync
* Minor changes
* Tidy, add more error checking
* Start adding chain_segment tests
* Finish invalid signature tests
* Include single and gossip verified blocks in tests
* Add gossip verification tests
* Start adding docs
* Finish adding comments to block_processing.rs
* Rename block_processing.rs -> block_verification
* Start removing old block processing code
* Fixes beacon_chain compilation
* Fix project-wide compile errors
* Remove old code
* Correct code to pass all tests
* Fix bug with beacon proposer index
* Fix shim for BlockProcessingError
* Only process one epoch at a time
* Fix loop in chain segment processing
* Correct tests from master merge
* Add caching for state.eth1_data_votes
* Add BeaconChain::validator_pubkey
* Revert "Add caching for state.eth1_data_votes"
This reverts commit cd73dcd6434fb8d8e6bf30c5356355598ea7b78e.
Co-authored-by: Grant Wuerker <gwuerker@gmail.com>
Co-authored-by: Michael Sproul <michael@sigmaprime.io>
Co-authored-by: Michael Sproul <micsproul@gmail.com>
Co-authored-by: pawan <pawandhananjay@gmail.com>
Co-authored-by: Paul Hauner <paul@paulhauner.com>
2020-03-17 06:24:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2020-11-24 00:44:40 +00:00
|
|
|
checksum = "0ab1bc2a289d34bd04a330323ac98a1b4bc82c9d9fcb1e66b63caa84da26b575"
|
Initial work towards v0.2.0 (#924)
* Remove ping protocol
* Initial renaming of network services
* Correct rebasing relative to latest master
* Start updating types
* Adds HashMapDelay struct to utils
* Initial network restructure
* Network restructure. Adds new types for v0.2.0
* Removes build artefacts
* Shift validation to beacon chain
* Temporarily remove gossip validation
This is to be updated to match current optimisation efforts.
* Adds AggregateAndProof
* Begin rebuilding pubsub encoding/decoding
* Signature hacking
* Shift gossipsup decoding into eth2_libp2p
* Existing EF tests passing with fake_crypto
* Shifts block encoding/decoding into RPC
* Delete outdated API spec
* All release tests passing bar genesis state parsing
* Update and test YamlConfig
* Update to spec v0.10 compatible BLS
* Updates to BLS EF tests
* Add EF test for AggregateVerify
And delete unused hash2curve tests for uncompressed points
* Update EF tests to v0.10.1
* Use optional block root correctly in block proc
* Use genesis fork in deposit domain. All tests pass
* Fast aggregate verify test
* Update REST API docs
* Fix unused import
* Bump spec tags to v0.10.1
* Add `seconds_per_eth1_block` to chainspec
* Update to timestamp based eth1 voting scheme
* Return None from `get_votes_to_consider` if block cache is empty
* Handle overflows in `is_candidate_block`
* Revert to failing tests
* Fix eth1 data sets test
* Choose default vote according to spec
* Fix collect_valid_votes tests
* Fix `get_votes_to_consider` to choose all eligible blocks
* Uncomment winning_vote tests
* Add comments; remove unused code
* Reduce seconds_per_eth1_block for simulation
* Addressed review comments
* Add test for default vote case
* Fix logs
* Remove unused functions
* Meter default eth1 votes
* Fix comments
* Progress on attestation service
* Address review comments; remove unused dependency
* Initial work on removing libp2p lock
* Add LRU caches to store (rollup)
* Update attestation validation for DB changes (WIP)
* Initial version of should_forward_block
* Scaffold
* Progress on attestation validation
Also, consolidate prod+testing slot clocks so that they share much
of the same implementation and can both handle sub-slot time changes.
* Removes lock from libp2p service
* Completed network lock removal
* Finish(?) attestation processing
* Correct network termination future
* Add slot check to block check
* Correct fmt issues
* Remove Drop implementation for network service
* Add first attempt at attestation proc. re-write
* Add version 2 of attestation processing
* Minor fixes
* Add validator pubkey cache
* Make get_indexed_attestation take a committee
* Link signature processing into new attn verification
* First working version
* Ensure pubkey cache is updated
* Add more metrics, slight optimizations
* Clone committee cache during attestation processing
* Update shuffling cache during block processing
* Remove old commented-out code
* Fix shuffling cache insert bug
* Used indexed attestation in fork choice
* Restructure attn processing, add metrics
* Add more detailed metrics
* Tidy, fix failing tests
* Fix failing tests, tidy
* Address reviewers suggestions
* Disable/delete two outdated tests
* Modification of validator for subscriptions
* Add slot signing to validator client
* Further progress on validation subscription
* Adds necessary validator subscription functionality
* Add new Pubkeys struct to signature_sets
* Refactor with functional approach
* Update beacon chain
* Clean up validator <-> beacon node http types
* Add aggregator status to ValidatorDuty
* Impl Clone for manual slot clock
* Fix minor errors
* Further progress validator client subscription
* Initial subscription and aggregation handling
* Remove decompressed member from pubkey bytes
* Progress to modifying val client for attestation aggregation
* First draft of validator client upgrade for aggregate attestations
* Add hashmap for indices lookup
* Add state cache, remove store cache
* Only build the head committee cache
* Removes lock on a network channel
* Partially implement beacon node subscription http api
* Correct compilation issues
* Change `get_attesting_indices` to use Vec
* Fix failing test
* Partial implementation of timer
* Adds timer, removes exit_future, http api to op pool
* Partial multiple aggregate attestation handling
* Permits bulk messages accross gossipsub network channel
* Correct compile issues
* Improve gosispsub messaging and correct rest api helpers
* Added global gossipsub subscriptions
* Update validator subscriptions data structs
* Tidy
* Re-structure validator subscriptions
* Initial handling of subscriptions
* Re-structure network service
* Add pubkey cache persistence file
* Add more comments
* Integrate persistence file into builder
* Add pubkey cache tests
* Add HashSetDelay and introduce into attestation service
* Handles validator subscriptions
* Add data_dir to beacon chain builder
* Remove Option in pubkey cache persistence file
* Ensure consistency between datadir/data_dir
* Fix failing network test
* Peer subnet discovery gets queued for future subscriptions
* Reorganise attestation service functions
* Initial wiring of attestation service
* First draft of attestation service timing logic
* Correct minor typos
* Tidy
* Fix todos
* Improve tests
* Add PeerInfo to connected peers mapping
* Fix compile error
* Fix compile error from merge
* Split up block processing metrics
* Tidy
* Refactor get_pubkey_from_state
* Remove commented-out code
* Rename state_cache -> checkpoint_cache
* Rename Checkpoint -> Snapshot
* Tidy, add comments
* Tidy up find_head function
* Change some checkpoint -> snapshot
* Add tests
* Expose max_len
* Remove dead code
* Tidy
* Fix bug
* Add sync-speed metric
* Add first attempt at VerifiableBlock
* Start integrating into beacon chain
* Integrate VerifiableBlock
* Rename VerifableBlock -> PartialBlockVerification
* Add start of typed methods
* Add progress
* Add further progress
* Rename structs
* Add full block verification to block_processing.rs
* Further beacon chain integration
* Update checks for gossip
* Add todo
* Start adding segement verification
* Add passing chain segement test
* Initial integration with batch sync
* Minor changes
* Tidy, add more error checking
* Start adding chain_segment tests
* Finish invalid signature tests
* Include single and gossip verified blocks in tests
* Add gossip verification tests
* Start adding docs
* Finish adding comments to block_processing.rs
* Rename block_processing.rs -> block_verification
* Start removing old block processing code
* Fixes beacon_chain compilation
* Fix project-wide compile errors
* Remove old code
* Correct code to pass all tests
* Fix bug with beacon proposer index
* Fix shim for BlockProcessingError
* Only process one epoch at a time
* Fix loop in chain segment processing
* Correct tests from master merge
* Add caching for state.eth1_data_votes
* Add BeaconChain::validator_pubkey
* Revert "Add caching for state.eth1_data_votes"
This reverts commit cd73dcd6434fb8d8e6bf30c5356355598ea7b78e.
Co-authored-by: Grant Wuerker <gwuerker@gmail.com>
Co-authored-by: Michael Sproul <michael@sigmaprime.io>
Co-authored-by: Michael Sproul <micsproul@gmail.com>
Co-authored-by: pawan <pawandhananjay@gmail.com>
Co-authored-by: Paul Hauner <paul@paulhauner.com>
2020-03-17 06:24:44 +00:00
|
|
|
|
2020-07-06 01:55:56 +00:00
|
|
|
[[package]]
|
|
|
|
name = "opaque-debug"
|
|
|
|
version = "0.3.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5"
|
|
|
|
|
2021-10-29 01:59:29 +00:00
|
|
|
[[package]]
|
|
|
|
name = "open-metrics-client"
|
2021-12-22 06:17:14 +00:00
|
|
|
version = "0.13.0"
|
2021-10-29 01:59:29 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-12-22 06:17:14 +00:00
|
|
|
checksum = "9e224744b2e4da5b241857d2363a13bce60425f7b6ae2a5ff88d4d5557d9cc85"
|
2021-10-29 01:59:29 +00:00
|
|
|
dependencies = [
|
|
|
|
"dtoa",
|
2021-12-22 06:17:14 +00:00
|
|
|
"itoa 0.4.8",
|
2021-10-29 01:59:29 +00:00
|
|
|
"open-metrics-client-derive-text-encode",
|
|
|
|
"owning_ref",
|
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "open-metrics-client-derive-text-encode"
|
|
|
|
version = "0.1.1"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
checksum = "a15c83b586f00268c619c1cb3340ec1a6f59dd9ba1d9833a273a68e6d5cd8ffc"
|
|
|
|
dependencies = [
|
|
|
|
"proc-macro2",
|
|
|
|
"quote",
|
|
|
|
"syn",
|
|
|
|
]
|
|
|
|
|
2019-12-09 11:39:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "openssl"
|
2021-11-18 05:08:42 +00:00
|
|
|
version = "0.10.38"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-11-18 05:08:42 +00:00
|
|
|
checksum = "0c7ae222234c30df141154f159066c5093ff73b63204dcda7121eb082fc56a95"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2020-12-09 01:34:58 +00:00
|
|
|
"bitflags",
|
2021-11-18 05:08:42 +00:00
|
|
|
"cfg-if",
|
2020-05-10 09:56:31 +00:00
|
|
|
"foreign-types",
|
|
|
|
"libc",
|
2021-05-04 00:44:05 +00:00
|
|
|
"once_cell",
|
2020-05-10 09:56:31 +00:00
|
|
|
"openssl-sys",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "openssl-probe"
|
2022-01-14 05:42:47 +00:00
|
|
|
version = "0.1.5"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2022-01-14 05:42:47 +00:00
|
|
|
checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf"
|
2019-12-09 11:39:44 +00:00
|
|
|
|
2020-08-11 05:16:30 +00:00
|
|
|
[[package]]
|
|
|
|
name = "openssl-src"
|
2021-12-15 03:56:14 +00:00
|
|
|
version = "111.17.0+1.1.1m"
|
2020-08-11 05:16:30 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-12-15 03:56:14 +00:00
|
|
|
checksum = "05d6a336abd10814198f66e2a91ccd7336611f30334119ca8ce300536666fcf4"
|
2020-08-11 05:16:30 +00:00
|
|
|
dependencies = [
|
|
|
|
"cc",
|
|
|
|
]
|
|
|
|
|
2019-12-09 11:39:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "openssl-sys"
|
2021-12-15 03:56:14 +00:00
|
|
|
version = "0.9.72"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-12-15 03:56:14 +00:00
|
|
|
checksum = "7e46109c383602735fa0a2e48dd2b7c892b048e1bf69e5c3b1d804b7d9c203cb"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2020-08-21 12:00:01 +00:00
|
|
|
"autocfg 1.0.1",
|
2020-05-10 09:56:31 +00:00
|
|
|
"cc",
|
|
|
|
"libc",
|
2020-08-11 05:16:30 +00:00
|
|
|
"openssl-src",
|
2020-05-10 09:56:31 +00:00
|
|
|
"pkg-config",
|
|
|
|
"vcpkg",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "operation_pool"
|
2020-08-06 03:43:05 +00:00
|
|
|
version = "0.2.0"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2021-07-09 06:15:32 +00:00
|
|
|
"beacon_chain",
|
2021-07-15 00:52:02 +00:00
|
|
|
"derivative",
|
2021-11-29 03:57:54 +00:00
|
|
|
"eth2_ssz",
|
2021-11-24 00:28:30 +00:00
|
|
|
"eth2_ssz_derive 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2021-08-17 01:00:24 +00:00
|
|
|
"itertools",
|
2021-04-13 05:27:42 +00:00
|
|
|
"lazy_static",
|
|
|
|
"lighthouse_metrics",
|
2020-12-09 01:34:58 +00:00
|
|
|
"parking_lot",
|
2021-04-13 05:27:42 +00:00
|
|
|
"rayon",
|
2020-05-10 09:56:31 +00:00
|
|
|
"serde",
|
|
|
|
"serde_derive",
|
|
|
|
"state_processing",
|
|
|
|
"store",
|
|
|
|
"types",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
2021-10-29 01:59:29 +00:00
|
|
|
[[package]]
|
|
|
|
name = "owning_ref"
|
|
|
|
version = "0.4.1"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
checksum = "6ff55baddef9e4ad00f88b6c743a2a8062d4c6ade126c2a528644b8e444d52ce"
|
|
|
|
dependencies = [
|
|
|
|
"stable_deref_trait",
|
|
|
|
]
|
|
|
|
|
2021-12-22 06:17:14 +00:00
|
|
|
[[package]]
|
|
|
|
name = "p256"
|
|
|
|
version = "0.10.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
checksum = "d0e0c5310031b5d4528ac6534bccc1446c289ac45c47b277d5aa91089c5f74fa"
|
|
|
|
dependencies = [
|
2022-01-11 01:35:56 +00:00
|
|
|
"ecdsa 0.13.4",
|
2021-12-22 06:17:14 +00:00
|
|
|
"elliptic-curve 0.11.6",
|
|
|
|
"sec1",
|
2022-01-11 01:35:56 +00:00
|
|
|
"sha2 0.9.9",
|
2021-12-22 06:17:14 +00:00
|
|
|
]
|
|
|
|
|
2019-12-09 11:39:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "parity-scale-codec"
|
2021-03-02 05:59:49 +00:00
|
|
|
version = "1.3.7"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-03-02 05:59:49 +00:00
|
|
|
checksum = "a4b26b16c7687c3075982af47719e481815df30bc544f7a6690763a25ca16e9d"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2021-07-05 00:54:17 +00:00
|
|
|
"arrayvec 0.5.2",
|
2020-10-05 08:22:19 +00:00
|
|
|
"bitvec 0.17.4",
|
2021-07-09 03:20:24 +00:00
|
|
|
"byte-slice-cast 0.3.5",
|
2020-05-10 09:56:31 +00:00
|
|
|
"serde",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
2021-07-09 03:20:24 +00:00
|
|
|
[[package]]
|
|
|
|
name = "parity-scale-codec"
|
2021-10-01 01:23:55 +00:00
|
|
|
version = "2.3.1"
|
2021-07-09 03:20:24 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-10-01 01:23:55 +00:00
|
|
|
checksum = "373b1a4c1338d9cd3d1fa53b3a11bdab5ab6bd80a20f7f7becd76953ae2be909"
|
2021-07-09 03:20:24 +00:00
|
|
|
dependencies = [
|
2021-11-18 05:08:42 +00:00
|
|
|
"arrayvec 0.7.2",
|
2021-07-09 03:20:24 +00:00
|
|
|
"bitvec 0.20.4",
|
2021-10-29 01:59:29 +00:00
|
|
|
"byte-slice-cast 1.2.0",
|
2021-07-09 03:20:24 +00:00
|
|
|
"impl-trait-for-tuples",
|
|
|
|
"parity-scale-codec-derive",
|
|
|
|
"serde",
|
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "parity-scale-codec-derive"
|
2021-10-01 01:23:55 +00:00
|
|
|
version = "2.3.1"
|
2021-07-09 03:20:24 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-10-01 01:23:55 +00:00
|
|
|
checksum = "1557010476e0595c9b568d16dcfb81b93cdeb157612726f5170d31aa707bed27"
|
2021-07-09 03:20:24 +00:00
|
|
|
dependencies = [
|
|
|
|
"proc-macro-crate",
|
|
|
|
"proc-macro2",
|
|
|
|
"quote",
|
|
|
|
"syn",
|
|
|
|
]
|
|
|
|
|
2020-07-06 01:55:56 +00:00
|
|
|
[[package]]
|
|
|
|
name = "parking_lot"
|
2021-09-16 04:45:05 +00:00
|
|
|
version = "0.11.2"
|
2020-07-06 01:55:56 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-09-16 04:45:05 +00:00
|
|
|
checksum = "7d17b78036a60663b797adeaee46f5c9dfebb86948d1255007a1d6be0271ff99"
|
2020-07-06 01:55:56 +00:00
|
|
|
dependencies = [
|
|
|
|
"instant",
|
2020-12-09 01:34:58 +00:00
|
|
|
"lock_api",
|
|
|
|
"parking_lot_core",
|
2020-07-06 01:55:56 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "parking_lot_core"
|
2021-09-16 04:45:05 +00:00
|
|
|
version = "0.8.5"
|
2020-07-06 01:55:56 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-09-16 04:45:05 +00:00
|
|
|
checksum = "d76e8e1493bcac0d2766c42737f34458f1c8c50c0d23bcb24ea953affb273216"
|
2020-07-06 01:55:56 +00:00
|
|
|
dependencies = [
|
2021-11-18 05:08:42 +00:00
|
|
|
"cfg-if",
|
2020-07-06 01:55:56 +00:00
|
|
|
"instant",
|
2020-05-10 09:56:31 +00:00
|
|
|
"libc",
|
2021-07-05 00:54:17 +00:00
|
|
|
"redox_syscall",
|
2020-12-09 01:34:58 +00:00
|
|
|
"smallvec",
|
2021-07-09 03:20:24 +00:00
|
|
|
"winapi",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
2021-08-30 23:27:28 +00:00
|
|
|
[[package]]
|
|
|
|
name = "paste"
|
2021-11-18 05:08:42 +00:00
|
|
|
version = "1.0.6"
|
2021-08-30 23:27:28 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-11-18 05:08:42 +00:00
|
|
|
checksum = "0744126afe1a6dd7f394cb50a716dbe086cb06e255e53d8d0185d82828358fb5"
|
2021-08-30 23:27:28 +00:00
|
|
|
|
2020-07-01 08:01:03 +00:00
|
|
|
[[package]]
|
|
|
|
name = "pbkdf2"
|
|
|
|
version = "0.4.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
checksum = "216eaa586a190f0a738f2f918511eecfa90f13295abec0e457cdebcceda80cbd"
|
|
|
|
dependencies = [
|
|
|
|
"crypto-mac 0.8.0",
|
EIP-2386 (draft): Eth2 wallet (#1117)
* Add test to understand flow of key storage
* First commit
* Committing to save trait stuff
* Working naive design
* Add keystore struct
* Move keystore files into their own module
* Add serde (de)serialize_with magic
* Add keystore test
* Fix tests
* Add comments and minor fixes
* Pass optional params to `to_keystore` function
* Add `path` field to keystore
* Add function to read Keystore from file
* Add test vectors and fix Version serialization
* Checksum params is empty object
* Add public key to Keystore
* Add function for saving keystore into file
* Deleted account_manager main.rs
* Move keystore module to validator_client
* Add save_keystore method to validator_directory
* Add load_keystore function. Minor refactorings
* Fixed dependencies
* Address some review comments
* Add Password newtype; derive Zeroize
* Fix test
* Move keystore into own crate
* Remove padding
* Add error enum, zeroize more things
* Fix comment
* Add keystore builder
* Remove keystore stuff from val client
* Add more tests, comments
* Add more comments, test vectors
* Progress on improving JSON validation
* More JSON verification
* Start moving JSON into own mod
* Remove old code
* Add more tests, reader/writers
* Tidy
* Move keystore into own file
* Move more logic into keystore file
* Tidy
* Tidy
* Allow for odd-character hex
* Add more json missing field checks
* Use scrypt by default
* Tidy, address comments
* Test path and uuid in vectors
* Fix comment
* Add checks for kdf params
* Enforce empty kdf message
* Expose json_keystore mod
* First commits on path derivation
* Progress with implementation
* More progress
* Passing intermediate test vectors
* Tidy, add comments
* Add DerivedKey structs
* Move key derivation into own crate
* Add zeroize structs
* Return error for empty seed
* Add tests
* Tidy
* First commits on path derivation
* Progress with implementation
* Move key derivation into own crate
* Start defining JSON wallet
* Add progress
* Split out encrypt/decrypt
* First commits on path derivation
* Progress with implementation
* More progress
* Passing intermediate test vectors
* Tidy, add comments
* Add DerivedKey structs
* Move key derivation into own crate
* Add zeroize structs
* Return error for empty seed
* Add tests
* Tidy
* Add progress
* Replace some password usage with slice
* First commits on path derivation
* Progress with implementation
* More progress
* Passing intermediate test vectors
* Tidy, add comments
* Add DerivedKey structs
* Move key derivation into own crate
* Add zeroize structs
* Return error for empty seed
* Add tests
* Tidy
* Add progress
* Expose PlainText struct
* First commits on path derivation
* Progress with implementation
* More progress
* Passing intermediate test vectors
* Tidy, add comments
* Add DerivedKey structs
* Move key derivation into own crate
* Add zeroize structs
* Return error for empty seed
* Add tests
* Tidy
* Add builder
* Expose consts, remove Password
* Minor progress
* Expose SALT_SIZE
* First compiling version
* Add test vectors
* Move dbg assert statement
* Add mnemonic, tidy
* Tidy
* Add testing
* Fix broken test
* Address review comments
Co-authored-by: pawan <pawandhananjay@gmail.com>
2020-05-11 22:54:59 +00:00
|
|
|
]
|
|
|
|
|
2020-07-01 08:01:03 +00:00
|
|
|
[[package]]
|
|
|
|
name = "pbkdf2"
|
2021-08-17 01:00:24 +00:00
|
|
|
version = "0.8.0"
|
2020-07-01 08:01:03 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-08-17 01:00:24 +00:00
|
|
|
checksum = "d95f5254224e617595d2cc3cc73ff0a5eaf2637519e25f03388154e9378b6ffa"
|
2020-07-01 08:01:03 +00:00
|
|
|
dependencies = [
|
2021-08-17 01:00:24 +00:00
|
|
|
"crypto-mac 0.11.1",
|
EIP-2386 (draft): Eth2 wallet (#1117)
* Add test to understand flow of key storage
* First commit
* Committing to save trait stuff
* Working naive design
* Add keystore struct
* Move keystore files into their own module
* Add serde (de)serialize_with magic
* Add keystore test
* Fix tests
* Add comments and minor fixes
* Pass optional params to `to_keystore` function
* Add `path` field to keystore
* Add function to read Keystore from file
* Add test vectors and fix Version serialization
* Checksum params is empty object
* Add public key to Keystore
* Add function for saving keystore into file
* Deleted account_manager main.rs
* Move keystore module to validator_client
* Add save_keystore method to validator_directory
* Add load_keystore function. Minor refactorings
* Fixed dependencies
* Address some review comments
* Add Password newtype; derive Zeroize
* Fix test
* Move keystore into own crate
* Remove padding
* Add error enum, zeroize more things
* Fix comment
* Add keystore builder
* Remove keystore stuff from val client
* Add more tests, comments
* Add more comments, test vectors
* Progress on improving JSON validation
* More JSON verification
* Start moving JSON into own mod
* Remove old code
* Add more tests, reader/writers
* Tidy
* Move keystore into own file
* Move more logic into keystore file
* Tidy
* Tidy
* Allow for odd-character hex
* Add more json missing field checks
* Use scrypt by default
* Tidy, address comments
* Test path and uuid in vectors
* Fix comment
* Add checks for kdf params
* Enforce empty kdf message
* Expose json_keystore mod
* First commits on path derivation
* Progress with implementation
* More progress
* Passing intermediate test vectors
* Tidy, add comments
* Add DerivedKey structs
* Move key derivation into own crate
* Add zeroize structs
* Return error for empty seed
* Add tests
* Tidy
* First commits on path derivation
* Progress with implementation
* Move key derivation into own crate
* Start defining JSON wallet
* Add progress
* Split out encrypt/decrypt
* First commits on path derivation
* Progress with implementation
* More progress
* Passing intermediate test vectors
* Tidy, add comments
* Add DerivedKey structs
* Move key derivation into own crate
* Add zeroize structs
* Return error for empty seed
* Add tests
* Tidy
* Add progress
* Replace some password usage with slice
* First commits on path derivation
* Progress with implementation
* More progress
* Passing intermediate test vectors
* Tidy, add comments
* Add DerivedKey structs
* Move key derivation into own crate
* Add zeroize structs
* Return error for empty seed
* Add tests
* Tidy
* Add progress
* Expose PlainText struct
* First commits on path derivation
* Progress with implementation
* More progress
* Passing intermediate test vectors
* Tidy, add comments
* Add DerivedKey structs
* Move key derivation into own crate
* Add zeroize structs
* Return error for empty seed
* Add tests
* Tidy
* Add builder
* Expose consts, remove Password
* Minor progress
* Expose SALT_SIZE
* First compiling version
* Add test vectors
* Move dbg assert statement
* Add mnemonic, tidy
* Tidy
* Add testing
* Fix broken test
* Address review comments
Co-authored-by: pawan <pawandhananjay@gmail.com>
2020-05-11 22:54:59 +00:00
|
|
|
]
|
|
|
|
|
2021-12-21 08:23:17 +00:00
|
|
|
[[package]]
|
|
|
|
name = "peeking_take_while"
|
|
|
|
version = "0.1.2"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
checksum = "19b17cddbe7ec3f8bc800887bab5e717348c95ea2ca0b1bf0837fb964dc67099"
|
|
|
|
|
2019-12-09 11:39:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "percent-encoding"
|
|
|
|
version = "2.1.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2020-05-10 09:56:31 +00:00
|
|
|
checksum = "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e"
|
2019-12-09 11:39:44 +00:00
|
|
|
|
2021-05-19 23:05:16 +00:00
|
|
|
[[package]]
|
|
|
|
name = "pest"
|
|
|
|
version = "2.1.3"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
checksum = "10f4872ae94d7b90ae48754df22fd42ad52ce740b8f370b03da4835417403e53"
|
|
|
|
dependencies = [
|
|
|
|
"ucd-trie",
|
|
|
|
]
|
|
|
|
|
2021-10-29 01:59:29 +00:00
|
|
|
[[package]]
|
|
|
|
name = "petgraph"
|
|
|
|
version = "0.6.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
checksum = "4a13a2fa9d0b63e5f22328828741e523766fff0ee9e779316902290dff3f824f"
|
|
|
|
dependencies = [
|
2021-12-22 06:17:14 +00:00
|
|
|
"fixedbitset",
|
2020-05-17 11:16:48 +00:00
|
|
|
"indexmap",
|
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "pin-project"
|
2022-01-11 01:35:56 +00:00
|
|
|
version = "0.4.29"
|
2020-05-17 11:16:48 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2022-01-11 01:35:56 +00:00
|
|
|
checksum = "9615c18d31137579e9ff063499264ddc1278e7b1982757ebc111028c4d1dc909"
|
2020-05-17 11:16:48 +00:00
|
|
|
dependencies = [
|
2022-01-11 01:35:56 +00:00
|
|
|
"pin-project-internal 0.4.29",
|
2020-10-23 03:01:31 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "pin-project"
|
2022-01-11 01:35:56 +00:00
|
|
|
version = "1.0.10"
|
2020-10-23 03:01:31 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2022-01-11 01:35:56 +00:00
|
|
|
checksum = "58ad3879ad3baf4e44784bc6a718a8698867bb991f8ce24d1bcbe2cfb4c3a75e"
|
2020-10-23 03:01:31 +00:00
|
|
|
dependencies = [
|
2022-01-11 01:35:56 +00:00
|
|
|
"pin-project-internal 1.0.10",
|
2020-05-17 11:16:48 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "pin-project-internal"
|
2022-01-11 01:35:56 +00:00
|
|
|
version = "0.4.29"
|
2020-05-17 11:16:48 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2022-01-11 01:35:56 +00:00
|
|
|
checksum = "044964427019eed9d49d9d5bbce6047ef18f37100ea400912a9fa4a3523ab12a"
|
2020-05-17 11:16:48 +00:00
|
|
|
dependencies = [
|
|
|
|
"proc-macro2",
|
|
|
|
"quote",
|
|
|
|
"syn",
|
|
|
|
]
|
|
|
|
|
2020-10-23 03:01:31 +00:00
|
|
|
[[package]]
|
|
|
|
name = "pin-project-internal"
|
2022-01-11 01:35:56 +00:00
|
|
|
version = "1.0.10"
|
2020-10-23 03:01:31 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2022-01-11 01:35:56 +00:00
|
|
|
checksum = "744b6f092ba29c3650faf274db506afd39944f48420f6c86b17cfe0ee1cb36bb"
|
2020-10-23 03:01:31 +00:00
|
|
|
dependencies = [
|
|
|
|
"proc-macro2",
|
|
|
|
"quote",
|
|
|
|
"syn",
|
|
|
|
]
|
|
|
|
|
2020-05-17 11:16:48 +00:00
|
|
|
[[package]]
|
|
|
|
name = "pin-project-lite"
|
2021-03-08 06:27:49 +00:00
|
|
|
version = "0.1.12"
|
2020-05-17 11:16:48 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-03-08 06:27:49 +00:00
|
|
|
checksum = "257b64915a082f7811703966789728173279bdebb956b143dbcd23f6f970a777"
|
2020-05-17 11:16:48 +00:00
|
|
|
|
2020-11-24 00:44:40 +00:00
|
|
|
[[package]]
|
|
|
|
name = "pin-project-lite"
|
2022-01-11 01:35:56 +00:00
|
|
|
version = "0.2.8"
|
2020-11-24 00:44:40 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2022-01-11 01:35:56 +00:00
|
|
|
checksum = "e280fbe77cc62c91527259e9442153f4688736748d24660126286329742b4c6c"
|
2020-11-24 00:44:40 +00:00
|
|
|
|
2020-05-17 11:16:48 +00:00
|
|
|
[[package]]
|
|
|
|
name = "pin-utils"
|
|
|
|
version = "0.1.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
|
|
|
|
|
2021-02-10 23:29:49 +00:00
|
|
|
[[package]]
|
|
|
|
name = "pkcs8"
|
2021-07-05 00:54:17 +00:00
|
|
|
version = "0.6.1"
|
2021-02-10 23:29:49 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-07-05 00:54:17 +00:00
|
|
|
checksum = "c9c2f795bc591cb3384cb64082a578b89207ac92bb89c9d98c1ea2ace7cd8110"
|
2021-02-10 23:29:49 +00:00
|
|
|
dependencies = [
|
2021-12-22 06:17:14 +00:00
|
|
|
"der 0.3.5",
|
2021-07-05 00:54:17 +00:00
|
|
|
"spki",
|
2021-02-10 23:29:49 +00:00
|
|
|
]
|
|
|
|
|
2019-12-09 11:39:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "pkg-config"
|
2021-12-22 06:17:14 +00:00
|
|
|
version = "0.3.24"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-12-22 06:17:14 +00:00
|
|
|
checksum = "58893f751c9b0412871a09abd62ecd2a00298c6c83befa223ef98c52aef40cbe"
|
Initial work towards v0.2.0 (#924)
* Remove ping protocol
* Initial renaming of network services
* Correct rebasing relative to latest master
* Start updating types
* Adds HashMapDelay struct to utils
* Initial network restructure
* Network restructure. Adds new types for v0.2.0
* Removes build artefacts
* Shift validation to beacon chain
* Temporarily remove gossip validation
This is to be updated to match current optimisation efforts.
* Adds AggregateAndProof
* Begin rebuilding pubsub encoding/decoding
* Signature hacking
* Shift gossipsup decoding into eth2_libp2p
* Existing EF tests passing with fake_crypto
* Shifts block encoding/decoding into RPC
* Delete outdated API spec
* All release tests passing bar genesis state parsing
* Update and test YamlConfig
* Update to spec v0.10 compatible BLS
* Updates to BLS EF tests
* Add EF test for AggregateVerify
And delete unused hash2curve tests for uncompressed points
* Update EF tests to v0.10.1
* Use optional block root correctly in block proc
* Use genesis fork in deposit domain. All tests pass
* Fast aggregate verify test
* Update REST API docs
* Fix unused import
* Bump spec tags to v0.10.1
* Add `seconds_per_eth1_block` to chainspec
* Update to timestamp based eth1 voting scheme
* Return None from `get_votes_to_consider` if block cache is empty
* Handle overflows in `is_candidate_block`
* Revert to failing tests
* Fix eth1 data sets test
* Choose default vote according to spec
* Fix collect_valid_votes tests
* Fix `get_votes_to_consider` to choose all eligible blocks
* Uncomment winning_vote tests
* Add comments; remove unused code
* Reduce seconds_per_eth1_block for simulation
* Addressed review comments
* Add test for default vote case
* Fix logs
* Remove unused functions
* Meter default eth1 votes
* Fix comments
* Progress on attestation service
* Address review comments; remove unused dependency
* Initial work on removing libp2p lock
* Add LRU caches to store (rollup)
* Update attestation validation for DB changes (WIP)
* Initial version of should_forward_block
* Scaffold
* Progress on attestation validation
Also, consolidate prod+testing slot clocks so that they share much
of the same implementation and can both handle sub-slot time changes.
* Removes lock from libp2p service
* Completed network lock removal
* Finish(?) attestation processing
* Correct network termination future
* Add slot check to block check
* Correct fmt issues
* Remove Drop implementation for network service
* Add first attempt at attestation proc. re-write
* Add version 2 of attestation processing
* Minor fixes
* Add validator pubkey cache
* Make get_indexed_attestation take a committee
* Link signature processing into new attn verification
* First working version
* Ensure pubkey cache is updated
* Add more metrics, slight optimizations
* Clone committee cache during attestation processing
* Update shuffling cache during block processing
* Remove old commented-out code
* Fix shuffling cache insert bug
* Used indexed attestation in fork choice
* Restructure attn processing, add metrics
* Add more detailed metrics
* Tidy, fix failing tests
* Fix failing tests, tidy
* Address reviewers suggestions
* Disable/delete two outdated tests
* Modification of validator for subscriptions
* Add slot signing to validator client
* Further progress on validation subscription
* Adds necessary validator subscription functionality
* Add new Pubkeys struct to signature_sets
* Refactor with functional approach
* Update beacon chain
* Clean up validator <-> beacon node http types
* Add aggregator status to ValidatorDuty
* Impl Clone for manual slot clock
* Fix minor errors
* Further progress validator client subscription
* Initial subscription and aggregation handling
* Remove decompressed member from pubkey bytes
* Progress to modifying val client for attestation aggregation
* First draft of validator client upgrade for aggregate attestations
* Add hashmap for indices lookup
* Add state cache, remove store cache
* Only build the head committee cache
* Removes lock on a network channel
* Partially implement beacon node subscription http api
* Correct compilation issues
* Change `get_attesting_indices` to use Vec
* Fix failing test
* Partial implementation of timer
* Adds timer, removes exit_future, http api to op pool
* Partial multiple aggregate attestation handling
* Permits bulk messages accross gossipsub network channel
* Correct compile issues
* Improve gosispsub messaging and correct rest api helpers
* Added global gossipsub subscriptions
* Update validator subscriptions data structs
* Tidy
* Re-structure validator subscriptions
* Initial handling of subscriptions
* Re-structure network service
* Add pubkey cache persistence file
* Add more comments
* Integrate persistence file into builder
* Add pubkey cache tests
* Add HashSetDelay and introduce into attestation service
* Handles validator subscriptions
* Add data_dir to beacon chain builder
* Remove Option in pubkey cache persistence file
* Ensure consistency between datadir/data_dir
* Fix failing network test
* Peer subnet discovery gets queued for future subscriptions
* Reorganise attestation service functions
* Initial wiring of attestation service
* First draft of attestation service timing logic
* Correct minor typos
* Tidy
* Fix todos
* Improve tests
* Add PeerInfo to connected peers mapping
* Fix compile error
* Fix compile error from merge
* Split up block processing metrics
* Tidy
* Refactor get_pubkey_from_state
* Remove commented-out code
* Rename state_cache -> checkpoint_cache
* Rename Checkpoint -> Snapshot
* Tidy, add comments
* Tidy up find_head function
* Change some checkpoint -> snapshot
* Add tests
* Expose max_len
* Remove dead code
* Tidy
* Fix bug
* Add sync-speed metric
* Add first attempt at VerifiableBlock
* Start integrating into beacon chain
* Integrate VerifiableBlock
* Rename VerifableBlock -> PartialBlockVerification
* Add start of typed methods
* Add progress
* Add further progress
* Rename structs
* Add full block verification to block_processing.rs
* Further beacon chain integration
* Update checks for gossip
* Add todo
* Start adding segement verification
* Add passing chain segement test
* Initial integration with batch sync
* Minor changes
* Tidy, add more error checking
* Start adding chain_segment tests
* Finish invalid signature tests
* Include single and gossip verified blocks in tests
* Add gossip verification tests
* Start adding docs
* Finish adding comments to block_processing.rs
* Rename block_processing.rs -> block_verification
* Start removing old block processing code
* Fixes beacon_chain compilation
* Fix project-wide compile errors
* Remove old code
* Correct code to pass all tests
* Fix bug with beacon proposer index
* Fix shim for BlockProcessingError
* Only process one epoch at a time
* Fix loop in chain segment processing
* Correct tests from master merge
* Add caching for state.eth1_data_votes
* Add BeaconChain::validator_pubkey
* Revert "Add caching for state.eth1_data_votes"
This reverts commit cd73dcd6434fb8d8e6bf30c5356355598ea7b78e.
Co-authored-by: Grant Wuerker <gwuerker@gmail.com>
Co-authored-by: Michael Sproul <michael@sigmaprime.io>
Co-authored-by: Michael Sproul <micsproul@gmail.com>
Co-authored-by: pawan <pawandhananjay@gmail.com>
Co-authored-by: Paul Hauner <paul@paulhauner.com>
2020-03-17 06:24:44 +00:00
|
|
|
|
2020-05-29 02:03:30 +00:00
|
|
|
[[package]]
|
|
|
|
name = "platforms"
|
2021-11-18 05:08:42 +00:00
|
|
|
version = "1.1.0"
|
2020-05-29 02:03:30 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-11-18 05:08:42 +00:00
|
|
|
checksum = "989d43012e2ca1c4a02507c67282691a0a3207f9dc67cec596b43fe925b3d325"
|
2020-05-29 02:03:30 +00:00
|
|
|
|
Initial work towards v0.2.0 (#924)
* Remove ping protocol
* Initial renaming of network services
* Correct rebasing relative to latest master
* Start updating types
* Adds HashMapDelay struct to utils
* Initial network restructure
* Network restructure. Adds new types for v0.2.0
* Removes build artefacts
* Shift validation to beacon chain
* Temporarily remove gossip validation
This is to be updated to match current optimisation efforts.
* Adds AggregateAndProof
* Begin rebuilding pubsub encoding/decoding
* Signature hacking
* Shift gossipsup decoding into eth2_libp2p
* Existing EF tests passing with fake_crypto
* Shifts block encoding/decoding into RPC
* Delete outdated API spec
* All release tests passing bar genesis state parsing
* Update and test YamlConfig
* Update to spec v0.10 compatible BLS
* Updates to BLS EF tests
* Add EF test for AggregateVerify
And delete unused hash2curve tests for uncompressed points
* Update EF tests to v0.10.1
* Use optional block root correctly in block proc
* Use genesis fork in deposit domain. All tests pass
* Fast aggregate verify test
* Update REST API docs
* Fix unused import
* Bump spec tags to v0.10.1
* Add `seconds_per_eth1_block` to chainspec
* Update to timestamp based eth1 voting scheme
* Return None from `get_votes_to_consider` if block cache is empty
* Handle overflows in `is_candidate_block`
* Revert to failing tests
* Fix eth1 data sets test
* Choose default vote according to spec
* Fix collect_valid_votes tests
* Fix `get_votes_to_consider` to choose all eligible blocks
* Uncomment winning_vote tests
* Add comments; remove unused code
* Reduce seconds_per_eth1_block for simulation
* Addressed review comments
* Add test for default vote case
* Fix logs
* Remove unused functions
* Meter default eth1 votes
* Fix comments
* Progress on attestation service
* Address review comments; remove unused dependency
* Initial work on removing libp2p lock
* Add LRU caches to store (rollup)
* Update attestation validation for DB changes (WIP)
* Initial version of should_forward_block
* Scaffold
* Progress on attestation validation
Also, consolidate prod+testing slot clocks so that they share much
of the same implementation and can both handle sub-slot time changes.
* Removes lock from libp2p service
* Completed network lock removal
* Finish(?) attestation processing
* Correct network termination future
* Add slot check to block check
* Correct fmt issues
* Remove Drop implementation for network service
* Add first attempt at attestation proc. re-write
* Add version 2 of attestation processing
* Minor fixes
* Add validator pubkey cache
* Make get_indexed_attestation take a committee
* Link signature processing into new attn verification
* First working version
* Ensure pubkey cache is updated
* Add more metrics, slight optimizations
* Clone committee cache during attestation processing
* Update shuffling cache during block processing
* Remove old commented-out code
* Fix shuffling cache insert bug
* Used indexed attestation in fork choice
* Restructure attn processing, add metrics
* Add more detailed metrics
* Tidy, fix failing tests
* Fix failing tests, tidy
* Address reviewers suggestions
* Disable/delete two outdated tests
* Modification of validator for subscriptions
* Add slot signing to validator client
* Further progress on validation subscription
* Adds necessary validator subscription functionality
* Add new Pubkeys struct to signature_sets
* Refactor with functional approach
* Update beacon chain
* Clean up validator <-> beacon node http types
* Add aggregator status to ValidatorDuty
* Impl Clone for manual slot clock
* Fix minor errors
* Further progress validator client subscription
* Initial subscription and aggregation handling
* Remove decompressed member from pubkey bytes
* Progress to modifying val client for attestation aggregation
* First draft of validator client upgrade for aggregate attestations
* Add hashmap for indices lookup
* Add state cache, remove store cache
* Only build the head committee cache
* Removes lock on a network channel
* Partially implement beacon node subscription http api
* Correct compilation issues
* Change `get_attesting_indices` to use Vec
* Fix failing test
* Partial implementation of timer
* Adds timer, removes exit_future, http api to op pool
* Partial multiple aggregate attestation handling
* Permits bulk messages accross gossipsub network channel
* Correct compile issues
* Improve gosispsub messaging and correct rest api helpers
* Added global gossipsub subscriptions
* Update validator subscriptions data structs
* Tidy
* Re-structure validator subscriptions
* Initial handling of subscriptions
* Re-structure network service
* Add pubkey cache persistence file
* Add more comments
* Integrate persistence file into builder
* Add pubkey cache tests
* Add HashSetDelay and introduce into attestation service
* Handles validator subscriptions
* Add data_dir to beacon chain builder
* Remove Option in pubkey cache persistence file
* Ensure consistency between datadir/data_dir
* Fix failing network test
* Peer subnet discovery gets queued for future subscriptions
* Reorganise attestation service functions
* Initial wiring of attestation service
* First draft of attestation service timing logic
* Correct minor typos
* Tidy
* Fix todos
* Improve tests
* Add PeerInfo to connected peers mapping
* Fix compile error
* Fix compile error from merge
* Split up block processing metrics
* Tidy
* Refactor get_pubkey_from_state
* Remove commented-out code
* Rename state_cache -> checkpoint_cache
* Rename Checkpoint -> Snapshot
* Tidy, add comments
* Tidy up find_head function
* Change some checkpoint -> snapshot
* Add tests
* Expose max_len
* Remove dead code
* Tidy
* Fix bug
* Add sync-speed metric
* Add first attempt at VerifiableBlock
* Start integrating into beacon chain
* Integrate VerifiableBlock
* Rename VerifableBlock -> PartialBlockVerification
* Add start of typed methods
* Add progress
* Add further progress
* Rename structs
* Add full block verification to block_processing.rs
* Further beacon chain integration
* Update checks for gossip
* Add todo
* Start adding segement verification
* Add passing chain segement test
* Initial integration with batch sync
* Minor changes
* Tidy, add more error checking
* Start adding chain_segment tests
* Finish invalid signature tests
* Include single and gossip verified blocks in tests
* Add gossip verification tests
* Start adding docs
* Finish adding comments to block_processing.rs
* Rename block_processing.rs -> block_verification
* Start removing old block processing code
* Fixes beacon_chain compilation
* Fix project-wide compile errors
* Remove old code
* Correct code to pass all tests
* Fix bug with beacon proposer index
* Fix shim for BlockProcessingError
* Only process one epoch at a time
* Fix loop in chain segment processing
* Correct tests from master merge
* Add caching for state.eth1_data_votes
* Add BeaconChain::validator_pubkey
* Revert "Add caching for state.eth1_data_votes"
This reverts commit cd73dcd6434fb8d8e6bf30c5356355598ea7b78e.
Co-authored-by: Grant Wuerker <gwuerker@gmail.com>
Co-authored-by: Michael Sproul <michael@sigmaprime.io>
Co-authored-by: Michael Sproul <micsproul@gmail.com>
Co-authored-by: pawan <pawandhananjay@gmail.com>
Co-authored-by: Paul Hauner <paul@paulhauner.com>
2020-03-17 06:24:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "plotters"
|
2021-07-05 00:54:17 +00:00
|
|
|
version = "0.3.1"
|
Initial work towards v0.2.0 (#924)
* Remove ping protocol
* Initial renaming of network services
* Correct rebasing relative to latest master
* Start updating types
* Adds HashMapDelay struct to utils
* Initial network restructure
* Network restructure. Adds new types for v0.2.0
* Removes build artefacts
* Shift validation to beacon chain
* Temporarily remove gossip validation
This is to be updated to match current optimisation efforts.
* Adds AggregateAndProof
* Begin rebuilding pubsub encoding/decoding
* Signature hacking
* Shift gossipsup decoding into eth2_libp2p
* Existing EF tests passing with fake_crypto
* Shifts block encoding/decoding into RPC
* Delete outdated API spec
* All release tests passing bar genesis state parsing
* Update and test YamlConfig
* Update to spec v0.10 compatible BLS
* Updates to BLS EF tests
* Add EF test for AggregateVerify
And delete unused hash2curve tests for uncompressed points
* Update EF tests to v0.10.1
* Use optional block root correctly in block proc
* Use genesis fork in deposit domain. All tests pass
* Fast aggregate verify test
* Update REST API docs
* Fix unused import
* Bump spec tags to v0.10.1
* Add `seconds_per_eth1_block` to chainspec
* Update to timestamp based eth1 voting scheme
* Return None from `get_votes_to_consider` if block cache is empty
* Handle overflows in `is_candidate_block`
* Revert to failing tests
* Fix eth1 data sets test
* Choose default vote according to spec
* Fix collect_valid_votes tests
* Fix `get_votes_to_consider` to choose all eligible blocks
* Uncomment winning_vote tests
* Add comments; remove unused code
* Reduce seconds_per_eth1_block for simulation
* Addressed review comments
* Add test for default vote case
* Fix logs
* Remove unused functions
* Meter default eth1 votes
* Fix comments
* Progress on attestation service
* Address review comments; remove unused dependency
* Initial work on removing libp2p lock
* Add LRU caches to store (rollup)
* Update attestation validation for DB changes (WIP)
* Initial version of should_forward_block
* Scaffold
* Progress on attestation validation
Also, consolidate prod+testing slot clocks so that they share much
of the same implementation and can both handle sub-slot time changes.
* Removes lock from libp2p service
* Completed network lock removal
* Finish(?) attestation processing
* Correct network termination future
* Add slot check to block check
* Correct fmt issues
* Remove Drop implementation for network service
* Add first attempt at attestation proc. re-write
* Add version 2 of attestation processing
* Minor fixes
* Add validator pubkey cache
* Make get_indexed_attestation take a committee
* Link signature processing into new attn verification
* First working version
* Ensure pubkey cache is updated
* Add more metrics, slight optimizations
* Clone committee cache during attestation processing
* Update shuffling cache during block processing
* Remove old commented-out code
* Fix shuffling cache insert bug
* Used indexed attestation in fork choice
* Restructure attn processing, add metrics
* Add more detailed metrics
* Tidy, fix failing tests
* Fix failing tests, tidy
* Address reviewers suggestions
* Disable/delete two outdated tests
* Modification of validator for subscriptions
* Add slot signing to validator client
* Further progress on validation subscription
* Adds necessary validator subscription functionality
* Add new Pubkeys struct to signature_sets
* Refactor with functional approach
* Update beacon chain
* Clean up validator <-> beacon node http types
* Add aggregator status to ValidatorDuty
* Impl Clone for manual slot clock
* Fix minor errors
* Further progress validator client subscription
* Initial subscription and aggregation handling
* Remove decompressed member from pubkey bytes
* Progress to modifying val client for attestation aggregation
* First draft of validator client upgrade for aggregate attestations
* Add hashmap for indices lookup
* Add state cache, remove store cache
* Only build the head committee cache
* Removes lock on a network channel
* Partially implement beacon node subscription http api
* Correct compilation issues
* Change `get_attesting_indices` to use Vec
* Fix failing test
* Partial implementation of timer
* Adds timer, removes exit_future, http api to op pool
* Partial multiple aggregate attestation handling
* Permits bulk messages accross gossipsub network channel
* Correct compile issues
* Improve gosispsub messaging and correct rest api helpers
* Added global gossipsub subscriptions
* Update validator subscriptions data structs
* Tidy
* Re-structure validator subscriptions
* Initial handling of subscriptions
* Re-structure network service
* Add pubkey cache persistence file
* Add more comments
* Integrate persistence file into builder
* Add pubkey cache tests
* Add HashSetDelay and introduce into attestation service
* Handles validator subscriptions
* Add data_dir to beacon chain builder
* Remove Option in pubkey cache persistence file
* Ensure consistency between datadir/data_dir
* Fix failing network test
* Peer subnet discovery gets queued for future subscriptions
* Reorganise attestation service functions
* Initial wiring of attestation service
* First draft of attestation service timing logic
* Correct minor typos
* Tidy
* Fix todos
* Improve tests
* Add PeerInfo to connected peers mapping
* Fix compile error
* Fix compile error from merge
* Split up block processing metrics
* Tidy
* Refactor get_pubkey_from_state
* Remove commented-out code
* Rename state_cache -> checkpoint_cache
* Rename Checkpoint -> Snapshot
* Tidy, add comments
* Tidy up find_head function
* Change some checkpoint -> snapshot
* Add tests
* Expose max_len
* Remove dead code
* Tidy
* Fix bug
* Add sync-speed metric
* Add first attempt at VerifiableBlock
* Start integrating into beacon chain
* Integrate VerifiableBlock
* Rename VerifableBlock -> PartialBlockVerification
* Add start of typed methods
* Add progress
* Add further progress
* Rename structs
* Add full block verification to block_processing.rs
* Further beacon chain integration
* Update checks for gossip
* Add todo
* Start adding segement verification
* Add passing chain segement test
* Initial integration with batch sync
* Minor changes
* Tidy, add more error checking
* Start adding chain_segment tests
* Finish invalid signature tests
* Include single and gossip verified blocks in tests
* Add gossip verification tests
* Start adding docs
* Finish adding comments to block_processing.rs
* Rename block_processing.rs -> block_verification
* Start removing old block processing code
* Fixes beacon_chain compilation
* Fix project-wide compile errors
* Remove old code
* Correct code to pass all tests
* Fix bug with beacon proposer index
* Fix shim for BlockProcessingError
* Only process one epoch at a time
* Fix loop in chain segment processing
* Correct tests from master merge
* Add caching for state.eth1_data_votes
* Add BeaconChain::validator_pubkey
* Revert "Add caching for state.eth1_data_votes"
This reverts commit cd73dcd6434fb8d8e6bf30c5356355598ea7b78e.
Co-authored-by: Grant Wuerker <gwuerker@gmail.com>
Co-authored-by: Michael Sproul <michael@sigmaprime.io>
Co-authored-by: Michael Sproul <micsproul@gmail.com>
Co-authored-by: pawan <pawandhananjay@gmail.com>
Co-authored-by: Paul Hauner <paul@paulhauner.com>
2020-03-17 06:24:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-07-05 00:54:17 +00:00
|
|
|
checksum = "32a3fd9ec30b9749ce28cd91f255d569591cdf937fe280c312143e3c4bad6f2a"
|
Initial work towards v0.2.0 (#924)
* Remove ping protocol
* Initial renaming of network services
* Correct rebasing relative to latest master
* Start updating types
* Adds HashMapDelay struct to utils
* Initial network restructure
* Network restructure. Adds new types for v0.2.0
* Removes build artefacts
* Shift validation to beacon chain
* Temporarily remove gossip validation
This is to be updated to match current optimisation efforts.
* Adds AggregateAndProof
* Begin rebuilding pubsub encoding/decoding
* Signature hacking
* Shift gossipsup decoding into eth2_libp2p
* Existing EF tests passing with fake_crypto
* Shifts block encoding/decoding into RPC
* Delete outdated API spec
* All release tests passing bar genesis state parsing
* Update and test YamlConfig
* Update to spec v0.10 compatible BLS
* Updates to BLS EF tests
* Add EF test for AggregateVerify
And delete unused hash2curve tests for uncompressed points
* Update EF tests to v0.10.1
* Use optional block root correctly in block proc
* Use genesis fork in deposit domain. All tests pass
* Fast aggregate verify test
* Update REST API docs
* Fix unused import
* Bump spec tags to v0.10.1
* Add `seconds_per_eth1_block` to chainspec
* Update to timestamp based eth1 voting scheme
* Return None from `get_votes_to_consider` if block cache is empty
* Handle overflows in `is_candidate_block`
* Revert to failing tests
* Fix eth1 data sets test
* Choose default vote according to spec
* Fix collect_valid_votes tests
* Fix `get_votes_to_consider` to choose all eligible blocks
* Uncomment winning_vote tests
* Add comments; remove unused code
* Reduce seconds_per_eth1_block for simulation
* Addressed review comments
* Add test for default vote case
* Fix logs
* Remove unused functions
* Meter default eth1 votes
* Fix comments
* Progress on attestation service
* Address review comments; remove unused dependency
* Initial work on removing libp2p lock
* Add LRU caches to store (rollup)
* Update attestation validation for DB changes (WIP)
* Initial version of should_forward_block
* Scaffold
* Progress on attestation validation
Also, consolidate prod+testing slot clocks so that they share much
of the same implementation and can both handle sub-slot time changes.
* Removes lock from libp2p service
* Completed network lock removal
* Finish(?) attestation processing
* Correct network termination future
* Add slot check to block check
* Correct fmt issues
* Remove Drop implementation for network service
* Add first attempt at attestation proc. re-write
* Add version 2 of attestation processing
* Minor fixes
* Add validator pubkey cache
* Make get_indexed_attestation take a committee
* Link signature processing into new attn verification
* First working version
* Ensure pubkey cache is updated
* Add more metrics, slight optimizations
* Clone committee cache during attestation processing
* Update shuffling cache during block processing
* Remove old commented-out code
* Fix shuffling cache insert bug
* Used indexed attestation in fork choice
* Restructure attn processing, add metrics
* Add more detailed metrics
* Tidy, fix failing tests
* Fix failing tests, tidy
* Address reviewers suggestions
* Disable/delete two outdated tests
* Modification of validator for subscriptions
* Add slot signing to validator client
* Further progress on validation subscription
* Adds necessary validator subscription functionality
* Add new Pubkeys struct to signature_sets
* Refactor with functional approach
* Update beacon chain
* Clean up validator <-> beacon node http types
* Add aggregator status to ValidatorDuty
* Impl Clone for manual slot clock
* Fix minor errors
* Further progress validator client subscription
* Initial subscription and aggregation handling
* Remove decompressed member from pubkey bytes
* Progress to modifying val client for attestation aggregation
* First draft of validator client upgrade for aggregate attestations
* Add hashmap for indices lookup
* Add state cache, remove store cache
* Only build the head committee cache
* Removes lock on a network channel
* Partially implement beacon node subscription http api
* Correct compilation issues
* Change `get_attesting_indices` to use Vec
* Fix failing test
* Partial implementation of timer
* Adds timer, removes exit_future, http api to op pool
* Partial multiple aggregate attestation handling
* Permits bulk messages accross gossipsub network channel
* Correct compile issues
* Improve gosispsub messaging and correct rest api helpers
* Added global gossipsub subscriptions
* Update validator subscriptions data structs
* Tidy
* Re-structure validator subscriptions
* Initial handling of subscriptions
* Re-structure network service
* Add pubkey cache persistence file
* Add more comments
* Integrate persistence file into builder
* Add pubkey cache tests
* Add HashSetDelay and introduce into attestation service
* Handles validator subscriptions
* Add data_dir to beacon chain builder
* Remove Option in pubkey cache persistence file
* Ensure consistency between datadir/data_dir
* Fix failing network test
* Peer subnet discovery gets queued for future subscriptions
* Reorganise attestation service functions
* Initial wiring of attestation service
* First draft of attestation service timing logic
* Correct minor typos
* Tidy
* Fix todos
* Improve tests
* Add PeerInfo to connected peers mapping
* Fix compile error
* Fix compile error from merge
* Split up block processing metrics
* Tidy
* Refactor get_pubkey_from_state
* Remove commented-out code
* Rename state_cache -> checkpoint_cache
* Rename Checkpoint -> Snapshot
* Tidy, add comments
* Tidy up find_head function
* Change some checkpoint -> snapshot
* Add tests
* Expose max_len
* Remove dead code
* Tidy
* Fix bug
* Add sync-speed metric
* Add first attempt at VerifiableBlock
* Start integrating into beacon chain
* Integrate VerifiableBlock
* Rename VerifableBlock -> PartialBlockVerification
* Add start of typed methods
* Add progress
* Add further progress
* Rename structs
* Add full block verification to block_processing.rs
* Further beacon chain integration
* Update checks for gossip
* Add todo
* Start adding segement verification
* Add passing chain segement test
* Initial integration with batch sync
* Minor changes
* Tidy, add more error checking
* Start adding chain_segment tests
* Finish invalid signature tests
* Include single and gossip verified blocks in tests
* Add gossip verification tests
* Start adding docs
* Finish adding comments to block_processing.rs
* Rename block_processing.rs -> block_verification
* Start removing old block processing code
* Fixes beacon_chain compilation
* Fix project-wide compile errors
* Remove old code
* Correct code to pass all tests
* Fix bug with beacon proposer index
* Fix shim for BlockProcessingError
* Only process one epoch at a time
* Fix loop in chain segment processing
* Correct tests from master merge
* Add caching for state.eth1_data_votes
* Add BeaconChain::validator_pubkey
* Revert "Add caching for state.eth1_data_votes"
This reverts commit cd73dcd6434fb8d8e6bf30c5356355598ea7b78e.
Co-authored-by: Grant Wuerker <gwuerker@gmail.com>
Co-authored-by: Michael Sproul <michael@sigmaprime.io>
Co-authored-by: Michael Sproul <micsproul@gmail.com>
Co-authored-by: pawan <pawandhananjay@gmail.com>
Co-authored-by: Paul Hauner <paul@paulhauner.com>
2020-03-17 06:24:44 +00:00
|
|
|
dependencies = [
|
2020-05-10 09:56:31 +00:00
|
|
|
"num-traits",
|
2021-03-02 05:59:49 +00:00
|
|
|
"plotters-backend",
|
|
|
|
"plotters-svg",
|
2020-05-10 09:56:31 +00:00
|
|
|
"wasm-bindgen",
|
|
|
|
"web-sys",
|
Initial work towards v0.2.0 (#924)
* Remove ping protocol
* Initial renaming of network services
* Correct rebasing relative to latest master
* Start updating types
* Adds HashMapDelay struct to utils
* Initial network restructure
* Network restructure. Adds new types for v0.2.0
* Removes build artefacts
* Shift validation to beacon chain
* Temporarily remove gossip validation
This is to be updated to match current optimisation efforts.
* Adds AggregateAndProof
* Begin rebuilding pubsub encoding/decoding
* Signature hacking
* Shift gossipsup decoding into eth2_libp2p
* Existing EF tests passing with fake_crypto
* Shifts block encoding/decoding into RPC
* Delete outdated API spec
* All release tests passing bar genesis state parsing
* Update and test YamlConfig
* Update to spec v0.10 compatible BLS
* Updates to BLS EF tests
* Add EF test for AggregateVerify
And delete unused hash2curve tests for uncompressed points
* Update EF tests to v0.10.1
* Use optional block root correctly in block proc
* Use genesis fork in deposit domain. All tests pass
* Fast aggregate verify test
* Update REST API docs
* Fix unused import
* Bump spec tags to v0.10.1
* Add `seconds_per_eth1_block` to chainspec
* Update to timestamp based eth1 voting scheme
* Return None from `get_votes_to_consider` if block cache is empty
* Handle overflows in `is_candidate_block`
* Revert to failing tests
* Fix eth1 data sets test
* Choose default vote according to spec
* Fix collect_valid_votes tests
* Fix `get_votes_to_consider` to choose all eligible blocks
* Uncomment winning_vote tests
* Add comments; remove unused code
* Reduce seconds_per_eth1_block for simulation
* Addressed review comments
* Add test for default vote case
* Fix logs
* Remove unused functions
* Meter default eth1 votes
* Fix comments
* Progress on attestation service
* Address review comments; remove unused dependency
* Initial work on removing libp2p lock
* Add LRU caches to store (rollup)
* Update attestation validation for DB changes (WIP)
* Initial version of should_forward_block
* Scaffold
* Progress on attestation validation
Also, consolidate prod+testing slot clocks so that they share much
of the same implementation and can both handle sub-slot time changes.
* Removes lock from libp2p service
* Completed network lock removal
* Finish(?) attestation processing
* Correct network termination future
* Add slot check to block check
* Correct fmt issues
* Remove Drop implementation for network service
* Add first attempt at attestation proc. re-write
* Add version 2 of attestation processing
* Minor fixes
* Add validator pubkey cache
* Make get_indexed_attestation take a committee
* Link signature processing into new attn verification
* First working version
* Ensure pubkey cache is updated
* Add more metrics, slight optimizations
* Clone committee cache during attestation processing
* Update shuffling cache during block processing
* Remove old commented-out code
* Fix shuffling cache insert bug
* Used indexed attestation in fork choice
* Restructure attn processing, add metrics
* Add more detailed metrics
* Tidy, fix failing tests
* Fix failing tests, tidy
* Address reviewers suggestions
* Disable/delete two outdated tests
* Modification of validator for subscriptions
* Add slot signing to validator client
* Further progress on validation subscription
* Adds necessary validator subscription functionality
* Add new Pubkeys struct to signature_sets
* Refactor with functional approach
* Update beacon chain
* Clean up validator <-> beacon node http types
* Add aggregator status to ValidatorDuty
* Impl Clone for manual slot clock
* Fix minor errors
* Further progress validator client subscription
* Initial subscription and aggregation handling
* Remove decompressed member from pubkey bytes
* Progress to modifying val client for attestation aggregation
* First draft of validator client upgrade for aggregate attestations
* Add hashmap for indices lookup
* Add state cache, remove store cache
* Only build the head committee cache
* Removes lock on a network channel
* Partially implement beacon node subscription http api
* Correct compilation issues
* Change `get_attesting_indices` to use Vec
* Fix failing test
* Partial implementation of timer
* Adds timer, removes exit_future, http api to op pool
* Partial multiple aggregate attestation handling
* Permits bulk messages accross gossipsub network channel
* Correct compile issues
* Improve gosispsub messaging and correct rest api helpers
* Added global gossipsub subscriptions
* Update validator subscriptions data structs
* Tidy
* Re-structure validator subscriptions
* Initial handling of subscriptions
* Re-structure network service
* Add pubkey cache persistence file
* Add more comments
* Integrate persistence file into builder
* Add pubkey cache tests
* Add HashSetDelay and introduce into attestation service
* Handles validator subscriptions
* Add data_dir to beacon chain builder
* Remove Option in pubkey cache persistence file
* Ensure consistency between datadir/data_dir
* Fix failing network test
* Peer subnet discovery gets queued for future subscriptions
* Reorganise attestation service functions
* Initial wiring of attestation service
* First draft of attestation service timing logic
* Correct minor typos
* Tidy
* Fix todos
* Improve tests
* Add PeerInfo to connected peers mapping
* Fix compile error
* Fix compile error from merge
* Split up block processing metrics
* Tidy
* Refactor get_pubkey_from_state
* Remove commented-out code
* Rename state_cache -> checkpoint_cache
* Rename Checkpoint -> Snapshot
* Tidy, add comments
* Tidy up find_head function
* Change some checkpoint -> snapshot
* Add tests
* Expose max_len
* Remove dead code
* Tidy
* Fix bug
* Add sync-speed metric
* Add first attempt at VerifiableBlock
* Start integrating into beacon chain
* Integrate VerifiableBlock
* Rename VerifableBlock -> PartialBlockVerification
* Add start of typed methods
* Add progress
* Add further progress
* Rename structs
* Add full block verification to block_processing.rs
* Further beacon chain integration
* Update checks for gossip
* Add todo
* Start adding segement verification
* Add passing chain segement test
* Initial integration with batch sync
* Minor changes
* Tidy, add more error checking
* Start adding chain_segment tests
* Finish invalid signature tests
* Include single and gossip verified blocks in tests
* Add gossip verification tests
* Start adding docs
* Finish adding comments to block_processing.rs
* Rename block_processing.rs -> block_verification
* Start removing old block processing code
* Fixes beacon_chain compilation
* Fix project-wide compile errors
* Remove old code
* Correct code to pass all tests
* Fix bug with beacon proposer index
* Fix shim for BlockProcessingError
* Only process one epoch at a time
* Fix loop in chain segment processing
* Correct tests from master merge
* Add caching for state.eth1_data_votes
* Add BeaconChain::validator_pubkey
* Revert "Add caching for state.eth1_data_votes"
This reverts commit cd73dcd6434fb8d8e6bf30c5356355598ea7b78e.
Co-authored-by: Grant Wuerker <gwuerker@gmail.com>
Co-authored-by: Michael Sproul <michael@sigmaprime.io>
Co-authored-by: Michael Sproul <micsproul@gmail.com>
Co-authored-by: pawan <pawandhananjay@gmail.com>
Co-authored-by: Paul Hauner <paul@paulhauner.com>
2020-03-17 06:24:44 +00:00
|
|
|
]
|
2019-12-09 11:39:44 +00:00
|
|
|
|
2021-03-02 05:59:49 +00:00
|
|
|
[[package]]
|
|
|
|
name = "plotters-backend"
|
2021-06-03 01:11:33 +00:00
|
|
|
version = "0.3.2"
|
2021-03-02 05:59:49 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-06-03 01:11:33 +00:00
|
|
|
checksum = "d88417318da0eaf0fdcdb51a0ee6c3bed624333bff8f946733049380be67ac1c"
|
2021-03-02 05:59:49 +00:00
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "plotters-svg"
|
2021-07-05 00:54:17 +00:00
|
|
|
version = "0.3.1"
|
2021-03-02 05:59:49 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-07-05 00:54:17 +00:00
|
|
|
checksum = "521fa9638fa597e1dc53e9412a4f9cefb01187ee1f7413076f9e6749e2885ba9"
|
2021-03-02 05:59:49 +00:00
|
|
|
dependencies = [
|
|
|
|
"plotters-backend",
|
|
|
|
]
|
|
|
|
|
2020-06-29 10:25:42 +00:00
|
|
|
[[package]]
|
|
|
|
name = "poly1305"
|
2021-09-16 04:45:05 +00:00
|
|
|
version = "0.7.2"
|
2020-06-29 10:25:42 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-09-16 04:45:05 +00:00
|
|
|
checksum = "048aeb476be11a4b6ca432ca569e375810de9294ae78f4774e78ea98a9246ede"
|
2020-06-29 10:25:42 +00:00
|
|
|
dependencies = [
|
2021-09-16 04:45:05 +00:00
|
|
|
"cpufeatures 0.2.1",
|
2021-07-13 00:48:33 +00:00
|
|
|
"opaque-debug",
|
2021-07-05 00:54:17 +00:00
|
|
|
"universal-hash",
|
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "polyval"
|
2021-09-16 04:45:05 +00:00
|
|
|
version = "0.5.3"
|
2021-07-05 00:54:17 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-09-16 04:45:05 +00:00
|
|
|
checksum = "8419d2b623c7c0896ff2d5d96e2cb4ede590fed28fcc34934f4c33c036e620a1"
|
2021-07-05 00:54:17 +00:00
|
|
|
dependencies = [
|
2021-11-18 05:08:42 +00:00
|
|
|
"cfg-if",
|
2021-09-16 04:45:05 +00:00
|
|
|
"cpufeatures 0.2.1",
|
2021-07-13 00:48:33 +00:00
|
|
|
"opaque-debug",
|
2020-06-29 10:25:42 +00:00
|
|
|
"universal-hash",
|
|
|
|
]
|
|
|
|
|
2019-12-09 11:39:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "ppv-lite86"
|
2022-01-11 01:35:56 +00:00
|
|
|
version = "0.2.16"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2022-01-11 01:35:56 +00:00
|
|
|
checksum = "eb9f9e6e233e5c4a35559a617bf40a4ec447db2e84c20b55a6f83167b7e57872"
|
2019-12-09 11:39:44 +00:00
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "primitive-types"
|
2020-11-13 06:06:35 +00:00
|
|
|
version = "0.7.3"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2020-11-13 06:06:35 +00:00
|
|
|
checksum = "7dd39dcacf71411ba488570da7bbc89b717225e46478b30ba99b92db6b149809"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2021-07-09 03:20:24 +00:00
|
|
|
"fixed-hash 0.6.1",
|
|
|
|
"impl-codec 0.4.2",
|
|
|
|
"impl-rlp 0.2.1",
|
2020-05-10 09:56:31 +00:00
|
|
|
"impl-serde",
|
2021-07-05 00:54:17 +00:00
|
|
|
"uint 0.8.5",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
2021-07-09 03:20:24 +00:00
|
|
|
[[package]]
|
|
|
|
name = "primitive-types"
|
|
|
|
version = "0.9.1"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
checksum = "06345ee39fbccfb06ab45f3a1a5798d9dafa04cb8921a76d227040003a234b0e"
|
|
|
|
dependencies = [
|
|
|
|
"fixed-hash 0.7.0",
|
|
|
|
"impl-codec 0.5.1",
|
|
|
|
"impl-rlp 0.3.0",
|
|
|
|
"impl-serde",
|
|
|
|
"uint 0.9.1",
|
|
|
|
]
|
|
|
|
|
2021-10-14 02:58:11 +00:00
|
|
|
[[package]]
|
|
|
|
name = "primitive-types"
|
|
|
|
version = "0.10.1"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
checksum = "05e4722c697a58a99d5d06a08c30821d7c082a4632198de1eaa5a6c22ef42373"
|
|
|
|
dependencies = [
|
|
|
|
"fixed-hash 0.7.0",
|
|
|
|
"impl-codec 0.5.1",
|
|
|
|
"impl-rlp 0.3.0",
|
|
|
|
"impl-serde",
|
|
|
|
"uint 0.9.1",
|
|
|
|
]
|
|
|
|
|
2020-11-28 05:30:57 +00:00
|
|
|
[[package]]
|
|
|
|
name = "proc-macro-crate"
|
2021-09-16 04:45:05 +00:00
|
|
|
version = "1.1.0"
|
2020-11-28 05:30:57 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-09-16 04:45:05 +00:00
|
|
|
checksum = "1ebace6889caf889b4d3f76becee12e90353f2b8c7d875534a71e5742f8f6f83"
|
2020-11-28 05:30:57 +00:00
|
|
|
dependencies = [
|
2021-07-05 00:54:17 +00:00
|
|
|
"thiserror",
|
2020-11-28 05:30:57 +00:00
|
|
|
"toml",
|
|
|
|
]
|
|
|
|
|
2020-11-19 04:04:52 +00:00
|
|
|
[[package]]
|
|
|
|
name = "proc-macro-error"
|
|
|
|
version = "1.0.4"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c"
|
|
|
|
dependencies = [
|
|
|
|
"proc-macro-error-attr",
|
|
|
|
"proc-macro2",
|
|
|
|
"quote",
|
|
|
|
"syn",
|
2020-12-09 01:34:58 +00:00
|
|
|
"version_check",
|
2020-11-19 04:04:52 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "proc-macro-error-attr"
|
|
|
|
version = "1.0.4"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869"
|
|
|
|
dependencies = [
|
|
|
|
"proc-macro2",
|
|
|
|
"quote",
|
2020-12-09 01:34:58 +00:00
|
|
|
"version_check",
|
2020-11-19 04:04:52 +00:00
|
|
|
]
|
|
|
|
|
2019-12-20 05:26:30 +00:00
|
|
|
[[package]]
|
|
|
|
name = "proc-macro-hack"
|
2020-10-28 22:19:38 +00:00
|
|
|
version = "0.5.19"
|
2019-12-20 05:26:30 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2020-10-28 22:19:38 +00:00
|
|
|
checksum = "dbf0c48bc1d91375ae5c3cd81e3722dff1abcf81a30960240640d223f59fe0e5"
|
2019-12-20 05:26:30 +00:00
|
|
|
|
2019-12-09 11:39:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "proc-macro2"
|
2022-01-11 01:35:56 +00:00
|
|
|
version = "1.0.36"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2022-01-11 01:35:56 +00:00
|
|
|
checksum = "c7342d5883fbccae1cc37a2353b09c87c9b0f3afd73f5fb9bba687a1f733b029"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2020-05-17 11:16:48 +00:00
|
|
|
"unicode-xid",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
2020-05-29 02:03:30 +00:00
|
|
|
[[package]]
|
|
|
|
name = "procinfo"
|
|
|
|
version = "0.4.2"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
checksum = "6ab1427f3d2635891f842892dda177883dca0639e05fe66796a62c9d2f23b49c"
|
|
|
|
dependencies = [
|
|
|
|
"byteorder",
|
|
|
|
"libc",
|
2021-12-21 08:23:17 +00:00
|
|
|
"nom 2.2.1",
|
2021-05-19 23:05:16 +00:00
|
|
|
"rustc_version 0.2.3",
|
2020-05-29 02:03:30 +00:00
|
|
|
]
|
|
|
|
|
2019-12-09 11:39:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "prometheus"
|
2021-11-01 05:52:30 +00:00
|
|
|
version = "0.13.0"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-11-01 05:52:30 +00:00
|
|
|
checksum = "b7f64969ffd5dd8f39bd57a68ac53c163a095ed9d0fb707146da1b27025a3504"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2021-11-18 05:08:42 +00:00
|
|
|
"cfg-if",
|
2020-05-10 09:56:31 +00:00
|
|
|
"fnv",
|
|
|
|
"lazy_static",
|
2021-11-01 05:52:30 +00:00
|
|
|
"memchr",
|
2020-12-09 01:34:58 +00:00
|
|
|
"parking_lot",
|
2020-05-10 09:56:31 +00:00
|
|
|
"protobuf",
|
2020-05-17 11:16:48 +00:00
|
|
|
"thiserror",
|
|
|
|
]
|
|
|
|
|
2021-10-29 01:59:29 +00:00
|
|
|
[[package]]
|
|
|
|
name = "prost"
|
|
|
|
version = "0.9.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
checksum = "444879275cb4fd84958b1a1d5420d15e6fcf7c235fe47f053c9c2a80aceb6001"
|
|
|
|
dependencies = [
|
|
|
|
"bytes",
|
2021-12-22 06:17:14 +00:00
|
|
|
"prost-derive",
|
2021-10-29 01:59:29 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "prost-build"
|
|
|
|
version = "0.9.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
checksum = "62941722fb675d463659e49c4f3fe1fe792ff24fe5bbaa9c08cd3b98a1c354f5"
|
|
|
|
dependencies = [
|
|
|
|
"bytes",
|
2021-06-03 01:11:33 +00:00
|
|
|
"heck",
|
2021-08-17 01:00:24 +00:00
|
|
|
"itertools",
|
2021-10-29 01:59:29 +00:00
|
|
|
"lazy_static",
|
2021-06-03 01:11:33 +00:00
|
|
|
"log",
|
|
|
|
"multimap",
|
2021-12-22 06:17:14 +00:00
|
|
|
"petgraph",
|
|
|
|
"prost",
|
|
|
|
"prost-types",
|
2021-10-29 01:59:29 +00:00
|
|
|
"regex",
|
2020-05-17 11:16:48 +00:00
|
|
|
"tempfile",
|
|
|
|
"which",
|
|
|
|
]
|
|
|
|
|
2021-10-29 01:59:29 +00:00
|
|
|
[[package]]
|
|
|
|
name = "prost-derive"
|
|
|
|
version = "0.9.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
checksum = "f9cc1a3263e07e0bf68e96268f37665207b49560d98739662cdfaae215c720fe"
|
|
|
|
dependencies = [
|
|
|
|
"anyhow",
|
|
|
|
"itertools",
|
|
|
|
"proc-macro2",
|
|
|
|
"quote",
|
|
|
|
"syn",
|
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "prost-types"
|
|
|
|
version = "0.9.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
checksum = "534b7a0e836e3c482d2693070f982e39e7611da9695d4d1f5a4b186b51faef0a"
|
|
|
|
dependencies = [
|
|
|
|
"bytes",
|
2021-12-22 06:17:14 +00:00
|
|
|
"prost",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
2020-01-29 04:05:00 +00:00
|
|
|
[[package]]
|
v0.12 fork choice update (#1229)
* Incomplete scraps
* Add progress on new fork choice impl
* Further progress
* First complete compiling version
* Remove chain reference
* Add new lmd_ghost crate
* Start integrating into beacon chain
* Update `milagro_bls` to new release (#1183)
* Update milagro_bls to new release
Signed-off-by: Kirk Baird <baird.k@outlook.com>
* Tidy up fake cryptos
Signed-off-by: Kirk Baird <baird.k@outlook.com>
* move SecretHash to bls and put plaintext back
Signed-off-by: Kirk Baird <baird.k@outlook.com>
* Update state processing for v0.12
* Fix EF test runners for v0.12
* Fix some tests
* Fix broken attestation verification test
* More test fixes
* Rough beacon chain impl working
* Remove fork_choice_2
* Remove checkpoint manager
* Half finished ssz impl
* Add missed file
* Add persistence
* Tidy, fix some compile errors
* Remove RwLock from ProtoArrayForkChoice
* Fix store-based compile errors
* Add comments, tidy
* Move function out of ForkChoice struct
* Start testing
* More testing
* Fix compile error
* Tidy beacon_chain::fork_choice
* Queue attestations from the current slot
* Allow fork choice to handle prior-to-genesis start
* Improve error granularity
* Test attestation dequeuing
* Process attestations during block
* Store target root in fork choice
* Move fork choice verification into new crate
* Update tests
* Consensus updates for v0.12 (#1228)
* Update state processing for v0.12
* Fix EF test runners for v0.12
* Fix some tests
* Fix broken attestation verification test
* More test fixes
* Fix typo found in review
* Add `Block` struct to ProtoArray
* Start fixing get_ancestor
* Add rough progress on testing
* Get fork choice tests working
* Progress with testing
* Fix partialeq impl
* Move slot clock from fc_store
* Improve testing
* Add testing for best justified
* Add clone back to SystemTimeSlotClock
* Add balances test
* Start adding balances cache again
* Wire-in balances cache
* Improve tests
* Remove commented-out tests
* Remove beacon_chain::ForkChoice
* Rename crates
* Update wider codebase to new fork_choice layout
* Move advance_slot in test harness
* Tidy ForkChoice::update_time
* Fix verification tests
* Fix compile error with iter::once
* Fix fork choice tests
* Ensure block attestations are processed
* Fix failing beacon_chain tests
* Add first invalid block check
* Add finalized block check
* Progress with testing, new store builder
* Add fixes to get_ancestor
* Fix old genesis justification test
* Fix remaining fork choice tests
* Change root iteration method
* Move on_verified_block
* Remove unused method
* Start adding attestation verification tests
* Add invalid ffg target test
* Add target epoch test
* Add queued attestation test
* Remove old fork choice verification tests
* Tidy, add test
* Move fork choice lock drop
* Rename BeaconForkChoiceStore
* Add comments, tidy BeaconForkChoiceStore
* Update metrics, rename fork_choice_store.rs
* Remove genesis_block_root from ForkChoice
* Tidy
* Update fork_choice comments
* Tidy, add comments
* Tidy, simplify ForkChoice, fix compile issue
* Tidy, removed dead file
* Increase http request timeout
* Fix failing rest_api test
* Set HTTP timeout back to 5s
* Apply fix to get_ancestor
* Address Michael's comments
* Fix typo
* Revert "Fix broken attestation verification test"
This reverts commit 722cdc903b12611de27916a57eeecfa3224f2279.
Co-authored-by: Kirk Baird <baird.k@outlook.com>
Co-authored-by: Michael Sproul <michael@sigmaprime.io>
2020-06-17 01:10:22 +00:00
|
|
|
name = "proto_array"
|
Initial work towards v0.2.0 (#924)
* Remove ping protocol
* Initial renaming of network services
* Correct rebasing relative to latest master
* Start updating types
* Adds HashMapDelay struct to utils
* Initial network restructure
* Network restructure. Adds new types for v0.2.0
* Removes build artefacts
* Shift validation to beacon chain
* Temporarily remove gossip validation
This is to be updated to match current optimisation efforts.
* Adds AggregateAndProof
* Begin rebuilding pubsub encoding/decoding
* Signature hacking
* Shift gossipsup decoding into eth2_libp2p
* Existing EF tests passing with fake_crypto
* Shifts block encoding/decoding into RPC
* Delete outdated API spec
* All release tests passing bar genesis state parsing
* Update and test YamlConfig
* Update to spec v0.10 compatible BLS
* Updates to BLS EF tests
* Add EF test for AggregateVerify
And delete unused hash2curve tests for uncompressed points
* Update EF tests to v0.10.1
* Use optional block root correctly in block proc
* Use genesis fork in deposit domain. All tests pass
* Fast aggregate verify test
* Update REST API docs
* Fix unused import
* Bump spec tags to v0.10.1
* Add `seconds_per_eth1_block` to chainspec
* Update to timestamp based eth1 voting scheme
* Return None from `get_votes_to_consider` if block cache is empty
* Handle overflows in `is_candidate_block`
* Revert to failing tests
* Fix eth1 data sets test
* Choose default vote according to spec
* Fix collect_valid_votes tests
* Fix `get_votes_to_consider` to choose all eligible blocks
* Uncomment winning_vote tests
* Add comments; remove unused code
* Reduce seconds_per_eth1_block for simulation
* Addressed review comments
* Add test for default vote case
* Fix logs
* Remove unused functions
* Meter default eth1 votes
* Fix comments
* Progress on attestation service
* Address review comments; remove unused dependency
* Initial work on removing libp2p lock
* Add LRU caches to store (rollup)
* Update attestation validation for DB changes (WIP)
* Initial version of should_forward_block
* Scaffold
* Progress on attestation validation
Also, consolidate prod+testing slot clocks so that they share much
of the same implementation and can both handle sub-slot time changes.
* Removes lock from libp2p service
* Completed network lock removal
* Finish(?) attestation processing
* Correct network termination future
* Add slot check to block check
* Correct fmt issues
* Remove Drop implementation for network service
* Add first attempt at attestation proc. re-write
* Add version 2 of attestation processing
* Minor fixes
* Add validator pubkey cache
* Make get_indexed_attestation take a committee
* Link signature processing into new attn verification
* First working version
* Ensure pubkey cache is updated
* Add more metrics, slight optimizations
* Clone committee cache during attestation processing
* Update shuffling cache during block processing
* Remove old commented-out code
* Fix shuffling cache insert bug
* Used indexed attestation in fork choice
* Restructure attn processing, add metrics
* Add more detailed metrics
* Tidy, fix failing tests
* Fix failing tests, tidy
* Address reviewers suggestions
* Disable/delete two outdated tests
* Modification of validator for subscriptions
* Add slot signing to validator client
* Further progress on validation subscription
* Adds necessary validator subscription functionality
* Add new Pubkeys struct to signature_sets
* Refactor with functional approach
* Update beacon chain
* Clean up validator <-> beacon node http types
* Add aggregator status to ValidatorDuty
* Impl Clone for manual slot clock
* Fix minor errors
* Further progress validator client subscription
* Initial subscription and aggregation handling
* Remove decompressed member from pubkey bytes
* Progress to modifying val client for attestation aggregation
* First draft of validator client upgrade for aggregate attestations
* Add hashmap for indices lookup
* Add state cache, remove store cache
* Only build the head committee cache
* Removes lock on a network channel
* Partially implement beacon node subscription http api
* Correct compilation issues
* Change `get_attesting_indices` to use Vec
* Fix failing test
* Partial implementation of timer
* Adds timer, removes exit_future, http api to op pool
* Partial multiple aggregate attestation handling
* Permits bulk messages accross gossipsub network channel
* Correct compile issues
* Improve gosispsub messaging and correct rest api helpers
* Added global gossipsub subscriptions
* Update validator subscriptions data structs
* Tidy
* Re-structure validator subscriptions
* Initial handling of subscriptions
* Re-structure network service
* Add pubkey cache persistence file
* Add more comments
* Integrate persistence file into builder
* Add pubkey cache tests
* Add HashSetDelay and introduce into attestation service
* Handles validator subscriptions
* Add data_dir to beacon chain builder
* Remove Option in pubkey cache persistence file
* Ensure consistency between datadir/data_dir
* Fix failing network test
* Peer subnet discovery gets queued for future subscriptions
* Reorganise attestation service functions
* Initial wiring of attestation service
* First draft of attestation service timing logic
* Correct minor typos
* Tidy
* Fix todos
* Improve tests
* Add PeerInfo to connected peers mapping
* Fix compile error
* Fix compile error from merge
* Split up block processing metrics
* Tidy
* Refactor get_pubkey_from_state
* Remove commented-out code
* Rename state_cache -> checkpoint_cache
* Rename Checkpoint -> Snapshot
* Tidy, add comments
* Tidy up find_head function
* Change some checkpoint -> snapshot
* Add tests
* Expose max_len
* Remove dead code
* Tidy
* Fix bug
* Add sync-speed metric
* Add first attempt at VerifiableBlock
* Start integrating into beacon chain
* Integrate VerifiableBlock
* Rename VerifableBlock -> PartialBlockVerification
* Add start of typed methods
* Add progress
* Add further progress
* Rename structs
* Add full block verification to block_processing.rs
* Further beacon chain integration
* Update checks for gossip
* Add todo
* Start adding segement verification
* Add passing chain segement test
* Initial integration with batch sync
* Minor changes
* Tidy, add more error checking
* Start adding chain_segment tests
* Finish invalid signature tests
* Include single and gossip verified blocks in tests
* Add gossip verification tests
* Start adding docs
* Finish adding comments to block_processing.rs
* Rename block_processing.rs -> block_verification
* Start removing old block processing code
* Fixes beacon_chain compilation
* Fix project-wide compile errors
* Remove old code
* Correct code to pass all tests
* Fix bug with beacon proposer index
* Fix shim for BlockProcessingError
* Only process one epoch at a time
* Fix loop in chain segment processing
* Correct tests from master merge
* Add caching for state.eth1_data_votes
* Add BeaconChain::validator_pubkey
* Revert "Add caching for state.eth1_data_votes"
This reverts commit cd73dcd6434fb8d8e6bf30c5356355598ea7b78e.
Co-authored-by: Grant Wuerker <gwuerker@gmail.com>
Co-authored-by: Michael Sproul <michael@sigmaprime.io>
Co-authored-by: Michael Sproul <micsproul@gmail.com>
Co-authored-by: pawan <pawandhananjay@gmail.com>
Co-authored-by: Paul Hauner <paul@paulhauner.com>
2020-03-17 06:24:44 +00:00
|
|
|
version = "0.2.0"
|
2020-01-29 04:05:00 +00:00
|
|
|
dependencies = [
|
2021-11-29 03:57:54 +00:00
|
|
|
"eth2_ssz",
|
2021-11-24 00:28:30 +00:00
|
|
|
"eth2_ssz_derive 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2020-05-10 09:56:31 +00:00
|
|
|
"serde",
|
|
|
|
"serde_derive",
|
|
|
|
"serde_yaml",
|
|
|
|
"types",
|
2020-01-29 04:05:00 +00:00
|
|
|
]
|
|
|
|
|
2019-12-09 11:39:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "protobuf"
|
2021-10-29 01:59:29 +00:00
|
|
|
version = "2.25.2"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-10-29 01:59:29 +00:00
|
|
|
checksum = "47c327e191621a2158159df97cdbc2e7074bb4e940275e35abf38eb3d2595754"
|
2019-12-09 11:39:44 +00:00
|
|
|
|
2020-05-29 02:03:30 +00:00
|
|
|
[[package]]
|
|
|
|
name = "psutil"
|
2021-05-04 00:44:05 +00:00
|
|
|
version = "3.2.1"
|
2021-11-18 05:08:42 +00:00
|
|
|
source = "git+https://github.com/sigp/rust-psutil?rev=b3e44bc7ec5d545b8cb8ad4e3dffe074b6e6336b#b3e44bc7ec5d545b8cb8ad4e3dffe074b6e6336b"
|
2020-05-29 02:03:30 +00:00
|
|
|
dependencies = [
|
2021-11-18 05:08:42 +00:00
|
|
|
"cfg-if",
|
2020-05-29 02:03:30 +00:00
|
|
|
"darwin-libproc",
|
|
|
|
"derive_more",
|
|
|
|
"glob",
|
|
|
|
"mach",
|
2021-11-18 05:08:42 +00:00
|
|
|
"nix 0.21.2",
|
2020-05-29 02:03:30 +00:00
|
|
|
"num_cpus",
|
|
|
|
"once_cell",
|
|
|
|
"platforms",
|
2020-09-29 08:29:04 +00:00
|
|
|
"thiserror",
|
2020-05-29 02:03:30 +00:00
|
|
|
"unescape",
|
|
|
|
]
|
|
|
|
|
2019-12-09 11:39:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "quick-error"
|
2020-01-03 06:56:03 +00:00
|
|
|
version = "1.2.3"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2020-05-10 09:56:31 +00:00
|
|
|
checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0"
|
2019-12-09 11:39:44 +00:00
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "quickcheck"
|
2020-01-15 04:50:01 +00:00
|
|
|
version = "0.9.2"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2020-05-10 09:56:31 +00:00
|
|
|
checksum = "a44883e74aa97ad63db83c4bf8ca490f02b2fc02f92575e720c8551e843c945f"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2020-12-07 08:20:33 +00:00
|
|
|
"env_logger 0.7.1",
|
2020-12-09 01:34:58 +00:00
|
|
|
"log",
|
2020-05-10 09:56:31 +00:00
|
|
|
"rand 0.7.3",
|
|
|
|
"rand_core 0.5.1",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "quickcheck_macros"
|
2020-05-17 11:16:48 +00:00
|
|
|
version = "0.9.1"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2020-05-17 11:16:48 +00:00
|
|
|
checksum = "608c156fd8e97febc07dc9c2e2c80bf74cfc6ef26893eae3daf8bc2bc94a4b7f"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2020-05-17 11:16:48 +00:00
|
|
|
"proc-macro2",
|
|
|
|
"quote",
|
|
|
|
"syn",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
2020-05-17 11:16:48 +00:00
|
|
|
name = "quicksink"
|
|
|
|
version = "0.1.2"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2020-05-17 11:16:48 +00:00
|
|
|
checksum = "77de3c815e5a160b1539c6592796801df2043ae35e123b46d73380cfa57af858"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2020-05-17 11:16:48 +00:00
|
|
|
"futures-core",
|
|
|
|
"futures-sink",
|
2021-03-08 06:27:49 +00:00
|
|
|
"pin-project-lite 0.1.12",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "quote"
|
2022-01-11 01:35:56 +00:00
|
|
|
version = "1.0.14"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2022-01-11 01:35:56 +00:00
|
|
|
checksum = "47aa80447ce4daf1717500037052af176af5d38cc3e571d9ec1c7353fc10c87d"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2020-05-17 11:16:48 +00:00
|
|
|
"proc-macro2",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
2020-05-18 06:25:16 +00:00
|
|
|
[[package]]
|
|
|
|
name = "r2d2"
|
2020-07-06 01:55:56 +00:00
|
|
|
version = "0.8.9"
|
2020-05-18 06:25:16 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2020-07-06 01:55:56 +00:00
|
|
|
checksum = "545c5bc2b880973c9c10e4067418407a0ccaa3091781d1671d46eb35107cb26f"
|
2020-05-18 06:25:16 +00:00
|
|
|
dependencies = [
|
2020-12-09 01:34:58 +00:00
|
|
|
"log",
|
|
|
|
"parking_lot",
|
2020-05-18 06:25:16 +00:00
|
|
|
"scheduled-thread-pool",
|
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "r2d2_sqlite"
|
2021-08-17 01:00:24 +00:00
|
|
|
version = "0.18.0"
|
2020-05-18 06:25:16 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-08-17 01:00:24 +00:00
|
|
|
checksum = "9d24607049214c5e42d3df53ac1d8a23c34cc6a5eefe3122acb2c72174719959"
|
2020-05-18 06:25:16 +00:00
|
|
|
dependencies = [
|
|
|
|
"r2d2",
|
|
|
|
"rusqlite",
|
|
|
|
]
|
|
|
|
|
2020-04-08 06:46:37 +00:00
|
|
|
[[package]]
|
|
|
|
name = "radium"
|
|
|
|
version = "0.3.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2020-05-10 09:56:31 +00:00
|
|
|
checksum = "def50a86306165861203e7f84ecffbbdfdea79f0e51039b33de1e952358c47ac"
|
2020-04-08 06:46:37 +00:00
|
|
|
|
2020-10-05 08:22:19 +00:00
|
|
|
[[package]]
|
|
|
|
name = "radium"
|
2020-10-09 02:05:30 +00:00
|
|
|
version = "0.5.3"
|
2020-10-05 08:22:19 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2020-10-09 02:05:30 +00:00
|
|
|
checksum = "941ba9d78d8e2f7ce474c015eea4d9c6d25b6a3327f9832ee29a4de27f91bbb8"
|
2020-10-05 08:22:19 +00:00
|
|
|
|
2021-07-05 00:54:17 +00:00
|
|
|
[[package]]
|
|
|
|
name = "radium"
|
|
|
|
version = "0.6.2"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
checksum = "643f8f41a8ebc4c5dc4515c82bb8abd397b527fc20fd681b7c011c2aee5d44fb"
|
|
|
|
|
2019-12-09 11:39:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "rand"
|
2020-01-15 03:48:09 +00:00
|
|
|
version = "0.7.3"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2020-05-10 09:56:31 +00:00
|
|
|
checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2021-02-10 23:29:49 +00:00
|
|
|
"getrandom 0.1.16",
|
2020-05-10 09:56:31 +00:00
|
|
|
"libc",
|
2020-09-29 03:46:54 +00:00
|
|
|
"rand_chacha 0.2.2",
|
2020-05-10 09:56:31 +00:00
|
|
|
"rand_core 0.5.1",
|
2020-09-29 03:46:54 +00:00
|
|
|
"rand_hc 0.2.0",
|
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
2021-02-10 23:29:49 +00:00
|
|
|
name = "rand"
|
2021-07-05 00:54:17 +00:00
|
|
|
version = "0.8.4"
|
2020-09-29 03:46:54 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-07-05 00:54:17 +00:00
|
|
|
checksum = "2e7573632e6454cf6b99d7aac4ccca54be06da05aca2ef7423d22d27d4d4bcd8"
|
2020-09-29 03:46:54 +00:00
|
|
|
dependencies = [
|
2021-02-10 23:29:49 +00:00
|
|
|
"libc",
|
2021-07-05 00:54:17 +00:00
|
|
|
"rand_chacha 0.3.1",
|
|
|
|
"rand_core 0.6.3",
|
|
|
|
"rand_hc 0.3.1",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "rand_chacha"
|
Initial work towards v0.2.0 (#924)
* Remove ping protocol
* Initial renaming of network services
* Correct rebasing relative to latest master
* Start updating types
* Adds HashMapDelay struct to utils
* Initial network restructure
* Network restructure. Adds new types for v0.2.0
* Removes build artefacts
* Shift validation to beacon chain
* Temporarily remove gossip validation
This is to be updated to match current optimisation efforts.
* Adds AggregateAndProof
* Begin rebuilding pubsub encoding/decoding
* Signature hacking
* Shift gossipsup decoding into eth2_libp2p
* Existing EF tests passing with fake_crypto
* Shifts block encoding/decoding into RPC
* Delete outdated API spec
* All release tests passing bar genesis state parsing
* Update and test YamlConfig
* Update to spec v0.10 compatible BLS
* Updates to BLS EF tests
* Add EF test for AggregateVerify
And delete unused hash2curve tests for uncompressed points
* Update EF tests to v0.10.1
* Use optional block root correctly in block proc
* Use genesis fork in deposit domain. All tests pass
* Fast aggregate verify test
* Update REST API docs
* Fix unused import
* Bump spec tags to v0.10.1
* Add `seconds_per_eth1_block` to chainspec
* Update to timestamp based eth1 voting scheme
* Return None from `get_votes_to_consider` if block cache is empty
* Handle overflows in `is_candidate_block`
* Revert to failing tests
* Fix eth1 data sets test
* Choose default vote according to spec
* Fix collect_valid_votes tests
* Fix `get_votes_to_consider` to choose all eligible blocks
* Uncomment winning_vote tests
* Add comments; remove unused code
* Reduce seconds_per_eth1_block for simulation
* Addressed review comments
* Add test for default vote case
* Fix logs
* Remove unused functions
* Meter default eth1 votes
* Fix comments
* Progress on attestation service
* Address review comments; remove unused dependency
* Initial work on removing libp2p lock
* Add LRU caches to store (rollup)
* Update attestation validation for DB changes (WIP)
* Initial version of should_forward_block
* Scaffold
* Progress on attestation validation
Also, consolidate prod+testing slot clocks so that they share much
of the same implementation and can both handle sub-slot time changes.
* Removes lock from libp2p service
* Completed network lock removal
* Finish(?) attestation processing
* Correct network termination future
* Add slot check to block check
* Correct fmt issues
* Remove Drop implementation for network service
* Add first attempt at attestation proc. re-write
* Add version 2 of attestation processing
* Minor fixes
* Add validator pubkey cache
* Make get_indexed_attestation take a committee
* Link signature processing into new attn verification
* First working version
* Ensure pubkey cache is updated
* Add more metrics, slight optimizations
* Clone committee cache during attestation processing
* Update shuffling cache during block processing
* Remove old commented-out code
* Fix shuffling cache insert bug
* Used indexed attestation in fork choice
* Restructure attn processing, add metrics
* Add more detailed metrics
* Tidy, fix failing tests
* Fix failing tests, tidy
* Address reviewers suggestions
* Disable/delete two outdated tests
* Modification of validator for subscriptions
* Add slot signing to validator client
* Further progress on validation subscription
* Adds necessary validator subscription functionality
* Add new Pubkeys struct to signature_sets
* Refactor with functional approach
* Update beacon chain
* Clean up validator <-> beacon node http types
* Add aggregator status to ValidatorDuty
* Impl Clone for manual slot clock
* Fix minor errors
* Further progress validator client subscription
* Initial subscription and aggregation handling
* Remove decompressed member from pubkey bytes
* Progress to modifying val client for attestation aggregation
* First draft of validator client upgrade for aggregate attestations
* Add hashmap for indices lookup
* Add state cache, remove store cache
* Only build the head committee cache
* Removes lock on a network channel
* Partially implement beacon node subscription http api
* Correct compilation issues
* Change `get_attesting_indices` to use Vec
* Fix failing test
* Partial implementation of timer
* Adds timer, removes exit_future, http api to op pool
* Partial multiple aggregate attestation handling
* Permits bulk messages accross gossipsub network channel
* Correct compile issues
* Improve gosispsub messaging and correct rest api helpers
* Added global gossipsub subscriptions
* Update validator subscriptions data structs
* Tidy
* Re-structure validator subscriptions
* Initial handling of subscriptions
* Re-structure network service
* Add pubkey cache persistence file
* Add more comments
* Integrate persistence file into builder
* Add pubkey cache tests
* Add HashSetDelay and introduce into attestation service
* Handles validator subscriptions
* Add data_dir to beacon chain builder
* Remove Option in pubkey cache persistence file
* Ensure consistency between datadir/data_dir
* Fix failing network test
* Peer subnet discovery gets queued for future subscriptions
* Reorganise attestation service functions
* Initial wiring of attestation service
* First draft of attestation service timing logic
* Correct minor typos
* Tidy
* Fix todos
* Improve tests
* Add PeerInfo to connected peers mapping
* Fix compile error
* Fix compile error from merge
* Split up block processing metrics
* Tidy
* Refactor get_pubkey_from_state
* Remove commented-out code
* Rename state_cache -> checkpoint_cache
* Rename Checkpoint -> Snapshot
* Tidy, add comments
* Tidy up find_head function
* Change some checkpoint -> snapshot
* Add tests
* Expose max_len
* Remove dead code
* Tidy
* Fix bug
* Add sync-speed metric
* Add first attempt at VerifiableBlock
* Start integrating into beacon chain
* Integrate VerifiableBlock
* Rename VerifableBlock -> PartialBlockVerification
* Add start of typed methods
* Add progress
* Add further progress
* Rename structs
* Add full block verification to block_processing.rs
* Further beacon chain integration
* Update checks for gossip
* Add todo
* Start adding segement verification
* Add passing chain segement test
* Initial integration with batch sync
* Minor changes
* Tidy, add more error checking
* Start adding chain_segment tests
* Finish invalid signature tests
* Include single and gossip verified blocks in tests
* Add gossip verification tests
* Start adding docs
* Finish adding comments to block_processing.rs
* Rename block_processing.rs -> block_verification
* Start removing old block processing code
* Fixes beacon_chain compilation
* Fix project-wide compile errors
* Remove old code
* Correct code to pass all tests
* Fix bug with beacon proposer index
* Fix shim for BlockProcessingError
* Only process one epoch at a time
* Fix loop in chain segment processing
* Correct tests from master merge
* Add caching for state.eth1_data_votes
* Add BeaconChain::validator_pubkey
* Revert "Add caching for state.eth1_data_votes"
This reverts commit cd73dcd6434fb8d8e6bf30c5356355598ea7b78e.
Co-authored-by: Grant Wuerker <gwuerker@gmail.com>
Co-authored-by: Michael Sproul <michael@sigmaprime.io>
Co-authored-by: Michael Sproul <micsproul@gmail.com>
Co-authored-by: pawan <pawandhananjay@gmail.com>
Co-authored-by: Paul Hauner <paul@paulhauner.com>
2020-03-17 06:24:44 +00:00
|
|
|
version = "0.2.2"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2020-05-10 09:56:31 +00:00
|
|
|
checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2020-05-10 09:56:31 +00:00
|
|
|
"ppv-lite86",
|
|
|
|
"rand_core 0.5.1",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
2021-02-10 23:29:49 +00:00
|
|
|
name = "rand_chacha"
|
2021-07-05 00:54:17 +00:00
|
|
|
version = "0.3.1"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-07-05 00:54:17 +00:00
|
|
|
checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2021-02-10 23:29:49 +00:00
|
|
|
"ppv-lite86",
|
2021-07-05 00:54:17 +00:00
|
|
|
"rand_core 0.6.3",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "rand_core"
|
|
|
|
version = "0.5.1"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2020-05-10 09:56:31 +00:00
|
|
|
checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2021-02-10 23:29:49 +00:00
|
|
|
"getrandom 0.1.16",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
2020-09-29 03:46:54 +00:00
|
|
|
[[package]]
|
2021-02-10 23:29:49 +00:00
|
|
|
name = "rand_core"
|
2021-07-05 00:54:17 +00:00
|
|
|
version = "0.6.3"
|
2020-09-29 03:46:54 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-07-05 00:54:17 +00:00
|
|
|
checksum = "d34f1408f55294453790c48b2f1ebbb1c5b4b7563eb1f418bcfcfdbb06ebb4e7"
|
2020-09-29 03:46:54 +00:00
|
|
|
dependencies = [
|
2022-01-14 05:42:47 +00:00
|
|
|
"getrandom 0.2.4",
|
2020-09-29 03:46:54 +00:00
|
|
|
]
|
|
|
|
|
2019-12-09 11:39:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "rand_hc"
|
|
|
|
version = "0.2.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2020-05-10 09:56:31 +00:00
|
|
|
checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2020-05-10 09:56:31 +00:00
|
|
|
"rand_core 0.5.1",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
2020-09-29 03:46:54 +00:00
|
|
|
[[package]]
|
2021-02-10 23:29:49 +00:00
|
|
|
name = "rand_hc"
|
2021-07-05 00:54:17 +00:00
|
|
|
version = "0.3.1"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-07-05 00:54:17 +00:00
|
|
|
checksum = "d51e9f596de227fda2ea6c84607f5558e196eeaf43c986b724ba4fb8fdf497e7"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2021-07-05 00:54:17 +00:00
|
|
|
"rand_core 0.6.3",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "rand_xorshift"
|
|
|
|
version = "0.2.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2020-05-10 09:56:31 +00:00
|
|
|
checksum = "77d416b86801d23dde1aa643023b775c3a462efc0ed96443add11546cdf1dca8"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2020-05-10 09:56:31 +00:00
|
|
|
"rand_core 0.5.1",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "rayon"
|
2021-07-05 00:54:17 +00:00
|
|
|
version = "1.5.1"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-07-05 00:54:17 +00:00
|
|
|
checksum = "c06aca804d41dbc8ba42dfd964f0d01334eceb64314b9ecf7c5fad5188a06d90"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2020-08-21 12:00:01 +00:00
|
|
|
"autocfg 1.0.1",
|
2020-12-09 01:34:58 +00:00
|
|
|
"crossbeam-deque",
|
2020-05-10 09:56:31 +00:00
|
|
|
"either",
|
|
|
|
"rayon-core",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "rayon-core"
|
2021-07-05 00:54:17 +00:00
|
|
|
version = "1.9.1"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-07-05 00:54:17 +00:00
|
|
|
checksum = "d78120e2c850279833f1dd3582f730c4ab53ed95aeaaaa862a2a5c71b1656d8e"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2021-02-10 23:29:49 +00:00
|
|
|
"crossbeam-channel",
|
2020-12-09 01:34:58 +00:00
|
|
|
"crossbeam-deque",
|
2021-02-10 23:29:49 +00:00
|
|
|
"crossbeam-utils",
|
2020-05-10 09:56:31 +00:00
|
|
|
"lazy_static",
|
|
|
|
"num_cpus",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
2021-02-10 23:29:49 +00:00
|
|
|
name = "redox_syscall"
|
2021-08-17 01:00:24 +00:00
|
|
|
version = "0.2.10"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-08-17 01:00:24 +00:00
|
|
|
checksum = "8383f39639269cde97d255a32bdb68c047337295414940c68bdd30c2e13203ff"
|
2021-02-10 23:29:49 +00:00
|
|
|
dependencies = [
|
|
|
|
"bitflags",
|
|
|
|
]
|
2019-12-09 11:39:44 +00:00
|
|
|
|
2021-03-02 05:59:49 +00:00
|
|
|
[[package]]
|
|
|
|
name = "redox_users"
|
|
|
|
version = "0.4.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
checksum = "528532f3d801c87aec9def2add9ca802fe569e44a544afe633765267840abe64"
|
|
|
|
dependencies = [
|
2022-01-14 05:42:47 +00:00
|
|
|
"getrandom 0.2.4",
|
2021-07-05 00:54:17 +00:00
|
|
|
"redox_syscall",
|
2021-03-02 05:59:49 +00:00
|
|
|
]
|
|
|
|
|
2019-12-09 11:39:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "regex"
|
2021-07-05 00:54:17 +00:00
|
|
|
version = "1.5.4"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-07-05 00:54:17 +00:00
|
|
|
checksum = "d07a8629359eb56f1e2fb1652bb04212c072a87ba68546a04065d525673ac461"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2020-05-10 09:56:31 +00:00
|
|
|
"aho-corasick",
|
|
|
|
"memchr",
|
|
|
|
"regex-syntax",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "regex-automata"
|
2021-07-05 00:54:17 +00:00
|
|
|
version = "0.1.10"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-07-05 00:54:17 +00:00
|
|
|
checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2020-10-23 04:16:33 +00:00
|
|
|
"regex-syntax",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "regex-syntax"
|
2021-05-04 00:44:05 +00:00
|
|
|
version = "0.6.25"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-05-04 00:44:05 +00:00
|
|
|
checksum = "f497285884f3fcff424ffc933e56d7cbca511def0c9831a7f9b5f6153e3cc89b"
|
2019-12-09 11:39:44 +00:00
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "remove_dir_all"
|
2020-07-06 01:55:56 +00:00
|
|
|
version = "0.5.3"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2020-07-06 01:55:56 +00:00
|
|
|
checksum = "3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2021-07-09 03:20:24 +00:00
|
|
|
"winapi",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "reqwest"
|
2022-01-14 05:42:47 +00:00
|
|
|
version = "0.11.9"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2022-01-14 05:42:47 +00:00
|
|
|
checksum = "87f242f1488a539a79bac6dbe7c8609ae43b7914b7736210f239a37cccb32525"
|
2020-05-10 09:56:31 +00:00
|
|
|
dependencies = [
|
2020-11-24 00:44:40 +00:00
|
|
|
"base64 0.13.0",
|
2021-10-29 01:59:29 +00:00
|
|
|
"bytes",
|
2020-05-10 09:56:31 +00:00
|
|
|
"encoding_rs",
|
2020-05-17 11:16:48 +00:00
|
|
|
"futures-core",
|
|
|
|
"futures-util",
|
2022-01-14 05:42:47 +00:00
|
|
|
"h2",
|
2021-02-10 23:29:49 +00:00
|
|
|
"http",
|
2021-07-09 03:20:24 +00:00
|
|
|
"http-body",
|
|
|
|
"hyper",
|
|
|
|
"hyper-tls",
|
2020-07-29 03:40:22 +00:00
|
|
|
"ipnet",
|
2020-05-17 11:16:48 +00:00
|
|
|
"js-sys",
|
|
|
|
"lazy_static",
|
2020-12-09 01:34:58 +00:00
|
|
|
"log",
|
|
|
|
"mime",
|
2020-05-10 09:56:31 +00:00
|
|
|
"native-tls",
|
2020-12-09 01:34:58 +00:00
|
|
|
"percent-encoding",
|
2022-01-11 01:35:56 +00:00
|
|
|
"pin-project-lite 0.2.8",
|
2020-05-10 09:56:31 +00:00
|
|
|
"serde",
|
|
|
|
"serde_json",
|
2020-11-28 05:30:57 +00:00
|
|
|
"serde_urlencoded",
|
2021-08-17 01:00:24 +00:00
|
|
|
"tokio",
|
2021-02-10 23:29:49 +00:00
|
|
|
"tokio-native-tls",
|
2021-12-22 06:17:14 +00:00
|
|
|
"tokio-util",
|
2020-12-09 01:34:58 +00:00
|
|
|
"url",
|
2020-05-17 11:16:48 +00:00
|
|
|
"wasm-bindgen",
|
|
|
|
"wasm-bindgen-futures",
|
|
|
|
"web-sys",
|
2021-06-03 01:11:33 +00:00
|
|
|
"winreg 0.7.0",
|
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "resolv-conf"
|
|
|
|
version = "0.7.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
checksum = "52e44394d2086d010551b14b53b1f24e31647570cd1deb0379e2c21b329aba00"
|
|
|
|
dependencies = [
|
|
|
|
"hostname",
|
|
|
|
"quick-error",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
2021-12-22 06:17:14 +00:00
|
|
|
[[package]]
|
|
|
|
name = "rfc6979"
|
|
|
|
version = "0.1.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
checksum = "96ef608575f6392792f9ecf7890c00086591d29a83910939d430753f7c050525"
|
|
|
|
dependencies = [
|
|
|
|
"crypto-bigint",
|
|
|
|
"hmac 0.11.0",
|
|
|
|
"zeroize",
|
|
|
|
]
|
|
|
|
|
2019-12-09 11:39:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "ring"
|
2021-03-02 05:59:49 +00:00
|
|
|
version = "0.16.20"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-03-02 05:59:49 +00:00
|
|
|
checksum = "3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2020-05-10 09:56:31 +00:00
|
|
|
"cc",
|
|
|
|
"libc",
|
2020-12-14 02:28:19 +00:00
|
|
|
"once_cell",
|
2020-05-10 09:56:31 +00:00
|
|
|
"spin",
|
|
|
|
"untrusted",
|
|
|
|
"web-sys",
|
2021-07-09 03:20:24 +00:00
|
|
|
"winapi",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "rle-decode-fast"
|
|
|
|
version = "1.0.1"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2020-05-10 09:56:31 +00:00
|
|
|
checksum = "cabe4fa914dec5870285fa7f71f602645da47c486e68486d2b4ceb4a343e90ac"
|
2019-12-09 11:39:44 +00:00
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "rlp"
|
2020-10-05 07:45:54 +00:00
|
|
|
version = "0.4.6"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2020-10-05 07:45:54 +00:00
|
|
|
checksum = "1190dcc8c3a512f1eef5d09bb8c84c7f39e1054e174d1795482e18f5272f2e73"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2020-05-10 09:56:31 +00:00
|
|
|
"rustc-hex",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
2021-02-10 23:29:49 +00:00
|
|
|
[[package]]
|
|
|
|
name = "rlp"
|
2021-08-17 01:00:24 +00:00
|
|
|
version = "0.5.1"
|
2021-02-10 23:29:49 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-08-17 01:00:24 +00:00
|
|
|
checksum = "999508abb0ae792aabed2460c45b89106d97fe4adac593bdaef433c2605847b5"
|
2021-02-10 23:29:49 +00:00
|
|
|
dependencies = [
|
2021-10-29 01:59:29 +00:00
|
|
|
"bytes",
|
2021-02-10 23:29:49 +00:00
|
|
|
"rustc-hex",
|
|
|
|
]
|
|
|
|
|
2020-07-29 04:32:50 +00:00
|
|
|
[[package]]
|
|
|
|
name = "rpassword"
|
2021-02-10 23:29:49 +00:00
|
|
|
version = "5.0.1"
|
2020-07-29 04:32:50 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-02-10 23:29:49 +00:00
|
|
|
checksum = "ffc936cf8a7ea60c58f030fd36a612a48f440610214dc54bc36431f9ea0c3efb"
|
2020-07-29 04:32:50 +00:00
|
|
|
dependencies = [
|
|
|
|
"libc",
|
2021-07-09 03:20:24 +00:00
|
|
|
"winapi",
|
2020-07-29 04:32:50 +00:00
|
|
|
]
|
|
|
|
|
2020-05-18 06:25:16 +00:00
|
|
|
[[package]]
|
|
|
|
name = "rusqlite"
|
2021-12-08 23:12:08 +00:00
|
|
|
version = "0.25.4"
|
2020-05-18 06:25:16 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-12-08 23:12:08 +00:00
|
|
|
checksum = "5c4b1eaf239b47034fb450ee9cdedd7d0226571689d8823030c4b6c2cb407152"
|
2020-05-18 06:25:16 +00:00
|
|
|
dependencies = [
|
2020-12-09 01:34:58 +00:00
|
|
|
"bitflags",
|
2020-05-18 06:25:16 +00:00
|
|
|
"fallible-iterator",
|
|
|
|
"fallible-streaming-iterator",
|
2020-10-09 02:05:30 +00:00
|
|
|
"hashlink",
|
2020-05-18 06:25:16 +00:00
|
|
|
"libsqlite3-sys",
|
|
|
|
"memchr",
|
2020-12-09 01:34:58 +00:00
|
|
|
"smallvec",
|
2020-05-18 06:25:16 +00:00
|
|
|
]
|
|
|
|
|
2019-12-09 11:39:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "rustc-demangle"
|
2021-09-03 01:10:25 +00:00
|
|
|
version = "0.1.21"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-09-03 01:10:25 +00:00
|
|
|
checksum = "7ef03e0a2b150c7a90d01faf6254c9c48a41e95fb2a8c2ac1c6f0d2b9aefc342"
|
2019-12-09 11:39:44 +00:00
|
|
|
|
EIP-2386 (draft): Eth2 wallet (#1117)
* Add test to understand flow of key storage
* First commit
* Committing to save trait stuff
* Working naive design
* Add keystore struct
* Move keystore files into their own module
* Add serde (de)serialize_with magic
* Add keystore test
* Fix tests
* Add comments and minor fixes
* Pass optional params to `to_keystore` function
* Add `path` field to keystore
* Add function to read Keystore from file
* Add test vectors and fix Version serialization
* Checksum params is empty object
* Add public key to Keystore
* Add function for saving keystore into file
* Deleted account_manager main.rs
* Move keystore module to validator_client
* Add save_keystore method to validator_directory
* Add load_keystore function. Minor refactorings
* Fixed dependencies
* Address some review comments
* Add Password newtype; derive Zeroize
* Fix test
* Move keystore into own crate
* Remove padding
* Add error enum, zeroize more things
* Fix comment
* Add keystore builder
* Remove keystore stuff from val client
* Add more tests, comments
* Add more comments, test vectors
* Progress on improving JSON validation
* More JSON verification
* Start moving JSON into own mod
* Remove old code
* Add more tests, reader/writers
* Tidy
* Move keystore into own file
* Move more logic into keystore file
* Tidy
* Tidy
* Allow for odd-character hex
* Add more json missing field checks
* Use scrypt by default
* Tidy, address comments
* Test path and uuid in vectors
* Fix comment
* Add checks for kdf params
* Enforce empty kdf message
* Expose json_keystore mod
* First commits on path derivation
* Progress with implementation
* More progress
* Passing intermediate test vectors
* Tidy, add comments
* Add DerivedKey structs
* Move key derivation into own crate
* Add zeroize structs
* Return error for empty seed
* Add tests
* Tidy
* First commits on path derivation
* Progress with implementation
* Move key derivation into own crate
* Start defining JSON wallet
* Add progress
* Split out encrypt/decrypt
* First commits on path derivation
* Progress with implementation
* More progress
* Passing intermediate test vectors
* Tidy, add comments
* Add DerivedKey structs
* Move key derivation into own crate
* Add zeroize structs
* Return error for empty seed
* Add tests
* Tidy
* Add progress
* Replace some password usage with slice
* First commits on path derivation
* Progress with implementation
* More progress
* Passing intermediate test vectors
* Tidy, add comments
* Add DerivedKey structs
* Move key derivation into own crate
* Add zeroize structs
* Return error for empty seed
* Add tests
* Tidy
* Add progress
* Expose PlainText struct
* First commits on path derivation
* Progress with implementation
* More progress
* Passing intermediate test vectors
* Tidy, add comments
* Add DerivedKey structs
* Move key derivation into own crate
* Add zeroize structs
* Return error for empty seed
* Add tests
* Tidy
* Add builder
* Expose consts, remove Password
* Minor progress
* Expose SALT_SIZE
* First compiling version
* Add test vectors
* Move dbg assert statement
* Add mnemonic, tidy
* Tidy
* Add testing
* Fix broken test
* Address review comments
Co-authored-by: pawan <pawandhananjay@gmail.com>
2020-05-11 22:54:59 +00:00
|
|
|
[[package]]
|
|
|
|
name = "rustc-hash"
|
|
|
|
version = "1.1.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2"
|
|
|
|
|
2019-12-09 11:39:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "rustc-hex"
|
2020-01-15 03:48:09 +00:00
|
|
|
version = "2.1.0"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2020-05-10 09:56:31 +00:00
|
|
|
checksum = "3e75f6a532d0fd9f7f13144f392b6ad56a32696bfcd9c78f797f16bbb6f072d6"
|
2019-12-09 11:39:44 +00:00
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "rustc_version"
|
|
|
|
version = "0.2.3"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2020-05-10 09:56:31 +00:00
|
|
|
checksum = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2021-05-19 23:05:16 +00:00
|
|
|
"semver 0.9.0",
|
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "rustc_version"
|
|
|
|
version = "0.3.3"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
checksum = "f0dfe2087c51c460008730de8b57e6a320782fbfb312e1f4d520e6c6fae155ee"
|
|
|
|
dependencies = [
|
|
|
|
"semver 0.11.0",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
2021-06-03 01:11:33 +00:00
|
|
|
[[package]]
|
|
|
|
name = "rustc_version"
|
|
|
|
version = "0.4.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366"
|
|
|
|
dependencies = [
|
2021-08-17 01:00:24 +00:00
|
|
|
"semver 1.0.4",
|
2021-06-03 01:11:33 +00:00
|
|
|
]
|
|
|
|
|
2019-12-09 11:39:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "rustls"
|
2021-05-04 00:44:05 +00:00
|
|
|
version = "0.19.1"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-05-04 00:44:05 +00:00
|
|
|
checksum = "35edb675feee39aec9c99fa5ff985081995a06d594114ae14cbe797ad7b7a6d7"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2020-12-23 07:53:36 +00:00
|
|
|
"base64 0.13.0",
|
2020-12-09 01:34:58 +00:00
|
|
|
"log",
|
2020-05-10 09:56:31 +00:00
|
|
|
"ring",
|
2021-11-18 05:08:42 +00:00
|
|
|
"sct 0.6.1",
|
|
|
|
"webpki 0.21.4",
|
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "rustls"
|
2021-12-22 06:17:14 +00:00
|
|
|
version = "0.20.2"
|
2021-11-18 05:08:42 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-12-22 06:17:14 +00:00
|
|
|
checksum = "d37e5e2290f3e040b594b1a9e04377c2c671f1a1cfd9bfdef82106ac1c113f84"
|
2021-11-18 05:08:42 +00:00
|
|
|
dependencies = [
|
|
|
|
"log",
|
|
|
|
"ring",
|
|
|
|
"sct 0.7.0",
|
|
|
|
"webpki 0.22.0",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
2021-03-02 05:59:49 +00:00
|
|
|
[[package]]
|
|
|
|
name = "rustversion"
|
2021-12-22 06:17:14 +00:00
|
|
|
version = "1.0.6"
|
2021-03-02 05:59:49 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-12-22 06:17:14 +00:00
|
|
|
checksum = "f2cc38e8fa666e2de3c4aba7edeb5ffc5246c1c2ed0e3d17e560aeeba736b23f"
|
2021-03-02 05:59:49 +00:00
|
|
|
|
2019-12-09 11:39:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "rw-stream-sink"
|
2020-05-17 11:16:48 +00:00
|
|
|
version = "0.2.1"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
checksum = "4da5fcb054c46f5a5dff833b129285a93d3f0179531735e6c866e8cc307d2020"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2021-07-09 03:20:24 +00:00
|
|
|
"futures",
|
2022-01-11 01:35:56 +00:00
|
|
|
"pin-project 0.4.29",
|
2020-05-17 11:16:48 +00:00
|
|
|
"static_assertions",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "ryu"
|
2021-12-22 06:17:14 +00:00
|
|
|
version = "1.0.9"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-12-22 06:17:14 +00:00
|
|
|
checksum = "73b4b750c782965c211b42f022f59af1fbceabdd026623714f104152f1ec149f"
|
2019-12-09 11:39:44 +00:00
|
|
|
|
2020-04-20 02:35:11 +00:00
|
|
|
[[package]]
|
|
|
|
name = "safe_arith"
|
|
|
|
version = "0.1.0"
|
|
|
|
|
2019-12-09 11:39:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "safemem"
|
|
|
|
version = "0.3.3"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2020-05-10 09:56:31 +00:00
|
|
|
checksum = "ef703b7cb59335eae2eb93ceb664c0eb7ea6bf567079d843e09420219668e072"
|
2019-12-09 11:39:44 +00:00
|
|
|
|
2020-12-07 08:20:33 +00:00
|
|
|
[[package]]
|
|
|
|
name = "salsa20"
|
2021-08-17 01:00:24 +00:00
|
|
|
version = "0.8.1"
|
2021-07-15 00:53:59 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-08-17 01:00:24 +00:00
|
|
|
checksum = "ecbd2eb639fd7cab5804a0837fe373cc2172d15437e804c054a9fb885cb923b0"
|
2021-07-15 00:53:59 +00:00
|
|
|
dependencies = [
|
2021-08-17 01:00:24 +00:00
|
|
|
"cipher",
|
2021-07-15 00:53:59 +00:00
|
|
|
]
|
|
|
|
|
2019-12-09 11:39:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "same-file"
|
2020-01-15 04:50:01 +00:00
|
|
|
version = "1.0.6"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2020-05-10 09:56:31 +00:00
|
|
|
checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2020-05-10 09:56:31 +00:00
|
|
|
"winapi-util",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "schannel"
|
2020-05-17 11:16:48 +00:00
|
|
|
version = "0.1.19"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2020-05-17 11:16:48 +00:00
|
|
|
checksum = "8f05ba609c234e60bee0d547fe94a4c7e9da733d1c962cf6e59efa4cd9c8bc75"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2020-05-10 09:56:31 +00:00
|
|
|
"lazy_static",
|
2021-07-09 03:20:24 +00:00
|
|
|
"winapi",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
2020-05-18 06:25:16 +00:00
|
|
|
[[package]]
|
|
|
|
name = "scheduled-thread-pool"
|
2020-07-06 01:55:56 +00:00
|
|
|
version = "0.2.5"
|
2020-05-18 06:25:16 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2020-07-06 01:55:56 +00:00
|
|
|
checksum = "dc6f74fd1204073fa02d5d5d68bec8021be4c38690b61264b2fdb48083d0e7d7"
|
2020-05-18 06:25:16 +00:00
|
|
|
dependencies = [
|
2020-12-09 01:34:58 +00:00
|
|
|
"parking_lot",
|
2020-05-18 06:25:16 +00:00
|
|
|
]
|
|
|
|
|
2019-12-09 11:39:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "scoped-tls"
|
|
|
|
version = "1.0.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2020-05-10 09:56:31 +00:00
|
|
|
checksum = "ea6a9290e3c9cf0f18145ef7ffa62d68ee0bf5fcd651017e586dc7fd5da448c2"
|
2019-12-09 11:39:44 +00:00
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "scopeguard"
|
Initial work towards v0.2.0 (#924)
* Remove ping protocol
* Initial renaming of network services
* Correct rebasing relative to latest master
* Start updating types
* Adds HashMapDelay struct to utils
* Initial network restructure
* Network restructure. Adds new types for v0.2.0
* Removes build artefacts
* Shift validation to beacon chain
* Temporarily remove gossip validation
This is to be updated to match current optimisation efforts.
* Adds AggregateAndProof
* Begin rebuilding pubsub encoding/decoding
* Signature hacking
* Shift gossipsup decoding into eth2_libp2p
* Existing EF tests passing with fake_crypto
* Shifts block encoding/decoding into RPC
* Delete outdated API spec
* All release tests passing bar genesis state parsing
* Update and test YamlConfig
* Update to spec v0.10 compatible BLS
* Updates to BLS EF tests
* Add EF test for AggregateVerify
And delete unused hash2curve tests for uncompressed points
* Update EF tests to v0.10.1
* Use optional block root correctly in block proc
* Use genesis fork in deposit domain. All tests pass
* Fast aggregate verify test
* Update REST API docs
* Fix unused import
* Bump spec tags to v0.10.1
* Add `seconds_per_eth1_block` to chainspec
* Update to timestamp based eth1 voting scheme
* Return None from `get_votes_to_consider` if block cache is empty
* Handle overflows in `is_candidate_block`
* Revert to failing tests
* Fix eth1 data sets test
* Choose default vote according to spec
* Fix collect_valid_votes tests
* Fix `get_votes_to_consider` to choose all eligible blocks
* Uncomment winning_vote tests
* Add comments; remove unused code
* Reduce seconds_per_eth1_block for simulation
* Addressed review comments
* Add test for default vote case
* Fix logs
* Remove unused functions
* Meter default eth1 votes
* Fix comments
* Progress on attestation service
* Address review comments; remove unused dependency
* Initial work on removing libp2p lock
* Add LRU caches to store (rollup)
* Update attestation validation for DB changes (WIP)
* Initial version of should_forward_block
* Scaffold
* Progress on attestation validation
Also, consolidate prod+testing slot clocks so that they share much
of the same implementation and can both handle sub-slot time changes.
* Removes lock from libp2p service
* Completed network lock removal
* Finish(?) attestation processing
* Correct network termination future
* Add slot check to block check
* Correct fmt issues
* Remove Drop implementation for network service
* Add first attempt at attestation proc. re-write
* Add version 2 of attestation processing
* Minor fixes
* Add validator pubkey cache
* Make get_indexed_attestation take a committee
* Link signature processing into new attn verification
* First working version
* Ensure pubkey cache is updated
* Add more metrics, slight optimizations
* Clone committee cache during attestation processing
* Update shuffling cache during block processing
* Remove old commented-out code
* Fix shuffling cache insert bug
* Used indexed attestation in fork choice
* Restructure attn processing, add metrics
* Add more detailed metrics
* Tidy, fix failing tests
* Fix failing tests, tidy
* Address reviewers suggestions
* Disable/delete two outdated tests
* Modification of validator for subscriptions
* Add slot signing to validator client
* Further progress on validation subscription
* Adds necessary validator subscription functionality
* Add new Pubkeys struct to signature_sets
* Refactor with functional approach
* Update beacon chain
* Clean up validator <-> beacon node http types
* Add aggregator status to ValidatorDuty
* Impl Clone for manual slot clock
* Fix minor errors
* Further progress validator client subscription
* Initial subscription and aggregation handling
* Remove decompressed member from pubkey bytes
* Progress to modifying val client for attestation aggregation
* First draft of validator client upgrade for aggregate attestations
* Add hashmap for indices lookup
* Add state cache, remove store cache
* Only build the head committee cache
* Removes lock on a network channel
* Partially implement beacon node subscription http api
* Correct compilation issues
* Change `get_attesting_indices` to use Vec
* Fix failing test
* Partial implementation of timer
* Adds timer, removes exit_future, http api to op pool
* Partial multiple aggregate attestation handling
* Permits bulk messages accross gossipsub network channel
* Correct compile issues
* Improve gosispsub messaging and correct rest api helpers
* Added global gossipsub subscriptions
* Update validator subscriptions data structs
* Tidy
* Re-structure validator subscriptions
* Initial handling of subscriptions
* Re-structure network service
* Add pubkey cache persistence file
* Add more comments
* Integrate persistence file into builder
* Add pubkey cache tests
* Add HashSetDelay and introduce into attestation service
* Handles validator subscriptions
* Add data_dir to beacon chain builder
* Remove Option in pubkey cache persistence file
* Ensure consistency between datadir/data_dir
* Fix failing network test
* Peer subnet discovery gets queued for future subscriptions
* Reorganise attestation service functions
* Initial wiring of attestation service
* First draft of attestation service timing logic
* Correct minor typos
* Tidy
* Fix todos
* Improve tests
* Add PeerInfo to connected peers mapping
* Fix compile error
* Fix compile error from merge
* Split up block processing metrics
* Tidy
* Refactor get_pubkey_from_state
* Remove commented-out code
* Rename state_cache -> checkpoint_cache
* Rename Checkpoint -> Snapshot
* Tidy, add comments
* Tidy up find_head function
* Change some checkpoint -> snapshot
* Add tests
* Expose max_len
* Remove dead code
* Tidy
* Fix bug
* Add sync-speed metric
* Add first attempt at VerifiableBlock
* Start integrating into beacon chain
* Integrate VerifiableBlock
* Rename VerifableBlock -> PartialBlockVerification
* Add start of typed methods
* Add progress
* Add further progress
* Rename structs
* Add full block verification to block_processing.rs
* Further beacon chain integration
* Update checks for gossip
* Add todo
* Start adding segement verification
* Add passing chain segement test
* Initial integration with batch sync
* Minor changes
* Tidy, add more error checking
* Start adding chain_segment tests
* Finish invalid signature tests
* Include single and gossip verified blocks in tests
* Add gossip verification tests
* Start adding docs
* Finish adding comments to block_processing.rs
* Rename block_processing.rs -> block_verification
* Start removing old block processing code
* Fixes beacon_chain compilation
* Fix project-wide compile errors
* Remove old code
* Correct code to pass all tests
* Fix bug with beacon proposer index
* Fix shim for BlockProcessingError
* Only process one epoch at a time
* Fix loop in chain segment processing
* Correct tests from master merge
* Add caching for state.eth1_data_votes
* Add BeaconChain::validator_pubkey
* Revert "Add caching for state.eth1_data_votes"
This reverts commit cd73dcd6434fb8d8e6bf30c5356355598ea7b78e.
Co-authored-by: Grant Wuerker <gwuerker@gmail.com>
Co-authored-by: Michael Sproul <michael@sigmaprime.io>
Co-authored-by: Michael Sproul <micsproul@gmail.com>
Co-authored-by: pawan <pawandhananjay@gmail.com>
Co-authored-by: Paul Hauner <paul@paulhauner.com>
2020-03-17 06:24:44 +00:00
|
|
|
version = "1.1.0"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2020-05-10 09:56:31 +00:00
|
|
|
checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd"
|
2019-12-09 11:39:44 +00:00
|
|
|
|
2020-07-01 08:01:03 +00:00
|
|
|
[[package]]
|
|
|
|
name = "scrypt"
|
2021-08-17 01:00:24 +00:00
|
|
|
version = "0.7.0"
|
2020-07-01 08:01:03 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-08-17 01:00:24 +00:00
|
|
|
checksum = "879588d8f90906e73302547e20fffefdd240eb3e0e744e142321f5d49dea0518"
|
2020-07-01 08:01:03 +00:00
|
|
|
dependencies = [
|
2021-08-17 01:00:24 +00:00
|
|
|
"hmac 0.11.0",
|
|
|
|
"pbkdf2 0.8.0",
|
|
|
|
"salsa20",
|
2022-01-11 01:35:56 +00:00
|
|
|
"sha2 0.9.9",
|
2020-07-01 08:01:03 +00:00
|
|
|
]
|
|
|
|
|
2019-12-09 11:39:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "sct"
|
2021-05-04 00:44:05 +00:00
|
|
|
version = "0.6.1"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-05-04 00:44:05 +00:00
|
|
|
checksum = "b362b83898e0e69f38515b82ee15aa80636befe47c3b6d3d89a911e78fc228ce"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2020-05-10 09:56:31 +00:00
|
|
|
"ring",
|
|
|
|
"untrusted",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
2021-11-18 05:08:42 +00:00
|
|
|
[[package]]
|
|
|
|
name = "sct"
|
|
|
|
version = "0.7.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
checksum = "d53dcdb7c9f8158937a7981b48accfd39a43af418591a5d008c7b22b5e1b7ca4"
|
|
|
|
dependencies = [
|
|
|
|
"ring",
|
|
|
|
"untrusted",
|
|
|
|
]
|
|
|
|
|
2021-12-22 06:17:14 +00:00
|
|
|
[[package]]
|
|
|
|
name = "sec1"
|
|
|
|
version = "0.2.1"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
checksum = "08da66b8b0965a5555b6bd6639e68ccba85e1e2506f5fbb089e93f8a04e1a2d1"
|
|
|
|
dependencies = [
|
|
|
|
"der 0.5.1",
|
|
|
|
"generic-array",
|
|
|
|
"subtle",
|
|
|
|
"zeroize",
|
|
|
|
]
|
|
|
|
|
2020-05-05 23:12:28 +00:00
|
|
|
[[package]]
|
|
|
|
name = "secp256k1"
|
2021-07-09 03:20:24 +00:00
|
|
|
version = "0.20.3"
|
2020-05-05 23:12:28 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-07-09 03:20:24 +00:00
|
|
|
checksum = "97d03ceae636d0fed5bae6a7f4f664354c5f4fcedf6eef053fef17e49f837d0a"
|
2020-05-05 23:12:28 +00:00
|
|
|
dependencies = [
|
2020-05-10 09:56:31 +00:00
|
|
|
"secp256k1-sys",
|
2020-05-05 23:12:28 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "secp256k1-sys"
|
2022-01-11 01:35:56 +00:00
|
|
|
version = "0.4.2"
|
2020-05-05 23:12:28 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2022-01-11 01:35:56 +00:00
|
|
|
checksum = "957da2573cde917463ece3570eab4a0b3f19de6f1646cde62e6fd3868f566036"
|
2020-05-05 23:12:28 +00:00
|
|
|
dependencies = [
|
2020-05-10 09:56:31 +00:00
|
|
|
"cc",
|
2020-05-05 23:12:28 +00:00
|
|
|
]
|
|
|
|
|
2019-12-09 11:39:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "security-framework"
|
2021-11-18 05:08:42 +00:00
|
|
|
version = "2.3.1"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-11-18 05:08:42 +00:00
|
|
|
checksum = "23a2ac85147a3a11d77ecf1bc7166ec0b92febfa4461c37944e180f319ece467"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2020-12-09 01:34:58 +00:00
|
|
|
"bitflags",
|
2020-05-10 09:56:31 +00:00
|
|
|
"core-foundation",
|
|
|
|
"core-foundation-sys",
|
|
|
|
"libc",
|
|
|
|
"security-framework-sys",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "security-framework-sys"
|
2021-09-16 04:45:05 +00:00
|
|
|
version = "2.4.2"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-09-16 04:45:05 +00:00
|
|
|
checksum = "a9dd14d83160b528b7bfd66439110573efcfbe281b17fc2ca9f39f550d619c7e"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2020-05-10 09:56:31 +00:00
|
|
|
"core-foundation-sys",
|
|
|
|
"libc",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "semver"
|
|
|
|
version = "0.9.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2020-05-10 09:56:31 +00:00
|
|
|
checksum = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2021-05-19 23:05:16 +00:00
|
|
|
"semver-parser 0.7.0",
|
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "semver"
|
|
|
|
version = "0.11.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
checksum = "f301af10236f6df4160f7c3f04eec6dbc70ace82d23326abad5edee88801c6b6"
|
|
|
|
dependencies = [
|
|
|
|
"semver-parser 0.10.2",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
2021-06-03 01:11:33 +00:00
|
|
|
[[package]]
|
|
|
|
name = "semver"
|
2021-08-17 01:00:24 +00:00
|
|
|
version = "1.0.4"
|
2021-06-03 01:11:33 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-08-17 01:00:24 +00:00
|
|
|
checksum = "568a8e6258aa33c13358f81fd834adb854c6f7c9468520910a9b1e8fac068012"
|
2021-06-03 01:11:33 +00:00
|
|
|
|
2019-12-09 11:39:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "semver-parser"
|
|
|
|
version = "0.7.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2020-05-10 09:56:31 +00:00
|
|
|
checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3"
|
2019-12-09 11:39:44 +00:00
|
|
|
|
2021-05-19 23:05:16 +00:00
|
|
|
[[package]]
|
|
|
|
name = "semver-parser"
|
|
|
|
version = "0.10.2"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
checksum = "00b0bef5b7f9e0df16536d3961cfb6e84331c065b4066afb39768d0e319411f7"
|
|
|
|
dependencies = [
|
|
|
|
"pest",
|
|
|
|
]
|
|
|
|
|
2021-05-04 01:59:51 +00:00
|
|
|
[[package]]
|
|
|
|
name = "sensitive_url"
|
|
|
|
version = "0.1.0"
|
|
|
|
dependencies = [
|
|
|
|
"serde",
|
|
|
|
"url",
|
|
|
|
]
|
|
|
|
|
2019-12-09 11:39:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "serde"
|
2022-01-11 01:35:56 +00:00
|
|
|
version = "1.0.133"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2022-01-11 01:35:56 +00:00
|
|
|
checksum = "97565067517b60e2d1ea8b268e59ce036de907ac523ad83a0475da04e818989a"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2020-05-10 09:56:31 +00:00
|
|
|
"serde_derive",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
2020-07-06 01:55:56 +00:00
|
|
|
[[package]]
|
|
|
|
name = "serde_cbor"
|
2021-09-03 01:10:25 +00:00
|
|
|
version = "0.11.2"
|
2020-07-06 01:55:56 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-09-03 01:10:25 +00:00
|
|
|
checksum = "2bef2ebfde456fb76bbcf9f59315333decc4fda0b2b44b420243c11e0f5ec1f5"
|
2020-07-06 01:55:56 +00:00
|
|
|
dependencies = [
|
|
|
|
"half",
|
|
|
|
"serde",
|
|
|
|
]
|
|
|
|
|
2019-12-09 11:39:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "serde_derive"
|
2022-01-11 01:35:56 +00:00
|
|
|
version = "1.0.133"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2022-01-11 01:35:56 +00:00
|
|
|
checksum = "ed201699328568d8d08208fdd080e3ff594e6c422e438b6705905da01005d537"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2020-05-17 11:16:48 +00:00
|
|
|
"proc-macro2",
|
|
|
|
"quote",
|
|
|
|
"syn",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "serde_json"
|
2022-01-11 01:35:56 +00:00
|
|
|
version = "1.0.74"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2022-01-11 01:35:56 +00:00
|
|
|
checksum = "ee2bb9cd061c5865d345bb02ca49fcef1391741b672b54a0bf7b679badec3142"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2021-12-22 06:17:14 +00:00
|
|
|
"itoa 1.0.1",
|
2020-05-10 09:56:31 +00:00
|
|
|
"ryu",
|
|
|
|
"serde",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "serde_repr"
|
2021-07-05 00:54:17 +00:00
|
|
|
version = "0.1.7"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-07-05 00:54:17 +00:00
|
|
|
checksum = "98d0516900518c29efa217c298fa1f4e6c6ffc85ae29fd7f4ee48f176e1a9ed5"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2020-05-17 11:16:48 +00:00
|
|
|
"proc-macro2",
|
|
|
|
"quote",
|
|
|
|
"syn",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
2020-11-24 00:44:40 +00:00
|
|
|
[[package]]
|
|
|
|
name = "serde_urlencoded"
|
|
|
|
version = "0.7.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
checksum = "edfa57a7f8d9c1d260a549e7224100f6c43d43f9103e06dd8b4095a9b2b43ce9"
|
|
|
|
dependencies = [
|
|
|
|
"form_urlencoded",
|
2021-12-22 06:17:14 +00:00
|
|
|
"itoa 0.4.8",
|
2020-11-24 00:44:40 +00:00
|
|
|
"ryu",
|
|
|
|
"serde",
|
|
|
|
]
|
|
|
|
|
2019-12-09 11:39:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "serde_yaml"
|
2021-12-22 06:17:14 +00:00
|
|
|
version = "0.8.23"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-12-22 06:17:14 +00:00
|
|
|
checksum = "a4a521f2940385c165a24ee286aa8599633d162077a54bdcae2a6fd5a7bfa7a0"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2021-09-03 01:10:25 +00:00
|
|
|
"indexmap",
|
2021-12-22 06:17:14 +00:00
|
|
|
"ryu",
|
2020-05-10 09:56:31 +00:00
|
|
|
"serde",
|
|
|
|
"yaml-rust",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
2020-08-27 07:04:12 +00:00
|
|
|
[[package]]
|
|
|
|
name = "sha-1"
|
2021-09-16 04:45:05 +00:00
|
|
|
version = "0.9.8"
|
2020-08-27 07:04:12 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-09-16 04:45:05 +00:00
|
|
|
checksum = "99cd6713db3cf16b6c84e06321e049a9b9f699826e16096d23bbcc44d15d51a6"
|
2020-08-27 07:04:12 +00:00
|
|
|
dependencies = [
|
2021-12-22 06:17:14 +00:00
|
|
|
"block-buffer 0.9.0",
|
2021-11-18 05:08:42 +00:00
|
|
|
"cfg-if",
|
2021-09-16 04:45:05 +00:00
|
|
|
"cpufeatures 0.2.1",
|
2021-12-22 06:17:14 +00:00
|
|
|
"digest 0.9.0",
|
2021-07-13 00:48:33 +00:00
|
|
|
"opaque-debug",
|
2020-08-27 07:04:12 +00:00
|
|
|
]
|
|
|
|
|
2020-07-01 08:01:03 +00:00
|
|
|
[[package]]
|
|
|
|
name = "sha2"
|
2022-01-11 01:35:56 +00:00
|
|
|
version = "0.9.9"
|
2020-07-01 08:01:03 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2022-01-11 01:35:56 +00:00
|
|
|
checksum = "4d58a1e1bf39749807d89cf2d98ac2dfa0ff1cb3faa38fbb64dd88ac8013d800"
|
2020-07-01 08:01:03 +00:00
|
|
|
dependencies = [
|
2021-12-22 06:17:14 +00:00
|
|
|
"block-buffer 0.9.0",
|
2021-11-18 05:08:42 +00:00
|
|
|
"cfg-if",
|
2021-09-16 04:45:05 +00:00
|
|
|
"cpufeatures 0.2.1",
|
2021-12-22 06:17:14 +00:00
|
|
|
"digest 0.9.0",
|
2021-07-13 00:48:33 +00:00
|
|
|
"opaque-debug",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
2021-12-22 06:17:14 +00:00
|
|
|
[[package]]
|
|
|
|
name = "sha2"
|
2022-01-11 01:35:56 +00:00
|
|
|
version = "0.10.1"
|
2021-12-22 06:17:14 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2022-01-11 01:35:56 +00:00
|
|
|
checksum = "99c3bd8169c58782adad9290a9af5939994036b76187f7b4f0e6de91dbbfc0ec"
|
2021-12-22 06:17:14 +00:00
|
|
|
dependencies = [
|
|
|
|
"cfg-if",
|
|
|
|
"cpufeatures 0.2.1",
|
|
|
|
"digest 0.10.1",
|
|
|
|
]
|
|
|
|
|
2019-12-09 11:39:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "sha3"
|
2020-08-27 07:04:12 +00:00
|
|
|
version = "0.9.1"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2020-08-27 07:04:12 +00:00
|
|
|
checksum = "f81199417d4e5de3f04b1e871023acea7389672c4135918f05aa9cbf2f2fa809"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2021-12-22 06:17:14 +00:00
|
|
|
"block-buffer 0.9.0",
|
|
|
|
"digest 0.9.0",
|
2020-05-10 09:56:31 +00:00
|
|
|
"keccak",
|
2021-07-13 00:48:33 +00:00
|
|
|
"opaque-debug",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
2020-10-23 04:16:33 +00:00
|
|
|
[[package]]
|
|
|
|
name = "sharded-slab"
|
2021-10-14 02:58:11 +00:00
|
|
|
version = "0.1.4"
|
2020-10-23 04:16:33 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-10-14 02:58:11 +00:00
|
|
|
checksum = "900fba806f70c630b0a382d0d825e17a0f19fcd059a2ade1ff237bcddf446b31"
|
2020-10-23 04:16:33 +00:00
|
|
|
dependencies = [
|
|
|
|
"lazy_static",
|
|
|
|
]
|
|
|
|
|
2021-12-21 08:23:17 +00:00
|
|
|
[[package]]
|
|
|
|
name = "shlex"
|
|
|
|
version = "1.1.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
checksum = "43b2853a4d09f215c24cc5489c992ce46052d359b5109343cbafbf26bc62f8a3"
|
|
|
|
|
2020-05-17 11:16:48 +00:00
|
|
|
[[package]]
|
|
|
|
name = "signal-hook-registry"
|
2021-07-05 00:54:17 +00:00
|
|
|
version = "1.4.0"
|
2020-05-17 11:16:48 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-07-05 00:54:17 +00:00
|
|
|
checksum = "e51e73328dc4ac0c7ccbda3a494dfa03df1de2f46018127f60c693f2648455b0"
|
2020-05-17 11:16:48 +00:00
|
|
|
dependencies = [
|
|
|
|
"libc",
|
|
|
|
]
|
|
|
|
|
2020-07-21 00:54:47 +00:00
|
|
|
[[package]]
|
|
|
|
name = "signature"
|
2021-10-29 01:59:29 +00:00
|
|
|
version = "1.3.2"
|
2020-07-21 00:54:47 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-10-29 01:59:29 +00:00
|
|
|
checksum = "f2807892cfa58e081aa1f1111391c7a0649d4fa127a4ffbe34bcbfb35a1171a4"
|
2020-10-23 04:16:33 +00:00
|
|
|
dependencies = [
|
2021-12-22 06:17:14 +00:00
|
|
|
"digest 0.9.0",
|
2021-07-05 00:54:17 +00:00
|
|
|
"rand_core 0.6.3",
|
2020-10-23 04:16:33 +00:00
|
|
|
]
|
2020-07-21 00:54:47 +00:00
|
|
|
|
2020-01-23 07:07:39 +00:00
|
|
|
[[package]]
|
|
|
|
name = "simulator"
|
Initial work towards v0.2.0 (#924)
* Remove ping protocol
* Initial renaming of network services
* Correct rebasing relative to latest master
* Start updating types
* Adds HashMapDelay struct to utils
* Initial network restructure
* Network restructure. Adds new types for v0.2.0
* Removes build artefacts
* Shift validation to beacon chain
* Temporarily remove gossip validation
This is to be updated to match current optimisation efforts.
* Adds AggregateAndProof
* Begin rebuilding pubsub encoding/decoding
* Signature hacking
* Shift gossipsup decoding into eth2_libp2p
* Existing EF tests passing with fake_crypto
* Shifts block encoding/decoding into RPC
* Delete outdated API spec
* All release tests passing bar genesis state parsing
* Update and test YamlConfig
* Update to spec v0.10 compatible BLS
* Updates to BLS EF tests
* Add EF test for AggregateVerify
And delete unused hash2curve tests for uncompressed points
* Update EF tests to v0.10.1
* Use optional block root correctly in block proc
* Use genesis fork in deposit domain. All tests pass
* Fast aggregate verify test
* Update REST API docs
* Fix unused import
* Bump spec tags to v0.10.1
* Add `seconds_per_eth1_block` to chainspec
* Update to timestamp based eth1 voting scheme
* Return None from `get_votes_to_consider` if block cache is empty
* Handle overflows in `is_candidate_block`
* Revert to failing tests
* Fix eth1 data sets test
* Choose default vote according to spec
* Fix collect_valid_votes tests
* Fix `get_votes_to_consider` to choose all eligible blocks
* Uncomment winning_vote tests
* Add comments; remove unused code
* Reduce seconds_per_eth1_block for simulation
* Addressed review comments
* Add test for default vote case
* Fix logs
* Remove unused functions
* Meter default eth1 votes
* Fix comments
* Progress on attestation service
* Address review comments; remove unused dependency
* Initial work on removing libp2p lock
* Add LRU caches to store (rollup)
* Update attestation validation for DB changes (WIP)
* Initial version of should_forward_block
* Scaffold
* Progress on attestation validation
Also, consolidate prod+testing slot clocks so that they share much
of the same implementation and can both handle sub-slot time changes.
* Removes lock from libp2p service
* Completed network lock removal
* Finish(?) attestation processing
* Correct network termination future
* Add slot check to block check
* Correct fmt issues
* Remove Drop implementation for network service
* Add first attempt at attestation proc. re-write
* Add version 2 of attestation processing
* Minor fixes
* Add validator pubkey cache
* Make get_indexed_attestation take a committee
* Link signature processing into new attn verification
* First working version
* Ensure pubkey cache is updated
* Add more metrics, slight optimizations
* Clone committee cache during attestation processing
* Update shuffling cache during block processing
* Remove old commented-out code
* Fix shuffling cache insert bug
* Used indexed attestation in fork choice
* Restructure attn processing, add metrics
* Add more detailed metrics
* Tidy, fix failing tests
* Fix failing tests, tidy
* Address reviewers suggestions
* Disable/delete two outdated tests
* Modification of validator for subscriptions
* Add slot signing to validator client
* Further progress on validation subscription
* Adds necessary validator subscription functionality
* Add new Pubkeys struct to signature_sets
* Refactor with functional approach
* Update beacon chain
* Clean up validator <-> beacon node http types
* Add aggregator status to ValidatorDuty
* Impl Clone for manual slot clock
* Fix minor errors
* Further progress validator client subscription
* Initial subscription and aggregation handling
* Remove decompressed member from pubkey bytes
* Progress to modifying val client for attestation aggregation
* First draft of validator client upgrade for aggregate attestations
* Add hashmap for indices lookup
* Add state cache, remove store cache
* Only build the head committee cache
* Removes lock on a network channel
* Partially implement beacon node subscription http api
* Correct compilation issues
* Change `get_attesting_indices` to use Vec
* Fix failing test
* Partial implementation of timer
* Adds timer, removes exit_future, http api to op pool
* Partial multiple aggregate attestation handling
* Permits bulk messages accross gossipsub network channel
* Correct compile issues
* Improve gosispsub messaging and correct rest api helpers
* Added global gossipsub subscriptions
* Update validator subscriptions data structs
* Tidy
* Re-structure validator subscriptions
* Initial handling of subscriptions
* Re-structure network service
* Add pubkey cache persistence file
* Add more comments
* Integrate persistence file into builder
* Add pubkey cache tests
* Add HashSetDelay and introduce into attestation service
* Handles validator subscriptions
* Add data_dir to beacon chain builder
* Remove Option in pubkey cache persistence file
* Ensure consistency between datadir/data_dir
* Fix failing network test
* Peer subnet discovery gets queued for future subscriptions
* Reorganise attestation service functions
* Initial wiring of attestation service
* First draft of attestation service timing logic
* Correct minor typos
* Tidy
* Fix todos
* Improve tests
* Add PeerInfo to connected peers mapping
* Fix compile error
* Fix compile error from merge
* Split up block processing metrics
* Tidy
* Refactor get_pubkey_from_state
* Remove commented-out code
* Rename state_cache -> checkpoint_cache
* Rename Checkpoint -> Snapshot
* Tidy, add comments
* Tidy up find_head function
* Change some checkpoint -> snapshot
* Add tests
* Expose max_len
* Remove dead code
* Tidy
* Fix bug
* Add sync-speed metric
* Add first attempt at VerifiableBlock
* Start integrating into beacon chain
* Integrate VerifiableBlock
* Rename VerifableBlock -> PartialBlockVerification
* Add start of typed methods
* Add progress
* Add further progress
* Rename structs
* Add full block verification to block_processing.rs
* Further beacon chain integration
* Update checks for gossip
* Add todo
* Start adding segement verification
* Add passing chain segement test
* Initial integration with batch sync
* Minor changes
* Tidy, add more error checking
* Start adding chain_segment tests
* Finish invalid signature tests
* Include single and gossip verified blocks in tests
* Add gossip verification tests
* Start adding docs
* Finish adding comments to block_processing.rs
* Rename block_processing.rs -> block_verification
* Start removing old block processing code
* Fixes beacon_chain compilation
* Fix project-wide compile errors
* Remove old code
* Correct code to pass all tests
* Fix bug with beacon proposer index
* Fix shim for BlockProcessingError
* Only process one epoch at a time
* Fix loop in chain segment processing
* Correct tests from master merge
* Add caching for state.eth1_data_votes
* Add BeaconChain::validator_pubkey
* Revert "Add caching for state.eth1_data_votes"
This reverts commit cd73dcd6434fb8d8e6bf30c5356355598ea7b78e.
Co-authored-by: Grant Wuerker <gwuerker@gmail.com>
Co-authored-by: Michael Sproul <michael@sigmaprime.io>
Co-authored-by: Michael Sproul <micsproul@gmail.com>
Co-authored-by: pawan <pawandhananjay@gmail.com>
Co-authored-by: Paul Hauner <paul@paulhauner.com>
2020-03-17 06:24:44 +00:00
|
|
|
version = "0.2.0"
|
2020-01-23 07:07:39 +00:00
|
|
|
dependencies = [
|
2020-05-10 09:56:31 +00:00
|
|
|
"clap",
|
2021-08-17 01:00:24 +00:00
|
|
|
"env_logger 0.9.0",
|
2020-08-31 02:36:17 +00:00
|
|
|
"eth1",
|
2020-05-10 09:56:31 +00:00
|
|
|
"eth1_test_rig",
|
2021-07-09 03:20:24 +00:00
|
|
|
"futures",
|
2020-05-10 09:56:31 +00:00
|
|
|
"node_test_rig",
|
2020-12-09 01:34:58 +00:00
|
|
|
"parking_lot",
|
Wallet-based, encrypted key management (#1138)
* Update hashmap hashset to stable futures
* Adds panic test to hashset delay
* Port remote_beacon_node to stable futures
* Fix lcli merge conflicts
* Non rpc stuff compiles
* Remove padding
* Add error enum, zeroize more things
* Fix comment
* protocol.rs compiles
* Port websockets, timer and notifier to stable futures (#1035)
* Fix lcli
* Port timer to stable futures
* Fix timer
* Port websocket_server to stable futures
* Port notifier to stable futures
* Add TODOS
* Port remote_beacon_node to stable futures
* Partial eth2-libp2p stable future upgrade
* Finished first round of fighting RPC types
* Further progress towards porting eth2-libp2p adds caching to discovery
* Update behaviour
* Add keystore builder
* Remove keystore stuff from val client
* Add more tests, comments
* RPC handler to stable futures
* Update RPC to master libp2p
* Add more comments, test vectors
* Network service additions
* Progress on improving JSON validation
* More JSON verification
* Start moving JSON into own mod
* Remove old code
* Add more tests, reader/writers
* Tidy
* Move keystore into own file
* Move more logic into keystore file
* Tidy
* Tidy
* Fix the fallback transport construction (#1102)
* Allow for odd-character hex
* Correct warning
* Remove hashmap delay
* Compiling version of eth2-libp2p
* Update all crates versions
* Fix conversion function and add tests (#1113)
* Add more json missing field checks
* Use scrypt by default
* Tidy, address comments
* Test path and uuid in vectors
* Fix comment
* Add checks for kdf params
* Enforce empty kdf message
* Port validator_client to stable futures (#1114)
* Add PH & MS slot clock changes
* Account for genesis time
* Add progress on duties refactor
* Add simple is_aggregator bool to val subscription
* Start work on attestation_verification.rs
* Add progress on ObservedAttestations
* Progress with ObservedAttestations
* Fix tests
* Add observed attestations to the beacon chain
* Add attestation observation to processing code
* Add progress on attestation verification
* Add first draft of ObservedAttesters
* Add more tests
* Add observed attesters to beacon chain
* Add observers to attestation processing
* Add more attestation verification
* Create ObservedAggregators map
* Remove commented-out code
* Add observed aggregators into chain
* Add progress
* Finish adding features to attestation verification
* Ensure beacon chain compiles
* Link attn verification into chain
* Integrate new attn verification in chain
* Remove old attestation processing code
* Start trying to fix beacon_chain tests
* Split adding into pools into two functions
* Add aggregation to harness
* Get test harness working again
* Adjust the number of aggregators for test harness
* Fix edge-case in harness
* Integrate new attn processing in network
* Fix compile bug in validator_client
* Update validator API endpoints
* Fix aggreagation in test harness
* Fix enum thing
* Fix attestation observation bug:
* Patch failing API tests
* Start adding comments to attestation verification
* Remove unused attestation field
* Unify "is block known" logic
* Update comments
* Supress fork choice errors for network processing
* Add todos
* Tidy
* Add gossip attn tests
* Disallow test harness to produce old attns
* Comment out in-progress tests
* Partially address pruning tests
* Fix failing store test
* Add aggregate tests
* Add comments about which spec conditions we check
* Dont re-aggregate
* Split apart test harness attn production
* Fix compile error in network
* Make progress on commented-out test
* Fix skipping attestation test
* Add fork choice verification tests
* Tidy attn tests, remove dead code
* Remove some accidentally added code
* Fix clippy lint
* Rename test file
* Add block tests, add cheap block proposer check
* Rename block testing file
* Add observed_block_producers
* Tidy
* Switch around block signature verification
* Finish block testing
* Remove gossip from signature tests
* First pass of self review
* Fix deviation in spec
* Update test spec tags
* Start moving over to hashset
* Finish moving observed attesters to hashmap
* Move aggregation pool over to hashmap
* Make fc attn borrow again
* Fix rest_api compile error
* Fix missing comments
* Fix monster test
* Uncomment increasing slots test
* Address remaining comments
* Remove unsafe, use cfg test
* Remove cfg test flag
* Fix dodgy comment
* Revert "Update hashmap hashset to stable futures"
This reverts commit d432378a3cc5cd67fc29c0b15b96b886c1323554.
* Revert "Adds panic test to hashset delay"
This reverts commit 281502396fc5b90d9c421a309c2c056982c9525b.
* Ported attestation_service
* Ported duties_service
* Ported fork_service
* More ports
* Port block_service
* Minor fixes
* VC compiles
* Update TODOS
* Borrow self where possible
* Ignore aggregates that are already known.
* Unify aggregator modulo logic
* Fix typo in logs
* Refactor validator subscription logic
* Avoid reproducing selection proof
* Skip HTTP call if no subscriptions
* Rename DutyAndState -> DutyAndProof
* Tidy logs
* Print root as dbg
* Fix compile errors in tests
* Fix compile error in test
* Re-Fix attestation and duties service
* Minor fixes
Co-authored-by: Paul Hauner <paul@paulhauner.com>
* Expose json_keystore mod
* First commits on path derivation
* Progress with implementation
* More progress
* Passing intermediate test vectors
* Tidy, add comments
* Add DerivedKey structs
* Move key derivation into own crate
* Add zeroize structs
* Return error for empty seed
* Add tests
* Tidy
* First commits on path derivation
* Progress with implementation
* Move key derivation into own crate
* Start defining JSON wallet
* Add progress
* Split out encrypt/decrypt
* First commits on path derivation
* Progress with implementation
* More progress
* Passing intermediate test vectors
* Tidy, add comments
* Add DerivedKey structs
* Move key derivation into own crate
* Add zeroize structs
* Return error for empty seed
* Add tests
* Tidy
* Add progress
* Replace some password usage with slice
* First commits on path derivation
* Progress with implementation
* More progress
* Passing intermediate test vectors
* Tidy, add comments
* Add DerivedKey structs
* Move key derivation into own crate
* Add zeroize structs
* Return error for empty seed
* Add tests
* Tidy
* Add progress
* Expose PlainText struct
* First commits on path derivation
* Progress with implementation
* More progress
* Passing intermediate test vectors
* Tidy, add comments
* Add DerivedKey structs
* Move key derivation into own crate
* Add zeroize structs
* Return error for empty seed
* Add tests
* Tidy
* Add builder
* Expose consts, remove Password
* Minor progress
* Expose SALT_SIZE
* First compiling version
* Add test vectors
* Network crate update to stable futures
* Move dbg assert statement
* Port account_manager to stable futures (#1121)
* Port account_manager to stable futures
* Run async fns in tokio environment
* Port rest_api crate to stable futures (#1118)
* Port rest_api lib to stable futures
* Reduce tokio features
* Update notifier to stable futures
* Builder update
* Further updates
* Add mnemonic, tidy
* Convert self referential async functions
* Tidy
* Add testing
* Add first attempt at validator_dir
* Present pubkey field
* stable futures fixes (#1124)
* Fix eth1 update functions
* Fix genesis and client
* Fix beacon node lib
* Return appropriate runtimes from environment
* Fix test rig
* Refactor eth1 service update
* Upgrade simulator to stable futures
* Lighthouse compiles on stable futures
* Add first pass of wallet manager
* Progress with CLI
* Remove println debugging statement
* Tidy output
* Tidy 600 perms
* Update libp2p service, start rpc test upgrade
* Add validator creation flow
* Update network crate for new libp2p
* Start tidying, adding comments
* Update tokio::codec to futures_codec (#1128)
* Further work towards RPC corrections
* Correct http timeout and network service select
* Add wallet mgr testing
* Shift LockedWallet into own file
* Add comments to fs
* Start integration into VC
* Use tokio runtime for libp2p
* Revert "Update tokio::codec to futures_codec (#1128)"
This reverts commit e57aea924acf5cbabdcea18895ac07e38a425ed7.
* Upgrade RPC libp2p tests
* Upgrade secio fallback test
* Add lcli keypair upgrade command
* Upgrade gossipsub examples
* Clean up RPC protocol
* Test fixes (#1133)
* Correct websocket timeout and run on os thread
* Fix network test
* Add --secrets-dir to VC
* Remove --legacy-keys from VC
* Clean up PR
* Correct tokio tcp move attestation service tests
* Upgrade attestation service tests
* Fix sim
* Correct network test
* Correct genesis test
* Start docs
* Add progress for validator generation
* Tidy error messages
* Test corrections
* Log info when block is received
* Modify logs and update attester service events
* Stable futures: fixes to vc, eth1 and account manager (#1142)
* Add local testnet scripts
* Remove whiteblock script
* Rename local testnet script
* Move spawns onto handle
* Fix VC panic
* Initial fix to block production issue
* Tidy block producer fix
* Tidy further
* Add local testnet clean script
* Run cargo fmt
* Tidy duties service
* Tidy fork service
* Tidy ForkService
* Tidy AttestationService
* Tidy notifier
* Ensure await is not suppressed in eth1
* Ensure await is not suppressed in account_manager
* Use .ok() instead of .unwrap_or(())
* RPC decoding test for proto
* Update discv5 and eth2-libp2p deps
* Run cargo fmt
* Pre-build keystores for sim
* Fix lcli double runtime issue (#1144)
* Handle stream termination and dialing peer errors
* Correct peer_info variant types
* Add progress on new deposit flow
* Remove unnecessary warnings
* Handle subnet unsubscription removal and improve logigng
* Add logs around ping
* Upgrade discv5 and improve logging
* Handle peer connection status for multiple connections
* Improve network service logging
* Add more incomplete progress
* Improve logging around peer manager
* Upgrade swarm poll centralise peer management
* Identify clients on error
* Fix `remove_peer` in sync (#1150)
* remove_peer removes from all chains
* Remove logs
* Fix early return from loop
* Improved logging, fix panic
* Partially correct tests
* Add deposit command
* Remove old validator directory
* Start adding AM tests
* Stable futures: Vc sync (#1149)
* Improve syncing heuristic
* Add comments
* Use safer method for tolerance
* Fix tests
* Binary testing progress
* Progress with CLI tests
* Use constants for flags
* More account manager testing
* Improve CLI tests
* Move upgrade-legacy-keypairs into account man
* Use rayon for VC key generation
* Add comments to `validator_dir`
* Add testing to validator_dir
* Add fix to eth1-sim
* Check errors in eth1-sim
* Fix mutability issue
* Ensure password file ends in .pass
* Add more tests to wallet manager
* Tidy deposit
* Tidy account manager
* Tidy account manager
* Remove panic
* Generate keypairs earlier in sim
* Tidy eth1-sime
* Try to fix eth1 sim
* Address review comments
* Fix typo in CLI command
* Update docs
* Disable eth1 sim
* Remove eth1 sim completely
Co-authored-by: Age Manning <Age@AgeManning.com>
Co-authored-by: pawanjay176 <pawandhananjay@gmail.com>
2020-05-18 09:01:45 +00:00
|
|
|
"rayon",
|
2021-05-04 01:59:51 +00:00
|
|
|
"sensitive_url",
|
2021-08-17 01:00:24 +00:00
|
|
|
"tokio",
|
2020-05-10 09:56:31 +00:00
|
|
|
"types",
|
2020-01-23 07:07:39 +00:00
|
|
|
]
|
|
|
|
|
2019-12-09 11:39:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "slab"
|
2021-10-14 22:09:38 +00:00
|
|
|
version = "0.4.5"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-10-14 22:09:38 +00:00
|
|
|
checksum = "9def91fd1e018fe007022791f865d0ccc9b3a0d5001e01aabb8b40e46000afb5"
|
2019-12-09 11:39:44 +00:00
|
|
|
|
2020-11-23 03:43:22 +00:00
|
|
|
[[package]]
|
|
|
|
name = "slasher"
|
|
|
|
version = "0.1.0"
|
|
|
|
dependencies = [
|
|
|
|
"bincode",
|
|
|
|
"byteorder",
|
2021-11-29 03:57:54 +00:00
|
|
|
"eth2_ssz",
|
2021-11-24 00:28:30 +00:00
|
|
|
"eth2_ssz_derive 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2021-05-19 23:05:16 +00:00
|
|
|
"filesystem",
|
2020-11-23 03:43:22 +00:00
|
|
|
"flate2",
|
|
|
|
"lazy_static",
|
2021-12-21 08:23:17 +00:00
|
|
|
"libmdbx",
|
2020-11-23 03:43:22 +00:00
|
|
|
"lighthouse_metrics",
|
2021-10-06 00:46:07 +00:00
|
|
|
"logging",
|
2021-12-21 08:23:17 +00:00
|
|
|
"lru",
|
2020-11-23 03:43:22 +00:00
|
|
|
"maplit",
|
2020-12-09 01:34:58 +00:00
|
|
|
"parking_lot",
|
2020-11-23 03:43:22 +00:00
|
|
|
"rand 0.7.3",
|
|
|
|
"rayon",
|
|
|
|
"safe_arith",
|
|
|
|
"serde",
|
|
|
|
"serde_derive",
|
|
|
|
"slog",
|
2021-09-14 06:48:26 +00:00
|
|
|
"sloggers",
|
2021-01-06 06:36:11 +00:00
|
|
|
"tempfile",
|
2021-11-29 03:57:54 +00:00
|
|
|
"tree_hash",
|
2021-11-24 00:28:30 +00:00
|
|
|
"tree_hash_derive 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2020-11-23 03:43:22 +00:00
|
|
|
"types",
|
|
|
|
]
|
|
|
|
|
2020-12-16 03:44:01 +00:00
|
|
|
[[package]]
|
|
|
|
name = "slasher_service"
|
|
|
|
version = "0.1.0"
|
|
|
|
dependencies = [
|
|
|
|
"beacon_chain",
|
|
|
|
"directory",
|
Rename eth2_libp2p to lighthouse_network (#2702)
## Description
The `eth2_libp2p` crate was originally named and designed to incorporate a simple libp2p integration into lighthouse. Since its origins the crates purpose has expanded dramatically. It now houses a lot more sophistication that is specific to lighthouse and no longer just a libp2p integration.
As of this writing it currently houses the following high-level lighthouse-specific logic:
- Lighthouse's implementation of the eth2 RPC protocol and specific encodings/decodings
- Integration and handling of ENRs with respect to libp2p and eth2
- Lighthouse's discovery logic, its integration with discv5 and logic about searching and handling peers.
- Lighthouse's peer manager - This is a large module handling various aspects of Lighthouse's network, such as peer scoring, handling pings and metadata, connection maintenance and recording, etc.
- Lighthouse's peer database - This is a collection of information stored for each individual peer which is specific to lighthouse. We store connection state, sync state, last seen ips and scores etc. The data stored for each peer is designed for various elements of the lighthouse code base such as syncing and the http api.
- Gossipsub scoring - This stores a collection of gossipsub 1.1 scoring mechanisms that are continuously analyssed and updated based on the ethereum 2 networks and how Lighthouse performs on these networks.
- Lighthouse specific types for managing gossipsub topics, sync status and ENR fields
- Lighthouse's network HTTP API metrics - A collection of metrics for lighthouse network monitoring
- Lighthouse's custom configuration of all networking protocols, RPC, gossipsub, discovery, identify and libp2p.
Therefore it makes sense to rename the crate to be more akin to its current purposes, simply that it manages the majority of Lighthouse's network stack. This PR renames this crate to `lighthouse_network`
Co-authored-by: Paul Hauner <paul@paulhauner.com>
2021-10-19 00:30:39 +00:00
|
|
|
"lighthouse_network",
|
2020-12-16 03:44:01 +00:00
|
|
|
"network",
|
|
|
|
"slasher",
|
|
|
|
"slog",
|
|
|
|
"slot_clock",
|
|
|
|
"state_processing",
|
|
|
|
"task_executor",
|
2021-08-17 01:00:24 +00:00
|
|
|
"tokio",
|
2020-12-16 03:44:01 +00:00
|
|
|
"types",
|
|
|
|
]
|
|
|
|
|
2020-05-18 06:25:16 +00:00
|
|
|
[[package]]
|
|
|
|
name = "slashing_protection"
|
|
|
|
version = "0.1.0"
|
|
|
|
dependencies = [
|
2022-01-04 20:46:44 +00:00
|
|
|
"arbitrary",
|
2021-11-29 22:32:53 +00:00
|
|
|
"eth2_serde_utils",
|
2021-05-19 23:05:16 +00:00
|
|
|
"filesystem",
|
2021-06-21 05:46:36 +00:00
|
|
|
"lazy_static",
|
2020-05-18 06:25:16 +00:00
|
|
|
"r2d2",
|
|
|
|
"r2d2_sqlite",
|
|
|
|
"rayon",
|
|
|
|
"rusqlite",
|
2020-10-02 01:42:27 +00:00
|
|
|
"serde",
|
|
|
|
"serde_derive",
|
|
|
|
"serde_json",
|
2020-05-18 06:25:16 +00:00
|
|
|
"tempfile",
|
|
|
|
"types",
|
|
|
|
]
|
|
|
|
|
2019-12-09 11:39:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "slog"
|
2020-11-30 22:55:10 +00:00
|
|
|
version = "2.7.0"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2020-11-30 22:55:10 +00:00
|
|
|
checksum = "8347046d4ebd943127157b94d63abb990fcf729dc4e9978927fdf4ac3c998d06"
|
2019-12-09 11:39:44 +00:00
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "slog-async"
|
2021-08-17 01:00:24 +00:00
|
|
|
version = "2.7.0"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-08-17 01:00:24 +00:00
|
|
|
checksum = "766c59b252e62a34651412870ff55d8c4e6d04df19b43eecb2703e417b097ffe"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2021-02-10 23:29:49 +00:00
|
|
|
"crossbeam-channel",
|
2020-05-10 09:56:31 +00:00
|
|
|
"slog",
|
|
|
|
"take_mut",
|
|
|
|
"thread_local",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "slog-json"
|
2021-08-17 01:00:24 +00:00
|
|
|
version = "2.4.0"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-08-17 01:00:24 +00:00
|
|
|
checksum = "52e9b96fb6b5e80e371423b4aca6656eb537661ce8f82c2697e619f8ca85d043"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2020-05-10 09:56:31 +00:00
|
|
|
"chrono",
|
|
|
|
"serde",
|
|
|
|
"serde_json",
|
|
|
|
"slog",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "slog-kvfilter"
|
|
|
|
version = "0.7.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2020-05-10 09:56:31 +00:00
|
|
|
checksum = "ae939ed7d169eed9699f4f5cd440f046f5dc5dfc27c19e3cd311619594c175e0"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2020-05-10 09:56:31 +00:00
|
|
|
"regex",
|
|
|
|
"slog",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "slog-scope"
|
2021-02-10 23:29:49 +00:00
|
|
|
version = "4.4.0"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-02-10 23:29:49 +00:00
|
|
|
checksum = "2f95a4b4c3274cd2869549da82b57ccc930859bdbf5bcea0424bc5f140b3c786"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2020-05-10 09:56:31 +00:00
|
|
|
"arc-swap",
|
|
|
|
"lazy_static",
|
|
|
|
"slog",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "slog-stdlog"
|
2020-10-23 04:16:33 +00:00
|
|
|
version = "4.1.0"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2020-10-23 04:16:33 +00:00
|
|
|
checksum = "8228ab7302adbf4fcb37e66f3cda78003feb521e7fd9e3847ec117a7784d0f5a"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2020-12-09 01:34:58 +00:00
|
|
|
"log",
|
2020-05-10 09:56:31 +00:00
|
|
|
"slog",
|
|
|
|
"slog-scope",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "slog-term"
|
2021-03-02 05:59:49 +00:00
|
|
|
version = "2.8.0"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-03-02 05:59:49 +00:00
|
|
|
checksum = "95c1e7e5aab61ced6006149ea772770b84a0d16ce0f7885def313e4829946d76"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2020-05-10 09:56:31 +00:00
|
|
|
"atty",
|
|
|
|
"chrono",
|
|
|
|
"slog",
|
2021-07-05 00:54:17 +00:00
|
|
|
"term",
|
2020-05-10 09:56:31 +00:00
|
|
|
"thread_local",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
2021-07-05 00:54:17 +00:00
|
|
|
[[package]]
|
|
|
|
name = "sloggers"
|
2021-11-18 05:08:42 +00:00
|
|
|
version = "2.1.1"
|
2021-07-05 00:54:17 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-11-18 05:08:42 +00:00
|
|
|
checksum = "e20d36cb80da75a9c5511872f15247ddad14ead8c1dd97a86b56d1be9f5d4a0e"
|
2021-07-05 00:54:17 +00:00
|
|
|
dependencies = [
|
|
|
|
"chrono",
|
|
|
|
"libc",
|
|
|
|
"libflate",
|
|
|
|
"once_cell",
|
|
|
|
"regex",
|
|
|
|
"serde",
|
|
|
|
"slog",
|
|
|
|
"slog-async",
|
2021-11-30 03:25:32 +00:00
|
|
|
"slog-json",
|
2021-07-05 00:54:17 +00:00
|
|
|
"slog-kvfilter",
|
|
|
|
"slog-scope",
|
|
|
|
"slog-stdlog",
|
|
|
|
"slog-term",
|
|
|
|
"trackable",
|
2021-11-18 05:08:42 +00:00
|
|
|
"winapi",
|
|
|
|
"windows-acl",
|
2021-07-05 00:54:17 +00:00
|
|
|
]
|
|
|
|
|
2019-12-09 11:39:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "slot_clock"
|
Initial work towards v0.2.0 (#924)
* Remove ping protocol
* Initial renaming of network services
* Correct rebasing relative to latest master
* Start updating types
* Adds HashMapDelay struct to utils
* Initial network restructure
* Network restructure. Adds new types for v0.2.0
* Removes build artefacts
* Shift validation to beacon chain
* Temporarily remove gossip validation
This is to be updated to match current optimisation efforts.
* Adds AggregateAndProof
* Begin rebuilding pubsub encoding/decoding
* Signature hacking
* Shift gossipsup decoding into eth2_libp2p
* Existing EF tests passing with fake_crypto
* Shifts block encoding/decoding into RPC
* Delete outdated API spec
* All release tests passing bar genesis state parsing
* Update and test YamlConfig
* Update to spec v0.10 compatible BLS
* Updates to BLS EF tests
* Add EF test for AggregateVerify
And delete unused hash2curve tests for uncompressed points
* Update EF tests to v0.10.1
* Use optional block root correctly in block proc
* Use genesis fork in deposit domain. All tests pass
* Fast aggregate verify test
* Update REST API docs
* Fix unused import
* Bump spec tags to v0.10.1
* Add `seconds_per_eth1_block` to chainspec
* Update to timestamp based eth1 voting scheme
* Return None from `get_votes_to_consider` if block cache is empty
* Handle overflows in `is_candidate_block`
* Revert to failing tests
* Fix eth1 data sets test
* Choose default vote according to spec
* Fix collect_valid_votes tests
* Fix `get_votes_to_consider` to choose all eligible blocks
* Uncomment winning_vote tests
* Add comments; remove unused code
* Reduce seconds_per_eth1_block for simulation
* Addressed review comments
* Add test for default vote case
* Fix logs
* Remove unused functions
* Meter default eth1 votes
* Fix comments
* Progress on attestation service
* Address review comments; remove unused dependency
* Initial work on removing libp2p lock
* Add LRU caches to store (rollup)
* Update attestation validation for DB changes (WIP)
* Initial version of should_forward_block
* Scaffold
* Progress on attestation validation
Also, consolidate prod+testing slot clocks so that they share much
of the same implementation and can both handle sub-slot time changes.
* Removes lock from libp2p service
* Completed network lock removal
* Finish(?) attestation processing
* Correct network termination future
* Add slot check to block check
* Correct fmt issues
* Remove Drop implementation for network service
* Add first attempt at attestation proc. re-write
* Add version 2 of attestation processing
* Minor fixes
* Add validator pubkey cache
* Make get_indexed_attestation take a committee
* Link signature processing into new attn verification
* First working version
* Ensure pubkey cache is updated
* Add more metrics, slight optimizations
* Clone committee cache during attestation processing
* Update shuffling cache during block processing
* Remove old commented-out code
* Fix shuffling cache insert bug
* Used indexed attestation in fork choice
* Restructure attn processing, add metrics
* Add more detailed metrics
* Tidy, fix failing tests
* Fix failing tests, tidy
* Address reviewers suggestions
* Disable/delete two outdated tests
* Modification of validator for subscriptions
* Add slot signing to validator client
* Further progress on validation subscription
* Adds necessary validator subscription functionality
* Add new Pubkeys struct to signature_sets
* Refactor with functional approach
* Update beacon chain
* Clean up validator <-> beacon node http types
* Add aggregator status to ValidatorDuty
* Impl Clone for manual slot clock
* Fix minor errors
* Further progress validator client subscription
* Initial subscription and aggregation handling
* Remove decompressed member from pubkey bytes
* Progress to modifying val client for attestation aggregation
* First draft of validator client upgrade for aggregate attestations
* Add hashmap for indices lookup
* Add state cache, remove store cache
* Only build the head committee cache
* Removes lock on a network channel
* Partially implement beacon node subscription http api
* Correct compilation issues
* Change `get_attesting_indices` to use Vec
* Fix failing test
* Partial implementation of timer
* Adds timer, removes exit_future, http api to op pool
* Partial multiple aggregate attestation handling
* Permits bulk messages accross gossipsub network channel
* Correct compile issues
* Improve gosispsub messaging and correct rest api helpers
* Added global gossipsub subscriptions
* Update validator subscriptions data structs
* Tidy
* Re-structure validator subscriptions
* Initial handling of subscriptions
* Re-structure network service
* Add pubkey cache persistence file
* Add more comments
* Integrate persistence file into builder
* Add pubkey cache tests
* Add HashSetDelay and introduce into attestation service
* Handles validator subscriptions
* Add data_dir to beacon chain builder
* Remove Option in pubkey cache persistence file
* Ensure consistency between datadir/data_dir
* Fix failing network test
* Peer subnet discovery gets queued for future subscriptions
* Reorganise attestation service functions
* Initial wiring of attestation service
* First draft of attestation service timing logic
* Correct minor typos
* Tidy
* Fix todos
* Improve tests
* Add PeerInfo to connected peers mapping
* Fix compile error
* Fix compile error from merge
* Split up block processing metrics
* Tidy
* Refactor get_pubkey_from_state
* Remove commented-out code
* Rename state_cache -> checkpoint_cache
* Rename Checkpoint -> Snapshot
* Tidy, add comments
* Tidy up find_head function
* Change some checkpoint -> snapshot
* Add tests
* Expose max_len
* Remove dead code
* Tidy
* Fix bug
* Add sync-speed metric
* Add first attempt at VerifiableBlock
* Start integrating into beacon chain
* Integrate VerifiableBlock
* Rename VerifableBlock -> PartialBlockVerification
* Add start of typed methods
* Add progress
* Add further progress
* Rename structs
* Add full block verification to block_processing.rs
* Further beacon chain integration
* Update checks for gossip
* Add todo
* Start adding segement verification
* Add passing chain segement test
* Initial integration with batch sync
* Minor changes
* Tidy, add more error checking
* Start adding chain_segment tests
* Finish invalid signature tests
* Include single and gossip verified blocks in tests
* Add gossip verification tests
* Start adding docs
* Finish adding comments to block_processing.rs
* Rename block_processing.rs -> block_verification
* Start removing old block processing code
* Fixes beacon_chain compilation
* Fix project-wide compile errors
* Remove old code
* Correct code to pass all tests
* Fix bug with beacon proposer index
* Fix shim for BlockProcessingError
* Only process one epoch at a time
* Fix loop in chain segment processing
* Correct tests from master merge
* Add caching for state.eth1_data_votes
* Add BeaconChain::validator_pubkey
* Revert "Add caching for state.eth1_data_votes"
This reverts commit cd73dcd6434fb8d8e6bf30c5356355598ea7b78e.
Co-authored-by: Grant Wuerker <gwuerker@gmail.com>
Co-authored-by: Michael Sproul <michael@sigmaprime.io>
Co-authored-by: Michael Sproul <micsproul@gmail.com>
Co-authored-by: pawan <pawandhananjay@gmail.com>
Co-authored-by: Paul Hauner <paul@paulhauner.com>
2020-03-17 06:24:44 +00:00
|
|
|
version = "0.2.0"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2020-05-10 09:56:31 +00:00
|
|
|
"lazy_static",
|
|
|
|
"lighthouse_metrics",
|
2020-12-09 01:34:58 +00:00
|
|
|
"parking_lot",
|
2020-05-10 09:56:31 +00:00
|
|
|
"types",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "smallvec"
|
2022-01-14 05:42:47 +00:00
|
|
|
version = "1.8.0"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2022-01-14 05:42:47 +00:00
|
|
|
checksum = "f2dd574626839106c320a323308629dcb1acfc96e32a8cba364ddc61ac23ee83"
|
2019-12-09 11:39:44 +00:00
|
|
|
|
2020-04-05 08:29:14 +00:00
|
|
|
[[package]]
|
|
|
|
name = "snap"
|
2021-05-04 00:44:05 +00:00
|
|
|
version = "1.0.5"
|
2020-04-05 08:29:14 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-05-04 00:44:05 +00:00
|
|
|
checksum = "45456094d1983e2ee2a18fdfebce3189fa451699d0502cb8e3b49dba5ba41451"
|
2020-04-05 08:29:14 +00:00
|
|
|
|
2019-12-09 11:39:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "snow"
|
2021-06-03 01:11:33 +00:00
|
|
|
version = "0.8.0"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-06-03 01:11:33 +00:00
|
|
|
checksum = "6142f7c25e94f6fd25a32c3348ec230df9109b463f59c8c7acc4bd34936babb7"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2021-06-03 01:11:33 +00:00
|
|
|
"aes-gcm",
|
2020-06-29 10:25:42 +00:00
|
|
|
"blake2",
|
|
|
|
"chacha20poly1305",
|
2021-06-03 01:11:33 +00:00
|
|
|
"rand 0.8.4",
|
|
|
|
"rand_core 0.6.3",
|
2020-05-10 09:56:31 +00:00
|
|
|
"ring",
|
2021-06-03 01:11:33 +00:00
|
|
|
"rustc_version 0.3.3",
|
2022-01-11 01:35:56 +00:00
|
|
|
"sha2 0.9.9",
|
2021-07-13 00:48:33 +00:00
|
|
|
"subtle",
|
2020-05-17 11:16:48 +00:00
|
|
|
"x25519-dalek",
|
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "socket2"
|
2020-12-23 18:52:48 +00:00
|
|
|
version = "0.3.19"
|
2020-05-17 11:16:48 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2020-12-23 18:52:48 +00:00
|
|
|
checksum = "122e570113d28d773067fab24266b66753f6ea915758651696b6e35e49f88d6e"
|
2020-05-17 11:16:48 +00:00
|
|
|
dependencies = [
|
2021-11-18 05:08:42 +00:00
|
|
|
"cfg-if",
|
2020-05-17 11:16:48 +00:00
|
|
|
"libc",
|
2021-07-09 03:20:24 +00:00
|
|
|
"winapi",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
2021-05-04 00:44:05 +00:00
|
|
|
[[package]]
|
|
|
|
name = "socket2"
|
2021-09-16 04:45:05 +00:00
|
|
|
version = "0.4.2"
|
2021-05-04 00:44:05 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-09-16 04:45:05 +00:00
|
|
|
checksum = "5dc90fe6c7be1a323296982db1836d1ea9e47b6839496dde9a541bc496df3516"
|
2021-05-04 00:44:05 +00:00
|
|
|
dependencies = [
|
|
|
|
"libc",
|
2021-07-09 03:20:24 +00:00
|
|
|
"winapi",
|
2021-05-04 00:44:05 +00:00
|
|
|
]
|
|
|
|
|
2019-12-09 11:39:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "soketto"
|
2021-10-29 01:59:29 +00:00
|
|
|
version = "0.5.0"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-10-29 01:59:29 +00:00
|
|
|
checksum = "4919971d141dbadaa0e82b5d369e2d7666c98e4625046140615ca363e50d4daa"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2021-10-29 01:59:29 +00:00
|
|
|
"base64 0.13.0",
|
|
|
|
"bytes",
|
2021-07-09 03:20:24 +00:00
|
|
|
"futures",
|
2020-05-10 09:56:31 +00:00
|
|
|
"httparse",
|
2020-12-09 01:34:58 +00:00
|
|
|
"log",
|
2021-10-29 01:59:29 +00:00
|
|
|
"rand 0.8.4",
|
2021-03-08 06:27:49 +00:00
|
|
|
"sha-1",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
2021-08-17 01:00:24 +00:00
|
|
|
[[package]]
|
|
|
|
name = "soketto"
|
2021-11-18 05:08:42 +00:00
|
|
|
version = "0.7.1"
|
2021-08-17 01:00:24 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-11-18 05:08:42 +00:00
|
|
|
checksum = "41d1c5305e39e09653383c2c7244f2f78b3bcae37cf50c64cb4789c9f5096ec2"
|
2021-08-17 01:00:24 +00:00
|
|
|
dependencies = [
|
|
|
|
"base64 0.13.0",
|
2021-10-29 01:59:29 +00:00
|
|
|
"bytes",
|
|
|
|
"flate2",
|
2021-08-17 01:00:24 +00:00
|
|
|
"futures",
|
|
|
|
"httparse",
|
|
|
|
"log",
|
|
|
|
"rand 0.8.4",
|
|
|
|
"sha-1",
|
|
|
|
]
|
|
|
|
|
2019-12-09 11:39:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "spin"
|
|
|
|
version = "0.5.2"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2020-05-10 09:56:31 +00:00
|
|
|
checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d"
|
2019-12-09 11:39:44 +00:00
|
|
|
|
2021-07-05 00:54:17 +00:00
|
|
|
[[package]]
|
|
|
|
name = "spki"
|
|
|
|
version = "0.3.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
checksum = "9dae7e047abc519c96350e9484a96c6bf1492348af912fd3446dd2dc323f6268"
|
|
|
|
dependencies = [
|
2021-12-22 06:17:14 +00:00
|
|
|
"der 0.3.5",
|
2021-07-05 00:54:17 +00:00
|
|
|
]
|
|
|
|
|
2021-10-29 01:59:29 +00:00
|
|
|
[[package]]
|
|
|
|
name = "stable_deref_trait"
|
|
|
|
version = "1.2.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3"
|
|
|
|
|
2019-12-09 11:39:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "state_processing"
|
Initial work towards v0.2.0 (#924)
* Remove ping protocol
* Initial renaming of network services
* Correct rebasing relative to latest master
* Start updating types
* Adds HashMapDelay struct to utils
* Initial network restructure
* Network restructure. Adds new types for v0.2.0
* Removes build artefacts
* Shift validation to beacon chain
* Temporarily remove gossip validation
This is to be updated to match current optimisation efforts.
* Adds AggregateAndProof
* Begin rebuilding pubsub encoding/decoding
* Signature hacking
* Shift gossipsup decoding into eth2_libp2p
* Existing EF tests passing with fake_crypto
* Shifts block encoding/decoding into RPC
* Delete outdated API spec
* All release tests passing bar genesis state parsing
* Update and test YamlConfig
* Update to spec v0.10 compatible BLS
* Updates to BLS EF tests
* Add EF test for AggregateVerify
And delete unused hash2curve tests for uncompressed points
* Update EF tests to v0.10.1
* Use optional block root correctly in block proc
* Use genesis fork in deposit domain. All tests pass
* Fast aggregate verify test
* Update REST API docs
* Fix unused import
* Bump spec tags to v0.10.1
* Add `seconds_per_eth1_block` to chainspec
* Update to timestamp based eth1 voting scheme
* Return None from `get_votes_to_consider` if block cache is empty
* Handle overflows in `is_candidate_block`
* Revert to failing tests
* Fix eth1 data sets test
* Choose default vote according to spec
* Fix collect_valid_votes tests
* Fix `get_votes_to_consider` to choose all eligible blocks
* Uncomment winning_vote tests
* Add comments; remove unused code
* Reduce seconds_per_eth1_block for simulation
* Addressed review comments
* Add test for default vote case
* Fix logs
* Remove unused functions
* Meter default eth1 votes
* Fix comments
* Progress on attestation service
* Address review comments; remove unused dependency
* Initial work on removing libp2p lock
* Add LRU caches to store (rollup)
* Update attestation validation for DB changes (WIP)
* Initial version of should_forward_block
* Scaffold
* Progress on attestation validation
Also, consolidate prod+testing slot clocks so that they share much
of the same implementation and can both handle sub-slot time changes.
* Removes lock from libp2p service
* Completed network lock removal
* Finish(?) attestation processing
* Correct network termination future
* Add slot check to block check
* Correct fmt issues
* Remove Drop implementation for network service
* Add first attempt at attestation proc. re-write
* Add version 2 of attestation processing
* Minor fixes
* Add validator pubkey cache
* Make get_indexed_attestation take a committee
* Link signature processing into new attn verification
* First working version
* Ensure pubkey cache is updated
* Add more metrics, slight optimizations
* Clone committee cache during attestation processing
* Update shuffling cache during block processing
* Remove old commented-out code
* Fix shuffling cache insert bug
* Used indexed attestation in fork choice
* Restructure attn processing, add metrics
* Add more detailed metrics
* Tidy, fix failing tests
* Fix failing tests, tidy
* Address reviewers suggestions
* Disable/delete two outdated tests
* Modification of validator for subscriptions
* Add slot signing to validator client
* Further progress on validation subscription
* Adds necessary validator subscription functionality
* Add new Pubkeys struct to signature_sets
* Refactor with functional approach
* Update beacon chain
* Clean up validator <-> beacon node http types
* Add aggregator status to ValidatorDuty
* Impl Clone for manual slot clock
* Fix minor errors
* Further progress validator client subscription
* Initial subscription and aggregation handling
* Remove decompressed member from pubkey bytes
* Progress to modifying val client for attestation aggregation
* First draft of validator client upgrade for aggregate attestations
* Add hashmap for indices lookup
* Add state cache, remove store cache
* Only build the head committee cache
* Removes lock on a network channel
* Partially implement beacon node subscription http api
* Correct compilation issues
* Change `get_attesting_indices` to use Vec
* Fix failing test
* Partial implementation of timer
* Adds timer, removes exit_future, http api to op pool
* Partial multiple aggregate attestation handling
* Permits bulk messages accross gossipsub network channel
* Correct compile issues
* Improve gosispsub messaging and correct rest api helpers
* Added global gossipsub subscriptions
* Update validator subscriptions data structs
* Tidy
* Re-structure validator subscriptions
* Initial handling of subscriptions
* Re-structure network service
* Add pubkey cache persistence file
* Add more comments
* Integrate persistence file into builder
* Add pubkey cache tests
* Add HashSetDelay and introduce into attestation service
* Handles validator subscriptions
* Add data_dir to beacon chain builder
* Remove Option in pubkey cache persistence file
* Ensure consistency between datadir/data_dir
* Fix failing network test
* Peer subnet discovery gets queued for future subscriptions
* Reorganise attestation service functions
* Initial wiring of attestation service
* First draft of attestation service timing logic
* Correct minor typos
* Tidy
* Fix todos
* Improve tests
* Add PeerInfo to connected peers mapping
* Fix compile error
* Fix compile error from merge
* Split up block processing metrics
* Tidy
* Refactor get_pubkey_from_state
* Remove commented-out code
* Rename state_cache -> checkpoint_cache
* Rename Checkpoint -> Snapshot
* Tidy, add comments
* Tidy up find_head function
* Change some checkpoint -> snapshot
* Add tests
* Expose max_len
* Remove dead code
* Tidy
* Fix bug
* Add sync-speed metric
* Add first attempt at VerifiableBlock
* Start integrating into beacon chain
* Integrate VerifiableBlock
* Rename VerifableBlock -> PartialBlockVerification
* Add start of typed methods
* Add progress
* Add further progress
* Rename structs
* Add full block verification to block_processing.rs
* Further beacon chain integration
* Update checks for gossip
* Add todo
* Start adding segement verification
* Add passing chain segement test
* Initial integration with batch sync
* Minor changes
* Tidy, add more error checking
* Start adding chain_segment tests
* Finish invalid signature tests
* Include single and gossip verified blocks in tests
* Add gossip verification tests
* Start adding docs
* Finish adding comments to block_processing.rs
* Rename block_processing.rs -> block_verification
* Start removing old block processing code
* Fixes beacon_chain compilation
* Fix project-wide compile errors
* Remove old code
* Correct code to pass all tests
* Fix bug with beacon proposer index
* Fix shim for BlockProcessingError
* Only process one epoch at a time
* Fix loop in chain segment processing
* Correct tests from master merge
* Add caching for state.eth1_data_votes
* Add BeaconChain::validator_pubkey
* Revert "Add caching for state.eth1_data_votes"
This reverts commit cd73dcd6434fb8d8e6bf30c5356355598ea7b78e.
Co-authored-by: Grant Wuerker <gwuerker@gmail.com>
Co-authored-by: Michael Sproul <michael@sigmaprime.io>
Co-authored-by: Michael Sproul <micsproul@gmail.com>
Co-authored-by: pawan <pawandhananjay@gmail.com>
Co-authored-by: Paul Hauner <paul@paulhauner.com>
2020-03-17 06:24:44 +00:00
|
|
|
version = "0.2.0"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2021-10-14 02:58:11 +00:00
|
|
|
"arbitrary",
|
2021-07-09 06:15:32 +00:00
|
|
|
"beacon_chain",
|
2020-05-10 09:56:31 +00:00
|
|
|
"bls",
|
2021-08-17 01:00:24 +00:00
|
|
|
"env_logger 0.9.0",
|
2021-09-03 01:10:25 +00:00
|
|
|
"eth2_hashing 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2021-11-29 03:57:54 +00:00
|
|
|
"eth2_ssz",
|
|
|
|
"eth2_ssz_types",
|
2020-05-10 09:56:31 +00:00
|
|
|
"int_to_bytes",
|
|
|
|
"integer-sqrt",
|
2021-08-17 01:00:24 +00:00
|
|
|
"itertools",
|
2020-05-10 09:56:31 +00:00
|
|
|
"lazy_static",
|
2021-07-27 07:01:01 +00:00
|
|
|
"lighthouse_metrics",
|
2020-05-10 09:56:31 +00:00
|
|
|
"merkle_proof",
|
|
|
|
"rayon",
|
|
|
|
"safe_arith",
|
2021-07-09 06:15:32 +00:00
|
|
|
"smallvec",
|
2021-11-29 03:57:54 +00:00
|
|
|
"tree_hash",
|
2020-05-10 09:56:31 +00:00
|
|
|
"types",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
2020-05-08 23:37:21 +00:00
|
|
|
[[package]]
|
|
|
|
name = "state_transition_vectors"
|
|
|
|
version = "0.1.0"
|
|
|
|
dependencies = [
|
2021-07-09 06:15:32 +00:00
|
|
|
"beacon_chain",
|
2021-11-29 03:57:54 +00:00
|
|
|
"eth2_ssz",
|
2021-07-09 06:15:32 +00:00
|
|
|
"lazy_static",
|
2020-05-11 07:45:06 +00:00
|
|
|
"state_processing",
|
|
|
|
"types",
|
2020-05-08 23:37:21 +00:00
|
|
|
]
|
|
|
|
|
2019-12-09 11:39:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "static_assertions"
|
|
|
|
version = "1.1.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2020-05-10 09:56:31 +00:00
|
|
|
checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f"
|
2019-12-09 11:39:44 +00:00
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "store"
|
2020-08-06 03:43:05 +00:00
|
|
|
version = "0.2.0"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2021-07-09 06:15:32 +00:00
|
|
|
"beacon_chain",
|
2020-05-10 09:56:31 +00:00
|
|
|
"db-key",
|
2020-11-23 03:43:22 +00:00
|
|
|
"directory",
|
2021-11-29 03:57:54 +00:00
|
|
|
"eth2_ssz",
|
2021-11-24 00:28:30 +00:00
|
|
|
"eth2_ssz_derive 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2021-08-17 01:00:24 +00:00
|
|
|
"itertools",
|
2020-05-10 09:56:31 +00:00
|
|
|
"lazy_static",
|
|
|
|
"leveldb",
|
|
|
|
"lighthouse_metrics",
|
2020-07-29 03:40:22 +00:00
|
|
|
"lru",
|
2020-12-09 01:34:58 +00:00
|
|
|
"parking_lot",
|
2020-05-10 09:56:31 +00:00
|
|
|
"serde",
|
|
|
|
"serde_derive",
|
|
|
|
"slog",
|
2021-09-14 06:48:26 +00:00
|
|
|
"sloggers",
|
2020-05-10 09:56:31 +00:00
|
|
|
"state_processing",
|
|
|
|
"tempfile",
|
|
|
|
"types",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "strsim"
|
|
|
|
version = "0.8.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2020-05-10 09:56:31 +00:00
|
|
|
checksum = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a"
|
2019-12-09 11:39:44 +00:00
|
|
|
|
2021-07-09 06:15:32 +00:00
|
|
|
[[package]]
|
|
|
|
name = "strsim"
|
|
|
|
version = "0.10.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
|
|
|
|
|
2021-01-19 06:33:58 +00:00
|
|
|
[[package]]
|
|
|
|
name = "strum"
|
2021-08-17 01:00:24 +00:00
|
|
|
version = "0.21.0"
|
2021-01-19 06:33:58 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-08-17 01:00:24 +00:00
|
|
|
checksum = "aaf86bbcfd1fa9670b7a129f64fc0c9fcbbfe4f1bc4210e9e98fe71ffc12cde2"
|
2021-01-19 06:33:58 +00:00
|
|
|
dependencies = [
|
|
|
|
"strum_macros",
|
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "strum_macros"
|
2021-08-17 01:00:24 +00:00
|
|
|
version = "0.21.1"
|
2021-01-19 06:33:58 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-08-17 01:00:24 +00:00
|
|
|
checksum = "d06aaeeee809dbc59eb4556183dd927df67db1540de5be8d3ec0b6636358a5ec"
|
2021-01-19 06:33:58 +00:00
|
|
|
dependencies = [
|
|
|
|
"heck",
|
|
|
|
"proc-macro2",
|
|
|
|
"quote",
|
|
|
|
"syn",
|
|
|
|
]
|
|
|
|
|
2019-12-09 11:39:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "subtle"
|
2021-06-03 01:11:33 +00:00
|
|
|
version = "2.4.1"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-06-03 01:11:33 +00:00
|
|
|
checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601"
|
2019-12-09 11:39:44 +00:00
|
|
|
|
2021-07-09 06:15:32 +00:00
|
|
|
[[package]]
|
|
|
|
name = "superstruct"
|
2022-01-06 03:14:58 +00:00
|
|
|
version = "0.4.1"
|
2021-07-09 06:15:32 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2022-01-06 03:14:58 +00:00
|
|
|
checksum = "4e623e69a04a6352677c1f892027e14e034dfc6c4aabed0a4a0be9c1a0a46cee"
|
2021-07-09 06:15:32 +00:00
|
|
|
dependencies = [
|
2021-12-13 20:43:22 +00:00
|
|
|
"darling",
|
2021-08-17 01:00:24 +00:00
|
|
|
"itertools",
|
2021-07-09 06:15:32 +00:00
|
|
|
"proc-macro2",
|
|
|
|
"quote",
|
|
|
|
"syn",
|
|
|
|
]
|
|
|
|
|
2019-12-09 11:39:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "swap_or_not_shuffle"
|
Initial work towards v0.2.0 (#924)
* Remove ping protocol
* Initial renaming of network services
* Correct rebasing relative to latest master
* Start updating types
* Adds HashMapDelay struct to utils
* Initial network restructure
* Network restructure. Adds new types for v0.2.0
* Removes build artefacts
* Shift validation to beacon chain
* Temporarily remove gossip validation
This is to be updated to match current optimisation efforts.
* Adds AggregateAndProof
* Begin rebuilding pubsub encoding/decoding
* Signature hacking
* Shift gossipsup decoding into eth2_libp2p
* Existing EF tests passing with fake_crypto
* Shifts block encoding/decoding into RPC
* Delete outdated API spec
* All release tests passing bar genesis state parsing
* Update and test YamlConfig
* Update to spec v0.10 compatible BLS
* Updates to BLS EF tests
* Add EF test for AggregateVerify
And delete unused hash2curve tests for uncompressed points
* Update EF tests to v0.10.1
* Use optional block root correctly in block proc
* Use genesis fork in deposit domain. All tests pass
* Fast aggregate verify test
* Update REST API docs
* Fix unused import
* Bump spec tags to v0.10.1
* Add `seconds_per_eth1_block` to chainspec
* Update to timestamp based eth1 voting scheme
* Return None from `get_votes_to_consider` if block cache is empty
* Handle overflows in `is_candidate_block`
* Revert to failing tests
* Fix eth1 data sets test
* Choose default vote according to spec
* Fix collect_valid_votes tests
* Fix `get_votes_to_consider` to choose all eligible blocks
* Uncomment winning_vote tests
* Add comments; remove unused code
* Reduce seconds_per_eth1_block for simulation
* Addressed review comments
* Add test for default vote case
* Fix logs
* Remove unused functions
* Meter default eth1 votes
* Fix comments
* Progress on attestation service
* Address review comments; remove unused dependency
* Initial work on removing libp2p lock
* Add LRU caches to store (rollup)
* Update attestation validation for DB changes (WIP)
* Initial version of should_forward_block
* Scaffold
* Progress on attestation validation
Also, consolidate prod+testing slot clocks so that they share much
of the same implementation and can both handle sub-slot time changes.
* Removes lock from libp2p service
* Completed network lock removal
* Finish(?) attestation processing
* Correct network termination future
* Add slot check to block check
* Correct fmt issues
* Remove Drop implementation for network service
* Add first attempt at attestation proc. re-write
* Add version 2 of attestation processing
* Minor fixes
* Add validator pubkey cache
* Make get_indexed_attestation take a committee
* Link signature processing into new attn verification
* First working version
* Ensure pubkey cache is updated
* Add more metrics, slight optimizations
* Clone committee cache during attestation processing
* Update shuffling cache during block processing
* Remove old commented-out code
* Fix shuffling cache insert bug
* Used indexed attestation in fork choice
* Restructure attn processing, add metrics
* Add more detailed metrics
* Tidy, fix failing tests
* Fix failing tests, tidy
* Address reviewers suggestions
* Disable/delete two outdated tests
* Modification of validator for subscriptions
* Add slot signing to validator client
* Further progress on validation subscription
* Adds necessary validator subscription functionality
* Add new Pubkeys struct to signature_sets
* Refactor with functional approach
* Update beacon chain
* Clean up validator <-> beacon node http types
* Add aggregator status to ValidatorDuty
* Impl Clone for manual slot clock
* Fix minor errors
* Further progress validator client subscription
* Initial subscription and aggregation handling
* Remove decompressed member from pubkey bytes
* Progress to modifying val client for attestation aggregation
* First draft of validator client upgrade for aggregate attestations
* Add hashmap for indices lookup
* Add state cache, remove store cache
* Only build the head committee cache
* Removes lock on a network channel
* Partially implement beacon node subscription http api
* Correct compilation issues
* Change `get_attesting_indices` to use Vec
* Fix failing test
* Partial implementation of timer
* Adds timer, removes exit_future, http api to op pool
* Partial multiple aggregate attestation handling
* Permits bulk messages accross gossipsub network channel
* Correct compile issues
* Improve gosispsub messaging and correct rest api helpers
* Added global gossipsub subscriptions
* Update validator subscriptions data structs
* Tidy
* Re-structure validator subscriptions
* Initial handling of subscriptions
* Re-structure network service
* Add pubkey cache persistence file
* Add more comments
* Integrate persistence file into builder
* Add pubkey cache tests
* Add HashSetDelay and introduce into attestation service
* Handles validator subscriptions
* Add data_dir to beacon chain builder
* Remove Option in pubkey cache persistence file
* Ensure consistency between datadir/data_dir
* Fix failing network test
* Peer subnet discovery gets queued for future subscriptions
* Reorganise attestation service functions
* Initial wiring of attestation service
* First draft of attestation service timing logic
* Correct minor typos
* Tidy
* Fix todos
* Improve tests
* Add PeerInfo to connected peers mapping
* Fix compile error
* Fix compile error from merge
* Split up block processing metrics
* Tidy
* Refactor get_pubkey_from_state
* Remove commented-out code
* Rename state_cache -> checkpoint_cache
* Rename Checkpoint -> Snapshot
* Tidy, add comments
* Tidy up find_head function
* Change some checkpoint -> snapshot
* Add tests
* Expose max_len
* Remove dead code
* Tidy
* Fix bug
* Add sync-speed metric
* Add first attempt at VerifiableBlock
* Start integrating into beacon chain
* Integrate VerifiableBlock
* Rename VerifableBlock -> PartialBlockVerification
* Add start of typed methods
* Add progress
* Add further progress
* Rename structs
* Add full block verification to block_processing.rs
* Further beacon chain integration
* Update checks for gossip
* Add todo
* Start adding segement verification
* Add passing chain segement test
* Initial integration with batch sync
* Minor changes
* Tidy, add more error checking
* Start adding chain_segment tests
* Finish invalid signature tests
* Include single and gossip verified blocks in tests
* Add gossip verification tests
* Start adding docs
* Finish adding comments to block_processing.rs
* Rename block_processing.rs -> block_verification
* Start removing old block processing code
* Fixes beacon_chain compilation
* Fix project-wide compile errors
* Remove old code
* Correct code to pass all tests
* Fix bug with beacon proposer index
* Fix shim for BlockProcessingError
* Only process one epoch at a time
* Fix loop in chain segment processing
* Correct tests from master merge
* Add caching for state.eth1_data_votes
* Add BeaconChain::validator_pubkey
* Revert "Add caching for state.eth1_data_votes"
This reverts commit cd73dcd6434fb8d8e6bf30c5356355598ea7b78e.
Co-authored-by: Grant Wuerker <gwuerker@gmail.com>
Co-authored-by: Michael Sproul <michael@sigmaprime.io>
Co-authored-by: Michael Sproul <micsproul@gmail.com>
Co-authored-by: pawan <pawandhananjay@gmail.com>
Co-authored-by: Paul Hauner <paul@paulhauner.com>
2020-03-17 06:24:44 +00:00
|
|
|
version = "0.2.0"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2020-05-10 09:56:31 +00:00
|
|
|
"criterion",
|
2021-09-03 01:10:25 +00:00
|
|
|
"eth2_hashing 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2021-10-14 02:58:11 +00:00
|
|
|
"ethereum-types 0.12.1",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "syn"
|
2022-01-11 01:35:56 +00:00
|
|
|
version = "1.0.85"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2022-01-11 01:35:56 +00:00
|
|
|
checksum = "a684ac3dcd8913827e18cd09a68384ee66c1de24157e3c556c9ab16d85695fb7"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2020-05-17 11:16:48 +00:00
|
|
|
"proc-macro2",
|
|
|
|
"quote",
|
|
|
|
"unicode-xid",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "synstructure"
|
2021-10-11 00:10:35 +00:00
|
|
|
version = "0.12.6"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-10-11 00:10:35 +00:00
|
|
|
checksum = "f36bdaa60a83aca3921b5259d5400cbf5e90fc51931376a9bd4a0eb79aa7210f"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2020-05-17 11:16:48 +00:00
|
|
|
"proc-macro2",
|
|
|
|
"quote",
|
|
|
|
"syn",
|
|
|
|
"unicode-xid",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "take_mut"
|
|
|
|
version = "0.2.2"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2020-05-10 09:56:31 +00:00
|
|
|
checksum = "f764005d11ee5f36500a149ace24e00e3da98b0158b3e2d53a7495660d3f4d60"
|
2019-12-09 11:39:44 +00:00
|
|
|
|
2020-10-05 08:22:19 +00:00
|
|
|
[[package]]
|
|
|
|
name = "tap"
|
2021-03-02 05:59:49 +00:00
|
|
|
version = "1.0.1"
|
2020-10-05 08:22:19 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-03-02 05:59:49 +00:00
|
|
|
checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369"
|
2020-10-05 08:22:19 +00:00
|
|
|
|
2021-06-30 04:56:22 +00:00
|
|
|
[[package]]
|
|
|
|
name = "target_check"
|
|
|
|
version = "0.1.0"
|
|
|
|
dependencies = [
|
|
|
|
"static_assertions",
|
|
|
|
]
|
|
|
|
|
2019-12-09 11:39:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "target_info"
|
|
|
|
version = "0.1.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2020-05-10 09:56:31 +00:00
|
|
|
checksum = "c63f48baada5c52e65a29eef93ab4f8982681b67f9e8d29c7b05abcfec2b9ffe"
|
2019-12-09 11:39:44 +00:00
|
|
|
|
2020-10-05 07:45:54 +00:00
|
|
|
[[package]]
|
|
|
|
name = "task_executor"
|
|
|
|
version = "0.1.0"
|
|
|
|
dependencies = [
|
|
|
|
"exit-future",
|
2021-07-09 03:20:24 +00:00
|
|
|
"futures",
|
2020-10-05 07:45:54 +00:00
|
|
|
"lazy_static",
|
|
|
|
"lighthouse_metrics",
|
|
|
|
"slog",
|
2021-08-17 01:00:24 +00:00
|
|
|
"tokio",
|
2020-10-05 07:45:54 +00:00
|
|
|
]
|
|
|
|
|
2019-12-09 11:39:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "tempfile"
|
2022-01-11 01:35:56 +00:00
|
|
|
version = "3.3.0"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2022-01-11 01:35:56 +00:00
|
|
|
checksum = "5cdb1ef4eaeeaddc8fbd371e5017057064af0911902ef36b39801f67cc6d79e4"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2021-11-18 05:08:42 +00:00
|
|
|
"cfg-if",
|
2022-01-11 01:35:56 +00:00
|
|
|
"fastrand",
|
2020-05-10 09:56:31 +00:00
|
|
|
"libc",
|
2021-07-05 00:54:17 +00:00
|
|
|
"redox_syscall",
|
2020-05-10 09:56:31 +00:00
|
|
|
"remove_dir_all",
|
2021-07-09 03:20:24 +00:00
|
|
|
"winapi",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "term"
|
2021-03-02 05:59:49 +00:00
|
|
|
version = "0.7.0"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-03-02 05:59:49 +00:00
|
|
|
checksum = "c59df8ac95d96ff9bede18eb7300b0fda5e5d8d90960e76f8e14ae765eedbf1f"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2021-03-02 05:59:49 +00:00
|
|
|
"dirs-next",
|
|
|
|
"rustversion",
|
2021-07-09 03:20:24 +00:00
|
|
|
"winapi",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "termcolor"
|
2020-11-24 00:44:40 +00:00
|
|
|
version = "1.1.2"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2020-11-24 00:44:40 +00:00
|
|
|
checksum = "2dfed899f0eb03f32ee8c6a0aabdb8a7949659e3466561fc0adf54e26d88c5f4"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2020-05-10 09:56:31 +00:00
|
|
|
"winapi-util",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
2021-10-06 00:46:07 +00:00
|
|
|
[[package]]
|
|
|
|
name = "test-test_logger"
|
|
|
|
version = "0.1.0"
|
|
|
|
dependencies = [
|
|
|
|
"logging",
|
|
|
|
"slog",
|
|
|
|
]
|
|
|
|
|
2019-12-09 11:39:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "test_random_derive"
|
Initial work towards v0.2.0 (#924)
* Remove ping protocol
* Initial renaming of network services
* Correct rebasing relative to latest master
* Start updating types
* Adds HashMapDelay struct to utils
* Initial network restructure
* Network restructure. Adds new types for v0.2.0
* Removes build artefacts
* Shift validation to beacon chain
* Temporarily remove gossip validation
This is to be updated to match current optimisation efforts.
* Adds AggregateAndProof
* Begin rebuilding pubsub encoding/decoding
* Signature hacking
* Shift gossipsup decoding into eth2_libp2p
* Existing EF tests passing with fake_crypto
* Shifts block encoding/decoding into RPC
* Delete outdated API spec
* All release tests passing bar genesis state parsing
* Update and test YamlConfig
* Update to spec v0.10 compatible BLS
* Updates to BLS EF tests
* Add EF test for AggregateVerify
And delete unused hash2curve tests for uncompressed points
* Update EF tests to v0.10.1
* Use optional block root correctly in block proc
* Use genesis fork in deposit domain. All tests pass
* Fast aggregate verify test
* Update REST API docs
* Fix unused import
* Bump spec tags to v0.10.1
* Add `seconds_per_eth1_block` to chainspec
* Update to timestamp based eth1 voting scheme
* Return None from `get_votes_to_consider` if block cache is empty
* Handle overflows in `is_candidate_block`
* Revert to failing tests
* Fix eth1 data sets test
* Choose default vote according to spec
* Fix collect_valid_votes tests
* Fix `get_votes_to_consider` to choose all eligible blocks
* Uncomment winning_vote tests
* Add comments; remove unused code
* Reduce seconds_per_eth1_block for simulation
* Addressed review comments
* Add test for default vote case
* Fix logs
* Remove unused functions
* Meter default eth1 votes
* Fix comments
* Progress on attestation service
* Address review comments; remove unused dependency
* Initial work on removing libp2p lock
* Add LRU caches to store (rollup)
* Update attestation validation for DB changes (WIP)
* Initial version of should_forward_block
* Scaffold
* Progress on attestation validation
Also, consolidate prod+testing slot clocks so that they share much
of the same implementation and can both handle sub-slot time changes.
* Removes lock from libp2p service
* Completed network lock removal
* Finish(?) attestation processing
* Correct network termination future
* Add slot check to block check
* Correct fmt issues
* Remove Drop implementation for network service
* Add first attempt at attestation proc. re-write
* Add version 2 of attestation processing
* Minor fixes
* Add validator pubkey cache
* Make get_indexed_attestation take a committee
* Link signature processing into new attn verification
* First working version
* Ensure pubkey cache is updated
* Add more metrics, slight optimizations
* Clone committee cache during attestation processing
* Update shuffling cache during block processing
* Remove old commented-out code
* Fix shuffling cache insert bug
* Used indexed attestation in fork choice
* Restructure attn processing, add metrics
* Add more detailed metrics
* Tidy, fix failing tests
* Fix failing tests, tidy
* Address reviewers suggestions
* Disable/delete two outdated tests
* Modification of validator for subscriptions
* Add slot signing to validator client
* Further progress on validation subscription
* Adds necessary validator subscription functionality
* Add new Pubkeys struct to signature_sets
* Refactor with functional approach
* Update beacon chain
* Clean up validator <-> beacon node http types
* Add aggregator status to ValidatorDuty
* Impl Clone for manual slot clock
* Fix minor errors
* Further progress validator client subscription
* Initial subscription and aggregation handling
* Remove decompressed member from pubkey bytes
* Progress to modifying val client for attestation aggregation
* First draft of validator client upgrade for aggregate attestations
* Add hashmap for indices lookup
* Add state cache, remove store cache
* Only build the head committee cache
* Removes lock on a network channel
* Partially implement beacon node subscription http api
* Correct compilation issues
* Change `get_attesting_indices` to use Vec
* Fix failing test
* Partial implementation of timer
* Adds timer, removes exit_future, http api to op pool
* Partial multiple aggregate attestation handling
* Permits bulk messages accross gossipsub network channel
* Correct compile issues
* Improve gosispsub messaging and correct rest api helpers
* Added global gossipsub subscriptions
* Update validator subscriptions data structs
* Tidy
* Re-structure validator subscriptions
* Initial handling of subscriptions
* Re-structure network service
* Add pubkey cache persistence file
* Add more comments
* Integrate persistence file into builder
* Add pubkey cache tests
* Add HashSetDelay and introduce into attestation service
* Handles validator subscriptions
* Add data_dir to beacon chain builder
* Remove Option in pubkey cache persistence file
* Ensure consistency between datadir/data_dir
* Fix failing network test
* Peer subnet discovery gets queued for future subscriptions
* Reorganise attestation service functions
* Initial wiring of attestation service
* First draft of attestation service timing logic
* Correct minor typos
* Tidy
* Fix todos
* Improve tests
* Add PeerInfo to connected peers mapping
* Fix compile error
* Fix compile error from merge
* Split up block processing metrics
* Tidy
* Refactor get_pubkey_from_state
* Remove commented-out code
* Rename state_cache -> checkpoint_cache
* Rename Checkpoint -> Snapshot
* Tidy, add comments
* Tidy up find_head function
* Change some checkpoint -> snapshot
* Add tests
* Expose max_len
* Remove dead code
* Tidy
* Fix bug
* Add sync-speed metric
* Add first attempt at VerifiableBlock
* Start integrating into beacon chain
* Integrate VerifiableBlock
* Rename VerifableBlock -> PartialBlockVerification
* Add start of typed methods
* Add progress
* Add further progress
* Rename structs
* Add full block verification to block_processing.rs
* Further beacon chain integration
* Update checks for gossip
* Add todo
* Start adding segement verification
* Add passing chain segement test
* Initial integration with batch sync
* Minor changes
* Tidy, add more error checking
* Start adding chain_segment tests
* Finish invalid signature tests
* Include single and gossip verified blocks in tests
* Add gossip verification tests
* Start adding docs
* Finish adding comments to block_processing.rs
* Rename block_processing.rs -> block_verification
* Start removing old block processing code
* Fixes beacon_chain compilation
* Fix project-wide compile errors
* Remove old code
* Correct code to pass all tests
* Fix bug with beacon proposer index
* Fix shim for BlockProcessingError
* Only process one epoch at a time
* Fix loop in chain segment processing
* Correct tests from master merge
* Add caching for state.eth1_data_votes
* Add BeaconChain::validator_pubkey
* Revert "Add caching for state.eth1_data_votes"
This reverts commit cd73dcd6434fb8d8e6bf30c5356355598ea7b78e.
Co-authored-by: Grant Wuerker <gwuerker@gmail.com>
Co-authored-by: Michael Sproul <michael@sigmaprime.io>
Co-authored-by: Michael Sproul <micsproul@gmail.com>
Co-authored-by: pawan <pawandhananjay@gmail.com>
Co-authored-by: Paul Hauner <paul@paulhauner.com>
2020-03-17 06:24:44 +00:00
|
|
|
version = "0.2.0"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2020-05-17 11:16:48 +00:00
|
|
|
"quote",
|
|
|
|
"syn",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "textwrap"
|
|
|
|
version = "0.11.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2020-05-10 09:56:31 +00:00
|
|
|
checksum = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2020-05-10 09:56:31 +00:00
|
|
|
"unicode-width",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
2020-05-17 11:16:48 +00:00
|
|
|
[[package]]
|
|
|
|
name = "thiserror"
|
2021-10-11 00:10:35 +00:00
|
|
|
version = "1.0.30"
|
2020-05-17 11:16:48 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-10-11 00:10:35 +00:00
|
|
|
checksum = "854babe52e4df1653706b98fcfc05843010039b406875930a70e4d9644e5c417"
|
2020-05-17 11:16:48 +00:00
|
|
|
dependencies = [
|
|
|
|
"thiserror-impl",
|
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "thiserror-impl"
|
2021-10-11 00:10:35 +00:00
|
|
|
version = "1.0.30"
|
2020-05-17 11:16:48 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-10-11 00:10:35 +00:00
|
|
|
checksum = "aa32fd3f627f367fe16f893e2597ae3c05020f8bba2666a4e6ea73d377e5714b"
|
2020-05-17 11:16:48 +00:00
|
|
|
dependencies = [
|
|
|
|
"proc-macro2",
|
|
|
|
"quote",
|
|
|
|
"syn",
|
|
|
|
]
|
|
|
|
|
2019-12-09 11:39:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "thread_local"
|
2021-03-02 05:59:49 +00:00
|
|
|
version = "1.1.3"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-03-02 05:59:49 +00:00
|
|
|
checksum = "8018d24e04c95ac8790716a5987d0fec4f8b27249ffa0f7d33f1369bdfb88cbd"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2021-03-02 05:59:49 +00:00
|
|
|
"once_cell",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
2020-07-25 02:03:18 +00:00
|
|
|
[[package]]
|
|
|
|
name = "threadpool"
|
|
|
|
version = "1.8.1"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
checksum = "d050e60b33d41c19108b32cea32164033a9013fe3b46cbd4457559bfbf77afaa"
|
|
|
|
dependencies = [
|
|
|
|
"num_cpus",
|
|
|
|
]
|
|
|
|
|
2020-01-15 03:48:09 +00:00
|
|
|
[[package]]
|
Initial work towards v0.2.0 (#924)
* Remove ping protocol
* Initial renaming of network services
* Correct rebasing relative to latest master
* Start updating types
* Adds HashMapDelay struct to utils
* Initial network restructure
* Network restructure. Adds new types for v0.2.0
* Removes build artefacts
* Shift validation to beacon chain
* Temporarily remove gossip validation
This is to be updated to match current optimisation efforts.
* Adds AggregateAndProof
* Begin rebuilding pubsub encoding/decoding
* Signature hacking
* Shift gossipsup decoding into eth2_libp2p
* Existing EF tests passing with fake_crypto
* Shifts block encoding/decoding into RPC
* Delete outdated API spec
* All release tests passing bar genesis state parsing
* Update and test YamlConfig
* Update to spec v0.10 compatible BLS
* Updates to BLS EF tests
* Add EF test for AggregateVerify
And delete unused hash2curve tests for uncompressed points
* Update EF tests to v0.10.1
* Use optional block root correctly in block proc
* Use genesis fork in deposit domain. All tests pass
* Fast aggregate verify test
* Update REST API docs
* Fix unused import
* Bump spec tags to v0.10.1
* Add `seconds_per_eth1_block` to chainspec
* Update to timestamp based eth1 voting scheme
* Return None from `get_votes_to_consider` if block cache is empty
* Handle overflows in `is_candidate_block`
* Revert to failing tests
* Fix eth1 data sets test
* Choose default vote according to spec
* Fix collect_valid_votes tests
* Fix `get_votes_to_consider` to choose all eligible blocks
* Uncomment winning_vote tests
* Add comments; remove unused code
* Reduce seconds_per_eth1_block for simulation
* Addressed review comments
* Add test for default vote case
* Fix logs
* Remove unused functions
* Meter default eth1 votes
* Fix comments
* Progress on attestation service
* Address review comments; remove unused dependency
* Initial work on removing libp2p lock
* Add LRU caches to store (rollup)
* Update attestation validation for DB changes (WIP)
* Initial version of should_forward_block
* Scaffold
* Progress on attestation validation
Also, consolidate prod+testing slot clocks so that they share much
of the same implementation and can both handle sub-slot time changes.
* Removes lock from libp2p service
* Completed network lock removal
* Finish(?) attestation processing
* Correct network termination future
* Add slot check to block check
* Correct fmt issues
* Remove Drop implementation for network service
* Add first attempt at attestation proc. re-write
* Add version 2 of attestation processing
* Minor fixes
* Add validator pubkey cache
* Make get_indexed_attestation take a committee
* Link signature processing into new attn verification
* First working version
* Ensure pubkey cache is updated
* Add more metrics, slight optimizations
* Clone committee cache during attestation processing
* Update shuffling cache during block processing
* Remove old commented-out code
* Fix shuffling cache insert bug
* Used indexed attestation in fork choice
* Restructure attn processing, add metrics
* Add more detailed metrics
* Tidy, fix failing tests
* Fix failing tests, tidy
* Address reviewers suggestions
* Disable/delete two outdated tests
* Modification of validator for subscriptions
* Add slot signing to validator client
* Further progress on validation subscription
* Adds necessary validator subscription functionality
* Add new Pubkeys struct to signature_sets
* Refactor with functional approach
* Update beacon chain
* Clean up validator <-> beacon node http types
* Add aggregator status to ValidatorDuty
* Impl Clone for manual slot clock
* Fix minor errors
* Further progress validator client subscription
* Initial subscription and aggregation handling
* Remove decompressed member from pubkey bytes
* Progress to modifying val client for attestation aggregation
* First draft of validator client upgrade for aggregate attestations
* Add hashmap for indices lookup
* Add state cache, remove store cache
* Only build the head committee cache
* Removes lock on a network channel
* Partially implement beacon node subscription http api
* Correct compilation issues
* Change `get_attesting_indices` to use Vec
* Fix failing test
* Partial implementation of timer
* Adds timer, removes exit_future, http api to op pool
* Partial multiple aggregate attestation handling
* Permits bulk messages accross gossipsub network channel
* Correct compile issues
* Improve gosispsub messaging and correct rest api helpers
* Added global gossipsub subscriptions
* Update validator subscriptions data structs
* Tidy
* Re-structure validator subscriptions
* Initial handling of subscriptions
* Re-structure network service
* Add pubkey cache persistence file
* Add more comments
* Integrate persistence file into builder
* Add pubkey cache tests
* Add HashSetDelay and introduce into attestation service
* Handles validator subscriptions
* Add data_dir to beacon chain builder
* Remove Option in pubkey cache persistence file
* Ensure consistency between datadir/data_dir
* Fix failing network test
* Peer subnet discovery gets queued for future subscriptions
* Reorganise attestation service functions
* Initial wiring of attestation service
* First draft of attestation service timing logic
* Correct minor typos
* Tidy
* Fix todos
* Improve tests
* Add PeerInfo to connected peers mapping
* Fix compile error
* Fix compile error from merge
* Split up block processing metrics
* Tidy
* Refactor get_pubkey_from_state
* Remove commented-out code
* Rename state_cache -> checkpoint_cache
* Rename Checkpoint -> Snapshot
* Tidy, add comments
* Tidy up find_head function
* Change some checkpoint -> snapshot
* Add tests
* Expose max_len
* Remove dead code
* Tidy
* Fix bug
* Add sync-speed metric
* Add first attempt at VerifiableBlock
* Start integrating into beacon chain
* Integrate VerifiableBlock
* Rename VerifableBlock -> PartialBlockVerification
* Add start of typed methods
* Add progress
* Add further progress
* Rename structs
* Add full block verification to block_processing.rs
* Further beacon chain integration
* Update checks for gossip
* Add todo
* Start adding segement verification
* Add passing chain segement test
* Initial integration with batch sync
* Minor changes
* Tidy, add more error checking
* Start adding chain_segment tests
* Finish invalid signature tests
* Include single and gossip verified blocks in tests
* Add gossip verification tests
* Start adding docs
* Finish adding comments to block_processing.rs
* Rename block_processing.rs -> block_verification
* Start removing old block processing code
* Fixes beacon_chain compilation
* Fix project-wide compile errors
* Remove old code
* Correct code to pass all tests
* Fix bug with beacon proposer index
* Fix shim for BlockProcessingError
* Only process one epoch at a time
* Fix loop in chain segment processing
* Correct tests from master merge
* Add caching for state.eth1_data_votes
* Add BeaconChain::validator_pubkey
* Revert "Add caching for state.eth1_data_votes"
This reverts commit cd73dcd6434fb8d8e6bf30c5356355598ea7b78e.
Co-authored-by: Grant Wuerker <gwuerker@gmail.com>
Co-authored-by: Michael Sproul <michael@sigmaprime.io>
Co-authored-by: Michael Sproul <micsproul@gmail.com>
Co-authored-by: pawan <pawandhananjay@gmail.com>
Co-authored-by: Paul Hauner <paul@paulhauner.com>
2020-03-17 06:24:44 +00:00
|
|
|
name = "time"
|
2021-02-10 23:29:49 +00:00
|
|
|
version = "0.1.43"
|
2020-01-15 03:48:09 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-02-10 23:29:49 +00:00
|
|
|
checksum = "ca8a50ef2360fbd1eeb0ecd46795a87a19024eb4b53c5dc916ca1fd95fe62438"
|
2020-01-15 03:48:09 +00:00
|
|
|
dependencies = [
|
2020-05-10 09:56:31 +00:00
|
|
|
"libc",
|
2021-07-09 03:20:24 +00:00
|
|
|
"winapi",
|
2020-01-15 03:48:09 +00:00
|
|
|
]
|
|
|
|
|
2020-05-26 03:25:52 +00:00
|
|
|
[[package]]
|
|
|
|
name = "time"
|
2021-11-18 05:08:42 +00:00
|
|
|
version = "0.3.5"
|
2020-05-26 03:25:52 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-11-18 05:08:42 +00:00
|
|
|
checksum = "41effe7cfa8af36f439fac33861b66b049edc6f9a32331e2312660529c1c24ad"
|
2020-05-26 03:25:52 +00:00
|
|
|
dependencies = [
|
|
|
|
"libc",
|
|
|
|
]
|
|
|
|
|
2019-12-09 11:39:44 +00:00
|
|
|
[[package]]
|
Initial work towards v0.2.0 (#924)
* Remove ping protocol
* Initial renaming of network services
* Correct rebasing relative to latest master
* Start updating types
* Adds HashMapDelay struct to utils
* Initial network restructure
* Network restructure. Adds new types for v0.2.0
* Removes build artefacts
* Shift validation to beacon chain
* Temporarily remove gossip validation
This is to be updated to match current optimisation efforts.
* Adds AggregateAndProof
* Begin rebuilding pubsub encoding/decoding
* Signature hacking
* Shift gossipsup decoding into eth2_libp2p
* Existing EF tests passing with fake_crypto
* Shifts block encoding/decoding into RPC
* Delete outdated API spec
* All release tests passing bar genesis state parsing
* Update and test YamlConfig
* Update to spec v0.10 compatible BLS
* Updates to BLS EF tests
* Add EF test for AggregateVerify
And delete unused hash2curve tests for uncompressed points
* Update EF tests to v0.10.1
* Use optional block root correctly in block proc
* Use genesis fork in deposit domain. All tests pass
* Fast aggregate verify test
* Update REST API docs
* Fix unused import
* Bump spec tags to v0.10.1
* Add `seconds_per_eth1_block` to chainspec
* Update to timestamp based eth1 voting scheme
* Return None from `get_votes_to_consider` if block cache is empty
* Handle overflows in `is_candidate_block`
* Revert to failing tests
* Fix eth1 data sets test
* Choose default vote according to spec
* Fix collect_valid_votes tests
* Fix `get_votes_to_consider` to choose all eligible blocks
* Uncomment winning_vote tests
* Add comments; remove unused code
* Reduce seconds_per_eth1_block for simulation
* Addressed review comments
* Add test for default vote case
* Fix logs
* Remove unused functions
* Meter default eth1 votes
* Fix comments
* Progress on attestation service
* Address review comments; remove unused dependency
* Initial work on removing libp2p lock
* Add LRU caches to store (rollup)
* Update attestation validation for DB changes (WIP)
* Initial version of should_forward_block
* Scaffold
* Progress on attestation validation
Also, consolidate prod+testing slot clocks so that they share much
of the same implementation and can both handle sub-slot time changes.
* Removes lock from libp2p service
* Completed network lock removal
* Finish(?) attestation processing
* Correct network termination future
* Add slot check to block check
* Correct fmt issues
* Remove Drop implementation for network service
* Add first attempt at attestation proc. re-write
* Add version 2 of attestation processing
* Minor fixes
* Add validator pubkey cache
* Make get_indexed_attestation take a committee
* Link signature processing into new attn verification
* First working version
* Ensure pubkey cache is updated
* Add more metrics, slight optimizations
* Clone committee cache during attestation processing
* Update shuffling cache during block processing
* Remove old commented-out code
* Fix shuffling cache insert bug
* Used indexed attestation in fork choice
* Restructure attn processing, add metrics
* Add more detailed metrics
* Tidy, fix failing tests
* Fix failing tests, tidy
* Address reviewers suggestions
* Disable/delete two outdated tests
* Modification of validator for subscriptions
* Add slot signing to validator client
* Further progress on validation subscription
* Adds necessary validator subscription functionality
* Add new Pubkeys struct to signature_sets
* Refactor with functional approach
* Update beacon chain
* Clean up validator <-> beacon node http types
* Add aggregator status to ValidatorDuty
* Impl Clone for manual slot clock
* Fix minor errors
* Further progress validator client subscription
* Initial subscription and aggregation handling
* Remove decompressed member from pubkey bytes
* Progress to modifying val client for attestation aggregation
* First draft of validator client upgrade for aggregate attestations
* Add hashmap for indices lookup
* Add state cache, remove store cache
* Only build the head committee cache
* Removes lock on a network channel
* Partially implement beacon node subscription http api
* Correct compilation issues
* Change `get_attesting_indices` to use Vec
* Fix failing test
* Partial implementation of timer
* Adds timer, removes exit_future, http api to op pool
* Partial multiple aggregate attestation handling
* Permits bulk messages accross gossipsub network channel
* Correct compile issues
* Improve gosispsub messaging and correct rest api helpers
* Added global gossipsub subscriptions
* Update validator subscriptions data structs
* Tidy
* Re-structure validator subscriptions
* Initial handling of subscriptions
* Re-structure network service
* Add pubkey cache persistence file
* Add more comments
* Integrate persistence file into builder
* Add pubkey cache tests
* Add HashSetDelay and introduce into attestation service
* Handles validator subscriptions
* Add data_dir to beacon chain builder
* Remove Option in pubkey cache persistence file
* Ensure consistency between datadir/data_dir
* Fix failing network test
* Peer subnet discovery gets queued for future subscriptions
* Reorganise attestation service functions
* Initial wiring of attestation service
* First draft of attestation service timing logic
* Correct minor typos
* Tidy
* Fix todos
* Improve tests
* Add PeerInfo to connected peers mapping
* Fix compile error
* Fix compile error from merge
* Split up block processing metrics
* Tidy
* Refactor get_pubkey_from_state
* Remove commented-out code
* Rename state_cache -> checkpoint_cache
* Rename Checkpoint -> Snapshot
* Tidy, add comments
* Tidy up find_head function
* Change some checkpoint -> snapshot
* Add tests
* Expose max_len
* Remove dead code
* Tidy
* Fix bug
* Add sync-speed metric
* Add first attempt at VerifiableBlock
* Start integrating into beacon chain
* Integrate VerifiableBlock
* Rename VerifableBlock -> PartialBlockVerification
* Add start of typed methods
* Add progress
* Add further progress
* Rename structs
* Add full block verification to block_processing.rs
* Further beacon chain integration
* Update checks for gossip
* Add todo
* Start adding segement verification
* Add passing chain segement test
* Initial integration with batch sync
* Minor changes
* Tidy, add more error checking
* Start adding chain_segment tests
* Finish invalid signature tests
* Include single and gossip verified blocks in tests
* Add gossip verification tests
* Start adding docs
* Finish adding comments to block_processing.rs
* Rename block_processing.rs -> block_verification
* Start removing old block processing code
* Fixes beacon_chain compilation
* Fix project-wide compile errors
* Remove old code
* Correct code to pass all tests
* Fix bug with beacon proposer index
* Fix shim for BlockProcessingError
* Only process one epoch at a time
* Fix loop in chain segment processing
* Correct tests from master merge
* Add caching for state.eth1_data_votes
* Add BeaconChain::validator_pubkey
* Revert "Add caching for state.eth1_data_votes"
This reverts commit cd73dcd6434fb8d8e6bf30c5356355598ea7b78e.
Co-authored-by: Grant Wuerker <gwuerker@gmail.com>
Co-authored-by: Michael Sproul <michael@sigmaprime.io>
Co-authored-by: Michael Sproul <micsproul@gmail.com>
Co-authored-by: pawan <pawandhananjay@gmail.com>
Co-authored-by: Paul Hauner <paul@paulhauner.com>
2020-03-17 06:24:44 +00:00
|
|
|
name = "timer"
|
2020-08-06 03:43:05 +00:00
|
|
|
version = "0.2.0"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2020-05-10 09:56:31 +00:00
|
|
|
"beacon_chain",
|
|
|
|
"slog",
|
|
|
|
"slot_clock",
|
2020-10-05 07:45:54 +00:00
|
|
|
"task_executor",
|
2021-08-17 01:00:24 +00:00
|
|
|
"tokio",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
EIP-2386 (draft): Eth2 wallet (#1117)
* Add test to understand flow of key storage
* First commit
* Committing to save trait stuff
* Working naive design
* Add keystore struct
* Move keystore files into their own module
* Add serde (de)serialize_with magic
* Add keystore test
* Fix tests
* Add comments and minor fixes
* Pass optional params to `to_keystore` function
* Add `path` field to keystore
* Add function to read Keystore from file
* Add test vectors and fix Version serialization
* Checksum params is empty object
* Add public key to Keystore
* Add function for saving keystore into file
* Deleted account_manager main.rs
* Move keystore module to validator_client
* Add save_keystore method to validator_directory
* Add load_keystore function. Minor refactorings
* Fixed dependencies
* Address some review comments
* Add Password newtype; derive Zeroize
* Fix test
* Move keystore into own crate
* Remove padding
* Add error enum, zeroize more things
* Fix comment
* Add keystore builder
* Remove keystore stuff from val client
* Add more tests, comments
* Add more comments, test vectors
* Progress on improving JSON validation
* More JSON verification
* Start moving JSON into own mod
* Remove old code
* Add more tests, reader/writers
* Tidy
* Move keystore into own file
* Move more logic into keystore file
* Tidy
* Tidy
* Allow for odd-character hex
* Add more json missing field checks
* Use scrypt by default
* Tidy, address comments
* Test path and uuid in vectors
* Fix comment
* Add checks for kdf params
* Enforce empty kdf message
* Expose json_keystore mod
* First commits on path derivation
* Progress with implementation
* More progress
* Passing intermediate test vectors
* Tidy, add comments
* Add DerivedKey structs
* Move key derivation into own crate
* Add zeroize structs
* Return error for empty seed
* Add tests
* Tidy
* First commits on path derivation
* Progress with implementation
* Move key derivation into own crate
* Start defining JSON wallet
* Add progress
* Split out encrypt/decrypt
* First commits on path derivation
* Progress with implementation
* More progress
* Passing intermediate test vectors
* Tidy, add comments
* Add DerivedKey structs
* Move key derivation into own crate
* Add zeroize structs
* Return error for empty seed
* Add tests
* Tidy
* Add progress
* Replace some password usage with slice
* First commits on path derivation
* Progress with implementation
* More progress
* Passing intermediate test vectors
* Tidy, add comments
* Add DerivedKey structs
* Move key derivation into own crate
* Add zeroize structs
* Return error for empty seed
* Add tests
* Tidy
* Add progress
* Expose PlainText struct
* First commits on path derivation
* Progress with implementation
* More progress
* Passing intermediate test vectors
* Tidy, add comments
* Add DerivedKey structs
* Move key derivation into own crate
* Add zeroize structs
* Return error for empty seed
* Add tests
* Tidy
* Add builder
* Expose consts, remove Password
* Minor progress
* Expose SALT_SIZE
* First compiling version
* Add test vectors
* Move dbg assert statement
* Add mnemonic, tidy
* Tidy
* Add testing
* Fix broken test
* Address review comments
Co-authored-by: pawan <pawandhananjay@gmail.com>
2020-05-11 22:54:59 +00:00
|
|
|
[[package]]
|
|
|
|
name = "tiny-bip39"
|
2021-10-01 01:23:55 +00:00
|
|
|
version = "0.8.2"
|
2020-11-12 00:46:33 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-10-01 01:23:55 +00:00
|
|
|
checksum = "ffc59cb9dfc85bb312c3a78fd6aa8a8582e310b0fa885d5bb877f6dcc601839d"
|
EIP-2386 (draft): Eth2 wallet (#1117)
* Add test to understand flow of key storage
* First commit
* Committing to save trait stuff
* Working naive design
* Add keystore struct
* Move keystore files into their own module
* Add serde (de)serialize_with magic
* Add keystore test
* Fix tests
* Add comments and minor fixes
* Pass optional params to `to_keystore` function
* Add `path` field to keystore
* Add function to read Keystore from file
* Add test vectors and fix Version serialization
* Checksum params is empty object
* Add public key to Keystore
* Add function for saving keystore into file
* Deleted account_manager main.rs
* Move keystore module to validator_client
* Add save_keystore method to validator_directory
* Add load_keystore function. Minor refactorings
* Fixed dependencies
* Address some review comments
* Add Password newtype; derive Zeroize
* Fix test
* Move keystore into own crate
* Remove padding
* Add error enum, zeroize more things
* Fix comment
* Add keystore builder
* Remove keystore stuff from val client
* Add more tests, comments
* Add more comments, test vectors
* Progress on improving JSON validation
* More JSON verification
* Start moving JSON into own mod
* Remove old code
* Add more tests, reader/writers
* Tidy
* Move keystore into own file
* Move more logic into keystore file
* Tidy
* Tidy
* Allow for odd-character hex
* Add more json missing field checks
* Use scrypt by default
* Tidy, address comments
* Test path and uuid in vectors
* Fix comment
* Add checks for kdf params
* Enforce empty kdf message
* Expose json_keystore mod
* First commits on path derivation
* Progress with implementation
* More progress
* Passing intermediate test vectors
* Tidy, add comments
* Add DerivedKey structs
* Move key derivation into own crate
* Add zeroize structs
* Return error for empty seed
* Add tests
* Tidy
* First commits on path derivation
* Progress with implementation
* Move key derivation into own crate
* Start defining JSON wallet
* Add progress
* Split out encrypt/decrypt
* First commits on path derivation
* Progress with implementation
* More progress
* Passing intermediate test vectors
* Tidy, add comments
* Add DerivedKey structs
* Move key derivation into own crate
* Add zeroize structs
* Return error for empty seed
* Add tests
* Tidy
* Add progress
* Replace some password usage with slice
* First commits on path derivation
* Progress with implementation
* More progress
* Passing intermediate test vectors
* Tidy, add comments
* Add DerivedKey structs
* Move key derivation into own crate
* Add zeroize structs
* Return error for empty seed
* Add tests
* Tidy
* Add progress
* Expose PlainText struct
* First commits on path derivation
* Progress with implementation
* More progress
* Passing intermediate test vectors
* Tidy, add comments
* Add DerivedKey structs
* Move key derivation into own crate
* Add zeroize structs
* Return error for empty seed
* Add tests
* Tidy
* Add builder
* Expose consts, remove Password
* Minor progress
* Expose SALT_SIZE
* First compiling version
* Add test vectors
* Move dbg assert statement
* Add mnemonic, tidy
* Tidy
* Add testing
* Fix broken test
* Address review comments
Co-authored-by: pawan <pawandhananjay@gmail.com>
2020-05-11 22:54:59 +00:00
|
|
|
dependencies = [
|
2020-11-12 00:46:33 +00:00
|
|
|
"anyhow",
|
|
|
|
"hmac 0.8.1",
|
EIP-2386 (draft): Eth2 wallet (#1117)
* Add test to understand flow of key storage
* First commit
* Committing to save trait stuff
* Working naive design
* Add keystore struct
* Move keystore files into their own module
* Add serde (de)serialize_with magic
* Add keystore test
* Fix tests
* Add comments and minor fixes
* Pass optional params to `to_keystore` function
* Add `path` field to keystore
* Add function to read Keystore from file
* Add test vectors and fix Version serialization
* Checksum params is empty object
* Add public key to Keystore
* Add function for saving keystore into file
* Deleted account_manager main.rs
* Move keystore module to validator_client
* Add save_keystore method to validator_directory
* Add load_keystore function. Minor refactorings
* Fixed dependencies
* Address some review comments
* Add Password newtype; derive Zeroize
* Fix test
* Move keystore into own crate
* Remove padding
* Add error enum, zeroize more things
* Fix comment
* Add keystore builder
* Remove keystore stuff from val client
* Add more tests, comments
* Add more comments, test vectors
* Progress on improving JSON validation
* More JSON verification
* Start moving JSON into own mod
* Remove old code
* Add more tests, reader/writers
* Tidy
* Move keystore into own file
* Move more logic into keystore file
* Tidy
* Tidy
* Allow for odd-character hex
* Add more json missing field checks
* Use scrypt by default
* Tidy, address comments
* Test path and uuid in vectors
* Fix comment
* Add checks for kdf params
* Enforce empty kdf message
* Expose json_keystore mod
* First commits on path derivation
* Progress with implementation
* More progress
* Passing intermediate test vectors
* Tidy, add comments
* Add DerivedKey structs
* Move key derivation into own crate
* Add zeroize structs
* Return error for empty seed
* Add tests
* Tidy
* First commits on path derivation
* Progress with implementation
* Move key derivation into own crate
* Start defining JSON wallet
* Add progress
* Split out encrypt/decrypt
* First commits on path derivation
* Progress with implementation
* More progress
* Passing intermediate test vectors
* Tidy, add comments
* Add DerivedKey structs
* Move key derivation into own crate
* Add zeroize structs
* Return error for empty seed
* Add tests
* Tidy
* Add progress
* Replace some password usage with slice
* First commits on path derivation
* Progress with implementation
* More progress
* Passing intermediate test vectors
* Tidy, add comments
* Add DerivedKey structs
* Move key derivation into own crate
* Add zeroize structs
* Return error for empty seed
* Add tests
* Tidy
* Add progress
* Expose PlainText struct
* First commits on path derivation
* Progress with implementation
* More progress
* Passing intermediate test vectors
* Tidy, add comments
* Add DerivedKey structs
* Move key derivation into own crate
* Add zeroize structs
* Return error for empty seed
* Add tests
* Tidy
* Add builder
* Expose consts, remove Password
* Minor progress
* Expose SALT_SIZE
* First compiling version
* Add test vectors
* Move dbg assert statement
* Add mnemonic, tidy
* Tidy
* Add testing
* Fix broken test
* Address review comments
Co-authored-by: pawan <pawandhananjay@gmail.com>
2020-05-11 22:54:59 +00:00
|
|
|
"once_cell",
|
2020-11-12 00:46:33 +00:00
|
|
|
"pbkdf2 0.4.0",
|
EIP-2386 (draft): Eth2 wallet (#1117)
* Add test to understand flow of key storage
* First commit
* Committing to save trait stuff
* Working naive design
* Add keystore struct
* Move keystore files into their own module
* Add serde (de)serialize_with magic
* Add keystore test
* Fix tests
* Add comments and minor fixes
* Pass optional params to `to_keystore` function
* Add `path` field to keystore
* Add function to read Keystore from file
* Add test vectors and fix Version serialization
* Checksum params is empty object
* Add public key to Keystore
* Add function for saving keystore into file
* Deleted account_manager main.rs
* Move keystore module to validator_client
* Add save_keystore method to validator_directory
* Add load_keystore function. Minor refactorings
* Fixed dependencies
* Address some review comments
* Add Password newtype; derive Zeroize
* Fix test
* Move keystore into own crate
* Remove padding
* Add error enum, zeroize more things
* Fix comment
* Add keystore builder
* Remove keystore stuff from val client
* Add more tests, comments
* Add more comments, test vectors
* Progress on improving JSON validation
* More JSON verification
* Start moving JSON into own mod
* Remove old code
* Add more tests, reader/writers
* Tidy
* Move keystore into own file
* Move more logic into keystore file
* Tidy
* Tidy
* Allow for odd-character hex
* Add more json missing field checks
* Use scrypt by default
* Tidy, address comments
* Test path and uuid in vectors
* Fix comment
* Add checks for kdf params
* Enforce empty kdf message
* Expose json_keystore mod
* First commits on path derivation
* Progress with implementation
* More progress
* Passing intermediate test vectors
* Tidy, add comments
* Add DerivedKey structs
* Move key derivation into own crate
* Add zeroize structs
* Return error for empty seed
* Add tests
* Tidy
* First commits on path derivation
* Progress with implementation
* Move key derivation into own crate
* Start defining JSON wallet
* Add progress
* Split out encrypt/decrypt
* First commits on path derivation
* Progress with implementation
* More progress
* Passing intermediate test vectors
* Tidy, add comments
* Add DerivedKey structs
* Move key derivation into own crate
* Add zeroize structs
* Return error for empty seed
* Add tests
* Tidy
* Add progress
* Replace some password usage with slice
* First commits on path derivation
* Progress with implementation
* More progress
* Passing intermediate test vectors
* Tidy, add comments
* Add DerivedKey structs
* Move key derivation into own crate
* Add zeroize structs
* Return error for empty seed
* Add tests
* Tidy
* Add progress
* Expose PlainText struct
* First commits on path derivation
* Progress with implementation
* More progress
* Passing intermediate test vectors
* Tidy, add comments
* Add DerivedKey structs
* Move key derivation into own crate
* Add zeroize structs
* Return error for empty seed
* Add tests
* Tidy
* Add builder
* Expose consts, remove Password
* Minor progress
* Expose SALT_SIZE
* First compiling version
* Add test vectors
* Move dbg assert statement
* Add mnemonic, tidy
* Tidy
* Add testing
* Fix broken test
* Address review comments
Co-authored-by: pawan <pawandhananjay@gmail.com>
2020-05-11 22:54:59 +00:00
|
|
|
"rand 0.7.3",
|
|
|
|
"rustc-hash",
|
2022-01-11 01:35:56 +00:00
|
|
|
"sha2 0.9.9",
|
2020-11-12 00:46:33 +00:00
|
|
|
"thiserror",
|
EIP-2386 (draft): Eth2 wallet (#1117)
* Add test to understand flow of key storage
* First commit
* Committing to save trait stuff
* Working naive design
* Add keystore struct
* Move keystore files into their own module
* Add serde (de)serialize_with magic
* Add keystore test
* Fix tests
* Add comments and minor fixes
* Pass optional params to `to_keystore` function
* Add `path` field to keystore
* Add function to read Keystore from file
* Add test vectors and fix Version serialization
* Checksum params is empty object
* Add public key to Keystore
* Add function for saving keystore into file
* Deleted account_manager main.rs
* Move keystore module to validator_client
* Add save_keystore method to validator_directory
* Add load_keystore function. Minor refactorings
* Fixed dependencies
* Address some review comments
* Add Password newtype; derive Zeroize
* Fix test
* Move keystore into own crate
* Remove padding
* Add error enum, zeroize more things
* Fix comment
* Add keystore builder
* Remove keystore stuff from val client
* Add more tests, comments
* Add more comments, test vectors
* Progress on improving JSON validation
* More JSON verification
* Start moving JSON into own mod
* Remove old code
* Add more tests, reader/writers
* Tidy
* Move keystore into own file
* Move more logic into keystore file
* Tidy
* Tidy
* Allow for odd-character hex
* Add more json missing field checks
* Use scrypt by default
* Tidy, address comments
* Test path and uuid in vectors
* Fix comment
* Add checks for kdf params
* Enforce empty kdf message
* Expose json_keystore mod
* First commits on path derivation
* Progress with implementation
* More progress
* Passing intermediate test vectors
* Tidy, add comments
* Add DerivedKey structs
* Move key derivation into own crate
* Add zeroize structs
* Return error for empty seed
* Add tests
* Tidy
* First commits on path derivation
* Progress with implementation
* Move key derivation into own crate
* Start defining JSON wallet
* Add progress
* Split out encrypt/decrypt
* First commits on path derivation
* Progress with implementation
* More progress
* Passing intermediate test vectors
* Tidy, add comments
* Add DerivedKey structs
* Move key derivation into own crate
* Add zeroize structs
* Return error for empty seed
* Add tests
* Tidy
* Add progress
* Replace some password usage with slice
* First commits on path derivation
* Progress with implementation
* More progress
* Passing intermediate test vectors
* Tidy, add comments
* Add DerivedKey structs
* Move key derivation into own crate
* Add zeroize structs
* Return error for empty seed
* Add tests
* Tidy
* Add progress
* Expose PlainText struct
* First commits on path derivation
* Progress with implementation
* More progress
* Passing intermediate test vectors
* Tidy, add comments
* Add DerivedKey structs
* Move key derivation into own crate
* Add zeroize structs
* Return error for empty seed
* Add tests
* Tidy
* Add builder
* Expose consts, remove Password
* Minor progress
* Expose SALT_SIZE
* First compiling version
* Add test vectors
* Move dbg assert statement
* Add mnemonic, tidy
* Tidy
* Add testing
* Fix broken test
* Address review comments
Co-authored-by: pawan <pawandhananjay@gmail.com>
2020-05-11 22:54:59 +00:00
|
|
|
"unicode-normalization",
|
2021-10-01 01:23:55 +00:00
|
|
|
"wasm-bindgen",
|
2020-10-02 06:57:40 +00:00
|
|
|
"zeroize",
|
EIP-2386 (draft): Eth2 wallet (#1117)
* Add test to understand flow of key storage
* First commit
* Committing to save trait stuff
* Working naive design
* Add keystore struct
* Move keystore files into their own module
* Add serde (de)serialize_with magic
* Add keystore test
* Fix tests
* Add comments and minor fixes
* Pass optional params to `to_keystore` function
* Add `path` field to keystore
* Add function to read Keystore from file
* Add test vectors and fix Version serialization
* Checksum params is empty object
* Add public key to Keystore
* Add function for saving keystore into file
* Deleted account_manager main.rs
* Move keystore module to validator_client
* Add save_keystore method to validator_directory
* Add load_keystore function. Minor refactorings
* Fixed dependencies
* Address some review comments
* Add Password newtype; derive Zeroize
* Fix test
* Move keystore into own crate
* Remove padding
* Add error enum, zeroize more things
* Fix comment
* Add keystore builder
* Remove keystore stuff from val client
* Add more tests, comments
* Add more comments, test vectors
* Progress on improving JSON validation
* More JSON verification
* Start moving JSON into own mod
* Remove old code
* Add more tests, reader/writers
* Tidy
* Move keystore into own file
* Move more logic into keystore file
* Tidy
* Tidy
* Allow for odd-character hex
* Add more json missing field checks
* Use scrypt by default
* Tidy, address comments
* Test path and uuid in vectors
* Fix comment
* Add checks for kdf params
* Enforce empty kdf message
* Expose json_keystore mod
* First commits on path derivation
* Progress with implementation
* More progress
* Passing intermediate test vectors
* Tidy, add comments
* Add DerivedKey structs
* Move key derivation into own crate
* Add zeroize structs
* Return error for empty seed
* Add tests
* Tidy
* First commits on path derivation
* Progress with implementation
* Move key derivation into own crate
* Start defining JSON wallet
* Add progress
* Split out encrypt/decrypt
* First commits on path derivation
* Progress with implementation
* More progress
* Passing intermediate test vectors
* Tidy, add comments
* Add DerivedKey structs
* Move key derivation into own crate
* Add zeroize structs
* Return error for empty seed
* Add tests
* Tidy
* Add progress
* Replace some password usage with slice
* First commits on path derivation
* Progress with implementation
* More progress
* Passing intermediate test vectors
* Tidy, add comments
* Add DerivedKey structs
* Move key derivation into own crate
* Add zeroize structs
* Return error for empty seed
* Add tests
* Tidy
* Add progress
* Expose PlainText struct
* First commits on path derivation
* Progress with implementation
* More progress
* Passing intermediate test vectors
* Tidy, add comments
* Add DerivedKey structs
* Move key derivation into own crate
* Add zeroize structs
* Return error for empty seed
* Add tests
* Tidy
* Add builder
* Expose consts, remove Password
* Minor progress
* Expose SALT_SIZE
* First compiling version
* Add test vectors
* Move dbg assert statement
* Add mnemonic, tidy
* Tidy
* Add testing
* Fix broken test
* Address review comments
Co-authored-by: pawan <pawandhananjay@gmail.com>
2020-05-11 22:54:59 +00:00
|
|
|
]
|
|
|
|
|
2019-12-09 11:39:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "tiny-keccak"
|
|
|
|
version = "1.5.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2020-05-10 09:56:31 +00:00
|
|
|
checksum = "1d8a021c69bb74a44ccedb824a046447e2c84a01df9e5c20779750acb38e11b2"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2020-05-17 11:16:48 +00:00
|
|
|
"crunchy",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
2020-05-05 23:12:28 +00:00
|
|
|
[[package]]
|
|
|
|
name = "tiny-keccak"
|
|
|
|
version = "2.0.2"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2020-05-10 09:56:31 +00:00
|
|
|
checksum = "2c9d3793400a45f954c52e73d068316d76b6f4e36977e3fcebb13a2721e80237"
|
2020-05-05 23:12:28 +00:00
|
|
|
dependencies = [
|
2020-05-17 11:16:48 +00:00
|
|
|
"crunchy",
|
2020-05-05 23:12:28 +00:00
|
|
|
]
|
|
|
|
|
2019-12-09 11:39:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "tinytemplate"
|
2021-03-08 06:27:49 +00:00
|
|
|
version = "1.2.1"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-03-08 06:27:49 +00:00
|
|
|
checksum = "be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2020-05-10 09:56:31 +00:00
|
|
|
"serde",
|
|
|
|
"serde_json",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
2020-07-06 01:55:56 +00:00
|
|
|
[[package]]
|
|
|
|
name = "tinyvec"
|
2021-11-18 05:08:42 +00:00
|
|
|
version = "1.5.1"
|
2020-11-13 06:06:35 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-11-18 05:08:42 +00:00
|
|
|
checksum = "2c1c1d5a42b6245520c249549ec267180beaffcc0615401ac8e31853d4b6d8d2"
|
2020-11-13 06:06:35 +00:00
|
|
|
dependencies = [
|
|
|
|
"tinyvec_macros",
|
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "tinyvec_macros"
|
|
|
|
version = "0.1.0"
|
2020-07-06 01:55:56 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2020-11-13 06:06:35 +00:00
|
|
|
checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c"
|
2020-07-06 01:55:56 +00:00
|
|
|
|
2020-05-17 11:16:48 +00:00
|
|
|
[[package]]
|
|
|
|
name = "tokio"
|
2021-12-22 06:17:14 +00:00
|
|
|
version = "1.15.0"
|
2021-02-10 23:29:49 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-12-22 06:17:14 +00:00
|
|
|
checksum = "fbbf1c778ec206785635ce8ad57fe52b3009ae9e0c9f574a728f3049d3e55838"
|
2021-02-10 23:29:49 +00:00
|
|
|
dependencies = [
|
2021-10-29 01:59:29 +00:00
|
|
|
"bytes",
|
2020-11-28 05:30:57 +00:00
|
|
|
"libc",
|
|
|
|
"memchr",
|
2021-07-09 03:20:24 +00:00
|
|
|
"mio",
|
2020-11-28 05:30:57 +00:00
|
|
|
"num_cpus",
|
2020-12-23 07:53:36 +00:00
|
|
|
"once_cell",
|
2020-12-09 01:34:58 +00:00
|
|
|
"parking_lot",
|
2022-01-11 01:35:56 +00:00
|
|
|
"pin-project-lite 0.2.8",
|
2020-11-28 05:30:57 +00:00
|
|
|
"signal-hook-registry",
|
2021-07-09 03:20:24 +00:00
|
|
|
"tokio-macros",
|
|
|
|
"winapi",
|
2020-05-17 11:16:48 +00:00
|
|
|
]
|
|
|
|
|
2019-12-09 11:39:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "tokio-io-timeout"
|
2022-01-11 01:35:56 +00:00
|
|
|
version = "1.2.0"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2022-01-11 01:35:56 +00:00
|
|
|
checksum = "30b74022ada614a1b4834de765f9bb43877f910cc8ce4be40e89042c9223a8bf"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2022-01-11 01:35:56 +00:00
|
|
|
"pin-project-lite 0.2.8",
|
2021-08-17 01:00:24 +00:00
|
|
|
"tokio",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
2020-11-28 05:30:57 +00:00
|
|
|
[[package]]
|
|
|
|
name = "tokio-macros"
|
2021-12-22 06:17:14 +00:00
|
|
|
version = "1.7.0"
|
2020-11-28 05:30:57 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-12-22 06:17:14 +00:00
|
|
|
checksum = "b557f72f448c511a979e2564e55d74e6c4432fc96ff4f6241bc6bded342643b7"
|
2020-11-28 05:30:57 +00:00
|
|
|
dependencies = [
|
|
|
|
"proc-macro2",
|
|
|
|
"quote",
|
|
|
|
"syn",
|
|
|
|
]
|
|
|
|
|
2021-02-10 23:29:49 +00:00
|
|
|
[[package]]
|
|
|
|
name = "tokio-native-tls"
|
|
|
|
version = "0.3.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
checksum = "f7d995660bd2b7f8c1568414c1126076c13fbb725c40112dc0120b78eb9b717b"
|
|
|
|
dependencies = [
|
|
|
|
"native-tls",
|
2021-08-17 01:00:24 +00:00
|
|
|
"tokio",
|
2021-02-10 23:29:49 +00:00
|
|
|
]
|
|
|
|
|
2021-10-12 03:35:49 +00:00
|
|
|
[[package]]
|
|
|
|
name = "tokio-rustls"
|
|
|
|
version = "0.22.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
checksum = "bc6844de72e57df1980054b38be3a9f4702aba4858be64dd700181a8a6d0e1b6"
|
|
|
|
dependencies = [
|
2021-11-18 05:08:42 +00:00
|
|
|
"rustls 0.19.1",
|
2021-10-12 03:35:49 +00:00
|
|
|
"tokio",
|
2021-11-18 05:08:42 +00:00
|
|
|
"webpki 0.21.4",
|
2021-10-12 03:35:49 +00:00
|
|
|
]
|
|
|
|
|
2021-02-10 23:29:49 +00:00
|
|
|
[[package]]
|
|
|
|
name = "tokio-stream"
|
2021-11-18 05:08:42 +00:00
|
|
|
version = "0.1.8"
|
2021-02-10 23:29:49 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-11-18 05:08:42 +00:00
|
|
|
checksum = "50145484efff8818b5ccd256697f36863f587da82cf8b409c53adf1e840798e3"
|
2021-02-10 23:29:49 +00:00
|
|
|
dependencies = [
|
|
|
|
"futures-core",
|
2022-01-11 01:35:56 +00:00
|
|
|
"pin-project-lite 0.2.8",
|
2021-08-17 01:00:24 +00:00
|
|
|
"tokio",
|
2021-07-09 03:20:24 +00:00
|
|
|
"tokio-util",
|
2020-05-17 11:16:48 +00:00
|
|
|
]
|
|
|
|
|
2021-11-16 00:46:12 +00:00
|
|
|
[[package]]
|
|
|
|
name = "tokio-tungstenite"
|
|
|
|
version = "0.13.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
checksum = "e1a5f475f1b9d077ea1017ecbc60890fda8e54942d680ca0b1d2b47cfa2d861b"
|
|
|
|
dependencies = [
|
|
|
|
"futures-util",
|
|
|
|
"log",
|
2022-01-11 01:35:56 +00:00
|
|
|
"pin-project 1.0.10",
|
2021-11-16 00:46:12 +00:00
|
|
|
"tokio",
|
|
|
|
"tungstenite 0.12.0",
|
|
|
|
]
|
|
|
|
|
2020-09-29 03:46:54 +00:00
|
|
|
[[package]]
|
|
|
|
name = "tokio-tungstenite"
|
2021-11-18 05:08:42 +00:00
|
|
|
version = "0.15.0"
|
2020-09-29 03:46:54 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-11-18 05:08:42 +00:00
|
|
|
checksum = "511de3f85caf1c98983545490c3d09685fa8eb634e57eec22bb4db271f46cbd8"
|
2020-09-29 03:46:54 +00:00
|
|
|
dependencies = [
|
|
|
|
"futures-util",
|
2020-12-09 01:34:58 +00:00
|
|
|
"log",
|
2022-01-11 01:35:56 +00:00
|
|
|
"pin-project 1.0.10",
|
2021-08-17 01:00:24 +00:00
|
|
|
"tokio",
|
2021-11-16 00:46:12 +00:00
|
|
|
"tungstenite 0.14.0",
|
2020-09-29 03:46:54 +00:00
|
|
|
]
|
|
|
|
|
2020-11-28 05:30:57 +00:00
|
|
|
[[package]]
|
|
|
|
name = "tokio-util"
|
2021-11-18 05:08:42 +00:00
|
|
|
version = "0.6.9"
|
2020-11-28 05:30:57 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-11-18 05:08:42 +00:00
|
|
|
checksum = "9e99e1983e5d376cd8eb4b66604d2e99e79f5bd988c3055891dcd8c9e2604cc0"
|
2020-11-28 05:30:57 +00:00
|
|
|
dependencies = [
|
2021-10-29 01:59:29 +00:00
|
|
|
"bytes",
|
2020-11-28 05:30:57 +00:00
|
|
|
"futures-core",
|
2020-12-14 02:28:19 +00:00
|
|
|
"futures-io",
|
2020-11-28 05:30:57 +00:00
|
|
|
"futures-sink",
|
2020-12-09 01:34:58 +00:00
|
|
|
"log",
|
2022-01-11 01:35:56 +00:00
|
|
|
"pin-project-lite 0.2.8",
|
2020-12-09 01:34:58 +00:00
|
|
|
"slab",
|
2021-08-17 01:00:24 +00:00
|
|
|
"tokio",
|
2020-11-28 05:30:57 +00:00
|
|
|
]
|
|
|
|
|
2019-12-09 11:39:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "toml"
|
2020-12-23 18:52:48 +00:00
|
|
|
version = "0.5.8"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2020-12-23 18:52:48 +00:00
|
|
|
checksum = "a31142970826733df8241ef35dc040ef98c679ab14d7c3e54d827099b3acecaa"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2020-05-10 09:56:31 +00:00
|
|
|
"serde",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
2020-05-17 11:16:48 +00:00
|
|
|
[[package]]
|
|
|
|
name = "tower-service"
|
2021-03-02 05:59:49 +00:00
|
|
|
version = "0.3.1"
|
2020-05-17 11:16:48 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-03-02 05:59:49 +00:00
|
|
|
checksum = "360dfd1d6d30e05fda32ace2c8c70e9c0a9da713275777f5a4dbb8a1893930c6"
|
2020-05-17 11:16:48 +00:00
|
|
|
|
2020-07-15 05:04:09 +00:00
|
|
|
[[package]]
|
|
|
|
name = "tracing"
|
2021-10-11 00:10:35 +00:00
|
|
|
version = "0.1.29"
|
2020-07-15 05:04:09 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-10-11 00:10:35 +00:00
|
|
|
checksum = "375a639232caf30edfc78e8d89b2d4c375515393e7af7e16f01cd96917fb2105"
|
2020-07-15 05:04:09 +00:00
|
|
|
dependencies = [
|
2021-11-18 05:08:42 +00:00
|
|
|
"cfg-if",
|
2020-12-09 01:34:58 +00:00
|
|
|
"log",
|
2022-01-11 01:35:56 +00:00
|
|
|
"pin-project-lite 0.2.8",
|
2020-10-23 04:16:33 +00:00
|
|
|
"tracing-attributes",
|
2020-07-15 05:04:09 +00:00
|
|
|
"tracing-core",
|
|
|
|
]
|
|
|
|
|
2020-10-23 04:16:33 +00:00
|
|
|
[[package]]
|
|
|
|
name = "tracing-attributes"
|
2021-10-11 00:10:35 +00:00
|
|
|
version = "0.1.18"
|
2020-10-23 04:16:33 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-10-11 00:10:35 +00:00
|
|
|
checksum = "f4f480b8f81512e825f337ad51e94c1eb5d3bbdf2b363dcd01e2b19a9ffe3f8e"
|
2020-10-23 04:16:33 +00:00
|
|
|
dependencies = [
|
|
|
|
"proc-macro2",
|
|
|
|
"quote",
|
|
|
|
"syn",
|
|
|
|
]
|
|
|
|
|
2020-07-15 05:04:09 +00:00
|
|
|
[[package]]
|
|
|
|
name = "tracing-core"
|
2021-10-05 03:53:18 +00:00
|
|
|
version = "0.1.21"
|
2020-07-15 05:04:09 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-10-05 03:53:18 +00:00
|
|
|
checksum = "1f4ed65637b8390770814083d20756f87bfa2c21bf2f110babdc5438351746e4"
|
2020-07-15 05:04:09 +00:00
|
|
|
dependencies = [
|
|
|
|
"lazy_static",
|
|
|
|
]
|
|
|
|
|
2021-11-16 00:46:12 +00:00
|
|
|
[[package]]
|
|
|
|
name = "tracing-futures"
|
|
|
|
version = "0.2.5"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
checksum = "97d095ae15e245a057c8e8451bab9b3ee1e1f68e9ba2b4fbc18d0ac5237835f2"
|
|
|
|
dependencies = [
|
2022-01-11 01:35:56 +00:00
|
|
|
"pin-project 1.0.10",
|
2021-11-16 00:46:12 +00:00
|
|
|
"tracing",
|
|
|
|
]
|
|
|
|
|
2020-10-23 04:16:33 +00:00
|
|
|
[[package]]
|
|
|
|
name = "tracing-log"
|
2021-03-02 05:59:49 +00:00
|
|
|
version = "0.1.2"
|
2020-10-23 04:16:33 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-03-02 05:59:49 +00:00
|
|
|
checksum = "a6923477a48e41c1951f1999ef8bb5a3023eb723ceadafe78ffb65dc366761e3"
|
2020-10-23 04:16:33 +00:00
|
|
|
dependencies = [
|
|
|
|
"lazy_static",
|
2020-12-09 01:34:58 +00:00
|
|
|
"log",
|
2020-10-23 04:16:33 +00:00
|
|
|
"tracing-core",
|
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "tracing-subscriber"
|
2022-01-11 01:35:56 +00:00
|
|
|
version = "0.3.5"
|
2020-10-23 04:16:33 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2022-01-11 01:35:56 +00:00
|
|
|
checksum = "5d81bfa81424cc98cb034b837c985b7a290f592e5b4322f353f94a0ab0f9f594"
|
2020-10-23 04:16:33 +00:00
|
|
|
dependencies = [
|
2021-12-22 06:17:14 +00:00
|
|
|
"ansi_term",
|
2020-10-23 04:16:33 +00:00
|
|
|
"lazy_static",
|
|
|
|
"matchers",
|
|
|
|
"regex",
|
|
|
|
"sharded-slab",
|
2020-12-09 01:34:58 +00:00
|
|
|
"smallvec",
|
2020-10-23 04:16:33 +00:00
|
|
|
"thread_local",
|
2020-09-29 03:46:54 +00:00
|
|
|
"tracing",
|
2020-10-23 04:16:33 +00:00
|
|
|
"tracing-core",
|
|
|
|
"tracing-log",
|
2020-09-29 03:46:54 +00:00
|
|
|
]
|
|
|
|
|
2019-12-09 11:39:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "trackable"
|
2021-05-04 00:44:05 +00:00
|
|
|
version = "1.2.0"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-05-04 00:44:05 +00:00
|
|
|
checksum = "017e2a1a93718e4e8386d037cfb8add78f1d690467f4350fb582f55af1203167"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2020-05-10 09:56:31 +00:00
|
|
|
"trackable_derive",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "trackable_derive"
|
2020-05-17 11:16:48 +00:00
|
|
|
version = "1.0.0"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2020-05-17 11:16:48 +00:00
|
|
|
checksum = "ebeb235c5847e2f82cfe0f07eb971d1e5f6804b18dac2ae16349cc604380f82f"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2020-05-17 11:16:48 +00:00
|
|
|
"quote",
|
|
|
|
"syn",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "tree_hash"
|
2021-11-29 03:57:54 +00:00
|
|
|
version = "0.4.1"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2021-07-09 06:15:32 +00:00
|
|
|
"beacon_chain",
|
2021-09-03 01:10:25 +00:00
|
|
|
"eth2_hashing 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2021-11-29 03:57:54 +00:00
|
|
|
"eth2_ssz",
|
2021-11-24 00:28:30 +00:00
|
|
|
"eth2_ssz_derive 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2021-10-14 02:58:11 +00:00
|
|
|
"ethereum-types 0.12.1",
|
2020-05-10 09:56:31 +00:00
|
|
|
"rand 0.7.3",
|
2020-12-09 01:34:58 +00:00
|
|
|
"smallvec",
|
2021-11-24 00:28:30 +00:00
|
|
|
"tree_hash_derive 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2020-05-10 09:56:31 +00:00
|
|
|
"types",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "tree_hash_derive"
|
Implement SSZ union type (#2579)
## Issue Addressed
NA
## Proposed Changes
Implements the "union" type from the SSZ spec for `ssz`, `ssz_derive`, `tree_hash` and `tree_hash_derive` so it may be derived for `enums`:
https://github.com/ethereum/consensus-specs/blob/v1.1.0-beta.3/ssz/simple-serialize.md#union
The union type is required for the merge, since the `Transaction` type is defined as a single-variant union `Union[OpaqueTransaction]`.
### Crate Updates
This PR will (hopefully) cause CI to publish new versions for the following crates:
- `eth2_ssz_derive`: `0.2.1` -> `0.3.0`
- `eth2_ssz`: `0.3.0` -> `0.4.0`
- `eth2_ssz_types`: `0.2.0` -> `0.2.1`
- `tree_hash`: `0.3.0` -> `0.4.0`
- `tree_hash_derive`: `0.3.0` -> `0.4.0`
These these crates depend on each other, I've had to add a workspace-level `[patch]` for these crates. A follow-up PR will need to remove this patch, ones the new versions are published.
### Union Behaviors
We already had SSZ `Encode` and `TreeHash` derive for enums, however it just did a "transparent" pass-through of the inner value. Since the "union" decoding from the spec is in conflict with the transparent method, I've required that all `enum` have exactly one of the following enum-level attributes:
#### SSZ
- `#[ssz(enum_behaviour = "union")]`
- matches the spec used for the merge
- `#[ssz(enum_behaviour = "transparent")]`
- maintains existing functionality
- not supported for `Decode` (never was)
#### TreeHash
- `#[tree_hash(enum_behaviour = "union")]`
- matches the spec used for the merge
- `#[tree_hash(enum_behaviour = "transparent")]`
- maintains existing functionality
This means that we can maintain the existing transparent behaviour, but all existing users will get a compile-time error until they explicitly opt-in to being transparent.
### Legacy Option Encoding
Before this PR, we already had a union-esque encoding for `Option<T>`. However, this was with the *old* SSZ spec where the union selector was 4 bytes. During merge specification, the spec was changed to use 1 byte for the selector.
Whilst the 4-byte `Option` encoding was never used in the spec, we used it in our database. Writing a migrate script for all occurrences of `Option` in the database would be painful, especially since it's used in the `CommitteeCache`. To avoid the migrate script, I added a serde-esque `#[ssz(with = "module")]` field-level attribute to `ssz_derive` so that we can opt into the 4-byte encoding on a field-by-field basis.
The `ssz::legacy::four_byte_impl!` macro allows a one-liner to define the module required for the `#[ssz(with = "module")]` for some `Option<T> where T: Encode + Decode`.
Notably, **I have removed `Encode` and `Decode` impls for `Option`**. I've done this to force a break on downstream users. Like I mentioned, `Option` isn't used in the spec so I don't think it'll be *that* annoying. I think it's nicer than quietly having two different union implementations or quietly breaking the existing `Option` impl.
### Crate Publish Ordering
I've modified the order in which CI publishes crates to ensure that we don't publish a crate without ensuring we already published a crate that it depends upon.
## TODO
- [ ] Queue a follow-up `[patch]`-removing PR.
2021-09-25 05:58:36 +00:00
|
|
|
version = "0.4.0"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2021-12-13 20:43:22 +00:00
|
|
|
"darling",
|
2020-05-17 11:16:48 +00:00
|
|
|
"quote",
|
|
|
|
"syn",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
2021-11-24 00:28:30 +00:00
|
|
|
[[package]]
|
|
|
|
name = "tree_hash_derive"
|
|
|
|
version = "0.4.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
checksum = "3cd22d128157837a4434bb51119aef11103f17bfe8c402ce688cf25aa1e608ad"
|
|
|
|
dependencies = [
|
2021-12-13 20:43:22 +00:00
|
|
|
"darling",
|
2021-11-24 00:28:30 +00:00
|
|
|
"quote",
|
|
|
|
"syn",
|
|
|
|
]
|
|
|
|
|
2021-06-03 01:11:33 +00:00
|
|
|
[[package]]
|
|
|
|
name = "trust-dns-proto"
|
|
|
|
version = "0.20.3"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
checksum = "ad0d7f5db438199a6e2609debe3f69f808d074e0a2888ee0bccb45fe234d03f4"
|
|
|
|
dependencies = [
|
|
|
|
"async-trait",
|
2021-11-18 05:08:42 +00:00
|
|
|
"cfg-if",
|
2021-06-03 01:11:33 +00:00
|
|
|
"data-encoding",
|
|
|
|
"enum-as-inner",
|
|
|
|
"futures-channel",
|
|
|
|
"futures-io",
|
|
|
|
"futures-util",
|
|
|
|
"idna",
|
|
|
|
"ipnet",
|
|
|
|
"lazy_static",
|
|
|
|
"log",
|
|
|
|
"rand 0.8.4",
|
|
|
|
"smallvec",
|
|
|
|
"thiserror",
|
|
|
|
"tinyvec",
|
2021-08-17 01:00:24 +00:00
|
|
|
"tokio",
|
2021-06-03 01:11:33 +00:00
|
|
|
"url",
|
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "trust-dns-resolver"
|
|
|
|
version = "0.20.3"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
checksum = "f6ad17b608a64bd0735e67bde16b0636f8aa8591f831a25d18443ed00a699770"
|
|
|
|
dependencies = [
|
2021-11-18 05:08:42 +00:00
|
|
|
"cfg-if",
|
2021-06-03 01:11:33 +00:00
|
|
|
"futures-util",
|
|
|
|
"ipconfig",
|
|
|
|
"lazy_static",
|
|
|
|
"log",
|
|
|
|
"lru-cache",
|
|
|
|
"parking_lot",
|
|
|
|
"resolv-conf",
|
|
|
|
"smallvec",
|
|
|
|
"thiserror",
|
2021-08-17 01:00:24 +00:00
|
|
|
"tokio",
|
2021-06-03 01:11:33 +00:00
|
|
|
"trust-dns-proto",
|
|
|
|
]
|
|
|
|
|
2019-12-09 11:39:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "try-lock"
|
2020-07-11 02:35:59 +00:00
|
|
|
version = "0.2.3"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2020-07-11 02:35:59 +00:00
|
|
|
checksum = "59547bce71d9c38b83d9c0e92b6066c4253371f15005def0c30d9657f50c7642"
|
2019-12-09 11:39:44 +00:00
|
|
|
|
2021-11-16 00:46:12 +00:00
|
|
|
[[package]]
|
|
|
|
name = "tungstenite"
|
|
|
|
version = "0.12.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
checksum = "8ada8297e8d70872fa9a551d93250a9f407beb9f37ef86494eb20012a2ff7c24"
|
|
|
|
dependencies = [
|
|
|
|
"base64 0.13.0",
|
|
|
|
"byteorder",
|
|
|
|
"bytes",
|
|
|
|
"http",
|
|
|
|
"httparse",
|
|
|
|
"input_buffer",
|
|
|
|
"log",
|
|
|
|
"rand 0.8.4",
|
|
|
|
"sha-1",
|
|
|
|
"url",
|
|
|
|
"utf-8",
|
|
|
|
]
|
|
|
|
|
2020-09-29 03:46:54 +00:00
|
|
|
[[package]]
|
|
|
|
name = "tungstenite"
|
2021-11-18 05:08:42 +00:00
|
|
|
version = "0.14.0"
|
2020-09-29 03:46:54 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-11-18 05:08:42 +00:00
|
|
|
checksum = "a0b2d8558abd2e276b0a8df5c05a2ec762609344191e5fd23e292c910e9165b5"
|
2020-09-29 03:46:54 +00:00
|
|
|
dependencies = [
|
2021-02-10 23:29:49 +00:00
|
|
|
"base64 0.13.0",
|
2020-09-29 03:46:54 +00:00
|
|
|
"byteorder",
|
2021-10-29 01:59:29 +00:00
|
|
|
"bytes",
|
2021-02-10 23:29:49 +00:00
|
|
|
"http",
|
2020-09-29 03:46:54 +00:00
|
|
|
"httparse",
|
2020-12-09 01:34:58 +00:00
|
|
|
"log",
|
2021-07-05 00:54:17 +00:00
|
|
|
"rand 0.8.4",
|
2021-03-08 06:27:49 +00:00
|
|
|
"sha-1",
|
2021-11-18 05:08:42 +00:00
|
|
|
"thiserror",
|
2020-12-09 01:34:58 +00:00
|
|
|
"url",
|
2020-09-29 03:46:54 +00:00
|
|
|
"utf-8",
|
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "twoway"
|
|
|
|
version = "0.1.8"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
checksum = "59b11b2b5241ba34be09c3cc85a36e56e48f9888862e19cedf23336d35316ed1"
|
|
|
|
dependencies = [
|
|
|
|
"memchr",
|
|
|
|
]
|
|
|
|
|
2019-12-09 11:39:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "typenum"
|
2022-01-11 01:35:56 +00:00
|
|
|
version = "1.15.0"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2022-01-11 01:35:56 +00:00
|
|
|
checksum = "dcf81ac59edc17cc8697ff311e8f5ef2d99fcbd9817b34cec66f90b6c3dfd987"
|
2019-12-09 11:39:44 +00:00
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "types"
|
Initial work towards v0.2.0 (#924)
* Remove ping protocol
* Initial renaming of network services
* Correct rebasing relative to latest master
* Start updating types
* Adds HashMapDelay struct to utils
* Initial network restructure
* Network restructure. Adds new types for v0.2.0
* Removes build artefacts
* Shift validation to beacon chain
* Temporarily remove gossip validation
This is to be updated to match current optimisation efforts.
* Adds AggregateAndProof
* Begin rebuilding pubsub encoding/decoding
* Signature hacking
* Shift gossipsup decoding into eth2_libp2p
* Existing EF tests passing with fake_crypto
* Shifts block encoding/decoding into RPC
* Delete outdated API spec
* All release tests passing bar genesis state parsing
* Update and test YamlConfig
* Update to spec v0.10 compatible BLS
* Updates to BLS EF tests
* Add EF test for AggregateVerify
And delete unused hash2curve tests for uncompressed points
* Update EF tests to v0.10.1
* Use optional block root correctly in block proc
* Use genesis fork in deposit domain. All tests pass
* Fast aggregate verify test
* Update REST API docs
* Fix unused import
* Bump spec tags to v0.10.1
* Add `seconds_per_eth1_block` to chainspec
* Update to timestamp based eth1 voting scheme
* Return None from `get_votes_to_consider` if block cache is empty
* Handle overflows in `is_candidate_block`
* Revert to failing tests
* Fix eth1 data sets test
* Choose default vote according to spec
* Fix collect_valid_votes tests
* Fix `get_votes_to_consider` to choose all eligible blocks
* Uncomment winning_vote tests
* Add comments; remove unused code
* Reduce seconds_per_eth1_block for simulation
* Addressed review comments
* Add test for default vote case
* Fix logs
* Remove unused functions
* Meter default eth1 votes
* Fix comments
* Progress on attestation service
* Address review comments; remove unused dependency
* Initial work on removing libp2p lock
* Add LRU caches to store (rollup)
* Update attestation validation for DB changes (WIP)
* Initial version of should_forward_block
* Scaffold
* Progress on attestation validation
Also, consolidate prod+testing slot clocks so that they share much
of the same implementation and can both handle sub-slot time changes.
* Removes lock from libp2p service
* Completed network lock removal
* Finish(?) attestation processing
* Correct network termination future
* Add slot check to block check
* Correct fmt issues
* Remove Drop implementation for network service
* Add first attempt at attestation proc. re-write
* Add version 2 of attestation processing
* Minor fixes
* Add validator pubkey cache
* Make get_indexed_attestation take a committee
* Link signature processing into new attn verification
* First working version
* Ensure pubkey cache is updated
* Add more metrics, slight optimizations
* Clone committee cache during attestation processing
* Update shuffling cache during block processing
* Remove old commented-out code
* Fix shuffling cache insert bug
* Used indexed attestation in fork choice
* Restructure attn processing, add metrics
* Add more detailed metrics
* Tidy, fix failing tests
* Fix failing tests, tidy
* Address reviewers suggestions
* Disable/delete two outdated tests
* Modification of validator for subscriptions
* Add slot signing to validator client
* Further progress on validation subscription
* Adds necessary validator subscription functionality
* Add new Pubkeys struct to signature_sets
* Refactor with functional approach
* Update beacon chain
* Clean up validator <-> beacon node http types
* Add aggregator status to ValidatorDuty
* Impl Clone for manual slot clock
* Fix minor errors
* Further progress validator client subscription
* Initial subscription and aggregation handling
* Remove decompressed member from pubkey bytes
* Progress to modifying val client for attestation aggregation
* First draft of validator client upgrade for aggregate attestations
* Add hashmap for indices lookup
* Add state cache, remove store cache
* Only build the head committee cache
* Removes lock on a network channel
* Partially implement beacon node subscription http api
* Correct compilation issues
* Change `get_attesting_indices` to use Vec
* Fix failing test
* Partial implementation of timer
* Adds timer, removes exit_future, http api to op pool
* Partial multiple aggregate attestation handling
* Permits bulk messages accross gossipsub network channel
* Correct compile issues
* Improve gosispsub messaging and correct rest api helpers
* Added global gossipsub subscriptions
* Update validator subscriptions data structs
* Tidy
* Re-structure validator subscriptions
* Initial handling of subscriptions
* Re-structure network service
* Add pubkey cache persistence file
* Add more comments
* Integrate persistence file into builder
* Add pubkey cache tests
* Add HashSetDelay and introduce into attestation service
* Handles validator subscriptions
* Add data_dir to beacon chain builder
* Remove Option in pubkey cache persistence file
* Ensure consistency between datadir/data_dir
* Fix failing network test
* Peer subnet discovery gets queued for future subscriptions
* Reorganise attestation service functions
* Initial wiring of attestation service
* First draft of attestation service timing logic
* Correct minor typos
* Tidy
* Fix todos
* Improve tests
* Add PeerInfo to connected peers mapping
* Fix compile error
* Fix compile error from merge
* Split up block processing metrics
* Tidy
* Refactor get_pubkey_from_state
* Remove commented-out code
* Rename state_cache -> checkpoint_cache
* Rename Checkpoint -> Snapshot
* Tidy, add comments
* Tidy up find_head function
* Change some checkpoint -> snapshot
* Add tests
* Expose max_len
* Remove dead code
* Tidy
* Fix bug
* Add sync-speed metric
* Add first attempt at VerifiableBlock
* Start integrating into beacon chain
* Integrate VerifiableBlock
* Rename VerifableBlock -> PartialBlockVerification
* Add start of typed methods
* Add progress
* Add further progress
* Rename structs
* Add full block verification to block_processing.rs
* Further beacon chain integration
* Update checks for gossip
* Add todo
* Start adding segement verification
* Add passing chain segement test
* Initial integration with batch sync
* Minor changes
* Tidy, add more error checking
* Start adding chain_segment tests
* Finish invalid signature tests
* Include single and gossip verified blocks in tests
* Add gossip verification tests
* Start adding docs
* Finish adding comments to block_processing.rs
* Rename block_processing.rs -> block_verification
* Start removing old block processing code
* Fixes beacon_chain compilation
* Fix project-wide compile errors
* Remove old code
* Correct code to pass all tests
* Fix bug with beacon proposer index
* Fix shim for BlockProcessingError
* Only process one epoch at a time
* Fix loop in chain segment processing
* Correct tests from master merge
* Add caching for state.eth1_data_votes
* Add BeaconChain::validator_pubkey
* Revert "Add caching for state.eth1_data_votes"
This reverts commit cd73dcd6434fb8d8e6bf30c5356355598ea7b78e.
Co-authored-by: Grant Wuerker <gwuerker@gmail.com>
Co-authored-by: Michael Sproul <michael@sigmaprime.io>
Co-authored-by: Michael Sproul <micsproul@gmail.com>
Co-authored-by: pawan <pawandhananjay@gmail.com>
Co-authored-by: Paul Hauner <paul@paulhauner.com>
2020-03-17 06:24:44 +00:00
|
|
|
version = "0.2.0"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2021-10-14 02:58:11 +00:00
|
|
|
"arbitrary",
|
2021-07-09 06:15:32 +00:00
|
|
|
"beacon_chain",
|
2020-05-10 09:56:31 +00:00
|
|
|
"bls",
|
|
|
|
"cached_tree_hash",
|
|
|
|
"compare_fields",
|
|
|
|
"compare_fields_derive",
|
|
|
|
"criterion",
|
2020-06-18 11:06:34 +00:00
|
|
|
"derivative",
|
2021-09-03 01:10:25 +00:00
|
|
|
"eth2_hashing 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2020-05-10 09:56:31 +00:00
|
|
|
"eth2_interop_keypairs",
|
2021-11-29 22:32:53 +00:00
|
|
|
"eth2_serde_utils",
|
2021-11-29 03:57:54 +00:00
|
|
|
"eth2_ssz",
|
2021-11-24 00:28:30 +00:00
|
|
|
"eth2_ssz_derive 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2021-11-29 03:57:54 +00:00
|
|
|
"eth2_ssz_types",
|
2021-10-14 02:58:11 +00:00
|
|
|
"ethereum-types 0.12.1",
|
2020-10-28 22:19:38 +00:00
|
|
|
"hex",
|
2020-05-10 09:56:31 +00:00
|
|
|
"int_to_bytes",
|
2021-08-17 01:00:24 +00:00
|
|
|
"itertools",
|
2020-11-18 23:31:37 +00:00
|
|
|
"lazy_static",
|
2020-12-09 01:34:58 +00:00
|
|
|
"log",
|
2021-07-09 06:15:32 +00:00
|
|
|
"parking_lot",
|
2020-05-10 09:56:31 +00:00
|
|
|
"rand 0.7.3",
|
2021-02-10 23:29:49 +00:00
|
|
|
"rand_xorshift",
|
2020-05-10 09:56:31 +00:00
|
|
|
"rayon",
|
2020-09-29 03:46:54 +00:00
|
|
|
"regex",
|
2020-05-18 06:25:16 +00:00
|
|
|
"rusqlite",
|
2020-05-10 09:56:31 +00:00
|
|
|
"safe_arith",
|
|
|
|
"serde",
|
|
|
|
"serde_derive",
|
|
|
|
"serde_yaml",
|
|
|
|
"slog",
|
2021-09-22 00:37:28 +00:00
|
|
|
"state_processing",
|
2021-07-09 06:15:32 +00:00
|
|
|
"superstruct",
|
2020-05-10 09:56:31 +00:00
|
|
|
"swap_or_not_shuffle",
|
|
|
|
"tempfile",
|
|
|
|
"test_random_derive",
|
2021-11-29 03:57:54 +00:00
|
|
|
"tree_hash",
|
2021-11-24 00:28:30 +00:00
|
|
|
"tree_hash_derive 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
2021-05-19 23:05:16 +00:00
|
|
|
[[package]]
|
|
|
|
name = "ucd-trie"
|
|
|
|
version = "0.1.3"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
checksum = "56dee185309b50d1f11bfedef0fe6d036842e3fb77413abef29f8f8d1c5d4c1c"
|
|
|
|
|
2019-12-09 11:39:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "uint"
|
2020-08-18 11:23:08 +00:00
|
|
|
version = "0.8.5"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2020-08-18 11:23:08 +00:00
|
|
|
checksum = "9db035e67dfaf7edd9aebfe8676afcd63eed53c8a4044fed514c8cccf1835177"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2020-05-17 11:16:48 +00:00
|
|
|
"byteorder",
|
|
|
|
"crunchy",
|
2020-05-10 09:56:31 +00:00
|
|
|
"rustc-hex",
|
|
|
|
"static_assertions",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
2021-07-05 00:54:17 +00:00
|
|
|
[[package]]
|
|
|
|
name = "uint"
|
|
|
|
version = "0.9.1"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
checksum = "6470ab50f482bde894a037a57064480a246dbfdd5960bd65a44824693f08da5f"
|
|
|
|
dependencies = [
|
2021-10-14 02:58:11 +00:00
|
|
|
"arbitrary",
|
2021-07-05 00:54:17 +00:00
|
|
|
"byteorder",
|
|
|
|
"crunchy",
|
|
|
|
"hex",
|
|
|
|
"static_assertions",
|
|
|
|
]
|
|
|
|
|
2020-05-29 02:03:30 +00:00
|
|
|
[[package]]
|
|
|
|
name = "unescape"
|
|
|
|
version = "0.1.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
checksum = "ccb97dac3243214f8d8507998906ca3e2e0b900bf9bf4870477f125b82e68f6e"
|
|
|
|
|
2019-12-09 11:39:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "unicase"
|
|
|
|
version = "2.6.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2020-05-10 09:56:31 +00:00
|
|
|
checksum = "50f37be617794602aabbeee0be4f259dc1778fabe05e2d67ee8f79326d5cb4f6"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2020-12-09 01:34:58 +00:00
|
|
|
"version_check",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "unicode-bidi"
|
2021-10-11 00:10:35 +00:00
|
|
|
version = "0.3.7"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-10-11 00:10:35 +00:00
|
|
|
checksum = "1a01404663e3db436ed2746d9fefef640d868edae3cceb81c3b8d5732fda678f"
|
2019-12-09 11:39:44 +00:00
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "unicode-normalization"
|
2021-07-05 00:54:17 +00:00
|
|
|
version = "0.1.19"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-07-05 00:54:17 +00:00
|
|
|
checksum = "d54590932941a9e9266f0832deed84ebe1bf2e4c9e4a3554d393d18f5e854bf9"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2020-07-06 01:55:56 +00:00
|
|
|
"tinyvec",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
2020-05-17 11:16:48 +00:00
|
|
|
name = "unicode-segmentation"
|
2021-06-03 01:11:33 +00:00
|
|
|
version = "1.8.0"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-06-03 01:11:33 +00:00
|
|
|
checksum = "8895849a949e7845e06bd6dc1aa51731a103c42707010a5b591c0038fb73385b"
|
2019-12-09 11:39:44 +00:00
|
|
|
|
|
|
|
[[package]]
|
2020-05-17 11:16:48 +00:00
|
|
|
name = "unicode-width"
|
2021-10-01 01:23:55 +00:00
|
|
|
version = "0.1.9"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-10-01 01:23:55 +00:00
|
|
|
checksum = "3ed742d4ea2bd1176e236172c8429aaf54486e7ac098db29ffe6529e0ce50973"
|
2019-12-09 11:39:44 +00:00
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "unicode-xid"
|
2021-05-04 00:44:05 +00:00
|
|
|
version = "0.2.2"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-05-04 00:44:05 +00:00
|
|
|
checksum = "8ccb82d61f80a663efe1f787a51b16b5a51e3314d6ac365b08639f52387b33f3"
|
2019-12-09 11:39:44 +00:00
|
|
|
|
2020-06-29 10:25:42 +00:00
|
|
|
[[package]]
|
|
|
|
name = "universal-hash"
|
2021-08-17 01:00:24 +00:00
|
|
|
version = "0.4.1"
|
2020-06-29 10:25:42 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-08-17 01:00:24 +00:00
|
|
|
checksum = "9f214e8f697e925001e66ec2c6e37a4ef93f0f78c2eed7814394e10c62025b05"
|
2020-06-29 10:25:42 +00:00
|
|
|
dependencies = [
|
2021-07-13 00:48:33 +00:00
|
|
|
"generic-array",
|
|
|
|
"subtle",
|
2020-06-29 10:25:42 +00:00
|
|
|
]
|
|
|
|
|
2020-08-27 07:04:12 +00:00
|
|
|
[[package]]
|
|
|
|
name = "unsigned-varint"
|
2021-02-10 23:29:49 +00:00
|
|
|
version = "0.6.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
checksum = "35581ff83d4101e58b582e607120c7f5ffb17e632a980b1f38334d76b36908b2"
|
2020-08-30 13:06:50 +00:00
|
|
|
dependencies = [
|
2021-10-29 01:59:29 +00:00
|
|
|
"bytes",
|
2021-07-09 03:20:24 +00:00
|
|
|
"tokio-util",
|
2020-08-30 13:06:50 +00:00
|
|
|
]
|
2020-08-27 07:04:12 +00:00
|
|
|
|
2021-03-02 05:59:49 +00:00
|
|
|
[[package]]
|
|
|
|
name = "unsigned-varint"
|
2021-11-18 05:08:42 +00:00
|
|
|
version = "0.7.1"
|
2021-03-02 05:59:49 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-11-18 05:08:42 +00:00
|
|
|
checksum = "d86a8dc7f45e4c1b0d30e43038c38f274e77af056aa5f74b93c2cf9eb3c1c836"
|
2021-03-02 05:59:49 +00:00
|
|
|
dependencies = [
|
|
|
|
"asynchronous-codec",
|
2021-10-29 01:59:29 +00:00
|
|
|
"bytes",
|
2021-03-02 05:59:49 +00:00
|
|
|
]
|
|
|
|
|
2019-12-09 11:39:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "untrusted"
|
2020-05-10 09:56:31 +00:00
|
|
|
version = "0.7.1"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2020-05-10 09:56:31 +00:00
|
|
|
checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a"
|
2019-12-09 11:39:44 +00:00
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "url"
|
2021-07-05 00:54:17 +00:00
|
|
|
version = "2.2.2"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-07-05 00:54:17 +00:00
|
|
|
checksum = "a507c383b2d33b5fc35d1861e77e6b383d158b2da5e14fe51b83dfedf6fd578c"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2020-11-13 06:06:35 +00:00
|
|
|
"form_urlencoded",
|
2020-12-09 01:34:58 +00:00
|
|
|
"idna",
|
2020-05-10 09:56:31 +00:00
|
|
|
"matches",
|
2020-12-09 01:34:58 +00:00
|
|
|
"percent-encoding",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
2020-09-29 03:46:54 +00:00
|
|
|
[[package]]
|
|
|
|
name = "utf-8"
|
2021-05-04 00:44:05 +00:00
|
|
|
version = "0.7.6"
|
2020-09-29 03:46:54 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-05-04 00:44:05 +00:00
|
|
|
checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9"
|
2020-09-29 03:46:54 +00:00
|
|
|
|
2020-05-11 07:45:06 +00:00
|
|
|
[[package]]
|
|
|
|
name = "uuid"
|
2021-02-10 23:29:49 +00:00
|
|
|
version = "0.8.2"
|
2020-05-11 07:45:06 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-02-10 23:29:49 +00:00
|
|
|
checksum = "bc5cf98d8186244414c848017f0e2676b3fcb46807f6668a97dfe67359a3c4b7"
|
2020-05-11 07:45:06 +00:00
|
|
|
dependencies = [
|
2022-01-14 05:42:47 +00:00
|
|
|
"getrandom 0.2.4",
|
2020-05-11 07:45:06 +00:00
|
|
|
"serde",
|
|
|
|
]
|
|
|
|
|
2019-12-09 11:39:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "validator_client"
|
2020-11-18 00:44:28 +00:00
|
|
|
version = "0.3.5"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2020-07-22 09:34:55 +00:00
|
|
|
"account_utils",
|
2020-10-05 10:50:43 +00:00
|
|
|
"bincode",
|
2020-05-10 09:56:31 +00:00
|
|
|
"bls",
|
|
|
|
"clap",
|
Wallet-based, encrypted key management (#1138)
* Update hashmap hashset to stable futures
* Adds panic test to hashset delay
* Port remote_beacon_node to stable futures
* Fix lcli merge conflicts
* Non rpc stuff compiles
* Remove padding
* Add error enum, zeroize more things
* Fix comment
* protocol.rs compiles
* Port websockets, timer and notifier to stable futures (#1035)
* Fix lcli
* Port timer to stable futures
* Fix timer
* Port websocket_server to stable futures
* Port notifier to stable futures
* Add TODOS
* Port remote_beacon_node to stable futures
* Partial eth2-libp2p stable future upgrade
* Finished first round of fighting RPC types
* Further progress towards porting eth2-libp2p adds caching to discovery
* Update behaviour
* Add keystore builder
* Remove keystore stuff from val client
* Add more tests, comments
* RPC handler to stable futures
* Update RPC to master libp2p
* Add more comments, test vectors
* Network service additions
* Progress on improving JSON validation
* More JSON verification
* Start moving JSON into own mod
* Remove old code
* Add more tests, reader/writers
* Tidy
* Move keystore into own file
* Move more logic into keystore file
* Tidy
* Tidy
* Fix the fallback transport construction (#1102)
* Allow for odd-character hex
* Correct warning
* Remove hashmap delay
* Compiling version of eth2-libp2p
* Update all crates versions
* Fix conversion function and add tests (#1113)
* Add more json missing field checks
* Use scrypt by default
* Tidy, address comments
* Test path and uuid in vectors
* Fix comment
* Add checks for kdf params
* Enforce empty kdf message
* Port validator_client to stable futures (#1114)
* Add PH & MS slot clock changes
* Account for genesis time
* Add progress on duties refactor
* Add simple is_aggregator bool to val subscription
* Start work on attestation_verification.rs
* Add progress on ObservedAttestations
* Progress with ObservedAttestations
* Fix tests
* Add observed attestations to the beacon chain
* Add attestation observation to processing code
* Add progress on attestation verification
* Add first draft of ObservedAttesters
* Add more tests
* Add observed attesters to beacon chain
* Add observers to attestation processing
* Add more attestation verification
* Create ObservedAggregators map
* Remove commented-out code
* Add observed aggregators into chain
* Add progress
* Finish adding features to attestation verification
* Ensure beacon chain compiles
* Link attn verification into chain
* Integrate new attn verification in chain
* Remove old attestation processing code
* Start trying to fix beacon_chain tests
* Split adding into pools into two functions
* Add aggregation to harness
* Get test harness working again
* Adjust the number of aggregators for test harness
* Fix edge-case in harness
* Integrate new attn processing in network
* Fix compile bug in validator_client
* Update validator API endpoints
* Fix aggreagation in test harness
* Fix enum thing
* Fix attestation observation bug:
* Patch failing API tests
* Start adding comments to attestation verification
* Remove unused attestation field
* Unify "is block known" logic
* Update comments
* Supress fork choice errors for network processing
* Add todos
* Tidy
* Add gossip attn tests
* Disallow test harness to produce old attns
* Comment out in-progress tests
* Partially address pruning tests
* Fix failing store test
* Add aggregate tests
* Add comments about which spec conditions we check
* Dont re-aggregate
* Split apart test harness attn production
* Fix compile error in network
* Make progress on commented-out test
* Fix skipping attestation test
* Add fork choice verification tests
* Tidy attn tests, remove dead code
* Remove some accidentally added code
* Fix clippy lint
* Rename test file
* Add block tests, add cheap block proposer check
* Rename block testing file
* Add observed_block_producers
* Tidy
* Switch around block signature verification
* Finish block testing
* Remove gossip from signature tests
* First pass of self review
* Fix deviation in spec
* Update test spec tags
* Start moving over to hashset
* Finish moving observed attesters to hashmap
* Move aggregation pool over to hashmap
* Make fc attn borrow again
* Fix rest_api compile error
* Fix missing comments
* Fix monster test
* Uncomment increasing slots test
* Address remaining comments
* Remove unsafe, use cfg test
* Remove cfg test flag
* Fix dodgy comment
* Revert "Update hashmap hashset to stable futures"
This reverts commit d432378a3cc5cd67fc29c0b15b96b886c1323554.
* Revert "Adds panic test to hashset delay"
This reverts commit 281502396fc5b90d9c421a309c2c056982c9525b.
* Ported attestation_service
* Ported duties_service
* Ported fork_service
* More ports
* Port block_service
* Minor fixes
* VC compiles
* Update TODOS
* Borrow self where possible
* Ignore aggregates that are already known.
* Unify aggregator modulo logic
* Fix typo in logs
* Refactor validator subscription logic
* Avoid reproducing selection proof
* Skip HTTP call if no subscriptions
* Rename DutyAndState -> DutyAndProof
* Tidy logs
* Print root as dbg
* Fix compile errors in tests
* Fix compile error in test
* Re-Fix attestation and duties service
* Minor fixes
Co-authored-by: Paul Hauner <paul@paulhauner.com>
* Expose json_keystore mod
* First commits on path derivation
* Progress with implementation
* More progress
* Passing intermediate test vectors
* Tidy, add comments
* Add DerivedKey structs
* Move key derivation into own crate
* Add zeroize structs
* Return error for empty seed
* Add tests
* Tidy
* First commits on path derivation
* Progress with implementation
* Move key derivation into own crate
* Start defining JSON wallet
* Add progress
* Split out encrypt/decrypt
* First commits on path derivation
* Progress with implementation
* More progress
* Passing intermediate test vectors
* Tidy, add comments
* Add DerivedKey structs
* Move key derivation into own crate
* Add zeroize structs
* Return error for empty seed
* Add tests
* Tidy
* Add progress
* Replace some password usage with slice
* First commits on path derivation
* Progress with implementation
* More progress
* Passing intermediate test vectors
* Tidy, add comments
* Add DerivedKey structs
* Move key derivation into own crate
* Add zeroize structs
* Return error for empty seed
* Add tests
* Tidy
* Add progress
* Expose PlainText struct
* First commits on path derivation
* Progress with implementation
* More progress
* Passing intermediate test vectors
* Tidy, add comments
* Add DerivedKey structs
* Move key derivation into own crate
* Add zeroize structs
* Return error for empty seed
* Add tests
* Tidy
* Add builder
* Expose consts, remove Password
* Minor progress
* Expose SALT_SIZE
* First compiling version
* Add test vectors
* Network crate update to stable futures
* Move dbg assert statement
* Port account_manager to stable futures (#1121)
* Port account_manager to stable futures
* Run async fns in tokio environment
* Port rest_api crate to stable futures (#1118)
* Port rest_api lib to stable futures
* Reduce tokio features
* Update notifier to stable futures
* Builder update
* Further updates
* Add mnemonic, tidy
* Convert self referential async functions
* Tidy
* Add testing
* Add first attempt at validator_dir
* Present pubkey field
* stable futures fixes (#1124)
* Fix eth1 update functions
* Fix genesis and client
* Fix beacon node lib
* Return appropriate runtimes from environment
* Fix test rig
* Refactor eth1 service update
* Upgrade simulator to stable futures
* Lighthouse compiles on stable futures
* Add first pass of wallet manager
* Progress with CLI
* Remove println debugging statement
* Tidy output
* Tidy 600 perms
* Update libp2p service, start rpc test upgrade
* Add validator creation flow
* Update network crate for new libp2p
* Start tidying, adding comments
* Update tokio::codec to futures_codec (#1128)
* Further work towards RPC corrections
* Correct http timeout and network service select
* Add wallet mgr testing
* Shift LockedWallet into own file
* Add comments to fs
* Start integration into VC
* Use tokio runtime for libp2p
* Revert "Update tokio::codec to futures_codec (#1128)"
This reverts commit e57aea924acf5cbabdcea18895ac07e38a425ed7.
* Upgrade RPC libp2p tests
* Upgrade secio fallback test
* Add lcli keypair upgrade command
* Upgrade gossipsub examples
* Clean up RPC protocol
* Test fixes (#1133)
* Correct websocket timeout and run on os thread
* Fix network test
* Add --secrets-dir to VC
* Remove --legacy-keys from VC
* Clean up PR
* Correct tokio tcp move attestation service tests
* Upgrade attestation service tests
* Fix sim
* Correct network test
* Correct genesis test
* Start docs
* Add progress for validator generation
* Tidy error messages
* Test corrections
* Log info when block is received
* Modify logs and update attester service events
* Stable futures: fixes to vc, eth1 and account manager (#1142)
* Add local testnet scripts
* Remove whiteblock script
* Rename local testnet script
* Move spawns onto handle
* Fix VC panic
* Initial fix to block production issue
* Tidy block producer fix
* Tidy further
* Add local testnet clean script
* Run cargo fmt
* Tidy duties service
* Tidy fork service
* Tidy ForkService
* Tidy AttestationService
* Tidy notifier
* Ensure await is not suppressed in eth1
* Ensure await is not suppressed in account_manager
* Use .ok() instead of .unwrap_or(())
* RPC decoding test for proto
* Update discv5 and eth2-libp2p deps
* Run cargo fmt
* Pre-build keystores for sim
* Fix lcli double runtime issue (#1144)
* Handle stream termination and dialing peer errors
* Correct peer_info variant types
* Add progress on new deposit flow
* Remove unnecessary warnings
* Handle subnet unsubscription removal and improve logigng
* Add logs around ping
* Upgrade discv5 and improve logging
* Handle peer connection status for multiple connections
* Improve network service logging
* Add more incomplete progress
* Improve logging around peer manager
* Upgrade swarm poll centralise peer management
* Identify clients on error
* Fix `remove_peer` in sync (#1150)
* remove_peer removes from all chains
* Remove logs
* Fix early return from loop
* Improved logging, fix panic
* Partially correct tests
* Add deposit command
* Remove old validator directory
* Start adding AM tests
* Stable futures: Vc sync (#1149)
* Improve syncing heuristic
* Add comments
* Use safer method for tolerance
* Fix tests
* Binary testing progress
* Progress with CLI tests
* Use constants for flags
* More account manager testing
* Improve CLI tests
* Move upgrade-legacy-keypairs into account man
* Use rayon for VC key generation
* Add comments to `validator_dir`
* Add testing to validator_dir
* Add fix to eth1-sim
* Check errors in eth1-sim
* Fix mutability issue
* Ensure password file ends in .pass
* Add more tests to wallet manager
* Tidy deposit
* Tidy account manager
* Tidy account manager
* Remove panic
* Generate keypairs earlier in sim
* Tidy eth1-sime
* Try to fix eth1 sim
* Address review comments
* Fix typo in CLI command
* Update docs
* Disable eth1 sim
* Remove eth1 sim completely
Co-authored-by: Age Manning <Age@AgeManning.com>
Co-authored-by: pawanjay176 <pawandhananjay@gmail.com>
2020-05-18 09:01:45 +00:00
|
|
|
"clap_utils",
|
2020-05-10 09:56:31 +00:00
|
|
|
"deposit_contract",
|
2020-09-29 00:02:44 +00:00
|
|
|
"directory",
|
2021-07-05 00:54:17 +00:00
|
|
|
"dirs",
|
2020-05-10 09:56:31 +00:00
|
|
|
"environment",
|
2020-09-29 03:46:54 +00:00
|
|
|
"eth2",
|
2020-07-22 09:34:55 +00:00
|
|
|
"eth2_keystore",
|
2021-11-29 22:32:53 +00:00
|
|
|
"eth2_serde_utils",
|
2020-05-10 09:56:31 +00:00
|
|
|
"exit-future",
|
2021-05-19 23:05:16 +00:00
|
|
|
"filesystem",
|
2021-07-09 03:20:24 +00:00
|
|
|
"futures",
|
2020-10-28 22:19:38 +00:00
|
|
|
"hex",
|
2021-07-09 03:20:24 +00:00
|
|
|
"hyper",
|
2021-08-17 01:00:24 +00:00
|
|
|
"itertools",
|
2020-11-26 01:10:51 +00:00
|
|
|
"lazy_static",
|
2021-08-17 01:00:24 +00:00
|
|
|
"libsecp256k1 0.6.0",
|
2020-11-26 01:10:51 +00:00
|
|
|
"lighthouse_metrics",
|
2020-10-02 09:42:19 +00:00
|
|
|
"lighthouse_version",
|
2020-11-26 11:25:46 +00:00
|
|
|
"lockfile",
|
2021-05-26 05:58:41 +00:00
|
|
|
"monitoring_api",
|
2020-12-09 01:34:58 +00:00
|
|
|
"parking_lot",
|
2020-10-02 09:42:19 +00:00
|
|
|
"rand 0.7.3",
|
2021-09-16 03:26:33 +00:00
|
|
|
"reqwest",
|
2020-10-02 09:42:19 +00:00
|
|
|
"ring",
|
2021-03-17 05:09:57 +00:00
|
|
|
"safe_arith",
|
2021-05-04 01:59:51 +00:00
|
|
|
"sensitive_url",
|
2020-05-10 09:56:31 +00:00
|
|
|
"serde",
|
|
|
|
"serde_derive",
|
|
|
|
"serde_json",
|
2020-05-18 06:25:16 +00:00
|
|
|
"slashing_protection",
|
2020-05-10 09:56:31 +00:00
|
|
|
"slog",
|
|
|
|
"slot_clock",
|
2021-07-31 03:50:52 +00:00
|
|
|
"task_executor",
|
2020-10-02 09:42:19 +00:00
|
|
|
"tempfile",
|
2021-08-17 01:00:24 +00:00
|
|
|
"tokio",
|
2021-11-29 03:57:54 +00:00
|
|
|
"tree_hash",
|
2020-05-10 09:56:31 +00:00
|
|
|
"types",
|
2021-09-16 03:26:33 +00:00
|
|
|
"url",
|
Wallet-based, encrypted key management (#1138)
* Update hashmap hashset to stable futures
* Adds panic test to hashset delay
* Port remote_beacon_node to stable futures
* Fix lcli merge conflicts
* Non rpc stuff compiles
* Remove padding
* Add error enum, zeroize more things
* Fix comment
* protocol.rs compiles
* Port websockets, timer and notifier to stable futures (#1035)
* Fix lcli
* Port timer to stable futures
* Fix timer
* Port websocket_server to stable futures
* Port notifier to stable futures
* Add TODOS
* Port remote_beacon_node to stable futures
* Partial eth2-libp2p stable future upgrade
* Finished first round of fighting RPC types
* Further progress towards porting eth2-libp2p adds caching to discovery
* Update behaviour
* Add keystore builder
* Remove keystore stuff from val client
* Add more tests, comments
* RPC handler to stable futures
* Update RPC to master libp2p
* Add more comments, test vectors
* Network service additions
* Progress on improving JSON validation
* More JSON verification
* Start moving JSON into own mod
* Remove old code
* Add more tests, reader/writers
* Tidy
* Move keystore into own file
* Move more logic into keystore file
* Tidy
* Tidy
* Fix the fallback transport construction (#1102)
* Allow for odd-character hex
* Correct warning
* Remove hashmap delay
* Compiling version of eth2-libp2p
* Update all crates versions
* Fix conversion function and add tests (#1113)
* Add more json missing field checks
* Use scrypt by default
* Tidy, address comments
* Test path and uuid in vectors
* Fix comment
* Add checks for kdf params
* Enforce empty kdf message
* Port validator_client to stable futures (#1114)
* Add PH & MS slot clock changes
* Account for genesis time
* Add progress on duties refactor
* Add simple is_aggregator bool to val subscription
* Start work on attestation_verification.rs
* Add progress on ObservedAttestations
* Progress with ObservedAttestations
* Fix tests
* Add observed attestations to the beacon chain
* Add attestation observation to processing code
* Add progress on attestation verification
* Add first draft of ObservedAttesters
* Add more tests
* Add observed attesters to beacon chain
* Add observers to attestation processing
* Add more attestation verification
* Create ObservedAggregators map
* Remove commented-out code
* Add observed aggregators into chain
* Add progress
* Finish adding features to attestation verification
* Ensure beacon chain compiles
* Link attn verification into chain
* Integrate new attn verification in chain
* Remove old attestation processing code
* Start trying to fix beacon_chain tests
* Split adding into pools into two functions
* Add aggregation to harness
* Get test harness working again
* Adjust the number of aggregators for test harness
* Fix edge-case in harness
* Integrate new attn processing in network
* Fix compile bug in validator_client
* Update validator API endpoints
* Fix aggreagation in test harness
* Fix enum thing
* Fix attestation observation bug:
* Patch failing API tests
* Start adding comments to attestation verification
* Remove unused attestation field
* Unify "is block known" logic
* Update comments
* Supress fork choice errors for network processing
* Add todos
* Tidy
* Add gossip attn tests
* Disallow test harness to produce old attns
* Comment out in-progress tests
* Partially address pruning tests
* Fix failing store test
* Add aggregate tests
* Add comments about which spec conditions we check
* Dont re-aggregate
* Split apart test harness attn production
* Fix compile error in network
* Make progress on commented-out test
* Fix skipping attestation test
* Add fork choice verification tests
* Tidy attn tests, remove dead code
* Remove some accidentally added code
* Fix clippy lint
* Rename test file
* Add block tests, add cheap block proposer check
* Rename block testing file
* Add observed_block_producers
* Tidy
* Switch around block signature verification
* Finish block testing
* Remove gossip from signature tests
* First pass of self review
* Fix deviation in spec
* Update test spec tags
* Start moving over to hashset
* Finish moving observed attesters to hashmap
* Move aggregation pool over to hashmap
* Make fc attn borrow again
* Fix rest_api compile error
* Fix missing comments
* Fix monster test
* Uncomment increasing slots test
* Address remaining comments
* Remove unsafe, use cfg test
* Remove cfg test flag
* Fix dodgy comment
* Revert "Update hashmap hashset to stable futures"
This reverts commit d432378a3cc5cd67fc29c0b15b96b886c1323554.
* Revert "Adds panic test to hashset delay"
This reverts commit 281502396fc5b90d9c421a309c2c056982c9525b.
* Ported attestation_service
* Ported duties_service
* Ported fork_service
* More ports
* Port block_service
* Minor fixes
* VC compiles
* Update TODOS
* Borrow self where possible
* Ignore aggregates that are already known.
* Unify aggregator modulo logic
* Fix typo in logs
* Refactor validator subscription logic
* Avoid reproducing selection proof
* Skip HTTP call if no subscriptions
* Rename DutyAndState -> DutyAndProof
* Tidy logs
* Print root as dbg
* Fix compile errors in tests
* Fix compile error in test
* Re-Fix attestation and duties service
* Minor fixes
Co-authored-by: Paul Hauner <paul@paulhauner.com>
* Expose json_keystore mod
* First commits on path derivation
* Progress with implementation
* More progress
* Passing intermediate test vectors
* Tidy, add comments
* Add DerivedKey structs
* Move key derivation into own crate
* Add zeroize structs
* Return error for empty seed
* Add tests
* Tidy
* First commits on path derivation
* Progress with implementation
* Move key derivation into own crate
* Start defining JSON wallet
* Add progress
* Split out encrypt/decrypt
* First commits on path derivation
* Progress with implementation
* More progress
* Passing intermediate test vectors
* Tidy, add comments
* Add DerivedKey structs
* Move key derivation into own crate
* Add zeroize structs
* Return error for empty seed
* Add tests
* Tidy
* Add progress
* Replace some password usage with slice
* First commits on path derivation
* Progress with implementation
* More progress
* Passing intermediate test vectors
* Tidy, add comments
* Add DerivedKey structs
* Move key derivation into own crate
* Add zeroize structs
* Return error for empty seed
* Add tests
* Tidy
* Add progress
* Expose PlainText struct
* First commits on path derivation
* Progress with implementation
* More progress
* Passing intermediate test vectors
* Tidy, add comments
* Add DerivedKey structs
* Move key derivation into own crate
* Add zeroize structs
* Return error for empty seed
* Add tests
* Tidy
* Add builder
* Expose consts, remove Password
* Minor progress
* Expose SALT_SIZE
* First compiling version
* Add test vectors
* Network crate update to stable futures
* Move dbg assert statement
* Port account_manager to stable futures (#1121)
* Port account_manager to stable futures
* Run async fns in tokio environment
* Port rest_api crate to stable futures (#1118)
* Port rest_api lib to stable futures
* Reduce tokio features
* Update notifier to stable futures
* Builder update
* Further updates
* Add mnemonic, tidy
* Convert self referential async functions
* Tidy
* Add testing
* Add first attempt at validator_dir
* Present pubkey field
* stable futures fixes (#1124)
* Fix eth1 update functions
* Fix genesis and client
* Fix beacon node lib
* Return appropriate runtimes from environment
* Fix test rig
* Refactor eth1 service update
* Upgrade simulator to stable futures
* Lighthouse compiles on stable futures
* Add first pass of wallet manager
* Progress with CLI
* Remove println debugging statement
* Tidy output
* Tidy 600 perms
* Update libp2p service, start rpc test upgrade
* Add validator creation flow
* Update network crate for new libp2p
* Start tidying, adding comments
* Update tokio::codec to futures_codec (#1128)
* Further work towards RPC corrections
* Correct http timeout and network service select
* Add wallet mgr testing
* Shift LockedWallet into own file
* Add comments to fs
* Start integration into VC
* Use tokio runtime for libp2p
* Revert "Update tokio::codec to futures_codec (#1128)"
This reverts commit e57aea924acf5cbabdcea18895ac07e38a425ed7.
* Upgrade RPC libp2p tests
* Upgrade secio fallback test
* Add lcli keypair upgrade command
* Upgrade gossipsub examples
* Clean up RPC protocol
* Test fixes (#1133)
* Correct websocket timeout and run on os thread
* Fix network test
* Add --secrets-dir to VC
* Remove --legacy-keys from VC
* Clean up PR
* Correct tokio tcp move attestation service tests
* Upgrade attestation service tests
* Fix sim
* Correct network test
* Correct genesis test
* Start docs
* Add progress for validator generation
* Tidy error messages
* Test corrections
* Log info when block is received
* Modify logs and update attester service events
* Stable futures: fixes to vc, eth1 and account manager (#1142)
* Add local testnet scripts
* Remove whiteblock script
* Rename local testnet script
* Move spawns onto handle
* Fix VC panic
* Initial fix to block production issue
* Tidy block producer fix
* Tidy further
* Add local testnet clean script
* Run cargo fmt
* Tidy duties service
* Tidy fork service
* Tidy ForkService
* Tidy AttestationService
* Tidy notifier
* Ensure await is not suppressed in eth1
* Ensure await is not suppressed in account_manager
* Use .ok() instead of .unwrap_or(())
* RPC decoding test for proto
* Update discv5 and eth2-libp2p deps
* Run cargo fmt
* Pre-build keystores for sim
* Fix lcli double runtime issue (#1144)
* Handle stream termination and dialing peer errors
* Correct peer_info variant types
* Add progress on new deposit flow
* Remove unnecessary warnings
* Handle subnet unsubscription removal and improve logigng
* Add logs around ping
* Upgrade discv5 and improve logging
* Handle peer connection status for multiple connections
* Improve network service logging
* Add more incomplete progress
* Improve logging around peer manager
* Upgrade swarm poll centralise peer management
* Identify clients on error
* Fix `remove_peer` in sync (#1150)
* remove_peer removes from all chains
* Remove logs
* Fix early return from loop
* Improved logging, fix panic
* Partially correct tests
* Add deposit command
* Remove old validator directory
* Start adding AM tests
* Stable futures: Vc sync (#1149)
* Improve syncing heuristic
* Add comments
* Use safer method for tolerance
* Fix tests
* Binary testing progress
* Progress with CLI tests
* Use constants for flags
* More account manager testing
* Improve CLI tests
* Move upgrade-legacy-keypairs into account man
* Use rayon for VC key generation
* Add comments to `validator_dir`
* Add testing to validator_dir
* Add fix to eth1-sim
* Check errors in eth1-sim
* Fix mutability issue
* Ensure password file ends in .pass
* Add more tests to wallet manager
* Tidy deposit
* Tidy account manager
* Tidy account manager
* Remove panic
* Generate keypairs earlier in sim
* Tidy eth1-sime
* Try to fix eth1 sim
* Address review comments
* Fix typo in CLI command
* Update docs
* Disable eth1 sim
* Remove eth1 sim completely
Co-authored-by: Age Manning <Age@AgeManning.com>
Co-authored-by: pawanjay176 <pawandhananjay@gmail.com>
2020-05-18 09:01:45 +00:00
|
|
|
"validator_dir",
|
2021-11-16 00:46:12 +00:00
|
|
|
"warp 0.3.2",
|
2020-10-02 09:42:19 +00:00
|
|
|
"warp_utils",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
Wallet-based, encrypted key management (#1138)
* Update hashmap hashset to stable futures
* Adds panic test to hashset delay
* Port remote_beacon_node to stable futures
* Fix lcli merge conflicts
* Non rpc stuff compiles
* Remove padding
* Add error enum, zeroize more things
* Fix comment
* protocol.rs compiles
* Port websockets, timer and notifier to stable futures (#1035)
* Fix lcli
* Port timer to stable futures
* Fix timer
* Port websocket_server to stable futures
* Port notifier to stable futures
* Add TODOS
* Port remote_beacon_node to stable futures
* Partial eth2-libp2p stable future upgrade
* Finished first round of fighting RPC types
* Further progress towards porting eth2-libp2p adds caching to discovery
* Update behaviour
* Add keystore builder
* Remove keystore stuff from val client
* Add more tests, comments
* RPC handler to stable futures
* Update RPC to master libp2p
* Add more comments, test vectors
* Network service additions
* Progress on improving JSON validation
* More JSON verification
* Start moving JSON into own mod
* Remove old code
* Add more tests, reader/writers
* Tidy
* Move keystore into own file
* Move more logic into keystore file
* Tidy
* Tidy
* Fix the fallback transport construction (#1102)
* Allow for odd-character hex
* Correct warning
* Remove hashmap delay
* Compiling version of eth2-libp2p
* Update all crates versions
* Fix conversion function and add tests (#1113)
* Add more json missing field checks
* Use scrypt by default
* Tidy, address comments
* Test path and uuid in vectors
* Fix comment
* Add checks for kdf params
* Enforce empty kdf message
* Port validator_client to stable futures (#1114)
* Add PH & MS slot clock changes
* Account for genesis time
* Add progress on duties refactor
* Add simple is_aggregator bool to val subscription
* Start work on attestation_verification.rs
* Add progress on ObservedAttestations
* Progress with ObservedAttestations
* Fix tests
* Add observed attestations to the beacon chain
* Add attestation observation to processing code
* Add progress on attestation verification
* Add first draft of ObservedAttesters
* Add more tests
* Add observed attesters to beacon chain
* Add observers to attestation processing
* Add more attestation verification
* Create ObservedAggregators map
* Remove commented-out code
* Add observed aggregators into chain
* Add progress
* Finish adding features to attestation verification
* Ensure beacon chain compiles
* Link attn verification into chain
* Integrate new attn verification in chain
* Remove old attestation processing code
* Start trying to fix beacon_chain tests
* Split adding into pools into two functions
* Add aggregation to harness
* Get test harness working again
* Adjust the number of aggregators for test harness
* Fix edge-case in harness
* Integrate new attn processing in network
* Fix compile bug in validator_client
* Update validator API endpoints
* Fix aggreagation in test harness
* Fix enum thing
* Fix attestation observation bug:
* Patch failing API tests
* Start adding comments to attestation verification
* Remove unused attestation field
* Unify "is block known" logic
* Update comments
* Supress fork choice errors for network processing
* Add todos
* Tidy
* Add gossip attn tests
* Disallow test harness to produce old attns
* Comment out in-progress tests
* Partially address pruning tests
* Fix failing store test
* Add aggregate tests
* Add comments about which spec conditions we check
* Dont re-aggregate
* Split apart test harness attn production
* Fix compile error in network
* Make progress on commented-out test
* Fix skipping attestation test
* Add fork choice verification tests
* Tidy attn tests, remove dead code
* Remove some accidentally added code
* Fix clippy lint
* Rename test file
* Add block tests, add cheap block proposer check
* Rename block testing file
* Add observed_block_producers
* Tidy
* Switch around block signature verification
* Finish block testing
* Remove gossip from signature tests
* First pass of self review
* Fix deviation in spec
* Update test spec tags
* Start moving over to hashset
* Finish moving observed attesters to hashmap
* Move aggregation pool over to hashmap
* Make fc attn borrow again
* Fix rest_api compile error
* Fix missing comments
* Fix monster test
* Uncomment increasing slots test
* Address remaining comments
* Remove unsafe, use cfg test
* Remove cfg test flag
* Fix dodgy comment
* Revert "Update hashmap hashset to stable futures"
This reverts commit d432378a3cc5cd67fc29c0b15b96b886c1323554.
* Revert "Adds panic test to hashset delay"
This reverts commit 281502396fc5b90d9c421a309c2c056982c9525b.
* Ported attestation_service
* Ported duties_service
* Ported fork_service
* More ports
* Port block_service
* Minor fixes
* VC compiles
* Update TODOS
* Borrow self where possible
* Ignore aggregates that are already known.
* Unify aggregator modulo logic
* Fix typo in logs
* Refactor validator subscription logic
* Avoid reproducing selection proof
* Skip HTTP call if no subscriptions
* Rename DutyAndState -> DutyAndProof
* Tidy logs
* Print root as dbg
* Fix compile errors in tests
* Fix compile error in test
* Re-Fix attestation and duties service
* Minor fixes
Co-authored-by: Paul Hauner <paul@paulhauner.com>
* Expose json_keystore mod
* First commits on path derivation
* Progress with implementation
* More progress
* Passing intermediate test vectors
* Tidy, add comments
* Add DerivedKey structs
* Move key derivation into own crate
* Add zeroize structs
* Return error for empty seed
* Add tests
* Tidy
* First commits on path derivation
* Progress with implementation
* Move key derivation into own crate
* Start defining JSON wallet
* Add progress
* Split out encrypt/decrypt
* First commits on path derivation
* Progress with implementation
* More progress
* Passing intermediate test vectors
* Tidy, add comments
* Add DerivedKey structs
* Move key derivation into own crate
* Add zeroize structs
* Return error for empty seed
* Add tests
* Tidy
* Add progress
* Replace some password usage with slice
* First commits on path derivation
* Progress with implementation
* More progress
* Passing intermediate test vectors
* Tidy, add comments
* Add DerivedKey structs
* Move key derivation into own crate
* Add zeroize structs
* Return error for empty seed
* Add tests
* Tidy
* Add progress
* Expose PlainText struct
* First commits on path derivation
* Progress with implementation
* More progress
* Passing intermediate test vectors
* Tidy, add comments
* Add DerivedKey structs
* Move key derivation into own crate
* Add zeroize structs
* Return error for empty seed
* Add tests
* Tidy
* Add builder
* Expose consts, remove Password
* Minor progress
* Expose SALT_SIZE
* First compiling version
* Add test vectors
* Network crate update to stable futures
* Move dbg assert statement
* Port account_manager to stable futures (#1121)
* Port account_manager to stable futures
* Run async fns in tokio environment
* Port rest_api crate to stable futures (#1118)
* Port rest_api lib to stable futures
* Reduce tokio features
* Update notifier to stable futures
* Builder update
* Further updates
* Add mnemonic, tidy
* Convert self referential async functions
* Tidy
* Add testing
* Add first attempt at validator_dir
* Present pubkey field
* stable futures fixes (#1124)
* Fix eth1 update functions
* Fix genesis and client
* Fix beacon node lib
* Return appropriate runtimes from environment
* Fix test rig
* Refactor eth1 service update
* Upgrade simulator to stable futures
* Lighthouse compiles on stable futures
* Add first pass of wallet manager
* Progress with CLI
* Remove println debugging statement
* Tidy output
* Tidy 600 perms
* Update libp2p service, start rpc test upgrade
* Add validator creation flow
* Update network crate for new libp2p
* Start tidying, adding comments
* Update tokio::codec to futures_codec (#1128)
* Further work towards RPC corrections
* Correct http timeout and network service select
* Add wallet mgr testing
* Shift LockedWallet into own file
* Add comments to fs
* Start integration into VC
* Use tokio runtime for libp2p
* Revert "Update tokio::codec to futures_codec (#1128)"
This reverts commit e57aea924acf5cbabdcea18895ac07e38a425ed7.
* Upgrade RPC libp2p tests
* Upgrade secio fallback test
* Add lcli keypair upgrade command
* Upgrade gossipsub examples
* Clean up RPC protocol
* Test fixes (#1133)
* Correct websocket timeout and run on os thread
* Fix network test
* Add --secrets-dir to VC
* Remove --legacy-keys from VC
* Clean up PR
* Correct tokio tcp move attestation service tests
* Upgrade attestation service tests
* Fix sim
* Correct network test
* Correct genesis test
* Start docs
* Add progress for validator generation
* Tidy error messages
* Test corrections
* Log info when block is received
* Modify logs and update attester service events
* Stable futures: fixes to vc, eth1 and account manager (#1142)
* Add local testnet scripts
* Remove whiteblock script
* Rename local testnet script
* Move spawns onto handle
* Fix VC panic
* Initial fix to block production issue
* Tidy block producer fix
* Tidy further
* Add local testnet clean script
* Run cargo fmt
* Tidy duties service
* Tidy fork service
* Tidy ForkService
* Tidy AttestationService
* Tidy notifier
* Ensure await is not suppressed in eth1
* Ensure await is not suppressed in account_manager
* Use .ok() instead of .unwrap_or(())
* RPC decoding test for proto
* Update discv5 and eth2-libp2p deps
* Run cargo fmt
* Pre-build keystores for sim
* Fix lcli double runtime issue (#1144)
* Handle stream termination and dialing peer errors
* Correct peer_info variant types
* Add progress on new deposit flow
* Remove unnecessary warnings
* Handle subnet unsubscription removal and improve logigng
* Add logs around ping
* Upgrade discv5 and improve logging
* Handle peer connection status for multiple connections
* Improve network service logging
* Add more incomplete progress
* Improve logging around peer manager
* Upgrade swarm poll centralise peer management
* Identify clients on error
* Fix `remove_peer` in sync (#1150)
* remove_peer removes from all chains
* Remove logs
* Fix early return from loop
* Improved logging, fix panic
* Partially correct tests
* Add deposit command
* Remove old validator directory
* Start adding AM tests
* Stable futures: Vc sync (#1149)
* Improve syncing heuristic
* Add comments
* Use safer method for tolerance
* Fix tests
* Binary testing progress
* Progress with CLI tests
* Use constants for flags
* More account manager testing
* Improve CLI tests
* Move upgrade-legacy-keypairs into account man
* Use rayon for VC key generation
* Add comments to `validator_dir`
* Add testing to validator_dir
* Add fix to eth1-sim
* Check errors in eth1-sim
* Fix mutability issue
* Ensure password file ends in .pass
* Add more tests to wallet manager
* Tidy deposit
* Tidy account manager
* Tidy account manager
* Remove panic
* Generate keypairs earlier in sim
* Tidy eth1-sime
* Try to fix eth1 sim
* Address review comments
* Fix typo in CLI command
* Update docs
* Disable eth1 sim
* Remove eth1 sim completely
Co-authored-by: Age Manning <Age@AgeManning.com>
Co-authored-by: pawanjay176 <pawandhananjay@gmail.com>
2020-05-18 09:01:45 +00:00
|
|
|
[[package]]
|
|
|
|
name = "validator_dir"
|
|
|
|
version = "0.1.0"
|
|
|
|
dependencies = [
|
|
|
|
"bls",
|
|
|
|
"deposit_contract",
|
2020-11-26 11:25:46 +00:00
|
|
|
"derivative",
|
Wallet-based, encrypted key management (#1138)
* Update hashmap hashset to stable futures
* Adds panic test to hashset delay
* Port remote_beacon_node to stable futures
* Fix lcli merge conflicts
* Non rpc stuff compiles
* Remove padding
* Add error enum, zeroize more things
* Fix comment
* protocol.rs compiles
* Port websockets, timer and notifier to stable futures (#1035)
* Fix lcli
* Port timer to stable futures
* Fix timer
* Port websocket_server to stable futures
* Port notifier to stable futures
* Add TODOS
* Port remote_beacon_node to stable futures
* Partial eth2-libp2p stable future upgrade
* Finished first round of fighting RPC types
* Further progress towards porting eth2-libp2p adds caching to discovery
* Update behaviour
* Add keystore builder
* Remove keystore stuff from val client
* Add more tests, comments
* RPC handler to stable futures
* Update RPC to master libp2p
* Add more comments, test vectors
* Network service additions
* Progress on improving JSON validation
* More JSON verification
* Start moving JSON into own mod
* Remove old code
* Add more tests, reader/writers
* Tidy
* Move keystore into own file
* Move more logic into keystore file
* Tidy
* Tidy
* Fix the fallback transport construction (#1102)
* Allow for odd-character hex
* Correct warning
* Remove hashmap delay
* Compiling version of eth2-libp2p
* Update all crates versions
* Fix conversion function and add tests (#1113)
* Add more json missing field checks
* Use scrypt by default
* Tidy, address comments
* Test path and uuid in vectors
* Fix comment
* Add checks for kdf params
* Enforce empty kdf message
* Port validator_client to stable futures (#1114)
* Add PH & MS slot clock changes
* Account for genesis time
* Add progress on duties refactor
* Add simple is_aggregator bool to val subscription
* Start work on attestation_verification.rs
* Add progress on ObservedAttestations
* Progress with ObservedAttestations
* Fix tests
* Add observed attestations to the beacon chain
* Add attestation observation to processing code
* Add progress on attestation verification
* Add first draft of ObservedAttesters
* Add more tests
* Add observed attesters to beacon chain
* Add observers to attestation processing
* Add more attestation verification
* Create ObservedAggregators map
* Remove commented-out code
* Add observed aggregators into chain
* Add progress
* Finish adding features to attestation verification
* Ensure beacon chain compiles
* Link attn verification into chain
* Integrate new attn verification in chain
* Remove old attestation processing code
* Start trying to fix beacon_chain tests
* Split adding into pools into two functions
* Add aggregation to harness
* Get test harness working again
* Adjust the number of aggregators for test harness
* Fix edge-case in harness
* Integrate new attn processing in network
* Fix compile bug in validator_client
* Update validator API endpoints
* Fix aggreagation in test harness
* Fix enum thing
* Fix attestation observation bug:
* Patch failing API tests
* Start adding comments to attestation verification
* Remove unused attestation field
* Unify "is block known" logic
* Update comments
* Supress fork choice errors for network processing
* Add todos
* Tidy
* Add gossip attn tests
* Disallow test harness to produce old attns
* Comment out in-progress tests
* Partially address pruning tests
* Fix failing store test
* Add aggregate tests
* Add comments about which spec conditions we check
* Dont re-aggregate
* Split apart test harness attn production
* Fix compile error in network
* Make progress on commented-out test
* Fix skipping attestation test
* Add fork choice verification tests
* Tidy attn tests, remove dead code
* Remove some accidentally added code
* Fix clippy lint
* Rename test file
* Add block tests, add cheap block proposer check
* Rename block testing file
* Add observed_block_producers
* Tidy
* Switch around block signature verification
* Finish block testing
* Remove gossip from signature tests
* First pass of self review
* Fix deviation in spec
* Update test spec tags
* Start moving over to hashset
* Finish moving observed attesters to hashmap
* Move aggregation pool over to hashmap
* Make fc attn borrow again
* Fix rest_api compile error
* Fix missing comments
* Fix monster test
* Uncomment increasing slots test
* Address remaining comments
* Remove unsafe, use cfg test
* Remove cfg test flag
* Fix dodgy comment
* Revert "Update hashmap hashset to stable futures"
This reverts commit d432378a3cc5cd67fc29c0b15b96b886c1323554.
* Revert "Adds panic test to hashset delay"
This reverts commit 281502396fc5b90d9c421a309c2c056982c9525b.
* Ported attestation_service
* Ported duties_service
* Ported fork_service
* More ports
* Port block_service
* Minor fixes
* VC compiles
* Update TODOS
* Borrow self where possible
* Ignore aggregates that are already known.
* Unify aggregator modulo logic
* Fix typo in logs
* Refactor validator subscription logic
* Avoid reproducing selection proof
* Skip HTTP call if no subscriptions
* Rename DutyAndState -> DutyAndProof
* Tidy logs
* Print root as dbg
* Fix compile errors in tests
* Fix compile error in test
* Re-Fix attestation and duties service
* Minor fixes
Co-authored-by: Paul Hauner <paul@paulhauner.com>
* Expose json_keystore mod
* First commits on path derivation
* Progress with implementation
* More progress
* Passing intermediate test vectors
* Tidy, add comments
* Add DerivedKey structs
* Move key derivation into own crate
* Add zeroize structs
* Return error for empty seed
* Add tests
* Tidy
* First commits on path derivation
* Progress with implementation
* Move key derivation into own crate
* Start defining JSON wallet
* Add progress
* Split out encrypt/decrypt
* First commits on path derivation
* Progress with implementation
* More progress
* Passing intermediate test vectors
* Tidy, add comments
* Add DerivedKey structs
* Move key derivation into own crate
* Add zeroize structs
* Return error for empty seed
* Add tests
* Tidy
* Add progress
* Replace some password usage with slice
* First commits on path derivation
* Progress with implementation
* More progress
* Passing intermediate test vectors
* Tidy, add comments
* Add DerivedKey structs
* Move key derivation into own crate
* Add zeroize structs
* Return error for empty seed
* Add tests
* Tidy
* Add progress
* Expose PlainText struct
* First commits on path derivation
* Progress with implementation
* More progress
* Passing intermediate test vectors
* Tidy, add comments
* Add DerivedKey structs
* Move key derivation into own crate
* Add zeroize structs
* Return error for empty seed
* Add tests
* Tidy
* Add builder
* Expose consts, remove Password
* Minor progress
* Expose SALT_SIZE
* First compiling version
* Add test vectors
* Network crate update to stable futures
* Move dbg assert statement
* Port account_manager to stable futures (#1121)
* Port account_manager to stable futures
* Run async fns in tokio environment
* Port rest_api crate to stable futures (#1118)
* Port rest_api lib to stable futures
* Reduce tokio features
* Update notifier to stable futures
* Builder update
* Further updates
* Add mnemonic, tidy
* Convert self referential async functions
* Tidy
* Add testing
* Add first attempt at validator_dir
* Present pubkey field
* stable futures fixes (#1124)
* Fix eth1 update functions
* Fix genesis and client
* Fix beacon node lib
* Return appropriate runtimes from environment
* Fix test rig
* Refactor eth1 service update
* Upgrade simulator to stable futures
* Lighthouse compiles on stable futures
* Add first pass of wallet manager
* Progress with CLI
* Remove println debugging statement
* Tidy output
* Tidy 600 perms
* Update libp2p service, start rpc test upgrade
* Add validator creation flow
* Update network crate for new libp2p
* Start tidying, adding comments
* Update tokio::codec to futures_codec (#1128)
* Further work towards RPC corrections
* Correct http timeout and network service select
* Add wallet mgr testing
* Shift LockedWallet into own file
* Add comments to fs
* Start integration into VC
* Use tokio runtime for libp2p
* Revert "Update tokio::codec to futures_codec (#1128)"
This reverts commit e57aea924acf5cbabdcea18895ac07e38a425ed7.
* Upgrade RPC libp2p tests
* Upgrade secio fallback test
* Add lcli keypair upgrade command
* Upgrade gossipsub examples
* Clean up RPC protocol
* Test fixes (#1133)
* Correct websocket timeout and run on os thread
* Fix network test
* Add --secrets-dir to VC
* Remove --legacy-keys from VC
* Clean up PR
* Correct tokio tcp move attestation service tests
* Upgrade attestation service tests
* Fix sim
* Correct network test
* Correct genesis test
* Start docs
* Add progress for validator generation
* Tidy error messages
* Test corrections
* Log info when block is received
* Modify logs and update attester service events
* Stable futures: fixes to vc, eth1 and account manager (#1142)
* Add local testnet scripts
* Remove whiteblock script
* Rename local testnet script
* Move spawns onto handle
* Fix VC panic
* Initial fix to block production issue
* Tidy block producer fix
* Tidy further
* Add local testnet clean script
* Run cargo fmt
* Tidy duties service
* Tidy fork service
* Tidy ForkService
* Tidy AttestationService
* Tidy notifier
* Ensure await is not suppressed in eth1
* Ensure await is not suppressed in account_manager
* Use .ok() instead of .unwrap_or(())
* RPC decoding test for proto
* Update discv5 and eth2-libp2p deps
* Run cargo fmt
* Pre-build keystores for sim
* Fix lcli double runtime issue (#1144)
* Handle stream termination and dialing peer errors
* Correct peer_info variant types
* Add progress on new deposit flow
* Remove unnecessary warnings
* Handle subnet unsubscription removal and improve logigng
* Add logs around ping
* Upgrade discv5 and improve logging
* Handle peer connection status for multiple connections
* Improve network service logging
* Add more incomplete progress
* Improve logging around peer manager
* Upgrade swarm poll centralise peer management
* Identify clients on error
* Fix `remove_peer` in sync (#1150)
* remove_peer removes from all chains
* Remove logs
* Fix early return from loop
* Improved logging, fix panic
* Partially correct tests
* Add deposit command
* Remove old validator directory
* Start adding AM tests
* Stable futures: Vc sync (#1149)
* Improve syncing heuristic
* Add comments
* Use safer method for tolerance
* Fix tests
* Binary testing progress
* Progress with CLI tests
* Use constants for flags
* More account manager testing
* Improve CLI tests
* Move upgrade-legacy-keypairs into account man
* Use rayon for VC key generation
* Add comments to `validator_dir`
* Add testing to validator_dir
* Add fix to eth1-sim
* Check errors in eth1-sim
* Fix mutability issue
* Ensure password file ends in .pass
* Add more tests to wallet manager
* Tidy deposit
* Tidy account manager
* Tidy account manager
* Remove panic
* Generate keypairs earlier in sim
* Tidy eth1-sime
* Try to fix eth1 sim
* Address review comments
* Fix typo in CLI command
* Update docs
* Disable eth1 sim
* Remove eth1 sim completely
Co-authored-by: Age Manning <Age@AgeManning.com>
Co-authored-by: pawanjay176 <pawandhananjay@gmail.com>
2020-05-18 09:01:45 +00:00
|
|
|
"eth2_keystore",
|
2021-05-19 23:05:16 +00:00
|
|
|
"filesystem",
|
2020-10-28 22:19:38 +00:00
|
|
|
"hex",
|
2020-11-26 11:25:46 +00:00
|
|
|
"lockfile",
|
Wallet-based, encrypted key management (#1138)
* Update hashmap hashset to stable futures
* Adds panic test to hashset delay
* Port remote_beacon_node to stable futures
* Fix lcli merge conflicts
* Non rpc stuff compiles
* Remove padding
* Add error enum, zeroize more things
* Fix comment
* protocol.rs compiles
* Port websockets, timer and notifier to stable futures (#1035)
* Fix lcli
* Port timer to stable futures
* Fix timer
* Port websocket_server to stable futures
* Port notifier to stable futures
* Add TODOS
* Port remote_beacon_node to stable futures
* Partial eth2-libp2p stable future upgrade
* Finished first round of fighting RPC types
* Further progress towards porting eth2-libp2p adds caching to discovery
* Update behaviour
* Add keystore builder
* Remove keystore stuff from val client
* Add more tests, comments
* RPC handler to stable futures
* Update RPC to master libp2p
* Add more comments, test vectors
* Network service additions
* Progress on improving JSON validation
* More JSON verification
* Start moving JSON into own mod
* Remove old code
* Add more tests, reader/writers
* Tidy
* Move keystore into own file
* Move more logic into keystore file
* Tidy
* Tidy
* Fix the fallback transport construction (#1102)
* Allow for odd-character hex
* Correct warning
* Remove hashmap delay
* Compiling version of eth2-libp2p
* Update all crates versions
* Fix conversion function and add tests (#1113)
* Add more json missing field checks
* Use scrypt by default
* Tidy, address comments
* Test path and uuid in vectors
* Fix comment
* Add checks for kdf params
* Enforce empty kdf message
* Port validator_client to stable futures (#1114)
* Add PH & MS slot clock changes
* Account for genesis time
* Add progress on duties refactor
* Add simple is_aggregator bool to val subscription
* Start work on attestation_verification.rs
* Add progress on ObservedAttestations
* Progress with ObservedAttestations
* Fix tests
* Add observed attestations to the beacon chain
* Add attestation observation to processing code
* Add progress on attestation verification
* Add first draft of ObservedAttesters
* Add more tests
* Add observed attesters to beacon chain
* Add observers to attestation processing
* Add more attestation verification
* Create ObservedAggregators map
* Remove commented-out code
* Add observed aggregators into chain
* Add progress
* Finish adding features to attestation verification
* Ensure beacon chain compiles
* Link attn verification into chain
* Integrate new attn verification in chain
* Remove old attestation processing code
* Start trying to fix beacon_chain tests
* Split adding into pools into two functions
* Add aggregation to harness
* Get test harness working again
* Adjust the number of aggregators for test harness
* Fix edge-case in harness
* Integrate new attn processing in network
* Fix compile bug in validator_client
* Update validator API endpoints
* Fix aggreagation in test harness
* Fix enum thing
* Fix attestation observation bug:
* Patch failing API tests
* Start adding comments to attestation verification
* Remove unused attestation field
* Unify "is block known" logic
* Update comments
* Supress fork choice errors for network processing
* Add todos
* Tidy
* Add gossip attn tests
* Disallow test harness to produce old attns
* Comment out in-progress tests
* Partially address pruning tests
* Fix failing store test
* Add aggregate tests
* Add comments about which spec conditions we check
* Dont re-aggregate
* Split apart test harness attn production
* Fix compile error in network
* Make progress on commented-out test
* Fix skipping attestation test
* Add fork choice verification tests
* Tidy attn tests, remove dead code
* Remove some accidentally added code
* Fix clippy lint
* Rename test file
* Add block tests, add cheap block proposer check
* Rename block testing file
* Add observed_block_producers
* Tidy
* Switch around block signature verification
* Finish block testing
* Remove gossip from signature tests
* First pass of self review
* Fix deviation in spec
* Update test spec tags
* Start moving over to hashset
* Finish moving observed attesters to hashmap
* Move aggregation pool over to hashmap
* Make fc attn borrow again
* Fix rest_api compile error
* Fix missing comments
* Fix monster test
* Uncomment increasing slots test
* Address remaining comments
* Remove unsafe, use cfg test
* Remove cfg test flag
* Fix dodgy comment
* Revert "Update hashmap hashset to stable futures"
This reverts commit d432378a3cc5cd67fc29c0b15b96b886c1323554.
* Revert "Adds panic test to hashset delay"
This reverts commit 281502396fc5b90d9c421a309c2c056982c9525b.
* Ported attestation_service
* Ported duties_service
* Ported fork_service
* More ports
* Port block_service
* Minor fixes
* VC compiles
* Update TODOS
* Borrow self where possible
* Ignore aggregates that are already known.
* Unify aggregator modulo logic
* Fix typo in logs
* Refactor validator subscription logic
* Avoid reproducing selection proof
* Skip HTTP call if no subscriptions
* Rename DutyAndState -> DutyAndProof
* Tidy logs
* Print root as dbg
* Fix compile errors in tests
* Fix compile error in test
* Re-Fix attestation and duties service
* Minor fixes
Co-authored-by: Paul Hauner <paul@paulhauner.com>
* Expose json_keystore mod
* First commits on path derivation
* Progress with implementation
* More progress
* Passing intermediate test vectors
* Tidy, add comments
* Add DerivedKey structs
* Move key derivation into own crate
* Add zeroize structs
* Return error for empty seed
* Add tests
* Tidy
* First commits on path derivation
* Progress with implementation
* Move key derivation into own crate
* Start defining JSON wallet
* Add progress
* Split out encrypt/decrypt
* First commits on path derivation
* Progress with implementation
* More progress
* Passing intermediate test vectors
* Tidy, add comments
* Add DerivedKey structs
* Move key derivation into own crate
* Add zeroize structs
* Return error for empty seed
* Add tests
* Tidy
* Add progress
* Replace some password usage with slice
* First commits on path derivation
* Progress with implementation
* More progress
* Passing intermediate test vectors
* Tidy, add comments
* Add DerivedKey structs
* Move key derivation into own crate
* Add zeroize structs
* Return error for empty seed
* Add tests
* Tidy
* Add progress
* Expose PlainText struct
* First commits on path derivation
* Progress with implementation
* More progress
* Passing intermediate test vectors
* Tidy, add comments
* Add DerivedKey structs
* Move key derivation into own crate
* Add zeroize structs
* Return error for empty seed
* Add tests
* Tidy
* Add builder
* Expose consts, remove Password
* Minor progress
* Expose SALT_SIZE
* First compiling version
* Add test vectors
* Network crate update to stable futures
* Move dbg assert statement
* Port account_manager to stable futures (#1121)
* Port account_manager to stable futures
* Run async fns in tokio environment
* Port rest_api crate to stable futures (#1118)
* Port rest_api lib to stable futures
* Reduce tokio features
* Update notifier to stable futures
* Builder update
* Further updates
* Add mnemonic, tidy
* Convert self referential async functions
* Tidy
* Add testing
* Add first attempt at validator_dir
* Present pubkey field
* stable futures fixes (#1124)
* Fix eth1 update functions
* Fix genesis and client
* Fix beacon node lib
* Return appropriate runtimes from environment
* Fix test rig
* Refactor eth1 service update
* Upgrade simulator to stable futures
* Lighthouse compiles on stable futures
* Add first pass of wallet manager
* Progress with CLI
* Remove println debugging statement
* Tidy output
* Tidy 600 perms
* Update libp2p service, start rpc test upgrade
* Add validator creation flow
* Update network crate for new libp2p
* Start tidying, adding comments
* Update tokio::codec to futures_codec (#1128)
* Further work towards RPC corrections
* Correct http timeout and network service select
* Add wallet mgr testing
* Shift LockedWallet into own file
* Add comments to fs
* Start integration into VC
* Use tokio runtime for libp2p
* Revert "Update tokio::codec to futures_codec (#1128)"
This reverts commit e57aea924acf5cbabdcea18895ac07e38a425ed7.
* Upgrade RPC libp2p tests
* Upgrade secio fallback test
* Add lcli keypair upgrade command
* Upgrade gossipsub examples
* Clean up RPC protocol
* Test fixes (#1133)
* Correct websocket timeout and run on os thread
* Fix network test
* Add --secrets-dir to VC
* Remove --legacy-keys from VC
* Clean up PR
* Correct tokio tcp move attestation service tests
* Upgrade attestation service tests
* Fix sim
* Correct network test
* Correct genesis test
* Start docs
* Add progress for validator generation
* Tidy error messages
* Test corrections
* Log info when block is received
* Modify logs and update attester service events
* Stable futures: fixes to vc, eth1 and account manager (#1142)
* Add local testnet scripts
* Remove whiteblock script
* Rename local testnet script
* Move spawns onto handle
* Fix VC panic
* Initial fix to block production issue
* Tidy block producer fix
* Tidy further
* Add local testnet clean script
* Run cargo fmt
* Tidy duties service
* Tidy fork service
* Tidy ForkService
* Tidy AttestationService
* Tidy notifier
* Ensure await is not suppressed in eth1
* Ensure await is not suppressed in account_manager
* Use .ok() instead of .unwrap_or(())
* RPC decoding test for proto
* Update discv5 and eth2-libp2p deps
* Run cargo fmt
* Pre-build keystores for sim
* Fix lcli double runtime issue (#1144)
* Handle stream termination and dialing peer errors
* Correct peer_info variant types
* Add progress on new deposit flow
* Remove unnecessary warnings
* Handle subnet unsubscription removal and improve logigng
* Add logs around ping
* Upgrade discv5 and improve logging
* Handle peer connection status for multiple connections
* Improve network service logging
* Add more incomplete progress
* Improve logging around peer manager
* Upgrade swarm poll centralise peer management
* Identify clients on error
* Fix `remove_peer` in sync (#1150)
* remove_peer removes from all chains
* Remove logs
* Fix early return from loop
* Improved logging, fix panic
* Partially correct tests
* Add deposit command
* Remove old validator directory
* Start adding AM tests
* Stable futures: Vc sync (#1149)
* Improve syncing heuristic
* Add comments
* Use safer method for tolerance
* Fix tests
* Binary testing progress
* Progress with CLI tests
* Use constants for flags
* More account manager testing
* Improve CLI tests
* Move upgrade-legacy-keypairs into account man
* Use rayon for VC key generation
* Add comments to `validator_dir`
* Add testing to validator_dir
* Add fix to eth1-sim
* Check errors in eth1-sim
* Fix mutability issue
* Ensure password file ends in .pass
* Add more tests to wallet manager
* Tidy deposit
* Tidy account manager
* Tidy account manager
* Remove panic
* Generate keypairs earlier in sim
* Tidy eth1-sime
* Try to fix eth1 sim
* Address review comments
* Fix typo in CLI command
* Update docs
* Disable eth1 sim
* Remove eth1 sim completely
Co-authored-by: Age Manning <Age@AgeManning.com>
Co-authored-by: pawanjay176 <pawandhananjay@gmail.com>
2020-05-18 09:01:45 +00:00
|
|
|
"rand 0.7.3",
|
|
|
|
"tempfile",
|
2021-11-29 03:57:54 +00:00
|
|
|
"tree_hash",
|
Wallet-based, encrypted key management (#1138)
* Update hashmap hashset to stable futures
* Adds panic test to hashset delay
* Port remote_beacon_node to stable futures
* Fix lcli merge conflicts
* Non rpc stuff compiles
* Remove padding
* Add error enum, zeroize more things
* Fix comment
* protocol.rs compiles
* Port websockets, timer and notifier to stable futures (#1035)
* Fix lcli
* Port timer to stable futures
* Fix timer
* Port websocket_server to stable futures
* Port notifier to stable futures
* Add TODOS
* Port remote_beacon_node to stable futures
* Partial eth2-libp2p stable future upgrade
* Finished first round of fighting RPC types
* Further progress towards porting eth2-libp2p adds caching to discovery
* Update behaviour
* Add keystore builder
* Remove keystore stuff from val client
* Add more tests, comments
* RPC handler to stable futures
* Update RPC to master libp2p
* Add more comments, test vectors
* Network service additions
* Progress on improving JSON validation
* More JSON verification
* Start moving JSON into own mod
* Remove old code
* Add more tests, reader/writers
* Tidy
* Move keystore into own file
* Move more logic into keystore file
* Tidy
* Tidy
* Fix the fallback transport construction (#1102)
* Allow for odd-character hex
* Correct warning
* Remove hashmap delay
* Compiling version of eth2-libp2p
* Update all crates versions
* Fix conversion function and add tests (#1113)
* Add more json missing field checks
* Use scrypt by default
* Tidy, address comments
* Test path and uuid in vectors
* Fix comment
* Add checks for kdf params
* Enforce empty kdf message
* Port validator_client to stable futures (#1114)
* Add PH & MS slot clock changes
* Account for genesis time
* Add progress on duties refactor
* Add simple is_aggregator bool to val subscription
* Start work on attestation_verification.rs
* Add progress on ObservedAttestations
* Progress with ObservedAttestations
* Fix tests
* Add observed attestations to the beacon chain
* Add attestation observation to processing code
* Add progress on attestation verification
* Add first draft of ObservedAttesters
* Add more tests
* Add observed attesters to beacon chain
* Add observers to attestation processing
* Add more attestation verification
* Create ObservedAggregators map
* Remove commented-out code
* Add observed aggregators into chain
* Add progress
* Finish adding features to attestation verification
* Ensure beacon chain compiles
* Link attn verification into chain
* Integrate new attn verification in chain
* Remove old attestation processing code
* Start trying to fix beacon_chain tests
* Split adding into pools into two functions
* Add aggregation to harness
* Get test harness working again
* Adjust the number of aggregators for test harness
* Fix edge-case in harness
* Integrate new attn processing in network
* Fix compile bug in validator_client
* Update validator API endpoints
* Fix aggreagation in test harness
* Fix enum thing
* Fix attestation observation bug:
* Patch failing API tests
* Start adding comments to attestation verification
* Remove unused attestation field
* Unify "is block known" logic
* Update comments
* Supress fork choice errors for network processing
* Add todos
* Tidy
* Add gossip attn tests
* Disallow test harness to produce old attns
* Comment out in-progress tests
* Partially address pruning tests
* Fix failing store test
* Add aggregate tests
* Add comments about which spec conditions we check
* Dont re-aggregate
* Split apart test harness attn production
* Fix compile error in network
* Make progress on commented-out test
* Fix skipping attestation test
* Add fork choice verification tests
* Tidy attn tests, remove dead code
* Remove some accidentally added code
* Fix clippy lint
* Rename test file
* Add block tests, add cheap block proposer check
* Rename block testing file
* Add observed_block_producers
* Tidy
* Switch around block signature verification
* Finish block testing
* Remove gossip from signature tests
* First pass of self review
* Fix deviation in spec
* Update test spec tags
* Start moving over to hashset
* Finish moving observed attesters to hashmap
* Move aggregation pool over to hashmap
* Make fc attn borrow again
* Fix rest_api compile error
* Fix missing comments
* Fix monster test
* Uncomment increasing slots test
* Address remaining comments
* Remove unsafe, use cfg test
* Remove cfg test flag
* Fix dodgy comment
* Revert "Update hashmap hashset to stable futures"
This reverts commit d432378a3cc5cd67fc29c0b15b96b886c1323554.
* Revert "Adds panic test to hashset delay"
This reverts commit 281502396fc5b90d9c421a309c2c056982c9525b.
* Ported attestation_service
* Ported duties_service
* Ported fork_service
* More ports
* Port block_service
* Minor fixes
* VC compiles
* Update TODOS
* Borrow self where possible
* Ignore aggregates that are already known.
* Unify aggregator modulo logic
* Fix typo in logs
* Refactor validator subscription logic
* Avoid reproducing selection proof
* Skip HTTP call if no subscriptions
* Rename DutyAndState -> DutyAndProof
* Tidy logs
* Print root as dbg
* Fix compile errors in tests
* Fix compile error in test
* Re-Fix attestation and duties service
* Minor fixes
Co-authored-by: Paul Hauner <paul@paulhauner.com>
* Expose json_keystore mod
* First commits on path derivation
* Progress with implementation
* More progress
* Passing intermediate test vectors
* Tidy, add comments
* Add DerivedKey structs
* Move key derivation into own crate
* Add zeroize structs
* Return error for empty seed
* Add tests
* Tidy
* First commits on path derivation
* Progress with implementation
* Move key derivation into own crate
* Start defining JSON wallet
* Add progress
* Split out encrypt/decrypt
* First commits on path derivation
* Progress with implementation
* More progress
* Passing intermediate test vectors
* Tidy, add comments
* Add DerivedKey structs
* Move key derivation into own crate
* Add zeroize structs
* Return error for empty seed
* Add tests
* Tidy
* Add progress
* Replace some password usage with slice
* First commits on path derivation
* Progress with implementation
* More progress
* Passing intermediate test vectors
* Tidy, add comments
* Add DerivedKey structs
* Move key derivation into own crate
* Add zeroize structs
* Return error for empty seed
* Add tests
* Tidy
* Add progress
* Expose PlainText struct
* First commits on path derivation
* Progress with implementation
* More progress
* Passing intermediate test vectors
* Tidy, add comments
* Add DerivedKey structs
* Move key derivation into own crate
* Add zeroize structs
* Return error for empty seed
* Add tests
* Tidy
* Add builder
* Expose consts, remove Password
* Minor progress
* Expose SALT_SIZE
* First compiling version
* Add test vectors
* Network crate update to stable futures
* Move dbg assert statement
* Port account_manager to stable futures (#1121)
* Port account_manager to stable futures
* Run async fns in tokio environment
* Port rest_api crate to stable futures (#1118)
* Port rest_api lib to stable futures
* Reduce tokio features
* Update notifier to stable futures
* Builder update
* Further updates
* Add mnemonic, tidy
* Convert self referential async functions
* Tidy
* Add testing
* Add first attempt at validator_dir
* Present pubkey field
* stable futures fixes (#1124)
* Fix eth1 update functions
* Fix genesis and client
* Fix beacon node lib
* Return appropriate runtimes from environment
* Fix test rig
* Refactor eth1 service update
* Upgrade simulator to stable futures
* Lighthouse compiles on stable futures
* Add first pass of wallet manager
* Progress with CLI
* Remove println debugging statement
* Tidy output
* Tidy 600 perms
* Update libp2p service, start rpc test upgrade
* Add validator creation flow
* Update network crate for new libp2p
* Start tidying, adding comments
* Update tokio::codec to futures_codec (#1128)
* Further work towards RPC corrections
* Correct http timeout and network service select
* Add wallet mgr testing
* Shift LockedWallet into own file
* Add comments to fs
* Start integration into VC
* Use tokio runtime for libp2p
* Revert "Update tokio::codec to futures_codec (#1128)"
This reverts commit e57aea924acf5cbabdcea18895ac07e38a425ed7.
* Upgrade RPC libp2p tests
* Upgrade secio fallback test
* Add lcli keypair upgrade command
* Upgrade gossipsub examples
* Clean up RPC protocol
* Test fixes (#1133)
* Correct websocket timeout and run on os thread
* Fix network test
* Add --secrets-dir to VC
* Remove --legacy-keys from VC
* Clean up PR
* Correct tokio tcp move attestation service tests
* Upgrade attestation service tests
* Fix sim
* Correct network test
* Correct genesis test
* Start docs
* Add progress for validator generation
* Tidy error messages
* Test corrections
* Log info when block is received
* Modify logs and update attester service events
* Stable futures: fixes to vc, eth1 and account manager (#1142)
* Add local testnet scripts
* Remove whiteblock script
* Rename local testnet script
* Move spawns onto handle
* Fix VC panic
* Initial fix to block production issue
* Tidy block producer fix
* Tidy further
* Add local testnet clean script
* Run cargo fmt
* Tidy duties service
* Tidy fork service
* Tidy ForkService
* Tidy AttestationService
* Tidy notifier
* Ensure await is not suppressed in eth1
* Ensure await is not suppressed in account_manager
* Use .ok() instead of .unwrap_or(())
* RPC decoding test for proto
* Update discv5 and eth2-libp2p deps
* Run cargo fmt
* Pre-build keystores for sim
* Fix lcli double runtime issue (#1144)
* Handle stream termination and dialing peer errors
* Correct peer_info variant types
* Add progress on new deposit flow
* Remove unnecessary warnings
* Handle subnet unsubscription removal and improve logigng
* Add logs around ping
* Upgrade discv5 and improve logging
* Handle peer connection status for multiple connections
* Improve network service logging
* Add more incomplete progress
* Improve logging around peer manager
* Upgrade swarm poll centralise peer management
* Identify clients on error
* Fix `remove_peer` in sync (#1150)
* remove_peer removes from all chains
* Remove logs
* Fix early return from loop
* Improved logging, fix panic
* Partially correct tests
* Add deposit command
* Remove old validator directory
* Start adding AM tests
* Stable futures: Vc sync (#1149)
* Improve syncing heuristic
* Add comments
* Use safer method for tolerance
* Fix tests
* Binary testing progress
* Progress with CLI tests
* Use constants for flags
* More account manager testing
* Improve CLI tests
* Move upgrade-legacy-keypairs into account man
* Use rayon for VC key generation
* Add comments to `validator_dir`
* Add testing to validator_dir
* Add fix to eth1-sim
* Check errors in eth1-sim
* Fix mutability issue
* Ensure password file ends in .pass
* Add more tests to wallet manager
* Tidy deposit
* Tidy account manager
* Tidy account manager
* Remove panic
* Generate keypairs earlier in sim
* Tidy eth1-sime
* Try to fix eth1 sim
* Address review comments
* Fix typo in CLI command
* Update docs
* Disable eth1 sim
* Remove eth1 sim completely
Co-authored-by: Age Manning <Age@AgeManning.com>
Co-authored-by: pawanjay176 <pawandhananjay@gmail.com>
2020-05-18 09:01:45 +00:00
|
|
|
"types",
|
|
|
|
]
|
|
|
|
|
2019-12-09 11:39:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "vcpkg"
|
2021-07-05 00:54:17 +00:00
|
|
|
version = "0.2.15"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-07-05 00:54:17 +00:00
|
|
|
checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426"
|
2020-11-19 04:04:52 +00:00
|
|
|
|
2019-12-09 11:39:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "vec_map"
|
2020-05-10 09:56:31 +00:00
|
|
|
version = "0.8.2"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2020-05-10 09:56:31 +00:00
|
|
|
checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191"
|
2019-12-09 11:39:44 +00:00
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "version_check"
|
2022-01-11 01:35:56 +00:00
|
|
|
version = "0.9.4"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2022-01-11 01:35:56 +00:00
|
|
|
checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
|
2019-12-09 11:39:44 +00:00
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "void"
|
|
|
|
version = "1.0.2"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2020-05-10 09:56:31 +00:00
|
|
|
checksum = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d"
|
2019-12-09 11:39:44 +00:00
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "walkdir"
|
2021-05-04 00:44:05 +00:00
|
|
|
version = "2.3.2"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-05-04 00:44:05 +00:00
|
|
|
checksum = "808cf2735cd4b6866113f648b791c6adc5714537bc222d9347bb203386ffda56"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2020-05-10 09:56:31 +00:00
|
|
|
"same-file",
|
2021-07-09 03:20:24 +00:00
|
|
|
"winapi",
|
2020-05-10 09:56:31 +00:00
|
|
|
"winapi-util",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
2020-05-17 11:16:48 +00:00
|
|
|
[[package]]
|
|
|
|
name = "want"
|
|
|
|
version = "0.3.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
checksum = "1ce8a968cb1cd110d136ff8b819a556d6fb6d919363c61534f6860c7eb172ba0"
|
|
|
|
dependencies = [
|
2020-12-09 01:34:58 +00:00
|
|
|
"log",
|
2020-05-10 09:56:31 +00:00
|
|
|
"try-lock",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
2021-11-16 00:46:12 +00:00
|
|
|
[[package]]
|
|
|
|
name = "warp"
|
|
|
|
version = "0.3.0"
|
|
|
|
source = "git+https://github.com/macladson/warp?rev=dfa259e#dfa259e19b7490e6bc4bf247e8b76f671d29a0eb"
|
|
|
|
dependencies = [
|
|
|
|
"bytes",
|
|
|
|
"futures",
|
|
|
|
"headers",
|
|
|
|
"http",
|
|
|
|
"hyper",
|
|
|
|
"log",
|
|
|
|
"mime",
|
|
|
|
"mime_guess",
|
|
|
|
"multipart 0.17.1",
|
|
|
|
"percent-encoding",
|
2022-01-11 01:35:56 +00:00
|
|
|
"pin-project 1.0.10",
|
2021-11-16 00:46:12 +00:00
|
|
|
"scoped-tls",
|
|
|
|
"serde",
|
|
|
|
"serde_json",
|
|
|
|
"serde_urlencoded",
|
|
|
|
"tokio",
|
|
|
|
"tokio-rustls",
|
|
|
|
"tokio-stream",
|
|
|
|
"tokio-tungstenite 0.13.0",
|
|
|
|
"tokio-util",
|
|
|
|
"tower-service",
|
|
|
|
"tracing",
|
|
|
|
"tracing-futures",
|
|
|
|
]
|
|
|
|
|
2020-09-29 03:46:54 +00:00
|
|
|
[[package]]
|
|
|
|
name = "warp"
|
2021-11-18 05:08:42 +00:00
|
|
|
version = "0.3.2"
|
|
|
|
source = "git+https://github.com/macladson/warp?rev=7e75acc#7e75acc368229a46a236a8c991bf251fe7fe50ef"
|
2020-09-29 03:46:54 +00:00
|
|
|
dependencies = [
|
2021-10-29 01:59:29 +00:00
|
|
|
"bytes",
|
2021-11-18 05:08:42 +00:00
|
|
|
"futures-channel",
|
|
|
|
"futures-util",
|
2021-02-10 23:29:49 +00:00
|
|
|
"headers",
|
|
|
|
"http",
|
2021-07-09 03:20:24 +00:00
|
|
|
"hyper",
|
2020-12-09 01:34:58 +00:00
|
|
|
"log",
|
|
|
|
"mime",
|
2020-09-29 03:46:54 +00:00
|
|
|
"mime_guess",
|
2021-11-16 00:46:12 +00:00
|
|
|
"multipart 0.18.0",
|
2020-12-09 01:34:58 +00:00
|
|
|
"percent-encoding",
|
2022-01-11 01:35:56 +00:00
|
|
|
"pin-project 1.0.10",
|
2020-12-09 01:34:58 +00:00
|
|
|
"scoped-tls",
|
2020-09-29 03:46:54 +00:00
|
|
|
"serde",
|
|
|
|
"serde_json",
|
2020-11-28 05:30:57 +00:00
|
|
|
"serde_urlencoded",
|
2021-08-17 01:00:24 +00:00
|
|
|
"tokio",
|
2021-10-12 03:35:49 +00:00
|
|
|
"tokio-rustls",
|
2021-02-10 23:29:49 +00:00
|
|
|
"tokio-stream",
|
2021-11-16 00:46:12 +00:00
|
|
|
"tokio-tungstenite 0.15.0",
|
2021-07-09 03:20:24 +00:00
|
|
|
"tokio-util",
|
2020-09-29 03:46:54 +00:00
|
|
|
"tower-service",
|
|
|
|
"tracing",
|
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "warp_utils"
|
|
|
|
version = "0.1.0"
|
|
|
|
dependencies = [
|
|
|
|
"beacon_chain",
|
|
|
|
"eth2",
|
2021-02-10 23:29:49 +00:00
|
|
|
"headers",
|
2020-11-26 01:10:51 +00:00
|
|
|
"lazy_static",
|
|
|
|
"lighthouse_metrics",
|
2020-09-29 03:46:54 +00:00
|
|
|
"safe_arith",
|
2020-10-02 09:42:19 +00:00
|
|
|
"serde",
|
2020-09-29 03:46:54 +00:00
|
|
|
"state_processing",
|
2021-08-17 01:00:24 +00:00
|
|
|
"tokio",
|
2020-09-29 03:46:54 +00:00
|
|
|
"types",
|
2021-11-16 00:46:12 +00:00
|
|
|
"warp 0.3.2",
|
2020-09-29 03:46:54 +00:00
|
|
|
]
|
|
|
|
|
2019-12-09 11:39:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "wasi"
|
2020-01-10 03:35:07 +00:00
|
|
|
version = "0.9.0+wasi-snapshot-preview1"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2020-05-10 09:56:31 +00:00
|
|
|
checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519"
|
2019-12-09 11:39:44 +00:00
|
|
|
|
2020-08-27 07:04:12 +00:00
|
|
|
[[package]]
|
|
|
|
name = "wasi"
|
2021-03-02 05:59:49 +00:00
|
|
|
version = "0.10.2+wasi-snapshot-preview1"
|
2020-08-27 07:04:12 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-03-02 05:59:49 +00:00
|
|
|
checksum = "fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6"
|
2020-08-27 07:04:12 +00:00
|
|
|
|
2019-12-09 11:39:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "wasm-bindgen"
|
2021-09-16 04:45:05 +00:00
|
|
|
version = "0.2.78"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-09-16 04:45:05 +00:00
|
|
|
checksum = "632f73e236b219150ea279196e54e610f5dbafa5d61786303d4da54f84e47fce"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2021-11-18 05:08:42 +00:00
|
|
|
"cfg-if",
|
2020-05-10 09:56:31 +00:00
|
|
|
"wasm-bindgen-macro",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "wasm-bindgen-backend"
|
2021-09-16 04:45:05 +00:00
|
|
|
version = "0.2.78"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-09-16 04:45:05 +00:00
|
|
|
checksum = "a317bf8f9fba2476b4b2c85ef4c4af8ff39c3c7f0cdfeed4f82c34a880aa837b"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2020-05-10 09:56:31 +00:00
|
|
|
"bumpalo",
|
|
|
|
"lazy_static",
|
2020-12-09 01:34:58 +00:00
|
|
|
"log",
|
2020-05-17 11:16:48 +00:00
|
|
|
"proc-macro2",
|
|
|
|
"quote",
|
|
|
|
"syn",
|
2020-05-10 09:56:31 +00:00
|
|
|
"wasm-bindgen-shared",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "wasm-bindgen-futures"
|
2021-09-16 04:45:05 +00:00
|
|
|
version = "0.4.28"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-09-16 04:45:05 +00:00
|
|
|
checksum = "8e8d7523cb1f2a4c96c1317ca690031b714a51cc14e05f712446691f413f5d39"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2021-11-18 05:08:42 +00:00
|
|
|
"cfg-if",
|
2020-05-10 09:56:31 +00:00
|
|
|
"js-sys",
|
|
|
|
"wasm-bindgen",
|
|
|
|
"web-sys",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "wasm-bindgen-macro"
|
2021-09-16 04:45:05 +00:00
|
|
|
version = "0.2.78"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-09-16 04:45:05 +00:00
|
|
|
checksum = "d56146e7c495528bf6587663bea13a8eb588d39b36b679d83972e1a2dbbdacf9"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2020-05-17 11:16:48 +00:00
|
|
|
"quote",
|
2020-05-10 09:56:31 +00:00
|
|
|
"wasm-bindgen-macro-support",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "wasm-bindgen-macro-support"
|
2021-09-16 04:45:05 +00:00
|
|
|
version = "0.2.78"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-09-16 04:45:05 +00:00
|
|
|
checksum = "7803e0eea25835f8abdc585cd3021b3deb11543c6fe226dcd30b228857c5c5ab"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2020-05-17 11:16:48 +00:00
|
|
|
"proc-macro2",
|
|
|
|
"quote",
|
|
|
|
"syn",
|
2020-05-10 09:56:31 +00:00
|
|
|
"wasm-bindgen-backend",
|
|
|
|
"wasm-bindgen-shared",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "wasm-bindgen-shared"
|
2021-09-16 04:45:05 +00:00
|
|
|
version = "0.2.78"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-09-16 04:45:05 +00:00
|
|
|
checksum = "0237232789cf037d5480773fe568aac745bfe2afbc11a863e97901780a6b47cc"
|
2019-12-09 11:39:44 +00:00
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "wasm-bindgen-test"
|
2021-09-16 04:45:05 +00:00
|
|
|
version = "0.3.28"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-09-16 04:45:05 +00:00
|
|
|
checksum = "96f1aa7971fdf61ef0f353602102dbea75a56e225ed036c1e3740564b91e6b7e"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2020-05-10 09:56:31 +00:00
|
|
|
"console_error_panic_hook",
|
|
|
|
"js-sys",
|
2020-12-09 01:34:58 +00:00
|
|
|
"scoped-tls",
|
2020-05-10 09:56:31 +00:00
|
|
|
"wasm-bindgen",
|
2020-05-17 11:16:48 +00:00
|
|
|
"wasm-bindgen-futures",
|
2020-05-10 09:56:31 +00:00
|
|
|
"wasm-bindgen-test-macro",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "wasm-bindgen-test-macro"
|
2021-09-16 04:45:05 +00:00
|
|
|
version = "0.3.28"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-09-16 04:45:05 +00:00
|
|
|
checksum = "6006f79628dfeb96a86d4db51fbf1344cd7fd8408f06fc9aa3c84913a4789688"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2020-05-17 11:16:48 +00:00
|
|
|
"proc-macro2",
|
|
|
|
"quote",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "web-sys"
|
2021-09-16 04:45:05 +00:00
|
|
|
version = "0.3.55"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-09-16 04:45:05 +00:00
|
|
|
checksum = "38eb105f1c59d9eaa6b5cdc92b859d85b926e82cb2e0945cd0c9259faa6fe9fb"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2020-05-10 09:56:31 +00:00
|
|
|
"js-sys",
|
|
|
|
"wasm-bindgen",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
2020-04-19 02:20:43 +00:00
|
|
|
[[package]]
|
|
|
|
name = "web3"
|
2021-08-17 01:00:24 +00:00
|
|
|
version = "0.17.0"
|
2020-06-19 04:13:23 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-08-17 01:00:24 +00:00
|
|
|
checksum = "cd24abe6f2b68e0677f843059faea87bcbd4892e39f02886f366d8222c3c540d"
|
2020-04-19 02:20:43 +00:00
|
|
|
dependencies = [
|
2021-07-05 00:54:17 +00:00
|
|
|
"arrayvec 0.5.2",
|
2020-12-14 02:28:19 +00:00
|
|
|
"base64 0.13.0",
|
2021-10-29 01:59:29 +00:00
|
|
|
"bytes",
|
2020-05-10 09:56:31 +00:00
|
|
|
"derive_more",
|
2021-06-03 01:11:33 +00:00
|
|
|
"ethabi 14.1.0",
|
2021-07-09 03:20:24 +00:00
|
|
|
"ethereum-types 0.11.0",
|
|
|
|
"futures",
|
2020-12-09 01:34:58 +00:00
|
|
|
"futures-timer",
|
2021-07-09 03:20:24 +00:00
|
|
|
"headers",
|
2020-12-14 02:28:19 +00:00
|
|
|
"hex",
|
2020-05-10 09:56:31 +00:00
|
|
|
"jsonrpc-core",
|
2020-12-09 01:34:58 +00:00
|
|
|
"log",
|
|
|
|
"parking_lot",
|
2022-01-11 01:35:56 +00:00
|
|
|
"pin-project 1.0.10",
|
2021-07-09 03:20:24 +00:00
|
|
|
"reqwest",
|
2021-08-17 01:00:24 +00:00
|
|
|
"rlp 0.5.1",
|
2020-05-10 09:56:31 +00:00
|
|
|
"secp256k1",
|
|
|
|
"serde",
|
|
|
|
"serde_json",
|
2021-08-17 01:00:24 +00:00
|
|
|
"soketto 0.5.0",
|
2020-05-10 09:56:31 +00:00
|
|
|
"tiny-keccak 2.0.2",
|
2021-08-17 01:00:24 +00:00
|
|
|
"tokio",
|
2021-07-09 03:20:24 +00:00
|
|
|
"tokio-util",
|
|
|
|
"url",
|
|
|
|
"web3-async-native-tls",
|
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "web3-async-native-tls"
|
|
|
|
version = "0.4.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
checksum = "1f6d8d1636b2627fe63518d5a9b38a569405d9c9bc665c43c9c341de57227ebb"
|
|
|
|
dependencies = [
|
|
|
|
"native-tls",
|
|
|
|
"thiserror",
|
2021-08-17 01:00:24 +00:00
|
|
|
"tokio",
|
2020-12-09 01:34:58 +00:00
|
|
|
"url",
|
2020-04-19 02:20:43 +00:00
|
|
|
]
|
|
|
|
|
2021-09-16 03:26:33 +00:00
|
|
|
[[package]]
|
|
|
|
name = "web3signer_tests"
|
|
|
|
version = "0.1.0"
|
|
|
|
dependencies = [
|
|
|
|
"account_utils",
|
|
|
|
"environment",
|
|
|
|
"eth2_keystore",
|
|
|
|
"eth2_network_config",
|
|
|
|
"exit-future",
|
|
|
|
"futures",
|
|
|
|
"reqwest",
|
|
|
|
"serde",
|
|
|
|
"serde_derive",
|
|
|
|
"serde_json",
|
|
|
|
"serde_yaml",
|
|
|
|
"slot_clock",
|
|
|
|
"task_executor",
|
|
|
|
"tempfile",
|
|
|
|
"tokio",
|
|
|
|
"types",
|
|
|
|
"url",
|
|
|
|
"validator_client",
|
|
|
|
"zip",
|
|
|
|
]
|
|
|
|
|
2019-12-09 11:39:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "webpki"
|
2020-12-14 02:28:19 +00:00
|
|
|
version = "0.21.4"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2020-12-14 02:28:19 +00:00
|
|
|
checksum = "b8e38c0608262c46d4a56202ebabdeb094cef7e560ca7a226c6bf055188aa4ea"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2020-05-10 09:56:31 +00:00
|
|
|
"ring",
|
|
|
|
"untrusted",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
2021-11-18 05:08:42 +00:00
|
|
|
[[package]]
|
|
|
|
name = "webpki"
|
|
|
|
version = "0.22.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
checksum = "f095d78192e208183081cc07bc5515ef55216397af48b873e5edcd72637fa1bd"
|
|
|
|
dependencies = [
|
|
|
|
"ring",
|
|
|
|
"untrusted",
|
|
|
|
]
|
|
|
|
|
2019-12-09 11:39:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "webpki-roots"
|
2022-01-11 01:35:56 +00:00
|
|
|
version = "0.22.2"
|
2020-05-17 11:16:48 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2022-01-11 01:35:56 +00:00
|
|
|
checksum = "552ceb903e957524388c4d3475725ff2c8b7960922063af6ce53c9a43da07449"
|
2020-05-17 11:16:48 +00:00
|
|
|
dependencies = [
|
2021-11-18 05:08:42 +00:00
|
|
|
"webpki 0.22.0",
|
2020-05-17 11:16:48 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "which"
|
2021-08-17 01:00:24 +00:00
|
|
|
version = "4.2.2"
|
2020-05-17 11:16:48 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-08-17 01:00:24 +00:00
|
|
|
checksum = "ea187a8ef279bc014ec368c27a920da2024d2a711109bfbe3440585d5cf27ad9"
|
2020-05-17 11:16:48 +00:00
|
|
|
dependencies = [
|
2021-05-04 00:44:05 +00:00
|
|
|
"either",
|
2021-08-17 01:00:24 +00:00
|
|
|
"lazy_static",
|
2020-05-17 11:16:48 +00:00
|
|
|
"libc",
|
|
|
|
]
|
|
|
|
|
2021-05-19 23:05:16 +00:00
|
|
|
[[package]]
|
|
|
|
name = "widestring"
|
|
|
|
version = "0.4.3"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
checksum = "c168940144dd21fd8046987c16a46a33d5fc84eec29ef9dcddc2ac9e31526b7c"
|
|
|
|
|
2019-12-09 11:39:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "winapi"
|
2020-07-06 01:55:56 +00:00
|
|
|
version = "0.3.9"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2020-07-06 01:55:56 +00:00
|
|
|
checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2020-05-10 09:56:31 +00:00
|
|
|
"winapi-i686-pc-windows-gnu",
|
|
|
|
"winapi-x86_64-pc-windows-gnu",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "winapi-i686-pc-windows-gnu"
|
|
|
|
version = "0.4.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2020-05-10 09:56:31 +00:00
|
|
|
checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
|
2019-12-09 11:39:44 +00:00
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "winapi-util"
|
2020-04-21 15:05:46 +00:00
|
|
|
version = "0.1.5"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2020-05-10 09:56:31 +00:00
|
|
|
checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2021-07-09 03:20:24 +00:00
|
|
|
"winapi",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "winapi-x86_64-pc-windows-gnu"
|
|
|
|
version = "0.4.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2020-05-10 09:56:31 +00:00
|
|
|
checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
|
2019-12-09 11:39:44 +00:00
|
|
|
|
2021-05-19 23:05:16 +00:00
|
|
|
[[package]]
|
|
|
|
name = "windows-acl"
|
|
|
|
version = "0.3.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
checksum = "177b1723986bcb4c606058e77f6e8614b51c7f9ad2face6f6fd63dd5c8b3cec3"
|
|
|
|
dependencies = [
|
|
|
|
"field-offset",
|
|
|
|
"libc",
|
|
|
|
"widestring",
|
2021-07-09 03:20:24 +00:00
|
|
|
"winapi",
|
2021-05-19 23:05:16 +00:00
|
|
|
]
|
|
|
|
|
2021-06-03 01:11:33 +00:00
|
|
|
[[package]]
|
|
|
|
name = "winreg"
|
|
|
|
version = "0.6.2"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
checksum = "b2986deb581c4fe11b621998a5e53361efe6b48a151178d0cd9eeffa4dc6acc9"
|
|
|
|
dependencies = [
|
|
|
|
"winapi",
|
|
|
|
]
|
|
|
|
|
2019-12-09 11:39:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "winreg"
|
2020-06-06 06:39:42 +00:00
|
|
|
version = "0.7.0"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2020-06-06 06:39:42 +00:00
|
|
|
checksum = "0120db82e8a1e0b9fb3345a539c478767c0048d842860994d96113d5b667bd69"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2021-07-09 03:20:24 +00:00
|
|
|
"winapi",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
2020-10-05 08:22:19 +00:00
|
|
|
[[package]]
|
|
|
|
name = "wyz"
|
|
|
|
version = "0.2.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
checksum = "85e60b0d1b5f99db2556934e21937020776a5d31520bf169e851ac44e6420214"
|
|
|
|
|
2019-12-09 11:39:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "x25519-dalek"
|
2021-05-04 00:44:05 +00:00
|
|
|
version = "1.1.1"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-05-04 00:44:05 +00:00
|
|
|
checksum = "5a0c105152107e3b96f6a00a65e86ce82d9b125230e1c4302940eca58ff71f4f"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2020-10-05 07:45:54 +00:00
|
|
|
"curve25519-dalek",
|
2020-05-17 11:16:48 +00:00
|
|
|
"rand_core 0.5.1",
|
|
|
|
"zeroize",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
2020-10-02 08:47:00 +00:00
|
|
|
[[package]]
|
|
|
|
name = "xml-rs"
|
2021-08-17 01:00:24 +00:00
|
|
|
version = "0.8.4"
|
2020-10-02 08:47:00 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-08-17 01:00:24 +00:00
|
|
|
checksum = "d2d7d3948613f75c98fd9328cfdcc45acc4d360655289d0a7d4ec931392200a3"
|
2020-10-02 08:47:00 +00:00
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "xmltree"
|
2021-05-04 00:44:05 +00:00
|
|
|
version = "0.10.3"
|
2020-10-02 08:47:00 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-05-04 00:44:05 +00:00
|
|
|
checksum = "d7d8a75eaf6557bb84a65ace8609883db44a29951042ada9b393151532e41fcb"
|
2020-10-02 08:47:00 +00:00
|
|
|
dependencies = [
|
|
|
|
"xml-rs",
|
|
|
|
]
|
|
|
|
|
2019-12-09 11:39:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "yaml-rust"
|
2021-02-10 23:29:49 +00:00
|
|
|
version = "0.4.5"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-02-10 23:29:49 +00:00
|
|
|
checksum = "56c1936c4cc7a1c9ab21a1ebb602eb942ba868cbd44a99cb7cdc5892335e1c85"
|
2019-12-09 11:39:44 +00:00
|
|
|
dependencies = [
|
2020-05-10 09:56:31 +00:00
|
|
|
"linked-hash-map",
|
2019-12-09 11:39:44 +00:00
|
|
|
]
|
|
|
|
|
2020-11-06 04:14:14 +00:00
|
|
|
[[package]]
|
|
|
|
name = "yamux"
|
2021-06-03 01:11:33 +00:00
|
|
|
version = "0.9.0"
|
2020-11-06 04:14:14 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-06-03 01:11:33 +00:00
|
|
|
checksum = "e7d9028f208dd5e63c614be69f115c1b53cacc1111437d4c765185856666c107"
|
2020-11-06 04:14:14 +00:00
|
|
|
dependencies = [
|
2021-07-09 03:20:24 +00:00
|
|
|
"futures",
|
2020-12-09 01:34:58 +00:00
|
|
|
"log",
|
2020-11-06 04:14:14 +00:00
|
|
|
"nohash-hasher",
|
2020-12-09 01:34:58 +00:00
|
|
|
"parking_lot",
|
2021-06-03 01:11:33 +00:00
|
|
|
"rand 0.8.4",
|
2020-11-06 04:14:14 +00:00
|
|
|
"static_assertions",
|
|
|
|
]
|
|
|
|
|
2019-12-09 11:39:44 +00:00
|
|
|
[[package]]
|
|
|
|
name = "zeroize"
|
2021-11-18 05:08:42 +00:00
|
|
|
version = "1.4.3"
|
2019-12-09 11:39:44 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-11-18 05:08:42 +00:00
|
|
|
checksum = "d68d9dcec5f9b43a30d38c49f91dfedfaac384cb8f085faca366c26207dd1619"
|
2020-05-11 07:45:06 +00:00
|
|
|
dependencies = [
|
2020-05-17 11:16:48 +00:00
|
|
|
"zeroize_derive",
|
2020-05-10 09:56:31 +00:00
|
|
|
]
|
2020-05-11 07:45:06 +00:00
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "zeroize_derive"
|
2021-11-18 05:08:42 +00:00
|
|
|
version = "1.2.2"
|
2020-05-11 07:45:06 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-11-18 05:08:42 +00:00
|
|
|
checksum = "65f1a51723ec88c66d5d1fe80c841f17f63587d6691901d66be9bec6c3b51f73"
|
2020-05-11 07:45:06 +00:00
|
|
|
dependencies = [
|
2020-05-17 11:16:48 +00:00
|
|
|
"proc-macro2",
|
|
|
|
"quote",
|
|
|
|
"syn",
|
2020-05-11 07:45:06 +00:00
|
|
|
"synstructure",
|
|
|
|
]
|
2020-09-11 01:43:13 +00:00
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "zip"
|
2021-07-05 00:54:17 +00:00
|
|
|
version = "0.5.13"
|
2020-09-11 01:43:13 +00:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2021-07-05 00:54:17 +00:00
|
|
|
checksum = "93ab48844d61251bb3835145c521d88aa4031d7139e8485990f60ca911fa0815"
|
2020-09-11 01:43:13 +00:00
|
|
|
dependencies = [
|
2020-10-05 08:22:19 +00:00
|
|
|
"byteorder",
|
2020-09-11 01:43:13 +00:00
|
|
|
"bzip2",
|
|
|
|
"crc32fast",
|
|
|
|
"flate2",
|
2020-10-05 08:22:19 +00:00
|
|
|
"thiserror",
|
2021-02-10 23:29:49 +00:00
|
|
|
"time 0.1.43",
|
2020-09-11 01:43:13 +00:00
|
|
|
]
|