-
Notifications
You must be signed in to change notification settings - Fork 70
MorphTx enhances and updates Jade upgrades #889
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
base: main
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -153,11 +153,11 @@ func DecodeTxsFromBytes(txsBytes []byte) (eth.Transactions, error) { | |
| return nil, err | ||
| } | ||
| innerTx = new(eth.SetCodeTx) | ||
| case eth.AltFeeTxType: | ||
| case eth.MorphTxType: | ||
| if err := binary.Read(reader, binary.BigEndian, &firstByte); err != nil { | ||
| return nil, err | ||
| } | ||
| innerTx = new(eth.AltFeeTx) | ||
| innerTx = new(eth.MorphTx) | ||
|
Comment on lines
+156
to
+160
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🧩 Analysis chain🏁 Script executed: #!/bin/bash
echo "=== Searching for MorphTxType definition ==="
rg -n "MorphTxType" --type go | head -20
echo ""
echo "=== Searching for MorphTx struct definition ==="
rg -n "type MorphTx struct" --type go
echo ""
echo "=== Checking the blob.go file context ==="
sed -n '150,165p' node/types/blob.go
echo ""
echo "=== Searching for any remaining AltFeeTx references ==="
rg -n "AltFeeTx" --type go
echo ""
echo "=== Searching for MorphTx usage in blob.go ==="
rg -n "MorphTx" node/types/blob.goRepository: morph-l2/morph Length of output: 954 🏁 Script executed: #!/bin/bash
echo "=== Checking imports in blob.go ==="
head -30 node/types/blob.go
echo ""
echo "=== Checking if go.mod exists and contains go-ethereum dependency ==="
if [ -f go.mod ]; then
echo "Found go.mod:"
rg "morph-l2/go-ethereum|ethereum" go.mod
fi
echo ""
echo "=== Searching for eth alias definitions ==="
rg -B5 "case eth\." node/types/blob.go | head -20Repository: morph-l2/morph Length of output: 1559 🏁 Script executed: #!/bin/bash
echo "=== Finding and examining go.mod ==="
find . -name "go.mod" -type f | head -5
echo ""
echo "=== Checking go.mod content for go-ethereum ==="
if [ -f ./go.mod ]; then
rg "go-ethereum" ./go.mod -A 1
fi
echo ""
echo "=== Verifying other transaction types exist (AccessListTx, DynamicFeeTx, SetCodeTx) ==="
rg "AccessListTxType|DynamicFeeTxType|SetCodeTxType" node/types/blob.goRepository: morph-l2/morph Length of output: 569 🏁 Script executed: #!/bin/bash
echo "=== Examining node/go.mod for go-ethereum dependency ==="
cat node/go.mod | grep -A 2 "go-ethereum"
echo ""
echo "=== Looking for any morph-l2/go-ethereum references in node/go.mod ==="
rg "morph-l2/go-ethereum" node/go.mod
echo ""
echo "=== Checking if MorphTxType is referenced elsewhere in the codebase ==="
rg -n "MorphTxType|MorphTx" --type go | grep -v "Binary"
echo ""
echo "=== Checking git info to understand the dependency version ==="
if [ -f node/go.mod ]; then
tail -50 node/go.mod | head -30
fiRepository: morph-l2/morph Length of output: 2473 🌐 Web query:
💡 Result: In Morph-specific transaction types are defined in Implementations live in:
If you saw Sources: [1] [2] [3]
The morph-l2/go-ethereum library (v1.10.14-0.20260227040115-e6c501a8d680) defines custom transaction types as 🤖 Prompt for AI Agents |
||
| default: | ||
| if firstByte <= 0xf7 { // legacy tx first byte must be greater than 0xf7(247) | ||
| return nil, fmt.Errorf("not supported tx type: %d", firstByte) | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧩 Analysis chain
🏁 Script executed:
Repository: morph-l2/morph
Length of output: 509
🌐 Web query:
morph-l2/go-ethereum commit a805e930447c breaking changes💡 Result:
Commit
a805e930447c(“fix sth”) inmorph-l2/go-ethereumintroduces these potentially breaking changes (mainly for downstream code and persisted-data assumptions):storedReceiptRLP(used for receipt storage/encoding),Version,Reference, andMemowere changed torlp:"optional", andReference’s type changed from*common.Referenceto[]byteto avoid decode issues when empty. Any code depending on the old field types / always-present fields (or decoding receipts with the old exact struct layout) may break. [1]MorphTxtransactions by iterating the old chain to get block context (timestamp, tx index). If tooling relied on the previous (leakier) index behavior, results can change. [1]MorphTx.copy()semantics forFeeLimit: The copy logic no longer pre-allocatesFeeLimit; instead it allocates it only when non-nil (cpy.FeeLimit = new(big.Int).Set(tx.FeeLimit)). Code that assumedFeeLimitis always non-nil after copying may break. [1]Sources: [1]
🌐 Web query:
go-ethereum v1.10.14 breaking changes migration💡 Result:
go-ethereum (geth) v1.10.14: breaking changes / migration notes
--syncmode fastwill fail to start or must be changed.--syncmode=snapor--syncmode=full). [2]If you embed geth as a library or compile tools against its packages, v1.10.14 includes package/layout changes:
core/vmto a dedicated package (update imports/usages accordingly). [1]signer/coretosigner/core/apitypes(update imports). [1]Primary reference: the v1.10.14 release notes (“Hourglass Nebula”). [1]
Update contracts module for go-ethereum breaking changes in commit a805e930447c.
This Morph-specific commit introduces several breaking changes that will require code updates:
Referencefield type changed from*common.Referenceto[]byte, andVersion,Reference,Memoare now optional. Update any receipt encoding/decoding or storage logic.FeeLimitis no longer pre-allocated during copy. Update code that assumesFeeLimitis always non-nil after copying.Review and update the contracts module to handle these changes before merging.
🤖 Prompt for AI Agents