@wemeetagain One issue I noticed is that if you import from a file without an extension there's no warning anywhere that it's not gonna work. You'll have to wait until running check-build
to realize it's a bad import. Is there any lint rule or something that ensures correct imports at the IDE level while writing code? I think that's mandatory to ensure we don't go crazy after merging this :pray:
Activity
dapplion issue comment ChainSafe/lodestar
dapplion push ChainSafe/lodestar
commit sha: 69a7fde8e63eaa8fd9ff92dcded69aa6af4d4b34
push time in 16 minutes agodapplion merge to ChainSafe/lodestar
Ignore gossip AggregateAndProof if aggregate is seen
Motivation
Address this spec when validating beacon_aggregate_and_proof
gossip message:
[IGNORE] The valid aggregate attestation defined by hash_tree_root(aggregate) has not already been seen (via aggregate gossip, within a verified block, or through the creation of an equivalent aggregate locally).
Description
- Implement
SeenAggregatedAttestations
- Populate seen aggregated attestations from api / gossip / blocks
- Check if the aggregated attestation is seen when validating gossip
AggregateAndProof
message
Closes #3794
TODO
- Deploy and test in a node, make sure it takes less time to validate AggregateAndProof gossip messages
Looks great!
dapplion push ChainSafe/lodestar
commit sha: 2da1ff7624cfb9825d3a6a647b996387f61f7565
push time in 21 minutes agodapplion merge to ChainSafe/lodestar
ESM Support
Use ESM (only) across all lodestar packages.
- Fix linter errors
- Fix
check-types
errors - Fix merge sim tests
- Fix sim tests
- Fix e2e tests
- Fix spec tests
- Fix typescript-docs-verifier - disabled for now
- Fix merge conflicts
dapplion wants to merge ChainSafe/lodestar
ESM Support
Use ESM (only) across all lodestar packages.
- Fix linter errors
- Fix
check-types
errors - Fix merge sim tests
- Fix sim tests
- Fix e2e tests
- Fix spec tests
- Fix typescript-docs-verifier - disabled for now
- Fix merge conflicts
Why the new line export * from "./types.js";
?
dapplion wants to merge ChainSafe/lodestar
ESM Support
Use ESM (only) across all lodestar packages.
- Fix linter errors
- Fix
check-types
errors - Fix merge sim tests
- Fix sim tests
- Fix e2e tests
- Fix spec tests
- Fix typescript-docs-verifier - disabled for now
- Fix merge conflicts
Why importing from lib
and not src
?
dapplion merge to ChainSafe/lodestar
ESM Support
Use ESM (only) across all lodestar packages.
- Fix linter errors
- Fix
check-types
errors - Fix merge sim tests
- Fix sim tests
- Fix e2e tests
- Fix spec tests
- Fix typescript-docs-verifier - disabled for now
- Fix merge conflicts
dapplion issue comment ChainSafe/lodestar
ESM Support
Use ESM (only) across all lodestar packages.
- Fix linter errors
- Fix
check-types
errors - Fix merge sim tests
- Fix sim tests
- Fix e2e tests
- Fix spec tests
- Fix typescript-docs-verifier - disabled for now
- Fix merge conflicts
Note: Multiple unit tests have been skipped, search for TODO remove stub
and fix after merging with non-stubby tests
dapplion issue comment ChainSafe/lodestar
Add good full coverage beacon API tests
What is your question?
Current tests for the beacon API are of sub-optimal quality:
- Very limited coverage
- No assurance that all and future new endpoints are tested
- Require import stubbing
- Extensive use of brittle stubs: which require big diffs when modifying unrelated cost.
In my subjective opinion the current test suite has a very high cost of maintenance with very little return in ensuring the API is correct.
Proposed solution
Proper tests for a the beacon API should:
- Have full coverage
- Ensure programmatically that all endpoints current and future are tested
- Be tested against a full BeaconChain instance without stubbing and with real data. We are already doing this for BeaconChain validation and such data is extremely fast to produce and to run tests against.
More disabled tests
dapplion merge to ChainSafe/lodestar
ESM Support
Use ESM (only) across all lodestar packages.
- Fix linter errors
- Fix
check-types
errors - Fix merge sim tests
- Fix sim tests
- Fix e2e tests
- Fix spec tests
- Fix typescript-docs-verifier - disabled for now
- Fix merge conflicts
dapplion wants to merge ChainSafe/lodestar
ESM Support
Use ESM (only) across all lodestar packages.
- Fix linter errors
- Fix
check-types
errors - Fix merge sim tests
- Fix sim tests
- Fix e2e tests
- Fix spec tests
- Fix typescript-docs-verifier - disabled for now
- Fix merge conflicts
Can't use root exports? Why?
dapplion issue comment ChainSafe/lodestar
ESM Support
Use ESM (only) across all lodestar packages.
- Fix linter errors
- Fix
check-types
errors - Fix merge sim tests
- Fix sim tests
- Fix e2e tests
- Fix spec tests
- Fix typescript-docs-verifier - disabled for now
- Fix merge conflicts
Note, temp imports to change after gossipsub going ESM
dapplion wants to merge ChainSafe/lodestar
ESM Support
Use ESM (only) across all lodestar packages.
- Fix linter errors
- Fix
check-types
errors - Fix merge sim tests
- Fix sim tests
- Fix e2e tests
- Fix spec tests
- Fix typescript-docs-verifier - disabled for now
- Fix merge conflicts
TEMP imports, change after gossipsub goes ESM
dapplion merge to ChainSafe/lodestar
ESM Support
Use ESM (only) across all lodestar packages.
- Fix linter errors
- Fix
check-types
errors - Fix merge sim tests
- Fix sim tests
- Fix e2e tests
- Fix spec tests
- Fix typescript-docs-verifier - disabled for now
- Fix merge conflicts
dapplion wants to merge ChainSafe/lodestar
ESM Support
Use ESM (only) across all lodestar packages.
- Fix linter errors
- Fix
check-types
errors - Fix merge sim tests
- Fix sim tests
- Fix e2e tests
- Fix spec tests
- Fix typescript-docs-verifier - disabled for now
- Fix merge conflicts
Note to open an issue for this TODO
dapplion merge to ChainSafe/lodestar
ESM Support
Use ESM (only) across all lodestar packages.
- Fix linter errors
- Fix
check-types
errors - Fix merge sim tests
- Fix sim tests
- Fix e2e tests
- Fix spec tests
- Fix typescript-docs-verifier - disabled for now
- Fix merge conflicts
dapplion wants to merge ChainSafe/lodestar
ESM Support
Use ESM (only) across all lodestar packages.
- Fix linter errors
- Fix
check-types
errors - Fix merge sim tests
- Fix sim tests
- Fix e2e tests
- Fix spec tests
- Fix typescript-docs-verifier - disabled for now
- Fix merge conflicts
getSignedBlockTypeFromBytes
should be in util/multifork
not lodestar-beacon-state-transition
dapplion merge to ChainSafe/lodestar
ESM Support
Use ESM (only) across all lodestar packages.
- Fix linter errors
- Fix
check-types
errors - Fix merge sim tests
- Fix sim tests
- Fix e2e tests
- Fix spec tests
- Fix typescript-docs-verifier - disabled for now
- Fix merge conflicts
dapplion wants to merge ChainSafe/lodestar
ESM Support
Use ESM (only) across all lodestar packages.
- Fix linter errors
- Fix
check-types
errors - Fix merge sim tests
- Fix sim tests
- Fix e2e tests
- Fix spec tests
- Fix typescript-docs-verifier - disabled for now
- Fix merge conflicts
How is this metricsRegistry then connected to the metrics server?
dapplion merge to ChainSafe/lodestar
ESM Support
Use ESM (only) across all lodestar packages.
- Fix linter errors
- Fix
check-types
errors - Fix merge sim tests
- Fix sim tests
- Fix e2e tests
- Fix spec tests
- Fix typescript-docs-verifier - disabled for now
- Fix merge conflicts
dapplion wants to merge ChainSafe/lodestar
ESM Support
Use ESM (only) across all lodestar packages.
- Fix linter errors
- Fix
check-types
errors - Fix merge sim tests
- Fix sim tests
- Fix e2e tests
- Fix spec tests
- Fix typescript-docs-verifier - disabled for now
- Fix merge conflicts
Why is chain exported? How is using it directly?
dapplion merge to ChainSafe/lodestar
ESM Support
Use ESM (only) across all lodestar packages.
- Fix linter errors
- Fix
check-types
errors - Fix merge sim tests
- Fix sim tests
- Fix e2e tests
- Fix spec tests
- Fix typescript-docs-verifier - disabled for now
- Fix merge conflicts
dapplion wants to merge ChainSafe/lodestar
ESM Support
Use ESM (only) across all lodestar packages.
- Fix linter errors
- Fix
check-types
errors - Fix merge sim tests
- Fix sim tests
- Fix e2e tests
- Fix spec tests
- Fix typescript-docs-verifier - disabled for now
- Fix merge conflicts
The point of this file was to import lockfile only when needed. lockfile
library attaches listeners to the process, so I wanted that to only happen when necessary
dapplion merge to ChainSafe/lodestar
ESM Support
Use ESM (only) across all lodestar packages.
- Fix linter errors
- Fix
check-types
errors - Fix merge sim tests
- Fix sim tests
- Fix e2e tests
- Fix spec tests
- Fix typescript-docs-verifier - disabled for now
- Fix merge conflicts
dapplion merge to ChainSafe/lodestar
ESM Support
Use ESM (only) across all lodestar packages.
- Fix linter errors
- Fix
check-types
errors - Fix merge sim tests
- Fix sim tests
- Fix e2e tests
- Fix spec tests
- Fix typescript-docs-verifier - disabled for now
- Fix merge conflicts
dapplion wants to merge ChainSafe/lodestar
ESM Support
Use ESM (only) across all lodestar packages.
- Fix linter errors
- Fix
check-types
errors - Fix merge sim tests
- Fix sim tests
- Fix e2e tests
- Fix spec tests
- Fix typescript-docs-verifier - disabled for now
- Fix merge conflicts
Why not lint test anymore?
dapplion wants to merge ChainSafe/lodestar
ESM Support
Use ESM (only) across all lodestar packages.
- Fix linter errors
- Fix
check-types
errors - Fix merge sim tests
- Fix sim tests
- Fix e2e tests
- Fix spec tests
- Fix typescript-docs-verifier - disabled for now
- Fix merge conflicts
Yeah it looks nasty hahaha now I see why the test-utils package
dapplion merge to ChainSafe/lodestar
ESM Support
Use ESM (only) across all lodestar packages.
- Fix linter errors
- Fix
check-types
errors - Fix merge sim tests
- Fix sim tests
- Fix e2e tests
- Fix spec tests
- Fix typescript-docs-verifier - disabled for now
- Fix merge conflicts
dapplion wants to merge ChainSafe/lodestar
ESM Support
Use ESM (only) across all lodestar packages.
- Fix linter errors
- Fix
check-types
errors - Fix merge sim tests
- Fix sim tests
- Fix e2e tests
- Fix spec tests
- Fix typescript-docs-verifier - disabled for now
- Fix merge conflicts
What the reason for an async function that instantiates the ValidatorDir class? It turns a bunch of functions async downstream
ESM Support
Use ESM (only) across all lodestar packages.
check-types
errors