-
Notifications
You must be signed in to change notification settings - Fork 471
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
p2p: upgrade libp2p #6142
p2p: upgrade libp2p #6142
Conversation
* these are the last go1.21 compatible
After multiformats/go-multiaddr#235 the test example became invalid, fixed
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #6142 +/- ##
==========================================
- Coverage 56.27% 56.27% -0.01%
==========================================
Files 494 494
Lines 69943 69946 +3
==========================================
+ Hits 39358 39359 +1
- Misses 27910 27916 +6
+ Partials 2675 2671 -4
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
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.
I'm good with this in general, would like @jannotti to skim on thoughts around any libraries affecting AVM.
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.
Seems like the crypto changes are minimal, so I don't see any problems.
Summary
Upgraded go-libp2p, go-libp2p-pubsub, go-libp2p-pubsub to the latest versions supporting go1.21 (go-libp2p is one patch version behind).
Fixed
*basichost.BasicHost
casting sincelibp2p.New
does not return*basichost.BasicHost
anymore.Fixed private addresses test:
/ip6/2001:db8::/ipcidr/32
is supported natively by multiaddr lib (i.e. fixed a known TODO item)/ip6/200:11::/tcp/1234
ended up to be a bad example for testing public IPv6 addresses after some improvements in multiaddrExtra upgrades
Upgrading libp2p also triggered some other dependencies upgrades, notable
golang.org/x/crypto
v0.21 -> v0.26.go-algorand directly uses
acme/autocert
,,blake2b
,sha3
,hkdf
,nacl/secretbox
andscrypt
submodules.The 4 latter (
sha3
...scrypt
) might potentially affect on-chain data through AVM and kmd.Version history v0.21 -> v0.26 shows only
sha3
was changed and both changes (xor, buf) looks good/safe.Test Plan
Existing unit tests. Performance test showed some regression but we have to upgrade anyway.