From fa2c7633fba8b2366150d5042046f2175c441225 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ste=CC=81phane=20Duchesneau?= Date: Wed, 30 Sep 2026 16:22:03 -0400 Subject: [PATCH 1/5] Bump go-ethereum to the shared Firehose tracer --- CHANGELOG.sf.md | 9 +++++++++ go-ethereum | 2 +- go.mod | 14 +++++++++++--- go.sum | 38 ++++++++++++++++++++++++++++++++++---- 4 files changed, 55 insertions(+), 8 deletions(-) diff --git a/CHANGELOG.sf.md b/CHANGELOG.sf.md index c4e7952580..821587aa08 100644 --- a/CHANGELOG.sf.md +++ b/CHANGELOG.sf.md @@ -1,5 +1,14 @@ ## Unreleased +* Updated `go-ethereum` to [02fc7da293](https://github.com/streamingfast/go-ethereum/commit/02fc7da2932464090d08f8c65fc8fd1a31422bf9), which moves Firehose tracing to the shared [evm-firehose-tracer-go](https://github.com/streamingfast/evm-firehose-tracer-go) library. The output changes from the switch block onward: + * Blocks are now `ver: 5`, the Firehose 2.3 backward compatibility mode is gone. `accountCreations` is no longer recorded, `executedCode` is true when an opcode ran, CREATE calls keep their input, the transaction `returnData` is set, root calls keep their begin ordinal, and selfdestruct balance changes are no longer reordered or duplicated. + * Gas changes and no-op state changes (old value equal to new value) are no longer recorded. + * Receipt log `index` counts the logs of reverted calls, like on other chains. + * `addressDelegatesTo` (EIP-7702) is now set from ArbOS 40. + * The LIB advertised on each block never trails it by more than 200 blocks. + * The output uses Firehose protocol 3.1 (`FIRE INIT 3.1`), read by `firehose-ethereum` v2.14.4 and later. + * A failed write to the Firehose output now stops the node instead of dropping the block. + ## v3.11.4-fh3.0 * Bumped to [3.11.4](https://github.com/OffchainLabs/nitro/releases/tag/v3.11.4). diff --git a/go-ethereum b/go-ethereum index 95b0642399..02fc7da293 160000 --- a/go-ethereum +++ b/go-ethereum @@ -1 +1 @@ -Subproject commit 95b0642399c3a06e6e49e19684811fdf72c64e7a +Subproject commit 02fc7da2932464090d08f8c65fc8fd1a31422bf9 diff --git a/go.mod b/go.mod index 913362ee8d..31df7a62b7 100644 --- a/go.mod +++ b/go.mod @@ -1,6 +1,6 @@ module github.com/offchainlabs/nitro -go 1.25.0 +go 1.25.4 replace github.com/ethereum/go-ethereum => ./go-ethereum @@ -64,11 +64,12 @@ require ( cloud.google.com/go/compute/metadata v0.9.0 // indirect cloud.google.com/go/iam v1.1.8 // indirect github.com/ProjectZKM/Ziren/crates/go-runtime/zkvm_runtime v0.0.0-20251001021608-1fe7b43fc4d6 // indirect + github.com/blendle/zapdriver v1.3.2-0.20200203083823-9200777f8a3d // indirect + github.com/btcsuite/btcd/btcec/v2 v2.3.6 // indirect github.com/cockroachdb/fifo v0.0.0-20240606204812-0bbfbd93a7ce // indirect github.com/crate-crypto/go-eth-kzg v1.4.0 // indirect github.com/dchest/siphash v1.2.3 // indirect github.com/emicklei/dot v1.6.2 // indirect - github.com/emmansun/base64 v0.8.0 // indirect github.com/ethereum/c-kzg-4844/v2 v2.1.5 // indirect github.com/ethereum/go-bigmodexpfix v0.0.0-20250911101455-f9e208c548ab // indirect github.com/ethereum/go-verkle v0.2.2 // indirect @@ -83,7 +84,9 @@ require ( github.com/googleapis/enterprise-certificate-proxy v0.3.2 // indirect github.com/googleapis/gax-go/v2 v2.12.5 // indirect github.com/klauspost/cpuid/v2 v2.0.9 // indirect + github.com/logrusorgru/aurora v2.0.3+incompatible // indirect github.com/minio/sha256-simd v1.0.0 // indirect + github.com/mitchellh/go-testing-interface v1.14.1 // indirect github.com/pion/dtls/v2 v2.2.7 // indirect github.com/pion/logging v0.2.2 // indirect github.com/pion/stun/v2 v2.0.0 // indirect @@ -91,7 +94,10 @@ require ( github.com/pion/transport/v3 v3.0.1 // indirect github.com/planetscale/vtprotobuf v0.6.1-0.20240319094008-0393e58bdf10 // indirect github.com/ryszard/goskiplist v0.0.0-20150312221310-2dfbae5fcf46 // indirect + github.com/streamingfast/eth-go v0.0.0-20260216202159-4e2b7501894a // indirect + github.com/streamingfast/evm-firehose-tracer-go/v5 v5.0.0-20260930195824-c3c68f594463 // indirect github.com/streamingfast/firehose-ethereum/types v0.0.0-20260929184701-68333bf7b217 // indirect + github.com/streamingfast/logging v0.0.0-20260108192805-38f96de0a641 // indirect github.com/stretchr/objx v0.5.2 // indirect go.opentelemetry.io/auto/sdk v1.2.1 // indirect go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.49.0 // indirect @@ -100,6 +106,8 @@ require ( go.opentelemetry.io/otel/metric v1.39.0 // indirect go.opentelemetry.io/otel/trace v1.39.0 // indirect go.shabbyrobe.org/gocovmerge v0.0.0-20230507111327-fa4f82cfbf4d // indirect + go.uber.org/multierr v1.10.0 // indirect + go.uber.org/zap v1.26.0 // indirect golang.org/x/crypto v0.46.0 // indirect golang.org/x/exp v0.0.0-20231110203233-9a3e6036ecaa // indirect golang.org/x/text v0.32.0 // indirect @@ -108,7 +116,7 @@ require ( google.golang.org/genproto/googleapis/api v0.0.0-20251202230838-ff82c1b0f217 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20251202230838-ff82c1b0f217 // indirect google.golang.org/grpc v1.79.3 // indirect - google.golang.org/protobuf v1.36.10 // indirect + google.golang.org/protobuf v1.36.11 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/go.sum b/go.sum index e48683dbd7..ef8b5ebed3 100644 --- a/go.sum +++ b/go.sum @@ -97,10 +97,16 @@ github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6r github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= github.com/bits-and-blooms/bitset v1.20.0 h1:2F+rfL86jE2d/bmw7OhqUg2Sj/1rURkBn3MdfoPyRVU= github.com/bits-and-blooms/bitset v1.20.0/go.mod h1:7hO7Gc7Pp1vODcmWvKMRA9BNmbv6a/7QIWpPxHddWR8= +github.com/blendle/zapdriver v1.3.2-0.20200203083823-9200777f8a3d h1:fSlGu5ePbkjBidXuj2O5j9EcYrVB5Cr6/wdkYyDgxZk= +github.com/blendle/zapdriver v1.3.2-0.20200203083823-9200777f8a3d/go.mod h1:yCBkgASmKHgUOFjK9h1sOytUVgA+JkQjqj3xYP4AdWY= github.com/bsm/ginkgo/v2 v2.12.0 h1:Ny8MWAHyOepLGlLKYmXG4IEkioBysk6GpaRTLC8zwWs= github.com/bsm/ginkgo/v2 v2.12.0/go.mod h1:SwYbGRRDovPVboqFv0tPTcG1sN61LM1Z4ARdbAV9g4c= github.com/bsm/gomega v1.27.10 h1:yeMWxP2pV2fG3FgAODIY8EiRE3dy0aeFYt4l7wh6yKA= github.com/bsm/gomega v1.27.10/go.mod h1:JyEr/xRbxbtgWNi8tIEVPUYZ5Dzef52k01W3YH0H+O0= +github.com/btcsuite/btcd/btcec/v2 v2.3.6 h1:IzlsEr9olcSRKB/n7c4351F3xHKxS2lma+1UFGCYd4E= +github.com/btcsuite/btcd/btcec/v2 v2.3.6/go.mod h1:m22FrOAiuxl/tht9wIqAoGHcbnCCaPWyauO8y2LGGtQ= +github.com/btcsuite/btcd/chaincfg/chainhash v1.0.1 h1:q0rUy8C/TYNBQS1+CGKw68tLOFYSNEs0TFnxxnS9+4U= +github.com/btcsuite/btcd/chaincfg/chainhash v1.0.1/go.mod h1:7SFka0XMvUgj3hfZtydOrQY2mwhPclbT2snogU7SQQc= github.com/cavaliergopher/grab/v3 v3.0.1 h1:4z7TkBfmPjmLAAmkkAZNX/6QJ1nNFdv3SdIHXju0Fr4= github.com/cavaliergopher/grab/v3 v3.0.1/go.mod h1:1U/KNnD+Ft6JJiYoYBAimKH2XrYptb8Kl3DFGmsjpq4= github.com/ccoveille/go-safecast v1.1.0 h1:iHKNWaZm+OznO7Eh6EljXPjGfGQsSfa6/sxPlIEKO+g= @@ -172,8 +178,6 @@ github.com/dop251/goja_nodejs v0.0.0-20210225215109-d91c329300e7/go.mod h1:hn7BA github.com/dop251/goja_nodejs v0.0.0-20211022123610-8dd9abb0616d/go.mod h1:DngW8aVqWbuLRMHItjPUyqdj+HWPvnQe8V8y1nDpIbM= github.com/emicklei/dot v1.6.2 h1:08GN+DD79cy/tzN6uLCT84+2Wk9u+wvqP+Hkx/dIR8A= github.com/emicklei/dot v1.6.2/go.mod h1:DeV7GvQtIw4h2u73RKBkkFdvVAz0D9fzeJrgPW6gy/s= -github.com/emmansun/base64 v0.8.0 h1:HSF5Yj8x7xAWeXG9nWesAflFTi5d9o1wlqhIGjvF1n8= -github.com/emmansun/base64 v0.8.0/go.mod h1:IYGtqjG0NQwY+3EgUiDjDEXbFq9nFJ/W9fqDzkFcxPk= github.com/enescakir/emoji v1.0.0 h1:W+HsNql8swfCQFtioDGDHCHri8nudlK1n5p2rHCJoog= github.com/enescakir/emoji v1.0.0/go.mod h1:Bt1EKuLnKDTYpLALApstIkAjdDrS/8IAgTkKp+WKFD0= github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= @@ -395,6 +399,8 @@ github.com/leanovate/gopter v0.2.11 h1:vRjThO1EKPb/1NsDXuDrzldR28RLkBflWYcU9CvzW github.com/leanovate/gopter v0.2.11/go.mod h1:aK3tzZP/C+p1m3SPRE4SYZFGP7jjkuSI4f7Xvpt0S9c= github.com/lib/pq v1.10.9 h1:YXG7RB+JIjhP29X+OtkiDnYaXQwpS4JEWq7dtCCRUEw= github.com/lib/pq v1.10.9/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= +github.com/logrusorgru/aurora v2.0.3+incompatible h1:tOpm7WcpBTn4fjmVfgpQq0EfczGlG91VSDkswnjF5A8= +github.com/logrusorgru/aurora v2.0.3+incompatible/go.mod h1:7rIyQOR62GCctdiQpZ/zOJlFyk6y+94wXzv6RNZgaR4= github.com/lucasb-eyer/go-colorful v1.2.0 h1:1nnpGOrhyZZuNyfu1QjKiUICQ74+3FNCN69Aj6K7nkY= github.com/lucasb-eyer/go-colorful v1.2.0/go.mod h1:R4dSotOR9KMtayYi1e77YzuveK+i7ruzyGqttikkLy0= github.com/mailru/easygo v0.0.0-20190618140210-3c14a0dc985f h1:4+gHs0jJFJ06bfN8PshnM6cHcxGjRUVRLo5jndDiKRQ= @@ -422,6 +428,8 @@ github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HK github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= github.com/mitchellh/go-testing-interface v0.0.0-20171004221916-a61a99592b77/go.mod h1:kRemZodwjscx+RGhAo8eIhFbs2+BFgRtFPeD/KE+zxI= github.com/mitchellh/go-testing-interface v1.0.0/go.mod h1:kRemZodwjscx+RGhAo8eIhFbs2+BFgRtFPeD/KE+zxI= +github.com/mitchellh/go-testing-interface v1.14.1 h1:jrgshOhYAUVNMAJiKbEu7EqAwgJJ2JqpQmpLJOu07cU= +github.com/mitchellh/go-testing-interface v1.14.1/go.mod h1:gfgS7OtZj6MA4U1UrDRp04twqAjfvlZyCfX3sDjEym8= github.com/mitchellh/go-wordwrap v1.0.0/go.mod h1:ZXFpozHsX6DPmq2I0TCekCxypsnAUbP2oI0UX1GXzOo= github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= github.com/mitchellh/mapstructure v1.4.1 h1:CpVNEelQCZBooIPDn+AR3NpivK/TIKU8bDxdASFVQag= @@ -466,6 +474,7 @@ github.com/pion/transport/v2 v2.2.1/go.mod h1:cXXWavvCnFF6McHTft3DWS9iic2Mftcz1A github.com/pion/transport/v3 v3.0.1 h1:gDTlPJwROfSfz6QfSi0ZmeCSkFcnWWiiR9ES0ouANiM= github.com/pion/transport/v3 v3.0.1/go.mod h1:UY7kiITrlMv7/IKgd5eTUcaahZx5oUN3l9SzK5f5xE0= github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA= +github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/planetscale/vtprotobuf v0.6.1-0.20240319094008-0393e58bdf10 h1:GFCKgmp0tecUJ0sJuv4pzYCqS9+RGSn52M3FUwPs+uo= @@ -517,8 +526,14 @@ github.com/spf13/afero v1.2.1/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTd github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/spf13/pflag v1.0.6 h1:jFzHGLGAlb3ruxLB8MhbI6A8+AQX/2eW4qeyNZXNp2o= github.com/spf13/pflag v1.0.6/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= +github.com/streamingfast/eth-go v0.0.0-20260216202159-4e2b7501894a h1:jHKRM0gM5Gh/vRzJTv5u0myac8zxlGgICZr71+QRPz0= +github.com/streamingfast/eth-go v0.0.0-20260216202159-4e2b7501894a/go.mod h1:1szIYZI+rTjWWVYd1kFJomFiPCMvcZfBmylCwRaK8yY= +github.com/streamingfast/evm-firehose-tracer-go/v5 v5.0.0-20260930195824-c3c68f594463 h1:IE9+qBnNvrHNx80UZ2h+xR5daRvm2dwMcOrYDCb6o7s= +github.com/streamingfast/evm-firehose-tracer-go/v5 v5.0.0-20260930195824-c3c68f594463/go.mod h1:cziUVzBRezT40LFCjX+12rr8zbgvsqg4Hg/8SJkyd9o= github.com/streamingfast/firehose-ethereum/types v0.0.0-20260929184701-68333bf7b217 h1:nBDPZf1bPfmstsdMXXP26Fk1W/5s+UPIekSc3PIP93g= github.com/streamingfast/firehose-ethereum/types v0.0.0-20260929184701-68333bf7b217/go.mod h1:+ala1ZHyPZy6QZwTw3k7V6tHQ2bXFKP8wIldp2SUJ9Y= +github.com/streamingfast/logging v0.0.0-20260108192805-38f96de0a641 h1:dI+b2TyFS0rJw1xVGzxBBvn/RrSgBpqM/RjwDInxEfo= +github.com/streamingfast/logging v0.0.0-20260108192805-38f96de0a641/go.mod h1:fJ5nP7ZSMB4MQQ6RM7cF+LiSQ43b5cVletcSUNL8z2M= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= @@ -539,6 +554,14 @@ github.com/supranational/blst v0.3.16-0.20250831170142-f48500c1fdbe h1:nbdqkIGOG github.com/supranational/blst v0.3.16-0.20250831170142-f48500c1fdbe/go.mod h1:jZJtfjgudtNl4en1tzwPIV3KjUnQUvG3/j+w+fVonLw= github.com/syndtr/goleveldb v1.0.1-0.20210819022825-2ae1ddf74ef7 h1:epCh84lMvA70Z7CTTCmYQn2CKbY8j86K7/FAIr141uY= github.com/syndtr/goleveldb v1.0.1-0.20210819022825-2ae1ddf74ef7/go.mod h1:q4W45IWZaF22tdD+VEXcAWRA037jwmWEB5VWYORlTpc= +github.com/test-go/testify v1.1.4 h1:Tf9lntrKUMHiXQ07qBScBTSA0dhYQlu83hswqelv1iE= +github.com/test-go/testify v1.1.4/go.mod h1:rH7cfJo/47vWGdi4GPj16x3/t1xGOj2YxzmNQzk2ghU= +github.com/tidwall/gjson v1.14.1 h1:iymTbGkQBhveq21bEvAQ81I0LEBork8BFe1CUZXdyuo= +github.com/tidwall/gjson v1.14.1/go.mod h1:/wbyibRr2FHMks5tjHJ5F8dMZh3AcwJEMf5vlfC0lxk= +github.com/tidwall/match v1.1.1 h1:+Ho715JplO36QYgwN9PGYNhgZvoUSc9X2c80KVTi+GA= +github.com/tidwall/match v1.1.1/go.mod h1:eRSPERbgtNPcGhD8UCthc6PmLEQXEWd3PRB5JTxsfmM= +github.com/tidwall/pretty v1.2.0 h1:RWIZEg2iJ8/g6fDDYzMpobmaoGh5OLl4AXtGUGPcqCs= +github.com/tidwall/pretty v1.2.0/go.mod h1:ITEVvHYasfjBbM0u2Pg8T2nJnzm8xPwvNhhsoaGGjNU= github.com/tklauser/go-sysconf v0.3.12 h1:0QaGUFOdQaIVdPgfITYzaTegZvdCjmYO52cSFAEVmqU= github.com/tklauser/go-sysconf v0.3.12/go.mod h1:Ho14jnntGE1fpdOqQEEaiKRpvIavV0hSfmBq8nJbHYI= github.com/tklauser/numcpus v0.6.1 h1:ng9scYS7az0Bk4OZLvrNXNSAO2Pxr1XXRAPyjhIx+Fk= @@ -582,10 +605,17 @@ go.opentelemetry.io/otel/trace v1.39.0 h1:2d2vfpEDmCJ5zVYz7ijaJdOF59xLomrvj7bjt6 go.opentelemetry.io/otel/trace v1.39.0/go.mod h1:88w4/PnZSazkGzz/w84VHpQafiU4EtqqlVdxWy+rNOA= go.shabbyrobe.org/gocovmerge v0.0.0-20230507111327-fa4f82cfbf4d h1:Ns9kd1Rwzw7t0BR8XMphenji4SmIoNZPn8zhYmaVKP8= go.shabbyrobe.org/gocovmerge v0.0.0-20230507111327-fa4f82cfbf4d/go.mod h1:92Uoe3l++MlthCm+koNi0tcUCX3anayogF0Pa/sp24k= +go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/automaxprocs v1.5.2 h1:2LxUOGiR3O6tw8ui5sZa2LAaHnsviZdVOUZw4fvbnME= go.uber.org/automaxprocs v1.5.2/go.mod h1:eRbA25aqJrxAbsLO0xy5jVwPt7FQnRgjW+efnwa1WM0= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= +go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= +go.uber.org/multierr v1.10.0 h1:S0h4aNzvfcFsC3dRF1jLoaov7oRaKqRGC/pUEJ2yvPQ= +go.uber.org/multierr v1.10.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y= +go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= +go.uber.org/zap v1.26.0 h1:sI7k6L95XOKS281NhVKOFCUNIvv9e0w4BF8N3u+tCRo= +go.uber.org/zap v1.26.0/go.mod h1:dtElttAiwGvoJ/vj4IwHBS/gXsEu/pZ50mUIRWuG0so= golang.org/x/crypto v0.0.0-20180214000028-650f4a345ab4/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= @@ -752,8 +782,8 @@ google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2 google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= -google.golang.org/protobuf v1.36.10 h1:AYd7cD/uASjIL6Q9LiTjz8JLcrh/88q5UObnmY3aOOE= -google.golang.org/protobuf v1.36.10/go.mod h1:HTf+CrKn2C3g5S8VImy6tdcUvCska2kB7j23XfzDpco= +google.golang.org/protobuf v1.36.11 h1:fV6ZwhNocDyBLK0dj+fg8ektcVegBBuEolpbTQyBNVE= +google.golang.org/protobuf v1.36.11/go.mod h1:HTf+CrKn2C3g5S8VImy6tdcUvCska2kB7j23XfzDpco= gopkg.in/asn1-ber.v1 v1.0.0-20181015200546-f715ec2f112d/go.mod h1:cuepJuh7vyXfUyUwEgHQXw849cJrilpS5NeIjOWESAw= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20160105164936-4f90aeace3a2/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= From 4f7bb34dd4500f171d7b57ca9c5ea6fd0c267bb0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ste=CC=81phane=20Duchesneau?= Date: Wed, 30 Sep 2026 16:22:04 -0400 Subject: [PATCH 2/5] Trace ArbOS work on every ArbOS version --- CHANGELOG.sf.md | 1 + arbos/tx_processor.go | 5 ++--- arbos/util/transfer.go | 3 +-- 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.sf.md b/CHANGELOG.sf.md index 821587aa08..bbb8a85179 100644 --- a/CHANGELOG.sf.md +++ b/CHANGELOG.sf.md @@ -8,6 +8,7 @@ * The LIB advertised on each block never trails it by more than 200 blocks. * The output uses Firehose protocol 3.1 (`FIRE INIT 3.1`), read by `firehose-ethereum` v2.14.4 and later. * A failed write to the Firehose output now stops the node instead of dropping the block. +* Blocks up to ArbOS 40 are now traced like newer ones: ArbOS execution of deposit, internal and submit-retryable transactions, the auto-redeem call and transfers made outside the EVM are reported to live tracers again, as in upstream nitro. This only changes the output when reprocessing blocks up to ArbOS 40. ## v3.11.4-fh3.0 diff --git a/arbos/tx_processor.go b/arbos/tx_processor.go index fc18089739..e4bdb026ec 100644 --- a/arbos/tx_processor.go +++ b/arbos/tx_processor.go @@ -209,11 +209,10 @@ func (p *TxProcessor) StartTxHook() (endTxNow bool, multiGasUsed multigas.MultiG var tracingInfo *util.TracingInfo tipe := underlyingTx.Type() p.TopTxType = &tipe - firehoseCompat := evm.GetVMContext().ArbOSVersion <= 40 // these were not extracted in previous firehose versions startTracer := func() func() { tracer := evm.Config.Tracer - if tracer == nil || firehoseCompat { + if tracer == nil { return func() {} } from := p.msg.From @@ -528,7 +527,7 @@ func (p *TxProcessor) StartTxHook() (endTxNow bool, multiGasUsed multigas.MultiG log.Error("failed to emit RedeemScheduled event", "err", err) } - if tracer := evm.Config.Tracer; tracer != nil && !firehoseCompat { + if tracer := evm.Config.Tracer; tracer != nil { redeem, err := util.PackArbRetryableTxRedeem(ticketId) if err == nil { tracingInfo.MockCall(redeem, usergas, from, types.ArbRetryableTxAddress, common.Big0) diff --git a/arbos/util/transfer.go b/arbos/util/transfer.go index dbe0d35ba6..c39e41b9fc 100644 --- a/arbos/util/transfer.go +++ b/arbos/util/transfer.go @@ -34,8 +34,7 @@ func TransferBalance( if amount.Sign() < 0 { panic(fmt.Sprintf("Tried to transfer negative amount %v from %v to %v", amount, from, to)) } - firehoseCompat := evm.GetVMContext().ArbOSVersion <= 40 // these were not extracted in previous firehose versions - if tracer := evm.Config.Tracer; tracer != nil && !firehoseCompat { + if tracer := evm.Config.Tracer; tracer != nil { if evm.Depth() != 0 && scenario != TracingDuringEVM { // A non-zero depth implies this transfer is occurring inside EVM execution log.Error("Tracing scenario mismatch", "scenario", scenario, "depth", evm.Depth()) From 8ffcf3774dabe00bb00d8044d58c5e331e6179c4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ste=CC=81phane=20Duchesneau?= Date: Wed, 30 Sep 2026 18:06:37 -0400 Subject: [PATCH 3/5] Bump go-ethereum to the latest shared tracer pin --- CHANGELOG.sf.md | 2 +- go-ethereum | 2 +- go.mod | 3 ++- go.sum | 6 ++++-- 4 files changed, 8 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.sf.md b/CHANGELOG.sf.md index bbb8a85179..88097682d9 100644 --- a/CHANGELOG.sf.md +++ b/CHANGELOG.sf.md @@ -1,6 +1,6 @@ ## Unreleased -* Updated `go-ethereum` to [02fc7da293](https://github.com/streamingfast/go-ethereum/commit/02fc7da2932464090d08f8c65fc8fd1a31422bf9), which moves Firehose tracing to the shared [evm-firehose-tracer-go](https://github.com/streamingfast/evm-firehose-tracer-go) library. The output changes from the switch block onward: +* Updated `go-ethereum` to [d3442aa609](https://github.com/streamingfast/go-ethereum/commit/d3442aa609a18d846dc4d60906c6a4012fd90796), which moves Firehose tracing to the shared [evm-firehose-tracer-go](https://github.com/streamingfast/evm-firehose-tracer-go) library. The output changes from the switch block onward: * Blocks are now `ver: 5`, the Firehose 2.3 backward compatibility mode is gone. `accountCreations` is no longer recorded, `executedCode` is true when an opcode ran, CREATE calls keep their input, the transaction `returnData` is set, root calls keep their begin ordinal, and selfdestruct balance changes are no longer reordered or duplicated. * Gas changes and no-op state changes (old value equal to new value) are no longer recorded. * Receipt log `index` counts the logs of reverted calls, like on other chains. diff --git a/go-ethereum b/go-ethereum index 02fc7da293..d3442aa609 160000 --- a/go-ethereum +++ b/go-ethereum @@ -1 +1 @@ -Subproject commit 02fc7da2932464090d08f8c65fc8fd1a31422bf9 +Subproject commit d3442aa609a18d846dc4d60906c6a4012fd90796 diff --git a/go.mod b/go.mod index 31df7a62b7..cfcee70ad2 100644 --- a/go.mod +++ b/go.mod @@ -70,6 +70,7 @@ require ( github.com/crate-crypto/go-eth-kzg v1.4.0 // indirect github.com/dchest/siphash v1.2.3 // indirect github.com/emicklei/dot v1.6.2 // indirect + github.com/emmansun/base64 v0.8.0 // indirect github.com/ethereum/c-kzg-4844/v2 v2.1.5 // indirect github.com/ethereum/go-bigmodexpfix v0.0.0-20250911101455-f9e208c548ab // indirect github.com/ethereum/go-verkle v0.2.2 // indirect @@ -95,7 +96,7 @@ require ( github.com/planetscale/vtprotobuf v0.6.1-0.20240319094008-0393e58bdf10 // indirect github.com/ryszard/goskiplist v0.0.0-20150312221310-2dfbae5fcf46 // indirect github.com/streamingfast/eth-go v0.0.0-20260216202159-4e2b7501894a // indirect - github.com/streamingfast/evm-firehose-tracer-go/v5 v5.0.0-20260930195824-c3c68f594463 // indirect + github.com/streamingfast/evm-firehose-tracer-go/v5 v5.0.0-20260930220430-1428b939c7c8 // indirect github.com/streamingfast/firehose-ethereum/types v0.0.0-20260929184701-68333bf7b217 // indirect github.com/streamingfast/logging v0.0.0-20260108192805-38f96de0a641 // indirect github.com/stretchr/objx v0.5.2 // indirect diff --git a/go.sum b/go.sum index ef8b5ebed3..fd7d25cb48 100644 --- a/go.sum +++ b/go.sum @@ -178,6 +178,8 @@ github.com/dop251/goja_nodejs v0.0.0-20210225215109-d91c329300e7/go.mod h1:hn7BA github.com/dop251/goja_nodejs v0.0.0-20211022123610-8dd9abb0616d/go.mod h1:DngW8aVqWbuLRMHItjPUyqdj+HWPvnQe8V8y1nDpIbM= github.com/emicklei/dot v1.6.2 h1:08GN+DD79cy/tzN6uLCT84+2Wk9u+wvqP+Hkx/dIR8A= github.com/emicklei/dot v1.6.2/go.mod h1:DeV7GvQtIw4h2u73RKBkkFdvVAz0D9fzeJrgPW6gy/s= +github.com/emmansun/base64 v0.8.0 h1:HSF5Yj8x7xAWeXG9nWesAflFTi5d9o1wlqhIGjvF1n8= +github.com/emmansun/base64 v0.8.0/go.mod h1:IYGtqjG0NQwY+3EgUiDjDEXbFq9nFJ/W9fqDzkFcxPk= github.com/enescakir/emoji v1.0.0 h1:W+HsNql8swfCQFtioDGDHCHri8nudlK1n5p2rHCJoog= github.com/enescakir/emoji v1.0.0/go.mod h1:Bt1EKuLnKDTYpLALApstIkAjdDrS/8IAgTkKp+WKFD0= github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= @@ -528,8 +530,8 @@ github.com/spf13/pflag v1.0.6 h1:jFzHGLGAlb3ruxLB8MhbI6A8+AQX/2eW4qeyNZXNp2o= github.com/spf13/pflag v1.0.6/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/streamingfast/eth-go v0.0.0-20260216202159-4e2b7501894a h1:jHKRM0gM5Gh/vRzJTv5u0myac8zxlGgICZr71+QRPz0= github.com/streamingfast/eth-go v0.0.0-20260216202159-4e2b7501894a/go.mod h1:1szIYZI+rTjWWVYd1kFJomFiPCMvcZfBmylCwRaK8yY= -github.com/streamingfast/evm-firehose-tracer-go/v5 v5.0.0-20260930195824-c3c68f594463 h1:IE9+qBnNvrHNx80UZ2h+xR5daRvm2dwMcOrYDCb6o7s= -github.com/streamingfast/evm-firehose-tracer-go/v5 v5.0.0-20260930195824-c3c68f594463/go.mod h1:cziUVzBRezT40LFCjX+12rr8zbgvsqg4Hg/8SJkyd9o= +github.com/streamingfast/evm-firehose-tracer-go/v5 v5.0.0-20260930220430-1428b939c7c8 h1:vmTn0p3hp4hr/sy9137TzK2qUKRhINNvcK0f7lBjFhQ= +github.com/streamingfast/evm-firehose-tracer-go/v5 v5.0.0-20260930220430-1428b939c7c8/go.mod h1:fIlwaEno35otwk+e1/ATjU8UYuD4flA2cE1U0z7/KM8= github.com/streamingfast/firehose-ethereum/types v0.0.0-20260929184701-68333bf7b217 h1:nBDPZf1bPfmstsdMXXP26Fk1W/5s+UPIekSc3PIP93g= github.com/streamingfast/firehose-ethereum/types v0.0.0-20260929184701-68333bf7b217/go.mod h1:+ala1ZHyPZy6QZwTw3k7V6tHQ2bXFKP8wIldp2SUJ9Y= github.com/streamingfast/logging v0.0.0-20260108192805-38f96de0a641 h1:dI+b2TyFS0rJw1xVGzxBBvn/RrSgBpqM/RjwDInxEfo= From c5d2e89dbec8133e688fa7409dc1ab032c0cc9cd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ste=CC=81phane=20Duchesneau?= Date: Thu, 1 Oct 2026 09:22:31 -0400 Subject: [PATCH 4/5] Bump go-ethereum to the merged shared tracer --- CHANGELOG.sf.md | 2 +- go-ethereum | 2 +- go.mod | 2 +- go.sum | 4 ++-- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.sf.md b/CHANGELOG.sf.md index 88097682d9..7e269852a6 100644 --- a/CHANGELOG.sf.md +++ b/CHANGELOG.sf.md @@ -1,6 +1,6 @@ ## Unreleased -* Updated `go-ethereum` to [d3442aa609](https://github.com/streamingfast/go-ethereum/commit/d3442aa609a18d846dc4d60906c6a4012fd90796), which moves Firehose tracing to the shared [evm-firehose-tracer-go](https://github.com/streamingfast/evm-firehose-tracer-go) library. The output changes from the switch block onward: +* Updated `go-ethereum` to [bec30737cb](https://github.com/streamingfast/go-ethereum/commit/bec30737cb64017900a998d7c592bac9c7ebc5cb), which moves Firehose tracing to the shared [evm-firehose-tracer-go](https://github.com/streamingfast/evm-firehose-tracer-go) library. The output changes from the switch block onward: * Blocks are now `ver: 5`, the Firehose 2.3 backward compatibility mode is gone. `accountCreations` is no longer recorded, `executedCode` is true when an opcode ran, CREATE calls keep their input, the transaction `returnData` is set, root calls keep their begin ordinal, and selfdestruct balance changes are no longer reordered or duplicated. * Gas changes and no-op state changes (old value equal to new value) are no longer recorded. * Receipt log `index` counts the logs of reverted calls, like on other chains. diff --git a/go-ethereum b/go-ethereum index d3442aa609..bec30737cb 160000 --- a/go-ethereum +++ b/go-ethereum @@ -1 +1 @@ -Subproject commit d3442aa609a18d846dc4d60906c6a4012fd90796 +Subproject commit bec30737cb64017900a998d7c592bac9c7ebc5cb diff --git a/go.mod b/go.mod index cfcee70ad2..e9860c1aff 100644 --- a/go.mod +++ b/go.mod @@ -96,7 +96,7 @@ require ( github.com/planetscale/vtprotobuf v0.6.1-0.20240319094008-0393e58bdf10 // indirect github.com/ryszard/goskiplist v0.0.0-20150312221310-2dfbae5fcf46 // indirect github.com/streamingfast/eth-go v0.0.0-20260216202159-4e2b7501894a // indirect - github.com/streamingfast/evm-firehose-tracer-go/v5 v5.0.0-20260930220430-1428b939c7c8 // indirect + github.com/streamingfast/evm-firehose-tracer-go/v5 v5.0.0-20261001132025-feb9613f7ce5 // indirect github.com/streamingfast/firehose-ethereum/types v0.0.0-20260929184701-68333bf7b217 // indirect github.com/streamingfast/logging v0.0.0-20260108192805-38f96de0a641 // indirect github.com/stretchr/objx v0.5.2 // indirect diff --git a/go.sum b/go.sum index fd7d25cb48..1938c10cc9 100644 --- a/go.sum +++ b/go.sum @@ -530,8 +530,8 @@ github.com/spf13/pflag v1.0.6 h1:jFzHGLGAlb3ruxLB8MhbI6A8+AQX/2eW4qeyNZXNp2o= github.com/spf13/pflag v1.0.6/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/streamingfast/eth-go v0.0.0-20260216202159-4e2b7501894a h1:jHKRM0gM5Gh/vRzJTv5u0myac8zxlGgICZr71+QRPz0= github.com/streamingfast/eth-go v0.0.0-20260216202159-4e2b7501894a/go.mod h1:1szIYZI+rTjWWVYd1kFJomFiPCMvcZfBmylCwRaK8yY= -github.com/streamingfast/evm-firehose-tracer-go/v5 v5.0.0-20260930220430-1428b939c7c8 h1:vmTn0p3hp4hr/sy9137TzK2qUKRhINNvcK0f7lBjFhQ= -github.com/streamingfast/evm-firehose-tracer-go/v5 v5.0.0-20260930220430-1428b939c7c8/go.mod h1:fIlwaEno35otwk+e1/ATjU8UYuD4flA2cE1U0z7/KM8= +github.com/streamingfast/evm-firehose-tracer-go/v5 v5.0.0-20261001132025-feb9613f7ce5 h1:hQWN7+bLE9qpNt01nYiCeeGvITFO/oX7WFtLq6eM66Q= +github.com/streamingfast/evm-firehose-tracer-go/v5 v5.0.0-20261001132025-feb9613f7ce5/go.mod h1:fIlwaEno35otwk+e1/ATjU8UYuD4flA2cE1U0z7/KM8= github.com/streamingfast/firehose-ethereum/types v0.0.0-20260929184701-68333bf7b217 h1:nBDPZf1bPfmstsdMXXP26Fk1W/5s+UPIekSc3PIP93g= github.com/streamingfast/firehose-ethereum/types v0.0.0-20260929184701-68333bf7b217/go.mod h1:+ala1ZHyPZy6QZwTw3k7V6tHQ2bXFKP8wIldp2SUJ9Y= github.com/streamingfast/logging v0.0.0-20260108192805-38f96de0a641 h1:dI+b2TyFS0rJw1xVGzxBBvn/RrSgBpqM/RjwDInxEfo= From ba359b819c3965c847e9cedcaa515bfc9eef3e3d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ste=CC=81phane=20Duchesneau?= Date: Thu, 1 Oct 2026 12:01:10 -0400 Subject: [PATCH 5/5] Bump go-ethereum to the merged release/arbitrum-3.x --- CHANGELOG.sf.md | 2 +- go-ethereum | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.sf.md b/CHANGELOG.sf.md index 7e269852a6..55bb8f1bc2 100644 --- a/CHANGELOG.sf.md +++ b/CHANGELOG.sf.md @@ -1,6 +1,6 @@ ## Unreleased -* Updated `go-ethereum` to [bec30737cb](https://github.com/streamingfast/go-ethereum/commit/bec30737cb64017900a998d7c592bac9c7ebc5cb), which moves Firehose tracing to the shared [evm-firehose-tracer-go](https://github.com/streamingfast/evm-firehose-tracer-go) library. The output changes from the switch block onward: +* Updated `go-ethereum` to [3e482863c3](https://github.com/streamingfast/go-ethereum/commit/3e482863c3a5cd527735c9f745852a94e9b52f7f), which moves Firehose tracing to the shared [evm-firehose-tracer-go](https://github.com/streamingfast/evm-firehose-tracer-go) library. The output changes from the switch block onward: * Blocks are now `ver: 5`, the Firehose 2.3 backward compatibility mode is gone. `accountCreations` is no longer recorded, `executedCode` is true when an opcode ran, CREATE calls keep their input, the transaction `returnData` is set, root calls keep their begin ordinal, and selfdestruct balance changes are no longer reordered or duplicated. * Gas changes and no-op state changes (old value equal to new value) are no longer recorded. * Receipt log `index` counts the logs of reverted calls, like on other chains. diff --git a/go-ethereum b/go-ethereum index bec30737cb..3e482863c3 160000 --- a/go-ethereum +++ b/go-ethereum @@ -1 +1 @@ -Subproject commit bec30737cb64017900a998d7c592bac9c7ebc5cb +Subproject commit 3e482863c3a5cd527735c9f745852a94e9b52f7f