fix: u64 serialization

This commit is contained in:
Richard Ramos 2023-12-08 15:25:32 -04:00
parent e52471bdfb
commit b0f7d7d774
No known key found for this signature in database
GPG Key ID: 1CE87DB518195760
4 changed files with 27 additions and 0 deletions

12
Cargo.lock generated
View File

@ -1265,6 +1265,17 @@ dependencies = [
"serde_derive",
]
[[package]]
name = "serde-aux"
version = "4.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "184eba62ebddb71658697c8b08822edee89970bf318c5362189f0de27f85b498"
dependencies = [
"chrono",
"serde",
"serde_json",
]
[[package]]
name = "serde_derive"
version = "1.0.145"
@ -1687,6 +1698,7 @@ dependencies = [
"rand",
"secp256k1 0.26.0",
"serde",
"serde-aux",
"serde_json",
"serial_test",
"smart-default",

12
examples/Cargo.lock generated
View File

@ -1145,6 +1145,17 @@ dependencies = [
"serde_derive",
]
[[package]]
name = "serde-aux"
version = "4.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "184eba62ebddb71658697c8b08822edee89970bf318c5362189f0de27f85b498"
dependencies = [
"chrono",
"serde",
"serde_json",
]
[[package]]
name = "serde_derive"
version = "1.0.151"
@ -1509,6 +1520,7 @@ dependencies = [
"rand",
"secp256k1 0.26.0",
"serde",
"serde-aux",
"serde_json",
"smart-default",
"sscanf",

View File

@ -28,6 +28,7 @@ smart-default = "0.6"
url = "2.3"
waku-sys = { version = "0.5.0", path = "../waku-sys" }
libc = "0.2"
serde-aux = "4.3.1"
[dev-dependencies]
futures = "0.3.25"

View File

@ -9,6 +9,7 @@ use aes_gcm::{Aes256Gcm, Key};
use base64::Engine;
use secp256k1::{ecdsa::Signature, PublicKey, SecretKey};
use serde::{de::Error, Deserialize, Deserializer, Serialize, Serializer};
use serde_aux::prelude::*;
use sscanf::{scanf, RegexRepresentation};
// internal
use crate::decrypt::{waku_decode_asymmetric, waku_decode_symmetric};
@ -71,6 +72,7 @@ pub struct WakuMessage {
#[serde(default)]
version: WakuMessageVersion,
/// Unix timestamp in nanoseconds
#[serde(deserialize_with = "deserialize_number_from_string")]
timestamp: usize,
#[serde(with = "base64_serde", default = "Vec::new")]
meta: Vec<u8>,