Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Align Cursor API with LMDB/MDBX #1558

Merged
merged 3 commits into from
Mar 19, 2021
Merged

Align Cursor API with LMDB/MDBX #1558

merged 3 commits into from
Mar 19, 2021

Conversation

vorot93
Copy link
Contributor

@vorot93 vorot93 commented Mar 19, 2021

No description provided.

@AskAlexSharov AskAlexSharov merged commit 0b2e4df into master Mar 19, 2021
@AskAlexSharov AskAlexSharov deleted the vorot93/fix-api branch March 19, 2021 07:45
sambacha pushed a commit to contractshark/turbo-geth that referenced this pull request Apr 5, 2021
sambacha pushed a commit to contractshark/turbo-geth that referenced this pull request Apr 5, 2021
* accounts/keystore: use github.com/google/uuid (#22217)

This replaces the github.com/pborman/uuid dependency with
github.com/google/uuid because the former is only a wrapper for
the latter (since v1.0.0).

Co-authored-by: Felix Lange <fjl@twurst.com>
# Conflicts:
#	accounts/keystore/key.go
#	accounts/keystore/passphrase.go
#	accounts/keystore/presale.go
#	cmd/ethkey/generate.go
#	go.mod
#	go.sum

* core/state: fix eta calculation on pruning (#22386)

* les: UDP pre-negotiation of available server capacity (#22183)

This PR implements the first one of the "lespay" UDP queries which
is already useful in itself: the capacity query. The server pool is making
use of this query by doing a cheap UDP query to determine whether it is
worth starting the more expensive TCP connection process.
# Conflicts:
#	les/client.go
#	les/clientpool.go
#	les/clientpool_test.go
#	les/enr_entry.go
#	les/server.go
#	les/vflux/client/serverpool.go
#	les/vflux/client/serverpool_test.go
#	les/vflux/server/balance.go
#	les/vflux/server/balance_test.go
#	les/vflux/server/prioritypool.go
#	les/vflux/server/prioritypool_test.go
#	p2p/nodestate/nodestate.go

* core/rawdb: fix the transaction indexer (#22395)

# Conflicts:
#	core/rawdb/chain_iterator.go

* core, eth: unship EIP 2315

# Conflicts:
#	core/vm/contract.go
#	core/vm/gen_structlog.go
#	core/vm/instructions.go
#	core/vm/instructions_test.go
#	core/vm/interpreter.go
#	core/vm/logger.go
#	core/vm/logger_json.go
#	core/vm/logger_test.go
#	core/vm/stack/stack.go
#	eth/tracers/tracer.go
#	eth/tracers/tracer_test.go

* core/vm/runtime: more unshipping

# Conflicts:
#	core/vm/runtime/runtime_test.go

* cmd/geth: put allowUnsecureTx flag in RPC section (#22412)

# Conflicts:
#	cmd/geth/usage.go

* params: update chts (#22418)

* cmd/utils: fix txlookuplimit for archive node (#22419)

* cmd/utils: fix exclusive check for archive node

* cmd/utils: set the txlookuplimit to 0
# Conflicts:
#	cmd/utils/flags.go

* core/forkid, params: unset Berlin fork number (#22413)

* les: fix nodiscover option on the client side (#22422)

# Conflicts:
#	les/client.go
#	les/vflux/client/serverpool.go
#	les/vflux/client/serverpool_test.go

* cmd: retire whisper flags (#22421)

* cmd: retire whisper flags

* cmd/geth: remove whisper configs
# Conflicts:
#	cmd/geth/config.go
#	cmd/geth/consolecmd.go
#	cmd/geth/main.go
#	cmd/geth/usage.go
#	cmd/utils/flags.go

* tests: update to latest tests (#22290)

This updates the consensus tests to commit 31d6630 and
adds support for access list transactions in the test runner.

Co-authored-by: Martin Holst Swende <martin@swende.se>
# Conflicts:
#	tests/block_test.go
#	tests/gen_sttransaction.go
#	tests/state_test_util.go

* params: release geth 1.10.0 stable

# Conflicts:
#	params/version.go

* params: begin v1.10.1 release cycle

# Conflicts:
#	params/version.go

* Revert "core/forkid, params: unset Berlin fork number (#22413)"

This reverts commit ba99910.

* build: fix PPA failure due to updated debsrc

# Conflicts:
#	build/ci.go

* build: add support for Ubuntu Hirsute Hippo

# Conflicts:
#	build/ci.go

* tests: update reference tests with 2315 removed from Berlin

# Conflicts:
#	tests/testdata

* params: release Geth v1.10.1

# Conflicts:
#	params/version.go

* Compilation fixes

* Fix rcpdaemon compilation

* Fix more compile errors

* Update testdata

* Fixes

* remove mentions of go-ethereum

* remove unneded les fuzzers

* remove rangeproof fuzzer

* Fixes

* Fixes

* Delete

* Fix tg crash again

* more compilation fixes

* Remove database files

* More compilation fixes

* fix compilation in blockchain_test.go

* fix compilation in runtime_fuzz

* fix consensus tests

* fixes to core tests (compilation)

* core tests compile now

* core/vm tests fixes

* fix core/rawdb

* cleanup runtime_test from the unimplemented EIP

* skip deadlock

* remove duplicate tests

* semi-fix graphql tests (compiles but 1 test fails)

* compile core/types (tests still fail)

* fix internal/guide tests

* fix eth/filters

* fix miner tests

* fix abi fuzzers

* ./test compiles

* ethclient tests compile

* eth/downloader compiles

* some fixes

* fix some eth handler tests

* ./eth tests builds

* skip downloader tests that hang

* For fox stage_senders

* Fixes

* fix rlp fuzzer issue

* change handler_test

* fixups to handler_test

* fix rawdb tests

* skip tx pool deadlock

* fix core state processor test

* fix DeriveFields test

* debug

* fixup core/types

* fix eth/downloader

* fix graphql tests

* less metrics performance impact

* less metrics performance impact

* use non-app metric to parse in grafana variables

* add periodical db statistic metrics (erigontech#1545)

* add periodical db statistic metrics (erigontech#1546)

* Grafana: add Btree metrics (erigontech#1547)

* table stat metrics

* add docker-compose udp port

* Trie: use APPEND when re-generating trie. Also including db-migration for PR#1535 (erigontech#1549)

* TxDb: Walk method - to reuse cursors (erigontech#1548)

* Trie: add invariant - first level of trie must be in DB (to ensure having 100% trie structure in trie_account table) (erigontech#1522)

* Add mdbx_drop cli tool (erigontech#1553)

* Fix Typo in Makefile (erigontech#1555)

stats -> state

* remove ethclient and checkpoint-admin (unused)

* semi-cleanup of eth/tracers

* fixups

* return testdata

* add tracer_test

* Fix cmd/rpcdaemon tests

* Remove files

* Fix eth/tracwers

* Fix eth/protocols/eth

* Fix for 1 test in eth

* Lint fixes

* fixme: skip tests for ZK (too slow on MDBX), recover later

* use lmdb for in-mem database and restore zk tests

* Fix lints

* fix one issue in TestEIP2718Transition

* Revert "fix one issue in TestEIP2718Transition"

This reverts commit b92995f.

* Fix lints

* Fix lints, fork split test

* Fix lints

* Fix lints

* Fix lints

* Fix lints

* unmark fixed tests

* workaround `./tests`

* fix `./eth`

* skip headerchain test

* linter fixups

* fix linter

* more linter fixes

* and more linter fixes

* and more lint fixes

* lint passes

* skip failing test 1

* fix ethash test

* Update skip analysis

* Fix TestEIP2718Transition

* begin 2021.03.02 release cycle

* Align Cursor API with LMDB/MDBX (erigontech#1558)

* go 1.16 support (erigontech#1509)

* Update instructions for Windows users (erigontech#1562)

WSL instructions

* Split header prefix bucket to headers, td and canonical (erigontech#1556)

* split headers prefix

* migration

* fix downloader bug

* test for migration

* fix lint

* uncomment t.Prallel

* fix postprocessing test

* Update config.yml (erigontech#1564)

* Try to fix multiple head subscriptions (erigontech#1565)

Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>

* Adjust comments to Buckets after PR-1556 (erigontech#1566)

* More updates to downloader, new p2psentry protocol (erigontech#1559)

* Initial commit

* Add sentry gRPC interface

* p2psentry directory

* Update README.md

* Update README.md

* Update README.md

* Add go package

* Correct syntax

* add external downloader interface (#2)

* Add txpool (#3)

* Add private API (#4)

* Invert control.proto, add PeerMinBlock, Separare incoming Tx message into a separate stream (#5)

Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>

* Separate upload messages into its own stream (erigontech#6)

Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>

* Only send changed accounts to listeners (erigontech#7)

* Txpool interface doc (erigontech#9)

* More additions

* More additions

* Fix locking

* Intermediate

* Fix separation of phases

* Intermediate

* Fix test

* More transformations

* New simplified way of downloading headers

* Fix hard-coded header sync

* Fixed syncing near the tip of the chain

* Add architecture diagram source and picture (erigontech#10)

* More fixes

* rename tip to link

* Use preverified hashes instead of preverified headers

* Fix preverified hashes generation

* more parametrisation

* Continue parametrisation

* Fix grpc data limit, interruption of headers stage

* Add ropsten preverified hashes

* Typed hashes (erigontech#11)

* Typed hashes

* Fix PeerId

* 64-bit tx nonce

* Disable penalties

* Add goerli settings, bootstrap nodes

* Try to fix goerly sync

* Remove interfaces

* Add proper golang packages, max_block into p2p sentry Status

* Prepare for proto overhaul

* Squashed 'interfaces/' content from commit ce36053

git-subtree-dir: interfaces
git-subtree-split: ce36053

* Change EtherReply to address

* Adaptations to new types

* Switch to new types

* Fixes

* Fix formatting

* Fix lint

* Lint fixes, reverse order in types

* Fix lint

* Fix lint

* Fix lint

* Fix test

* Not supporting eth/66 yet

* Fix shutdown

* Fix lint

* Fix lint

* Fix lint

* return stopped check

Co-authored-by: Artem Vorotnikov <artem@vorotnikov.me>
Co-authored-by: b00ris <b00ris@mail.ru>
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
Co-authored-by: lightclient <14004106+lightclient@users.noreply.github.com>
Co-authored-by: canepat <16927169+canepat@users.noreply.github.com>

* move remote eth backend from ethdb to core package (erigontech#1567)

* KV: Remove reserve, putcurrent, cmp, dcmp (erigontech#1552)

* grpc version up (erigontech#1568)

* Simple test for layout of TrieOfAccountsBucket  (erigontech#1563)

* don't loose error in test

* KV: split Sequence into ReadSequence and MakeSequence (erigontech#1569)

* Update README.md (erigontech#1571)

* Update README.md (erigontech#1572)

* Update README.md (erigontech#1573)

* Tests: use transaction instead of db.MemCopy in chain_makers.go (erigontech#1570)

* mdbx tests speedup

* mdbx tests speedup

* devel up

* devel up

* devel up

* lint

* less db copy

* don't loose error in test

* clean

* devel up (erigontech#1574)

* Hide TxDb (erigontech#1575)

* Remove autogen from typedcursor (erigontech#1576)

* remove old flags

* remove old flags

* fix tests

* fix tests

* revert

* Revert "remove old flags"

This reverts commit 009c098.

* revert

* KV: Split RO and RW transactions (erigontech#1577)

* MDBX bindings: remove finalizers (write tx require to be closed from same thread) (erigontech#1579)

* Handshake in tests, correct ENR updates, etc. (erigontech#1578)

* Remove Blockchain dependency from forkID, fix ENR update

* Fix handshake_test

* Remove db access from handshake

* Undo

* Use StagedSync in test handlers

* Compile fix

* Debugging

* dependency fixes

* More info

* Print test name

* Increase timeout

* Disable checkpoint test

* Optimise RW message pipe

* Fix test

* Print handshake errors

* See where the pipe is closing

* Remove checkpoints

* Remove printouts

* Revert "Fix test"

This reverts commit d154e07.

* Revert "Optimise RW message pipe"

This reverts commit 6936111.

* Revert "Increase timeout"

This reverts commit 9dc0e23.

* Revert "See where the pipe is closing"

This reverts commit 3cf22af.

* Remove printing

* Relax peerEventCh

Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>

* remove ideal batch size (erigontech#1582)

* Update Makefile (erigontech#1583)

* mining uncles (erigontech#1581)

* db commit - remove unused return param (erigontech#1584)

* no_panic_be_happy (erigontech#1586)

* no false alert (erigontech#1588)

* Senders table size regression: loadfunc preventing use of APPEND (erigontech#1585)

* Fix some conformance tests broken after rebase (erigontech#1587)

* Uncomment

* Try to fix

* Try again

* Compile fix

* Compile fix

* Compile fix

* Compile fix

* Compile fix

* fix lint

* Enable more tests

* Fix core tests

* Remove comment outs

Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>

* RPCDaemon: increase throughput by allowing more parallel grpc streams and not lockthread for read tx (erigontech#1580)

* Mining stage (erigontech#1554)

* temporary return miner to avoid nil pointer

* remove_warning_when_mining_disabled (erigontech#1591)

* Kill cmd/state/stateless (erigontech#1592)

* Move stuff around

* Remove

* tidy

* Fix for writeReceipt printing

* fix lint typo

Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>

* Update stages.go (erigontech#1593)

* Add debug_accountAt to rpcdaemon README (erigontech#1594)

* Mining - don't write changesets to batch (erigontech#1595)

* Correct forkID computation in sentry, use blocks prefetched by NewBlockPacket, Fix NaN delivery speed output (erigontech#1596)

* Use proper forkID

* Remove NaN from Write block bodies messages

* Move Prefetched blocks

Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>

* Create TESTING.md (erigontech#1597)

* Fixes to new downloader (erigontech#1599)

* Fix for prefetched bodies

* Do not reset headers stage to 0

Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>

* ObjectDatabase cleanup (erigontech#1598)

* ObjectDatabase cleanup

* Remove ObjectDatabase::WarmUp

* Mining: use noop writer when applyTx, pending logs subscription (erigontech#1600)

* Mining: to use correct ibs snapshot (erigontech#1601)

* Update skip_analysis (erigontech#1602)

Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>

* begin release cycle 2021.03.03

* Mining test: set correct header.Timestamp and header.GasLimit (erigontech#1603)

* mdbx: switch to master branch

* Remove unused code (erigontech#1604)


* Remove graphql, legacy options

* Remove CODEOWNERS

* Remove EWASM and custom EVM interpreter

* Genesis: calculate root by common components (erigontech#1608)

* Update TESTING.md (erigontech#1609)

* Remove puppeth & account management (erigontech#1610)

* rpctest commands to support block ranges, integration tool to allow tx tracing into files (erigontech#1616)

* block range options for rpctest

* convert bench8 to fastjson

* Add txtrace to integration tool

Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>

* Genesis.toBlock remove db from arguments (erigontech#1611)

* Remove blockchain object from some tests (erigontech#1612)

* Mining: remove local pow mining (from ethash), --miner.notify is required now, cycle is non-blocking now (erigontech#1617)

* metrics for header/body/exec stages (erigontech#1618)

* Lazy fix for eth_getLogs (erigontech#1620)

Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>

* Fix lints and remove more unused code (erigontech#1621)

* Add Actions workflow (erigontech#1606)

* RPC: Pending transactions/blocks/logs  (erigontech#1625)

* Mining docs (erigontech#1628)

* Port rpcdaemon to KV interface (erigontech#1627)

* Add readAccount hack (erigontech#1629)

Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>

* Fix compilation error in hack.go (erigontech#1633)

Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>

* Add Docker step to Actions workflow (erigontech#1630)

* tests (erigontech#1631)

* context leak fix (erigontech#1632)

* increase tests timeout

* infinite gas cap for gas estimate (erigontech#1638)

* estimate_gas: to accept optional block or hash (erigontech#1639)

* set locals in tx pool constructor (erigontech#1637)

* old loader remove v1 (erigontech#1641)

* remove unused metrics (erigontech#1643)

* Remove old loader, part 2 (erigontech#1642)

* rpctest: Recording requests and responses and replay command (erigontech#1644)

* Record to file

* Add replay command

* Update doc

Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>

* headers: remove with cancel (erigontech#1640)

* remove with cancel

* remove with cancel

* remove with cancel

* corner_case_return_null_when_block_not (erigontech#1646)

* Remove old loader, step 3 (remove some tds and blockchain objects in tests) (erigontech#1647)

* Remove blockchain object from simulated backend (erigontech#1648)

* bump version due to the month change

* Update skip_analysis.go (erigontech#1649)

* Add files via upload (erigontech#1650)

* begin 2021.04.02 release cycle

* Add files via upload (erigontech#1652)

* fixed win build (erigontech#1654)

* fixed win build (erigontech#1655)

* Remove tds in few tests (erigontech#1657)

* tx.RwCursor() to return err (first step of removing lazy cursors) (erigontech#1656)

* more (erigontech#1658)

* etl to use rwtx (erigontech#1660)

* Try windows build (take 2) (erigontech#1659)

* Update ci.yml

* Update ci.yml

* Update ci.yml

* Update ci.yml

* Update ci.yml

* Add files via upload (erigontech#1662)

* fix empty bucket name

* Nuke remnants of non-staged-sync modes (erigontech#1664)

* bitmapdb to use rwtx (erigontech#1661)

* Mdb no db size log (erigontech#1665)

* Remove ancients and some old skipped tests (erigontech#1668)

* Nuke old miner and mux (erigontech#1666)

* Stateless Tx interface (erigontech#1667)

* Harmonize DB APIs (erigontech#1669)

* KV: Unified Has (erigontech#1671)

* Fix readme links (erigontech#1672)

minor readme link fixes. The markdown was off.

* Add files via upload

* Add files via upload

* Add files via upload

* Add files via upload

* Add files via upload

* Delete find-tip.png

* Add files via upload

* Add files via upload

* Add files via upload

* Add files via upload

* Mutation: implement StatelessRwTx (erigontech#1670)

* remove blockchain.InsertChain call from downloader (erigontech#1674)

* clean (erigontech#1677)

* Remove ReadAllHashes (erigontech#1678)

* fix interfaces

* Squashed 'interfaces/' content from commit a013c31

git-subtree-dir: interfaces
git-subtree-split: a013c31

Co-authored-by: Marius van der Wijden <m.vanderwijden@live.de>
Co-authored-by: Martin Holst Swende <martin@swende.se>
Co-authored-by: Felföldi Zsolt <zsfelfoldi@gmail.com>
Co-authored-by: gary rong <garyrong0905@gmail.com>
Co-authored-by: Péter Szilágyi <peterke@gmail.com>
Co-authored-by: Felix Lange <fjl@twurst.com>
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
Co-authored-by: Igor Mandrigin <i@mandrigin.ru>
Co-authored-by: alex.sharov <AskAlexSharov@gmail.com>
Co-authored-by: Chase Wright <mysticryuujin@gmail.com>
Co-authored-by: Artem Vorotnikov <artem@vorotnikov.me>
Co-authored-by: Andrea Lanfranchi <andrea.lanfranchi@gmail.com>
Co-authored-by: b00ris <b00ris@mail.ru>
Co-authored-by: ledgerwatch <akhounov@gmail.com>
Co-authored-by: lightclient <14004106+lightclient@users.noreply.github.com>
Co-authored-by: canepat <16927169+canepat@users.noreply.github.com>
Co-authored-by: Andrew Ashikhmin <34320705+yperbasis@users.noreply.github.com>
Co-authored-by: Lefteris Karapetsas <lefteris@refu.co>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants