Я пытаюсь создать умный контракт с X-токенами (ERC20), и когда кто-то отправляет другой токен Y ERC20 в мой контракт, мой контракт должен сначала идентифицировать отправленный токен, а затем с помощью Chainlink получить данные из Coin Market Кэп, и соответственно отправьте мои жетоны Х на свой кошелек. Как мне изменить мою функцию TransferFrom?
Я уже пытался отредактировать функцию, но мне нужно определить, какой токен они отправили. Затем используйте его, чтобы запросить ChainLink с помощью Coin Market Cap API, добавить мою логику коэффициента конверсии и затем отправить tokens.x
function transferFrom(address from, address to, uint tokens) public returns (bool success) {
balances[from] = safeSub(balances[from], tokens);//In place of Require function -SafeSub
allowed[from][msg.sender] = safeSub(allowed[from][msg.sender], tokens);
balances[to] = safeAdd(balances[to], tokens);//In place of Require function -SafeAdd
emit Transfer(from, to, tokens);
return true;
}