pub struct Cep95 {
pub name: SubModule<Cep95Name>,
pub symbol: SubModule<Cep95Symbol>,
pub balances: SubModule<Cep95Balances>,
pub owners: SubModule<Cep95Owners>,
pub approvals: SubModule<Cep95Approvals>,
pub operators: SubModule<Cep95Operators>,
pub metadata: SubModule<Cep95Metadata>,
/* private fields */
}Expand description
A module representing a CEP-95 standard.
Fields§
§name: SubModule<Cep95Name>A submodule for the token name.
symbol: SubModule<Cep95Symbol>A submodule for the token symbol.
balances: SubModule<Cep95Balances>A submodule for the token balances mapping.
owners: SubModule<Cep95Owners>A submodule for the token owners mapping.
approvals: SubModule<Cep95Approvals>A submodule for the token approvals mapping.
operators: SubModule<Cep95Operators>A submodule for the token operators mapping.
metadata: SubModule<Cep95Metadata>A submodule for the token metadata mapping.
Implementations§
Source§impl Cep95
impl Cep95
Sourcepub fn init(&mut self, name: String, symbol: String)
pub fn init(&mut self, name: String, symbol: String)
Initializes the module with a name and symbol.
Sourcepub fn assert_exists(&self, token_id: &U256)
pub fn assert_exists(&self, token_id: &U256)
Asserts that the token ID exists.
Reverts with Error::InvalidTokenId if it does not.
Sourcepub fn clear_approval(&mut self, token_id: &U256)
pub fn clear_approval(&mut self, token_id: &U256)
Clears the approval for a specific token ID. SECURITY: Do not expose this function publicly without proper access control.
Sourcepub fn raw_mint(
&mut self,
to: Address,
token_id: U256,
metadata: Vec<(String, String)>,
)
pub fn raw_mint( &mut self, to: Address, token_id: U256, metadata: Vec<(String, String)>, )
Mints a new NFT and assigns it to the specified address. SECURITY: Do not expose this function publicly without proper access control.
Sourcepub fn raw_burn(&mut self, token_id: U256)
pub fn raw_burn(&mut self, token_id: U256)
Burns an NFT, removing it from the owner’s balance and the contract. SECURITY: Do not expose this function publicly without proper access control.
Sourcepub fn set_metadata(&mut self, token_id: U256, metadata: Vec<(String, String)>)
pub fn set_metadata(&mut self, token_id: U256, metadata: Vec<(String, String)>)
Sets metadata for a specific token ID. Replaces any existing metadata. SECURITY: Do not expose this function publicly without proper access control.
Sourcepub fn update_metadata(
&mut self,
token_id: U256,
metadata: Vec<(String, String)>,
)
pub fn update_metadata( &mut self, token_id: U256, metadata: Vec<(String, String)>, )
Updates metadata for a specific token ID. If a key already exists, its value will be updated. If a key does not exist, it will be added. The remaining keys will be preserved. SECURITY: Do not expose this function publicly without proper access control.
Sourcepub fn raw_transfer_from(&mut self, from: Address, to: Address, token_id: U256)
pub fn raw_transfer_from(&mut self, from: Address, to: Address, token_id: U256)
Transfers an NFT from one address to another without checking the recipient contract. SECURITY: Do not expose this function publicly without proper access control.
Trait Implementations§
Source§impl CEP95Interface for Cep95
impl CEP95Interface for Cep95
Source§fn symbol(&self) -> String
fn symbol(&self) -> String
Source§fn balance_of(&self, owner: Address) -> U256
fn balance_of(&self, owner: Address) -> U256
Source§fn owner_of(&self, token_id: U256) -> Option<Address>
fn owner_of(&self, token_id: U256) -> Option<Address>
Source§fn safe_transfer_from(
&mut self,
from: Address,
to: Address,
token_id: U256,
data: Option<Bytes>,
)
fn safe_transfer_from( &mut self, from: Address, to: Address, token_id: U256, data: Option<Bytes>, )
Source§fn transfer_from(&mut self, from: Address, to: Address, token_id: U256)
fn transfer_from(&mut self, from: Address, to: Address, token_id: U256)
Source§fn approve(&mut self, spender: Address, token_id: U256)
fn approve(&mut self, spender: Address, token_id: U256)
Source§fn revoke_approval(&mut self, token_id: U256)
fn revoke_approval(&mut self, token_id: U256)
Source§fn approved_for(&self, token_id: U256) -> Option<Address>
fn approved_for(&self, token_id: U256) -> Option<Address>
Source§fn approve_for_all(&mut self, operator: Address)
fn approve_for_all(&mut self, operator: Address)
Source§fn revoke_approval_for_all(&mut self, operator: Address)
fn revoke_approval_for_all(&mut self, operator: Address)
Source§impl HasEntrypoints for Cep95
impl HasEntrypoints for Cep95
Source§fn entrypoints() -> Vec<Entrypoint>
fn entrypoints() -> Vec<Entrypoint>
Source§impl Module for Cep95
impl Module for Cep95
Source§fn new(env: Rc<ContractEnv>) -> Self
fn new(env: Rc<ContractEnv>) -> Self
Source§fn env(&self) -> Rc<ContractEnv>
fn env(&self) -> Rc<ContractEnv>
Source§impl OdraContract for Cep95
impl OdraContract for Cep95
Source§type HostRef = Cep95HostRef
type HostRef = Cep95HostRef
Source§type ContractRef = Cep95ContractRef
type ContractRef = Cep95ContractRef
Source§type UpgradeArgs = NoArgs
type UpgradeArgs = NoArgs
Source§impl SchemaCustomTypes for Cep95
impl SchemaCustomTypes for Cep95
Source§fn schema_types() -> Vec<Option<CustomType>>
fn schema_types() -> Vec<Option<CustomType>>
Source§impl SchemaEntrypoints for Cep95
impl SchemaEntrypoints for Cep95
Source§fn schema_entrypoints() -> Vec<Entrypoint>
fn schema_entrypoints() -> Vec<Entrypoint>
Source§impl SchemaErrors for Cep95
impl SchemaErrors for Cep95
Source§impl SchemaEvents for Cep95
impl SchemaEvents for Cep95
Source§fn custom_types() -> Vec<Option<CustomType>>
fn custom_types() -> Vec<Option<CustomType>>
Auto Trait Implementations§
impl !Freeze for Cep95
impl !RefUnwindSafe for Cep95
impl !Send for Cep95
impl !Sync for Cep95
impl Unpin for Cep95
impl !UnwindSafe for Cep95
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<R> Deployer<R> for Rwhere
R: OdraContract,
impl<R> Deployer<R> for Rwhere
R: OdraContract,
Source§fn deploy(
env: &HostEnv,
init_args: <R as OdraContract>::InitArgs,
) -> <R as OdraContract>::HostRef
fn deploy( env: &HostEnv, init_args: <R as OdraContract>::InitArgs, ) -> <R as OdraContract>::HostRef
Source§fn try_deploy(
env: &HostEnv,
init_args: <R as OdraContract>::InitArgs,
) -> Result<<R as OdraContract>::HostRef, OdraError>
fn try_deploy( env: &HostEnv, init_args: <R as OdraContract>::InitArgs, ) -> Result<<R as OdraContract>::HostRef, OdraError>
Source§fn deploy_with_cfg(
env: &HostEnv,
init_args: <R as OdraContract>::InitArgs,
cfg: InstallConfig,
) -> <R as OdraContract>::HostRef
fn deploy_with_cfg( env: &HostEnv, init_args: <R as OdraContract>::InitArgs, cfg: InstallConfig, ) -> <R as OdraContract>::HostRef
Source§fn try_deploy_with_cfg(
env: &HostEnv,
init_args: <R as OdraContract>::InitArgs,
cfg: InstallConfig,
) -> Result<<R as OdraContract>::HostRef, OdraError>
fn try_deploy_with_cfg( env: &HostEnv, init_args: <R as OdraContract>::InitArgs, cfg: InstallConfig, ) -> Result<<R as OdraContract>::HostRef, OdraError>
Source§fn try_upgrade(
env: &HostEnv,
contract_to_upgrade: Address,
upgrade_args: <R as OdraContract>::UpgradeArgs,
) -> Result<<R as OdraContract>::HostRef, OdraError>
fn try_upgrade( env: &HostEnv, contract_to_upgrade: Address, upgrade_args: <R as OdraContract>::UpgradeArgs, ) -> Result<<R as OdraContract>::HostRef, OdraError>
Source§fn try_upgrade_with_cfg(
env: &HostEnv,
contract_to_upgrade: Address,
upgrade_args: <R as OdraContract>::UpgradeArgs,
cfg: UpgradeConfig,
) -> Result<<R as OdraContract>::HostRef, OdraError>
fn try_upgrade_with_cfg( env: &HostEnv, contract_to_upgrade: Address, upgrade_args: <R as OdraContract>::UpgradeArgs, cfg: UpgradeConfig, ) -> Result<<R as OdraContract>::HostRef, OdraError>
Source§impl<T> HostRefLoader<<T as OdraContract>::HostRef> for Twhere
T: OdraContract,
impl<T> HostRefLoader<<T as OdraContract>::HostRef> for Twhere
T: OdraContract,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more