Skip to content

Commit 6c1a197

Browse files
authored
Merge pull request #382 from OffchainLabs/merge-v1.14.5
Merge v1.14.5
2 parents 3ef59bb + 0f5f5e6 commit 6c1a197

31 files changed

+472
-399
lines changed

build/checksums.txt

+48-41
Original file line numberDiff line numberDiff line change
@@ -5,48 +5,55 @@
55
# https://github.com/ethereum/execution-spec-tests/releases/download/v2.1.0/
66
ca89c76851b0900bfcc3cbb9a26cbece1f3d7c64a3bed38723e914713290df6c fixtures_develop.tar.gz
77

8-
# version:golang 1.22.3
8+
# version:golang 1.22.4
99
# https://go.dev/dl/
10-
80648ef34f903193d72a59c0dff019f5f98ae0c9aa13ade0b0ecbff991a76f68 go1.22.3.src.tar.gz
11-
adc9f5fee89cd53d907eb542d3b269d9d8a08a66bf1ab42175450ffbb58733fb go1.22.3.aix-ppc64.tar.gz
12-
610e48c1df4d2f852de8bc2e7fd2dc1521aac216f0c0026625db12f67f192024 go1.22.3.darwin-amd64.tar.gz
13-
02abeab3f4b8981232237ebd88f0a9bad933bc9621791cd7720a9ca29eacbe9d go1.22.3.darwin-arm64.tar.gz
14-
a5b3d54905f17af2ceaf7fcfe92edee67a5bd4eccd962dd89df719ace3e0894d go1.22.3.dragonfly-amd64.tar.gz
15-
b9989ca87695ae93bacde6f3aa7b13cde5f3825515eb9ed9bbef014273739889 go1.22.3.freebsd-386.tar.gz
16-
7483961fae29d7d768afd5c9c0f229354ca3263ab7119c20bc182761f87cbc74 go1.22.3.freebsd-amd64.tar.gz
17-
edf1f0b8ecf68b14faeedb4f5d868a58c4777a0282bd85e5115c39c010cd0130 go1.22.3.freebsd-arm.tar.gz
18-
572eb70e5e835fbff7d53ebf473f611d7eb458c428f8dbd98a49196883c3309e go1.22.3.freebsd-arm64.tar.gz
19-
ef94eb2b74402e436dce970584222c4e454eb3093908591149bd2ded6862b8af go1.22.3.freebsd-riscv64.tar.gz
20-
3c3f498c68334cbd11f72aadfb6bcb507eb8436cebc50f437a0523cd4c5e03d1 go1.22.3.illumos-amd64.tar.gz
21-
fefba30bb0d3dd1909823ee38c9f1930c3dc5337a2ac4701c2277a329a386b57 go1.22.3.linux-386.tar.gz
22-
8920ea521bad8f6b7bc377b4824982e011c19af27df88a815e3586ea895f1b36 go1.22.3.linux-amd64.tar.gz
23-
6c33e52a5b26e7aa021b94475587fce80043a727a54ceb0eee2f9fc160646434 go1.22.3.linux-arm64.tar.gz
24-
f2bacad20cd2b96f23a86d4826525d42b229fd431cc6d0dec61ff3bc448ef46e go1.22.3.linux-armv6l.tar.gz
25-
41e9328340544893482b2928ae18a9a88ba18b2fdd29ac77f4d33cf1815bbdc2 go1.22.3.linux-loong64.tar.gz
26-
cf4d5faff52e642492729eaf396968f43af179518be769075b90bc1bf650abf6 go1.22.3.linux-mips.tar.gz
27-
3bd009fe2e3d2bfd52433a11cb210d1dfa50b11b4c347a293951efd9e36de945 go1.22.3.linux-mips64.tar.gz
28-
5913b82a042188ef698f7f2dfd0cd0c71f0508a4739de9e41fceff3f4dc769b4 go1.22.3.linux-mips64le.tar.gz
29-
441afebca555be5313867b4577f237c7b5c0fff4386e22e47875b9f805abbec5 go1.22.3.linux-mipsle.tar.gz
30-
f3b53190a76f4a35283501ba6d94cbb72093be0c62ff735c6f9e586a1c983381 go1.22.3.linux-ppc64.tar.gz
31-
04b7b05283de30dd2da20bf3114b2e22cc727938aed3148babaf35cc951051ac go1.22.3.linux-ppc64le.tar.gz
32-
d4992d4a85696e3f1de06cefbfc2fd840c9c6695d77a0f35cfdc4e28b2121c20 go1.22.3.linux-riscv64.tar.gz
33-
2aba796417a69be5f3ed489076bac79c1c02b36e29422712f9f3bf51da9cf2d4 go1.22.3.linux-s390x.tar.gz
34-
d6e6113542dd9f23db899e177fe23772bac114a5ea5e8ee436b9da68628335a8 go1.22.3.netbsd-386.tar.gz
35-
c33cee3075bd18ceefddd75bafa8efb51fbdc17b5ee74275122e7a927a237a4c go1.22.3.netbsd-amd64.tar.gz
36-
1ab251df3c85f3b391a09565ca52fb6e1306527d72852d553e9ab74eabb4ecf8 go1.22.3.netbsd-arm.tar.gz
37-
1d194fe53f5d82f9a612f848950d8af8cab7cb40ccc03f10c4eb1c9808ff1a0c go1.22.3.netbsd-arm64.tar.gz
38-
91d6601727f08506e938640885d3ded784925045e3a4444fd9b4b936efe1b1e0 go1.22.3.openbsd-386.tar.gz
39-
09d0c91ae35a4eea92615426992062ca236cc2f66444fb0b0a24cd3b13bd5297 go1.22.3.openbsd-amd64.tar.gz
40-
338da30cc2c97b9458e0b4caa2509f67bba55d3de16fb7d31775baca82d2e3dc go1.22.3.openbsd-arm.tar.gz
41-
53eadfabd2b7dd09a64941421afee2a2888e2a4f94f353b27919b1dad1171a21 go1.22.3.openbsd-arm64.tar.gz
42-
8a1a2842ae8dcf2374bb05dff58074b368bb698dc9c211c794c1ff119cd9fdc7 go1.22.3.plan9-386.tar.gz
43-
f9816d3dd9e730cad55085ea08c1f0c925720728f9c945fff59cd24d2ac2db7b go1.22.3.plan9-amd64.tar.gz
44-
f4d3d7b17c9e1b1635fcb287b5b5ab5b60acc9db3ba6a27f2b2f5d6537a2ef95 go1.22.3.plan9-arm.tar.gz
45-
46b7999ee94d91b21ad6940b5a3131ff6fe53ef97be9a34e582e2a3ad7263e95 go1.22.3.solaris-amd64.tar.gz
46-
f60f63b8a0885e0d924f39fd284aee5438fe87d8c3d8545a312adf43e0d9edac go1.22.3.windows-386.zip
47-
cab2af6951a6e2115824263f6df13ff069c47270f5788714fa1d776f7f60cb39 go1.22.3.windows-amd64.zip
48-
40b37f4b068fc759f3a0dd61176a0f7570a4ba48bed8561c31d3967a3583981a go1.22.3.windows-arm.zip
49-
59b76ee22b9b1c3afbf7f50e3cb4edb954d6c0d25e5e029ab5483a6804d61e71 go1.22.3.windows-arm64.zip
10+
fed720678e728a7ca30ba8d1ded1caafe27d16028fab0232b8ba8e22008fb784 go1.22.4.src.tar.gz
11+
b9647fa9fc83a0cc5d4f092a19eaeaecf45f063a5aa7d4962fde65aeb7ae6ce1 go1.22.4.aix-ppc64.tar.gz
12+
7788f40f3a46f201df1dc46ca640403eb535d5513fc33449164a90dbd229b761 go1.22.4.darwin-amd64.pkg
13+
c95967f50aa4ace34af0c236cbdb49a9a3e80ee2ad09d85775cb4462a5c19ed3 go1.22.4.darwin-amd64.tar.gz
14+
4036c88faf57a6b096916f1827edcdbf5290a47cc5f59956e88cdd9b1b71088c go1.22.4.darwin-arm64.pkg
15+
242b78dc4c8f3d5435d28a0d2cec9b4c1aa999b601fb8aa59fb4e5a1364bf827 go1.22.4.darwin-arm64.tar.gz
16+
f2fbb51af4719d3616efb482d6ed2b96579b474156f85a7ddc6f126764feec4b go1.22.4.dragonfly-amd64.tar.gz
17+
7c54884bb9f274884651d41e61d1bc12738863ad1497e97ea19ad0e9aa6bf7b5 go1.22.4.freebsd-386.tar.gz
18+
88d44500e1701dd35797619774d6dd51bf60f45a8338b0a82ddc018e4e63fb78 go1.22.4.freebsd-amd64.tar.gz
19+
3d9efe47db142a22679aba46b1772e3900b0d87ae13bd2b3bc80dbf2ac0b2cd6 go1.22.4.freebsd-arm.tar.gz
20+
726dc093cf020277be45debf03c3b02b43c2efb3e2a5d4fba8f52579d65327dc go1.22.4.freebsd-arm64.tar.gz
21+
5f6b67e5e32f1d6ccb2d4dcb44934a5e2e870a877ba7443d86ec43cfc28afa71 go1.22.4.freebsd-riscv64.tar.gz
22+
d56ecc2f85b6418a21ef83879594d0c42ab4f65391a676bb12254870e6690d63 go1.22.4.illumos-amd64.tar.gz
23+
47a2a8d249a91eb8605c33bceec63aedda0441a43eac47b4721e3975ff916cec go1.22.4.linux-386.tar.gz
24+
ba79d4526102575196273416239cca418a651e049c2b099f3159db85e7bade7d go1.22.4.linux-amd64.tar.gz
25+
a8e177c354d2e4a1b61020aca3562e27ea3e8f8247eca3170e3fa1e0c2f9e771 go1.22.4.linux-arm64.tar.gz
26+
e2b143fbacbc9cbd448e9ef41ac3981f0488ce849af1cf37e2341d09670661de go1.22.4.linux-armv6l.tar.gz
27+
e2ff9436e4b34bf6926b06d97916e26d67a909a2effec17967245900f0816f1d go1.22.4.linux-loong64.tar.gz
28+
73f0dcc60458c4770593b05a7bc01cc0d31fc98f948c0c2334812c7a1f2fc3f1 go1.22.4.linux-mips.tar.gz
29+
417af97fc2630a647052375768be4c38adcc5af946352ea5b28613ea81ca5d45 go1.22.4.linux-mips64.tar.gz
30+
7486e2d7dd8c98eb44df815ace35a7fe7f30b7c02326e3741bd934077508139b go1.22.4.linux-mips64le.tar.gz
31+
69479c8aad301e459a8365b40cad1074a0dbba5defb9291669f94809c4c4be6e go1.22.4.linux-mipsle.tar.gz
32+
dd238847e65bc3e2745caca475a5db6522a2fcf85cf6c38fc36a06642b19efd7 go1.22.4.linux-ppc64.tar.gz
33+
a3e5834657ef92523f570f798fed42f1f87bc18222a16815ec76b84169649ec4 go1.22.4.linux-ppc64le.tar.gz
34+
56a827ff7dc6245bcd7a1e9288dffaa1d8b0fd7468562264c1523daf3b4f1b4a go1.22.4.linux-riscv64.tar.gz
35+
7590c3e278e2dc6040aae0a39da3ca1eb2e3921673a7304cc34d588c45889eec go1.22.4.linux-s390x.tar.gz
36+
ddd2eebe34471a2502de6c5dad04ab27c9fc80cbde7a9ad5b3c66ecec4504e1d go1.22.4.netbsd-386.tar.gz
37+
33af79f6f935f6fbacc5d23876450b3567b79348fc065beef8e64081127dd234 go1.22.4.netbsd-amd64.tar.gz
38+
fa3550ebd5375a70b3bcd342b5a71f4bd271dcbbfaf4eabefa2144ab5d8924b6 go1.22.4.netbsd-arm.tar.gz
39+
c9a2971dec9f6d320c6f2b049b2353c6d0a2d35e87b8a4b2d78a2f0d62545f8e go1.22.4.netbsd-arm64.tar.gz
40+
d21af022331bfdc2b5b161d616c3a1a4573d33cf7a30416ee509a8f3641deb47 go1.22.4.openbsd-386.tar.gz
41+
72c0094c43f7e5722ec49c2a3e9dfa7a1123ac43a5f3a63eecf3e3795d3ff0ae go1.22.4.openbsd-amd64.tar.gz
42+
1096831ea3c5ea3ca57d14251d9eda3786889531eb40d7d6775dcaa324d4b065 go1.22.4.openbsd-arm.tar.gz
43+
a7ab8d4e0b02bf06ed144ba42c61c0e93ee00f2b433415dfd4ad4b6e79f31650 go1.22.4.openbsd-arm64.tar.gz
44+
9716327c8a628358798898dc5148c49dbbeb5196bf2cbf088e550721a6e4f60b go1.22.4.openbsd-ppc64.tar.gz
45+
a8dd4503c95c32a502a616ab78870a19889c9325fe9bd31eb16dd69346e4bfa8 go1.22.4.plan9-386.tar.gz
46+
5423a25808d76fe5aca8607a2e5ac5673abf45446b168cb5e9d8519ee9fe39a1 go1.22.4.plan9-amd64.tar.gz
47+
6af939ad583f5c85c09c53728ab7d38c3cc2b39167562d6c18a07c5c6608b370 go1.22.4.plan9-arm.tar.gz
48+
e8cabe69c03085725afdb32a6f9998191a3e55a747b270d835fd05000d56abba go1.22.4.solaris-amd64.tar.gz
49+
5c6446e2ea80bc6a971d2b34446f16e6517e638b0ff8d3ea229228d1931790b0 go1.22.4.windows-386.msi
50+
aca4e2c37278a10f1c70dd0df142f7d66b50334fcee48978d409202d308d6d25 go1.22.4.windows-386.zip
51+
3c21105d7b584759b6e266383b777caf6e87142d304a10b539dbc66ab482bb5f go1.22.4.windows-amd64.msi
52+
26321c4d945a0035d8a5bc4a1965b0df401ff8ceac66ce2daadabf9030419a98 go1.22.4.windows-amd64.zip
53+
c4303f02b864304eb83dd1db0b4ebf9d2ec9d216e7ef44a7657b166a52889c7f go1.22.4.windows-arm.msi
54+
5fcd0671a49cecf39b41021621ee1b6e7aa1370f37122b72e80d4fd4185833b6 go1.22.4.windows-arm.zip
55+
553cc6c460f4e3eb4fad5b897c0bb22cd8bbeb20929f0e3eeb939420320292ce go1.22.4.windows-arm64.msi
56+
8a2daa9ea28cbdafddc6171aefed384f4e5b6e714fb52116fe9ed25a132f37ed go1.22.4.windows-arm64.zip
5057

