This repository has been archived by the owner on Apr 11, 2021. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 28
Replace calls to ExecutionManager#ovmSLOAD and ExecutionManager#ovmSSTORE with native calls to SLOAD and SSTORE #1
Merged
Commits on Jan 22, 2020
-
The goal here is to override the CALL opcode so we can replace calls to ovmSLOAD to native SLOAD operations. To start we've overridden the simpler MSTORE opcode and print "MSTORE Overriden" to verify the opcode has been overriden.
Configuration menu - View commit details
-
Copy full SHA for 5c13a2a - Browse repository at this point
Copy the full SHA 5c13a2aView commit details -
The goal is to override he CALL opcode and replace calls to "ovmStore" with native SSTORE calls. This first step runs a call operation and verifies that the correct arguments were passed in.
Configuration menu - View commit details
-
Copy full SHA for 4bfe043 - Browse repository at this point
Copy the full SHA 4bfe043View commit details -
Print SSTORE on SSTORE and SLOAD on SLOAD
The next step is to actually hook up these opcodes to native SLOAD and SSTORE
Configuration menu - View commit details
-
Copy full SHA for 1cf19d8 - Browse repository at this point
Copy the full SHA 1cf19d8View commit details -
Configuration menu - View commit details
-
Copy full SHA for 608d335 - Browse repository at this point
Copy the full SHA 608d335View commit details -
Configuration menu - View commit details
-
Copy full SHA for e83f2b7 - Browse repository at this point
Copy the full SHA e83f2b7View commit details -
Only match methodIds on the first 4 bytes of calldata
Th remaining bytes are parameter data
Configuration menu - View commit details
-
Copy full SHA for 2ed2db0 - Browse repository at this point
Copy the full SHA 2ed2db0View commit details -
Configuration menu - View commit details
-
Copy full SHA for ccb684b - Browse repository at this point
Copy the full SHA ccb684bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 30b157a - Browse repository at this point
Copy the full SHA 30b157aView commit details
Commits on Jan 24, 2020
-
Configuration menu - View commit details
-
Copy full SHA for e78aecb - Browse repository at this point
Copy the full SHA e78aecbView commit details -
Configuration menu - View commit details
-
Copy full SHA for a3a9d1d - Browse repository at this point
Copy the full SHA a3a9d1dView commit details -
Assert against the returned value of the CALL
..instead of the "success code"
Configuration menu - View commit details
-
Copy full SHA for eb5eb82 - Browse repository at this point
Copy the full SHA eb5eb82View commit details -
Configuration menu - View commit details
-
Copy full SHA for d30dd58 - Browse repository at this point
Copy the full SHA d30dd58View commit details -
Configuration menu - View commit details
-
Copy full SHA for 681f566 - Browse repository at this point
Copy the full SHA 681f566View commit details -
Configuration menu - View commit details
-
Copy full SHA for ffa4817 - Browse repository at this point
Copy the full SHA ffa4817View commit details -
* Use an environment variable to set EXECUTION_MANAGER_ADDRESS
Configuration menu - View commit details
-
Copy full SHA for 412d857 - Browse repository at this point
Copy the full SHA 412d857View commit details -
Configuration menu - View commit details
-
Copy full SHA for 41282cc - Browse repository at this point
Copy the full SHA 41282ccView commit details
Commits on Jan 27, 2020
-
Configuration menu - View commit details
-
Copy full SHA for c52fa1a - Browse repository at this point
Copy the full SHA c52fa1aView commit details -
Extract isCallTo into its own function
* Check that `len(args)` is greater than 4
Configuration menu - View commit details
-
Copy full SHA for a61a624 - Browse repository at this point
Copy the full SHA a61a624View commit details -
Call native SSTORE an SLOAD in the context of the caller
When calling the shimmed SSTORE and SLOAD we were storing to and loading from the ExecutionMananger's storage space. Instead we now call from the context of the `caller` of the contract. This gives each contract its own storage space so state isn't clobbered between contracts.
Configuration menu - View commit details
-
Copy full SHA for 395c483 - Browse repository at this point
Copy the full SHA 395c483View commit details -
Configuration menu - View commit details
-
Copy full SHA for fd849f7 - Browse repository at this point
Copy the full SHA fd849f7View commit details
Commits on Jan 28, 2020
-
Configuration menu - View commit details
-
Copy full SHA for 59c81f4 - Browse repository at this point
Copy the full SHA 59c81f4View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7b89309 - Browse repository at this point
Copy the full SHA 7b89309View commit details
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.