Add hash_value method
This commit is contained in:
parent
a3f1460fa5
commit
f4122a6e63
11
src/api.rs
11
src/api.rs
@ -13,6 +13,7 @@ use rand::{thread_rng, Fill, Rng, RngCore};
|
||||
use sdk_common::aes_gcm::aead::generic_array::GenericArray;
|
||||
use sdk_common::aes_gcm::aes::cipher::ArrayLength;
|
||||
use sdk_common::aes_gcm::Nonce;
|
||||
use sdk_common::hash::AnkPcdHash;
|
||||
use sdk_common::log::{self, debug, info, warn};
|
||||
|
||||
use anyhow::{anyhow, Context};
|
||||
@ -64,7 +65,7 @@ use sdk_common::network::{
|
||||
NewTxMessage,
|
||||
};
|
||||
use sdk_common::pcd::{
|
||||
AnkPcdHash, AnkPcdTag, FileBlob, Member, Pcd, PcdCommitments, RoleDefinition, Roles, ValidationRule
|
||||
FileBlob, Member, Pcd, PcdCommitments, RoleDefinition, Roles, ValidationRule
|
||||
};
|
||||
use sdk_common::prd::{AnkPrdHash, Prd, PrdType};
|
||||
use sdk_common::silentpayments::{create_transaction as internal_create_transaction, sign_transaction as internal_sign_tx, TsUnsignedTransaction};
|
||||
@ -1719,3 +1720,11 @@ pub fn decode_value(value: Vec<u8>) -> ApiResult<JsValue> {
|
||||
let res: Value = sdk_common::serialization::ciborium_deserialize(&value)?;
|
||||
Ok(serde_wasm_bindgen::to_value(&res)?)
|
||||
}
|
||||
|
||||
#[wasm_bindgen]
|
||||
pub fn hash_value(value: JsValue, commited_in: String, label: String) -> ApiResult<String> {
|
||||
let outpoint = OutPoint::from_str(&commited_in)?;
|
||||
let encoded_value = sdk_common::serialization::ciborium_serialize(&serde_wasm_bindgen::from_value::<FileBlob>(value)?)?;
|
||||
let hash = AnkPcdHash::from_pcd_value(encoded_value.as_slice(), label.as_bytes(), &outpoint);
|
||||
Ok(hash.as_byte_array().to_lower_hex_string())
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user