difftreelog
feat(eth) plain transfer for nft collections
in: master
1 file changed
pallets/nft/src/eth/mod.rsdiffbeforeafterboth126126127 crate::abi_encode!(bool(true))127 crate::abi_encode!(bool(true))128 }128 } 129 // function transfer(address recipient, uint256 token) external returns (bool) {130 0xa9059cbb if erc721 => {131 crate::abi_decode!(input, recipient: address, token_id: uint256);132 let sender = T::CrossAccountId::from_eth(sender);133 let recipient = T::CrossAccountId::from_eth(recipient);134 let token_id: u32 = token_id.try_into().map_err(|_| "bad token id")?;135136 <Module<T>>::transfer_internal(137 &sender,138 &recipient,139 &collection,140 token_id,141 1,142 ).map_err(|_| "transfer error")?;143144 crate::abi_encode!(bool(true))145 }129 // function allowance(address owner, address spender) external view returns (uint256)146 // function allowance(address owner, address spender) external view returns (uint256)130 0xdd62ed3e if erc20 => {147 0xdd62ed3e if erc20 => {131 crate::abi_decode!(input, owner: address, spender: address);148 crate::abi_decode!(input, owner: address, spender: address);