Giulio rebuffo
e90e03ae31
Proper Pos block checker when INVALID/ACCEPTED status is sent ( #4604 )
...
* added proper PoS block checker
* proper invalid lvh
* p
* fixed smol thingy
* fix more
* fixed engine API
* fixed engine API
* better nil hash
* added 0x0 checks
* full support
2022-07-03 11:58:57 +02:00
Giulio rebuffo
8558778ee2
fixed engine unit tests ( #4581 )
...
* fixed engine unit tests
* done
2022-06-30 02:27:34 +02:00
Giulio rebuffo
687295f01b
fixed stall ( #4576 )
2022-06-29 17:49:33 +02:00
Andrew Ashikhmin
dc5d3ffaac
Revert "Switch from eth/66 to eth/67 ( #4549 )" ( #4562 )
...
This reverts commit 16e57aa8a2a94a8ec872b088c9c9f43ac818d979.
2022-06-28 13:42:35 +02:00
Andrew Ashikhmin
16e57aa8a2
Switch from eth/66 to eth/67 ( #4549 )
...
* Switch from eth/66 to eth/67
* Fix a compilation error
* Update erigon-lib
* Refresh erigon-lib
2022-06-28 10:12:48 +02:00
ledgerwatch
64067a2b77
Debugging Engine API ( #4488 )
...
* defer tx rollback
* Add http.trace flag
* Fixed http.trace flag
* Fix lint
* Fix lint
* Delete unused tests
* Fix lint
* Fix lint
* Fix lint
* Fix lint
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2022-06-19 13:40:28 +01:00
Andrew Ashikhmin
d1aab4e59b
Bring a corner case in line with the Engine API spec ( #4477 )
2022-06-17 19:24:36 +01:00
Andrew Ashikhmin
eb497372ae
Interruptible PoS block building ( #4438 )
...
* Fix a typo
* BlockBuilder dummy
* BlockProposerParametersPOS -> BlockBuilderParameters
* Pass tx to MiningStep
* BlockBuilderFunc
* Interrupt in MiningExec Stage
* Draft implementation of BlockBuilder
* Fail back to empty header
* Add a comment
* cosmetic change
* Cosmetic change again
* It's not safe to pass transactions between goroutines
2022-06-13 15:43:09 +02:00
Giulio rebuffo
b8e5cbf820
fixed timeout ( #4419 )
2022-06-09 13:16:11 +02:00
Giulio rebuffo
135fe6f0a6
removed left over from previous mining algo ( #4377 )
2022-06-06 08:35:53 +07:00
Andrew Ashikhmin
45cf6ee978
Fix LatestValidHash nil pointer ( #4338 )
2022-06-02 16:35:42 +02:00
Andrew Ashikhmin
4d2b80639b
Update Engine API errors ( #4318 )
2022-05-31 15:06:00 +02:00
Andrew Ashikhmin
4b117e600d
LatestValidHash should be 0x00... instead of nil if TTD not reached yet ( #4314 )
2022-05-31 12:33:15 +02:00
Alex Sharov
fc1a37e6dc
create turbo/services pkg ( #4269 )
2022-05-26 10:31:06 +07:00
ledgerwatch
8ea2bb55d0
Prevent deletion of extra block worth of tx lookup records when pruning ( #4232 )
...
* Print
* Prevent underflow, return 0 block if tx lookup failed
* Return nil receipt for 0 block
* Update to main erigon-lib
* Fix other places
* Fix other places
* Comment
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2022-05-22 20:35:02 +01:00
Giulio rebuffo
52c4846b26
deprecated old status ( #4196 )
2022-05-18 21:33:35 +02:00
Giulio rebuffo
1e3ad39202
added FCU hash on proposing ( #4193 )
2022-05-18 09:40:41 +02:00
Giulio rebuffo
e383aae147
fixed proposing on invalid fcu ( #4189 )
2022-05-17 22:20:57 +02:00
Giulio rebuffo
1a811f0aa1
added latest valid hash ( #4188 )
2022-05-17 21:25:39 +02:00
Giulio rebuffo
12829209c0
fixed bug in proposing ( #4184 )
2022-05-17 18:57:32 +02:00
Giulio rebuffo
23b648d7ce
ops ( #4183 )
2022-05-17 17:44:25 +02:00
Giulio rebuffo
01a98a4582
fixed finalized portion ( #4181 )
2022-05-17 15:26:47 +02:00
Giulio rebuffo
e8a1e64df6
Revert "fixed finalized portion ( #4170 )" ( #4171 )
...
This reverts commit 46f9411e79b54a5692ededeaf231009f24744b19.
2022-05-16 23:22:16 +02:00
Giulio rebuffo
46f9411e79
fixed finalized portion ( #4170 )
2022-05-16 23:21:07 +02:00
Alex Sharov
e1dec529d4
Generic sort of slices (no allocs, inlinable) ( #4161 )
...
* save
* save
* save
* save
* save
2022-05-16 08:24:12 +01:00
Alex Sharov
f590bf682f
RPCDaemon - open snapshots only when they are ready (and indices ready).
2022-05-04 12:55:58 +07:00
Alex Sharov
76c36c2c09
typed sender ( #4016 )
...
* save
* save
2022-04-28 15:35:14 +07:00
Alex Sharov
352869fc3a
rename field "type" ( #4015 )
...
* save
* save
* save
2022-04-28 15:02:06 +07:00
battlmonstr
fc3eecae5e
RPC: admin.peers() ( #3960 )
...
* RPC: admin.peers()
This RPC method returns information about the connected remote nodes.
https://geth.ethereum.org/docs/rpc/ns-admin#admin_peers
The peers are collected from all configured sentries.
See: https://github.com/ledgerwatch/interfaces/pull/102
Test with:
curl -X POST -H "Content-Type: application/json" --data '{"jsonrpc": "2.0", "method": "admin_peers", "params": [], "id":1}' localhost:8545
* save
* liner fix
Co-authored-by: alex.sharov <AskAlexSharov@gmail.com>
2022-04-25 14:40:04 +01:00
Andrew Ashikhmin
634e9e4f3c
Prohibit EIP-2718 txn wrapped as RLP strings ( #3827 )
2022-04-06 10:40:44 +02:00
Andrew Ashikhmin
44ece33dff
Check TerminalTotalDifficulty for NewPayload & ForkChoice ( #3826 )
...
* Check TerminalTotalDifficulty for NewPayload & ForkChoice
* Fix copy-paste leftover
* forkChoiceMessage -> forkChoice
2022-04-05 17:23:17 +02:00
ledgerwatch
9ea6398524
Fixes to subscribe logs ( #3769 )
...
* Fixes to subscribe logs
* Add criteria to logs subscription
* Skeleton of RPC daemon event log distribution
* Simplify
* Send aggregated filter to Erigon
* Change API
* Print
* Fixes
* Fix topics filtering
* Fill txHash and blockHash
* Timing logs, fill tx index
* Print
* More print
* Print
* Asynchronous sending of log events to RPC daemon
* Remove prints
* Only extract logs if there are subscribers
* Check empty when RPC daemon is removed
Co-authored-by: Alex Sharp <alexsharp@Alexs-MacBook-Pro.local>
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2022-03-26 18:21:31 +00:00
Alex Sharov
a357421719
Snapshots: notify rpcdaemon about new snapshot ( #3755 )
2022-03-24 09:25:38 +07:00
Giulio rebuffo
b7fb85df6a
demoted logs ( #3753 )
2022-03-23 10:28:32 +01:00
Andrew Ashikhmin
74a7d7c75a
Refactor PoS downloader ( #3717 )
...
* Remove blockHeight arg from FeedHeaderPoW
* Revert "Remove blockHeight arg from FeedHeaderPoW"
This reverts commit 9bf92921db11cd4e13386fcee29f30241d070fc6.
* Move PayloadMessage & ForkChoiceMessage to package engineapi
* RequestList instead of newPayloadCh & forkChoiceCh
* Introduce request status
* Send reply only when request status is New
* Move BeaconRequestList to HeaderDownload
* Don't SetFetching when PoS (Fetching means handling newBlockHashes)
* Merge Syncing & Synced into DataWasMissing
* Introduce SyncStatus
* onlyNew arg in WaitForRequest
* Move waitingForBeaconChain into RequestList
* Interrupt instead of skipCycleHack
* Introduce timeout for PoS headers
* Split downloadMissingPoSHeaders
* Move StartPoSDownloader into HeaderDownload
* Move Stopping interrupt to StartPoSDownloader
* Move stopping PayloadStatus back to HeadersPOS
* cleanUpPoSDownload
* Post-merge fix
* TestBogusForkchoice
* TestPoSDownloader
* requestStatus in attemptPoSDownload
* Broadcast in SetStatus
* Cosmetics
* attemptPoSDownload -> schedulePoSDownload
* Demote some logs to Trace
2022-03-22 17:49:12 +01:00
Alex Sharov
36b9cc2982
Snapshots: initial sync fix ( #3750 )
2022-03-22 10:33:15 +07:00
Alex Sharov
7bf87e9597
Snapshots: grpc event ( #3732 )
2022-03-18 15:06:23 +07:00
primal_concrete_sledge
7d168884fe
Logs sub ( #3666 )
...
* save
* Add onLogs
* Fix lint
* Add proper logs
* Update go.mod
* goimports
* Add unwind
2022-03-17 07:40:18 +00:00
Andrew Ashikhmin
2785a57d1c
More Merge logging ( #3712 )
...
* More Merge logging
* Even more logging
* Marshall incoming payload json
* Fix json formatting
* Revert json marshalling
* Some extra logs
2022-03-16 06:55:21 +01:00
Alex Sharov
0b2ce6f845
rpcdaemon: limit amount of read transactions ( #3637 )
...
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* a
* a
* a
* a
* a
* a
* fefefe
* fefefe
* fefefe
* fefefe
* fefefe
* fefefe
* fefefe
* fefefe
* fefefe
* fefefe
* fefefe
* fefefe
* fefefe
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
2022-03-08 10:43:14 +07:00
yperbasis
d470349830
Sleepier stageLoopIsBusy + more logging
2022-03-03 17:51:25 +01:00
Giulio rebuffo
99f688c3ec
PrevRandao Renaming ( #3616 )
...
* PrevRandao Renaming
* lint
2022-02-24 18:16:05 +01:00
Andrew Ashikhmin
37ccbc53d6
Refactor payload building ( #3592 )
...
* Bump MaxPendingPayloads
* UnknownPayload error
* Improve ExchangeTransitionConfigurationV1 comment
* Extract MakeEmptyHeader
* Move MakeEmptyHeader to chain_makers
* Start with empty block as pending payload
* Only build payloads with the right parent hash
* Double check parent hash in SpawnMiningCreateBlockStage
* Simpler error formatting
* ReadHeadBlockHash instead of ReadHeadHeaderHash
* Avoid rebuilding already built blocks
* getPayload should stop the build process
* Tweaking stageLoopIsBusy
* Don't update pending payload after engine_getPayload
2022-02-23 21:27:38 +01:00
Andrew Ashikhmin
980276c322
Fix coinbase in stage_mining_exec ( #3564 )
...
* Simplify TerminalBlockHash & TerminalBlockNumber
* Simplify FeedHeaderPoS
* More accurate comment
* Relax TerminalBlockHash check
* Extract the sleep hack into stageLoopIsBusy
* Several short naps instead of a single longish sleep
* Fix coinbase in stage_mining_exec
* More orthodox loop
* typo in comment
2022-02-21 18:05:39 +01:00
Giulio rebuffo
7f596e16b3
added sleep ( #3561 )
2022-02-21 14:45:10 +01:00
Alex Sharov
3de83e2d96
RPCDaemon: to start with disabled txpool ( #3539 )
2022-02-18 09:45:20 +07:00
Andrew Ashikhmin
0701c83222
Fix stall on unwind in handleForkChoice ( #3536 )
...
* ReadHeader instead of ReadHeaderByHash
* Add Engine API to rpcdaemon README
* Fix nil pointer dereference in HandlePendingBlock
* Fix latestValidHash JSON
* Delete GetPayloadBodiesV1
* Break infinte unwind loop in handleForkChoice
* More logging
2022-02-17 18:30:57 +01:00
Andrew Ashikhmin
fe9f841172
Add Beacon payloads to body downloader prefetch ( #3482 )
...
* Block instead of PayloadMessage
* tx.MarshalBinary instead of rlp.Encode in StartProposer
* Add Beacon payloads to body downloader prefetch
* Restore PayloadMessage
2022-02-11 13:24:29 +01:00
Alex Sharov
e695a6e58b
state and newHead: 1 goroutine per subscriber ( #3452 )
2022-02-10 08:25:58 +07:00
Andrew Ashikhmin
8466cb1b7b
New Engine API semantics (Kiln v1) ( #3340 )
...
* Disable PoS sync temporarily
* Resore PoS sync
* Handle Ctrl^C in HeadersPOS
* Consistent naming
* Extract verifyAndSavePoSHeader & downloadMissingPoSHeaders
* Preparation for EngineForkChoiceUpdated re-orgs
* Extract ForkingPoint
* Comments
* New proto for Engine API
* EngineExecutePayload -> EngineNewPayload
* Return INVALID_BLOCK_HASH if block hash is invalid
* Return EngineStatus_ACCEPTED for side chain blocks
* Update erigon-lib (PR 268)
* Fix payload2Hash
* reverseDownloadCh -> beaconPayloadCh
* Update erigon-lib
* Engine API updated
* ExecutionStatus -> PayloadStatus
* Introduce forkChoiceCh
* Mock ForkChoiceMessage/PayloadStatus
* Add ValidationError to PayloadStatus
* Small clean-ups
* Add INVALID_TERMINAL_BLOCK to EngineStatus
* Add a comment
* Extract handleNewPayload & handleForkChoice
* Partially implement handleForkChoice
* Update erigon-lib
* short vs long re-org
* Move header insertion out of downloadMissingPoSHeaders
* Update erigon-lib
* Refactor ProcessSegmentPOS
* Fix imports
* Wire downloadMissingPoSHeaders into handleForkChoice
* evictOldPendingPayloads
* nolint:unused for assertSegment
* Try nolint instead of nolint:unused
* Small comment improvements
* HeadHeaderHash/StageProgress in handleForkChoice
* TODO: bodyDownloader.AddToPrefetch(block)
* Review call suggestions
* Don't use ReadHeaderNumber in ProcessSegmentPOS
* Don't leave ethbackend waiting when server is stopping
* Update erigon-lib
* More explicit signature of downloadMissingPoSHeaders
2022-02-09 08:33:22 +01:00