From 02bdf989e4c538e3a30befbe7fa410d4d2e55cb8 Mon Sep 17 00:00:00 2001 From: brozorec <9572072+brozorec@users.noreply.github.com> Date: Wed, 29 Jan 2025 15:17:12 +0100 Subject: [PATCH] improve docs --- contracts/token/fungible/src/extensions/metadata/mod.rs | 8 ++++++++ .../fungible-pausable/src/contract_token_interface.rs | 6 ++++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/contracts/token/fungible/src/extensions/metadata/mod.rs b/contracts/token/fungible/src/extensions/metadata/mod.rs index 4418d61..72b5966 100644 --- a/contracts/token/fungible/src/extensions/metadata/mod.rs +++ b/contracts/token/fungible/src/extensions/metadata/mod.rs @@ -1,3 +1,11 @@ +/// Unlike other extensions, `metadata` does not provide a separate trait +/// because the corresponding functions are already available in +/// [`crate::FungibleToken`]. +/// +/// The decision to keep `metadata` as a standalone extension allows developers +/// the flexibility to either use dynamic metadata functions or hardcode +/// values for `decimals`, `symbol`, and `name` when designing their token +/// contract. mod storage; pub use self::storage::{ decimals, get_metadata, name, set_metadata, symbol, Metadata, METADATA_KEY, diff --git a/examples/fungible-pausable/src/contract_token_interface.rs b/examples/fungible-pausable/src/contract_token_interface.rs index a2107d6..62be767 100644 --- a/examples/fungible-pausable/src/contract_token_interface.rs +++ b/examples/fungible-pausable/src/contract_token_interface.rs @@ -6,8 +6,10 @@ //! [`openzeppelin_fungible_token::fungible::FungibleToken`] and //! [`openzeppelin_fungible_token::burnable::FungibleBurnable`], whereas this //! version directly implements [`soroban_sdk::token::TokenInterface`]. +//! //! Ultimately, it is up to the user to choose their preferred approach to -//! creating a SEP-41 token. +//! creating a SEP-41 token. We suggest the approach in "contract.rs" for better +//! organization of the code, consistancy and ease of inspection/debugging. use openzeppelin_fungible_token::{self as fungible, mintable::FungibleMintable}; use openzeppelin_pausable::{self as pausable, Pausable}; @@ -41,7 +43,7 @@ impl ExampleContract { } /// `TokenInterface` doesn't require implementing `total_supply()` because - /// of the backwards compatibility with Stellar classic assets. + /// of the need for backwards compatibility with Stellar classic assets. pub fn total_supply(e: &Env) -> i128 { fungible::total_supply(e) }