2619 Commits

Author SHA1 Message Date
Dmitry
a3efb40892
fix(examples/kv-store): set kademlia mode to Server
Pull-Request: #4195.
2023-07-16 02:08:34 +00:00
Marco Munizaga
4c889fd6d5
fix(interop): install wasm-opt in Dockerfile.chromium
I'm not able to build this container on my machine arm64 linux because the builder is missing the `wasm-opt` binary. I'm not sure why CI manages to do so. I'm guessing the x86 image is slightly different and may include `wasm-opt`.

This makes a change to that dockerfile to explicitly install `wasm-opt`.

Here's the previous error:


```
// ...
#0 36.90     Finished release [optimized] target(s) in 35.97s
#0 36.91   Installing /root/.cache/.wasm-pack/.wasm-bindgen-cargo-install-0.2.87/bin/wasm-bindgen
#0 36.91   Installing /root/.cache/.wasm-pack/.wasm-bindgen-cargo-install-0.2.87/bin/wasm-bindgen-test-runner
#0 36.91   Installing /root/.cache/.wasm-pack/.wasm-bindgen-cargo-install-0.2.87/bin/wasm2es6js
#0 36.91    Installed package `wasm-bindgen-cli v0.2.87` (executables `wasm-bindgen`, `wasm-bindgen-test-runner`, `wasm2es6js`)
#0 37.06 warning: be sure to add `/root/.cache/.wasm-pack/.wasm-bindgen-cargo-install-0.2.87/bin` to your PATH to be able to run the installed binaries
#0 37.22 Error: no prebuilt wasm-opt binaries are available for this platform: Unrecognized target!
#0 37.22 To disable `wasm-opt`, add `wasm-opt = false` to your package metadata in your `Cargo.toml`.
#0 37.22 Caused by: no prebuilt wasm-opt binaries are available for this platform: Unrecognized target!
#0 37.22 To disable `wasm-opt`, add `wasm-opt = false` to your package metadata in your `Cargo.toml`.
------
ERROR: failed to solve: executor failed running [/bin/sh -c wasm-pack build --target web interop-tests]: exit code: 1
```

Another solution would be to diable wasm-opt as mentioned in the error message as well.

Pull-Request: #4192.
2023-07-13 04:53:24 +00:00
Max Inden
df1caa0da9
chore: prepare libp2p-swarm v0.43.1 and libp2p-kad v0.44.2
Pull-Request: #4166.
2023-07-13 01:58:30 +00:00
Thomas Eizinger
fd3fc30c48
ci: run interop tests on bigger hardware
With the move to running our CI on self-hosted runners, this job tends to always be the slowest one. We move it to a bigger runner such that it finishes closer to all the other jobs.

Pull-Request: #3861.
2023-07-11 12:05:07 +00:00
dependabot[bot]
2f288523b0
deps: bump clap from 4.3.10 to 4.3.11
Pull-Request: #4178.
2023-07-11 11:44:04 +00:00
dependabot[bot]
4ddaa550c7
deps: bump webpki-roots from 0.23.1 to 0.24.0
Pull-Request: #4177.
2023-07-11 11:11:24 +00:00
dependabot[bot]
3ce3282f78
deps: bump syn from 2.0.23 to 2.0.25
Pull-Request: #4176.
2023-07-11 10:38:30 +00:00
dependabot[bot]
066f7d6c5d
deps: bump async-trait from 0.1.69 to 0.1.71
Pull-Request: #4175.
2023-07-11 10:04:32 +00:00
dependabot[bot]
1246d832a4
deps: bump serde_json from 1.0.99 to 1.0.100
Pull-Request: #4172.
2023-07-11 09:31:49 +00:00
dependabot[bot]
a92a801cce
deps: bump smallvec from 1.10.0 to 1.11.0
Pull-Request: #4171.
2023-07-11 08:58:09 +00:00
dependabot[bot]
a6c427483c
deps: bump regex from 1.8.4 to 1.9.1
Pull-Request: #4170.
2023-07-11 08:19:26 +00:00
dependabot[bot]
185cb4a2e3
deps: bump tokio from 1.28.2 to 1.29.1
Pull-Request: #4148.
2023-07-10 09:31:15 +00:00
Darius Clark
29c0fefaa2
chore: Update CHANGELOG.md
Add missing PR to CHANGELOG.md

Pull-Request: #4163.
2023-07-10 05:39:16 +00:00
Max Inden
2671375cc4
fix(core/choice): log on dial and fix listen log
- Fixes typo in `<OrTransport as Transport>::listen_on` using the word "dial" instead of "listen_on".
- Adds logging to `<OrTransport as Transport>::dial`.

Follow-up to https://github.com/libp2p/rust-libp2p/pull/4133

