Erc721Base

Struct Erc721Base 

Source
pub struct Erc721Base {
    pub balances: Mapping<Address, U256>,
    pub owners: Mapping<U256, Option<Address>>,
    pub token_approvals: Mapping<U256, Option<Address>>,
    pub operator_approvals: Mapping<(Address, Address), bool>,
    /* private fields */
}
Expand description

The ERC721 base implementation.

Fields§

§balances: Mapping<Address, U256>

The token balances.

§owners: Mapping<U256, Option<Address>>

The token owners.

§token_approvals: Mapping<U256, Option<Address>>

The token approvals.

§operator_approvals: Mapping<(Address, Address), bool>

The operator approvals.

Implementations§

Source§

impl Erc721Base

Source

pub fn is_approved_or_owner(&self, spender: &Address, token_id: &U256) -> bool

Returns true if the spender is the owner or an operator of the token_id token.

Source

pub fn transfer(&mut self, from: &Address, to: &Address, token_id: &U256)

Transfers the token_id token from from to to.

Source

pub fn clear_approval(&mut self, token_id: &U256)

Revokes permission to transfer the token_id token.

Source

pub fn exists(&self, token_id: &U256) -> bool

Returns true if the token_id token exists.

Source

pub fn assert_exists(&self, token_id: &U256)

Reverts with Error::InvalidTokenId if the token_id token does not exist.

Trait Implementations§

Source§

impl Erc721 for Erc721Base

Source§

fn balance_of(&self, owner: &Address) -> U256

Returns the amount of tokens owned by owner.
Source§

fn owner_of(&self, token_id: &U256) -> Address

Returns the owner of the token_id token. Read more
Source§

fn safe_transfer_from(&mut self, from: &Address, to: &Address, token_id: &U256)

Safely transfers token_id token from from to to, checking the recipient contract uses Erc721Receiver. Read more
Source§

fn safe_transfer_from_with_data( &mut self, from: &Address, to: &Address, token_id: &U256, data: &Bytes, )

Safely transfers token_id token from from to to, checking the recipient contract uses Erc721Receiver, passes additional data. Read more
Source§

fn transfer_from(&mut self, from: &Address, to: &Address, token_id: &U256)

Transfers a specific NFT tokenId from one account from to another to.
Source§

fn approve(&mut self, approved: &Option<Address>, token_id: &U256)

Grants permission to approved to transfer token_id token. The approval is cleared when the token is transferred. Read more
Source§

fn set_approval_for_all(&mut self, operator: &Address, approved: bool)

Approves or removes operator for the caller. Operators can call transfer_from or safe_transfer_from for all tokens owned by the caller. Read more
Source§

fn get_approved(&self, token_id: &U256) -> Option<Address>

Returns the address approved for token_id token. Read more
Source§

fn is_approved_for_all(&self, owner: &Address, operator: &Address) -> bool

Returns if the operator is allowed to manage all of the tokens of owner.
Source§

impl HasEvents for Erc721Base

Source§

fn events() -> Vec<Event>

Returns a list of Events used by the contract.
Source§

fn event_schemas() -> BTreeMap<String, Schema>

Returns a map of event schemas used by the contract.
Source§

impl HasIdent for Erc721Base

Source§

fn ident() -> String

Returns the contract’s ident.
Source§

impl Module for Erc721Base

Source§

fn new(env: Rc<ContractEnv>) -> Self

Creates a new instance of the module with the given contract environment.
Source§

fn env(&self) -> Rc<ContractEnv>

Returns the contract environment associated with the module.
Source§

impl SchemaErrors for Erc721Base

Source§

fn schema_errors() -> Vec<UserError>

Returns a vector of UserErrors.
Source§

impl SchemaEvents for Erc721Base

Source§

fn schema_events() -> Vec<Event>

Returns a vector of Events.
Source§

fn custom_types() -> Vec<Option<CustomType>>

Returns a vector of CustomTypes. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts 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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts 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
Source§

impl<T> Revertible for T
where T: Module,

Source§

fn revert<E>(&self, error: E) -> !
where E: Into<OdraError>,

Reverts the contract execution with the given error.
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more