Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(tests/rpc): ensure new blocks are created before assert #3042

Merged
merged 3 commits into from
Jan 12, 2023

Conversation

EclesioMeloJunior
Copy link
Member

Changes

  • Wait for Gossamer to produce a new block ahead of the finalized one

Tests

MODE=rpc go test -timeout 10m -run ^TestChainRPC$ github.com/ChainSafe/gossamer/tests/rpc --tags=integration -v

Issues

Primary Reviewer

@jimjbrettj

@codecov
Copy link

codecov bot commented Jan 12, 2023

Codecov Report

Merging #3042 (8ee821f) into development (cd4dd25) will decrease coverage by 0.01%.
The diff coverage is n/a.

Additional details and impacted files
@@               Coverage Diff               @@
##           development    #3042      +/-   ##
===============================================
- Coverage        51.45%   51.44%   -0.02%     
===============================================
  Files              219      219              
  Lines            28011    28011              
===============================================
- Hits             14414    14411       -3     
- Misses           12310    12312       +2     
- Partials          1287     1288       +1     

Copy link
Contributor

@qdm12 qdm12 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Awesome 🎉 That drove me mad and didn't get the time to fix it, thanks!! 👍 🎖️

tests/rpc/rpc_03-chain_test.go Outdated Show resolved Hide resolved
Co-authored-by: Quentin McGaw <quentin.mcgaw@gmail.com>
Copy link
Contributor

@jimjbrettj jimjbrettj left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good work!

@EclesioMeloJunior EclesioMeloJunior merged commit a116d58 into development Jan 12, 2023
@EclesioMeloJunior EclesioMeloJunior deleted the eclesio/fix-flaky-test-TestChainRPC branch January 12, 2023 23:57
github-actions bot pushed a commit that referenced this pull request Dec 11, 2023
# [0.8.0](v0.7.0...v0.8.0) (2023-12-11)

### Bug Fixes

