git.delta.rocks / unique-network / refs/commits / 34596c284143

difftreelog

feat(eth) plain transfer for nft collections

Yaroslav Bolyukin2021-05-14parent: #3926163.patch.diff
in: master

1 file changed

modifiedpallets/nft/src/eth/mod.rsdiffbeforeafterboth
126126
127 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")?;
135
136 <Module<T>>::transfer_internal(
137 &sender,
138 &recipient,
139 &collection,
140 token_id,
141 1,
142 ).map_err(|_| "transfer error")?;
143
144 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);