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

Install script fails on Ubuntu 14.04 #89

Closed
nicksavers opened this issue Jun 26, 2014 · 4 comments
Closed

Install script fails on Ubuntu 14.04 #89

nicksavers opened this issue Jun 26, 2014 · 4 comments

Comments

@nicksavers
Copy link
Contributor

Now installing the ethereum client
# github.com/obscuren/serpent-go
../go/src/github.com/obscuren/serpent-go/all.cpp:1:30: fatal error: serpent/bignum.cpp: No such file or directory
 #include "serpent/bignum.cpp"
                              ^
compilation terminated.
# github.com/obscuren/serpent-go
../go/src/github.com/obscuren/serpent-go/all.cpp:1:30: fatal error: serpent/bignum.cpp: No such file or directory
 #include "serpent/bignum.cpp"
                              ^
compilation terminated.
@stephantual
Copy link
Contributor

that's because you need to do

cd ~/go/src/github.com/obscuren/serpent-go
git submodule init
git submodule update


cd $GOPATH/src/github.com/ethereum/go-ethereum/ethereum
go install -v

@nicksavers
Copy link
Contributor Author

That fixed it, but it would be nice if this is done in the install script.

@obscuren
Copy link
Contributor

https://github.com/ethereum/go-ethereum/blob/master/install.sh

curl https://raw.githubusercontent.com/ethereum/go-ethereum/master/install.sh | sh -s [exec] [branch]

branch = any branch name
exec   = ethereum | etheral

@nicksavers
Copy link
Contributor Author

