odra_modules/erc721/extensions/
erc721_receiver.rs

1//! Erc721 receiver.
2use odra::casper_types::{bytesrepr::Bytes, U256};
3use odra::prelude::Address;
4
5/// The ERC721 receiver interface.
6pub trait Erc721Receiver {
7    /// This function is called at the end of a [safe_transfer_from](crate::erc721::Erc721::safe_transfer_from) or
8    /// [safe_transfer_from_with_data](crate::erc721::Erc721::safe_transfer_from_with_data), after the balance has been updated.
9    ///
10    /// To accept the transfer, this must return true.
11    fn on_erc721_received(
12        &mut self,
13        operator: &Address,
14        from: &Address,
15        token_id: &U256,
16        data: &Option<Bytes>
17    ) -> bool;
18}