From 7bd2341ded949f161a13a05eecac5aa3b0284c71 Mon Sep 17 00:00:00 2001 From: vms Date: Fri, 18 Dec 2020 11:47:14 +0300 Subject: [PATCH] add security tetraplets to CallParameters --- crates/main/Cargo.toml | 5 +++-- crates/main/src/call_parameters.rs | 24 ++++++++++++++++++++++-- crates/main/src/lib.rs | 1 + src/lib.rs | 1 + 4 files changed, 27 insertions(+), 4 deletions(-) diff --git a/crates/main/Cargo.toml b/crates/main/Cargo.toml index 6fec5d4..ef97ae1 100644 --- a/crates/main/Cargo.toml +++ b/crates/main/Cargo.toml @@ -18,9 +18,10 @@ path = "src/lib.rs" crate-type = ["rlib"] [dependencies] -log = { version = "0.4.8", features = ["std"] } fluence-sdk-macro = { path = "../macro", version = "=0.2.11" } -serde = "1.0.115" + +log = { version = "0.4.8", features = ["std"] } +serde = "=1.0.118" [dev-dependencies] simple_logger = "1.6.0" # used in doc test diff --git a/crates/main/src/call_parameters.rs b/crates/main/src/call_parameters.rs index 1f36229..68334c8 100644 --- a/crates/main/src/call_parameters.rs +++ b/crates/main/src/call_parameters.rs @@ -16,17 +16,36 @@ use fluence_sdk_macro::fce; +use serde::Serialize; +use serde::Deserialize; + +/// Describes an origin that set an argument. +#[fce] +#[derive(Clone, PartialEq, Default, Eq, Debug, Serialize, Deserialize)] +pub struct SecurityTetraplet { + pub peer_pk: String, + pub service_id: String, + pub function_name: String, + pub json_path: String, +} + /// This struct contains parameters that would be accessible by Wasm modules. #[fce] -#[derive(Clone, PartialEq, Default, Eq, Debug, serde::Serialize, serde::Deserialize)] +#[derive(Clone, PartialEq, Default, Eq, Debug, Serialize, Deserialize)] pub struct CallParameters { pub call_id: String, pub user_name: String, pub application_id: String, + pub tetraplets: Vec>, } impl CallParameters { - pub fn new(call_id: C, user_name: U, application_id: A) -> Self + pub fn new( + call_id: C, + user_name: U, + application_id: A, + tetraplets: Vec>, + ) -> Self where C: Into, U: Into, @@ -36,6 +55,7 @@ impl CallParameters { call_id: call_id.into(), user_name: user_name.into(), application_id: application_id.into(), + tetraplets, } } } diff --git a/crates/main/src/lib.rs b/crates/main/src/lib.rs index b1788d0..186f368 100644 --- a/crates/main/src/lib.rs +++ b/crates/main/src/lib.rs @@ -38,6 +38,7 @@ mod logger; mod result; pub use call_parameters::CallParameters; +pub use call_parameters::SecurityTetraplet; #[cfg(target_arch = "wasm32")] pub use call_parameters::get_call_parameters; diff --git a/src/lib.rs b/src/lib.rs index f193908..e99a7b1 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -70,6 +70,7 @@ pub use fluence_sdk_macro::fce; pub use fluence_sdk_main::CallParameters; +pub use fluence_sdk_main::SecurityTetraplet; #[cfg(target_arch = "wasm32")] pub use fluence_sdk_main::get_call_parameters;