...
sh: 44: [: ethereal: unexpected operator
Building ethereum CLI.
# github.com/obscuren/serpent-go
../../../obscuren/serpent-go/all.cpp:1:30: fatal error: serpent/bignum.cpp: No such file or directory
 #include "serpent/bignum.cpp"
                              ^
compilation terminated.

nolash pushed a commit to nolash/go-ethereum that referenced this issue Jun 10, 2017
…work-snapshot

p2p/simulations: Snapshot support
ngtuna pushed a commit to ngtuna/tomochain that referenced this issue Jul 26, 2018
BlockSigners Smart Contract - Move from BlockNumber to BlockHash
rjl493456442 pushed a commit to rjl493456442/go-ethereum that referenced this issue Feb 2, 2021
maoueh pushed a commit to streamingfast/go-ethereum that referenced this issue Aug 13, 2021
Make few warn logs to debug (mat-2425)
lispc pushed a commit to lispc/go-ethereum that referenced this issue Apr 26, 2022
* fix: code chunification with incorrect header

* add a test from rust-verkle and fix offset bug

* fix ci build

* complete coverage of rust-verkle chunking tests

* fix: make sure the witness value is set

* add another code chunking test from rust-verkle
zhiqiangxu pushed a commit to zhiqiangxu/go-ethereum that referenced this issue Dec 5, 2022
* update genesis and config

* change Epoch
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>
JacekGlen pushed a commit to imapp-pl/go-ethereum that referenced this issue Jan 17, 2023
jsign pushed a commit to jsign/go-ethereum that referenced this issue Feb 15, 2023
verkle: Implement Trie, NodeIterator and Database ifs

Fix crash in TestDump

Fix TestDump

Fix TrieCopy

remove unnecessary traces

fix: Error() returned errIteratorEnd in verkle node iterator

rewrite the iterator and change the signature of OpenStorageTrie

add the adapter to reuse the account trie for storage

don't try to deserialize a storage leaf into an account

Fix statedb unit tests (ethereum#14)

* debug code

* Fix more unit tests

* remove traces

* Go back to the full range

One tree to rule them all

remove updateRoot, there is no root to update

store code inside the account leaf

fix build

save current state for Sina

Update go-verkle to latest

Charge WITNESS_*_COST gas on storage loads

Add witness costs for SSTORE as well

Charge witness gas in the case of code execution

corresponding code deletion

add a --verkle flag to separate verkle experiments from regular geth operations

use the snapshot to get data

stateless execution from block witness

AccessWitness functions

Add block generation test + genesis snapshot generation

test stateless block execution (ethereum#18)

* test stateless block execution

* Force tree resolution before generating the proof

increased coverage in stateless test execution (ethereum#19)

* test stateless block execution

* Force tree resolution before generating the proof

* increase coverage in stateless test execution

ensure geth compiles

fix issues in tests with verkle trees deactivated

Ensure stateless data is available when executing statelessly (ethereum#20)

* Ensure stateless data is available when executing statelessly

* Actual execution of a statless block

* bugfixes in stateless block execution

* code cleanup

 - Reduce PR footprint by reverting NewEVM to its original signature
 - Move the access witness to the block context
 - prepare for a change in AW semantics
   Need to store the initial values.
 - Use the touch helper function, DRY

* revert the signature of MustCommit to its original form (ethereum#21)

fix leaf proofs in stateless execution (ethereum#22)

* Fixes in witness pre-state

* Add the recipient's nonce to the witness

* reduce PR footprint and investigate issue in root state calculation

* quick build fix

cleanup: Remove extra parameter in ToBlock

revert ToBlock to its older signature

fix import cycle in vm tests

fix linter issue

fix appveyor build

fix nil pointers in tests

Add indices, yis and Cis to the block's Verkle proof

upgrade geth dependency to drop geth's common dep

fix cmd/devp2p tests

fix rebase issues

quell an appveyor warning

fix address touching in SLOAD and SSTORE

fix access witness for code size

touch target account data before calling

make sure the proper locations get touched in (ext)codecopy

touch all code pages in execution

add pushdata to witness

remove useless code in genesis snapshot generation

testnet: fix some of the rebase/drift issues

Fix verkle proof generation in block

fix an issue occuring when chunking past the code size

fix: ensure the code copy doesn't extend past the code size

Upgrade go-verkle to its IPA version (ethereum#24)

fixes for the IPA testnet

upgrade to latest go-verkle

update go-verkle to get more fixes

simplify code by removing all stateless references (ethereum#25)

fix verkle proof test by enforcing values alignment to 32 bytes

remove unneeded KZG tag

fix the stateless test

Move AccessWitness into StateDB (ethereum#27)

* move AccessWitness into StateDB

* set Accesses in TxContext constructor

* Ensures that a statedb is initialized with a witness

* copy AccessWitness in StateDB.Copy.  use copied state in miner worker.commit.

* remove redundant line

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

Fix contract creation issue

enable verkle on cancun block: take 2 (ethereum#28)

* enable verkle on cancun block: take 2

* fix typo.  make unreachable line panic message more clear

fix rebase issues

fix linter issue

merge undefined instead of panicking (ethereum#30)

initialize the new access witness if not already present

fix boundary check in PUSH

fix bound check in code chunking

fix boundary condition check in PUSH32

add circleci support (ethereum#32)

* add circleci support

* disable linter, which is broken again

* actually run tests

remove unnecessary cancun block declaration in tests (ethereum#33)

upgrade go version (ethereum#34)

fix calculation in get_tree_key_for_storage_slot (ethereum#35)

use the witness in statedb, revert applyTx signature (ethereum#36)

* use the witness in statedb, revert applyTx signature

* fix miner tests

* fix catalyst build

Remove access witness from the signature of Process (ethereum#38)

consensus/ethash: ensure uncle accounts are included in block witness (ethereum#40)

consensus/ethash: move accumulation of coinbase witness before coinbase account is credited (ethereum#41)

remove outdated comment

miner: embed verkle proof in sealing block (ethereum#39)

* miner: embed verkle proof in sealing block

* add test to ensure that verkle proof is present in mined blocks

Refactor witness-accumulation in EVM (ethereum#42)

* make push dynamically-charged.  charge witness gas costs for push.  refactor evm witness gas charging to move logic for touching a range of bytecode into a helper method 'touchEachChunksAndChargeGas'

* add witness gas calculation for CodeCopy, ExtCodeCopy, SLoad back to gas_table.go

* witness gas charging for CALL

* remove explicit reference to evm.TxContext

* core/vm: make touchEachChunksAndCharge gas handle nil code value

* core/vm: call implementation, separate out witnesses into touch/set

* some fixes

* remove witness touching from opCall: this will go in evm.go

* remove witness touching for call from gas_table.go

* (hopefully) fix tests

* add SSTORE witness charging that was removed mistakenly

* charge witness gas for call

* clean up and comment touchEachChunksAndChargeGas

* make suggested changes

* address remaining points

* fix build issues

* remove double-charging for contract creation witness gas charging

call onleaf in verkle commit (ethereum#45)

replace sha256 with pedersen_hash in get_key (ethereum#46)

* replace sha256 with pedersen_hash

* fix: prevent an OOB

* workaround timeout in unit test

* update go-ipa and reduce the timeout

* fix for unit tests: do not call NewAccessWitness in NewEVMTxContext (ethereum#49)

* potential fix: do not call NewAccessWitness in NewEVMTxContext

* more fixes: check for the existence of Accesses

* fix absence of witness in copy

* fix another witness issue

* workaround: ensure the prefetcher is off in verkle mode

* fix the remaining issues in tests

* review feedback

* fix witness allocation in stateless test

reactivate working lines in test

fix: don't create settings each time a key is calculated (ethereum#53)

fix: don't use rlp in the tree for slot values (ethereum#51)

* fix: don't use rlp in the tree for slot values

* fix timeout after rebase

core/vm: don't include contract deployer bytecode in AccessWitness or charge witness access costs for it (ethereum#54)

Verkle EXTCODECOPY implementation (ethereum#55)

* core/vm: verkle extcodecopy naive way (do jumpdest analysis on target contract every EXTCODECOPY)

* no double-charge

* address edge-case in touchEachChunksAndChargeGas

* simplify line

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

Use IsCancun where applicable (ethereum#56)

* replace Accesses != nil with IsCancun(...)

* fix

Charge witness gas when calling/creating a contract (ethereum#60)

* Charge witness gas when calling/creating a contract

Co-authored-by: Jared Wasinger <j-wasinger@hotmail.com>

* gofmt

* replace checks with evm.Access!=nil with IsCancun

* remove double-charging of witness access costs for contract creation initialization

Co-authored-by: Jared Wasinger <j-wasinger@hotmail.com>

verkle proof deserialization (ethereum#61)

* use proof serialization

* remove cruft

* save current state

* fix most issues up to this point

* fix remaining build issues

* update the go.mod to use the right branch

* remove custom-defined set type

* update go-verkle to get merged PRs

* extract key, value data from proof

* only activate precomp calculations if this is a verkle chain

Co-authored-by: Jared Wasinger <j-wasinger@hotmail.com>

fix: build more than one block in stateless test (ethereum#66)

* reproduce the bug

* fix the nil AccessWitness when Resetting

* fix nonce management in blocks

* fix: make sure the snapshot is reused during the chain generation

Fix GetTreeKey (ethereum#65)

* trie/utils: fix GetTreeKey

* disable the faulty test, tracking issue opened

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

Implement latest stateless gas charging spec (ethereum#63)

* latest stateless gas-charging spec: add write event charging

* rename gas calculation function so that it doesn't seem it's charging gas

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

Various fixes for rust-verkle proof format compatibility (ethereum#67)

* code to extract the block

* separate proof from keys in block

* display state root of block 0

* change file name to reflect the correct block number

* use RLP instead of flat binary for keyvals in block

* update go-verkle to fix build

* fix rebase issues

* make test pass

* fix issue in map copy

Co-authored-by: Jared Wasinger <j-wasinger@hotmail.com>

Fix contract creation aw (ethereum#68)

* fix contract creation AccessWitness

* remove tracing

* remove tracing

* remove block2.rlp

* move repeated error message into its own error type

fix a couple linter issues

Sload fix (ethereum#69)

* move SLOAD gas calculation to gasSLoadEIP2929

* re-add gasSLoad, used by SSTORE

* make requested changes

fix: witness gas costs being charged more than once (ethereum#70)

* fix: witness gas costs being charged more than one

* update test case

Co-authored-by: Jared Wasinger <j-wasinger@hotmail.com>

re-enable VerkleTrie::ToDot

core/state: implement GetCodeSize for VerkleDB (ethereum#75)

implement core/state: implement GetCodeSize for VerkleDB

copy the pre-state, use an untouched copy for the proof (ethereum#72)

test to compare the proof format with that of rust verkle (ethereum#73)

* test to compare the proof format with that of rust verkle

* comment block extraction code

check proof in verkle tree test

don't delete from the trie when we encounter empty state object if verkle is enabled (ethereum#74)

core/state: write code to rawdb under codehash key when verkle is enabled (ethereum#76)

force the 32-byte alignment of nonce and balance (ethereum#71)

* force the 32-byte alignment of nonce and balance

* review feedback: fix endianness in output

core/state - ensure storage value is set properly in snapshot when verkle is enabled (ethereum#78)

fixes for the return type change in go-verkle (ethereum#77)

* fixes for the return type change in go-verkle

* update go-verkle

* fix endianness issue + workaround for witness fix

* add changes to miner

Co-authored-by: Jared Wasinger <j-wasinger@hotmail.com>

calculate tree index correctly for SLOAD access event (ethereum#79)

core/vm: witness write event for SSTORE (ethereum#80)

* core/vm: witness write event for SSTORE

* remove TODO that is addressed by this branch

fix estimateGas (handle ErrInsufficientBalanceWitness).  Return proper error message when ErrInsufficientBalanceWitness is encountered (ethereum#81)

Verkle/fix/perdersen hash (ethereum#84)

* remove ineffective statement

* fix endianness in pedersen_hash

refactor: set witness account values in getStateObject() (ethereum#83)

* enforce 32-byte alignment

* save current state

* write account values to witness from getObject

* code cleanup + sanity checks

* fix RLP serialization of missing keys

* remove code redundancy for GetTreeKeyCodeChunk

* fix stem calculation issue for code and storage

* remove redundant SetLeafValue calls

* Add a contract creation tx to the test

* fix botched module version update

* detail gas calculation cost in verkle contract deployment

fix verkle trie iterator to not miss leaf values in the first index of a leaf node (ethereum#88)

creation-time CODECOPY adds no code to the witness (ethereum#86)

* creation-time CODECOPY adds no code to the witness

* Add a more complex test to ensure EXTCODECOPY is called

* Fix offset calculations in the slot function

* minor tweaks

* fix initial value capture for storage

* fix build

* fix: get the proper byte in get_tree_key_for_storage_slot

* fix length calculation in getDataAndAdjustedBounds

* fix verkle test

small simplification in order to facilitate rebase

upgrade go-ipa + go-verkle: faster precomp loading

fix: place slot value, not its rlp encoding in witness

fix: code chunification with incorrect header (ethereum#89)

* fix: code chunification with incorrect header

* add a test from rust-verkle and fix offset bug

* fix ci build

* complete coverage of rust-verkle chunking tests

* fix: make sure the witness value is set

* add another code chunking test from rust-verkle

spec: don't add the trailing pushdata for a final PUSHn (ethereum#90)

cleanup: don't evaluate 0 coeffs in get_tree_key (ethereum#87)

ensure no overflow occurs in the chunk touch function

load the full coinbase account in reward

fix: previous commit broke stateless test

rework the way the gas is charged per code chunk

update go-verkle to grab the fix for ethereum#200

fix: don't add PUSH1-data during contract deployment (ethereum#91)

* fix: don't add PUSH1-data during contract deployment

* remove import cycle in tests (ethereum#92)

fix: redundant proof-of-absence stems (ethereum#93)

test: missing children of the same internal node produce a single extension status (ethereum#94)

ParseNode with commitment parameter (ethereum#95)

review feedback for rebase over kiln (ethereum#97)

safe gas add (ethereum#98)

* safe gas add

* fix build

ensure 10-byte addresses are right-aligned in pedersen_hash (ethereum#99)

Co-authored-by: Tanishq Jasoria <jasoriatanishq@gmail.com>

Remove the code analysis interface to reduce PR footprint (ethereum#100)

* Remove the code analysis interface to reduce PR footprint

* fix unit test

fix: set IsDeployment=false outside of contract creation (ethereum#101)

remove trailing line

verkle test: count the code chunks in the witness (ethereum#102)

temp fix: little endian pedersen_hash (ethereum#103)

factor the amount of polynomial evaluations in access witness (ethereum#106)

reuse polynomial evaluation in account update (ethereum#108)

fix: remove redundant balance touching in access witness (ethereum#107)

add github workflow

reuse address point evaluation in code chunking (ethereum#109)
protolambda added a commit to protolambda/go-ethereum that referenced this issue Jul 14, 2023
…th-time

Update goerli regolith hardfork time
sbellem pushed a commit to sbellem/go-ethereum that referenced this issue Jul 25, 2023
…s-deser

Remove redundant sks deserialization in init()
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

No branches or pull requests

3 participants