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(&mut self, to: Address, token_id: U256) -> Address
pub fn raw_transfer(&mut self, to: Address, token_id: U256) -> Address
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
Available on non-WebAssembly only.
impl SchemaCustomTypes for Cep95
Source§fn schema_types() -> Vec<Option<CustomType>>
fn schema_types() -> Vec<Option<CustomType>>
Source§impl SchemaEntrypoints for Cep95
Available on non-WebAssembly only.
impl SchemaEntrypoints for Cep95
Source§fn schema_entrypoints() -> Vec<Entrypoint>
fn schema_entrypoints() -> Vec<Entrypoint>
Source§impl SchemaErrors for Cep95
Available on non-WebAssembly only.
impl SchemaErrors for Cep95
Source§impl SchemaEvents for Cep95
Available on non-WebAssembly only.
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 !UnwindSafe for Cep95
impl Unpin for Cep95
impl UnsafeUnpin 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