Pull-Request: #4164.
2023-07-10 01:47:31 +00:00
Benno
b4c7dfca63
fix(swarm): external address candidate only after address translation
Pull-Request: #4158.
2023-07-09 23:03:11 +00:00
Max Inden
b6b8844123
docs(swarm): document Swarm::external_addresses
Pull-Request: #4159.
2023-07-07 02:38:54 +00:00
Thomas Coratger
7308221237
feat(core): add logs for OrTransport when trying addresses
Currently, when trying addresses in `listen_on` via `OrTransport`, there are no logs to facilitate debugging. This PR corrects that by providing adequate logs via `std::any::type_name` method.

Resolves #4072.

Pull-Request: #4133.
2023-07-05 00:52:16 +00:00
dependabot[bot]
f0fd535c25
deps: bump Swatinem/rust-cache from 2.5.0 to 2.5.1
Pull-Request: #4155.
2023-07-04 09:13:35 +00:00
Darius Clark
cbb9c7c0f3
feat(kad): allow to explicitly set Mode::{Client,Server}
The current implementation in Kademlia relies on an external address to determine if it should be in client or server mode. However there are instances where a node, which may know an external address, wishes to remain in client mode and switch to server mode at a later point.

This PR introduces `Kademlia::set_mode`, which accepts an `Option<Mode>` that would allow one to set `Mode::Client` for client mode, `Mode::Server` for server mode, or `None` to determine if we should operate as a client or server based on our external addresses.

Resolves #4074.

Pull-Request: #4132.
2023-07-04 06:07:56 +00:00
dependabot[bot]
54640928f6
deps: bump hyper from 0.14.26 to 0.14.27
Pull-Request: #4140.
2023-07-03 18:22:06 +00:00
dependabot[bot]
00ffa04afc
deps: bump lru from 0.10.0 to 0.10.1
Pull-Request: #4141.
2023-07-03 17:59:11 +00:00
dependabot[bot]
19f8456902
deps: bump syn from 2.0.22 to 2.0.23
Pull-Request: #4142.
2023-07-03 17:34:58 +00:00
dependabot[bot]
34965357cd
deps: bump rust-embed from 6.7.0 to 6.8.1
Pull-Request: #4143.
2023-07-03 17:11:36 +00:00
dependabot[bot]
62ab42aecb
deps: bump clap from 4.3.8 to 4.3.10
Pull-Request: #4144.
2023-07-03 16:46:28 +00:00
dependabot[bot]
bb09902052
deps: bump quote from 1.0.28 to 1.0.29
Pull-Request: #4145.
2023-07-03 16:20:57 +00:00
Max Inden
706bde1887
docs: mention open maintainer calls in README.md
Pull-Request: #4150.
2023-07-03 15:58:59 +00:00
dependabot[bot]
ed4b4644d1
deps: bump pin-project from 1.1.0 to 1.1.2
Pull-Request: #4146.
2023-07-03 15:34:26 +00:00
dependabot[bot]
6e588084f5
deps: bump async-trait from 0.1.68 to 0.1.69
Pull-Request: #4147.
2023-07-03 09:12:42 +00:00
Max Inden
1eedcb5fcc
fix(core/transport): update doc commment
`Boxed` is not generic over the error but over `Output` (i.e. `O`) only.

Pull-Request: #4137.
2023-07-03 04:01:34 +00:00
Thomas Eizinger
68e6bf9c3c
docs(swarm): fix stale docs around confirmed addresses
Discovered in https://github.com/libp2p/rust-libp2p/pull/3954#pullrequestreview-1506377385.

Pull-Request: #4135.
2023-07-01 09:01:23 +00:00
Thomas Coratger
7eeb144a73
docs: add CONTRIBUTING.md
Resolves #3743.

Pull-Request: #4134.
2023-06-30 13:10:31 +00:00
Thomas Eizinger
f335697573
fix(kad): allow for different order of events in assertion
Fixes the test failure witnessed in https://github.com/libp2p/rust-libp2p/actions/runs/5392115337/jobs/9790198947?pr=4128#step:6:162.

Pull-Request: #4129.
2023-06-28 12:26:44 +00:00
dependabot[bot]
7de8f0b66a
deps: bump Swatinem/rust-cache from 2.4.0 to 2.5.0
Pull-Request: #4081.
2023-06-27 22:08:08 +00:00
dependabot[bot]
e7f8eccdf0
deps: bump tower-http from 0.4.0 to 0.4.1
Pull-Request: #4117.
2023-06-27 21:45:26 +00:00
Thomas Eizinger
514e2e9370
fix: remove automated contribution message
Unfortunately, the automated contribution message does not work properly. To evaluate this correctly, we need to first filter out all merge commits. To do this, we need to check the length of the `parents` property. I did not find a way to do this with jinja2 filters. Which would allow us to do something like `rejectattr`.

In the code snippet removed in this PR, I attempted to create a property to filter the merge commits on. This also doesn't work because the underlying object exposed by mergify is not a dictionary but a class and thus does not have the `update` function.