* **.github/workflows:** update node.js version ([#3637](#3637)) ([619be1b](619be1b))
* **babe:** Add support for versioned NextConfigData decoding ([#3239](#3239)) ([5ee3a64](5ee3a64))
* **blockstate:** if blocktree fails to search a hash in memory, load it from disk ([#3059](#3059)) ([6442544](6442544))
* cache slot to header data while checking BABE equivocation ([#3364](#3364)) ([dcfa4a4](dcfa4a4))
* **chain:** Fix `chain=westend` option  ([#3123](#3123)) ([64dbba6](64dbba6))
* **ci:** cancel previous workflow runs ([#3140](#3140)) ([a322a19](a322a19))
* **ci:** fix all Deepsource issues ([#3046](#3046)) ([4ea0a70](4ea0a70))
* **ci:** fix broken docker build ([#3231](#3231)) ([f796430](f796430))
* **ci:** Fix staging metrics collection ([#3138](#3138)) ([05a5c4c](05a5c4c))
* **cli:** parse module log-levels ([#3285](#3285)) ([86c7577](86c7577))
* **cmd/gossamer:** embed default toml config files ([#3091](#3091)) ([af38364](af38364))
* **cmd/gossamer:** update error message ([#3301](#3301)) ([960a9d4](960a9d4))
* **dot/babe:** use `bs.latestFinalised` instead of using `round/set id` ([#3167](#3167)) ([46c0ef7](46c0ef7))
* **dot/digest:** create `BlockImportHandler` and remove channel ([#3312](#3312)) ([a179855](a179855))
* **dot/network:** `findPeers` returns on timeout if a peer is found ([#3001](#3001)) ([2a05ce7](2a05ce7))
* **dot/network:** remove `maxReads` limitation to read stream ([#3287](#3287)) ([483b23f](483b23f))
* **dot/state:** clean up scheduled changes once a forced change is applied ([#3219](#3219)) ([5ebec46](5ebec46))
* **dot/state:** fix a bug in IsDescendantOf ([#3125](#3125)) ([4fd4a89](4fd4a89))
* **dot/state:** store raw authority keys and decode when verifying block signature ([#3627](#3627)) ([58f741d](58f741d))
* **dot/sync:** fix `Timestamp slot must match 'CurrentSlot'` while using `westend` spec file ([#3040](#3040)) ([e6da01b](e6da01b))
* **dot/sync:** Revert verify justification before importing blocks ([#3615](#3615)) ([11b96dc](11b96dc))
* **dot/sync:** rework on bootstrap/tip sync ([#3227](#3227)) ([ab6650a](ab6650a))
* **dot/sync:** use `Range` instead of `SubChain` at `handleDescedingRequest` ([#3006](#3006)) ([a83c1a3](a83c1a3))
* **dot/sync:** verify justification before importing blocks ([#3576](#3576)) ([2954fc0](2954fc0))
* **dot/sync:** wrong error message at `checkOrGetDescendantHash` ([#2971](#2971)) ([b1c6bf1](b1c6bf1))
* **dot:** use tempDir in tests as base path to avoid creating `dot/~` ([#3363](#3363)) ([04514d5](04514d5))
* **go.mod:** Replace `centrifuge/go-substrate-rpc-client` dependency to `timwu20/go-substrate-rpc-client` temporarily to fix build ([#3572](#3572)) ([ea49251](ea49251))
* **lib/babe:** Add context and additional assertion to TestBuildBlock_ok ([#3101](#3101)) ([a9a89ed](a9a89ed))
* **lib/babe:** rewrite TestBuildBlock_failing ([#3089](#3089)) ([28a3d0b](28a3d0b))
* **lib/babe:** use current system time to yield a new slot ([#3133](#3133)) ([9cd6f25](9cd6f25))
* **lib/grandpa:**  on verifying block justification, compare given block hash with finalised hash ([#3081](#3081)) ([fc91843](fc91843))
* **lib/grandpa:** ensure `finalisationEngine` exits when stop channel is triggered ([#3141](#3141)) ([d7f7c06](d7f7c06))
* **lib/runtime:** `ext_default_child_storage_next_key_version_1` return `None` correctly ([#3473](#3473)) ([c7d574b](c7d574b))
* **lib/runtime:** Fix `wasm error: out of bounds memory access` at `[#9412261](https://github.com/ChainSafe/gossamer/issues/9412261)` ([#3588](#3588)) ([ecb1ad9](ecb1ad9))
* **lib/runtime:** prevents polkadot zero-address bug using `sr25519_verify` version 1 ([#3494](#3494)) ([8b93d5e](8b93d5e))
* **lib/runtime:** return correct encoded value for `None` ([#3451](#3451)) ([3e11bc2](3e11bc2))
* **lib/runtime:** update `MaxPossibleAllocation` to `2^25` ([#3393](#3393)) ([91eabdc](91eabdc))
* **lib/runtime:** use `westend-dev` spec file in `TestNodeRuntime_ValidateTransaction` ([#3047](#3047)) ([043f5eb](043f5eb))
* **lib/trie:** `ClearFromChild` should update parent trie ([#3482](#3482)) ([70e2d2b](70e2d2b))
* **lib/trie:** create an empty child trie if not found ([#3459](#3459)) ([5d68447](5d68447))
* **lib/trie:** record deleted Merkle values fixed ([#2873](#2873)) ([61f0216](61f0216))
* **peerset:** check for incoming slot error ([#2952](#2952)) ([a1602bc](a1602bc))
* **rpc-tests:** Fix node port to execute tests on macOS ([#3223](#3223)) ([f758575](f758575))
* **rpc/modules:** use `westend-local` in `TestAuthorModule_SubmitExtrinsic_invalid` test ([#3051](#3051)) ([b6429b7](b6429b7))
* **runtime:** initialize TransactionState when creating runtime instance ([#3188](#3188)) ([29fe7a0](29fe7a0))
* **scale:** Use *int for scale index ([#3274](#3274)) ([9b04d30](9b04d30))
* **staging:** fixes the staging deployment issues caused by the new cli ([#3266](#3266)) ([1f4e786](1f4e786))
* **state:** clarify node hashes vs merkle values ([#2915](#2915)) ([e4033e8](e4033e8))
* **test/rpc:** use `westend-local` in `TestStateRPCAPI` ([#3049](#3049)) ([c57ade6](c57ade6))
* **tests/polkadot_js:** Use `westend-local` to run polkadot js test suite ([#3052](#3052)) ([2d5ead1](2d5ead1))
* **tests/rpc:** ensure new blocks are created before assert ([#3042](#3042)) ([a116d58](a116d58))
* **tests/rpc:** flaky test `TestChainSubscriptionRPC/chain_subscribeNewHeads` ([#3092](#3092)) ([5b56238](5b56238))
* **tests/rpc:** place `GreaterOrEqual` arguments in the correct order at `chain_subscribeNewHeads` test ([#3137](#3137)) ([33bdf28](33bdf28))
* **tests:** Export unimplemented runtime fuctions ([#3461](#3461)) ([3e4546c](3e4546c))
* **trie:** do not create buffer for nil child ([#2928](#2928)) ([d70af4f](d70af4f))
* **wasmer:** `ext_storage_exists_version_1` for empty values ([#2973](#2973)) ([059268e](059268e))

### Features

* **chain:** Add Westend network as command line `chain` option ([#3103](#3103)) ([d9cdd45](d9cdd45))
* **chain:** remove unneeded spec files ([#3086](#3086)) ([c76387d](c76387d))
* **cli:** use a single flag for log level in the CLI ([#3303](#3303)) ([caf3ea4](caf3ea4))
* **dot/network:** introduce libp2p resource manager + prometheus metrics ([#3333](#3333)) ([f166746](f166746))
* **dot/rpc:** export block trie state entries for a block hash ([#3607](#3607)) ([43828fe](43828fe))
* **dot/rpc:** implement RPC method state_queryStorageAt ([#3191](#3191)) ([3bbdfe0](3bbdfe0))
* **dot/state:** create `Range` to traverse the blocktree and the blocks in the disk ([#2990](#2990)) ([4442eee](4442eee))
* **dot/state:** keep latest state trie in memory ([#3386](#3386)) ([421d087](421d087))
* **dot/sync:** include block origin and skip extra validation on `initialSync` ([#3392](#3392)) ([8e1650e](8e1650e))
* **dot/sync:** Remove the `EndBlockHash` from `BlockRequestMessage` ([#2977](#2977)) ([b25e0b4](b25e0b4))
* **internal/database:** replace `chaindb/badgerdb` with `pebbledb` ([#3434](#3434)) ([344461d](344461d))
* introduces `SaturatingAdd` and `SaturatingSub` ([#3519](#3519)) ([daa9e25](daa9e25))
* **lib/allocator:** Refactor `FreeingBumpHeapAllocator` ([#3570](#3570)) ([39ca47f](39ca47f))
* **lib/babe:** Submit BABE equivocation report  ([#2947](#2947)) ([55de62e](55de62e)), closes [#2853](#2853)
* **lib/blocktree:** reduce the entries in the runtimes mapping ([#3151](#3151)) ([1a34972](1a34972))
* **lib/grandpa:** include `t.Parallel()` to all `lib/grandpa` tests ([#2840](#2840)) ([5c93488](5c93488))
* **lib/runtime/wasmer:** report grandpa equivocations ([#3007](#3007)) ([e63aeea](e63aeea))
* **lib/runtime:** `wazero` implementation of `runtime.Instance` ([#3279](#3279)) ([115d6f5](115d6f5))
* **lib/runtime:** add extra required runtime imports for parachain validation ([#3254](#3254)) ([dc1a521](dc1a521))
* **lib/runtime:** Update default `runtime.Instance` to `wazero` ([#3352](#3352)) ([308b10a](308b10a))
* **pkg/scale:** `VaryingDataType` String method ([#2970](#2970)) ([841636e](841636e))
* **pkg/scale:** Add `Marshaler` and `Unmarshaler` interfaces and functionality ([#3617](#3617)) ([4888ce4](4888ce4))
* **pkg/scale:** Use `New()` receiver function for construction of custom `VaryingDataType`  ([#3315](#3315)) ([9688f6c](9688f6c))
* **runtime/wasmer:** create wrapper around wasmer.Memory  ([#3160](#3160)) ([fc1055d](fc1055d))
* **runtime/wasmer:** write wasmer using latest wasmer version ([#3168](#3168)) ([32f1aa8](32f1aa8))
* **scale:** add `MustMarshal` function ([#2991](#2991)) ([32a80aa](32a80aa))
* **sync:** Validate bad blocks ([#3220](#3220)) ([0d0354b](0d0354b))
* **telemetry:** Add scheduled and force changes telemetry metrics ([#3226](#3226)) ([c53b1cd](c53b1cd))
* **trie:** Add trie v1 new headers support ([#3295](#3295)) ([c30f463](c30f463))
* **zombienet:** Add javascript tests to zombienet testing ([#3200](#3200)) ([aca9a5b](aca9a5b))
* **zombienet:** add zombienet testing to github workflow ([#3192](#3192)) ([d788bd6](d788bd6))

### Reverts

* **lib/runtime:** rollback wasmer update `PR[#3168](https://github.com/ChainSafe/gossamer/issues/3168)` ([#3264](#3264)) ([e7ff0cf](e7ff0cf))
Copy link

🎉 This PR is included in version 0.8.0 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

timwu20 pushed a commit that referenced this pull request Apr 18, 2024
# [0.8.0](v0.7.0...v0.8.0) (2023-12-11)

### Bug Fixes

* **.github/workflows:** update node.js version ([#3637](#3637)) ([619be1b](619be1b))
* **babe:** Add support for versioned NextConfigData decoding ([#3239](#3239)) ([5ee3a64](5ee3a64))
* **blockstate:** if blocktree fails to search a hash in memory, load it from disk ([#3059](#3059)) ([6442544](6442544))
* cache slot to header data while checking BABE equivocation ([#3364](#3364)) ([dcfa4a4](dcfa4a4))
* **chain:** Fix `chain=westend` option  ([#3123](#3123)) ([64dbba6](64dbba6))
* **ci:** cancel previous workflow runs ([#3140](#3140)) ([a322a19](a322a19))
* **ci:** fix all Deepsource issues ([#3046](#3046)) ([4ea0a70](4ea0a70))
* **ci:** fix broken docker build ([#3231](#3231)) ([f796430](f796430))
* **ci:** Fix staging metrics collection ([#3138](#3138)) ([05a5c4c](05a5c4c))
* **cli:** parse module log-levels ([#3285](#3285)) ([86c7577](86c7577))
* **cmd/gossamer:** embed default toml config files ([#3091](#3091)) ([af38364](af38364))
* **cmd/gossamer:** update error message ([#3301](#3301)) ([960a9d4](960a9d4))
* **dot/babe:** use `bs.latestFinalised` instead of using `round/set id` ([#3167](#3167)) ([46c0ef7](46c0ef7))
* **dot/digest:** create `BlockImportHandler` and remove channel ([#3312](#3312)) ([a179855](a179855))
* **dot/network:** `findPeers` returns on timeout if a peer is found ([#3001](#3001)) ([2a05ce7](2a05ce7))
* **dot/network:** remove `maxReads` limitation to read stream ([#3287](#3287)) ([483b23f](483b23f))
* **dot/state:** clean up scheduled changes once a forced change is applied ([#3219](#3219)) ([5ebec46](5ebec46))
* **dot/state:** fix a bug in IsDescendantOf ([#3125](#3125)) ([4fd4a89](4fd4a89))
* **dot/state:** store raw authority keys and decode when verifying block signature ([#3627](#3627)) ([58f741d](58f741d))
* **dot/sync:** fix `Timestamp slot must match 'CurrentSlot'` while using `westend` spec file ([#3040](#3040)) ([e6da01b](e6da01b))
* **dot/sync:** Revert verify justification before importing blocks ([#3615](#3615)) ([11b96dc](11b96dc))
* **dot/sync:** rework on bootstrap/tip sync ([#3227](#3227)) ([ab6650a](ab6650a))
* **dot/sync:** use `Range` instead of `SubChain` at `handleDescedingRequest` ([#3006](#3006)) ([a83c1a3](a83c1a3))
* **dot/sync:** verify justification before importing blocks ([#3576](#3576)) ([2954fc0](2954fc0))
* **dot/sync:** wrong error message at `checkOrGetDescendantHash` ([#2971](#2971)) ([b1c6bf1](b1c6bf1))
* **dot:** use tempDir in tests as base path to avoid creating `dot/~` ([#3363](#3363)) ([04514d5](04514d5))
* **go.mod:** Replace `centrifuge/go-substrate-rpc-client` dependency to `timwu20/go-substrate-rpc-client` temporarily to fix build ([#3572](#3572)) ([ea49251](ea49251))
* **lib/babe:** Add context and additional assertion to TestBuildBlock_ok ([#3101](#3101)) ([a9a89ed](a9a89ed))
* **lib/babe:** rewrite TestBuildBlock_failing ([#3089](#3089)) ([28a3d0b](28a3d0b))
* **lib/babe:** use current system time to yield a new slot ([#3133](#3133)) ([9cd6f25](9cd6f25))
* **lib/grandpa:**  on verifying block justification, compare given block hash with finalised hash ([#3081](#3081)) ([fc91843](fc91843))
* **lib/grandpa:** ensure `finalisationEngine` exits when stop channel is triggered ([#3141](#3141)) ([d7f7c06](d7f7c06))
* **lib/runtime:** `ext_default_child_storage_next_key_version_1` return `None` correctly ([#3473](#3473)) ([c7d574b](c7d574b))
* **lib/runtime:** Fix `wasm error: out of bounds memory access` at `[#9412261](https://github.com/ChainSafe/gossamer/issues/9412261)` ([#3588](#3588)) ([ecb1ad9](ecb1ad9))
* **lib/runtime:** prevents polkadot zero-address bug using `sr25519_verify` version 1 ([#3494](#3494)) ([8b93d5e](8b93d5e))
* **lib/runtime:** return correct encoded value for `None` ([#3451](#3451)) ([3e11bc2](3e11bc2))
* **lib/runtime:** update `MaxPossibleAllocation` to `2^25` ([#3393](#3393)) ([91eabdc](91eabdc))
* **lib/runtime:** use `westend-dev` spec file in `TestNodeRuntime_ValidateTransaction` ([#3047](#3047)) ([043f5eb](043f5eb))
* **lib/trie:** `ClearFromChild` should update parent trie ([#3482](#3482)) ([70e2d2b](70e2d2b))
* **lib/trie:** create an empty child trie if not found ([#3459](#3459)) ([5d68447](5d68447))
* **lib/trie:** record deleted Merkle values fixed ([#2873](#2873)) ([61f0216](61f0216))
* **peerset:** check for incoming slot error ([#2952](#2952)) ([a1602bc](a1602bc))
* **rpc-tests:** Fix node port to execute tests on macOS ([#3223](#3223)) ([f758575](f758575))
* **rpc/modules:** use `westend-local` in `TestAuthorModule_SubmitExtrinsic_invalid` test ([#3051](#3051)) ([b6429b7](b6429b7))
* **runtime:** initialize TransactionState when creating runtime instance ([#3188](#3188)) ([29fe7a0](29fe7a0))
* **scale:** Use *int for scale index ([#3274](#3274)) ([9b04d30](9b04d30))
* **staging:** fixes the staging deployment issues caused by the new cli ([#3266](#3266)) ([1f4e786](1f4e786))
* **state:** clarify node hashes vs merkle values ([#2915](#2915)) ([e4033e8](e4033e8))
* **test/rpc:** use `westend-local` in `TestStateRPCAPI` ([#3049](#3049)) ([c57ade6](c57ade6))
* **tests/polkadot_js:** Use `westend-local` to run polkadot js test suite ([#3052](#3052)) ([2d5ead1](2d5ead1))
* **tests/rpc:** ensure new blocks are created before assert ([#3042](#3042)) ([a116d58](a116d58))
* **tests/rpc:** flaky test `TestChainSubscriptionRPC/chain_subscribeNewHeads` ([#3092](#3092)) ([5b56238](5b56238))
* **tests/rpc:** place `GreaterOrEqual` arguments in the correct order at `chain_subscribeNewHeads` test ([#3137](#3137)) ([33bdf28](33bdf28))
* **tests:** Export unimplemented runtime fuctions ([#3461](#3461)) ([3e4546c](3e4546c))
* **trie:** do not create buffer for nil child ([#2928](#2928)) ([d70af4f](d70af4f))
* **wasmer:** `ext_storage_exists_version_1` for empty values ([#2973](#2973)) ([059268e](059268e))

### Features

* **chain:** Add Westend network as command line `chain` option ([#3103](#3103)) ([d9cdd45](d9cdd45))
* **chain:** remove unneeded spec files ([#3086](#3086)) ([c76387d](c76387d))
* **cli:** use a single flag for log level in the CLI ([#3303](#3303)) ([caf3ea4](caf3ea4))
* **dot/network:** introduce libp2p resource manager + prometheus metrics ([#3333](#3333)) ([f166746](f166746))
* **dot/rpc:** export block trie state entries for a block hash ([#3607](#3607)) ([43828fe](43828fe))
* **dot/rpc:** implement RPC method state_queryStorageAt ([#3191](#3191)) ([3bbdfe0](3bbdfe0))
* **dot/state:** create `Range` to traverse the blocktree and the blocks in the disk ([#2990](#2990)) ([4442eee](4442eee))
* **dot/state:** keep latest state trie in memory ([#3386](#3386)) ([421d087](421d087))
* **dot/sync:** include block origin and skip extra validation on `initialSync` ([#3392](#3392)) ([8e1650e](8e1650e))
* **dot/sync:** Remove the `EndBlockHash` from `BlockRequestMessage` ([#2977](#2977)) ([b25e0b4](b25e0b4))
* **internal/database:** replace `chaindb/badgerdb` with `pebbledb` ([#3434](#3434)) ([344461d](344461d))
* introduces `SaturatingAdd` and `SaturatingSub` ([#3519](#3519)) ([daa9e25](daa9e25))
* **lib/allocator:** Refactor `FreeingBumpHeapAllocator` ([#3570](#3570)) ([39ca47f](39ca47f))
* **lib/babe:** Submit BABE equivocation report  ([#2947](#2947)) ([55de62e](55de62e)), closes [#2853](#2853)
* **lib/blocktree:** reduce the entries in the runtimes mapping ([#3151](#3151)) ([1a34972](1a34972))
* **lib/grandpa:** include `t.Parallel()` to all `lib/grandpa` tests ([#2840](#2840)) ([5c93488](5c93488))
* **lib/runtime/wasmer:** report grandpa equivocations ([#3007](#3007)) ([e63aeea](e63aeea))
* **lib/runtime:** `wazero` implementation of `runtime.Instance` ([#3279](#3279)) ([115d6f5](115d6f5))
* **lib/runtime:** add extra required runtime imports for parachain validation ([#3254](#3254)) ([dc1a521](dc1a521))
* **lib/runtime:** Update default `runtime.Instance` to `wazero` ([#3352](#3352)) ([308b10a](308b10a))
* **pkg/scale:** `VaryingDataType` String method ([#2970](#2970)) ([841636e](841636e))
* **pkg/scale:** Add `Marshaler` and `Unmarshaler` interfaces and functionality ([#3617](#3617)) ([4888ce4](4888ce4))
* **pkg/scale:** Use `New()` receiver function for construction of custom `VaryingDataType`  ([#3315](#3315)) ([9688f6c](9688f6c))
* **runtime/wasmer:** create wrapper around wasmer.Memory  ([#3160](#3160)) ([fc1055d](fc1055d))
* **runtime/wasmer:** write wasmer using latest wasmer version ([#3168](#3168)) ([32f1aa8](32f1aa8))
* **scale:** add `MustMarshal` function ([#2991](#2991)) ([32a80aa](32a80aa))
* **sync:** Validate bad blocks ([#3220](#3220)) ([0d0354b](0d0354b))
* **telemetry:** Add scheduled and force changes telemetry metrics ([#3226](#3226)) ([c53b1cd](c53b1cd))
* **trie:** Add trie v1 new headers support ([#3295](#3295)) ([c30f463](c30f463))
* **zombienet:** Add javascript tests to zombienet testing ([#3200](#3200)) ([aca9a5b](aca9a5b))
* **zombienet:** add zombienet testing to github workflow ([#3192](#3192)) ([d788bd6](d788bd6))

### Reverts

* **lib/runtime:** rollback wasmer update `PR[#3168](https://github.com/ChainSafe/gossamer/issues/3168)` ([#3264](#3264)) ([e7ff0cf](e7ff0cf))
timwu20 pushed a commit that referenced this pull request Apr 19, 2024
# [0.8.0](v0.7.0...v0.8.0) (2023-12-11)

### Bug Fixes

* **.github/workflows:** update node.js version ([#3637](#3637)) ([619be1b](619be1b))
* **babe:** Add support for versioned NextConfigData decoding ([#3239](#3239)) ([5ee3a64](5ee3a64))
* **blockstate:** if blocktree fails to search a hash in memory, load it from disk ([#3059](#3059)) ([6442544](6442544))
* cache slot to header data while checking BABE equivocation ([#3364](#3364)) ([dcfa4a4](dcfa4a4))
* **chain:** Fix `chain=westend` option  ([#3123](#3123)) ([64dbba6](64dbba6))
* **ci:** cancel previous workflow runs ([#3140](#3140)) ([a322a19](a322a19))
* **ci:** fix all Deepsource issues ([#3046](#3046)) ([4ea0a70](4ea0a70))
* **ci:** fix broken docker build ([#3231](#3231)) ([f796430](f796430))
* **ci:** Fix staging metrics collection ([#3138](#3138)) ([05a5c4c](05a5c4c))
* **cli:** parse module log-levels ([#3285](#3285)) ([86c7577](86c7577))
* **cmd/gossamer:** embed default toml config files ([#3091](#3091)) ([af38364](af38364))
* **cmd/gossamer:** update error message ([#3301](#3301)) ([960a9d4](960a9d4))
* **dot/babe:** use `bs.latestFinalised` instead of using `round/set id` ([#3167](#3167)) ([46c0ef7](46c0ef7))
* **dot/digest:** create `BlockImportHandler` and remove channel ([#3312](#3312)) ([a179855](a179855))
* **dot/network:** `findPeers` returns on timeout if a peer is found ([#3001](#3001)) ([2a05ce7](2a05ce7))
* **dot/network:** remove `maxReads` limitation to read stream ([#3287](#3287)) ([483b23f](483b23f))
* **dot/state:** clean up scheduled changes once a forced change is applied ([#3219](#3219)) ([5ebec46](5ebec46))
* **dot/state:** fix a bug in IsDescendantOf ([#3125](#3125)) ([4fd4a89](4fd4a89))
* **dot/state:** store raw authority keys and decode when verifying block signature ([#3627](#3627)) ([58f741d](58f741d))
* **dot/sync:** fix `Timestamp slot must match 'CurrentSlot'` while using `westend` spec file ([#3040](#3040)) ([e6da01b](e6da01b))
* **dot/sync:** Revert verify justification before importing blocks ([#3615](#3615)) ([11b96dc](11b96dc))
* **dot/sync:** rework on bootstrap/tip sync ([#3227](#3227)) ([ab6650a](ab6650a))
* **dot/sync:** use `Range` instead of `SubChain` at `handleDescedingRequest` ([#3006](#3006)) ([a83c1a3](a83c1a3))
* **dot/sync:** verify justification before importing blocks ([#3576](#3576)) ([2954fc0](2954fc0))
* **dot/sync:** wrong error message at `checkOrGetDescendantHash` ([#2971](#2971)) ([b1c6bf1](b1c6bf1))
* **dot:** use tempDir in tests as base path to avoid creating `dot/~` ([#3363](#3363)) ([04514d5](04514d5))
* **go.mod:** Replace `centrifuge/go-substrate-rpc-client` dependency to `timwu20/go-substrate-rpc-client` temporarily to fix build ([#3572](#3572)) ([ea49251](ea49251))
* **lib/babe:** Add context and additional assertion to TestBuildBlock_ok ([#3101](#3101)) ([a9a89ed](a9a89ed))
* **lib/babe:** rewrite TestBuildBlock_failing ([#3089](#3089)) ([28a3d0b](28a3d0b))
* **lib/babe:** use current system time to yield a new slot ([#3133](#3133)) ([9cd6f25](9cd6f25))
* **lib/grandpa:**  on verifying block justification, compare given block hash with finalised hash ([#3081](#3081)) ([fc91843](fc91843))
* **lib/grandpa:** ensure `finalisationEngine` exits when stop channel is triggered ([#3141](#3141)) ([d7f7c06](d7f7c06))
* **lib/runtime:** `ext_default_child_storage_next_key_version_1` return `None` correctly ([#3473](#3473)) ([c7d574b](c7d574b))
* **lib/runtime:** Fix `wasm error: out of bounds memory access` at `[#9412261](https://github.com/ChainSafe/gossamer/issues/9412261)` ([#3588](#3588)) ([ecb1ad9](ecb1ad9))
* **lib/runtime:** prevents polkadot zero-address bug using `sr25519_verify` version 1 ([#3494](#3494)) ([8b93d5e](8b93d5e))
* **lib/runtime:** return correct encoded value for `None` ([#3451](#3451)) ([3e11bc2](3e11bc2))
* **lib/runtime:** update `MaxPossibleAllocation` to `2^25` ([#3393](#3393)) ([91eabdc](91eabdc))
* **lib/runtime:** use `westend-dev` spec file in `TestNodeRuntime_ValidateTransaction` ([#3047](#3047)) ([043f5eb](043f5eb))
* **lib/trie:** `ClearFromChild` should update parent trie ([#3482](#3482)) ([70e2d2b](70e2d2b))
* **lib/trie:** create an empty child trie if not found ([#3459](#3459)) ([5d68447](5d68447))
* **lib/trie:** record deleted Merkle values fixed ([#2873](#2873)) ([61f0216](61f0216))
* **peerset:** check for incoming slot error ([#2952](#2952)) ([a1602bc](a1602bc))
* **rpc-tests:** Fix node port to execute tests on macOS ([#3223](#3223)) ([f758575](f758575))
* **rpc/modules:** use `westend-local` in `TestAuthorModule_SubmitExtrinsic_invalid` test ([#3051](#3051)) ([b6429b7](b6429b7))
* **runtime:** initialize TransactionState when creating runtime instance ([#3188](#3188)) ([29fe7a0](29fe7a0))
* **scale:** Use *int for scale index ([#3274](#3274)) ([9b04d30](9b04d30))
* **staging:** fixes the staging deployment issues caused by the new cli ([#3266](#3266)) ([1f4e786](1f4e786))
* **state:** clarify node hashes vs merkle values ([#2915](#2915)) ([e4033e8](e4033e8))
* **test/rpc:** use `westend-local` in `TestStateRPCAPI` ([#3049](#3049)) ([c57ade6](c57ade6))
* **tests/polkadot_js:** Use `westend-local` to run polkadot js test suite ([#3052](#3052)) ([2d5ead1](2d5ead1))
* **tests/rpc:** ensure new blocks are created before assert ([#3042](#3042)) ([a116d58](a116d58))
* **tests/rpc:** flaky test `TestChainSubscriptionRPC/chain_subscribeNewHeads` ([#3092](#3092)) ([5b56238](5b56238))
* **tests/rpc:** place `GreaterOrEqual` arguments in the correct order at `chain_subscribeNewHeads` test ([#3137](#3137)) ([33bdf28](33bdf28))
* **tests:** Export unimplemented runtime fuctions ([#3461](#3461)) ([3e4546c](3e4546c))
* **trie:** do not create buffer for nil child ([#2928](#2928)) ([d70af4f](d70af4f))
* **wasmer:** `ext_storage_exists_version_1` for empty values ([#2973](#2973)) ([059268e](059268e))

### Features

* **chain:** Add Westend network as command line `chain` option ([#3103](#3103)) ([d9cdd45](d9cdd45))
* **chain:** remove unneeded spec files ([#3086](#3086)) ([c76387d](c76387d))
* **cli:** use a single flag for log level in the CLI ([#3303](#3303)) ([caf3ea4](caf3ea4))
* **dot/network:** introduce libp2p resource manager + prometheus metrics ([#3333](#3333)) ([f166746](f166746))
* **dot/rpc:** export block trie state entries for a block hash ([#3607](#3607)) ([43828fe](43828fe))
* **dot/rpc:** implement RPC method state_queryStorageAt ([#3191](#3191)) ([3bbdfe0](3bbdfe0))
* **dot/state:** create `Range` to traverse the blocktree and the blocks in the disk ([#2990](#2990)) ([4442eee](4442eee))
* **dot/state:** keep latest state trie in memory ([#3386](#3386)) ([421d087](421d087))
* **dot/sync:** include block origin and skip extra validation on `initialSync` ([#3392](#3392)) ([8e1650e](8e1650e))
* **dot/sync:** Remove the `EndBlockHash` from `BlockRequestMessage` ([#2977](#2977)) ([b25e0b4](b25e0b4))
* **internal/database:** replace `chaindb/badgerdb` with `pebbledb` ([#3434](#3434)) ([344461d](344461d))
* introduces `SaturatingAdd` and `SaturatingSub` ([#3519](#3519)) ([daa9e25](daa9e25))
* **lib/allocator:** Refactor `FreeingBumpHeapAllocator` ([#3570](#3570)) ([39ca47f](39ca47f))
* **lib/babe:** Submit BABE equivocation report  ([#2947](#2947)) ([55de62e](55de62e)), closes [#2853](#2853)
* **lib/blocktree:** reduce the entries in the runtimes mapping ([#3151](#3151)) ([1a34972](1a34972))
* **lib/grandpa:** include `t.Parallel()` to all `lib/grandpa` tests ([#2840](#2840)) ([5c93488](5c93488))
* **lib/runtime/wasmer:** report grandpa equivocations ([#3007](#3007)) ([e63aeea](e63aeea))
* **lib/runtime:** `wazero` implementation of `runtime.Instance` ([#3279](#3279)) ([115d6f5](115d6f5))
* **lib/runtime:** add extra required runtime imports for parachain validation ([#3254](#3254)) ([dc1a521](dc1a521))
* **lib/runtime:** Update default `runtime.Instance` to `wazero` ([#3352](#3352)) ([308b10a](308b10a))
* **pkg/scale:** `VaryingDataType` String method ([#2970](#2970)) ([841636e](841636e))
* **pkg/scale:** Add `Marshaler` and `Unmarshaler` interfaces and functionality ([#3617](#3617)) ([4888ce4](4888ce4))
* **pkg/scale:** Use `New()` receiver function for construction of custom `VaryingDataType`  ([#3315](#3315)) ([9688f6c](9688f6c))
* **runtime/wasmer:** create wrapper around wasmer.Memory  ([#3160](#3160)) ([fc1055d](fc1055d))
* **runtime/wasmer:** write wasmer using latest wasmer version ([#3168](#3168)) ([32f1aa8](32f1aa8))
* **scale:** add `MustMarshal` function ([#2991](#2991)) ([32a80aa](32a80aa))
* **sync:** Validate bad blocks ([#3220](#3220)) ([0d0354b](0d0354b))
* **telemetry:** Add scheduled and force changes telemetry metrics ([#3226](#3226)) ([c53b1cd](c53b1cd))
* **trie:** Add trie v1 new headers support ([#3295](#3295)) ([c30f463](c30f463))
* **zombienet:** Add javascript tests to zombienet testing ([#3200](#3200)) ([aca9a5b](aca9a5b))
* **zombienet:** add zombienet testing to github workflow ([#3192](#3192)) ([d788bd6](d788bd6))

### Reverts

* **lib/runtime:** rollback wasmer update `PR[#3168](https://github.com/ChainSafe/gossamer/issues/3168)` ([#3264](#3264)) ([e7ff0cf](e7ff0cf))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Fix Flaky Test TestChainRPC
3 participants