Commit Graph

508 Commits

Author SHA1 Message Date
Alexandr Borodulin
fa6c709fcd
Encoding StarknetTx salt parameter (#240)
Co-authored-by: Aleksandr Borodulin <a.borodulin@axioma.lv>
2022-01-17 10:54:29 +01:00
Neo
26dcd28433
Update PriceBump, change tx replacement logic, update test (#238) 2022-01-17 07:45:57 +00:00
ledgerwatch
b95cff2ce3
No empty RLPs in TxPacket messages, consistent parsing of TxPacket and PooledTxPacket (#232)
* Not include empty RLPs into TransactionPacket messages

* Consistent parsing of TransactionPacket and PooledTransactionPacket

* The other way around

* Cleaner form

* Add test for encoding and parsing TransctionsPacket

Co-authored-by: Alex Sharp <alexsharp@Alexs-MacBook-Pro.local>
2022-01-15 09:09:33 +00:00
Alex Sharov
d4faf5beee
Rlp base err2 (#221) 2022-01-05 17:59:26 +07:00
Alex Sharov
bf21599d23
RLP: base error - allows skip them if need (#215) 2021-12-22 14:34:34 +07:00
ledgerwatch
8d06531e4e
txpool - removed mined transactions if they were missed by state stream (#213)
* Copy rlp for stream, remove txs

* Fix low nonce removal

Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2021-12-17 09:35:46 +00:00
ledgerwatch
d79d43f908
Downgrade PropagatePooledTxsToPeersList to Debug (#210)
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2021-12-16 21:33:33 +00:00
ledgerwatch
7f6eb71c4c
Split up txpool Broadcast and Announce (#209)
* Split up Broadcast and Announce

* Split up Broadcast and Announce

Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2021-12-16 21:16:04 +00:00
ledgerwatch
7f82ddaa75
txpool broadcasting (#208)
* txpool broadcasting

* Fix lint

* Broadcast transaction to random peers

* Fix broadcast

* Fix panic

* Change terminology

* fix for broadcasting

* Rebroadcast transactions promoted to pending subpool

* Trace moving between subpools

* Deduplicate promoted hashes, fix basefee promotion

* Tx propagation to be more resilient

* Fix dedup

* Change collection of promoted hashes

Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
Co-authored-by: Alex Sharp <alexsharp@Alexs-MacBook-Pro.local>
2021-12-16 20:58:40 +00:00
Alex Sharov
bb6dfef7c8
add downloader.proto (#206)
* Remove interfaces for replacement

* Squashed 'interfaces/' content from commit be07fc9

git-subtree-dir: interfaces
git-subtree-split: be07fc99183a7cef1ca08961033bdb917d85d9b5

* save

* Remove interfaces for replacement

* Squashed 'interfaces/' content from commit be07fc9

git-subtree-dir: interfaces
git-subtree-split: be07fc99183a7cef1ca08961033bdb917d85d9b5

* Remove interfaces for replacement

* Squashed 'interfaces/' content from commit 23d68fd

git-subtree-dir: interfaces
git-subtree-split: 23d68fda86c3a2c322e7b430c817b06b6f6ca311

* Remove interfaces for replacement

* Squashed 'interfaces/' content from commit 500dde8

git-subtree-dir: interfaces
git-subtree-split: 500dde8293c0a12d19d94b5ff633722a03d7fc4e

* save

* Remove interfaces for replacement

* Squashed 'interfaces/' content from commit e5b1945

git-subtree-dir: interfaces
git-subtree-split: e5b1945d02da7a7f00e2289034ee90a6edd60184

* save

* Remove interfaces for replacement

* Squashed 'interfaces/' content from commit f36d878

git-subtree-dir: interfaces
git-subtree-split: f36d878080fe018a41fb903f81fc8f8ac9981cbd

* save

* save

* save
2021-12-14 13:33:32 +00:00
ledgerwatch
c7cd5d65d3
Introduce transaction tracing in tx pool (#205)
* Introduce transaction tracing in tx pool

* Add tracing prints

Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2021-12-14 09:40:07 +00:00
TBC Dev
a27d9202e3
Refactor and simplify txpool.sendersBatch (#195)
* De-dup and extract sendersBatch.getOrCreateId()

* Misc simplify
2021-11-28 10:46:21 +00:00
ledgerwatch
0404744146
Introduce PriceBump, change tx replacement logic, add test (#192)
* Introduce PriceBump, change tx replacement logic, add test

* Fix TestNonceFromAddress

Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2021-11-26 13:55:58 +00:00
Alex Sharov
34e6ca3c35
Pool: support multi sentry (#191)
* save

* save

* save
2021-11-24 17:13:17 +00:00
TBC Dev
d8870b19c3
Change sentry peer_id from H512 pubkey to H256 keccak256(pubkey) (#183)
* Rename h1 to h0 for clarity

* Simplify toHashes() and toPeerIDs()

* Remove interfaces for replacement

* Squashed 'interfaces/' content from commit ed9b048

git-subtree-dir: interfaces
git-subtree-split: ed9b04802fe8891a2bc3fea274c498c758d3fcac

* Change sentry peer_id from H512 pubkey to H256 keccak256(pubkey)
2021-11-21 19:35:59 +00:00
Alex Sharov
06fb85a0ed
Pool: reject low nonce and low balance txs (#182)
* save

* save
2021-11-21 14:52:17 +00:00
TBC Dev
5b0c5e7fdb
TxPool efficiency improvements (#173)
* Avoid iteration for Spammer tests by tracking senderID tx counts

* Add BySenderAndNonce.ascendAll()

* Add BySenderAndNonce.descend()

* Avoid iteration by descending, and pre-allocate known size

* Resize() once rather than for each good txn

* Use range value in loops

* Add comments to clarify NotSet default values
2021-11-18 07:59:25 +00:00
Alex Sharov
5108c95b85
txpool.Pending() method, which preserve ready-for-mining order (#172) 2021-11-17 17:23:51 +07:00
Alex Sharov
1b6c2266f5
Pool: PooledTransactions to produce correct rlp for non-legacy txs (#166) 2021-11-16 11:21:12 +07:00
ledgerwatch
eefbde1443
Pending nonce [attempt 2] (#158)
* Remove interfaces for replacement

* Squashed 'interfaces/' content from commit 8f1a238

git-subtree-dir: interfaces
git-subtree-split: 8f1a23897b8921ae3e7f9450ec9f300255c6e1e2

* Regenerate bindings for new interfaces

* Add Nonce function

* Search for nonce in ascending order

* Descend from highest possible nonce for sender (#162)

* Descend from highest possible nonce for sender

* Remove assumptions from nonce()

* Remove interfaces for replacement

* Squashed 'interfaces/' content from commit 375e3d8

git-subtree-dir: interfaces
git-subtree-split: 375e3d85a3d9ff13e61593a5efacd2fbc777cec3

* Regenerate

* Started test

* More of test

* Fix test

Co-authored-by: Alex Sharp <alexsharp@Alexs-MacBook-Pro.local>
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
Co-authored-by: TBC Dev <48684072+tbcd@users.noreply.github.com>
2021-11-15 09:44:18 +00:00
Alex Sharov
138a208431
Pool: don't send empty events (#149) 2021-11-07 09:45:25 +07:00
Alex Sharov
3c86aa6290
ETL: use logPrefix as suffix of tmp files (#146) 2021-11-05 17:04:17 +07:00
Alex Sharov
9d5fa95729
Derive chainid no alloc (#142) 2021-11-01 11:17:16 +07:00
Alex Sharov
ce3a3dcfeb
pre-alloc uin256 for chainID derive (#141) 2021-11-01 09:42:39 +07:00
Alex Sharov
c92b760e99
make idhash public (#137) 2021-10-30 09:55:06 +07:00
alex.sharov
d0b2e02128 clean fuzz of pool 2021-10-29 09:58:52 +07:00
Alex Sharov
5d84a53060
Pool2 integration test support (#136) 2021-10-28 18:45:18 +07:00
Alex Sharov
90c6ccb789
Pool: remove rules from func signatures (#135) 2021-10-28 10:13:39 +07:00
Alex Sharov
750239d977
more p2p fuzzing, part 2 (#132) 2021-10-26 14:29:18 +07:00
alex.sharov
8ab2970ce1 more p2p fuzz 2021-10-26 14:10:42 +07:00
Alex Sharov
9558fb6a12
more p2p fuzzing (#131) 2021-10-26 13:52:23 +07:00
alex.sharov
78495d3922 pool docs 2021-10-25 09:48:15 +07:00
Alex Sharov
70c39cd195
Pool intrinsic gas check (#126) 2021-10-25 08:49:04 +07:00
alex.sharov
7693a71b4d mute useless logs 2021-10-24 18:19:52 +07:00
Alex Sharov
505bf97249
save (#124) 2021-10-22 09:41:20 +07:00
Alex Sharov
ec0155d4ed
Mdbx v0.11.0 (#123) 2021-10-22 09:12:39 +07:00
Alex Sharov
66c9c6f3f7
Pool v2: set 10K as default limit for sub-pool, check key existence before delete (#122) 2021-10-21 15:39:28 +07:00
Alex Sharov
12e69ab781
Use default crypto context - because creation of new one failing in Docker on linux host (#118) 2021-10-20 09:00:34 +07:00
alex.sharov
0efa6d9a86 fix fuzz test 2021-10-20 07:03:57 +07:00
alex.sharov
c8a357c673 fix nil pointer on error 2021-10-20 06:42:53 +07:00
Alex Sharov
a3431f5663
Propagate all promoted txs when add local tx (#116) 2021-10-19 15:19:54 +07:00
Alex Sharov
158ae418d1
Pool: print local txs propagation info (#115) 2021-10-18 11:22:05 +07:00
alex.sharov
2031989294 Pool: enable .All method 2021-10-13 09:47:33 +07:00
Alex Sharov
bbcf1f0cff
save (#106) 2021-10-10 19:37:10 +07:00
Alex Sharov
7d8355a99a
Pool: sort by nonceDistance inside Red pool (#105) 2021-10-10 16:41:32 +07:00
Alex Sharov
ac51da3a55
add lenth package (#104) 2021-10-08 09:40:16 +07:00
Alex Sharov
cc20173b74
MDBX: Don't block when open db from another process if main process holds long RW tx (#99) 2021-10-05 15:30:06 +07:00
Alex Sharov
fa97bdba0a
Pool v2: --txpool.accountslots flag support (#98) 2021-10-03 13:27:28 +07:00
Alex Sharov
57c724bbc6
--txpool.pricelimit support (#96) 2021-10-02 17:34:33 +07:00
Alex Sharov
33aa4498f0
Pool: speedup iteration over all txs (#94) 2021-09-28 15:54:02 +07:00
alex.sharov
559f376ed4 save 2021-09-27 22:25:13 +07:00
Alex Sharov
ffac34a86f
Pool: break data-dependency between effectiveTip and other fields (#93) 2021-09-27 19:45:10 +07:00
Alex Sharov
9070cf769f
save (#91) 2021-09-26 19:48:57 +07:00
Alex Sharov
f5fa03d63f
Pool: switch to PendingBaseFee (#90) 2021-09-26 19:47:11 +07:00
Alex Sharov
ba2d50bea2
Pool: return err on duplicate rpc (#88) 2021-09-22 15:10:17 +07:00
Alex Sharov
4862356290
Pool: correct new pending txs notifications (#85) 2021-09-21 16:39:41 +07:00
Alex Sharov
13b0978d86
grpc enable instrumentation (#84) 2021-09-21 10:10:59 +07:00
Alex Sharov
c40a022ab0
Pool: return lost error, fix race of 2 sentries, set high limits to see worst case (#83) 2021-09-20 20:16:32 +07:00
Alex Sharov
6a7eeccad7
Pool: discard reasons, LRU (#80) 2021-09-20 12:44:29 +07:00
Alex Sharov
dfc14352d2
Pool: chain config, non-mainnet (#78) 2021-09-18 20:58:20 +07:00
Alex Sharov
8163e0cd93
Pool: cache based on txID (#75) 2021-09-17 09:56:04 +07:00
Alex Sharov
71308b02b3
Pool: switch cache to tx.ID(), more metrics (#73) 2021-09-15 20:15:32 +07:00
Alex Sharov
aa7acc120c
Pool: expose mdbx's txID to remote_kv (#71) 2021-09-15 13:11:34 +07:00
Alex Sharov
645eb83eca
Pool: mining rpc, remove block num from db, started atomic, more metrics, basic eviction (#70) 2021-09-14 22:01:33 +07:00
Alex Sharov
5b8e019246
Pool: add coherent state cache (#68) 2021-09-13 14:31:15 +07:00
Alex Sharov
0b4e528fac
Pool: no state persistance (#62) 2021-09-08 19:21:13 +07:00
Alex Sharov
c4efc0ea3a
Pool: started atomic (#61)
* save

* save
2021-09-08 12:30:37 +07:00
Alex Sharov
c7739b89a8
Pool: state diff direct client, tx parse fuzzing (#59) 2021-09-07 09:52:17 +07:00
Alex Sharov
6538ae76d0
Pool: grafana board (#58) 2021-09-03 13:22:36 +07:00
Alex Sharov
c935d9ff65
Pool: add grpcutils pkg, no spamming logs on disconnect (#54) 2021-09-02 16:37:36 +07:00
Alex Sharov
71fb498e39
Pool: add grpc server (#53) 2021-09-02 12:25:34 +07:00
Alex Sharov
3b3384e667
Pool: docs for sendersBatch (#52) 2021-09-01 15:28:17 +07:00
Alex Sharov
ad0e5db3ef
Pool: pending best queue as an array, batch p2p new txs processing (#51) 2021-09-01 15:22:48 +07:00
Alex Sharov
38a9bb9d7f
Pool: remove redundant prefix in txs table (#49) 2021-08-31 21:29:55 +07:00
Alex Sharov
29bf077da4
Pool: eviction works, use correct minBaseFee (#48) 2021-08-30 19:26:29 +07:00
alex.sharov
d474087511 clean 2021-08-30 11:46:59 +07:00
alex.sharov
917bdc029c clean 2021-08-30 11:44:53 +07:00
alex.sharov
615f721352 clean 2021-08-30 11:37:41 +07:00
alex.sharov
8925fca3b9 save 2021-08-30 11:24:30 +07:00
alex.sharov
97817a2d67 save 2021-08-30 10:51:20 +07:00
alex.sharov
9050852cba save 2021-08-30 10:50:56 +07:00
alex.sharov
7776dcc461 save 2021-08-30 10:50:38 +07:00
alex.sharov
c881a45037 save 2021-08-30 10:48:37 +07:00
alex.sharov
68683583c8 save 2021-08-30 10:46:07 +07:00
alex.sharov
a24048bed4 save 2021-08-30 10:43:36 +07:00
alex.sharov
16e2f975a4 save 2021-08-30 10:30:27 +07:00
alex.sharov
60f0f9b3dc save 2021-08-30 10:26:25 +07:00
alex.sharov
0d959f8adf save 2021-08-30 10:25:36 +07:00
alex.sharov
17f00c3f97 save 2021-08-30 10:20:38 +07:00
alex.sharov
036060ef77 save 2021-08-30 10:17:03 +07:00
alex.sharov
5cb170a46b save 2021-08-30 10:08:22 +07:00
alex.sharov
960c70d7f3 save 2021-08-30 10:08:15 +07:00
alex.sharov
e0b3248964 save 2021-08-30 10:07:16 +07:00
alex.sharov
9ac6dd7a4c save 2021-08-30 10:00:46 +07:00
alex.sharov
535d7f1a21 s 2021-08-29 13:58:57 +07:00
alex.sharov
f118ea8a8e s 2021-08-28 17:15:42 +07:00
alex.sharov
51c03dd50e s 2021-08-28 17:14:59 +07:00
alex.sharov
2f374dd3d3 s 2021-08-28 17:11:29 +07:00
alex.sharov
c6bef20352 s 2021-08-28 17:03:24 +07:00
alex.sharov
e48ef60569 s 2021-08-28 17:01:50 +07:00