-2

Is there any way to prevent token transfer from address A to address B in a smart contract? Let's say it needs some sort of approval from smart contract owner. Assuming it is not ERC-20 token.

vocotipex
  • 21
  • 3

1 Answers1

0

There are many ways to implement such a restriction in your code logic.

For example, you could create a mapping with addresses that only the smart contract owner can add entries to. (Using an onlyOwner modifier). Then implement a require function that only permits the transfer if the address is in the mapping.

mapping (address=>bool) addr_mapping;

function transferToken(address sender, address receiver) public{
    require(addr_mapping[sender] == true, "Sender not in mapping");
    require(addr_mapping[receiver] == true, "Receiver not in mapping");
    ...
}

function addToMapping(address addr) onlyOwner {
    ...
}

PS. Not sure if the boolean comparison is possible, but you can create your own flag.

riverwastaken
  • 285
  • 6
  • 19