Commit Graph

99 Commits

Author SHA1 Message Date
philknows
62d3e49f28 chore: bump package versions to 1.38.0 2025-12-10 11:44:00 -05:00
philknows
2303b06a91 chore: bump package versions to 1.37.0 2025-11-28 10:17:20 -05:00
philknows
6eb05a083a chore: bump package versions to 1.36.0 2025-11-04 12:28:29 -05:00
Nazar Hussain
a0d00ac6dc chore: cleanup types exports for all packages (#8434)
**Motivation**

Make the types exports consistent for all packages. 

All modern runtimes support [conditional
exports](https://nodejs.org/api/packages.html#conditional-exports) and
there are caveats when we have both conditional exports and normal
exports present in a package.json. This PR tend to make all exports
follow same consistent and modern pattern.

**Description**

- We were using subpath exports for some packages and module exports for
other
- Keep all the types export consistent as subpath exports.
- Remove "types" and "exports` directive from package.json 
- Remove `typesVersions`, this is useful only if we have different
version of types for different versions of Typescript. Or having
different types files for different file paths.


**Steps to test or reproduce**

- Run all CI
2025-10-20 09:03:08 -04:00
philknows
825a186b76 chore: bump package versions to 1.35.0 2025-10-08 18:10:13 -04:00
Nazar Hussain
8689cc3545 chore: add src to the package to have working source map (#8460)
**Motivation**

Add `src` directory to package sources along with the `lib` files to
have working source map.

**Description**

- Add `src` to the files.


**Steps to test or reproduce**

- Run all tests
2025-09-25 07:23:58 -04:00
Cayman
6494939cd0 chore: add bun exports to packages (#8448)
**Motivation**

- #7280 

**Description**

- Add `"bun"` export to all packages that points to the _typescript
source_ rather than the transpiled javascript
- Allows for bun to use typescript directly
2025-09-23 12:19:11 +01:00
Phil Ngo
86490969b7 chore: bump package versions to 1.34.1 2025-09-10 16:34:42 -04:00
Phil Ngo
1a17514b02 chore: bump package versions to 1.34.0 2025-09-05 12:24:08 -04:00
Phil Ngo
7afce97ce3 chore: bump package versions to 1.33.0 2025-07-31 15:05:32 -04:00
Phil Ngo
36dbfb2cfe chore: bump package versions to 1.32.0 2025-07-09 14:35:57 -04:00
Phil Ngo
8847b4a92b chore: bump package versions to 1.31.0 2025-06-03 14:16:18 -04:00
Phil Ngo
123eb2d9fb chore: bump package versions to 1.30.0 2025-05-09 12:15:00 -04:00
Matthew Keil
9c538e3a8f feat: make aggregate with randomness async again (#7761)
**Motivation**

Gnosis analysis shows that there is a lot of time spent on main thread
for running aggregateWithRandomness on main thread. Now that libp2p@v2
is more stable and so are some of the other conditions that triggered
our revert last time, looking to check this again to see what the
metrics look like for running not on main thread.

---------

Co-authored-by: Nico Flaig <nflaig@protonmail.com>
2025-05-08 13:08:58 -04:00
Nico Flaig
fa898bb319 chore: restructure tests (#7793)
Follow up to https://github.com/ChainSafe/lodestar/pull/7610 with a few
restructuring suggestions, see comments below for detailed changes,
revives constants tests we are no longer running in CI and makes each
package executable separately again, ie. `cd packages/<package-name>`
into `yarn test:unit` works for all packages again.

One major change is that unit tests default should be written with
`mainnet` preset in mind as I noticed that makes a lot more sense for a
bunch of existing tests, eg. we have tests that depend on external
fixtures, like api spec tests for events and those are not compatible
with `minimal` preset. Also there doesn't seem to be much downside in
most cases for unit tests to use `mainnet` preset as it does not run
through all the epoch, like for example a e2e or sim test does. So
overall, it allows us to use mainnet fixtures / more "real world" data
which seems better with little to no downside.


Time comparison running unit tests on `unstable` vs. this branch

**unstable**

![image](https://github.com/user-attachments/assets/ba9c8e68-ec1a-4cb7-90fc-eb00cedae4bf)

**nflaig/restructure-tests**

![image](https://github.com/user-attachments/assets/0ffab5a4-4a71-42e1-a26e-32fc5627b873)

There is just a difference of 2 seconds (might be a fluke) in a 6 minute
run, this seems acceptable to me considering the benefits of using
`mainnet` preset noted above.
2025-05-07 18:21:12 +01:00
Nazar Hussain
c91cd9c141 test: use vitest workspace to run all tests (#7610)
**Motivation**

Vitest workspaces is feature to mimic the package manager workspaces for
the tests only.

It provides following benefits:

1. Minimize the need the bunch of config files at every package root 
2. Consolidate vitest configuration in project groups
3. Use consistent test configuration for all projects in the monorepo
4. Providing consistent test environment for all packages
5. Speed up visual interaction with tests in the IDEs (e.g. Visual
Studio Code)

**Description**

- Remove all unnecessary config files
- Update package json scripts to use `--project` flag

Closes #7603


Now we have following test directories. 

| Directory | Description | CurrentPreset | Old Preset | 
|---|---|---|---|
| test/unit | Unit tests | minimal | Default export from `params`
package |
| test/unit-mainnet | Unit tests | mainnet | mainnet | 
| test/e2e | End-to-End Tests | minimal | Default export from `params`
package |
| test/e2e-mainnet | End-to-End Tests | mainnet | Never existed before,
mixed up pattern in different packages |
| test/spec | Spec tests | minimal | Default export from `params`
package, but common perception among team was that it's running with
`minimal` |
| test/spec-mainnet` | Spec tests | mainnet | Never existed as
directory, but mixed up among packages |
| test/browser | Symlink to `unit` for packages which supports browsers
| minimal | Default export from `params` package |
| test/types | Types test | minimal | Default export from `params`
package |


**Steps to test or reproduce**

Run all tests
2025-04-22 11:33:36 +02:00
Nico Flaig
51613f0fb0 chore: bump package versions to 1.29.0 2025-04-19 16:27:49 +01:00
Phil Ngo
40d04deac5 chore: bump package versions to 1.28.1 2025-03-20 13:35:15 -04:00
Nico Flaig
461532eeed chore: bump package versions to 1.28.0 2025-03-18 18:38:52 +00:00
Nazar Hussain
51efa3d604 chore: update the test runner (#7404)
**Motivation**

Update vitest and browser engine.

**Description**

- Move root level shared configs to `configs` directory
- Update to vitest 3.x
- Migrate from `webdriverio` to `playwright` which is more stable and
recommended by Vitest.

**NOTE**
Reverted the `playwright` upgrade. See the comments. 


d2a7af0308/configs/vitest.config.base.browser.ts (L41-L43)

**Steps to test or reproduce**

Run all tests
2025-02-27 10:27:43 -05:00
Nico Flaig
3b0ca8df3b chore: bump package versions to 1.27.1 2025-02-24 14:58:39 +00:00
Phil Ngo
2ddcd2052c chore: bump package versions to 1.27.0 2025-02-13 09:06:43 -05:00
Cayman
9fbef39cf8 feat: revert "feat: asyncAggregateWithRandomness (#7204) (#7435)" (#7450)
This reverts commit a7755ad031.
2025-02-11 16:34:38 -05:00
Cayman
a7755ad031 feat: asyncAggregateWithRandomness (#7204) (#7435)
- repeat of #7204 because we reverted it
- See the review in https://github.com/ChainSafe/lodestar/pull/6483

Co-authored-by: Matthew Keil <me@matthewkeil.com>
2025-02-07 14:39:14 -05:00
Phil Ngo
6fb5b9a81b chore: bump package versions to 1.26.0 2025-01-31 11:25:02 -05:00
Phil Ngo
e30fd40c05 chore: bump package versions to 1.25.0 2025-01-10 12:07:35 -05:00
Cayman
ca315d4d9e chore: bump package versions to 1.24.0 2024-12-20 10:16:01 -05:00
Phil Ngo
36be6b39d1 chore: bump package versions to 1.23.1 2024-11-28 12:54:20 -05:00
Matthew Keil
a00dbf0dc5 chore: revert async aggregate with randomness (#7218)
Revert "feat: asyncAggregateWithRandomness (#7204)"

This reverts commit e31d535bb5.
2024-11-07 20:38:31 +08:00
Cayman
70f67bbfe9 chore: bump package versions to 1.23.0 2024-10-29 17:02:01 -04:00
Matthew Keil
e31d535bb5 feat: asyncAggregateWithRandomness (#7204)
* chore: update blst to 2.2.0

* feat: make aggregateWithRandomness async

* feat: update metrics and remove stale comment

* fix: metric collection value

* feat: remove duplicate/unused metrics from asyncAggregateWithRandomness
2024-10-29 14:48:32 -04:00
Matthew Keil
717abf35f2 chore: portable blst (#7164)
* chore: add temp-deps blst

* chore: update packages to point to temp-deps

* chore: remove temp-deps

* chore: use 2.1.0 portable version of blst-ts

* chore: fix formatting
2024-10-22 12:06:54 -04:00
Nazar Hussain
5c359f92dc deps: migrate to biomejs from eslint (#7108)
* Replace eslint with biomejs

* Update the inclusion of word

* Fix the formatting

* Update the lint task to do all checks

* Update biome rules from eslint config

* Replace eslint with biomejs

* Update the inclusion of word

* Fix the formatting

* Update the lint task to do all checks

* Update biome rules from eslint config

* Fix all lint issues

* Fix formatting

* Add extension recomendation for vscode

* Enable recommended rules

* Enable rule noUselessSwitchCase

* Enable rule noUselessConstructor

* Fix the types

* Fix unit tests

* Enforce import extensions

* Update the cli command

* Enforce useConsistentMemberAccessibility

* Update rules

* Fix rules

* Upgrade biomejs to latest version

* Update the rules

* Update and format the config file

* Fix types break during merge

* Fix unused check

* Add comment for explicit-return-type

* Remove eslint file

* Add _e objects for empty catch blocks

* Update formatter config

* Fix formatting
2024-10-10 12:43:36 -04:00
Phil Ngo
25837f61fe Merge branch 'stable' into unstable 2024-09-17 14:45:18 -04:00
Cayman
360fe779cd chore: bump package versions to 1.21.0 2024-08-06 16:58:51 -04:00
Matthew Keil
3ecee0797a chore: bump blst-ts version (#6980)
* chore: bump blst-ts version

* chore: delete personal script
2024-07-26 19:21:00 +01:00
Cayman
2b627548d1 feat: use napi-rs blst bindings (#6894) 2024-07-25 14:13:59 +07:00
Phil Ngo
01fde1283f chore: bump package versions to 1.20.2 2024-07-19 07:55:30 -04:00
Cayman
71bcde86de chore: bump package versions to 1.20.1 2024-07-15 16:17:24 -04:00
Phil Ngo
b49beacb42 chore: bump package versions to 1.20.0 2024-07-09 11:54:24 -04:00
Cayman
6c987446e3 chore: bump package versions to 1.19.0 2024-06-04 15:34:44 -04:00
Cayman
cbb894688c fix: revert napi bls (#6853)
* Revert "feat: use @chainsafe/blst directly (#6706)"

This reverts commit 66fe753cd7.

* Revert "feat: switch bls to napi rebuild (#6616)"

This reverts commit 97d9aa8b0c.
2024-06-04 15:33:20 -04:00
Cayman
66fe753cd7 feat: use @chainsafe/blst directly (#6706)
* feat: use @chainsafe/blst directly

* chore: update to blst@1.0.1

* refactor: remove randomBytesNonZero and user blst exported version

* chore: update blst references

* test: catch invalid deserialization in spec tests and return false

* feat: create signatureFromBytes and signatureFromBytesNoCheck in utils package

* feat: implement signatureFromBytes from utils package

* feat: implement signatureFromBytes everywhere

* fix: light-client empty module for blst

---------

Co-authored-by: matthewkeil <me@matthewkeil.com>
2024-05-24 13:55:06 -04:00
Cayman
d0893ab817 Merge branch 'stable' into unstable 2024-05-13 05:08:21 -04:00
Phil Ngo
fe1e8c2b18 chore: bump package versions to 1.18.1 2024-05-13 03:25:35 -04:00
Matthew Keil
97d9aa8b0c feat: switch bls to napi rebuild (#6616)
* chore: update package.json deps and run yarn

* feat: remove unused blst config from vitest.browser.*.config.ts

* test: move G2@INF test to base blst repo.  No longer exported.

* fix: add Uint8Array.from for Buffer return value in unit test so type matches for toEqual

* refactor: update imports of CoordType to use bls instead of blst

* feat: add blsAddVerificationRandomness cli option

* feat: add randomBytesNonZero to utils

* feat: implement verification randomness for same message

* feat: implement napi blst and switch to libuv worker pool

* chore: lint

* fix: update comments for availableParallelism

* feat: set UV_THREADPOOL_SIZE for perf tests

* feat: set UV_THREADPOOL_SIZE=$(nproc) in lodestar entrance script

* feat: remove case for serialized PublicKey in deserializeSet

* feat: add back workBusy count logic to canAcceptWork

* feat: automatically set threadpool size in beaconHandler

* refactor: rename flag to disableSameMessageVerificationRandomness

* fix: remove UV_THREADPOOL_SIZE from ./lodestar

* docs: add TODO about updating metrics

* fix: make benchmark multi threading cross-compatible

* chore: add bls@8.0.0

* feat: default to added randomness

* feat: add warning for no same message randomness

* fix: passing to updated bls functions

* feat: add blst peerDep

* fix: default to same message randomness

* chore: update yarn.lock

* chore: remove unused function to clear lint

* feat: break out setThreadPoolSize

* docs: update packages/cli/src/cmds/beacon/setThreadPoolSize.ts

Co-authored-by: Nico Flaig <nflaig@protonmail.com>

* chore: update location for blst dep

* chore: run lint again

* fix: remove peerDep from light-client

* test: fix browser based tests

* fix: bad relative imports

* docs: add note to readme about switchable bls

* docs: typo

* chore: lint readme

* fix: light-client unit tests

* fix: light-client e2e test

* feat: remove disableSameMessageVerificationRandomness

* refactor: remove unused type

* docs: update wordlist

* fix: e2e tests

* Lint package.json

* Revert "fix: e2e tests"

This reverts commit f71acd7d6d.

* Revert "fix: light-client e2e test"

This reverts commit 23c11f0a7d.

* Revert "fix: light-client unit tests"

This reverts commit fa7893ed8e.

* Revert "test: fix browser based tests"

This reverts commit 98d04ab172.

* docs: update readme to remove switchable bls argument

* fix: replace optimizeDeps in vitest.browser.config

* chore: updated to bls 8.1.0

* feat: move setting threadpool size and warnings to applyPreset.ts

* fix: remove setThreadpoolSize from beacon handler

* feat: move libuv size logging into handler to use logger

* refactor: rename applyPreset to preInitialization

* refactor: logging about pool size

* Update packages/cli/src/options/globalOptions.ts

Co-authored-by: Nico Flaig <nflaig@protonmail.com>

* refactor: rename prover applyPreset

* docs: change comment in cli/index

* fix: update logging for

* fix: throw error for invalid uvThreadpoolSize

* Update packages/cli/src/preInitialization.ts

Co-authored-by: Nico Flaig <nflaig@protonmail.com>

* Fix lint issues

* Remove unused import

* refactor: move bls pool logging back to multithread.ts

* fix: log of threadcount

---------

Co-authored-by: Nico Flaig <nflaig@protonmail.com>
2024-04-24 09:09:41 -04:00
Cayman
71aea4b1c8 chore: bump package versions to 1.18.0 2024-04-23 14:32:10 -04:00
Phil Ngo
88b2564e4f v1.17.0 2024-03-08 10:39:20 -05:00
Cayman
fda3b19c4f v1.16.0 2024-02-20 13:16:26 -05:00
Julien
54bedcbff7 chore: upgrade bls (#6413) 2024-02-09 23:08:49 -05:00