Up to bi_init_customer serializing

This commit is contained in:
Gabe Kaptchuk 2019-02-19 15:27:39 -05:00
parent 574aa693eb
commit 2d08655292
2 changed files with 13 additions and 11 deletions

View File

@ -11,27 +11,27 @@ use bincode::SizeLimit::Infinite;
use bincode::rustc_serialize::encode;
use sodiumoxide::crypto::hash::sha512;
use serde::{Serialize};
use serde::{Serialize, Deserialize};
#[derive(Copy, Clone, Serialize)]
#[derive(Copy, Clone, Serialize, Deserialize)]
pub struct PublicKey {
#[serde(serialize_with = "serialization_wrappers::serialize_generic_encodable")]
#[serde(serialize_with = "serialization_wrappers::serialize_generic_encodable", deserialize_with = "serialization_wrappers::deserialize_g_two")]
g: G2,
#[serde(serialize_with = "serialization_wrappers::serialize_generic_encodable")]
#[serde(serialize_with = "serialization_wrappers::serialize_generic_encodable", deserialize_with = "serialization_wrappers::deserialize_g_two")]
h: G2
}
#[derive(Copy, Clone, Serialize)]
#[derive(Copy, Clone, Serialize, Deserialize)]
pub struct Commitment {
#[serde(serialize_with = "serialization_wrappers::serialize_generic_encodable")]
#[serde(serialize_with = "serialization_wrappers::serialize_generic_encodable", deserialize_with = "serialization_wrappers::deserialize_g_two")]
pub c: G2,
#[serde(serialize_with = "serialization_wrappers::serialize_generic_encodable")]
#[serde(serialize_with = "serialization_wrappers::serialize_generic_encodable", deserialize_with = "serialization_wrappers::deserialize_fr")]
pub r: Fr
}
#[derive(Clone, Serialize)]
#[derive(Clone, Serialize, Deserialize)]
pub struct CSParams {
#[serde(serialize_with = "serialization_wrappers::serialize_generic_encodable_vec")]
#[serde(serialize_with = "serialization_wrappers::serialize_generic_encodable_vec", deserialize_with = "serialization_wrappers::deserialize_g_two_vec")]
pub pub_bases: Vec<G2>
}

View File

@ -701,7 +701,7 @@ pub mod bidirectional {
}
// part of channel state
#[derive(Clone, Serialize)]
#[derive(Clone, Serialize, Deserialize)]
pub struct PubKeyMap {
wpk: secp256k1::PublicKey,
revoke_token: Option<secp256k1::Signature>
@ -1492,6 +1492,8 @@ pub mod ffishim {
use bidirectional;
use clsigs;
use commit_scheme;
use serde::{Serialize};
use libc::{c_char};
@ -1620,7 +1622,7 @@ pub mod ffishim {
#[no_mangle]
pub extern fn ffishim_bidirectional_init_customer(serialized_pp: *mut c_char, serializd_channel: *mut c_char, balance_customer: u32, balance_merchant: u32, serialized_commitment_setup: *mut c_char, serialized_customer_keypair: *mut c_char) -> *mut c_char {
pub extern fn ffishim_bidirectional_init_customer(serialized_pp: *mut c_char, serializd_channel: *mut c_char, balance_customer: i32, balance_merchant: i32, serialized_commitment_setup: *mut c_char, serialized_customer_keypair: *mut c_char) -> *mut c_char {
// Deserialize the pp
let bytes_pp = unsafe { CStr::from_ptr(serialized_pp).to_bytes() };
let name_pp: &str = str::from_utf8(bytes_pp).unwrap(); // make sure the bytes are UTF-8