How would this work?
Would it be like this?
- Fetch all the addresses that hold token A
- Iterate over those addresses on off-chain code and programmatically send token B to those addresses
You need to understand that tokens are not "sent" to an address. All tokens are simple K/V maps within the storage (bigmap) of a smart contract. Transferring a token from X to Y is simply updating a record within the contract storage.
Airdropping a new token would look more like this: