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

Refactor patricia trie #185

Closed
5 tasks done
obscuren opened this issue Nov 19, 2014 · 0 comments
Closed
5 tasks done

Refactor patricia trie #185

obscuren opened this issue Nov 19, 2014 · 0 comments
Assignees
Milestone

Comments

@obscuren
Copy link
Contributor

  • Rewrite trie using proper nodes instead of interface{}
  • Rewrite trie iterator
  • Reimplement paranoia check
  • Reimplement caching mechanism
  • Backend
@obscuren obscuren self-assigned this Nov 19, 2014
@obscuren obscuren added this to the PoC8 milestone Nov 19, 2014
@obscuren obscuren mentioned this issue Nov 21, 2014
6 tasks
ngtuna pushed a commit to ngtuna/tomochain that referenced this issue Sep 26, 2018
Add control over verbosity for docker image "node" via env var
AusIV pushed a commit to NoteGio/go-ethereum that referenced this issue Feb 22, 2021
maoueh pushed a commit to streamingfast/go-ethereum that referenced this issue Nov 26, 2021
MariusVanDerWijden added a commit that referenced this issue Dec 20, 2022
* expand bottom margin for mdx tables

* Update getProgrammingLanguageName.ts

* clean up from code review suggestions

* Update src/components/MDXComponents.tsx

Co-authored-by: Corwin Smith <cssmittys@gmail.com>

* import chakra components, add ol styling

* update letterSpacing and lineHeight values

% not supported for letterSpacing, 'auto' not supported for lineHeight

* h1 letterSpacing to match design

* yarn add @docsearch/react algoliosearch

* initialize Search component

using DocSearch component via @docsearch/react library

* update mdx header sizes for mobile

