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

[FEATURE]Morphism geth implementation #3

Merged
merged 103 commits into from
Aug 28, 2023
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
103 commits
Select commit Hold shift + click to select a range
de64cb2
L2 consensus api
FletcherMan Apr 12, 2023
2881444
scroll new version adjustment
FletcherMan Apr 20, 2023
f32afd5
Introduce L1Message type transaction
FletcherMan Apr 26, 2023
6cb5dfe
add BLS Data
FletcherMan May 4, 2023
bfb092d
add docker-compose and modify entrypoint for dockerfile
MarvelFisher May 6, 2023
7da27f6
Merge remote-tracking branch 'upstream/develop' into fletcher/l2-geth
FletcherMan May 8, 2023
27a3830
Improve oversized block handling (#315)
Thegaram May 8, 2023
b0b0bf1
Archimedes hard fork: Disable sha2, ripemd, blake2f precompiles (#280)
maxwolff May 9, 2023
b1e5eea
add isShanghai rule based on block number (#319)
NazariiDenha May 10, 2023
29b23f4
core: implement EIP-3651, warm coinbase (#317)
NazariiDenha May 12, 2023
e1fb195
chore(github): Add PR template to ask for rationale and version updat…
OrestTa May 15, 2023
d3affee
cherry-pick commits from ethereum for the further snapshot sync using…
karalabe Nov 26, 2021
d49ea7d
writeBlockWithState with head insertion directly
FletcherMan May 18, 2023
c5da652
core/vm: implement EIP-3860: Limit and meter initcode (#23847) (#318)
NazariiDenha May 18, 2023
b8d22a1
Add Archimedes hard fork block number for Scroll Alpha (#331)
Thegaram May 18, 2023
910d4f1
feat(trace): add storage proof about l1fee (baseFee, overhead, scalar…
noel2004 May 18, 2023
e5a6851
Merge branch 'scroll/v3.2.0' into morph_v1
FletcherMan May 19, 2023
8edec7f
Merge pull request #1 from morphism-labs/morph-scroll-v3.2.0
FletcherMan May 19, 2023
1094569
feat: enable eip and update check (#335)
NazariiDenha May 19, 2023
149419c
fix(trace): deletion proof missed path terminated by empty node (#330)
noel2004 May 22, 2023
a89ab83
fix(API): use `hexutil.Big` for `l1Fee` in `GetTransactionReceipt` (#…
mask-pp May 22, 2023
2f70857
refactor(config): moved fee vault addr to rollup config (#341)
rrzhang139 May 22, 2023
0c182f1
feat(abigen): add `--contract` flag to specify a given contract (#334)
mask-pp May 22, 2023
69cf63f
fix txs p2p && testnet scripts
FletcherMan May 23, 2023
fedb314
Merge scroll tag v3.2.4 into morphism (#9)
FletcherMan May 23, 2023
9f981c5
build(github): update github action yaml (#347)
0xmountaintop May 24, 2023
374b784
optimize block validation
FletcherMan May 24, 2023
fb570dc
ci(github): update pull request template (#349)
0xmountaintop May 24, 2023
334892a
Return error for disabled precompile calls (#337)
Thegaram May 24, 2023
060815e
feat: delay Archimedes on Alpha by a week (#342)
Thegaram May 24, 2023
31b754e
Fix transaction DA cost under-estimation (#332)
Thegaram May 24, 2023
ad43d0e
feat(block_validator): check payload size during block validation (#322)
rrzhang139 May 24, 2023
74725fb
test(zkTrie): add deletion test in account update unit test (#344)
colinlyguo May 25, 2023
302c315
Merge commits under tag of scroll-v3.3.0 from scroll-tech (#10)
FletcherMan May 25, 2023
9b943f3
fix: add missing term when merging two deletion proofs (#353)
noel2004 Jun 1, 2023
667cd5e
update docker image name
Jun 5, 2023
1f167bd
fix(ethclient): support WithdrawalsHash in Scroll Go SDK (#354)
rrzhang139 Jun 5, 2023
35e4bdc
update docker-compose
MarvelFisher Jun 6, 2023
4867699
fix(tracing): fix ZktrieTracer race condition (#356)
noel2004 Jun 7, 2023
983d630
feat: Sync and relay L1 messages (#350)
Thegaram Jun 7, 2023
b120a55
enable empty block
FletcherMan Jun 8, 2023
5721f01
add feeVaultAddress into default genesis
FletcherMan Jun 8, 2023
7aaaf83
update entrypoint and docker-compose conf for devops
MarvelFisher Jun 8, 2023
8ccf1ea
update entrypoint and docker-compose conf for devops (#12)
MarvelFisher Jun 8, 2023
37de1f4
add hash
FletcherMan Jun 9, 2023
1c4a88f
fix
FletcherMan Jun 9, 2023
4e0daeb
fix(trace): change l1Fee type from uint64 to *big.Int (#360)
Thegaram Jun 9, 2023
5067662
Integrate with the commits under tag scroll v4.1.0
FletcherMan Jun 12, 2023
f055f50
feat: update l1fee calculation (#351)
0xmountaintop Jun 13, 2023
9e9747e
Merge branch 'morph/v0.0.1' of github.com:morphism-labs/go-ethereum i…
MarvelFisher Jun 13, 2023
a3f03d7
update env for docker compose
MarvelFisher Jun 13, 2023
76dfeb9
update docker compose
MarvelFisher Jun 13, 2023
b5e8d12
feat: return keccak(chainId || height) for BLOCKHASH opcode (#359)
rrzhang139 Jun 14, 2023
db4946c
execute safe block
FletcherMan Jun 16, 2023
a4a63e7
add newSafeL2Block to api client
FletcherMan Jun 16, 2023
43be9a6
feat(abigen): Add flag let be able to add user tmpl file. (#362)
mask-pp Jun 19, 2023
b14a402
fix: improve L1Message RPC encoding (#368)
Thegaram Jun 19, 2023
02b4ad4
make baseFee unnecessary
FletcherMan Jun 25, 2023
1d91b84
merge commits under scroll tag v4.2.2
FletcherMan Jun 26, 2023
1201e3f
Merge pull request #16 from morphism-labs/morph-scroll-v4.2.2
FletcherMan Jun 26, 2023
9a7bdc2
fix block rlp encode issue
FletcherMan Jun 27, 2023
749014f
add testnet geth config file (#17)
MarvelFisher Jun 27, 2023
8590393
Morph testnet deploy v0.0.1 (#18)
MarvelFisher Jun 27, 2023
0e68e48
count fix
FletcherMan Jun 28, 2023
5abc15d
feat: update contract ABI QueueIndex type to uint64 (#371)
Thegaram Jun 28, 2023
e09346e
feat(core/vm): revert modexp precompiled contract if input is not u25…
NazariiDenha Jun 28, 2023
8c141eb
feat(evm): limit ecPairing precompile to use up to 4 inputs (#373)
Thegaram Jun 29, 2023
ee7b78d
change the predeploy contract address
FletcherMan Jun 30, 2023
38a6a1e
fix: include L1MessageTx fields in transaction RPC result (#375)
Thegaram Jun 30, 2023
d99c46c
Update entrypoint.sh (#19)
MarvelFisher Jul 3, 2023
e554e93
fix test compile error
FletcherMan Jul 3, 2023
3cf5ba8
feat(trace): add per_tx_storage_trace (#372)
0xmountaintop Jul 4, 2023
b9d37e7
add new func
FletcherMan Jul 5, 2023
8c5bf30
fix(trace): fix `statesAffected` in `traceLastNAddressAccount` (#367)
0xmountaintop Jul 7, 2023
2dcc60a
fix(trace): fix storage proof of l1gas price oracle (#376)
noel2004 Jul 7, 2023
7555d08
add withdrawTrieRoot
FletcherMan Jul 10, 2023
5eac3a7
feat(core/vm): modexp precompiled support also less than 32-bytes inp…
NazariiDenha Jul 10, 2023
3943547
feat(rawdb&rpc): add block row consumption rpc (#388)
NazariiDenha Jul 11, 2023
c8ae2f9
change withdrawTrieRootSlot to 45
FletcherMan Jul 13, 2023
2e8990d
add logs for debuging
FletcherMan Jul 11, 2023
0567d64
more logs
FletcherMan Jul 14, 2023
e481942
more logs
FletcherMan Jul 14, 2023
fe3f869
separat entrypoint for testnet (#20)
MarvelFisher Jul 17, 2023
09344b9
fix estimateGas issue. similar to ethereum PR:24363
FletcherMan Jul 18, 2023
a59522f
fix the KnownBlock issue
FletcherMan Jul 19, 2023
a677ee3
fix(ethapi): change scroll_getBlockByHash ethapi behaviour (#398)
NazariiDenha Jul 19, 2023
d31c9ae
fix newL2SafeBlock
FletcherMan Jul 21, 2023
935037f
make baseFeePerGas not Must
FletcherMan Jul 21, 2023
84cdc3d
merge commits under tag of scroll-v4.2.11
FletcherMan Jul 24, 2023
88e3871
Merge pull request #21 from morphism-labs/morph-scroll-v4.2.11
FletcherMan Jul 24, 2023
52c72a4
remove parentHash from safeL2Data
FletcherMan Jul 26, 2023
f361cd6
update run testnet shell (#22)
MarvelFisher Jul 27, 2023
9ea6be2
fix compile error testcase
FletcherMan Aug 1, 2023
6751a55
update run testnet shell (#23)
MarvelFisher Aug 2, 2023
5bf9755
improve
FletcherMan Aug 2, 2023
f1c0e46
Feature/testnet runner (#24)
MarvelFisher Aug 2, 2023
663db69
Feature/testnet runner (#25)
MarvelFisher Aug 2, 2023
1cd6610
blockSize gets length of txHash involved
FletcherMan Aug 4, 2023
08f2948
add script to run testnet sentry geth
Aug 11, 2023
f136a83
update l2node geth command with --nodiscover (#26)
MarvelFisher Aug 11, 2023
8017b7e
fix incompatible block hash (#27)
FletcherMan Aug 15, 2023
bd4a942
Feature/run testnet update (#28)
MarvelFisher Aug 22, 2023
f0d9f0f
Feature/run testnet update (#29)
MarvelFisher Aug 22, 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
fix(trace): change l1Fee type from uint64 to *big.Int (#360)
* fix: change l1Fee type from uint64 to *big.Int

* use hexutil.Big
  • Loading branch information
Thegaram authored Jun 9, 2023
commit 4e0daeb3007c322a8a2e242716bd43c7ff4f6550
8 changes: 4 additions & 4 deletions core/types/l2trace.go
Original file line number Diff line number Diff line change
Expand Up @@ -44,10 +44,10 @@ type StorageTrace struct {
// while replaying a transaction in debug mode as well as transaction
// execution status, the amount of gas used and the return value
type ExecutionResult struct {
L1Fee uint64 `json:"l1Fee,omitempty"`
Gas uint64 `json:"gas"`
Failed bool `json:"failed"`
ReturnValue string `json:"returnValue"`
L1Fee *hexutil.Big `json:"l1Fee,omitempty"`
Gas uint64 `json:"gas"`
Failed bool `json:"failed"`
ReturnValue string `json:"returnValue"`
// Sender's account state (before Tx)
From *AccountWrapper `json:"from,omitempty"`
// Receiver's account state (before Tx)
Expand Down
1 change: 1 addition & 0 deletions eth/tracers/api.go
Original file line number Diff line number Diff line change
Expand Up @@ -930,6 +930,7 @@ func (api *API) traceTx(ctx context.Context, message core.Message, txctx *Contex
Failed: result.Failed(),
ReturnValue: returnVal,
StructLogs: vm.FormatLogs(tracer.StructLogs()),
L1Fee: (*hexutil.Big)(result.L1Fee),
}, nil

case Tracer:
Expand Down
6 changes: 1 addition & 5 deletions eth/tracers/api_blocktrace.go
Original file line number Diff line number Diff line change
Expand Up @@ -384,16 +384,12 @@ func (api *API) getTxResult(env *traceEnv, state *state.StateDB, index int, bloc
}
}

var l1Fee uint64
if result.L1Fee != nil {
l1Fee = result.L1Fee.Uint64()
}
env.executionResults[index] = &types.ExecutionResult{
From: sender,
To: receiver,
AccountCreated: createdAcc,
AccountsAfter: after,
L1Fee: l1Fee,
L1Fee: (*hexutil.Big)(result.L1Fee),
Gas: result.UsedGas,
Failed: result.Failed(),
ReturnValue: fmt.Sprintf("%x", returnVal),
Expand Down
2 changes: 2 additions & 0 deletions eth/tracers/api_blocktrace_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -164,10 +164,12 @@ func checkStructLogs(t *testing.T, expect []*txTraceResult, actual []*types.Exec
assert.Equal(t, len(expect), len(actual))
for i, val := range expect {
trace1, trace2 := val.Result.(*types.ExecutionResult), actual[i]
assert.Equal(t, trace1.L1Fee, trace2.L1Fee)
assert.Equal(t, trace1.Failed, trace2.Failed)
assert.Equal(t, trace1.Gas, trace2.Gas)
assert.Equal(t, trace1.ReturnValue, trace2.ReturnValue)
assert.Equal(t, len(trace1.StructLogs), len(trace2.StructLogs))
// TODO: compare other fields

for i, opcode := range trace1.StructLogs {
data1, err := json.Marshal(opcode)
Expand Down
5 changes: 5 additions & 0 deletions eth/tracers/api_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -218,6 +218,7 @@ func TestTraceCall(t *testing.T) {
config: nil,
expectErr: nil,
expect: &types.ExecutionResult{
L1Fee: (*hexutil.Big)(big.NewInt(0)),
Gas: params.TxGas,
Failed: false,
ReturnValue: "",
Expand All @@ -235,6 +236,7 @@ func TestTraceCall(t *testing.T) {
config: nil,
expectErr: nil,
expect: &types.ExecutionResult{
L1Fee: (*hexutil.Big)(big.NewInt(0)),
Gas: params.TxGas,
Failed: false,
ReturnValue: "",
Expand Down Expand Up @@ -264,6 +266,7 @@ func TestTraceCall(t *testing.T) {
config: nil,
expectErr: nil,
expect: &types.ExecutionResult{
L1Fee: (*hexutil.Big)(big.NewInt(0)),
Gas: params.TxGas,
Failed: false,
ReturnValue: "",
Expand All @@ -281,6 +284,7 @@ func TestTraceCall(t *testing.T) {
config: nil,
expectErr: nil,
expect: &types.ExecutionResult{
L1Fee: (*hexutil.Big)(big.NewInt(0)),
Gas: params.TxGas,
Failed: false,
ReturnValue: "",
Expand Down Expand Up @@ -334,6 +338,7 @@ func TestTraceTransaction(t *testing.T) {
t.Errorf("Failed to trace transaction %v", err)
}
if !reflect.DeepEqual(result, &types.ExecutionResult{
L1Fee: (*hexutil.Big)(big.NewInt(0)),
Gas: params.TxGas,
Failed: false,
ReturnValue: "",
Expand Down
2 changes: 1 addition & 1 deletion params/version.go
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ import (
const (
VersionMajor = 4 // Major version component of the current release
VersionMinor = 1 // Minor version component of the current release
VersionPatch = 0 // Patch version component of the current release
VersionPatch = 1 // Patch version component of the current release
VersionMeta = "sepolia" // Version metadata to append to the version string
)

Expand Down