Hey everyone!
I'm interested in making an unsafe transfer function for a 1155 NFT. (I can go into the details of why, the short version would be gas savings on a push-style airdrop.) That would mean getting rid of all of the wonderful and wise checks OZ makes in _beforeTokenTransfer
and also not checking for 1155Receiver
on the other end.
(If it makes anyone feel any better, the function will be locked with onlyOwner
, the owner being the only one who needs this function and reasonably educated about the risks.)
The problem is that _mint
updates the _balances
mapping, which is private
and in the ERC1155 contract, so I have no good way of getting to it (unless there's some Solidity wizardry that I don't know about). Working with a different balances system would then mean needing to rewrite all the transfer and mint functions, and at that point it would basically be it's own 1155 independent of OZ.
Is there any way to get this granular a level of customization on an OZ contract?