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}