* update homepage h1 mobile styling to match design (#60)

* fix: dark mode body colors (#61)

* chore: update textStyles

* markdown text color styles

Co-authored-by: Corwin Smith <cssmittys@gmail.com>

* feat: add favicon

* chore: add metadata image

* chore: update PageMetadata default image

* chore: update h2 font-size

* feat: All releases downloads (#46)

* chore: update constants

* feat: add releases data utils

* chore: add fast-xml-parser

* chore: update types

* feat: fetch & parse all releases data

* chore: update utils

* wip: use real data on DataTable

* chore: update yarn.lock

* fix: getReleaseCommitHash

* feat: filter data per downloads tab

* chore: update DownloadsTable

* chore: update DownloadsTable Props

* fix: getReleaseArch.ts

* feat: add fetchXMLData util

* feat: add fetchLatestReleaseCommit util

* feat: add getSortedReleases util

* chore: comment wip primary release feature

* fix: fetchXMLData

* chore: add netlify.toml

* fix: total number of releases count

* fix: center showing latest releases text and use smaller font

* chore: prettier

* chore: update textStyles

* fix: merge conflicts

* Update src/theme/foundations/textStyles.ts

Co-authored-by: Paul Wackerow <54227730+wackerow@users.noreply.github.com>

* chore: update headings letter spacing

* chore: update SpecificVersionsSection component layout to match homepage (#64)

* chore: update SpecificVersionsSection component layout to match homepage

* chore: remove non-required repeat function

* chore: move favicon code to PageMetadata

* Update src/pages/_app.tsx

Co-authored-by: Paul Wackerow <54227730+wackerow@users.noreply.github.com>

* chore: update letter spacing on headings

* Extract search styling to .css

* add search modal styling

* add missing mark selector

* add missing border to nav search

* add mobile styling

* extract keys to .env

* further mobile styling

* temporarily revert test key removal

* debug: algolia demo keys

* mobile search styling tweaks

* standardize code snippets

* feat: OpenPGP Signatures data (#67)

* chore: remove test data

* chore: update constants

* chore: update types

* chore: update code-bg dark color

* feat: use real data for OpenPGP Signatures table

* chore: remove unused types

Co-authored-by: Paul Wackerow <54227730+wackerow@users.noreply.github.com>

* add lastModified date (#68)

* add lastModified date

* prettier

* fix type errors on build

Co-authored-by: Paul Wackerow <54227730+wackerow@users.noreply.github.com>

* fix links and typos

* add hover styling to desktop search button

* fix: color of loading indicator

* fix color of loading indicator

* linting

* remove old search component

* fix link and make image work w darkmode

* Create docs navigation sidebar (#40)

* crawl files and create directory tree for sidebar

* dropdown

* Working on dropdown links and styling

* setup header nav

* Styles

* DocumentNav sidebar done

* wrap up header sidebar

* setup top level nav

* update root level data and fix link bug

* doc links yaml

* nav links for docs

* remove character

* prettier

* fix build error

* MDX style

* Update src/components/UI/docs/DocsLinks.tsx

Co-authored-by: Paul Wackerow <54227730+wackerow@users.noreply.github.com>

* Abstract LinksList component into its own file

* change requests

* AccordionButton styles

* AccordionButton styled

* fix broken links

* prettier

* prettier

* fix broken default code snippet

* fix accordion spacing

* fix gap at top of DocsNav lg

* fix but of persistent header link

* remove test content

* setup Notes and prettier

* rehype

* Note component

* Note font styling

* convert old notes to use component

* Breadcrumb cleanup and prettier

* MDXComponents -> MDComponent and documentation

Co-authored-by: Paul Wackerow <54227730+wackerow@users.noreply.github.com>

* Fix Ethereum and GitHub typos

* Fix typo (#101)

* fix: downloads page borders & margins

* prevent Header title from wrapping [Fixes #79] (#111)

* fix: show 2 latest releases for linux

* Extracted the style objects and props into variable

Extracted the common style objects and props into variables or constants to avoid repeating the same code and make the code easier to read. 
Instead of repeating the same _hover styles in multiple places, I created a hoverStyles object and used it in each Link component.

* remove any margin on first MD item (#109)

[Fixes #75, issue when articles start with an H2 had extra margin between the H1 section and the starting H2.

* fix broken links (#103)

* patch responsive width [Fixes #53] (#104)

* linting

* use Box instead of flex Stack for nav items

allows vertical margins of children to properly collapse into one another

* adjust docs nav gap to 14px per design

* Stylize active docs link [Fixes #74, Fixes #115] (#108)

* add bold for active docs link [Fixes #74]

* Add ::before indicator to active doc link

Removes bold styling per design

* Update documentation-links.yaml

Makes it so `id` is paired with either a `to` field OR a list of `items` but not both

* Updates hover styling for left docs nav

* clean up styling

Removes remaining underlines from links styled as buttons. Cleans up logic for conditionally showing the ::before pseudo element. Makes the ::before indicator slightly larger.

* tweak ::before indicator styling

* tweak ::before indicator styling

* fix: Show older releases button width on mobile (#125)

* Icon line weight patch [Fixes #70] (#105)

* add custom AddIcon and MinusIcon svgs

* switch DocsLinks to use custom +/- svgs

* fix size of +/- svgs

* Link section padding [Fixes #71] (#106)

* rename to LinksList

* add padding after sections in LinksList

* reduce padding between sections to 1.5rem

* fix: remove Showing... count message (#118)

* fix: remove Showing... count message

* Update src/pages/downloads.tsx

Co-authored-by: Paul Wackerow <54227730+wackerow@users.noreply.github.com>

* Update src/pages/downloads.tsx

Co-authored-by: Paul Wackerow <54227730+wackerow@users.noreply.github.com>

Co-authored-by: Paul Wackerow <54227730+wackerow@users.noreply.github.com>

* hotfix: button width

* xs font size for os label on mobile [Fixes #94] (#123)

* Add gap between md content and right nav [Fixes #77] (#110)

* add gap between md content and right nav

* shorten max width of right nav divider

* make DocumentNav width responsive

Existing fixed width was too large after the 2rem of padding was added. Simply making it more narrow made it unnecessarily small on larger screen sizes. Clamp sets a min of chakra-size-40, max of chakra-size-58, while targeting an eighth of the screen width.

* filter out anchor tag

* Remove color style for list items, and change first-child to first-of-type based on console error for SSR (#127)

* Adjust link styling for various states [Fixes #89] (#129)

* fix: link styling for various states

updates hover/active/focus link states to match design system

* hover underline color to secondary

* update redirects and fix line break on cli page

* add max width of 100% to md content on mobile (#130)

* Use long month formatting for last edit date [Fixes #86] (#121)

* use long month formatting for last edit date

* last -> Last

* Update src/pages/[...slug].tsx

Co-authored-by: Nicolás Quiroz <nh.quiroz@gmail.com>

Co-authored-by: Corwin Smith <cssmittys@gmail.com>
Co-authored-by: Nicolás Quiroz <nh.quiroz@gmail.com>

* Fix hover for DocumentNav links [Fixes #73] (#107)

* fix hover for DocumentNav links [Fixes #73]

* use Box instead of flex Stack

Allows vertical margins of children to collapse into each other

* Revert "use Box instead of flex Stack"

This reverts commit a4811127ccd7424da8f51e2a056aee447fc5db08.

* add :focus and :active states

* Update src/components/UI/docs/Breadcrumbs.tsx

Co-authored-by: Paul Wackerow <54227730+wackerow@users.noreply.github.com>

* Update src/components/UI/docs/Breadcrumbs.tsx

Co-authored-by: Paul Wackerow <54227730+wackerow@users.noreply.github.com>

* Update src/components/UI/docs/DocumentNav.tsx

Co-authored-by: Paul Wackerow <54227730+wackerow@users.noreply.github.com>

* remove margin styles for document-nav-link in textStyles.ts

* fix: external links (#133)

* fix: footer external links

* fix: ButtonLinkSecondary external links

* fix: docs external links

* Markdown header margin fix [Fixes #83] (#120)

* expand parseHeadingId

Will produce a kebab-case heading ID from string if none explicitly declared in the markdown. Always returns an object with the children, title and headingId.

* remove redundant code from MDComponents.tsx

parseHeadingIds now always returns an object with an ID, removing need for conditionals here

* Use Box instead of flex Stack for MDX content

Allows stacked vertical margins to properly collapse into each other

* fix: h2 top margin to 3rem on mobile

* remove unneeded line

* extract and rename getKebabCaseFromName util fn

* Update src/pages/[...slug].tsx

* Update src/utils/parseHeadingId.ts

Co-authored-by: Corwin Smith <cssmittys@gmail.com>

* move constant inside function

make variable name all caps as a string constant

* clean up utils/index.ts to abc order

Co-authored-by: Corwin Smith <cssmittys@gmail.com>

* close mobile docs dropdown when page is selected

* search input directs query to google

* update green.900 value (#135)

used for button background; increases contrast ratio

* adjusts light primary to green.700 for contrast (#137)

Improves contrast ratio when paired with yellow.50 and removes browser a11y warnings

* feat: add empty state for platforms without releases

* fix: borderBottom on DownloadsTable

* fix: adds missing legacyBehavior prop

* fix: add :hover color for hero buttons on dark mode

* chore: prettier

* update search to form get request

similar to existing site, using duckduckgo using the get method of a form element. Converted magnifying class wrapped in anchor tag to be a submit button instead

* update fontSize for h1

* add redirects structure

* add submit type to search button

* fixes broken link

double slash causing netlify build errors

* fixes broken link

double slash causing netlify build errors

* Update contributing.md

* Update code-review-guidelines.md

Removing this whitespace might make the final page look cleaner (Not as much whitespace between terminology and process)

* fix typo

* add redirects from url-list.csv

* chore: wip

* chore: update wip

* Remove defaultIndex from Accordion to have them default closed (#144)

* [UI/UX bug] - Footer buttons are only partially clickable and [Perf] - Optimise SVGs  (#143)

* Make whole footer button area clickable

* optimize svgs

* update header styles

* Update src/components/UI/docs/DocsNav.tsx

Co-authored-by: Paul Wackerow <54227730+wackerow@users.noreply.github.com>

* change requests

* chore: remove MDX dependencies and Provider

* update colors (#154)

* add legacyBehavior prop

* fix onClick vs legacyBehavior

adds missing legacyBehavior attribute to NextLink tags to prevent nesting anchor elements which was causing hydration warnings. Also fixes 'The legacy behavior requires onClick be set on the child of next/link'

* linux stables build

* chore: update utils

* chore: update types

* feat: check if it's primary release

* Accessibility (a11y) clean up (#138)

* Add hidden skip to content for keyboard a11y

* update green.900 value

used for button background; increases contrast ratio

* adjusts light primary to green.700 for contrast

Improves contrast ratio when paired with yellow.50 and removes browser a11y warnings

* add aria-labels

* add lang to html element

* fix improperly ordered headers

We should not be using headers (h4/h5) for these aside navigations. Updated to remove browser warnings.

* add remaining aria-label

* add aria-label for mobile menu

* h2 fontWeight

* prettier

* chore: import correct font weight

* [bug] right side navigation menu is not being rendered ok in some cases (#146)

* dont render DocumentNav if there are no headings on a page

* Fix layout of elements in [...slug].tsx

* fix header

* fix span overflow

* prettier

* fix: missing white-space on pre tags

* fix: parsedHeadings bug

Co-authored-by: Nicolás Quiroz <nh.quiroz@gmail.com>

* minor formatting fixes

* chore: update constants

* feat: add getLastModifiedDate

* fix: last modified date

* update DocSearch do use env vars

* strip out netlify-preview domain from search results

* Update src/components/UI/Search.tsx

* extract indexDomain to env var

* linting

* match any domain and remove

makes all search results local to current domain

* chore: update spacing between sections on home and /downloads pages

* Add sitemap and robots.txt (#163)

* yarn add next-sitemap and config

* add sitemap to .gitignore

* commit generated robots.txt

* chore: update MobileMenu imports

* add default downloads tab based on user OS

* docs: remove interacting-with-geth/rpc/objects

* docs: fix typos on index page

* docs: remove extra heading in fundamentals/index

* src/data: update some doc link names

* update url-list.csv

* [sorting] releases should be sorted by date, then by type (Geth, then Geth + tools)  (#158)

* create constant for number of releases per os

* sort releases

* Apply suggestions from code review

* change requests

* fix build error

* cleanup

* fix: typo & prettier

* refactor sort function

* cleanup unnecessary changes

* fix: getReleaseArch case

* fix sort

* prettier

Co-authored-by: Paul Wackerow <54227730+wackerow@users.noreply.github.com>
Co-authored-by: Nicolás Quiroz <nh.quiroz@gmail.com>

* chore: update margins on desktop

* update relative path of import

* docs: move some pages (#169)

Moves a few pages to new locations based on feedback from Geth team.

Co-authored-by: Felix Lange <fjl@twurst.com>

* update redirect for /private-network

* add legacy redirects [Fixes #159]

* chore: update line-height for docs text (#174)

* check for SamsungBrowser for Android

* redirect removed page to /docs landing

updates old redirect to /docs as well

* Fix broken docs links (#175)

* Fix broken docs links

* Update docs/fundamentals/backup-restore.md

Co-authored-by: Corwin Smith <cssmittys@gmail.com>

Co-authored-by: Nicolás Quiroz <nh.quiroz@gmail.com>
Co-authored-by: Corwin Smith <cssmittys@gmail.com>

* redirect rpc/objects path to root

* fix: buttons :active/:focus styles (#173)

* chore: update Button component styles

* chore: update textStyles

* chore: remove redundant styles

* debug android OS selector

* debug using only re.test(string)

* add back Android user agent check

* add some basic pagination to landing pages

* Add 404 page-not-found fallback [Fixes #155] (#176)

* add 404 page not found fallback

* clean up styling

* chore: update .gitignore

* chore: add .env.local.example

* chore: update getLastModifiedDate util

* chore: update lastModified code

* chore: update gh api fetch

* Add ? to What is Ethereum and What is Geth (#184)

* add redirects for broken breadcrumb links

* Update .env.local.example

Co-authored-by: Paul Wackerow <54227730+wackerow@users.noreply.github.com>

* Update src/utils/fetchLatestReleaseCommit.ts

Co-authored-by: Paul Wackerow <54227730+wackerow@users.noreply.github.com>

* Update src/utils/fetchLatestReleaseVersionAndName.ts

Co-authored-by: Paul Wackerow <54227730+wackerow@users.noreply.github.com>

* Update src/utils/getLastModifiedDate.ts

Co-authored-by: Paul Wackerow <54227730+wackerow@users.noreply.github.com>

* Update src/data/documentation-links.yaml

Co-authored-by: Corwin Smith <cssmittys@gmail.com>

* handle bug where header id caused breadcrumbs to render on /docs (#185)

* Update redirects.js

* Update redirects.js

* update styling for search component (#191)

* [UX SUGGESTION] Active section should be expanded on docs page load (#190)

* Add functionality to have left navbar section open on page load

* remove tracker as prop

Co-authored-by: Paul Wackerow <54227730+wackerow@users.noreply.github.com>

* fix logic for which sections are open

* remove extra whitespace

* fix dependency array

* move toggle handler to base component

* fix: /docs/tools/clef/introduction link

* chore: prettier

* chore: extract to variable

* fix: Clef links

* fix: rename docs/tools/clef/introduction file

* Update src/components/UI/docs/DocsLinks.tsx

Co-authored-by: Paul Wackerow <54227730+wackerow@users.noreply.github.com>

* Update src/components/UI/docs/DocsLinks.tsx

Co-authored-by: Paul Wackerow <54227730+wackerow@users.noreply.github.com>

* rm codebase, prepare for website import

* fix: private network path

* fix: private network path

* fix hash-link bug with left docs nav (#195)

* Add missing redirect (#197)

* add missing redirect

* fix: contributing links

Co-authored-by: Nicolás Quiroz <nh.quiroz@gmail.com>

Co-authored-by: Corwin Smith <cssmittys@gmail.com>
Co-authored-by: Nicolás Quiroz <nh.quiroz@gmail.com>
Co-authored-by: Joe <jmcook1186@gmail.com>
Co-authored-by: Joshua <62268199+minimalsm@users.noreply.github.com>
Co-authored-by: Joseph Cook <33655003+jmcook1186@users.noreply.github.com>
Co-authored-by: Avi Thour <thouravi@gmail.com>
Co-authored-by: Marius van der Wijden <m.vanderwijden@live.de>
Co-authored-by: Felix Lange <fjl@twurst.com>
Co-authored-by: Sam Richards <sbrichards@gmail.com>
joshuacolvin0 pushed a commit to joshuacolvin0/go-ethereum that referenced this issue Jan 4, 2023
jsign added a commit to jsign/go-ethereum that referenced this issue Mar 20, 2023
* alter Trie interface to use caching for slots

* fix: use a lock to protect the point cache (ethereum#185)

* use fastest non-master go-verkle version & pull trie/Verkle.go changes to use new api (ethereum#184)

* mod: update to fastest go-verkle version today

Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com>

* trie/verkle: use new batch serialization api

Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com>

---------

Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com>

---------

Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com>
Co-authored-by: Ignacio Hagopian <jsign.uy@gmail.com>
jsign added a commit to jsign/go-ethereum that referenced this issue Mar 23, 2023
* Unified point cache

* Use cache for Try*Account

* alter Trie interface to use caching for slots (ethereum#181)

* alter Trie interface to use caching for slots

* fix: use a lock to protect the point cache (ethereum#185)

* use fastest non-master go-verkle version & pull trie/Verkle.go changes to use new api (ethereum#184)

* mod: update to fastest go-verkle version today

Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com>

* trie/verkle: use new batch serialization api

Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com>

---------

Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com>

---------

Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com>
Co-authored-by: Ignacio Hagopian <jsign.uy@gmail.com>

* fix: TryDelete signature in unit tests

---------

Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com>
Co-authored-by: Ignacio Hagopian <jsign.uy@gmail.com>
rjl493456442 pushed a commit to rjl493456442/go-ethereum that referenced this issue Aug 29, 2023
Squash the main verkle PR ahead of rebase

don't call Bytes() in GetTreeKey (ethereum#137)

trie: avoid endianness conversion in GetTreeKey (ethereum#140)

* trie/utils: add concrete expected value in trie key generation test

Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com>

* mod: update to latest go-verkle

Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com>

* trie/utils: avoid endianness conversions

Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com>

* apply review changes & update to official go-verkle version

Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com>

Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com>

upgrade go-verkle to CoW version and get TestProcessVerkle to build (ethereum#138)

updating ci to use self-hosted machine (ethereum#143)

fix: storage offset in non-header group + reuse of value buffer (ethereum#145)

dedup call to ChunkifyCode, same as replay branch (ethereum#156)

* dedup call to ChunkifyCode, same as replay branch

* fix some linter issues

fix code offset in tree update (ethereum#157)

fix REVERT in state processor test execution (ethereum#158)

* fix code offset in tree update

* fix REVERT in test execution

save on key hashing: lump code size update with first code chunk group (ethereum#159)

fix code chunk key calculation and storage key calculation (ethereum#161)

* fix codeKey calculation

* Remove

* fix storageOffset

* fix the fix to the fix to the offset fix

* Remove copy/pasted, unused code in test

* fix linter

---------

Co-authored-by: Guillaume Ballet <3272758+gballet@users.noreply.github.com>

fix: infinite loop when calling extcodecopy on empty code (ethereum#151)

upgrade to latest go-verkle

fix: only update code in the tree if it's dirty (ethereum#174)

fix: read-touch the code size and Keccak of the origin (ethereum#175)

List of changes for converting a sepolia database (ethereum#182)

* naive conversion rebased on top of beverly hills

* changes for the sepolia shadow fork conversion

* fixes to please the linter

* fixes to please the linter

Unified point cache (ethereum#180)

* Unified point cache

* Use cache for Try*Account

* alter Trie interface to use caching for slots (ethereum#181)

* alter Trie interface to use caching for slots

* fix: use a lock to protect the point cache (ethereum#185)

* use fastest non-master go-verkle version & pull trie/Verkle.go changes to use new api (ethereum#184)

* mod: update to fastest go-verkle version today

Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com>

* trie/verkle: use new batch serialization api

Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com>

---------

Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com>

---------

Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com>
Co-authored-by: Ignacio Hagopian <jsign.uy@gmail.com>

* fix: TryDelete signature in unit tests

---------

Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com>
Co-authored-by: Ignacio Hagopian <jsign.uy@gmail.com>

trie/utils: fix potential overflow (ethereum#191)

* trie/utils: fix potential overflow

Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com>

* trie/utils: receive storage key as a byte slice

Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com>

* revert formatter changes

Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com>

* trie/utils: fix mod 256

Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com>

---------

Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com>

trie/utils: fix incorrect bigint assignment (ethereum#193)

Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com>

upgrade precomp link to fix CI

fix: add missing code size&keccak leaves in empty accounts (ethereum#192)

fixes to use the latest go-verkle@master (ethereum#197)

* fixes to use the latest go-verkle@master

* linter fixes

* linter fixes for tests

* fix: use jsign's go-verkle fix

refactor: remove unused (*StateDB).GetXLittleEndian methods (ethereum#204)

fix gas accounting issue in state_processor_test.go (ethereum#207)

update go-verkle not to use StatelessNode anymore (ethereum#206)

* update go-verkle not to use StatelessNode anymore

* update go-verkle to latest

refactor: move verkle gas accounting to its own block in TransitionDB (ethereum#208)

fix a panic in deserializeVerkleProof if GetProofItems returns a nil ProofElements

use the cachingDB instead of a custom VerkleDB (ethereum#209)

* use the cachingDB instead of a custom VerkleDB

* fix stack trace in LES

remove holiman from CODEOWNERS as he gets too many emails

read from tree in state object if the snapshot is nil (ethereum#205)

add missing error checks for the root node type (ethereum#214)

implement OpenStorageTrie for verkle trees (ethereum#210)

* implement OpenStorageTrie for verkle trees

* add a few comments for future maintenance

* fix linter issue

fix: copy balance leaf to new buffer in TryGetAccount (ethereum#217)

implement some heretofore unimplemented iterator methods (ethereum#219)

params: move verkle params to their own file (ethereum#228)

fix: proper number of chunk evals (ethereum#215)

overlay transition (ethereum#244)

* overlay transition

Fix some bugs identified in the code review

Co-authored-by: Ignacio Hagopian <jsign.uy@gmail.com>

Include base -> overlay key-values migration logic (ethereum#199)

* mod: add go-verkle version with key-value migration new apis

Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com>

* core/stateprocessor: use constant for max number of migrated key-values

Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com>

* core: add base->overlay key-values migration logic

Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com>

* core: fix some compiler errors

Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com>

* trie: consider removing transition trie api in the future

Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com>

* mod: use latest go-verkle

Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com>

---------

Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com>

fix some unit tests errors

get convresion block from file

fix compilation issues

fix initialization issue in migrator

fix: changes needed to run the first 28 blocks

important sutff: fix the banner

fix: use nonce instead of balance in nonce leaf (ethereum#202)

fixes for performing the overlay transition (ethereum#203)

* fixes for performing the overlay transition

* fixes for the full replay

* fix: deletion-and-recreation of EoA

* fixes to replay 2M+ blocks

* upgrade to go-verkle@master

* fix: proper number of chunk evals

* rewrite conversion loop to fix known issues

changes to make replay work with the overlay method (ethereum#216)

* fixes for performing the overlay transition

fixes for the full replay

fix: deletion-and-recreation of EoA

fixes to replay 2M+ blocks

upgrade to go-verkle@master

fix: proper number of chunk evals

rewrite conversion loop to fix known issues

changes to make replay work with the overlay method

fixes to replay 2M+ blocks

update to latest go-verkle@master

* use a PBSS-like scheme for internal nodes (ethereum#221)

* use a PBSS-like scheme for internal nodes

* a couple of fixes coming from debugging replay

* fix: use an error to notify the transition tree that a deleted account was found in the overlay tree (ethereum#222)

* fixes for pbss replay (ethereum#227)

* fixes for pbss replay

* trie/verkle: use capped batch size (ethereum#229)

* trie/verkle: use capped batch size

Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com>

* trie/verkle: avoid path variable allocation per db.Put

Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com>

* don't keep more than 32 state root conversions in RAM (ethereum#230)

---------

Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com>
Co-authored-by: Guillaume Ballet <3272758+gballet@users.noreply.github.com>

* cleanup some code

* mod: update go-verkle

Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com>

* re-enable snapshot (ethereum#231)

* re-enable cancun block / snapshot (ethereum#226)

* clear storage conversion key upon translating account (ethereum#234)

* clear storage conversion key upon translating account

* mod: use latest go-verkle

Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com>

---------

Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com>
Co-authored-by: Ignacio Hagopian <jsign.uy@gmail.com>

* fix: self-deadlock with translated root map mutex (ethereum#236)

* return compressed commitment as root commitment (ethereum#237)

---------

Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com>
Co-authored-by: Ignacio Hagopian <jsign.uy@gmail.com>

---------

Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com>
Co-authored-by: Ignacio Hagopian <jsign.uy@gmail.com>

---------

Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com>
Co-authored-by: Ignacio Hagopian <jsign.uy@gmail.com>

fix first panic in *TransitionTrie.Copy()

upgrade go-verkle to latest master

mod: update go-verkle (ethereum#239)

Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com>

core: print state root every 100 blocks (ethereum#240)

Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com>

fix: only Commit the account trie (ethereum#242)

fixes to get TestProcessVerkle to work with the overlay branch (ethereum#238)

* fixes to get TestProcessVerkle to work with the overlay branch

* fix all panics in verkle state processor test

* fix proof verification

move transition management to cachingDB

* fix: mark the verkle transition as started if it's ended without being started

* fix the verkle state processing test

* fix linter errors

* Add a function to clear verkle params for replay

* fix: handle TransitionTrie in OpenStorageTrie

* fix linter issue

* fix the deleted account error (ethereum#247)

* code cleanup (ethereum#248)

* fix: don't error on a missing conversion.txt (ethereum#249)

* Overlay Tree preimages exporting and usage (ethereum#246)

* export overlay preimages tool

Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com>

* use preimages flat file in overlay tree migration logic

Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com>

* cmd/geth: add --roothash to overlay tree preimage exporting command

Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com>

* cleanup

Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com>

* review feedback

Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com>

---------

Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com>

* fix: reduce the PR footprint (ethereum#250)

* fix: don't fail when preimages.bin is missing (ethereum#251)

* fix: don't fail when preimages.bin is missing

* fix: don't open the preimages file when outside of transition

---------

Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com>
Co-authored-by: Ignacio Hagopian <jsign.uy@gmail.com>

review changes

remove replay-specific code
weiihann pushed a commit to weiihann/go-ethereum that referenced this issue Sep 27, 2023
Squash the main verkle PR ahead of rebase

don't call Bytes() in GetTreeKey (ethereum#137)

trie: avoid endianness conversion in GetTreeKey (ethereum#140)

* trie/utils: add concrete expected value in trie key generation test

Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com>

* mod: update to latest go-verkle

Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com>

* trie/utils: avoid endianness conversions

Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com>

* apply review changes & update to official go-verkle version

Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com>

Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com>

upgrade go-verkle to CoW version and get TestProcessVerkle to build (ethereum#138)

updating ci to use self-hosted machine (ethereum#143)

fix: storage offset in non-header group + reuse of value buffer (ethereum#145)

dedup call to ChunkifyCode, same as replay branch (ethereum#156)

* dedup call to ChunkifyCode, same as replay branch

* fix some linter issues

fix code offset in tree update (ethereum#157)

fix REVERT in state processor test execution (ethereum#158)

* fix code offset in tree update

* fix REVERT in test execution

save on key hashing: lump code size update with first code chunk group (ethereum#159)

fix code chunk key calculation and storage key calculation (ethereum#161)

* fix codeKey calculation

* Remove

* fix storageOffset

* fix the fix to the fix to the offset fix

* Remove copy/pasted, unused code in test

* fix linter

---------

Co-authored-by: Guillaume Ballet <3272758+gballet@users.noreply.github.com>

fix: infinite loop when calling extcodecopy on empty code (ethereum#151)

upgrade to latest go-verkle

fix: only update code in the tree if it's dirty (ethereum#174)

fix: read-touch the code size and Keccak of the origin (ethereum#175)

List of changes for converting a sepolia database (ethereum#182)

* naive conversion rebased on top of beverly hills

* changes for the sepolia shadow fork conversion

* fixes to please the linter

* fixes to please the linter

Unified point cache (ethereum#180)

* Unified point cache

* Use cache for Try*Account

* alter Trie interface to use caching for slots (ethereum#181)

* alter Trie interface to use caching for slots

* fix: use a lock to protect the point cache (ethereum#185)

* use fastest non-master go-verkle version & pull trie/Verkle.go changes to use new api (ethereum#184)

* mod: update to fastest go-verkle version today

Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com>

* trie/verkle: use new batch serialization api

Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com>

---------

Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com>

---------

Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com>
Co-authored-by: Ignacio Hagopian <jsign.uy@gmail.com>

* fix: TryDelete signature in unit tests

---------

Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com>
Co-authored-by: Ignacio Hagopian <jsign.uy@gmail.com>

trie/utils: fix potential overflow (ethereum#191)

* trie/utils: fix potential overflow

Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com>

* trie/utils: receive storage key as a byte slice

Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com>

* revert formatter changes

Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com>

* trie/utils: fix mod 256

Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com>

---------

Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com>

trie/utils: fix incorrect bigint assignment (ethereum#193)

Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com>

upgrade precomp link to fix CI

fix: add missing code size&keccak leaves in empty accounts (ethereum#192)

fixes to use the latest go-verkle@master (ethereum#197)

* fixes to use the latest go-verkle@master

* linter fixes

* linter fixes for tests

* fix: use jsign's go-verkle fix

refactor: remove unused (*StateDB).GetXLittleEndian methods (ethereum#204)

fix gas accounting issue in state_processor_test.go (ethereum#207)

update go-verkle not to use StatelessNode anymore (ethereum#206)

* update go-verkle not to use StatelessNode anymore

* update go-verkle to latest

refactor: move verkle gas accounting to its own block in TransitionDB (ethereum#208)

fix a panic in deserializeVerkleProof if GetProofItems returns a nil ProofElements

use the cachingDB instead of a custom VerkleDB (ethereum#209)

* use the cachingDB instead of a custom VerkleDB

* fix stack trace in LES

remove holiman from CODEOWNERS as he gets too many emails

read from tree in state object if the snapshot is nil (ethereum#205)

add missing error checks for the root node type (ethereum#214)

implement OpenStorageTrie for verkle trees (ethereum#210)

* implement OpenStorageTrie for verkle trees

* add a few comments for future maintenance

* fix linter issue

fix: copy balance leaf to new buffer in TryGetAccount (ethereum#217)

implement some heretofore unimplemented iterator methods (ethereum#219)

params: move verkle params to their own file (ethereum#228)

fix: proper number of chunk evals (ethereum#215)

overlay transition (ethereum#244)

* overlay transition

Fix some bugs identified in the code review

Co-authored-by: Ignacio Hagopian <jsign.uy@gmail.com>

Include base -> overlay key-values migration logic (ethereum#199)

* mod: add go-verkle version with key-value migration new apis

Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com>

* core/stateprocessor: use constant for max number of migrated key-values

Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com>

* core: add base->overlay key-values migration logic

Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com>

* core: fix some compiler errors

Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com>

* trie: consider removing transition trie api in the future

Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com>

* mod: use latest go-verkle

Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com>

---------

Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com>

fix some unit tests errors

get convresion block from file

fix compilation issues

fix initialization issue in migrator

fix: changes needed to run the first 28 blocks

important sutff: fix the banner

fix: use nonce instead of balance in nonce leaf (ethereum#202)

fixes for performing the overlay transition (ethereum#203)

* fixes for performing the overlay transition

* fixes for the full replay

* fix: deletion-and-recreation of EoA

* fixes to replay 2M+ blocks

* upgrade to go-verkle@master

* fix: proper number of chunk evals

* rewrite conversion loop to fix known issues

changes to make replay work with the overlay method (ethereum#216)

* fixes for performing the overlay transition

fixes for the full replay

fix: deletion-and-recreation of EoA

fixes to replay 2M+ blocks

upgrade to go-verkle@master

fix: proper number of chunk evals

rewrite conversion loop to fix known issues

changes to make replay work with the overlay method

fixes to replay 2M+ blocks

update to latest go-verkle@master

* use a PBSS-like scheme for internal nodes (ethereum#221)

* use a PBSS-like scheme for internal nodes

* a couple of fixes coming from debugging replay

* fix: use an error to notify the transition tree that a deleted account was found in the overlay tree (ethereum#222)

* fixes for pbss replay (ethereum#227)

* fixes for pbss replay

* trie/verkle: use capped batch size (ethereum#229)

* trie/verkle: use capped batch size

Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com>

* trie/verkle: avoid path variable allocation per db.Put

Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com>

* don't keep more than 32 state root conversions in RAM (ethereum#230)

---------

Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com>
Co-authored-by: Guillaume Ballet <3272758+gballet@users.noreply.github.com>

* cleanup some code

* mod: update go-verkle

Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com>

* re-enable snapshot (ethereum#231)

* re-enable cancun block / snapshot (ethereum#226)

* clear storage conversion key upon translating account (ethereum#234)

* clear storage conversion key upon translating account

* mod: use latest go-verkle

Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com>

---------

Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com>
Co-authored-by: Ignacio Hagopian <jsign.uy@gmail.com>

* fix: self-deadlock with translated root map mutex (ethereum#236)

* return compressed commitment as root commitment (ethereum#237)

---------

Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com>
Co-authored-by: Ignacio Hagopian <jsign.uy@gmail.com>

---------

Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com>
Co-authored-by: Ignacio Hagopian <jsign.uy@gmail.com>

---------

Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com>
Co-authored-by: Ignacio Hagopian <jsign.uy@gmail.com>

fix first panic in *TransitionTrie.Copy()

upgrade go-verkle to latest master

mod: update go-verkle (ethereum#239)

Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com>

core: print state root every 100 blocks (ethereum#240)

Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com>

fix: only Commit the account trie (ethereum#242)

fixes to get TestProcessVerkle to work with the overlay branch (ethereum#238)

* fixes to get TestProcessVerkle to work with the overlay branch

* fix all panics in verkle state processor test

* fix proof verification

move transition management to cachingDB

* fix: mark the verkle transition as started if it's ended without being started

* fix the verkle state processing test

* fix linter errors

* Add a function to clear verkle params for replay

* fix: handle TransitionTrie in OpenStorageTrie

* fix linter issue

* fix the deleted account error (ethereum#247)

* code cleanup (ethereum#248)

* fix: don't error on a missing conversion.txt (ethereum#249)

* Overlay Tree preimages exporting and usage (ethereum#246)

* export overlay preimages tool

Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com>

* use preimages flat file in overlay tree migration logic

Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com>

* cmd/geth: add --roothash to overlay tree preimage exporting command

Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com>

* cleanup

Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com>

* review feedback

Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com>

---------

Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com>

* fix: reduce the PR footprint (ethereum#250)

* fix: don't fail when preimages.bin is missing (ethereum#251)

* fix: don't fail when preimages.bin is missing

* fix: don't open the preimages file when outside of transition

---------

Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com>
Co-authored-by: Ignacio Hagopian <jsign.uy@gmail.com>

review changes

remove replay-specific code
atenjin pushed a commit to alt-research/go-ethereum that referenced this issue Apr 4, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant