airDrop will be triggered by a wallet set on the web application, correct?
Then we should declare the dedicated wallet just having the control to call airDrop function, called AIRDROPPER.
declare AIRDROPPER wallet address.
add setAidDropper() function with onlyOwner ACL.
change the ACL of airDropBulk from Owner to AIRDROPPER wallet.
airDrop
will be triggered by a wallet set on the web application, correct? Then we should declare the dedicated wallet just having the control to callairDrop
function, calledAIRDROPPER
.AIRDROPPER
wallet address.setAidDropper()
function withonlyOwner
ACL.airDropBulk
from Owner to AIRDROPPER wallet.AccessControl
library is here: https://docs.openzeppelin.com/contracts/5.x/access-control#role-based-access-control https://github.com/PinkyNFT/pinky-contracs/blob/796920a42c20d71522fa73af7f00d68abd65926a/contracts/PinkyToken.sol#L18-L21