Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* Sketch piece draft * Builds, Runs, Logs look okay, but no inherent extrinsics in block. * comment wrong tests * A few more logs. Seems like the authoring task is not putting inherents into the block. Let's dig deeper. * cargo fmt * Actually return the inherent extrinsic! * Explore Aura slot a little bit too. This will probably be removed before we merge this PR. * toml sort * Sketch plan for constructing utxo-style inherent extrinsics. * cargo fmt * Sketch some actual transaction construction logic * Implement InherentDataProvider for tuxedo parent block inherent data provider * wire parent block idp into service * Update piece to require consuming previous timestamp. * off by one error * update piece for first block exception * cargo fmt * Attempt at checking timestamp inherent. Not working yet. * toml sort * correct max drift calculation. Now nodes can import one block before the authoring node unpeers with them. * Add logs to `check_inherents` * Better logs. I'm struggling with a multinode network. Not sure if its because of this inherent stuff. * Use `StateVersion::V0` when calculating extrinsics root to match Substrate's network module * Remove incorrect comment. This has nothing to do with the `StateVersion` enum. * remove commented code * Sketch some cleanup ideas. They don't fully make sense yet because I haven't expanded the storage to differentiate best time from any other noted time. That will be next. * cargo fmt * Start sketching toward separate notions of best and noted time. * Actually distinguish `BestTimestamp` vs `NotedTimestamp` at the type level. * attempt to make clippy happy * cargo fmt * structure test suite * Sketch actual test cases * fmt * rename set -> update? * First working test * Fix previous best check * moar update tests * moar update tests * Write out last of update timestamp tests. * first cleanup test * moar cleanup tests * multiple cleanup tests * featuregate all test modules * Finsih cleanup tests * test first block hack * cargo fmt * forbid timestamp calls in pool * Sketch idea for `TuxedoInherent` trait, an attempt at a reusable interface for Tuxedo pieces intending to be Inherents. * fix warnings * Revise inherent interface and sketch into timestamp piece * move create into timestamp piece, a little more revising the trait * add static to PoeConfig too. I'm not sure why this started coming up here. * make shit compile * cargo fmt * Fix off by one error * prune the aura inherent stuff. It was useful for learning * Revert "forbid timestamp calls in pool" This reverts commit e818e8c. * Logging and generics fucking everywhere. This is gettinga little ugly. I hope it somehow works out in the end. * Move is_inherent to Constraint checker; implement is_signed * cargo fmt * move checking logic into timestamp piece * fix inherent identifier * rework internal trait to always use Vecs * start working on the gagregator. This is getting complicated. * finish first draft of compiling aggregator. * First draft of executive compiles * cargo fmt * Whole node compiles * Prune comment * First block hack in create flow. It actually runs and imports blocks!!!! * Important TODO about making sure every expected inherent is present (and no extras). * cargo fmt * Rework check inherents to make sure none are missing or extra * actually implement is_inherent methods * update some old comments * Annotate transactions with original hash identities * toml sort * enforce inherents at beginning of the bloock * cleanup some way-too-verbose debugging * Cleanup and fix some old TODOs * cargo fmt * bring back transaction priority import * `is_inherent` should not have a default impl in the internal inherent trait * cleanup logging target * Simplify inherent traits and bounds considerably * Make simple constraint checker actually simple (no inherents allowed). Also make tests pass. * Delete a bunch of accidentally included amoeba tests * cargo fmt * revert unnecessary trait derivation * fully qualified path in macro * revert unrelated change * restore pool checks for inherents * Cleanup comments in timestamp tuxedo piece * don't be so heavy handed with the service * cargo fmt * prune stray file * comments in macro * cleanup wrapping and unwrapping in macros * followup to simple constraint checkers cannot be inherents. * prune more too-verbose logging * simplify trait bounds on transform helper * relax trait bound on verifier * brush up constraint checker * revise inherents file * fmt * clippy * unfuck piece tests after some botched search and replace * Update is_signed tests for clarified semantics * Update TestConstraintChecker to reflect inherents * Tests for inherent ordering * Oops, fix logic error. Tests FTW. * switch a stray log! to debug! * Fix extrinsics root that changed because the TestTransaction now has another field and thus its encoding is longer. * Better expect messages in service * better expect messages in the executive. * Better examples for when to use full `VonstraintChecker` trait. * Move constants to config trait * remove old comment * Attempt to refactor to single timestamp type. * fixed update_timestamp_tests Signed-off-by: muraca <mmuraca247@gmail.com> * fixed cleanup_tests and first_block_special_case_tests Signed-off-by: muraca <mmuraca247@gmail.com> * fixed some comments and typos Signed-off-by: muraca <mmuraca247@gmail.com> * remove unnecessary scale_info skip_type_params * remove kind of off-topic comment * add comment from review suggestion * remove extra space * fix comment typo * revert ugly consequences of `use super::*;` Signed-off-by: muraca <mmuraca247@gmail.com> * simplify inherent order checking logic --------- Co-authored-by: muraca <mmuraca247@gmail.com>
- Loading branch information