diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 24a8579dc13..8c7443bdadb 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -60,6 +60,5 @@ updates: - dependency-name: intrusive-collections - dependency-name: rustracing - dependency-name: rustracing_jaeger - - dependency-name: serde - dependency-name: serde_bytes - dependency-name: snow diff --git a/Cargo.lock b/Cargo.lock index 4a3113f453d..03906ac5ef7 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1125,7 +1125,6 @@ dependencies = [ "serde", "serde_bytes", "serde_cbor", - "serde_derive", "thiserror", "tokio 0.1.22", "tokio-current-thread", @@ -1144,7 +1143,6 @@ dependencies = [ "rustc-hex", "serde", "serde_bytes", - "serde_derive", "thiserror", "x25519-dalek 1.1.0", ] @@ -1210,7 +1208,6 @@ dependencies = [ "serde", "serde_bytes", "serde_cbor", - "serde_derive", "serde_json", "serde_repr", "sgx-isa", @@ -1253,7 +1250,6 @@ dependencies = [ "anyhow", "clap", "serde", - "serde_derive", "thiserror", "toml", ] @@ -1652,9 +1648,12 @@ checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" [[package]] name = "serde" -version = "1.0.115" +version = "1.0.116" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e54c9a88f2da7238af84b5101443f0c0d0a3bbdc455e34a5c9497b1903ed55d5" +checksum = "96fe57af81d28386a513cbc6858332abc6117cfdb5999647c6444b8f43a370a5" +dependencies = [ + "serde_derive", +] [[package]] name = "serde_bytes" @@ -1822,7 +1821,6 @@ version = "0.3.0-alpha" dependencies = [ "oasis-core-runtime", "serde", - "serde_derive", ] [[package]] diff --git a/client/Cargo.toml b/client/Cargo.toml index 3f6deeb17a7..f2862924477 100644 --- a/client/Cargo.toml +++ b/client/Cargo.toml @@ -6,9 +6,8 @@ edition = "2018" [dependencies] oasis-core-runtime = { path = "../runtime" } -serde = "1.0.71" +serde = { version = "1.0.116", features = ["derive"] } serde_bytes = "~0.10" -serde_derive = "1.0" serde_cbor = "0.11.1" anyhow = "1.0" thiserror = "1.0" diff --git a/client/src/enclave_rpc/api/enclaverpc.rs b/client/src/enclave_rpc/api/enclaverpc.rs index 19fea6f477b..164b18a728d 100644 --- a/client/src/enclave_rpc/api/enclaverpc.rs +++ b/client/src/enclave_rpc/api/enclaverpc.rs @@ -1,7 +1,7 @@ //! Client for service defined in go/runtime/enclaverpc/api. use grpcio::{CallOption, Channel, Client, ClientUnaryReceiver, Result}; +use serde::{Deserialize, Serialize}; use serde_bytes::ByteBuf; -use serde_derive::{Deserialize, Serialize}; use oasis_core_runtime::common::runtime::RuntimeId; diff --git a/client/src/transaction/api/client.rs b/client/src/transaction/api/client.rs index 79f223eb12d..f13c2a7a447 100644 --- a/client/src/transaction/api/client.rs +++ b/client/src/transaction/api/client.rs @@ -1,7 +1,7 @@ //! Client for service defined in go/runtime/client/api. use grpcio::{CallOption, Channel, Client, ClientSStreamReceiver, ClientUnaryReceiver, Result}; +use serde::{Deserialize, Serialize}; use serde_bytes::ByteBuf; -use serde_derive::{Deserialize, Serialize}; use oasis_core_runtime::{ common::{ diff --git a/client/src/transaction/api/storage.rs b/client/src/transaction/api/storage.rs index e76154e5de5..251f6aa4eea 100644 --- a/client/src/transaction/api/storage.rs +++ b/client/src/transaction/api/storage.rs @@ -1,7 +1,7 @@ //! Client for service defined in go/storage/api. use grpcio::{CallOption, Channel, Client, Result}; +use serde::{Deserialize, Serialize}; use serde_cbor::value::Value; -use serde_derive::{Deserialize, Serialize}; use oasis_core_runtime::{ common::{crypto::hash::Hash, roothash::Namespace}, diff --git a/keymanager-api-common/Cargo.toml b/keymanager-api-common/Cargo.toml index 234a35b3de0..2c9057b9b24 100644 --- a/keymanager-api-common/Cargo.toml +++ b/keymanager-api-common/Cargo.toml @@ -8,8 +8,7 @@ edition = "2018" oasis-core-runtime = { path = "../runtime" } base64 = "0.12.3" -serde = "1.0.71" -serde_derive = "1.0" +serde = { version = "1.0.116", features = ["derive"] } serde_bytes = "~0.10" rustc-hex = "2.0.1" anyhow = "1.0" diff --git a/keymanager-api-common/src/api.rs b/keymanager-api-common/src/api.rs index e59fabe9eba..b29c1bca77f 100644 --- a/keymanager-api-common/src/api.rs +++ b/keymanager-api-common/src/api.rs @@ -5,7 +5,7 @@ use std::{ use base64; use rand::{rngs::OsRng, Rng}; -use serde_derive::{Deserialize, Serialize}; +use serde::{Deserialize, Serialize}; use thiserror::Error; use x25519_dalek; diff --git a/runtime/Cargo.toml b/runtime/Cargo.toml index ad276e8b648..e0f328a2cbd 100644 --- a/runtime/Cargo.toml +++ b/runtime/Cargo.toml @@ -10,8 +10,7 @@ slog = "2.4.1" slog-json = "2.3.0" slog-scope = "4.1.1" slog-stdlog = "4.0.0" -serde = "1.0.71" -serde_derive = "1.0" +serde = { version = "1.0.116", features = ["derive"] } serde_cbor = "0.11.1" serde_json = "1.0.39" serde_bytes = "~0.10" diff --git a/runtime/src/common/crypto/signature.rs b/runtime/src/common/crypto/signature.rs index ffe32193928..fa285194e0d 100644 --- a/runtime/src/common/crypto/signature.rs +++ b/runtime/src/common/crypto/signature.rs @@ -5,7 +5,7 @@ use anyhow::Result; use byteorder::{LittleEndian, ReadBytesExt}; use ed25519_dalek::{self, ed25519::signature::Signature as _, Signer as _, Verifier}; use rand::rngs::OsRng; -use serde_derive::{Deserialize, Serialize}; +use serde::{Deserialize, Serialize}; use thiserror::Error; use zeroize::Zeroize; diff --git a/runtime/src/common/registry.rs b/runtime/src/common/registry.rs index 949854e9e53..5a895327745 100644 --- a/runtime/src/common/registry.rs +++ b/runtime/src/common/registry.rs @@ -8,7 +8,7 @@ use super::{ super::storage::mkvs::WriteLog, crypto::{hash, signature::SignatureBundle}, }; -use serde_derive::{Deserialize, Serialize}; +use serde::{Deserialize, Serialize}; /// Runtime genesis information that is used to initialize runtime state in the first block. #[derive(Clone, Debug, Default, PartialEq, Eq, Hash, Serialize, Deserialize)] diff --git a/runtime/src/common/roothash.rs b/runtime/src/common/roothash.rs index f80e0025fe1..86a76d6e954 100644 --- a/runtime/src/common/roothash.rs +++ b/runtime/src/common/roothash.rs @@ -4,7 +4,7 @@ //! //! This **MUST** be kept in sync with go/roothash/api/block. //! -use serde_derive::{Deserialize, Serialize}; +use serde::{Deserialize, Serialize}; use serde_repr::*; use super::{ diff --git a/runtime/src/common/sgx/avr.rs b/runtime/src/common/sgx/avr.rs index 82f70f3e3f6..871248b199f 100644 --- a/runtime/src/common/sgx/avr.rs +++ b/runtime/src/common/sgx/avr.rs @@ -7,7 +7,7 @@ use byteorder::{LittleEndian, ReadBytesExt}; use chrono::prelude::*; use pem::parse_many; use percent_encoding; -use serde_derive::{Deserialize, Serialize}; +use serde::{Deserialize, Serialize}; use serde_json; use sgx_isa::{AttributesFlags, Report}; use thiserror::Error; diff --git a/runtime/src/enclave_rpc/session.rs b/runtime/src/enclave_rpc/session.rs index c6a7c97cac7..77cafb8b3c4 100644 --- a/runtime/src/enclave_rpc/session.rs +++ b/runtime/src/enclave_rpc/session.rs @@ -2,7 +2,7 @@ use std::{collections::HashSet, io::Write, mem, sync::Arc}; use anyhow::Result; -use serde_derive::{Deserialize, Serialize}; +use serde::{Deserialize, Serialize}; use snow; use thiserror::Error; diff --git a/runtime/src/enclave_rpc/types.rs b/runtime/src/enclave_rpc/types.rs index 06723920b5c..6494d3ef9f0 100644 --- a/runtime/src/enclave_rpc/types.rs +++ b/runtime/src/enclave_rpc/types.rs @@ -1,6 +1,6 @@ //! RPC protocol types. use rand::{rngs::OsRng, Rng}; -use serde_derive::{Deserialize, Serialize}; +use serde::{Deserialize, Serialize}; use crate::common::cbor::Value; diff --git a/runtime/src/lib.rs b/runtime/src/lib.rs index 2933d93beb8..722d4af8e91 100644 --- a/runtime/src/lib.rs +++ b/runtime/src/lib.rs @@ -24,7 +24,6 @@ extern crate crossbeam; extern crate lazy_static; extern crate serde_bytes; extern crate serde_cbor; -extern crate serde_derive; extern crate serde_json; extern crate serde_repr; extern crate slog_json; diff --git a/runtime/src/storage/mkvs/interop/rpc.rs b/runtime/src/storage/mkvs/interop/rpc.rs index 38d5df1cf1b..5ca2001939c 100644 --- a/runtime/src/storage/mkvs/interop/rpc.rs +++ b/runtime/src/storage/mkvs/interop/rpc.rs @@ -1,7 +1,6 @@ use grpcio::{CallOption, Channel, Client, Error, Marshaller, Method, MethodType, Result}; -use serde::{de::DeserializeOwned, Serialize}; +use serde::{de::DeserializeOwned, Deserialize, Serialize}; use serde_cbor::Value; -use serde_derive::{Deserialize, Serialize}; use crate::{ common::{cbor, crypto::hash::Hash, roothash::Namespace}, diff --git a/runtime/src/storage/mkvs/mod.rs b/runtime/src/storage/mkvs/mod.rs index 45c81e42063..403bd6c57f3 100644 --- a/runtime/src/storage/mkvs/mod.rs +++ b/runtime/src/storage/mkvs/mod.rs @@ -4,9 +4,8 @@ use std::ops::{Deref, DerefMut}; use anyhow::Result; use base64; use io_context::Context; -use serde::{self, ser::SerializeSeq, Serializer}; +use serde::{self, ser::SerializeSeq, Deserialize, Serialize, Serializer}; use serde_bytes::Bytes; -use serde_derive::{Deserialize, Serialize}; use crate::common::{crypto::hash::Hash, roothash::Namespace}; diff --git a/runtime/src/storage/mkvs/sync/proof.rs b/runtime/src/storage/mkvs/sync/proof.rs index a13bb147322..d61d7488957 100644 --- a/runtime/src/storage/mkvs/sync/proof.rs +++ b/runtime/src/storage/mkvs/sync/proof.rs @@ -3,8 +3,8 @@ use std::ops::{Deref, DerefMut}; use anyhow::{anyhow, Result}; use arbitrary::Arbitrary; use io_context::Context; +use serde::{Deserialize, Serialize}; use serde_bytes; -use serde_derive::{Deserialize, Serialize}; use crate::{ common::crypto::hash::Hash, diff --git a/runtime/src/storage/mkvs/sync/sync.rs b/runtime/src/storage/mkvs/sync/sync.rs index 670b1993f9c..803f33db3b7 100644 --- a/runtime/src/storage/mkvs/sync/sync.rs +++ b/runtime/src/storage/mkvs/sync/sync.rs @@ -2,8 +2,8 @@ use std::any::Any; use anyhow::Result; use io_context::Context; +use serde::{Deserialize, Serialize}; use serde_bytes; -use serde_derive::{Deserialize, Serialize}; use crate::{ common::crypto::hash::Hash, diff --git a/runtime/src/storage/mkvs/tests/mod.rs b/runtime/src/storage/mkvs/tests/mod.rs index f197e30d1d7..33963d95e0e 100644 --- a/runtime/src/storage/mkvs/tests/mod.rs +++ b/runtime/src/storage/mkvs/tests/mod.rs @@ -2,8 +2,7 @@ use std::fmt; use base64; -use serde; -use serde_derive::Deserialize; +use serde::{self, Deserialize}; /// Tree operation kind. #[derive(Clone, Debug, Deserialize)] diff --git a/runtime/src/storage/mkvs/tree/node.rs b/runtime/src/storage/mkvs/tree/node.rs index 7bcdd16491b..8add6a7e967 100644 --- a/runtime/src/storage/mkvs/tree/node.rs +++ b/runtime/src/storage/mkvs/tree/node.rs @@ -1,6 +1,6 @@ use std::{cell::RefCell, rc::Rc}; -use serde_derive::{Deserialize, Serialize}; +use serde::{Deserialize, Serialize}; use crate::{ common::{crypto::hash::Hash, roothash::Namespace}, diff --git a/runtime/src/transaction/dispatcher.rs b/runtime/src/transaction/dispatcher.rs index cda5430c46b..d38b65d44ed 100644 --- a/runtime/src/transaction/dispatcher.rs +++ b/runtime/src/transaction/dispatcher.rs @@ -357,7 +357,7 @@ impl Dispatcher for MethodDispatcher { #[cfg(test)] mod tests { use io_context::Context as IoContext; - use serde_derive::{Deserialize, Serialize}; + use serde::{Deserialize, Serialize}; use crate::common::{cbor, roothash::Header}; diff --git a/runtime/src/transaction/rwset.rs b/runtime/src/transaction/rwset.rs index 02bc3070e12..1c12d2b7808 100644 --- a/runtime/src/transaction/rwset.rs +++ b/runtime/src/transaction/rwset.rs @@ -1,6 +1,6 @@ //! Read/write set. +use serde::{Deserialize, Serialize}; use serde_bytes; -use serde_derive::{Deserialize, Serialize}; /// A coarsened key prefix that represents any key that starts with /// this prefix. diff --git a/runtime/src/transaction/tree.rs b/runtime/src/transaction/tree.rs index c6207c4326c..0b0811d37dd 100644 --- a/runtime/src/transaction/tree.rs +++ b/runtime/src/transaction/tree.rs @@ -1,9 +1,8 @@ //! Transaction I/O tree. use anyhow::{anyhow, Result}; use io_context::Context; -use serde::{self, ser::SerializeSeq, Serializer}; +use serde::{self, ser::SerializeSeq, Deserialize, Serializer}; use serde_bytes::{self, Bytes}; -use serde_derive::Deserialize; use super::tags::Tags; use crate::{ diff --git a/runtime/src/transaction/types.rs b/runtime/src/transaction/types.rs index d741bd6f4d9..cbc76ae0627 100644 --- a/runtime/src/transaction/types.rs +++ b/runtime/src/transaction/types.rs @@ -4,7 +4,7 @@ use std::{ ops::{Deref, DerefMut}, }; -use serde_derive::{Deserialize, Serialize}; +use serde::{Deserialize, Serialize}; use super::rwset::ReadWriteSet; use crate::common::cbor::Value; diff --git a/runtime/src/types.rs b/runtime/src/types.rs index 115fdceac21..73057cd7bf5 100644 --- a/runtime/src/types.rs +++ b/runtime/src/types.rs @@ -1,7 +1,6 @@ //! Types used by the worker-host protocol. -use serde::{self, Deserializer, Serializer}; +use serde::{self, Deserialize, Deserializer, Serialize, Serializer}; use serde_bytes; -use serde_derive::{Deserialize, Serialize}; use crate::{ common::{ diff --git a/tests/runtimes/simple-keyvalue/api/Cargo.toml b/tests/runtimes/simple-keyvalue/api/Cargo.toml index 6ebd0dc5ecd..ec41a5bc581 100644 --- a/tests/runtimes/simple-keyvalue/api/Cargo.toml +++ b/tests/runtimes/simple-keyvalue/api/Cargo.toml @@ -6,5 +6,4 @@ description = "Example of using a simple key/value store API" [dependencies] oasis-core-runtime = { path = "../../../../runtime" } -serde = "1.0.71" -serde_derive = "1.0" +serde = { version = "1.0.116", features = ["derive"] } diff --git a/tests/runtimes/simple-keyvalue/api/src/api.rs b/tests/runtimes/simple-keyvalue/api/src/api.rs index 004a9097657..c096d2f5d63 100644 --- a/tests/runtimes/simple-keyvalue/api/src/api.rs +++ b/tests/runtimes/simple-keyvalue/api/src/api.rs @@ -1,4 +1,4 @@ -use serde_derive::{Deserialize, Serialize}; +use serde::{Deserialize, Serialize}; use oasis_core_runtime::runtime_api; diff --git a/tests/runtimes/simple-keyvalue/api/src/lib.rs b/tests/runtimes/simple-keyvalue/api/src/lib.rs index 3e2ad58d7a4..9650428d9bb 100644 --- a/tests/runtimes/simple-keyvalue/api/src/lib.rs +++ b/tests/runtimes/simple-keyvalue/api/src/lib.rs @@ -1,5 +1,4 @@ extern crate serde; -extern crate serde_derive; extern crate oasis_core_runtime; diff --git a/tools/Cargo.toml b/tools/Cargo.toml index 80bb80cddff..9e929f31cbf 100644 --- a/tools/Cargo.toml +++ b/tools/Cargo.toml @@ -7,8 +7,7 @@ edition = "2018" [dependencies] anyhow = "1.0" thiserror = "1.0" -serde_derive = "1.0" -serde = "1.0.71" +serde = { version = "1.0.116", features = ["derive"] } toml = "0.5.0" clap = "2.29.1" ansi_term = "0.12.1" diff --git a/tools/bin/cargo-elf2sgxs.rs b/tools/bin/cargo-elf2sgxs.rs index 7528e2286df..bf472a97f06 100644 --- a/tools/bin/cargo-elf2sgxs.rs +++ b/tools/bin/cargo-elf2sgxs.rs @@ -3,7 +3,6 @@ extern crate ansi_term; extern crate anyhow; extern crate clap; extern crate serde; -extern crate serde_derive; use std::{ fs, io, diff --git a/tools/src/cargo.rs b/tools/src/cargo.rs index 17712722af5..85f338f0c34 100644 --- a/tools/src/cargo.rs +++ b/tools/src/cargo.rs @@ -10,7 +10,7 @@ use std::{ }; use anyhow::{anyhow, Result}; -use serde_derive::Deserialize; +use serde::Deserialize; use toml; /// Fortanix SGX metadata (based on ftxsgx-runner-cargo). diff --git a/tools/src/lib.rs b/tools/src/lib.rs index 78be875426e..d081f4f5080 100644 --- a/tools/src/lib.rs +++ b/tools/src/lib.rs @@ -1,6 +1,5 @@ //! Oasis core build tools. extern crate anyhow; -extern crate serde_derive; extern crate toml; pub mod cargo;