pub struct ServiceFeeSchedule {
pub human_identity_registration: u128,
pub machine_identity_registration: u128,
pub agent_registration: u128,
pub credential_issuance: u128,
pub identity_verification: u128,
pub model_registration: u128,
pub bridge_transfer_base: u128,
}Expand description
Service fees for Tenzro Ledger operations, all denominated in TNZO
These fees are charged for ledger-level operations like identity registration, verification, and model registration. All amounts are in the smallest TNZO unit (18 decimal places, like Ethereum’s wei).
§Examples
use tenzro_types::ServiceFeeSchedule;
let fees = ServiceFeeSchedule::default();
assert_eq!(fees.human_identity_registration, 10_000_000_000_000_000_000); // 10 TNZOFields§
§human_identity_registration: u128Human identity registration fee (in smallest TNZO unit)
Default: 10 TNZO (10 * 10^18)
machine_identity_registration: u128Machine identity registration fee
Default: 5 TNZO (5 * 10^18)
agent_registration: u128Agent identity registration fee
Default: 5 TNZO (5 * 10^18)
credential_issuance: u128Credential issuance fee
Default: 2 TNZO (2 * 10^18)
identity_verification: u128Identity verification fee
Default: 1 TNZO (1 * 10^18)
model_registration: u128Model registration fee
Default: 50 TNZO (50 * 10^18)
bridge_transfer_base: u128Bridge transfer base fee
Default: 1 TNZO (1 * 10^18)
Implementations§
Source§impl ServiceFeeSchedule
impl ServiceFeeSchedule
Sourcepub fn new(
human_identity_registration: u128,
machine_identity_registration: u128,
agent_registration: u128,
credential_issuance: u128,
identity_verification: u128,
model_registration: u128,
bridge_transfer_base: u128,
) -> Self
pub fn new( human_identity_registration: u128, machine_identity_registration: u128, agent_registration: u128, credential_issuance: u128, identity_verification: u128, model_registration: u128, bridge_transfer_base: u128, ) -> Self
Creates a new fee schedule with custom values
Sourcepub fn calculate_total_collected(
&self,
human_identity_count: u128,
machine_identity_count: u128,
agent_count: u128,
credential_count: u128,
verification_count: u128,
model_count: u128,
bridge_count: u128,
) -> Option<u128>
pub fn calculate_total_collected( &self, human_identity_count: u128, machine_identity_count: u128, agent_count: u128, credential_count: u128, verification_count: u128, model_count: u128, bridge_count: u128, ) -> Option<u128>
Returns the total fees collected across all categories
Note: This requires keeping track of how many operations of each type have occurred. The counts are passed as parameters.
Trait Implementations§
Source§impl Clone for ServiceFeeSchedule
impl Clone for ServiceFeeSchedule
Source§fn clone(&self) -> ServiceFeeSchedule
fn clone(&self) -> ServiceFeeSchedule
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ServiceFeeSchedule
impl Debug for ServiceFeeSchedule
Source§impl Default for ServiceFeeSchedule
impl Default for ServiceFeeSchedule
Source§impl<'de> Deserialize<'de> for ServiceFeeSchedule
impl<'de> Deserialize<'de> for ServiceFeeSchedule
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Eq for ServiceFeeSchedule
Source§impl PartialEq for ServiceFeeSchedule
impl PartialEq for ServiceFeeSchedule
Source§fn eq(&self, other: &ServiceFeeSchedule) -> bool
fn eq(&self, other: &ServiceFeeSchedule) -> bool
self and other values to be equal, and is used by ==.