如何在调用契约函数前签入代码(在实心端或/和Web3端),该函数是否为应付函数?
例如,我今天在token EURS中找到了这个
function transfer (address _to, uint256 _value)
public payable returns (bool success);这不是使erc20转账功能为应付的标准!如果用户使用EURS令牌,这不是在我的应用程序中制造错误的标准逻辑。
这是标准的
function transfer(address to, uint tokens) public returns (bool
success);所以我需要,或者覆盖这不是我的应用合同端的标准传输,或者在最坏的情况下在前端端禁止这样的令牌。
发布于 2019-05-01 18:26:08
在一行中回答您的问题:
任何标记为payable的函数都可以被视为接收ethers。
function testPayable() external payable {...}
上面的函数是可支付的,因此可以接收。
但毫无疑问,payable关键字仅用于接收Ethers,而不是ERC20令牌。
因此,在你的例子中,我可以看到传递函数被标记为payable,如果它是ERC20令牌,则不应该是这种情况。
我觉得有点可疑,你觉得呢?
发布于 2019-05-06 03:40:16
一言以蔽之:在不知道abi /接口的情况下,无法从外部或内部检查函数是否应支付。
什么是应付的?
在可靠性方面,
https://stackoverflow.com/questions/55930963
复制相似问题