iop_sdk_wasm/
lib.rs

1#![allow(clippy::new_without_default)] // WASM does not call default()
2#![warn(missing_docs)]
3#![deny(rustdoc::broken_intra_doc_links)]
4
5//! This module provides WASM bindings to functionality needed in a client application using the IOP Stack™. Network related
6//! asynchronous code is provided in the TypeScript part of the SDK and is not done from these WASM bindings.
7
8mod hydra;
9mod morpheus;
10mod vault;
11
12pub use hydra::*;
13pub use morpheus::*;
14pub use vault::*;
15
16// imports from standard library
17
18use std::str::FromStr;
19
20// imports from 3rd party crates
21
22use anyhow::{Context, Result};
23use serde::{Deserialize, Serialize};
24use wasm_bindgen::prelude::*;
25
26// imports from own crates
27
28use iop_hydra_proto::{
29    txtype::{hyd_core, Aip29Transaction, CommonTransactionFields, OptionalTransactionFields},
30    TransactionData as HydraTransactionData,
31};
32use iop_hydra_sdk::vault as hd_hydra;
33use iop_keyvault::{
34    ed25519::DidKind,
35    multicipher::*,
36    secp256k1::{Secp256k1, SecpPublicKey},
37    Network, Networks, PublicKey as _,
38};
39use iop_keyvault_wasm::*;
40use iop_morpheus_proto::{
41    crypto::sign::{PrivateKeySigner, Signable, Signed, SyncMorpheusSigner},
42    data::{Authentication, ClaimPresentation, Did, WitnessRequest, WitnessStatement},
43};
44use iop_morpheus_sdk::vault as hd_morpheus;
45use iop_vault::{BoundPlugin, Vault, VaultPlugin};
46
47pub use iop_keyvault_wasm::*;
48pub use iop_proto_wasm::*;
49pub use json_digest_wasm::*;