Skip to content

Conversation

@SamHSmith
Copy link
Owner

Description of the Change

Issue

Benefits

Possible Drawbacks

Usage Examples or Tests [optional]

Alternate Designs [optional]

6r1d and others added 30 commits October 17, 2023 14:11
Signed-off-by: Daniil Polyakov <arjentix@gmail.com>
…e verification conditions

Signed-off-by: Nikita Strygin <dcnick3@users.noreply.github.com>
… tests

Signed-off-by: Nikita Strygin <dcnick3@users.noreply.github.com>
Signed-off-by: Shanin Roman <shanin1000@yandex.ru>
Signed-off-by: Shanin Roman <shanin1000@yandex.ru>
…iroha#3884)

Co-authored-by: Shanin Roman <shanin1000@yandex.ru>
[fix] hyperledger-iroha#3890: Fix validate topology on block sync

Signed-off-by: Marin Veršić <marin.versic101@gmail.com>
…intained cargo-lints

Since the implementation of rust-lang/rfcs#3389, it is now possible to specify workspace-level lints for rustc and clippy. This PR updates the cargo configuration and CI to use this new feature instead of cargo-lints.

Note that it was only stabilized in `nightly-2023-09-10`. Using it with out current toolchain requires either a -Zlints flag or a modification to `.cargo/config.toml`:

```
[unstable]
lints = true
```

Note that unlike the original suggestion in hyperledger-iroha#3622, this doesn't make the lints crate level, but merely replaces a clunky unmaintained tool with a standard solution for configuring lints.

In particular this PR:
- Removes old lints.toml configuration files for cargo-lints
- Adds [lint] tables to Cargo.toml of the root and wasm workspaces. The lints are duplicated between the two
- Replaces `cargo lints clippy` invocations with `cargo clippy -Zlints` in CI scripts
- Silences/fixes some new lints that popped up due to differences in how between `cargo lints` and workspaces
- Does a drive-by fix to iroha_genesis: it now too shares cargo metadata as do other crates

Signed-off-by: Nikita Strygin <dcnick3@users.noreply.github.com>
)

* [fix]: `mkdir -r` with store path, not lock path

Signed-off-by: Dmitry Balashov <a.marcius26@gmail.com>

* [fix]: use `store_path` in the err

Signed-off-by: Dmitry Balashov <a.marcius26@gmail.com>

* [refactor]: `&`

Signed-off-by: Dmitry Balashov <a.marcius26@gmail.com>

* [refactor]: apply lint

Signed-off-by: Dmitry Balashov <a.marcius26@gmail.com>

---------

Signed-off-by: Dmitry Balashov <a.marcius26@gmail.com>
Signed-off-by: Shanin Roman <shanin1000@yandex.ru>
…` benchmark

Signed-off-by: Shanin Roman <shanin1000@yandex.ru>
…use syn 2.0

Signed-off-by: Nikita Strygin <dcnick3@users.noreply.github.com>
Signed-off-by: Nikita Strygin <dcnick3@users.noreply.github.com>
…ng, add tests

Signed-off-by: Nikita Strygin <dcnick3@users.noreply.github.com>
…rialize use darling

Signed-off-by: Nikita Strygin <dcnick3@users.noreply.github.com>
…in serde partially tagged enums

Signed-off-by: Nikita Strygin <dcnick3@users.noreply.github.com>
….filter_maps & get rid of unnecessary .except in derive(Filter)

This addresses the last of the concerns raised in hyperledger-iroha#2437

Signed-off-by: Nikita Strygin <dcnick3@users.noreply.github.com>
…cro, reduce repetition in derive(IdEqOrdHash), fix error reporting on stable

Signed-off-by: Nikita Strygin <dcnick3@users.noreply.github.com>
…n to make clippy happy

Signed-off-by: Nikita Strygin <dcnick3@users.noreply.github.com>
…ive(HasOrigin)`

Signed-off-by: Nikita Strygin <dcnick3@users.noreply.github.com>
…roha#3923)

[feat]: parse filter as JSON5 in `iroha_client_cli`

Signed-off-by: Dmitry Balashov <a.marcius26@gmail.com>
…roha#3907)

Signed-off-by: Ekaterina Mekhnetsova <mekkatya@gmail.com>
…n 2.0

Also, a drive-by fix to silence the "unused" lints in some other feature combinations

