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

EIP-1153: Transient storage opcodes #4118

Merged
merged 67 commits into from
Feb 3, 2023
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
67 commits
Select commit Hold shift + click to select a range
518a259
Exploratory changes
codyborn Jul 13, 2022
930066b
Add Shanghai fork
codyborn Jul 15, 2022
20a5c86
Multi-contract tests
codyborn Jul 15, 2022
b77a993
More tests; handle transient state across frames
codyborn Jul 16, 2022
4edfd8d
Moar tests
codyborn Jul 16, 2022
85d06e3
Backward sync exception improvements (#4092)
fab-10 Jul 13, 2022
6af79cb
Finalised blocks should not prevent reorgs in BWS (#4097)
gezero Jul 14, 2022
82d0cb6
delegate all the block checks and validation to the block import phas…
fab-10 Jul 14, 2022
4564178
Ignore 2 tests that assume that the system language is English, if th…
daniellehrner Jul 14, 2022
5b41dcf
Fix PR 4098 (#4106)
fab-10 Jul 14, 2022
0a65802
log execution errors at right level, stops transition message propaga…
jflo Jul 14, 2022
ad0890a
Add experimental config option to enable v5 discovery (#4103)
Gabriel-Trintinalia Jul 15, 2022
e520669
Move Taccat to Emeritus (#4033)
shemnon Jul 15, 2022
743fa0a
Remove hash to append from the queue only if the step succeeds (#4105)
fab-10 Jul 15, 2022
df43a9d
Create backward sync retries on demand (#4095)
fab-10 Jul 15, 2022
21a7054
Update checkpoint sync for merge (#4085)
matkt Jul 15, 2022
d61e457
Remove unintended changes
codyborn Jul 16, 2022
c126cd5
Organize bytecode enum
codyborn Jul 16, 2022
75d74aa
Remove extra space
codyborn Jul 16, 2022
b6bf7fc
Updates to address PR feedback
codyborn Jul 28, 2022
57f1fd2
TreeMap -> HashMap
codyborn Jul 28, 2022
188d201
Remove shanghai hf config
codyborn Jul 29, 2022
a1708a4
Merge with main
codyborn Jul 31, 2022
4f0a43b
Missed some changes in the merge
codyborn Jul 31, 2022
612ee73
Whitespace style fix
codyborn Jul 31, 2022
04ffcae
Remove eip from all_forks.json
codyborn Aug 1, 2022
8623f48
Clear transient storage after each transaction
codyborn Aug 2, 2022
0ad50e6
Style fixes
codyborn Aug 4, 2022
d1db3b2
Merge branch 'main' into eip1153
codyborn Aug 4, 2022
03ad001
Simple performance test
codyborn Aug 4, 2022
45f603c
javadoc ByteCodeBuilder, undo unintended change
codyborn Aug 6, 2022
42ce2ec
correct javadoc typos
codyborn Aug 6, 2022
2c24e18
style fix
codyborn Aug 6, 2022
9b3f8d8
Move transient performance test to jmh suite
codyborn Aug 8, 2022
114446d
Remove commented out line
codyborn Aug 8, 2022
7e108d5
Upgrade Web3J (#3752)
diega Aug 4, 2022
9d63c64
Fix ConcurrentModificationException on ReattemptPendingPeerRequests (…
Gabriel-Trintinalia Aug 4, 2022
c46b1bf
Log unexpected exceptions in execution engine rpc (#4222)
siladu Aug 5, 2022
b68a6a7
correct fallback ttd to correct value (#4223)
daniellehrner Aug 7, 2022
b937710
Enclave public key length constraint removed for private transactions…
freemanzMrojo Aug 8, 2022
26714f1
Merge branch 'main' into eip1153
codyborn Aug 8, 2022
34451ae
Merge branch 'main' into eip1153
codyborn Aug 9, 2022
7bf6470
Merge branch 'main' into eip1153
codyborn Aug 10, 2022
47b1f31
Merge branch 'main' into eip1153
codyborn Aug 10, 2022
4b1c2a7
Merge branch 'main' into eip1153
codyborn Aug 12, 2022
c0c3c92
Merge branch 'main' into eip1153
codyborn Aug 21, 2022
a0cc8df
Add 1153 as ExperimentalEIP cmd line
codyborn Aug 31, 2022
d184d71
Merge branch 'main' into eip1153
codyborn Aug 31, 2022
a950795
Merge upstream
codyborn Nov 30, 2022
ed3ccad
Merge upstream
codyborn Nov 30, 2022
1a0b0fd
Fix tests
codyborn Dec 3, 2022
dd3f4bd
Merge pull request #1 from codyborn/merge1153
codyborn Dec 3, 2022
ab4285d
Update tests
codyborn Nov 30, 2022
206923f
Merge branch 'eip1153' of https://github.com/codyborn/besu into eip1153
codyborn Dec 3, 2022
bed8c06
Fix merge issue
codyborn Dec 3, 2022
7e86124
Spotless fix
codyborn Dec 3, 2022
6cce1ce
Add experimental EIPs back into BesuCommand
codyborn Dec 4, 2022
aafce49
Fix merge artifacts
codyborn Dec 4, 2022
0cbedf4
Revert reference test external-resources
codyborn Dec 4, 2022
8eadf09
Merge branch 'main' into eip1153
codyborn Dec 5, 2022
82af1b8
ugly merge
shemnon Jan 26, 2023
0439c40
finish removing CLI feature flag
shemnon Jan 26, 2023
22b0cf1
Move transient storage to the MessageFrame
shemnon Jan 26, 2023
9580690
Merge remote-tracking branch 'upstream/main' into eip1153
shemnon Jan 26, 2023
6b8fa64
javadoc
shemnon Jan 26, 2023
56f04be
spotless
shemnon Jan 26, 2023
4ab15e6
Merge branch 'main' into eip1153
shemnon Feb 3, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
spotless
Signed-off-by: Danno Ferrin <danno.ferrin@swirldslabs.com>
  • Loading branch information
shemnon committed Jan 26, 2023
commit 56f04be7d53abd2d703c372fe34ffc728c48388f
Original file line number Diff line number Diff line change
Expand Up @@ -1312,6 +1312,7 @@ public Optional<StorageEntry> getMaybeUpdatedStorage() {

/**
* Gets the transient storage value, including values from parent frames if not set
*
* @param accountAddress The address of the executing context
* @param slot the slot to retrieve
* @return the data value read
Expand All @@ -1336,6 +1337,7 @@ public Bytes32 getTransientStorageValue(final Address accountAddress, final Byte

/**
* Gets the transient storage value, including values from parent frames if not set
*
* @param accountAddress The address of the executing context
* @param slot the slot to set
* @param value the value to set in the transient store
Expand All @@ -1345,9 +1347,7 @@ public void setTransientStorageValue(
transientStorage.put(accountAddress, slot, value);
}

/**
* Writes the transient storage to the parent frame, if one exists
*/
/** Writes the transient storage to the parent frame, if one exists */
public void commitTransientStorage() {
if (parentMessageFrame != null) {
parentMessageFrame.transientStorage.putAll(transientStorage);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@ public class BerlinGasCalculator extends IstanbulGasCalculator {
private static final long COLD_ACCOUNT_ACCESS_COST = 2600L;
/** Warm storage read, defined in EIP-2929 */
protected static final long WARM_STORAGE_READ_COST = 100L;

private static final long ACCESS_LIST_ADDRESS_COST = 2400L;
/** The constant ACCESS_LIST_STORAGE_COST. */
protected static final long ACCESS_LIST_STORAGE_COST = 1900L;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,13 +24,12 @@
import org.apache.tuweni.bytes.Bytes32;
import org.apache.tuweni.units.bigints.UInt256;

/**
* Implements the TLOAD operation defined in EIP-1153
*/
/** Implements the TLOAD operation defined in EIP-1153 */
public class TLoadOperation extends AbstractOperation {
atoulme marked this conversation as resolved.
Show resolved Hide resolved

/**
* TLoad operation
*
* @param gasCalculator gas calculator for costing
*/
public TLoadOperation(final GasCalculator gasCalculator) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,13 +21,12 @@

import org.apache.tuweni.units.bigints.UInt256;

/**
* Implements the TLOAD operation defined in EIP-1153
*/
/** Implements the TLOAD operation defined in EIP-1153 */
public class TStoreOperation extends AbstractOperation {

/**
* TLoad operation
*
* @param gasCalculator gas calculator for costing
*/
public TStoreOperation(final GasCalculator gasCalculator) {
Expand Down