首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何正确地使用调用(或委托)

如何正确地使用调用(或委托)
EN

Stack Overflow用户
提问于 2021-05-02 17:00:47
回答 1查看 1.6K关注 0票数 0

我试着用这个方法:

代码语言:javascript
运行
复制
function test(uint amount) public {
        address(0xf5eA38B6b9644224dA1aECbC1219e8543c0689b2).call(abi.encodeWithSignature("deposit(uint)",amount));
    }

但是事务会被恢复,这是因为金额没有以某种方式被散列,而且我真的不知道怎么做,我应该对金额做些什么?这些交易是:

-the失败一次使用方法:https://bscscan.com/tx/0x7fdd50cee23295ea866baa8961a2105c58162e77125df852a4fc5bf0fad2f507

这是输入的数据:

功能: test(uint256 tAmount) *

0000000000000000000000000000000000000000000000000000000000000001 : MethodID: 0x29e99f07:

-the成功--直接从站点调用契约,而不是在另一个智能契约内使用调用:https://bscscan.com/tx/0xfd4158766f25761fa5dddb0683c677085a04ea6db05e03794be375a8243d7128

这是输入的数据:

职能:交存(Uint256 _amount) *

000000000000000000000000000000000000000000000000005427aedb41a400 : MethodID: 0xb6b55f25:

我需要以某种方式计算金额吗?

EN

回答 1

Stack Overflow用户

发布于 2021-05-02 18:23:25

目标契约将uint定义为参数类型,但它只是别名uint256。ABI编码方法不会自动转换别名,因此您需要在代码中更改它。

代码语言:javascript
运行
复制
// `uint256` instead of `uint`
abi.encodeWithSignature("deposit(uint256)",amount)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67358997

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档