Как мне изменить поведение конкретных оплачиваемых вызовов функций с помощью моего токена в Solidity?

#solidity #cryptocurrency #erc20

#solidity #криптовалюта #erc20

Вопрос:

Допустим, я хочу сделать так, чтобы определенные кошельки никогда не могли получить мой токен, или, может быть, чтобы взаимодействия с определенным, известным вредоносным контрактом или неработающие функции в другом рабочем контракте в цепочке всегда возвращались. Как мне это сделать?

В моем конкретном случае я хотел бы сделать так, чтобы в течение определенного периода после развертывания, но до жестко заданной временной метки unix, люди могли добавлять или удалять ликвидность в пул uniswap, но никаких обменов не могло произойти, так что цена остается постоянной, пока все добавляют ликвидность, пока не пройдет отметка времени, и тогда могут произойти обмены, и чтобы все они могли безопасно удалить свою ликвидность из пула, если что-то пойдет не так, до того, как временная метка пройдет без непостоянная потеря.

Ответ №1:

Для функциональности «черного списка» вы могли бы поддерживать сопоставление, содержащее учетные записи, внесенные в черный список. Затем всякий раз, когда происходит передача вашего токена, вы можете require , чтобы адрес не был в черном списке, в противном случае передача возвращается. Вы также можете добавить функцию для «удаления из черного списка» учетной записи, если пожелаете.

Что касается второго пункта — мне любопытно, как вы определяете «цену» своего токена, если обмены невозможны, и что побуждает кого-либо добавлять ликвидность в соответствии с этим соглашением?

Комментарии:

1. Предполагая, что я развертываю токен, и я являюсь единственным владельцем, я могу добавить токен в uniswap с определенным соотношением токен: ETH изначально любой, кто добавляет ликвидность перед покупкой и продажей, должен добавить в том же соотношении или по той же цене.