Skip to content

Commit 22863bc

Browse files
authoredDec 27, 2023
feat(call-parameters): optional rkyv support (#148)
1 parent 337e677 commit 22863bc

File tree

3 files changed

+215
-2
lines changed

3 files changed

+215
-2
lines changed
 

‎Cargo.lock

+204-2
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎crates/call-parameters/Cargo.toml

+1
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ categories = ["api-bindings", "wasm"]
1111
license = "Apache-2.0"
1212

1313
[dependencies]
14+
rkyv = { version = "0.7.43", features = ["validation", "strict"], optional = true }
1415
serde = "1.0.189"
1516

1617
[target.'cfg(target_arch = "wasm32")'.dependencies]

‎crates/call-parameters/src/lib.rs

+10
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,11 @@ use serde::Deserialize;
2323
/// Describes an origin that set corresponding value.
2424
#[cfg_attr(all(target_arch = "wasm32", feature = "marine-abi"), marine)]
2525
#[derive(Clone, Debug, Default, Eq, PartialEq, Hash, Serialize, Deserialize)]
26+
#[cfg_attr(
27+
feature = "rkyv",
28+
derive(::rkyv::Archive, ::rkyv::Serialize, ::rkyv::Deserialize)
29+
)]
30+
#[cfg_attr(feature = "rkyv", archive(check_bytes))]
2631
pub struct SecurityTetraplet {
2732
/// Id of a peer where corresponding value was set.
2833
pub peer_pk: String,
@@ -74,6 +79,11 @@ impl SecurityTetraplet {
7479
/// This struct contains parameters that would be accessible by Wasm modules.
7580
#[cfg_attr(all(target_arch = "wasm32", feature = "marine-abi"), marine)]
7681
#[derive(Clone, PartialEq, Default, Eq, Debug, Serialize, Deserialize)]
82+
#[cfg_attr(
83+
feature = "rkyv",
84+
derive(::rkyv::Archive, ::rkyv::Serialize, ::rkyv::Deserialize)
85+
)]
86+
#[cfg_attr(feature = "rkyv", archive(check_bytes))]
7787
pub struct CallParameters {
7888
/// Peer id of the AIR script initiator.
7989
pub init_peer_id: String,

0 commit comments

Comments
 (0)