From a8d1b1d5b8931e4049d84fbf5e49c03a3f54894f Mon Sep 17 00:00:00 2001 From: Brooklyn Zelenka Date: Fri, 29 Mar 2024 00:40:36 +0200 Subject: [PATCH] Cleanup unused imports & bump Nix Flake (#16) --- Cargo.toml | 2 +- flake.lock | 36 ++++++++++++------------ src/ability/crud/update.rs | 2 +- src/ability/msg.rs | 3 -- src/ability/ucan/assert.rs | 2 +- src/ability/ucan/revoke.rs | 1 - src/crypto/nonce.rs | 1 - src/delegation/agent.rs | 1 - src/delegation/payload.rs | 6 ++-- src/delegation/policy/predicate.rs | 2 +- src/delegation/policy/selector.rs | 11 +------- src/delegation/policy/selector/filter.rs | 6 ++-- src/delegation/policy/selector/select.rs | 3 +- src/delegation/store/memory.rs | 8 +++--- src/did/key/signer.rs | 8 ------ src/did/preset.rs | 2 +- src/did/traits.rs | 1 - src/invocation/agent.rs | 11 ++------ src/invocation/payload.rs | 31 +++++++++----------- src/invocation/promise/store/memory.rs | 1 - src/invocation/promise/store/traits.rs | 1 - src/ipld/cid.rs | 7 +++-- src/ipld/newtype.rs | 1 - src/ipld/number.rs | 2 +- src/ipld/promised.rs | 2 +- 25 files changed, 56 insertions(+), 95 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 648b98f6..cb455efc 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -8,7 +8,7 @@ include = ["/src", "/examples", "/benches", "README.md", "LICENSE"] license = "Apache-2.0" readme = "README.md" edition = "2021" -rust-version = "1.75" +rust-version = "1.77" documentation = "https://docs.rs/ucan" repository = "https://github.com/ucan-wg/rs-ucan" authors = [ diff --git a/flake.lock b/flake.lock index a4fa5849..c13ba4a7 100644 --- a/flake.lock +++ b/flake.lock @@ -6,11 +6,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1709701816, - "narHash": "sha256-Kwv17invnVzrNrm5fK3Bt6ISJqfXguCx6vc3JDOQtCE=", + "lastModified": 1709702368, + "narHash": "sha256-1YOPubkJ5M6HigdfN0gn0AZ3kx6MHboG9UbWpYpk3gM=", "owner": "expede", "repo": "nix-command-utils", - "rev": "12056907b5194b82060fd8bc6ea11c9fdffb5f25", + "rev": "8f7179876383495b1f98311e53ebb41649ca270a", "type": "github" }, "original": { @@ -25,11 +25,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1708939976, - "narHash": "sha256-O5+nFozxz2Vubpdl1YZtPrilcIXPcRAjqNdNE8oCRoA=", + "lastModified": 1711099426, + "narHash": "sha256-HzpgM/wc3aqpnHJJ2oDqPBkNsqWbW0WfWUO8lKu8nGk=", "owner": "numtide", "repo": "devshell", - "rev": "5ddecd67edbd568ebe0a55905273e56cc82aabe3", + "rev": "2d45b54ca4a183f2fdcf4b19c895b64fbf620ee8", "type": "github" }, "original": { @@ -78,11 +78,11 @@ "systems": "systems_3" }, "locked": { - "lastModified": 1709126324, - "narHash": "sha256-q6EQdSeUZOG26WelxqkmR7kArjgWCdw5sfJVHPH/7j8=", + "lastModified": 1710146030, + "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", "owner": "numtide", "repo": "flake-utils", - "rev": "d465f4819400de7c8d874d50b982301f28a84605", + "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", "type": "github" }, "original": { @@ -93,11 +93,11 @@ }, "nixos-unstable": { "locked": { - "lastModified": 1709558755, - "narHash": "sha256-hx4FIbk4X4ve1oiHLOj+VE6dzO4CtXBR5RSU6kaq34M=", + "lastModified": 1711616573, + "narHash": "sha256-FvZiEl6D4iLXqSQ3oGjQ/qehhPZ5E7iTHr/YA1Rw8kY=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "207107bbc7d6d19a8b2c36a088d3756d03490243", + "rev": "c99b66784962e8984444b4d9e72d00d3549afdb2", "type": "github" }, "original": { @@ -139,11 +139,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1709569716, - "narHash": "sha256-iOR44RU4jQ+YPGrn+uQeYAp7Xo7Z/+gT+wXJoGxxLTY=", + "lastModified": 1711460390, + "narHash": "sha256-akSgjDZL6pVHEfSE6sz1DNSXuYX6hq+P/1Z5IoYWs7E=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "617579a787259b9a6419492eaac670a5f7663917", + "rev": "44733514b72e732bd49f5511bd0203dea9b9a434", "type": "github" }, "original": { @@ -172,11 +172,11 @@ ] }, "locked": { - "lastModified": 1709691047, - "narHash": "sha256-2Vwx1FLufoMEcOS8KAwP8H83IP3Hw6ZPrIDHkSXrFCY=", + "lastModified": 1711592024, + "narHash": "sha256-oD4OJ3TRmVrbAuKZWxElRCyCagNCDuhfw2exBmNOy48=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "d55139f3061cdf2c8f5f7bc8d49e884826e6a4ea", + "rev": "aa858717377db2ed8ffd2d44147d907baee656e5", "type": "github" }, "original": { diff --git a/src/ability/crud/update.rs b/src/ability/crud/update.rs index 935ab40f..b0f7a6bb 100644 --- a/src/ability/crud/update.rs +++ b/src/ability/crud/update.rs @@ -7,7 +7,7 @@ use crate::{ }; use libipld_core::ipld::Ipld; use serde::{Deserialize, Serialize}; -use std::{collections::BTreeMap, path::PathBuf}; +use std::path::PathBuf; use thiserror::Error; #[cfg_attr(doc, aquamarine::aquamarine)] diff --git a/src/ability/msg.rs b/src/ability/msg.rs index 9fd9230e..0e7e35d1 100644 --- a/src/ability/msg.rs +++ b/src/ability/msg.rs @@ -17,9 +17,6 @@ use receive::{PromisedReceive, Receive}; use send::{PromisedSend, Send}; use serde::{Deserialize, Serialize}; -#[cfg(feature = "test_utils")] -use proptest::prelude::*; - #[cfg(feature = "test_utils")] use proptest_derive::Arbitrary; diff --git a/src/ability/ucan/assert.rs b/src/ability/ucan/assert.rs index 62946c23..410d0148 100644 --- a/src/ability/ucan/assert.rs +++ b/src/ability/ucan/assert.rs @@ -1,6 +1,6 @@ use crate::ability::command::Command; use crate::task::Task; -use libipld_core::{cid::Cid, ipld::Ipld}; +use libipld_core::cid::Cid; // Things that you can assert include content and receipts diff --git a/src/ability/ucan/revoke.rs b/src/ability/ucan/revoke.rs index b7ee1313..37c4f051 100644 --- a/src/ability/ucan/revoke.rs +++ b/src/ability/ucan/revoke.rs @@ -9,7 +9,6 @@ use crate::{ }; use libipld_core::{cid::Cid, ipld::Ipld}; use serde::{Deserialize, Serialize}; -use std::collections::BTreeMap; use std::fmt::Debug; /// The fully resolved variant: ready to execute. diff --git a/src/crypto/nonce.rs b/src/crypto/nonce.rs index 5609ca82..ee1a3b53 100644 --- a/src/crypto/nonce.rs +++ b/src/crypto/nonce.rs @@ -31,7 +31,6 @@ impl PartialEq for Nonce { (Nonce::Custom(a), Nonce::Custom(b)) => a == b, (Nonce::Custom(a), Nonce::Nonce16(b)) => a.as_slice() == b, (Nonce::Nonce16(a), Nonce::Custom(b)) => a == b.as_slice(), - _ => false, } } } diff --git a/src/delegation/agent.rs b/src/delegation/agent.rs index c4395056..9b050878 100644 --- a/src/delegation/agent.rs +++ b/src/delegation/agent.rs @@ -68,7 +68,6 @@ where now: SystemTime, varsig_header: V, ) -> Result, DelegateError> { - let mut salt = self.did.clone().to_string().into_bytes(); let nonce = Nonce::generate_16(); let (subject, policy) = match subject { diff --git a/src/delegation/payload.rs b/src/delegation/payload.rs index f65c18ae..4446623b 100644 --- a/src/delegation/payload.rs +++ b/src/delegation/payload.rs @@ -3,15 +3,13 @@ use crate::ability::arguments::Named; use crate::time; use crate::{ capsule::Capsule, - crypto::{varsig, Nonce}, + crypto::Nonce, did::{Did, Verifiable}, time::{TimeBoundError, Timestamp}, }; use core::str::FromStr; use derive_builder::Builder; -use did_url::DID; -use libipld_core::{codec::Codec, error::SerdeError, ipld::Ipld, serde as ipld_serde}; -use serde::{Deserialize, Serialize}; +use libipld_core::ipld::Ipld; use std::{collections::BTreeMap, fmt::Debug}; use thiserror::Error; use web_time::SystemTime; diff --git a/src/delegation/policy/predicate.rs b/src/delegation/policy/predicate.rs index 30c9c0dd..18ee1b98 100644 --- a/src/delegation/policy/predicate.rs +++ b/src/delegation/policy/predicate.rs @@ -3,7 +3,7 @@ use super::selector::{Select, SelectorError}; use crate::ipld; use enum_as_inner::EnumAsInner; use libipld_core::ipld::Ipld; -use std::{fmt, str::FromStr}; +use std::str::FromStr; use thiserror::Error; #[cfg(feature = "test_utils")] diff --git a/src/delegation/policy/selector.rs b/src/delegation/policy/selector.rs index acba9a2c..f33cc7f3 100644 --- a/src/delegation/policy/selector.rs +++ b/src/delegation/policy/selector.rs @@ -9,16 +9,7 @@ pub use select::Select; pub use selectable::Selectable; use filter::Filter; -use nom::{ - self, - bytes::complete::tag, - character::complete::char, - combinator::map_res, - error::context, - multi::{many0, many1}, - sequence::preceded, - IResult, -}; +use nom::{self, character::complete::char, multi::many0, sequence::preceded}; use serde::{Deserialize, Deserializer, Serialize, Serializer}; use std::cmp::Ordering; use std::{fmt, str::FromStr}; diff --git a/src/delegation/policy/selector/filter.rs b/src/delegation/policy/selector/filter.rs index 96343a5a..a9d089d2 100644 --- a/src/delegation/policy/selector/filter.rs +++ b/src/delegation/policy/selector/filter.rs @@ -4,8 +4,8 @@ use nom::{ self, branch::alt, bytes::complete::tag, - character::complete::{alphanumeric1, anychar, char, digit1}, - combinator::{map_opt, map_res}, + character::complete::{alphanumeric1, char, digit1}, + combinator::map_res, error::context, multi::many1, sequence::{delimited, preceded, terminated}, @@ -33,7 +33,7 @@ impl Filter { (Filter::Values, Filter::Values) => true, (Filter::ArrayIndex(_a), Filter::Values) => true, (Filter::Field(_k), Filter::Values) => true, - (Filter::Try(a), Filter::Try(b)) => a.is_in(b), // FIXME Try is basically == null? + (Filter::Try(a), Filter::Try(b)) => a.is_in(b), _ => false, } } diff --git a/src/delegation/policy/selector/select.rs b/src/delegation/policy/selector/select.rs index 7506cc63..67f3eaa9 100644 --- a/src/delegation/policy/selector/select.rs +++ b/src/delegation/policy/selector/select.rs @@ -1,7 +1,6 @@ -use super::Selector; // FIXME cycle? +use super::Selector; use super::{error::SelectorErrorReason, filter::Filter, Selectable, SelectorError}; use libipld_core::ipld::Ipld; -use serde::{Deserialize, Serialize}; use std::cmp::Ordering; use std::fmt; use std::str::FromStr; diff --git a/src/delegation/store/memory.rs b/src/delegation/store/memory.rs index 46a2c5ff..bf1c4cab 100644 --- a/src/delegation/store/memory.rs +++ b/src/delegation/store/memory.rs @@ -10,8 +10,8 @@ use libipld_core::codec::Encode; use libipld_core::ipld::Ipld; use libipld_core::{cid::Cid, codec::Codec}; use nonempty::NonEmpty; -use std::borrow::Cow; use std::{ + borrow::Cow, collections::{BTreeMap, BTreeSet}, convert::Infallible, sync::{Arc, Mutex, MutexGuard}, @@ -160,7 +160,7 @@ where let mut tx = self.lock(); tx.index - .entry(delegation.subject().clone()) + .entry(delegation.subject().cloned()) .or_default() .entry(delegation.audience().clone()) .or_default() @@ -181,7 +181,7 @@ where aud: &DID, subject: &DID, command: &str, - policy: Vec, // FIXME + policy: Vec, now: SystemTime, ) -> Result>)>>, Self::Error> { let blank_set = BTreeSet::new(); @@ -251,7 +251,7 @@ where let issuer = delegation.issuer().clone(); // Hit a root delegation, AKA base case - if &Some(issuer.clone()) == delegation.subject() { + if Some(&issuer) == delegation.subject() { break 'outer; } diff --git a/src/did/key/signer.rs b/src/did/key/signer.rs index b7f95e40..7d69fa94 100644 --- a/src/did/key/signer.rs +++ b/src/did/key/signer.rs @@ -22,9 +22,6 @@ use crate::crypto::rs256; #[cfg(feature = "rs512")] use crate::crypto::rs512; -#[cfg(feature = "bls")] -use crate::crypto::bls12381; - /// Signer types that are verifiable by `did:key` [`Verifier`]s. #[derive(Clone, EnumAsInner)] pub enum Signer { @@ -63,11 +60,6 @@ pub enum Signer { /// `BLS 12-381` signer for the "min sig" variant. #[cfg(feature = "bls")] BlsMinSig(blst::min_sig::SecretKey), - // /// An unknown signer type. - // /// - // /// This is primarily for parsing, where reification is delayed - // /// until the DID method is known. - // FIXME rmeove Unknown(Vec), } impl signature::Signer for Signer { diff --git a/src/did/preset.rs b/src/did/preset.rs index a4616525..ff34c699 100644 --- a/src/did/preset.rs +++ b/src/did/preset.rs @@ -54,7 +54,7 @@ pub enum Signer { impl std::fmt::Debug for Signer { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { match self { - Signer::Key(signer) => write!(f, "Signer::Key(HIDDEN)"), + Signer::Key(_signer) => write!(f, "Signer::Key(HIDDEN)"), } } } diff --git a/src/did/traits.rs b/src/did/traits.rs index 76e9220f..8e55df2d 100644 --- a/src/did/traits.rs +++ b/src/did/traits.rs @@ -1,4 +1,3 @@ -use did_url::DID; use std::fmt; use std::str::FromStr; diff --git a/src/invocation/agent.rs b/src/invocation/agent.rs index 00cf2431..ee040a21 100644 --- a/src/invocation/agent.rs +++ b/src/invocation/agent.rs @@ -4,20 +4,13 @@ use super::{ Invocation, }; use crate::{ - ability::{ - self, arguments, - arguments::Named, - command::ToCommand, - parse::{ParseAbility, ParseAbilityError}, - ucan::revoke::Revoke, - }, + ability::{self, arguments, arguments::Named, command::ToCommand, parse::ParseAbility}, crypto::{ signature::{self, Envelope}, varsig, Nonce, }, delegation, did::{self, Did}, - invocation::payload::PayloadBuilder, time::Timestamp, }; use enum_as_inner::EnumAsInner; @@ -26,7 +19,7 @@ use libipld_core::{ codec::{Codec, Encode}, ipld::Ipld, }; -use std::{collections::BTreeMap, fmt, marker::PhantomData}; +use std::{collections::BTreeMap, marker::PhantomData}; use thiserror::Error; use web_time::SystemTime; diff --git a/src/invocation/payload.rs b/src/invocation/payload.rs index 5a2badb0..4543046f 100644 --- a/src/invocation/payload.rs +++ b/src/invocation/payload.rs @@ -1,13 +1,10 @@ use super::promise::Resolvable; -use crate::ability::command::Command; use crate::ability::parse::ParseAbilityError; -use crate::delegation::policy::selector; -use crate::invocation::Named; use crate::time; use crate::{ - ability::{arguments, command::ToCommand, parse::ParseAbility}, + ability::{arguments::Named, command::ToCommand, parse::ParseAbility}, capsule::Capsule, - crypto::{varsig, Nonce}, + crypto::Nonce, delegation::{ self, policy::{selector::SelectorError, Predicate}, @@ -16,7 +13,7 @@ use crate::{ time::{Expired, Timestamp}, }; use derive_builder::Builder; -use libipld_core::{cid::Cid, codec::Codec, ipld::Ipld}; +use libipld_core::{cid::Cid, ipld::Ipld}; use serde::{ de::{self, MapAccess, Visitor}, ser::SerializeStruct, @@ -158,7 +155,7 @@ impl Payload { where A: ToCommand + Clone, DID: Clone, - arguments::Named: From, + Named: From, { let now_ts = Timestamp::postel(now); @@ -168,7 +165,7 @@ impl Payload { } } - let args: arguments::Named = self.ability.clone().into(); + let args: Named = self.ability.clone().into(); let mut cmd = self.ability.to_command(); if !cmd.ends_with('/') { @@ -274,17 +271,17 @@ impl Capsule for Payload { const TAG: &'static str = "ucan/i@1.0.0-rc.1"; } -impl From> for arguments::Named +impl From> for Named where - arguments::Named: From, + Named: From, { fn from(payload: Payload) -> Self { - let mut args = arguments::Named::from_iter([ + let mut args = Named::from_iter([ ("iss".into(), { payload.issuer.to_string().into() }), ("sub".into(), { payload.subject.to_string().into() }), ("cmd".into(), { payload.ability.to_command().into() }), ("args".into(), { - Ipld::Map(arguments::Named::::from(payload.ability).0) + Ipld::Map(Named::::from(payload.ability).0) }), ("prf".into(), { Ipld::List(payload.proofs.iter().map(Into::into).collect()) @@ -318,10 +315,10 @@ where impl From> for Ipld where - arguments::Named: From>, + Named: From>, { fn from(payload: Payload) -> Self { - arguments::Named::from(payload).into() + Named::from(payload).into() } } @@ -514,14 +511,14 @@ impl Verifiable for Payload { } } -impl TryFrom> for Payload +impl TryFrom> for Payload where ::ArgsErr: fmt::Debug, ::Err: fmt::Debug, { type Error = ParseError; - fn try_from(named: arguments::Named) -> Result { + fn try_from(named: Named) -> Result { let mut subject = None; let mut issuer = None; let mut audience = None; @@ -828,7 +825,7 @@ mod tests { } #[test_log::test] - fn test_non_payload(named in arguments::Named::::arbitrary()) { + fn test_non_payload(named in Named::::arbitrary()) { // Just ensuring that a negative test shows up let parsed = Payload::::try_from(named); prop_assert!(parsed.is_err()) diff --git a/src/invocation/promise/store/memory.rs b/src/invocation/promise/store/memory.rs index 6f587f7a..afc5653b 100644 --- a/src/invocation/promise/store/memory.rs +++ b/src/invocation/promise/store/memory.rs @@ -1,5 +1,4 @@ use super::Store; -use crate::{did::Did, invocation::promise::Resolvable}; use libipld_core::cid::Cid; use std::{ collections::{BTreeMap, BTreeSet}, diff --git a/src/invocation/promise/store/traits.rs b/src/invocation/promise/store/traits.rs index 0e894c84..35568ab3 100644 --- a/src/invocation/promise/store/traits.rs +++ b/src/invocation/promise/store/traits.rs @@ -1,4 +1,3 @@ -use crate::{did::Did, invocation::promise::Resolvable}; use libipld_core::cid::Cid; use std::collections::BTreeSet; diff --git a/src/ipld/cid.rs b/src/ipld/cid.rs index 5715b5c8..09d852a8 100644 --- a/src/ipld/cid.rs +++ b/src/ipld/cid.rs @@ -1,7 +1,7 @@ //! Utilities for [`Cid`]s use crate::ipld; -use libipld_core::{cid::Cid, ipld::Ipld, multihash::MultihashGeneric}; +use libipld_core::{cid::Cid, ipld::Ipld}; use serde::{Deserialize, Serialize}; use thiserror::Error; @@ -130,8 +130,9 @@ impl Arbitrary for Newtype { // Very much faking it any::<([u8; 32], SomeMultihash, SomeCodec)>() .prop_map(|(hash_bytes, hasher, codec)| { - let multihash = MultihashGeneric::wrap(hasher.0.into(), &hash_bytes.as_slice()) - .expect("Sha2_256 should always successfully encode a hash"); + let multihash = + multihash::MultihashGeneric::wrap(hasher.0.into(), &hash_bytes.as_slice()) + .expect("Sha2_256 should always successfully encode a hash"); let cid = Cid::new_v1(codec.0.into(), multihash); Newtype { cid } diff --git a/src/ipld/newtype.rs b/src/ipld/newtype.rs index 31451de1..7e898ed2 100644 --- a/src/ipld/newtype.rs +++ b/src/ipld/newtype.rs @@ -1,6 +1,5 @@ use libipld_core::ipld::Ipld; use serde::{Deserialize, Serialize}; -use std::fmt; use std::path::PathBuf; use thiserror::Error; diff --git a/src/ipld/number.rs b/src/ipld/number.rs index e7c3c611..25cbaae3 100644 --- a/src/ipld/number.rs +++ b/src/ipld/number.rs @@ -1,7 +1,7 @@ //! Helpers for working with [`Ipld`] numerics. use enum_as_inner::EnumAsInner; -use libipld_core::{error::SerdeError, ipld::Ipld, serde as ipld_serde}; +use libipld_core::ipld::Ipld; use serde_derive::{Deserialize, Serialize}; use thiserror::Error; diff --git a/src/ipld/promised.rs b/src/ipld/promised.rs index 0416fde2..5e336148 100644 --- a/src/ipld/promised.rs +++ b/src/ipld/promised.rs @@ -1,7 +1,7 @@ use crate::{ ability::arguments, invocation::promise::{self, Pending, PromiseErr, PromiseOk}, - ipld, url, + url, }; use enum_as_inner::EnumAsInner; use libipld_core::{cid::Cid, ipld::Ipld};