5158
# version:golangci 1.59.0
5259
# https://github.com/golangci/golangci-lint/releases/

cmd/devp2p/internal/ethtest/conn.go

+2-1
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,8 @@ func (s *Suite) dial() (*Conn, error) {
5353
// dialAs attempts to dial a given node and perform a handshake using the given
5454
// private key.
5555
func (s *Suite) dialAs(key *ecdsa.PrivateKey) (*Conn, error) {
56-
fd, err := net.Dial("tcp", fmt.Sprintf("%v:%d", s.Dest.IP(), s.Dest.TCP()))
56+
tcpEndpoint, _ := s.Dest.TCPEndpoint()
57+
fd, err := net.Dial("tcp", tcpEndpoint.String())
5758
if err != nil {
5859
return nil, err
5960
}

cmd/devp2p/internal/v4test/framework.go

+4-2
Original file line numberDiff line numberDiff line change
@@ -53,10 +53,12 @@ func newTestEnv(remote string, listen1, listen2 string) *testenv {
5353
if err != nil {
5454
panic(err)
5555
}
56-
if node.IP() == nil || node.UDP() == 0 {
56+
if !node.IPAddr().IsValid() || node.UDP() == 0 {
5757
var ip net.IP
5858
var tcpPort, udpPort int
59-
if ip = node.IP(); ip == nil {
59+
if node.IPAddr().IsValid() {
60+
ip = node.IPAddr().AsSlice()
61+
} else {
6062
ip = net.ParseIP("127.0.0.1")
6163
}
6264
if tcpPort = node.TCP(); tcpPort == 0 {

cmd/devp2p/nodesetcmd.go

+3-3
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ package main
1919
import (
2020
"errors"
2121
"fmt"
22-
"net"
22+
"net/netip"
2323
"sort"
2424
"strconv"
2525
"strings"
@@ -205,11 +205,11 @@ func trueFilter(args []string) (nodeFilter, error) {
205205
}
206206

207207
func ipFilter(args []string) (nodeFilter, error) {
208-
_, cidr, err := net.ParseCIDR(args[0])
208+
prefix, err := netip.ParsePrefix(args[0])
209209
if err != nil {
210210
return nil, err
211211
}
212-
f := func(n nodeJSON) bool { return cidr.Contains(n.N.IP()) }
212+
f := func(n nodeJSON) bool { return prefix.Contains(n.N.IPAddr()) }
213213
return f, nil
214214
}
215215

cmd/devp2p/rlpxcmd.go

+5-1
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,11 @@ var (
7777

7878
func rlpxPing(ctx *cli.Context) error {
7979
n := getNodeArg(ctx)
80-
fd, err := net.Dial("tcp", fmt.Sprintf("%v:%d", n.IP(), n.TCP()))
80+
tcpEndpoint, ok := n.TCPEndpoint()
81+
if !ok {
82+
return fmt.Errorf("node has no TCP endpoint")
83+
}
84+
fd, err := net.Dial("tcp", tcpEndpoint.String())
8185
if err != nil {
8286
return err
8387
}

core/rawdb/accessors_chain.go

-22
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@ package rawdb
1919
import (
2020
"bytes"
2121
"encoding/binary"
22-
"errors"
2322
"fmt"
2423
"math/big"
2524
"slices"
@@ -697,27 +696,6 @@ func (r *receiptLogs) DecodeRLP(s *rlp.Stream) error {
697696
return nil
698697
}
699698

700-
// deriveLogFields fills the logs in receiptLogs with information such as block number, txhash, etc.
701-
func deriveLogFields(receipts []*receiptLogs, hash common.Hash, number uint64, txs types.Transactions) error {
702-
logIndex := uint(0)
703-
if len(txs) != len(receipts) {
704-
return errors.New("transaction and receipt count mismatch")
705-
}
706-
for i := 0; i < len(receipts); i++ {
707-
txHash := txs[i].Hash()
708-
// The derived log fields can simply be set from the block and transaction
709-
for j := 0; j < len(receipts[i].Logs); j++ {
710-
receipts[i].Logs[j].BlockNumber = number
711-
receipts[i].Logs[j].BlockHash = hash
712-
receipts[i].Logs[j].TxHash = txHash
713-
receipts[i].Logs[j].TxIndex = uint(i)
714-
receipts[i].Logs[j].Index = logIndex
715-
logIndex++
716-
}
717-
}
718-
return nil
719-
}
720-
721699
// ReadLogs retrieves the logs for all transactions in a block. In case
722700
// receipts is not found, a nil is returned.
723701
// Note: ReadLogs does not derive unstored log fields.

core/rawdb/accessors_chain_test.go

+2-4
Original file line numberDiff line numberDiff line change
@@ -794,7 +794,7 @@ func TestDeriveLogFields(t *testing.T) {
794794
}),
795795
}
796796
// Create the corresponding receipts
797-
receipts := []*receiptLogs{
797+
receipts := []*types.Receipt{
798798
{
799799
Logs: []*types.Log{
800800
{Address: common.BytesToAddress([]byte{0x11})},
@@ -818,9 +818,7 @@ func TestDeriveLogFields(t *testing.T) {
818818
// Derive log metadata fields
819819
number := big.NewInt(1)
820820
hash := common.BytesToHash([]byte{0x03, 0x14})
821-
if err := deriveLogFields(receipts, hash, number.Uint64(), txs); err != nil {
822-
t.Fatal(err)
823-
}
821+
types.Receipts(receipts).DeriveFields(params.TestChainConfig, hash, number.Uint64(), 0, big.NewInt(0), big.NewInt(0), txs)
824822

825823
// Iterate over all the computed fields and check that they're correct
826824
logIndex := uint(0)

core/state/trie_prefetcher.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ func (p *triePrefetcher) terminate(async bool) {
8282
return
8383
default:
8484
}
85-
// Termiante all sub-fetchers, sync or async, depending on the request
85+
// Terminate all sub-fetchers, sync or async, depending on the request
8686
for _, fetcher := range p.fetchers {
8787
fetcher.terminate(async)
8888
}

eth/tracers/internal/tracetest/supply_test.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -398,7 +398,7 @@ func TestSupplySelfdestruct(t *testing.T) {
398398
}
399399

400400
// Tests selfdestructing contract to send its balance to itself (burn).
401-
// It tests both cases of selfdestructing succeding and being reverted.
401+
// It tests both cases of selfdestructing succeeding and being reverted.
402402
// - Contract A calls B and D.
403403
// - Contract B selfdestructs and sends the eth1 to itself (Burn amount to be counted).
404404
// - Contract C selfdestructs and sends the eth1 to itself.

eth/tracers/live/supply.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -205,7 +205,7 @@ func (s *supply) internalTxsHandler(call *supplyTxCallstack) {
205205
}
206206

207207
if len(call.calls) > 0 {
208-
// Recursivelly handle internal calls
208+
// Recursively handle internal calls
209209
for _, call := range call.calls {
210210
callCopy := call
211211
s.internalTxsHandler(&callCopy)

p2p/dial.go

+13-14
Original file line numberDiff line numberDiff line change
@@ -65,11 +65,8 @@ type tcpDialer struct {
6565
}
6666

6767
func (t tcpDialer) Dial(ctx context.Context, dest *enode.Node) (net.Conn, error) {
68-
return t.d.DialContext(ctx, "tcp", nodeAddr(dest).String())
69-
}
70-
71-
func nodeAddr(n *enode.Node) net.Addr {
72-
return &net.TCPAddr{IP: n.IP(), Port: n.TCP()}
68+
addr, _ := dest.TCPEndpoint()
69+
return t.d.DialContext(ctx, "tcp", addr.String())
7370
}
7471

7572
// checkDial errors:
@@ -243,7 +240,7 @@ loop:
243240
select {
244241
case node := <-nodesCh:
245242
if err := d.checkDial(node); err != nil {
246-
d.log.Trace("Discarding dial candidate", "id", node.ID(), "ip", node.IP(), "reason", err)
243+
d.log.Trace("Discarding dial candidate", "id", node.ID(), "ip", node.IPAddr(), "reason", err)
247244
} else {
248245
d.startDial(newDialTask(node, dynDialedConn))
249246
}
@@ -277,7 +274,7 @@ loop:
277274
case node := <-d.addStaticCh:
278275
id := node.ID()
279276
_, exists := d.static[id]
280-
d.log.Trace("Adding static node", "id", id, "ip", node.IP(), "added", !exists)
277+
d.log.Trace("Adding static node", "id", id, "ip", node.IPAddr(), "added", !exists)
281278
if exists {
282279
continue loop
283280
}
@@ -376,7 +373,7 @@ func (d *dialScheduler) checkDial(n *enode.Node) error {
376373
if n.ID() == d.self {
377374
return errSelf
378375
}
379-
if n.IP() != nil && n.TCP() == 0 {
376+
if n.IPAddr().IsValid() && n.TCP() == 0 {
380377
// This check can trigger if a non-TCP node is found
381378
// by discovery. If there is no IP, the node is a static
382379
// node and the actual endpoint will be resolved later in dialTask.
@@ -388,7 +385,7 @@ func (d *dialScheduler) checkDial(n *enode.Node) error {
388385
if _, ok := d.peers[n.ID()]; ok {
389386
return errAlreadyConnected
390387
}
391-
if d.netRestrict != nil && !d.netRestrict.Contains(n.IP()) {
388+
if d.netRestrict != nil && !d.netRestrict.ContainsAddr(n.IPAddr()) {
392389
return errNetRestrict
393390
}
394391
if d.history.contains(string(n.ID().Bytes())) {
@@ -439,7 +436,7 @@ func (d *dialScheduler) removeFromStaticPool(idx int) {
439436
// startDial runs the given dial task in a separate goroutine.
440437
func (d *dialScheduler) startDial(task *dialTask) {
441438
node := task.dest()
442-
d.log.Trace("Starting p2p dial", "id", node.ID(), "ip", node.IP(), "flag", task.flags)
439+
d.log.Trace("Starting p2p dial", "id", node.ID(), "ip", node.IPAddr(), "flag", task.flags)
443440
hkey := string(node.ID().Bytes())
444441
d.history.add(hkey, d.clock.Now().Add(dialHistoryExpiration))
445442
d.dialing[node.ID()] = task
@@ -492,7 +489,7 @@ func (t *dialTask) run(d *dialScheduler) {
492489
}
493490

494491
func (t *dialTask) needResolve() bool {
495-
return t.flags&staticDialedConn != 0 && t.dest().IP() == nil
492+
return t.flags&staticDialedConn != 0 && !t.dest().IPAddr().IsValid()
496493
}
497494

498495
// resolve attempts to find the current endpoint for the destination
@@ -526,7 +523,8 @@ func (t *dialTask) resolve(d *dialScheduler) bool {
526523
// The node was found.
527524
t.resolveDelay = initialResolveDelay
528525
t.destPtr.Store(resolved)
529-
d.log.Debug("Resolved node", "id", resolved.ID(), "addr", &net.TCPAddr{IP: resolved.IP(), Port: resolved.TCP()})
526+
resAddr, _ := resolved.TCPEndpoint()
527+
d.log.Debug("Resolved node", "id", resolved.ID(), "addr", resAddr)
530528
return true
531529
}
532530

@@ -535,7 +533,8 @@ func (t *dialTask) dial(d *dialScheduler, dest *enode.Node) error {
535533
dialMeter.Mark(1)
536534
fd, err := d.dialer.Dial(d.ctx, dest)
537535
if err != nil {
538-
d.log.Trace("Dial error", "id", dest.ID(), "addr", nodeAddr(dest), "conn", t.flags, "err", cleanupDialErr(err))
536+
addr, _ := dest.TCPEndpoint()
537+
d.log.Trace("Dial error", "id", dest.ID(), "addr", addr, "conn", t.flags, "err", cleanupDialErr(err))
539538
dialConnectionError.Mark(1)
540539
return &dialError{err}
541540
}
@@ -545,7 +544,7 @@ func (t *dialTask) dial(d *dialScheduler, dest *enode.Node) error {
545544
func (t *dialTask) String() string {
546545
node := t.dest()
547546
id := node.ID()
548-
return fmt.Sprintf("%v %x %v:%d", t.flags, id[:8], node.IP(), node.TCP())
547+
return fmt.Sprintf("%v %x %v:%d", t.flags, id[:8], node.IPAddr(), node.TCP())
549548
}
550549

551550
func cleanupDialErr(err error) error {

0 commit comments

Comments
 (0)