Signed-off-by: Nikita Strygin <dcnick3@users.noreply.github.com>
…payload (hyperledger-iroha#3916)

Signed-off-by: Marin Veršić <marin.versic101@gmail.com>
…sioned containers (hyperledger-iroha#3913)

Signed-off-by: Marin Veršić <marin.versic101@gmail.com>
Signed-off-by: Marin Veršić <marin.versic101@gmail.com>
Signed-off-by: BAStos525 <jungle.vas@yandex.ru>
@SamHSmith SamHSmith force-pushed the startup_time_test branch 3 times, most recently from 85cdda4 to a53300d Compare November 10, 2023 08:00
Erigara and others added 25 commits November 16, 2023 19:12
Signed-off-by: Shanin Roman <shanin1000@yandex.ru>
…ough ursa

Signed-off-by: Nikita Strygin <dcnick3@users.noreply.github.com>
…pt to iroha_crypto types

Signed-off-by: Nikita Strygin <dcnick3@users.noreply.github.com>
…ode from ursa

Signed-off-by: Nikita Strygin <dcnick3@users.noreply.github.com>
…20Poly1305 code from ursa, migrate iroha_p2p to use it

Signed-off-by: Nikita Strygin <dcnick3@users.noreply.github.com>
Signed-off-by: Nikita Strygin <dcnick3@users.noreply.github.com>
Signed-off-by: Nikita Strygin <dcnick3@users.noreply.github.com>
Signed-off-by: Nikita Strygin <dcnick3@users.noreply.github.com>
…o blocks

This also removes bls signature aggregation and rogue key mitigation, as iroha does not and probably will not use aggregated signatures

Signed-off-by: Nikita Strygin <dcnick3@users.noreply.github.com>
This makes all the dependency tree of iroha_crypto wasm-compatible (except `getrandom`, which either requires a "js" feature enabled when used from web, or a custom getrandom implementation in other cases)

Signed-off-by: Nikita Strygin <dcnick3@users.noreply.github.com>
…tests

Clean up the API a bit:
- hide the implementation details of signatures (they are only used through the PublicKey, PrivateKey and Signature types)
- remove even more unused API functions
- add missing documentation items

Signed-off-by: Nikita Strygin <dcnick3@users.noreply.github.com>
- make the signature implementations not use the &self, they are all stateless anyway
- remove redundant Result returns
- add docs on errors

Signed-off-by: Nikita Strygin <dcnick3@users.noreply.github.com>
… crate, allows removing dep of iroha_p2p on aead. Also remove buffer-based API from iroha_crypto, it's not used anyways.

Signed-off-by: Nikita Strygin <dcnick3@users.noreply.github.com>
…edundant result.is_ok() checks

Signed-off-by: Nikita Strygin <dcnick3@users.noreply.github.com>
… dependency from `iroha_crypto` and introduce configurable tls backends to `iroha_client`

openssl-sys was previously added to `iroh_crypto` to allow static builds of openssl with musl libc.

This was somewhat a kludge though, as `iroha_crypto` does not depend on `openssl` (or at least it stopped depending on it after removing `ursa` dependency).

It was used, however, in the client to allow connecting to iroha nodes via HTTPS.

This commit gives the user more freedom in choosing their TLS implementation by providing four features: `tls-native`, `tls-native-vendored`, `tls-rustls-native-roots` and `tls-rustls-webpki-roots`, which mirror corresponding features of `attohttpc` and `tokio-tungstenite`.

Unlike previously, none of the TLS implementations are enabled by default, which is a breaking change

Signed-off-by: Nikita Strygin <dcnick3@users.noreply.github.com>
…tract end (hyperledger-iroha#4024)

Signed-off-by: Daniil Polyakov <arjentix@gmail.com>
Signed-off-by: Marin Veršić <marin.versic101@gmail.com>
…_client` feature by default

Deploying behind an HTTPS proxy seems like a common occurrence, so we should have some TLS implementation by default.

Rustls brings less problems with linking under musl, so use it

Signed-off-by: Nikita Strygin <dcnick3@users.noreply.github.com>
Signed-off-by: Shanin Roman <shanin1000@yandex.ru>
…i to transfer domains

Signed-off-by: Vladimir Pesterev <8786922+pesterev@users.noreply.github.com>
Signed-off-by: alexstroke <111361420+astrokov7@users.noreply.github.com>
Signed-off-by: Sam H. Smith <sam.henning.smith@protonmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.