release/v1.4.0: new release w/ bug fixes - #497
Conversation
Signed-off-by: Dmitry Savonin <github@dmitry123.xyz>
Signed-off-by: Dmitry Savonin <github@dmitry123.xyz>
Signed-off-by: Dmitry Savonin <github@dmitry123.xyz>
Signed-off-by: Dmitry Savonin <github@dmitry123.xyz>
Signed-off-by: Dmitry Savonin <github@dmitry123.xyz>
Signed-off-by: Dmitry Savonin <github@dmitry123.xyz>
Signed-off-by: Dmitry Savonin <github@dmitry123.xyz>
…ersisting metadata Signed-off-by: Dmitry Savonin <github@dmitry123.xyz>
…g on directory order
Signed-off-by: Dmitry Savonin <github@dmitry123.xyz>
…f the active fork
…t alias earlier elements
…d of matching caller-selected substrings
…truncated u64/i64 buffers error instead of panicking
…o blob transactions
…ts and keep value off non-payable ones
…s indexed-parameter rules instead of ordinary ABI encoding
…o routers and published ABIs agree
|
Important Review skippedToo many files! This PR contains 107 files, which is 7 over the limit of 100. To get a review, reduce the PR to 100 files or fewer by splitting it into smaller PRs or changing its base branch. Upgrade to a paid plan to raise the limit. This review couldn't start because sufficient usage credits or metered capacity aren't available. Add credits or update usage-based reviews in the billing tab, then retry. ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: ⛔ Files ignored due to path filters (17)
📒 Files selected for processing (107)
You can disable this status message by setting the Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Signed-off-by: Dmitry Savonin <github@dmitry123.xyz>
Criterion results (vs baseline)Heads-up: runner perf is noisy; treat deltas as a smoke check. |
Release name: MITHRIDATE
Summary
This release focuses on security and correctness hardening across release artifact provenance, runtime resource limits, Solidity ABI/codec compatibility, and system contracts. It adds fail-closed authentication for genesis and runtime-upgrade inputs, closes multiple untrusted-input edge cases, and expands regression coverage across the affected components.
Genesis Upgrade
The genesis/runtime upgrade must deploy these changed system contracts:
PRECOMPILE_EIP7951— switch P256 verification to the Osaka EIP-7951 implementation, use the Osaka gas schedule, and return the canonical 32-byte success value.PRECOMPILE_EVM_RUNTIME— include the updated EVM execution path, notably safe zero-lengthEXTCODECOPYhandling, while keeping runtime semantics explicitly pinned to Osaka.PRECOMPILE_FEE_MANAGER— reject ownership transfers to the zero address so an empty owner slot cannot reactivate the genesis bootstrap authority.PRECOMPILE_RUNTIME_UPGRADE— clear planned-upgrade authority during ownership transitions and emit the actual installed code hash for canonical precompile upgrades.PRECOMPILE_UNIVERSAL_TOKEN_RUNTIME— reject non-canonical creation payloads, oversized metadata, and malformed UTF-8 before invalid metadata can be persisted or returned.PRECOMPILE_WEBAUTHN_VERIFIER— parseclientDataJSONstructurally, reject duplicate or malformed fields and decoy values, and update theverifyStrictselector after removing caller-providedoriginIndex.Changes
Release integrity and build pipeline
fluentbase-release-verifycrate for bounded loading and fail-closed verification of release assets using the pinned OpenPGP key, detached signatures, signed manifests, and SHA-256 digests.graphify-out/artifacts.Runtime, EVM, and precompiles
EXTCODECOPYwithout rejecting an otherwise irrelevant unrepresentable memory offset.Codec, SDK, ABI, and generated clients
viewandpuremethods and prevent value from being attached to non-payable calls.StorageVecindex arithmetic toU256so large indices cannot wrap and alias earlier elements.System contracts
clientDataJSONstructurally in strict verification instead of matching caller-selected substrings.Tests