namada_shielded_token/
lib.rs1#![doc(html_favicon_url = "https://dev.namada.net/master/favicon.png")]
4#![doc(html_logo_url = "https://dev.namada.net/master/rustdoc-logo.png")]
5#![deny(rustdoc::broken_intra_doc_links)]
6#![deny(rustdoc::private_intra_doc_links)]
7#![warn(
8 missing_docs,
9 rust_2018_idioms,
10 clippy::cast_sign_loss,
11 clippy::cast_possible_truncation,
12 clippy::cast_possible_wrap,
13 clippy::cast_lossless,
14 clippy::arithmetic_side_effects,
15 clippy::dbg_macro,
16 clippy::print_stdout,
17 clippy::print_stderr
18)]
19
20pub mod conversion;
21
22#[cfg(feature = "masp")]
23pub mod masp;
24mod storage;
25pub mod storage_key;
26pub mod utils;
27pub mod validation;
28pub mod vp;
29
30use std::str::FromStr;
31
32use namada_core::borsh::{BorshDeserialize, BorshSchema, BorshSerialize};
33pub use namada_core::dec::Dec;
34pub use namada_core::masp::{MaspEpoch, MaspTransaction, MaspTxId, MaspValue};
35pub use namada_state::{
36 ConversionLeaf, ConversionState, Error, Key, OptionExt, Result, ResultExt,
37 StorageRead, StorageWrite, WithConversionState,
38};
39use serde::{Deserialize, Serialize};
40pub use storage::*;
41
42#[cfg(feature = "masp")]
43pub use crate::masp::shielded_wallet::ShieldedWallet;
44
45#[derive(
47 Clone,
48 Debug,
49 PartialEq,
50 Eq,
51 PartialOrd,
52 Ord,
53 Hash,
54 BorshSerialize,
55 BorshDeserialize,
56 BorshSchema,
57 Deserialize,
58 Serialize,
59)]
60pub struct ShieldedParams {
61 pub max_reward_rate: Dec,
63 pub kd_gain_nom: Dec,
65 pub kp_gain_nom: Dec,
67 pub locked_amount_target: u64,
70}
71
72impl Default for ShieldedParams {
73 fn default() -> Self {
74 Self {
75 max_reward_rate: Dec::from_str("0.1").unwrap(),
76 kp_gain_nom: Dec::from_str("0.25").unwrap(),
77 kd_gain_nom: Dec::from_str("0.25").unwrap(),
78 locked_amount_target: 10_000_u64,
79 }
80 }
81}