121 Commits

Author SHA1 Message Date
Andrew Ashikhmin
4a7bcc73e1
Restore check against Beacon Chain requests before TTD (#5234)
* getPayloadStatusFromHashIfPossible -> getQuickPayloadStatusIfPossible

* Restore TTD check

* Amend log warning

* Restore full stop in comment

* 3 Hive tests are fixed now
2022-08-31 11:01:02 +02:00
fynn.z
9c713d8168
Fixed mining system contract txn lost (#5212)
* fix mining exec error

* fix invalid memory

* remove logs

Co-authored-by: Jeff Rossiter <jeffrey.rossiter@me.com>
2022-08-30 09:47:47 +07:00
Andrew Ashikhmin
e2667d33cf
Amend log message and level (#5165) 2022-08-24 12:13:21 +02:00
Andrew Ashikhmin
4ca7394726
Small fix: log block RLP as hex (#5149) 2022-08-23 10:49:20 +02:00
Giulio rebuffo
1303023cb8
Optimized backend pre-checks and fixed FCU deadlock (#5124)
* Optimized backend pre-checks and fixed FCU deadlock

* fixed tests

Co-authored-by: giuliorebuffo <giuliorebuffo@system76-pc.localdomain>
2022-08-20 16:27:51 +02:00
Andrew Ashikhmin
21699d929a
Log RLP of built PoS blocks (#5107) 2022-08-18 18:11:37 +02:00
Andrew Ashikhmin
25bdbe3de1
Access to EthBackendServer.builders should be protected by lock (#5106) 2022-08-18 18:11:12 +02:00
dmitriyselivanov
4499e04a05
rpcdaemon: wire the most recent of EthBackend.builders.block as a pending block into eth_getBlockByNumber (#5061) 2022-08-15 15:19:45 +07:00
Alex Sharov
52fd0d0e8b
Aggregator22.Unwind() (#5039)
* save

* save
2022-08-13 18:51:25 +07:00
Alex Sharov
351cd49c21
go1.19 gofmt (#4988) 2022-08-10 19:04:13 +07:00
Giulio rebuffo
7a64fe44eb
UX improvement for pre-merge sync with Teku (#4955)
Co-authored-by: giuliorebuffo <giuliorebuffo@system76-pc.localdomain>
2022-08-08 11:26:34 +02:00
Alex Sharov
aee4b53788
save list of snapshots in db (#4777)
* 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
2022-07-28 16:57:38 +07:00
Andrew Ashikhmin
c591266914
Small PoS clean-ups (#4834)
* Amend comment

* More watchful sleep

* improve comment

* Cosmetics for lock/unlock

* statusRef -> statusDeref

* Comment on obsure logic
2022-07-27 12:14:35 +02:00
Andrew Ashikhmin
c1f848746d
Update consensus tests to v11 (#4724)
* Consensus tests update 11

* Add GrayGlacier fork

* Wire currentRandom from tests into PREVRANDAO

* Serenity engine

* Support insertion of PoS blocks in MockSentry

* Introduce marshallTypedTransactionsAsRlpStrings arg into (*Block) RawBody()

* Revert "Introduce marshallTypedTransactionsAsRlpStrings arg into (*Block) RawBody()"

This reverts commit 903fca572be03c7de33318ce177a03a4be34927b.

* Post-merge fix

* Don't wait for Beacon Chain in tests

* Skip powToPosBlockRejection transition test

* ForkChoice in insertPoSBlocks

* Add withPosDownloader arg to MockWithEverything in order to fix TestPoSDownloader
2022-07-26 09:35:38 +02:00
Alex Sharov
3aac12a5f1
use PrioritizedSend method (#4830) 2022-07-26 10:37:51 +07:00
Giulio rebuffo
a372746397
Move some checks out enginePayload and fcu (#4805)
* made in refactoring

* test

Co-authored-by: giuliorebuffo <giuliorebuffo@system76-pc.localdomain>
2022-07-24 16:20:08 +02:00
Giulio rebuffo
1cb6be02a5
Avoid constantly triggering stageloop when using Engine API (#4797)
* avoid constantly triggering stageloop when using Engine API

* fix lint + test

* fixed comments

* ops

* little fixes here and there

Co-authored-by: giuliorebuffo <giuliorebuffo@system76-pc.localdomain>
2022-07-23 18:57:23 +02:00
Andrew Ashikhmin
6060b87840
Fix binary vs raw confusion for PoS transaction (#4781)
* Replace PayloadMessage with Block

* RawTransactions -> BinaryTransactions for clarity

* add a log warning
2022-07-21 19:40:00 +02:00
Giulio rebuffo
d83b7a4ae0
Proper PoS Error reporting (#4631)
* better reporting

* removed debug log

* proper error reporting
2022-07-05 01:31:16 +02:00
Giulio rebuffo
3fc51f5ef7
Revert "Proper Pos block checker when INVALID/ACCEPTED status is sent (#4604)" (#4616)
This reverts commit e90e03ae31606e64d407547fddc8fc5551da649a.
2022-07-03 13:11:16 +02:00
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