Mergify is shipping an additional property next month: https://github.com/Mergifyio/mergify/discussions/4636#discussioncomment-6295474. Thus, I am replacing this automated mechanism with a manual section that we can add to the PR until mergify ships the additional property that we can utilize to implement this in a clean way.

Related: #4130.
Related: #4104.

Pull-Request: #4131.
2023-06-27 22:22:23 +01:00
Thomas Eizinger
7953a79fa3
fix(ci): set merge attribute to false for non-merge commits
The previous version of this commit-message template had a bug where `merge` was unset for non-merge commits and thus the template rendering failed. See https://github.com/libp2p/rust-libp2p/pull/4128/checks?check_run_id=14597190466 for example.

Pull-Request: #4130.
2023-06-27 19:35:31 +01:00
Thomas Eizinger
86fb960b69
chore(identity): prepare release for libp2p-identity 0.2.1
Pull-Request: #4128.
2023-06-27 18:45:58 +01:00
Maciej Zwoliński
41076f6acd
fix(ci): improve attribution of co-authors
Fix the `Co-authored-by` inclusion in commit messages so that co-authorship is properly expressed. Additionally, filter merge commits before unique authors. Previously, we would not attribute an author if their first commit in a PR was a merge commit. Finally, we remove superfluous newlines between the `Co-authored-by` lines.

Pull-Request: #4104.

Co-authored-by: Thomas Eizinger <thomas@eizinger.io>
2023-06-27 13:01:22 +01:00
Thomas Eizinger
5c362fcab1
fix(identity): bump version
In https://github.com/libp2p/rust-libp2p/pull/4107, we forgot to bump the version of `libp2p-identity`.

Pull-Request: #4125.


  
Co-Authored-By: Thomas Eizinger <thomas@eizinger.io>
2023-06-27 08:13:34 +00:00
joshuef
93aa21aba9
fix(kad): re-expose Distance as KBucketDistance
Adds back in Distance as a public type. Follows `KBucketKey` naming for clarity.

Resolves #4108.

Pull-Request: #4109.


  
Co-Authored-By: Josh Wilson <joshuef@gmail.com>
  

  
Co-Authored-By: Max Inden <mail@max-inden.de>
2023-06-27 01:58:22 +00:00
Thomas Eizinger
d5475fccde
fix(test): only listen on 127.0.0.1 for ephemeral swarm
This resolves an issue where our tests were depending on the number of network interfaces available on the local machine.

Related #4110.

Pull-Request: #4122.


  
Co-Authored-By: Thomas Eizinger <thomas@eizinger.io>
2023-06-27 01:21:47 +00:00
Max Inden
e32775d6fb
chore(webrtc): prepare v0.6.0-alpha
Pull-Request: #4123.


  
Co-Authored-By: Max Inden <mail@max-inden.de>
2023-06-26 23:58:49 +00:00
Nick
78510ede84
feat(identity): expose KeyType for PublicKey and Keypair
Resolves https://github.com/libp2p/rust-libp2p/issues/3649.

Pull-Request: #4107.


  
Co-Authored-By: Nick Pavlov <gurinderu@gmail.com>
  

  
Co-Authored-By: Thomas Eizinger <thomas@eizinger.io>
2023-06-26 17:53:23 +00:00
dependabot[bot]
524bfc2130
deps: bump syn from 2.0.18 to 2.0.22
Pull-Request: #4114.
2023-06-26 12:17:06 +00:00
dependabot[bot]
8eb9ba9302
deps: bump webpki-roots from 0.23.0 to 0.23.1
Pull-Request: #4115.
2023-06-26 11:51:50 +00:00
dependabot[bot]
8b91c89775
deps: bump libc from 0.2.146 to 0.2.147
Pull-Request: #4113.
2023-06-26 11:29:05 +00:00
dependabot[bot]
300d2b2256
deps: bump axum from 0.6.7 to 0.6.18
Pull-Request: #4112.
2023-06-26 11:05:25 +00:00
dependabot[bot]
6241b92fe4
deps: bump clap from 4.3.3 to 4.3.8
Pull-Request: #4118.
2023-06-26 10:43:20 +00:00
dependabot[bot]
26801481fa
deps: bump serde_json from 1.0.97 to 1.0.99
Pull-Request: #4119.
2023-06-26 10:19:34 +00:00
Max Inden
73dbde1519
refactor(perf): expose single latency measurement
Instead of exposing the time to establish a connection, the time to upload the bytes and the time to download the bytes, expose a single time including all three.

The rational here is, that differentiation of the three is flawed. E.g. when does one stop the upload timer and start the download timer? When the last byte is sent? When the last byte is flushed? When the first byte is received?

See https://github.com/libp2p/test-plans/pull/184#pullrequestreview-1482600521 for past discussion.

Pull-Request: #4105.


  
Co-Authored-By: Max Inden <mail@max-inden.de>
2023-06-26 03:56:17 +00:00