The results for the commit interrupt tests via new transactions channel were non-deterministic and used to fail sometimes. This was because we use `w.current` to calculate the delay which needs to be correct for the test to work as expected. It takes a while before `w.current` is updated to the next block (block 3 in this case). This PR adds a small delay so that we have the new block and delays are accurately calculated for the test to work.
This PR adds a test which verifies the working of miner module when running on a sentry (non-validator) node. It tries to disable the normal mining flow and trigger it via the new transactions subscription channel and asserts mainly 2 things
- Interrupt commit works and breaks execution when the time crosses deadline (i.e. header.Timestamp)
- Mining is not triggered when we've already crossed the deadline
* miner: reset ctx before commit transactions in main loop
* miner: log error in tx interrupt
* miner: typo
* worker: handle commit interrupt for new tx processing
* Updated amoy profiles for new amoy enodes
* Updating profiles for mainnet enodes
* Removal of rpm support as decided upon
* Updating params/bootnodes.go to newest bootnodes for amoy and mainnet
- Declare zeroAddress as a constant
- If there is only one transaction in the block and the header's txHash is `EmptyTxsHash`, it indicates a state-sync transaction. No error handling is required in this case.
* initial work for removing tracing from worker
* fix more things
* miner: sync code with worker.go, remove traces
* fix lint
* miner, core: get rid of test_backend helper functions
* miner: handle delay during tests in block building
* fix lint
* miner: reset context to get rid of parent timeout context
* miner: refactor test
* (feat): implement --parallelevm.enforce to force using block-stm
* core: debug log
* docs: update docs with new flag
* update all config files
* core: modify chain import test to enforce parallel processing
This PR removes open telemetry based tracing from the whole mining workflow. The tracing extended into consensus and core blockchain functions from miner is also removed in this PR. We weren't checking the tracing from a long time and the way it was implemented increased the code complexity a lot.