forked from paritytech/polkadot-sdk
-
Notifications
You must be signed in to change notification settings - Fork 0
chore: initial statistics subsystem #5
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
Open
EclesioMeloJunior
wants to merge
150
commits into
master
Choose a base branch
from
statistics-collector
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
|
|
…sdk into statistics-collector
…sdk into statistics-collector
…sdk into statistics-collector
…sdk into statistics-collector
- Inject Authority Discovery to Availability Distribution - When responding to a chunk request get the peer id and retrive its authority ids - In the Collector store the session info which enable to get the validator index from authority ids
…sdk into statistics-collector
…sdk into statistics-collector
) Only works for contract accounts, not precompiles. This is needed so that test nodes like anvil can send transactions from contract accounts, a widely-used feature in tests Needed for paritytech/foundry-polkadot#423
…RPM and Publish docker pipelines (paritytech#10274) paritytech/devops#3830 --------- Co-authored-by: EgorPopelyaev <[email protected]>
…ytech#10396) `ExecuteBlock` exposes the `execute_block` function that is used by `validate_block` to execute a block. In case auf AuRa the block execution includes the verification of the seal and the removal of the seal. To verify the seal, the block executor needs to load the current authority set. The problem is that when we have storage proof reclaim enabled and the host function is used in `on_initialize` before `pallet_aura_ext::on_initialize` (this is where we fetch the authority set to ensure it appears in the proof) is called, it leads to `validate_block` returning a different size and thus, breaking the block. To solve this issue `ExecuteBlock` is now split into seal verification and execution of the verified block. In `validate_block` the seal verification is then run outside of the block execution, not leading to the issues of reporting different proof sizes. --------- Co-authored-by: cmd[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Sebastian Kunert <[email protected]>
This PR fixes up termination by changing the behavior to: - The free balance (without ed) should be send away right away to the beneficiary and not be delayed like the contract deletion. - The ed and storage deposit will be send away only when terminating but to the origin (delayed). - The scheduling of the terminate needs to be reverted if the scheduling frame reverts. - `SELFDESTRUCT` should be allowed inside the constructor. The issuing contract will exist as account without code for the remainder of the transaction. - The `terminate` pre-compile should revert if delegate called or its caller was delegate called. This is just my opinion but if we are changing semantics we can might as well add some security. We are increasing the attack surface by allowing the destruction of any contract (not only created in the current tx). ## Other fixes - Storage refunds should no longer use `BestEffort`. This is necessary to fail refunds in case some other locks (due to participation in gov for example) prevent sending them away. This is in anticipation of new pre-compiles. - Moved pre-compile interfaces to sol files and made them available to fixtures - Added some Solidity written tests to exercise error cases ## Further tests needed Those should all be written in Solidity to test both backends at the same time. No more Rust fixtures. @0xRVE can you take those over as I am ooo. - Test that checks that scheduled deletions do properly roll back if a frame fails - Test that value send to a contract after scheduling for deletion is send to the beneficiary (different from Eth where this balance is lost) - Add tests that use `SELFDESTRUCT` to `Terminate.sol`. Need paritytech/devops#4508 but can be tested locally with newest `resolc`. --------- Signed-off-by: Alexandru Gheorghe <[email protected]> Signed-off-by: Andrei Sandu <[email protected]> Co-authored-by: 0xRVE <[email protected]> Co-authored-by: cmd[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: pgherveou <[email protected]> Co-authored-by: Alin Dima <[email protected]> Co-authored-by: Bastian Köcher <[email protected]> Co-authored-by: Kian Paimani <[email protected]> Co-authored-by: Oliver Tale-Yazdi <[email protected]> Co-authored-by: Marian Radu <[email protected]> Co-authored-by: Karol Kokoszka <[email protected]> Co-authored-by: Francisco Aguirre <[email protected]> Co-authored-by: Alexandru Gheorghe <[email protected]> Co-authored-by: girazoki <[email protected]> Co-authored-by: Adrian Catangiu <[email protected]> Co-authored-by: Lukasz Rubaszewski <[email protected]> Co-authored-by: Paolo La Camera <[email protected]> Co-authored-by: Andrei Eres <[email protected]> Co-authored-by: Alexandru Gheorghe <[email protected]> Co-authored-by: Egor_P <[email protected]> Co-authored-by: Agustín Rodriguez <[email protected]> Co-authored-by: Branislav Kontur <[email protected]> Co-authored-by: Andrei Sandu <[email protected]> Co-authored-by: Thang X. Vu <[email protected]> Co-authored-by: DenzelPenzel <[email protected]> Co-authored-by: Javier Viola <[email protected]> Co-authored-by: Alexander Cyon <[email protected]> Co-authored-by: Sebastian Kunert <[email protected]> Co-authored-by: Alexander Samusev <[email protected]> Co-authored-by: Omar <[email protected]> Co-authored-by: Guillaume Thiolliere <[email protected]> Co-authored-by: BDevParity <[email protected]>
…o bytes (paritytech#10309) fixes paritytech/contract-issues#216 When an EVM contract writes an all-zero 32-byte storage word, remove the corresponding child‑trie entry so storage-deposit accounting sees bytes/items removed and a refund can be applied. --------- Co-authored-by: cmd[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: pgherveou <[email protected]>
…s attached (for crates only releases) (paritytech#10379) This PR adjusts existing Publish Release Draft flows for the cases: 1. When we have a patch release without runtimes (only bins and docker images) 2. When we have crates only release For those two cases, the unnecessary information and artifacts won't be attached Closes: paritytech/release-engineering#275
…sdk into statistics-collector
…aritytech#10204) Edit by @skunert (edited because original test said not to merge): This adds a zombienet test that verifies that parachains running with a relay parent offset will not build on relay parents that have a session change in the descendant blocks. The reason is that candidates that were build in a past session are dropped on session boundary. --------- Co-authored-by: Sebastian Kunert <[email protected]> Co-authored-by: cmd[bot] <41898282+github-actions[bot]@users.noreply.github.com>
…only in case of a stable release (paritytech#10419) Closes: paritytech/devops#3831
# Description
According to assertion message and comment("at least"),
`T::MaxDebugBufferLen::get() > MIN_DEBUG_BUF_SIZE` should be changed
into `T::MaxDebugBufferLen::get() >= MIN_DEBUG_BUF_SIZE`
```rust
// Debug buffer should at least be large enough to accommodate a simple error message
const MIN_DEBUG_BUF_SIZE: u32 = 256;
assert!(
T::MaxDebugBufferLen::get() > MIN_DEBUG_BUF_SIZE,
"Debug buffer should have minimum size of {} (current setting is {})",
MIN_DEBUG_BUF_SIZE,
T::MaxDebugBufferLen::get(),
);
```
For this assertion, the assertion message indicates assertion will fail
when max_storage_size > storage_size_limit, which means it requires
max_storage_size <= storage_size_limit, but assertion predicate is
`max_storage_size < storage_size_limit`. Based on the code semantics,
assertion predicate should be changed into `max_storage_size <=
storage_size_limit`.
```rust
assert!(
max_storage_size < storage_size_limit,
"Maximal storage size {} exceeds the storage limit {}",
max_storage_size,
storage_size_limit
);
```
---------
Co-authored-by: cmd[bot] <41898282+github-actions[bot]@users.noreply.github.com>
This PR adds configurable control over PolkaVM logging in `pallet-revive` to address performance degradation (details: paritytech#8760 (comment)) - Upgrades PolkaVM to v0.30.0 which provides `set_imperfect_logger_filtering_workaround()` - Adds `pvm_logs` flag to `DebugSettings` to control PolkaVM interpreter logging - Disables PolkaVM logs by default (when `pvm_logs=false`), enabling them only when explicitly configured - Fixes performance issue where excessive PolkaVM logging was impacting block proposal times The logging can be re-enabled via debug settings when needed for troubleshooting. Additionally: - PolkaVM has been bumped globally across whole codebase. --------- Co-authored-by: cmd[bot] <41898282+github-actions[bot]@users.noreply.github.com>
…0448) When running two different `cargo` commands, they may both compile the same wasm files. When the second `cargo` command produces the same wasm files, we are now not gonna overwrite it. This has the advantage that we can run the first command again without it trying to recompile the project. Right now it would lead to the wasm files always getting recreated, which is wasting a lot of time :) --------- Co-authored-by: cmd[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Sebastian Kunert <[email protected]>
When creating a block notifier allow setting a custom capacity --------- Signed-off-by: Alexandru Cihodaru <[email protected]> Co-authored-by: cmd[bot] <41898282+github-actions[bot]@users.noreply.github.com>
The "staking-async" pallet has inherited the list of invulnerable validators from the "staking" pallet, but these are no longer used. We can therefore remove them, together with additional clean-up. Closes paritytech#10135 (comment) --------- Signed-off-by: Andrei Trandafir <[email protected]> Co-authored-by: cmd[bot] <41898282+github-actions[bot]@users.noreply.github.com>
…collations (paritytech#10446) We pre-connect one slot in advance and we disconnect when our slot ends even when we have pending collations which is wrong. This change fixes this by keeping the connections open until the collation is requested or relay parent expires. --------- Signed-off-by: Andrei Sandu <[email protected]> Co-authored-by: cmd[bot] <41898282+github-actions[bot]@users.noreply.github.com>
) Up until this point, when EDs of chains using nomination pools were reduced, the subsequent reward account funds in exces could be claimed by anyone, despite the fact that they had been typically provided at the beginning by the pool owner. We therefore limit access to these funds only to the pool owner and the (optional) root account when EDs get reduced. The restriction does not apply to the increase in EDs, as these imply that funds are transferred into the pool rather than out of it. Fixes paritytech-secops/srlabs_findings#413 --------- Signed-off-by: Andrei Trandafir <[email protected]> Co-authored-by: cmd[bot] <41898282+github-actions[bot]@users.noreply.github.com>
…ytech#10454) Invulnerables are not automatically removed from the Invulnerables storage when their solution is rejected. Removal should occur only through governance, not automatically. An operational or network issue that leads to an incomplete submission is much more likely than a bad faith action from an invulnerable. Close paritytech-secops/srlabs_findings#602. --------- Co-authored-by: cmd[bot] <41898282+github-actions[bot]@users.noreply.github.com>
…0397) # Description This is a PR that updates the commit hash of the revive-differential-tests framework and the compilation caches to a version that includes fixes to certain tests that used hard-coded gas values. The compilation caches required an update since this was a change to the contract's code. --------- Co-authored-by: cmd[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Torsten Stüber <[email protected]>
…#9947) This pull request fundamentally changes how `Proposer` and `BlockBuilder` are handling the proof recorder and extensions. Before this pull request the proof recorder was initialized by the `BlockBuilder` and the proposer statically enabled proof recording or disabled it. With this pull request the proof recorder is passed from the the caller down to the block builder. This also moves the responsibility for extracting the final storage proof to the caller and is not part of the block builder logic anymore. The extensions are now also configurable by the caller and are not longer "guessed" by the block builder. This pull request also remvoes the `cumulus-client-proposer` crate as it is not really required anymore. --------- Co-authored-by: cmd[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Iulian Barbu <[email protected]> Co-authored-by: Michal Kucharczyk <[email protected]>
This PR introduces the try_state hook to pallet-assets to verify key storage invariants. closes part of paritytech#239 --------- Co-authored-by: Branislav Kontur <[email protected]> Co-authored-by: cmd[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
Statistics CollectorsubsytemNext Steps