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