diff --git a/Cargo.lock b/Cargo.lock index 9d004d21a0..e91476c580 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1337,7 +1337,6 @@ dependencies = [ "regex 1.1.2 (registry+https://github.com/rust-lang/crates.io-index)", "rust-base58 0.0.4 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)", "serde_json 1.0.39 (registry+https://github.com/rust-lang/crates.io-index)", "shrinkwraprs 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "snowflake 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", diff --git a/crates/core_types/Cargo.toml b/crates/core_types/Cargo.toml index df2c61ba3e..93b83fbc9c 100644 --- a/crates/core_types/Cargo.toml +++ b/crates/core_types/Cargo.toml @@ -9,6 +9,7 @@ license = "GPL-3.0-only" readme = "README.md" documentation = "https://github.com/holochain/holochain-rust" repository = "https://github.com/holochain/holochain-rust" +edition = "2018" [dependencies] futures = "=0.3.1" @@ -16,8 +17,7 @@ arrayref = "=0.3.5" base64 = "=0.10.1" backtrace = "=0.3.27" chrono = "=0.4.6" -serde = "=1.0.89" -serde_derive = "=1.0.89" +serde = { version = "=1.0.89", features = ["derive"] } serde_json = { version = "=1.0.39", features = ["preserve_order"] } lazy_static = "=1.2.0" multihash = "=0.8.0" diff --git a/crates/core_types/src/agent.rs b/crates/core_types/src/agent.rs index ddf95471d0..aaa66e10fc 100644 --- a/crates/core_types/src/agent.rs +++ b/crates/core_types/src/agent.rs @@ -1,4 +1,6 @@ use crate::{entry::Entry, error::HcResult}; +use holochain_json_derive::DefaultJson; +use serde::{Deserialize, Serialize}; use holochain_persistence_api::cas::content::{Address, AddressableContent, Content}; diff --git a/crates/core_types/src/chain_header.rs b/crates/core_types/src/chain_header.rs index 66e1565b1a..54a8cb6fb5 100644 --- a/crates/core_types/src/chain_header.rs +++ b/crates/core_types/src/chain_header.rs @@ -11,6 +11,8 @@ use crate::{ signature::{Provenance, Signature}, time::{test_iso_8601, Iso8601}, }; +use holochain_json_derive::DefaultJson; +use serde::{Deserialize, Serialize}; use holochain_persistence_api::cas::content::{Address, AddressableContent, Content}; diff --git a/crates/core_types/src/chain_migrate.rs b/crates/core_types/src/chain_migrate.rs index f9351dc08e..f79215f980 100644 --- a/crates/core_types/src/chain_migrate.rs +++ b/crates/core_types/src/chain_migrate.rs @@ -1,4 +1,5 @@ //! NOT YET AVAILABLE +use serde::{Deserialize, Serialize}; #[derive(Clone, Debug, Deserialize, Serialize, PartialEq, Eq)] pub struct ChainMigrate {} diff --git a/crates/core_types/src/crud_status.rs b/crates/core_types/src/crud_status.rs index b7fd4ffc9c..4d68bcd29f 100644 --- a/crates/core_types/src/crud_status.rs +++ b/crates/core_types/src/crud_status.rs @@ -4,8 +4,10 @@ //! even including an entry being marked as deleted. use crate::eav::EntityAttributeValueIndex; +use holochain_json_derive::DefaultJson; +use serde::{Deserialize, Serialize}; -use eav::Attribute; +use crate::eav::Attribute; use std::{convert::TryInto, str::FromStr}; use holochain_persistence_api::{ diff --git a/crates/core_types/src/dna/bridges.rs b/crates/core_types/src/dna/bridges.rs index d36d1d05f3..9208104e4f 100644 --- a/crates/core_types/src/dna/bridges.rs +++ b/crates/core_types/src/dna/bridges.rs @@ -1,5 +1,6 @@ use crate::dna::fn_declarations::Trait; use holochain_persistence_api::cas::content::Address; +use serde::{Deserialize, Serialize}; use std::collections::BTreeMap; diff --git a/crates/core_types/src/dna/capabilities.rs b/crates/core_types/src/dna/capabilities.rs index 4e3aa4d5b4..bfb78cad6d 100644 --- a/crates/core_types/src/dna/capabilities.rs +++ b/crates/core_types/src/dna/capabilities.rs @@ -1,10 +1,12 @@ +use holochain_json_api::{error::JsonError, json::JsonString}; +use holochain_json_derive::DefaultJson; +use holochain_persistence_api::cas::content::Address; +use serde::{Deserialize, Serialize}; + /// capabilities implements the capability request functionality used to check /// that a given capability has been granted for actions like zome calls use crate::signature::{Provenance, Signature}; -use holochain_json_api::{error::JsonError, json::JsonString}; -use holochain_persistence_api::cas::content::Address; - //-------------------------------------------------------------------------------------------------- // CapabilityRequest //-------------------------------------------------------------------------------------------------- diff --git a/crates/core_types/src/dna/entry_types.rs b/crates/core_types/src/dna/entry_types.rs index 83533256d7..e95a83a5d3 100644 --- a/crates/core_types/src/dna/entry_types.rs +++ b/crates/core_types/src/dna/entry_types.rs @@ -1,9 +1,9 @@ //! File holding all the structs for handling entry types defined by DNA. -use dna::zome::ZomeEntryTypes; -use entry::entry_type::EntryType; +use crate::{dna::zome::ZomeEntryTypes, entry::entry_type::EntryType}; use holochain_json_api::{error::JsonError, json::JsonString}; -use serde::{ser::SerializeMap, Deserialize, Deserializer, Serializer}; +use holochain_json_derive::DefaultJson; +use serde::{ser::SerializeMap, Deserialize, Deserializer, Serialize, Serializer}; use std::collections::BTreeMap; /// Enum for Zome EntryType "sharing" property. diff --git a/crates/core_types/src/dna/fn_declarations.rs b/crates/core_types/src/dna/fn_declarations.rs index 81317a04ce..df9a26ac8a 100644 --- a/crates/core_types/src/dna/fn_declarations.rs +++ b/crates/core_types/src/dna/fn_declarations.rs @@ -1,5 +1,7 @@ //! File holding all the structs for handling function declarations defined in DNA. +use serde::{Deserialize, Serialize}; + /// Represents the type declaration for zome function parameter #[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Hash)] pub struct FnParameter { diff --git a/crates/core_types/src/dna/mod.rs b/crates/core_types/src/dna/mod.rs index 7cd5301ab7..4a4eaeb9af 100644 --- a/crates/core_types/src/dna/mod.rs +++ b/crates/core_types/src/dna/mod.rs @@ -41,6 +41,9 @@ use crate::{ entry::entry_type::EntryType, error::{DnaError, HcResult, HolochainError}, }; +use holochain_json_derive::DefaultJson; +use serde::{Deserialize, Serialize}; +use serde_json::json; use holochain_persistence_api::cas::content::{AddressableContent, Content}; @@ -49,7 +52,7 @@ use holochain_json_api::{ json::JsonString, }; -use entry::entry_type::AppEntryType; +use crate::entry::entry_type::AppEntryType; use multihash; use serde_json::{self, Value}; use std::{ @@ -307,7 +310,6 @@ impl PartialEq for Dna { #[cfg(test)] pub mod tests { use super::*; - extern crate base64; use crate::{ dna::{ bridges::{Bridge, BridgePresence, BridgeReference}, @@ -317,8 +319,10 @@ pub mod tests { }, entry::entry_type::{AppEntryType, EntryType}, }; + use base64; use holochain_json_api::json::JsonString; use holochain_persistence_api::cas::content::Address; + use maplit::btreemap; use std::convert::TryFrom; pub fn test_dna() -> Dna { diff --git a/crates/core_types/src/dna/wasm.rs b/crates/core_types/src/dna/wasm.rs index 2963aa00c3..3ec7bb83d2 100644 --- a/crates/core_types/src/dna/wasm.rs +++ b/crates/core_types/src/dna/wasm.rs @@ -1,14 +1,15 @@ //! holochain_core_types::dna::wasm is a module for managing webassembly code //! - within the in-memory dna struct //! - and serialized to json -use backtrace::Backtrace; - use crate::error::HolochainError; +use backtrace::Backtrace; use base64; +use log::debug; use serde::{ self, de::{Deserializer, Visitor}, ser::Serializer, + Deserialize, Serialize, }; use std::{ fmt, @@ -41,7 +42,7 @@ impl Deref for ModuleArc { } } impl fmt::Debug for ModuleArc { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { write!(f, "ModuleMutex") } } @@ -67,7 +68,7 @@ where type Value = Vec; /// we only want to accept strings - fn expecting(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { + fn expecting(&self, formatter: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { formatter.write_str("string") } @@ -122,7 +123,7 @@ fn empty_module() -> Arc>> { } impl fmt::Debug for DnaWasm { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { write!(f, "<<>>") } } diff --git a/crates/core_types/src/dna/zome.rs b/crates/core_types/src/dna/zome.rs index fe21add32a..f99e12b066 100644 --- a/crates/core_types/src/dna/zome.rs +++ b/crates/core_types/src/dna/zome.rs @@ -9,10 +9,12 @@ use crate::{ }, entry::entry_type::EntryType, }; +use holochain_json_derive::DefaultJson; +use serde::{Deserialize, Serialize}; use holochain_json_api::{error::JsonError, json::JsonString}; -use dna::entry_types::{self, deserialize_entry_types, serialize_entry_types, EntryTypeDef}; +use crate::dna::entry_types::{self, deserialize_entry_types, serialize_entry_types, EntryTypeDef}; use std::collections::BTreeMap; /// Represents the "config" object on a "zome". diff --git a/crates/core_types/src/eav/eavi.rs b/crates/core_types/src/eav/eavi.rs index 6918b2e6d3..a326785d2e 100644 --- a/crates/core_types/src/eav/eavi.rs +++ b/crates/core_types/src/eav/eavi.rs @@ -3,6 +3,7 @@ //! being used to define relationships between AddressableContent values. //! See [wikipedia](https://en.wikipedia.org/wiki/Entity%E2%80%93attribute%E2%80%93value_model) to learn more about this pattern. +use holochain_json_derive::DefaultJson; use holochain_persistence_api::{ cas::content::{Address, AddressableContent, Content}, eav::{ @@ -13,6 +14,8 @@ use holochain_persistence_api::{ }, error::{PersistenceError, PersistenceResult}, }; +use lazy_static::lazy_static; +use serde::{Deserialize, Serialize}; use holochain_json_api::{error::JsonError, json::JsonString}; @@ -71,7 +74,7 @@ impl From for HolochainError { } impl fmt::Display for Attribute { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { match self { Attribute::CrudStatus => write!(f, "crud-status"), Attribute::CrudLink => write!(f, "crud-link"), diff --git a/crates/core_types/src/eav/query.rs b/crates/core_types/src/eav/query.rs index ac0a2a7fa1..c0c05f9b23 100644 --- a/crates/core_types/src/eav/query.rs +++ b/crates/core_types/src/eav/query.rs @@ -1,4 +1,4 @@ -use eav::eavi::Attribute; +use crate::eav::eavi::Attribute; /// Represents a set of filtering operations on the EAVI store. pub type EaviQuery<'a> = holochain_persistence_api::eav::query::EaviQuery<'a, Attribute>; diff --git a/crates/core_types/src/eav/storage.rs b/crates/core_types/src/eav/storage.rs index edc77a9d5d..6164ca07ea 100644 --- a/crates/core_types/src/eav/storage.rs +++ b/crates/core_types/src/eav/storage.rs @@ -1,5 +1,7 @@ -use eav::{eavi::EntityAttributeValueIndex, query::EaviQuery}; -use error::{HcResult, HolochainError}; +use crate::{ + eav::{eavi::EntityAttributeValueIndex, query::EaviQuery}, + error::{HcResult, HolochainError}, +}; use objekt; use std::{ collections::BTreeSet, @@ -25,7 +27,7 @@ pub trait EntityAttributeValueStorage: objekt::Clone + Send + Sync + Debug { /// - Some(Value) = requires the given value (e.g. all entities referencing an Address) fn fetch_eavi( &self, - query: &EaviQuery, + query: &EaviQuery<'_>, ) -> Result, HolochainError>; // @TODO: would like to do this, but can't because of the generic type param @@ -34,7 +36,7 @@ pub trait EntityAttributeValueStorage: objekt::Clone + Send + Sync + Debug { // I: Iterator; } -clone_trait_object!(EntityAttributeValueStorage); +objekt::clone_trait_object!(EntityAttributeValueStorage); #[derive(Clone, Debug, Default)] pub struct ExampleEntityAttributeValueStorage { @@ -60,7 +62,7 @@ impl EntityAttributeValueStorage for ExampleEntityAttributeValueStorage { fn fetch_eavi( &self, - query: &EaviQuery, + query: &EaviQuery<'_>, ) -> Result, HolochainError> { let lock = self.storage.read()?; let set = (*lock).clone(); diff --git a/crates/core_types/src/entry/cap_entries.rs b/crates/core_types/src/entry/cap_entries.rs index 3fd0eadefe..904fa764e1 100644 --- a/crates/core_types/src/entry/cap_entries.rs +++ b/crates/core_types/src/entry/cap_entries.rs @@ -1,4 +1,6 @@ use crate::{entry::Entry, error::HolochainError}; +use holochain_json_derive::DefaultJson; +use serde::{Deserialize, Serialize}; use holochain_persistence_api::cas::content::{Address, AddressableContent}; diff --git a/crates/core_types/src/entry/deletion_entry.rs b/crates/core_types/src/entry/deletion_entry.rs index 29d78d143c..0f0943f11a 100644 --- a/crates/core_types/src/entry/deletion_entry.rs +++ b/crates/core_types/src/entry/deletion_entry.rs @@ -1,5 +1,7 @@ use holochain_json_api::{error::JsonError, json::JsonString}; +use holochain_json_derive::DefaultJson; use holochain_persistence_api::cas::content::Address; +use serde::{Deserialize, Serialize}; //------------------------------------------------------------------------------------------------- // DeletionEntry diff --git a/crates/core_types/src/entry/entry_type.rs b/crates/core_types/src/entry/entry_type.rs index 13f997c195..d5aaef69e7 100644 --- a/crates/core_types/src/entry/entry_type.rs +++ b/crates/core_types/src/entry/entry_type.rs @@ -1,5 +1,7 @@ -use error::HolochainError; +use crate::error::HolochainError; use holochain_json_api::{error::JsonError, json::JsonString}; +use holochain_json_derive::DefaultJson; +use serde::{Deserialize, Serialize}; use std::{ convert::TryFrom, fmt::{Display, Formatter, Result as FmtResult}, @@ -153,7 +155,7 @@ impl From<&'static str> for EntryType { } impl Display for EntryType { - fn fmt(&self, f: &mut Formatter) -> FmtResult { + fn fmt(&self, f: &mut Formatter<'_>) -> FmtResult { write!(f, "{}", String::from(self.to_owned())) } } diff --git a/crates/core_types/src/entry/mod.rs b/crates/core_types/src/entry/mod.rs index 728595a1b9..948ef8c1ed 100644 --- a/crates/core_types/src/entry/mod.rs +++ b/crates/core_types/src/entry/mod.rs @@ -11,20 +11,23 @@ use self::{ cap_entries::{CapTokenClaim, CapTokenGrant}, deletion_entry::DeletionEntry, }; -use agent::{test_agent_id, AgentId}; -use chain_header::ChainHeader; -use chain_migrate::ChainMigrate; -use crud_status::CrudStatus; -use dna::Dna; -use entry::entry_type::{test_app_entry_type, test_app_entry_type_b, AppEntryType, EntryType}; +use crate::{ + agent::{test_agent_id, AgentId}, + chain_header::ChainHeader, + chain_migrate::ChainMigrate, + crud_status::CrudStatus, + dna::Dna, + entry::entry_type::{test_app_entry_type, test_app_entry_type_b, AppEntryType, EntryType}, + link::{link_data::LinkData, link_list::LinkList}, +}; use holochain_json_api::{ error::{JsonError, JsonResult}, json::{JsonString, RawString}, }; +use holochain_json_derive::DefaultJson; use holochain_persistence_api::cas::content::{Address, AddressableContent, Content}; -use link::{link_data::LinkData, link_list::LinkList}; use multihash::Hash; -use serde::{ser::SerializeTuple, Deserialize, Deserializer, Serializer}; +use serde::{ser::SerializeTuple, Deserialize, Deserializer, Serialize, Serializer}; use snowflake; use std::convert::TryFrom; diff --git a/crates/core_types/src/error/dna_error.rs b/crates/core_types/src/error/dna_error.rs index 889fa79ec3..5b9acdc011 100644 --- a/crates/core_types/src/error/dna_error.rs +++ b/crates/core_types/src/error/dna_error.rs @@ -1,3 +1,4 @@ +use serde::{Deserialize, Serialize}; use std::{error::Error, fmt}; #[derive(Clone, Debug, PartialEq, Hash, Eq, Serialize, Deserialize, PartialOrd, Ord)] @@ -10,7 +11,7 @@ pub enum DnaError { impl Error for DnaError {} impl fmt::Display for DnaError { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { let msg = match self { DnaError::ZomeNotFound(err_msg) => err_msg, DnaError::TraitNotFound(err_msg) => err_msg, diff --git a/crates/core_types/src/error/mod.rs b/crates/core_types/src/error/mod.rs index 0ca2500451..26d9fce290 100644 --- a/crates/core_types/src/error/mod.rs +++ b/crates/core_types/src/error/mod.rs @@ -11,9 +11,11 @@ use holochain_json_api::{ error::{JsonError, JsonResult}, json::*, }; +use holochain_json_derive::DefaultJson; use holochain_locksmith::LocksmithError; use holochain_persistence_api::{error::PersistenceError, hash::HashString}; use lib3h_crypto_api::CryptoError; +use serde::{Deserialize, Serialize}; use serde_json::Error as SerdeError; use std::{ @@ -77,7 +79,7 @@ impl ::std::convert::TryFrom for CoreError { } impl fmt::Display for CoreError { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { write!( f, "Holochain Core error: {}\n --> {}:{}\n", @@ -135,7 +137,7 @@ impl From for HolochainError { } impl fmt::Display for HolochainError { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { match self { ErrorGeneric(err_msg) => write!(f, "{}", err_msg), CryptoError(crypto_error) => write!(f, "{}", crypto_error), diff --git a/crates/core_types/src/error/ribosome_error.rs b/crates/core_types/src/error/ribosome_error.rs index daf478ca3a..56048ff412 100644 --- a/crates/core_types/src/error/ribosome_error.rs +++ b/crates/core_types/src/error/ribosome_error.rs @@ -1,8 +1,9 @@ use self::{RibosomeEncodedValue::*, RibosomeErrorCode::*}; use crate::error::HolochainError; use holochain_json_api::{error::JsonError, json::JsonString}; +use holochain_json_derive::DefaultJson; -use bits_n_pieces::u64_split_bits; +use crate::bits_n_pieces::u64_split_bits; use serde::{Deserialize, Deserializer, Serialize, Serializer}; use std::{convert::TryFrom, str::FromStr}; diff --git a/crates/core_types/src/hdk_version.rs b/crates/core_types/src/hdk_version.rs index 6448d69b71..9c1e50f2a1 100644 --- a/crates/core_types/src/hdk_version.rs +++ b/crates/core_types/src/hdk_version.rs @@ -1,4 +1,5 @@ -use error::{HcResult, HolochainError}; +use crate::error::{HcResult, HolochainError}; +use lazy_static::lazy_static; lazy_static! { pub static ref HDK_VERSION: HDKVersion = { diff --git a/crates/core_types/src/lib.rs b/crates/core_types/src/lib.rs index f7224d9de8..c471a868ba 100644 --- a/crates/core_types/src/lib.rs +++ b/crates/core_types/src/lib.rs @@ -5,50 +5,16 @@ //! crates, but that don't include Holochain itself. #![feature(try_trait)] #![feature(never_type)] -#![warn(unused_extern_crates)] - -extern crate backtrace; -extern crate base64; -extern crate chrono; -extern crate futures; -#[macro_use] -extern crate lazy_static; -extern crate multihash; -extern crate serde; -#[macro_use] -extern crate serde_json; -#[macro_use] -extern crate serde_derive; -extern crate snowflake; -// #[macro_use] extern crate shrinkwraprs; -#[macro_use] -extern crate holochain_json_derive; -extern crate holochain_json_api; -extern crate holochain_locksmith; -extern crate holochain_persistence_api; -extern crate lib3h_crypto_api; -extern crate regex; -#[cfg(test)] -#[macro_use] -extern crate maplit; -// #[macro_use] -// extern crate shrinkwraprs; -extern crate hcid; -extern crate wasmi; -#[macro_use] -extern crate log; +pub mod agent; +pub mod bits_n_pieces; pub mod chain_header; +pub mod chain_migrate; pub mod crud_status; +pub mod dna; pub mod eav; pub mod entry; pub mod error; -#[macro_use] -extern crate objekt; -pub mod agent; -pub mod bits_n_pieces; -pub mod chain_migrate; -pub mod dna; pub mod hdk_version; pub mod link; pub mod network; @@ -56,8 +22,6 @@ pub mod signature; pub mod time; pub mod ugly; pub mod validation; -#[macro_use] -extern crate holochain_logging; pub const HDK_HASH: &str = env!( "HDK_HASH", diff --git a/crates/core_types/src/link/link_data.rs b/crates/core_types/src/link/link_data.rs index 2f0e8c1e07..b0dcf237f5 100644 --- a/crates/core_types/src/link/link_data.rs +++ b/crates/core_types/src/link/link_data.rs @@ -1,13 +1,12 @@ use crate::{ - agent::AgentId, - chain_header::ChainHeader, - link::{Link, LinkActionKind}, + agent::{test_agent_id, AgentId}, + chain_header::{test_chain_header, ChainHeader}, + link::{example_link, Link, LinkActionKind}, }; -use agent::test_agent_id; -use chain_header::test_chain_header; use holochain_json_api::{error::JsonError, json::JsonString}; +use holochain_json_derive::DefaultJson; use holochain_persistence_api::cas::content::Address; -use link::example_link; +use serde::{Deserialize, Serialize}; //------------------------------------------------------------------------------------------------- // LinkData diff --git a/crates/core_types/src/link/link_list.rs b/crates/core_types/src/link/link_list.rs index ad54943fc2..1c0a792445 100644 --- a/crates/core_types/src/link/link_list.rs +++ b/crates/core_types/src/link/link_list.rs @@ -1,5 +1,7 @@ use crate::link::Link; use holochain_json_api::{error::JsonError, json::JsonString}; +use holochain_json_derive::DefaultJson; +use serde::{Deserialize, Serialize}; //------------------------------------------------------------------------------------------------- // LinkList diff --git a/crates/core_types/src/link/mod.rs b/crates/core_types/src/link/mod.rs index 0e0c4195f9..90a9bc6e7a 100644 --- a/crates/core_types/src/link/mod.rs +++ b/crates/core_types/src/link/mod.rs @@ -6,16 +6,17 @@ pub mod link_data; pub mod link_list; use holochain_json_api::{error::JsonError, json::JsonString}; +use holochain_json_derive::DefaultJson; use holochain_persistence_api::cas::content::Address; +use serde::{Deserialize, Serialize}; use crate::{ agent::AgentId, chain_header::ChainHeader, - entry::{test_entry_a, test_entry_b}, + entry::{test_entry_a, test_entry_b, Entry}, + link::link_data::LinkData, }; -use entry::Entry; use holochain_persistence_api::cas::content::AddressableContent; -use link::link_data::LinkData; use regex::Regex; type LinkType = String; diff --git a/crates/core_types/src/network/entry_aspect.rs b/crates/core_types/src/network/entry_aspect.rs index 907a6411f5..c759c20edd 100644 --- a/crates/core_types/src/network/entry_aspect.rs +++ b/crates/core_types/src/network/entry_aspect.rs @@ -1,6 +1,8 @@ use crate::{chain_header::ChainHeader, entry::Entry, link::link_data::LinkData}; use holochain_json_api::{error::JsonError, json::JsonString}; +use holochain_json_derive::DefaultJson; use holochain_persistence_api::cas::content::{Address, AddressableContent, Content}; +use serde::{Deserialize, Serialize}; use std::{ convert::{Into, TryFrom}, fmt, @@ -106,7 +108,7 @@ fn format_header(header: &ChainHeader) -> String { ) } impl fmt::Debug for EntryAspect { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { match self { EntryAspect::Content(entry, header) => write!( f, diff --git a/crates/core_types/src/network/query.rs b/crates/core_types/src/network/query.rs index bba1b4dc73..5403786266 100644 --- a/crates/core_types/src/network/query.rs +++ b/crates/core_types/src/network/query.rs @@ -1,6 +1,8 @@ use crate::{chain_header::ChainHeader, crud_status::CrudStatus, entry::EntryWithMetaAndHeader}; use holochain_json_api::{error::JsonError, json::JsonString}; +use holochain_json_derive::DefaultJson; use holochain_persistence_api::{cas::content::Address, eav::Value}; +use serde::{Deserialize, Serialize}; #[derive(Debug, Serialize, Deserialize, PartialEq, DefaultJson, Clone)] pub struct GetLinksQueryConfiguration { diff --git a/crates/core_types/src/signature.rs b/crates/core_types/src/signature.rs index 7efdb810d0..5c59b2a8ac 100644 --- a/crates/core_types/src/signature.rs +++ b/crates/core_types/src/signature.rs @@ -2,7 +2,9 @@ //! a way of providing cryptographically verifiable proof of a given agent //! as having been the author of a given data entry. +use holochain_json_derive::DefaultJson; use holochain_persistence_api::cas::content::Address; +use serde::{Deserialize, Serialize}; use holochain_json_api::{error::JsonError, json::JsonString}; diff --git a/crates/core_types/src/time.rs b/crates/core_types/src/time.rs index 688b7c1ec9..418401202a 100644 --- a/crates/core_types/src/time.rs +++ b/crates/core_types/src/time.rs @@ -1,9 +1,11 @@ //! The Iso8601 type is defined here. It is used in particular within ChainHeader to enforce that //! their timestamps are defined in a useful and consistent way. +use crate::error::HolochainError; use chrono::{offset::FixedOffset, DateTime, TimeZone}; -use error::HolochainError; use holochain_json_api::{error::JsonError, json::JsonString}; +use holochain_json_derive::DefaultJson; +use lazy_static::lazy_static; use regex::Regex; use serde::{de, Deserialize, Deserializer, Serialize, Serializer}; @@ -97,13 +99,13 @@ const MN: u64 = 60_u64; /// Outputs the human-readable form of the Period's Duration, eg. "1y2w3d4h56m7.89s", "456ms". /// Debug output of Period specifier instead of underlying Duration seconds. impl fmt::Debug for Period { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { write!(f, "Period({})", self) } } impl fmt::Display for Period { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { let secs = self.0.as_secs(); let years = secs / YR; if years > 0 { @@ -566,7 +568,7 @@ impl<'d> Deserialize<'d> for Iso8601 { /// Outputs the canonicalized ISO 8601 / RFC 3339 form for a valid timestamp. impl fmt::Display for Iso8601 { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { write!(f, "{}", self.0.to_rfc3339()) } } diff --git a/crates/core_types/src/validation.rs b/crates/core_types/src/validation.rs index 2e67445fef..f563fc818a 100644 --- a/crates/core_types/src/validation.rs +++ b/crates/core_types/src/validation.rs @@ -11,11 +11,13 @@ use crate::{ error::HolochainError, link::link_data::LinkData, }; +use holochain_json_derive::DefaultJson; +use serde::{Deserialize, Serialize}; use holochain_json_api::{error::JsonError, json::JsonString}; use holochain_persistence_api::cas::content::Address; -use chain_header::test_chain_header; +use crate::chain_header::test_chain_header; use std::convert::TryFrom;