-
Notifications
You must be signed in to change notification settings - Fork 113
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
feat(pkg/scale): VaryingDataTypeValue
String method
#2970
Conversation
ae510cf
to
53c5622
Compare
e3538f0
to
5ced638
Compare
Codecov Report
Additional details and impacted files@@ Coverage Diff @@
## development #2970 +/- ##
===============================================
- Coverage 51.91% 51.71% -0.20%
===============================================
Files 219 219
Lines 27939 28036 +97
===============================================
- Hits 14504 14499 -5
- Misses 12143 12248 +105
+ Partials 1292 1289 -3 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM! Happy with log improvements as well as relying on type systems instead of runtime type checks!! 🚀
5ced638
to
8b68c0a
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Aside from Tims comment this looks good to me
8b68c0a
to
543a8b0
Compare
# [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))
🎉 This PR is included in version 0.8.0 🎉 The release is available on GitHub release Your semantic-release bot 📦🚀 |
# [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))
# [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))
Changes
As proposed by Eclesio in #2965 (comment)
VaryingDataTypeValue
interface is now composed offmt.Stringer
String() string
methods to types needing to implementVaryingDataTypeValue
String() string
method onVaryingDataType
structString() string
method onVaryingDataTypeSlice
structTests
Issues
A few more steps towards #1945
Primary Reviewer
@EclesioMeloJunior