diff --git a/bots/bots.rs b/bots/bots.rs
index 42e6aef..377131e 100644
--- a/bots/bots.rs
+++ b/bots/bots.rs
@@ -1,19 +1,19 @@
 // @generated
 // This file is @generated by prost-build.
 #[allow(clippy::derive_partial_eq_without_eq)]
-#[derive(Clone, PartialEq, ::prost::Message, serde::Serialize, serde::Deserialize)]
+#[derive(Clone, PartialEq, ::prost::Message)]
 pub struct IdList {
     #[prost(int64, repeated, tag="1")]
     pub id: ::prost::alloc::vec::Vec<i64>,
 }
 #[allow(clippy::derive_partial_eq_without_eq)]
-#[derive(Clone, PartialEq, ::prost::Message, serde::Serialize, serde::Deserialize)]
+#[derive(Clone, PartialEq, ::prost::Message)]
 pub struct IdMessage {
     #[prost(int64, tag="1")]
     pub id: i64,
 }
 #[allow(clippy::derive_partial_eq_without_eq)]
-#[derive(Clone, PartialEq, ::prost::Message, serde::Serialize, serde::Deserialize)]
+#[derive(Clone, PartialEq, ::prost::Message)]
 pub struct BotResponse {
     #[prost(int64, tag="1")]
     pub id: i64,
@@ -25,7 +25,7 @@ pub struct BotResponse {
     pub file_id: ::prost::alloc::string::String,
 }
 #[allow(clippy::derive_partial_eq_without_eq)]
-#[derive(Clone, PartialEq, ::prost::Message, serde::Serialize, serde::Deserialize)]
+#[derive(Clone, PartialEq, ::prost::Message)]
 pub struct BotRequest {
     #[prost(int64, tag="1")]
     pub id: i64,
@@ -37,13 +37,13 @@ pub struct BotRequest {
     pub file_id: ::core::option::Option<::prost::alloc::string::String>,
 }
 #[allow(clippy::derive_partial_eq_without_eq)]
-#[derive(Clone, PartialEq, ::prost::Message, serde::Serialize, serde::Deserialize)]
+#[derive(Clone, PartialEq, ::prost::Message)]
 pub struct BotList {
     #[prost(message, repeated, tag="1")]
     pub bots: ::prost::alloc::vec::Vec<BotResponse>,
 }
 #[allow(clippy::derive_partial_eq_without_eq)]
-#[derive(Clone, PartialEq, ::prost::Message, serde::Serialize, serde::Deserialize)]
+#[derive(Clone, PartialEq, ::prost::Message)]
 pub struct ListRequest {
     #[prost(message, optional, tag="1")]
     pub filter: ::core::option::Option<BotRequest>,
@@ -51,7 +51,7 @@ pub struct ListRequest {
     pub page: ::core::option::Option<Pagination>,
 }
 #[allow(clippy::derive_partial_eq_without_eq)]
-#[derive(Clone, PartialEq, ::prost::Message, serde::Serialize, serde::Deserialize)]
+#[derive(Clone, PartialEq, ::prost::Message)]
 pub struct Pagination {
     #[prost(int32, tag="1")]
     pub size: i32,
@@ -59,7 +59,7 @@ pub struct Pagination {
     pub number: i32,
 }
 #[allow(clippy::derive_partial_eq_without_eq)]
-#[derive(Clone, PartialEq, ::prost::Message, serde::Serialize, serde::Deserialize)]
+#[derive(Clone, PartialEq, ::prost::Message)]
 pub struct NullResponse {
 }
 include!("bots.tonic.rs");
diff --git a/datastore/datastore.rs b/datastore/datastore.rs
index 33cf5a9..b6f960e 100644
--- a/datastore/datastore.rs
+++ b/datastore/datastore.rs
@@ -1,13 +1,13 @@
 // @generated
 // This file is @generated by prost-build.
 #[allow(clippy::derive_partial_eq_without_eq)]
-#[derive(Clone, PartialEq, ::prost::Message, serde::Serialize, serde::Deserialize)]
+#[derive(Clone, PartialEq, ::prost::Message)]
 pub struct KeyMessage {
     #[prost(string, tag="1")]
     pub key: ::prost::alloc::string::String,
 }
 #[allow(clippy::derive_partial_eq_without_eq)]
-#[derive(Clone, PartialEq, ::prost::Message, serde::Serialize, serde::Deserialize)]
+#[derive(Clone, PartialEq, ::prost::Message)]
 pub struct UpdateMessage {
     #[prost(string, tag="1")]
     pub key: ::prost::alloc::string::String,
@@ -17,7 +17,7 @@ pub struct UpdateMessage {
     pub deletes: ::core::option::Option<::prost_types::Struct>,
 }
 #[allow(clippy::derive_partial_eq_without_eq)]
-#[derive(Clone, PartialEq, ::prost::Message, serde::Serialize, serde::Deserialize)]
+#[derive(Clone, PartialEq, ::prost::Message)]
 pub struct ObjectResponse {
     #[prost(string, tag="1")]
     pub key: ::prost::alloc::string::String,
@@ -25,7 +25,7 @@ pub struct ObjectResponse {
     pub data: ::core::option::Option<::prost_types::Struct>,
 }
 #[allow(clippy::derive_partial_eq_without_eq)]
-#[derive(Clone, PartialEq, ::prost::Message, serde::Serialize, serde::Deserialize)]
+#[derive(Clone, PartialEq, ::prost::Message)]
 pub struct NullResponse {
 }
 include!("datastore.tonic.rs");
diff --git a/events/events.rs b/events/events.rs
index 77b419d..baab9ac 100644
--- a/events/events.rs
+++ b/events/events.rs
@@ -1,7 +1,7 @@
 // @generated
 // This file is @generated by prost-build.
 #[allow(clippy::derive_partial_eq_without_eq)]
-#[derive(Clone, PartialEq, ::prost::Message, serde::Serialize, serde::Deserialize)]
+#[derive(Clone, PartialEq, ::prost::Message)]
 pub struct EventCreate {
     #[prost(string, tag="1")]
     pub event: ::prost::alloc::string::String,
@@ -15,7 +15,7 @@ pub struct EventCreate {
     pub data: ::core::option::Option<::prost_types::Struct>,
 }
 #[allow(clippy::derive_partial_eq_without_eq)]
-#[derive(Clone, PartialEq, ::prost::Message, serde::Serialize, serde::Deserialize)]
+#[derive(Clone, PartialEq, ::prost::Message)]
 pub struct EventItem {
     #[prost(int64, tag="1")]
     pub id: i64,
@@ -31,7 +31,7 @@ pub struct EventItem {
     pub data: ::core::option::Option<::prost_types::Struct>,
 }
 #[allow(clippy::derive_partial_eq_without_eq)]
-#[derive(Clone, PartialEq, ::prost::Message, serde::Serialize, serde::Deserialize)]
+#[derive(Clone, PartialEq, ::prost::Message)]
 pub struct LatestRequest {
     #[prost(int64, optional, tag="1")]
     pub date: ::core::option::Option<i64>,
@@ -39,7 +39,7 @@ pub struct LatestRequest {
     pub page: ::core::option::Option<Pagination>,
 }
 #[allow(clippy::derive_partial_eq_without_eq)]
-#[derive(Clone, PartialEq, ::prost::Message, serde::Serialize, serde::Deserialize)]
+#[derive(Clone, PartialEq, ::prost::Message)]
 pub struct Pagination {
     #[prost(int32, tag="1")]
     pub size: i32,
@@ -47,13 +47,13 @@ pub struct Pagination {
     pub number: i32,
 }
 #[allow(clippy::derive_partial_eq_without_eq)]
-#[derive(Clone, PartialEq, ::prost::Message, serde::Serialize, serde::Deserialize)]
+#[derive(Clone, PartialEq, ::prost::Message)]
 pub struct LatestResponse {
     #[prost(message, repeated, tag="1")]
     pub events: ::prost::alloc::vec::Vec<EventItem>,
 }
 #[allow(clippy::derive_partial_eq_without_eq)]
-#[derive(Clone, PartialEq, ::prost::Message, serde::Serialize, serde::Deserialize)]
+#[derive(Clone, PartialEq, ::prost::Message)]
 pub struct NullResponse {
 }
 include!("events.tonic.rs");
diff --git a/maps/maps.rs b/maps/maps.rs
index c24875c..90e7efb 100644
--- a/maps/maps.rs
+++ b/maps/maps.rs
@@ -1,19 +1,19 @@
 // @generated
 // This file is @generated by prost-build.
 #[allow(clippy::derive_partial_eq_without_eq)]
-#[derive(Clone, PartialEq, ::prost::Message, serde::Serialize, serde::Deserialize)]
+#[derive(Clone, PartialEq, ::prost::Message)]
 pub struct IdList {
     #[prost(int64, repeated, tag="1")]
     pub id: ::prost::alloc::vec::Vec<i64>,
 }
 #[allow(clippy::derive_partial_eq_without_eq)]
-#[derive(Clone, PartialEq, ::prost::Message, serde::Serialize, serde::Deserialize)]
+#[derive(Clone, PartialEq, ::prost::Message)]
 pub struct IdMessage {
     #[prost(int64, tag="1")]
     pub id: i64,
 }
 #[allow(clippy::derive_partial_eq_without_eq)]
-#[derive(Clone, PartialEq, ::prost::Message, serde::Serialize, serde::Deserialize)]
+#[derive(Clone, PartialEq, ::prost::Message)]
 pub struct MapResponse {
     #[prost(int64, tag="1")]
     pub id: i64,
@@ -27,7 +27,7 @@ pub struct MapResponse {
     pub date: i64,
 }
 #[allow(clippy::derive_partial_eq_without_eq)]
-#[derive(Clone, PartialEq, ::prost::Message, serde::Serialize, serde::Deserialize)]
+#[derive(Clone, PartialEq, ::prost::Message)]
 pub struct MapRequest {
     #[prost(int64, tag="1")]
     pub id: i64,
@@ -41,7 +41,7 @@ pub struct MapRequest {
     pub date: ::core::option::Option<i64>,
 }
 #[allow(clippy::derive_partial_eq_without_eq)]
-#[derive(Clone, PartialEq, ::prost::Message, serde::Serialize, serde::Deserialize)]
+#[derive(Clone, PartialEq, ::prost::Message)]
 pub struct MapFilter {
     #[prost(int64, tag="1")]
     pub id: i64,
@@ -53,13 +53,13 @@ pub struct MapFilter {
     pub game_id: ::core::option::Option<i32>,
 }
 #[allow(clippy::derive_partial_eq_without_eq)]
-#[derive(Clone, PartialEq, ::prost::Message, serde::Serialize, serde::Deserialize)]
+#[derive(Clone, PartialEq, ::prost::Message)]
 pub struct MapList {
     #[prost(message, repeated, tag="1")]
     pub maps: ::prost::alloc::vec::Vec<MapResponse>,
 }
 #[allow(clippy::derive_partial_eq_without_eq)]
-#[derive(Clone, PartialEq, ::prost::Message, serde::Serialize, serde::Deserialize)]
+#[derive(Clone, PartialEq, ::prost::Message)]
 pub struct ListRequest {
     #[prost(message, optional, tag="1")]
     pub filter: ::core::option::Option<MapFilter>,
@@ -67,7 +67,7 @@ pub struct ListRequest {
     pub page: ::core::option::Option<Pagination>,
 }
 #[allow(clippy::derive_partial_eq_without_eq)]
-#[derive(Clone, PartialEq, ::prost::Message, serde::Serialize, serde::Deserialize)]
+#[derive(Clone, PartialEq, ::prost::Message)]
 pub struct Pagination {
     #[prost(int32, tag="1")]
     pub size: i32,
@@ -75,7 +75,7 @@ pub struct Pagination {
     pub number: i32,
 }
 #[allow(clippy::derive_partial_eq_without_eq)]
-#[derive(Clone, PartialEq, ::prost::Message, serde::Serialize, serde::Deserialize)]
+#[derive(Clone, PartialEq, ::prost::Message)]
 pub struct NullResponse {
 }
 include!("maps.tonic.rs");
diff --git a/ranks/ranks.rs b/ranks/ranks.rs
index b29402e..9ee7ad5 100644
--- a/ranks/ranks.rs
+++ b/ranks/ranks.rs
@@ -1,13 +1,13 @@
 // @generated
 // This file is @generated by prost-build.
 #[allow(clippy::derive_partial_eq_without_eq)]
-#[derive(Clone, PartialEq, ::prost::Message, serde::Serialize, serde::Deserialize)]
+#[derive(Clone, PartialEq, ::prost::Message)]
 pub struct IdMessage {
     #[prost(int64, tag="1")]
     pub id: i64,
 }
 #[allow(clippy::derive_partial_eq_without_eq)]
-#[derive(Clone, PartialEq, ::prost::Message, serde::Serialize, serde::Deserialize)]
+#[derive(Clone, PartialEq, ::prost::Message)]
 pub struct GetRequest {
     #[prost(int64, tag="1")]
     pub user_id: i64,
@@ -21,7 +21,7 @@ pub struct GetRequest {
     pub state_id: ::prost::alloc::vec::Vec<i32>,
 }
 #[allow(clippy::derive_partial_eq_without_eq)]
-#[derive(Clone, PartialEq, ::prost::Message, serde::Serialize, serde::Deserialize)]
+#[derive(Clone, PartialEq, ::prost::Message)]
 pub struct ListRequest {
     #[prost(int32, tag="1")]
     pub style_id: i32,
@@ -37,13 +37,13 @@ pub struct ListRequest {
     pub page: ::core::option::Option<Pagination>,
 }
 #[allow(clippy::derive_partial_eq_without_eq)]
-#[derive(Clone, PartialEq, ::prost::Message, serde::Serialize, serde::Deserialize)]
+#[derive(Clone, PartialEq, ::prost::Message)]
 pub struct RankList {
     #[prost(message, repeated, tag="1")]
     pub ranks: ::prost::alloc::vec::Vec<RankMessage>,
 }
 #[allow(clippy::derive_partial_eq_without_eq)]
-#[derive(Clone, PartialEq, ::prost::Message, serde::Serialize, serde::Deserialize)]
+#[derive(Clone, PartialEq, ::prost::Message)]
 pub struct RankMessage {
     #[prost(int64, tag="1")]
     pub id: i64,
@@ -63,7 +63,7 @@ pub struct RankMessage {
     pub updated_at: i64,
 }
 #[allow(clippy::derive_partial_eq_without_eq)]
-#[derive(Clone, PartialEq, ::prost::Message, serde::Serialize, serde::Deserialize)]
+#[derive(Clone, PartialEq, ::prost::Message)]
 pub struct Pagination {
     #[prost(int32, tag="1")]
     pub size: i32,
@@ -71,7 +71,7 @@ pub struct Pagination {
     pub number: i32,
 }
 #[allow(clippy::derive_partial_eq_without_eq)]
-#[derive(Clone, PartialEq, ::prost::Message, serde::Serialize, serde::Deserialize)]
+#[derive(Clone, PartialEq, ::prost::Message)]
 pub struct NullResponse {
 }
 include!("ranks.tonic.rs");
diff --git a/servers/servers.rs b/servers/servers.rs
index 91590d7..8754c62 100644
--- a/servers/servers.rs
+++ b/servers/servers.rs
@@ -1,19 +1,19 @@
 // @generated
 // This file is @generated by prost-build.
 #[allow(clippy::derive_partial_eq_without_eq)]
-#[derive(Clone, PartialEq, ::prost::Message, serde::Serialize, serde::Deserialize)]
+#[derive(Clone, PartialEq, ::prost::Message)]
 pub struct ServerList {
     #[prost(message, repeated, tag="1")]
     pub servers: ::prost::alloc::vec::Vec<ServerItem>,
 }
 #[allow(clippy::derive_partial_eq_without_eq)]
-#[derive(Clone, PartialEq, ::prost::Message, serde::Serialize, serde::Deserialize)]
+#[derive(Clone, PartialEq, ::prost::Message)]
 pub struct IdMessage {
     #[prost(string, tag="1")]
     pub id: ::prost::alloc::string::String,
 }
 #[allow(clippy::derive_partial_eq_without_eq)]
-#[derive(Clone, PartialEq, ::prost::Message, serde::Serialize, serde::Deserialize)]
+#[derive(Clone, PartialEq, ::prost::Message)]
 pub struct ServerCreate {
     #[prost(string, tag="1")]
     pub id: ::prost::alloc::string::String,
@@ -37,7 +37,7 @@ pub struct ServerCreate {
     pub last_update: i64,
 }
 #[allow(clippy::derive_partial_eq_without_eq)]
-#[derive(Clone, PartialEq, ::prost::Message, serde::Serialize, serde::Deserialize)]
+#[derive(Clone, PartialEq, ::prost::Message)]
 pub struct ServerItem {
     #[prost(string, tag="1")]
     pub id: ::prost::alloc::string::String,
@@ -61,7 +61,7 @@ pub struct ServerItem {
     pub last_update: i64,
 }
 #[allow(clippy::derive_partial_eq_without_eq)]
-#[derive(Clone, PartialEq, ::prost::Message, serde::Serialize, serde::Deserialize)]
+#[derive(Clone, PartialEq, ::prost::Message)]
 pub struct ServerUpdate {
     #[prost(string, tag="1")]
     pub id: ::prost::alloc::string::String,
@@ -73,7 +73,7 @@ pub struct ServerUpdate {
     pub player_list: ::prost::alloc::vec::Vec<i64>,
 }
 #[allow(clippy::derive_partial_eq_without_eq)]
-#[derive(Clone, PartialEq, ::prost::Message, serde::Serialize, serde::Deserialize)]
+#[derive(Clone, PartialEq, ::prost::Message)]
 pub struct ServerFilter {
     #[prost(string, optional, tag="1")]
     pub id: ::core::option::Option<::prost::alloc::string::String>,
@@ -89,7 +89,7 @@ pub struct ServerFilter {
     pub map_id: ::core::option::Option<i64>,
 }
 #[allow(clippy::derive_partial_eq_without_eq)]
-#[derive(Clone, PartialEq, ::prost::Message, serde::Serialize, serde::Deserialize)]
+#[derive(Clone, PartialEq, ::prost::Message)]
 pub struct Pagination {
     #[prost(int32, tag="1")]
     pub size: i32,
@@ -97,7 +97,7 @@ pub struct Pagination {
     pub number: i32,
 }
 #[allow(clippy::derive_partial_eq_without_eq)]
-#[derive(Clone, PartialEq, ::prost::Message, serde::Serialize, serde::Deserialize)]
+#[derive(Clone, PartialEq, ::prost::Message)]
 pub struct ServerListRequest {
     #[prost(message, optional, tag="1")]
     pub filter: ::core::option::Option<ServerFilter>,
@@ -105,7 +105,7 @@ pub struct ServerListRequest {
     pub page: ::core::option::Option<Pagination>,
 }
 #[allow(clippy::derive_partial_eq_without_eq)]
-#[derive(Clone, PartialEq, ::prost::Message, serde::Serialize, serde::Deserialize)]
+#[derive(Clone, PartialEq, ::prost::Message)]
 pub struct NullResponse {
 }
 include!("servers.tonic.rs");
diff --git a/times/times.rs b/times/times.rs
index 17defb5..b835124 100644
--- a/times/times.rs
+++ b/times/times.rs
@@ -1,7 +1,7 @@
 // @generated
 // This file is @generated by prost-build.
 #[allow(clippy::derive_partial_eq_without_eq)]
-#[derive(Clone, PartialEq, ::prost::Message, serde::Serialize, serde::Deserialize)]
+#[derive(Clone, PartialEq, ::prost::Message)]
 pub struct TimeRequest {
     #[prost(int64, tag="1")]
     pub id: i64,
@@ -21,7 +21,7 @@ pub struct TimeRequest {
     pub game_id: ::core::option::Option<i32>,
 }
 #[allow(clippy::derive_partial_eq_without_eq)]
-#[derive(Clone, PartialEq, ::prost::Message, serde::Serialize, serde::Deserialize)]
+#[derive(Clone, PartialEq, ::prost::Message)]
 pub struct TimeFilter {
     #[prost(int64, optional, tag="1")]
     pub id: ::core::option::Option<i64>,
@@ -41,7 +41,7 @@ pub struct TimeFilter {
     pub game_id: ::core::option::Option<i32>,
 }
 #[allow(clippy::derive_partial_eq_without_eq)]
-#[derive(Clone, PartialEq, ::prost::Message, serde::Serialize, serde::Deserialize)]
+#[derive(Clone, PartialEq, ::prost::Message)]
 pub struct TimeResponse {
     #[prost(int64, tag="1")]
     pub id: i64,
@@ -63,13 +63,13 @@ pub struct TimeResponse {
     pub game_id: i32,
 }
 #[allow(clippy::derive_partial_eq_without_eq)]
-#[derive(Clone, PartialEq, ::prost::Message, serde::Serialize, serde::Deserialize)]
+#[derive(Clone, PartialEq, ::prost::Message)]
 pub struct IdMessage {
     #[prost(int64, tag="1")]
     pub id: i64,
 }
 #[allow(clippy::derive_partial_eq_without_eq)]
-#[derive(Clone, PartialEq, ::prost::Message, serde::Serialize, serde::Deserialize)]
+#[derive(Clone, PartialEq, ::prost::Message)]
 pub struct TimeList {
     #[prost(message, repeated, tag="1")]
     pub times: ::prost::alloc::vec::Vec<TimeResponse>,
@@ -77,13 +77,13 @@ pub struct TimeList {
     pub total: i64,
 }
 #[allow(clippy::derive_partial_eq_without_eq)]
-#[derive(Clone, PartialEq, ::prost::Message, serde::Serialize, serde::Deserialize)]
+#[derive(Clone, PartialEq, ::prost::Message)]
 pub struct RankResponse {
     #[prost(int64, tag="1")]
     pub rank: i64,
 }
 #[allow(clippy::derive_partial_eq_without_eq)]
-#[derive(Clone, PartialEq, ::prost::Message, serde::Serialize, serde::Deserialize)]
+#[derive(Clone, PartialEq, ::prost::Message)]
 pub struct ListRequest {
     #[prost(message, optional, tag="1")]
     pub filter: ::core::option::Option<TimeFilter>,
@@ -100,7 +100,7 @@ pub struct ListRequest {
     pub sort: u32,
 }
 #[allow(clippy::derive_partial_eq_without_eq)]
-#[derive(Clone, PartialEq, ::prost::Message, serde::Serialize, serde::Deserialize)]
+#[derive(Clone, PartialEq, ::prost::Message)]
 pub struct Pagination {
     #[prost(int32, tag="1")]
     pub size: i32,
@@ -108,7 +108,7 @@ pub struct Pagination {
     pub number: i32,
 }
 #[allow(clippy::derive_partial_eq_without_eq)]
-#[derive(Clone, PartialEq, ::prost::Message, serde::Serialize, serde::Deserialize)]
+#[derive(Clone, PartialEq, ::prost::Message)]
 pub struct NullResponse {
 }
 include!("times.tonic.rs");
diff --git a/transactions/transactions.rs b/transactions/transactions.rs
index 03db7f6..7ebbfdd 100644
--- a/transactions/transactions.rs
+++ b/transactions/transactions.rs
@@ -1,7 +1,7 @@
 // @generated
 // This file is @generated by prost-build.
 #[allow(clippy::derive_partial_eq_without_eq)]
-#[derive(Clone, PartialEq, ::prost::Message, serde::Serialize, serde::Deserialize)]
+#[derive(Clone, PartialEq, ::prost::Message)]
 pub struct TransactionCreate {
     #[prost(string, tag="1")]
     pub id: ::prost::alloc::string::String,
@@ -15,7 +15,7 @@ pub struct TransactionCreate {
     pub data: ::core::option::Option<::prost_types::Struct>,
 }
 #[allow(clippy::derive_partial_eq_without_eq)]
-#[derive(Clone, PartialEq, ::prost::Message, serde::Serialize, serde::Deserialize)]
+#[derive(Clone, PartialEq, ::prost::Message)]
 pub struct TransactionUpdate {
     #[prost(string, tag="1")]
     pub id: ::prost::alloc::string::String,
@@ -27,7 +27,7 @@ pub struct TransactionUpdate {
     pub data: ::core::option::Option<::prost_types::Struct>,
 }
 #[allow(clippy::derive_partial_eq_without_eq)]
-#[derive(Clone, PartialEq, ::prost::Message, serde::Serialize, serde::Deserialize)]
+#[derive(Clone, PartialEq, ::prost::Message)]
 pub struct TransactionItem {
     #[prost(string, tag="1")]
     pub id: ::prost::alloc::string::String,
@@ -45,7 +45,7 @@ pub struct TransactionItem {
     pub data: ::core::option::Option<::prost_types::Struct>,
 }
 #[allow(clippy::derive_partial_eq_without_eq)]
-#[derive(Clone, PartialEq, ::prost::Message, serde::Serialize, serde::Deserialize)]
+#[derive(Clone, PartialEq, ::prost::Message)]
 pub struct TransactionFilter {
     #[prost(int64, optional, tag="1")]
     pub user_id: ::core::option::Option<i64>,
@@ -53,7 +53,7 @@ pub struct TransactionFilter {
     pub state_id: ::core::option::Option<i32>,
 }
 #[allow(clippy::derive_partial_eq_without_eq)]
-#[derive(Clone, PartialEq, ::prost::Message, serde::Serialize, serde::Deserialize)]
+#[derive(Clone, PartialEq, ::prost::Message)]
 pub struct ListRequest {
     #[prost(message, optional, tag="1")]
     pub filter: ::core::option::Option<TransactionFilter>,
@@ -61,7 +61,7 @@ pub struct ListRequest {
     pub page: ::core::option::Option<Pagination>,
 }
 #[allow(clippy::derive_partial_eq_without_eq)]
-#[derive(Clone, PartialEq, ::prost::Message, serde::Serialize, serde::Deserialize)]
+#[derive(Clone, PartialEq, ::prost::Message)]
 pub struct Pagination {
     #[prost(int32, tag="1")]
     pub size: i32,
@@ -69,31 +69,31 @@ pub struct Pagination {
     pub number: i32,
 }
 #[allow(clippy::derive_partial_eq_without_eq)]
-#[derive(Clone, PartialEq, ::prost::Message, serde::Serialize, serde::Deserialize)]
+#[derive(Clone, PartialEq, ::prost::Message)]
 pub struct TransactionList {
     #[prost(message, repeated, tag="1")]
     pub transactions: ::prost::alloc::vec::Vec<TransactionItem>,
 }
 #[allow(clippy::derive_partial_eq_without_eq)]
-#[derive(Clone, PartialEq, ::prost::Message, serde::Serialize, serde::Deserialize)]
+#[derive(Clone, PartialEq, ::prost::Message)]
 pub struct BalanceResponse {
     #[prost(int64, tag="1")]
     pub balance: i64,
 }
 #[allow(clippy::derive_partial_eq_without_eq)]
-#[derive(Clone, PartialEq, ::prost::Message, serde::Serialize, serde::Deserialize)]
+#[derive(Clone, PartialEq, ::prost::Message)]
 pub struct IdMessage {
     #[prost(string, tag="1")]
     pub id: ::prost::alloc::string::String,
 }
 #[allow(clippy::derive_partial_eq_without_eq)]
-#[derive(Clone, PartialEq, ::prost::Message, serde::Serialize, serde::Deserialize)]
+#[derive(Clone, PartialEq, ::prost::Message)]
 pub struct UserIdMessage {
     #[prost(int64, tag="1")]
     pub user_id: i64,
 }
 #[allow(clippy::derive_partial_eq_without_eq)]
-#[derive(Clone, PartialEq, ::prost::Message, serde::Serialize, serde::Deserialize)]
+#[derive(Clone, PartialEq, ::prost::Message)]
 pub struct NullResponse {
 }
 include!("transactions.tonic.rs");
diff --git a/users/users.rs b/users/users.rs
index f8347b6..1cfff22 100644
--- a/users/users.rs
+++ b/users/users.rs
@@ -1,19 +1,19 @@
 // @generated
 // This file is @generated by prost-build.
 #[allow(clippy::derive_partial_eq_without_eq)]
-#[derive(Clone, PartialEq, ::prost::Message, serde::Serialize, serde::Deserialize)]
+#[derive(Clone, PartialEq, ::prost::Message)]
 pub struct IdList {
     #[prost(int64, repeated, tag="1")]
     pub id: ::prost::alloc::vec::Vec<i64>,
 }
 #[allow(clippy::derive_partial_eq_without_eq)]
-#[derive(Clone, PartialEq, ::prost::Message, serde::Serialize, serde::Deserialize)]
+#[derive(Clone, PartialEq, ::prost::Message)]
 pub struct IdMessage {
     #[prost(int64, tag="1")]
     pub id: i64,
 }
 #[allow(clippy::derive_partial_eq_without_eq)]
-#[derive(Clone, PartialEq, ::prost::Message, serde::Serialize, serde::Deserialize)]
+#[derive(Clone, PartialEq, ::prost::Message)]
 pub struct UserResponse {
     #[prost(int64, tag="1")]
     pub id: i64,
@@ -23,7 +23,7 @@ pub struct UserResponse {
     pub state_id: i32,
 }
 #[allow(clippy::derive_partial_eq_without_eq)]
-#[derive(Clone, PartialEq, ::prost::Message, serde::Serialize, serde::Deserialize)]
+#[derive(Clone, PartialEq, ::prost::Message)]
 pub struct UserRequest {
     #[prost(int64, tag="1")]
     pub id: i64,
@@ -33,7 +33,7 @@ pub struct UserRequest {
     pub state_id: ::core::option::Option<i32>,
 }
 #[allow(clippy::derive_partial_eq_without_eq)]
-#[derive(Clone, PartialEq, ::prost::Message, serde::Serialize, serde::Deserialize)]
+#[derive(Clone, PartialEq, ::prost::Message)]
 pub struct UserFilter {
     #[prost(int64, optional, tag="1")]
     pub id: ::core::option::Option<i64>,
@@ -43,13 +43,13 @@ pub struct UserFilter {
     pub state_id: ::core::option::Option<i32>,
 }
 #[allow(clippy::derive_partial_eq_without_eq)]
-#[derive(Clone, PartialEq, ::prost::Message, serde::Serialize, serde::Deserialize)]
+#[derive(Clone, PartialEq, ::prost::Message)]
 pub struct UserList {
     #[prost(message, repeated, tag="1")]
     pub users: ::prost::alloc::vec::Vec<UserResponse>,
 }
 #[allow(clippy::derive_partial_eq_without_eq)]
-#[derive(Clone, PartialEq, ::prost::Message, serde::Serialize, serde::Deserialize)]
+#[derive(Clone, PartialEq, ::prost::Message)]
 pub struct ListRequest {
     #[prost(message, optional, tag="1")]
     pub filter: ::core::option::Option<UserFilter>,
@@ -57,7 +57,7 @@ pub struct ListRequest {
     pub page: ::core::option::Option<Pagination>,
 }
 #[allow(clippy::derive_partial_eq_without_eq)]
-#[derive(Clone, PartialEq, ::prost::Message, serde::Serialize, serde::Deserialize)]
+#[derive(Clone, PartialEq, ::prost::Message)]
 pub struct Pagination {
     #[prost(int32, tag="1")]
     pub size: i32,
@@ -65,7 +65,7 @@ pub struct Pagination {
     pub number: i32,
 }
 #[allow(clippy::derive_partial_eq_without_eq)]
-#[derive(Clone, PartialEq, ::prost::Message, serde::Serialize, serde::Deserialize)]
+#[derive(Clone, PartialEq, ::prost::Message)]
 pub struct NullResponse {
 }
 include!("users.tonic.rs");