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

core/evm: Set Indestructible Opcode (AA Work) #6

Conversation

technicallyty
Copy link

progress on set indestructible opcode

technicallyty and others added 7 commits November 21, 2020 23:46
Added an indestructable property to a contract instance
-added new EVM error for when an indestructible contract tries to self destruct
-added if case in opsuicide to throw the error described above when an indestructible contract tries to opSuicide
-appeased some golint stuff
* added 2937 to valideip map
* added comments to exported functions to appease go linter
* updated bastanchury instructionset to inherit yolov2
* set opcode to 0xa8 per eip spec
lightclient pushed a commit that referenced this pull request Dec 3, 2020
* internal/build: implement signify's signing func
* Add signify to the ci utility
* fix output file format
* Add unit test for signify
* holiman's + travis' feedback
* internal/build: verify signify's output
* crypto: move signify to common dir
* use go-minisign to verify binaries
* more holiman feedback
* crypto, ci: support minisign output
* only accept one-line trusted comments
* configurable untrusted comments
* code cleanup in tests
* revert to use ed25519 from the stdlib
* bug: fix for empty untrusted comments
* write timestamp as comment if trusted comment isn't present
* rename line checker to commentHasManyLines
* crypto: added signify fuzzer (#6)
* crypto: added signify fuzzer
* stuff
* crypto: updated signify fuzzer to fuzz comments
* crypto: repro signify crashes
* rebased fuzzer on build-signify branch
* hide fuzzer behind gofuzz build flag
* extract key data inside a single function
* don't treat \r as a newline
* travis: fix signing command line
* do not use an external binary in tests
* crypto: move signify to crypto/signify
* travis: fix formatting issue
* ci: fix linter build after package move

Co-authored-by: Marius van der Wijden <m.vanderwijden@live.de>
-test for contract self destructing on itself with indestructible set
-test for contract self destructing via delegatecall with indestructible set
@lightclient lightclient changed the base branch from master to impl-eip-2718 December 24, 2020 20:56
Copy link
Owner

@lightclient lightclient left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Awesome work :) I left a few comments.

core/blockchain_test.go Outdated Show resolved Hide resolved
core/blockchain_test.go Show resolved Hide resolved
core/blockchain_test.go Outdated Show resolved Hide resolved
core/vm/instructions.go Show resolved Hide resolved
core/vm/instructions.go Show resolved Hide resolved
core/vm/interpreter.go Outdated Show resolved Hide resolved
core/vm/interpreter.go Show resolved Hide resolved
"LOG2": LOG2,
"LOG3": LOG3,
"LOG4": LOG4,
"SETINDESTRUCTIBLE": SETINDESTRUCTIBLE,
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's really unfortunate that adding this line creates such a big diff.

technicallyty and others added 4 commits December 24, 2020 21:53
Co-authored-by: lightclient <14004106+lightclient@users.noreply.github.com>
Co-authored-by: lightclient <14004106+lightclient@users.noreply.github.com>
Co-authored-by: lightclient <14004106+lightclient@users.noreply.github.com>
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.

3 participants