我正在尝试制作一个具有X令牌(ERC20)的智能合约,当有人将其另一个Y ERC20令牌发送到我的合同时,我的合同应该首先识别发送的令牌,然后使用Chainlink从Coin Market获取数据盖上,然后将我的X令牌发送到他的钱包。我应该如何更改TransferFrom函数?
我已经尝试编辑该功能,但是我需要确定他们发送了什么令牌。然后使用它通过Coin Market Cap API查询ChainLink,输入我的转化率逻辑,然后发送令牌。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;
}