10 怎么修改msg.sender的值?

假设本来是钱包A和合约C进行交互,比如deposit withdraw之类的资金操作,msg.sender是钱包地址A。现在我想把钱包A与C交互的参数打包,由B合约通过abi发送给C,但是C里面lp之类的存储变量要用到msg.sender,这里是B合约地址。而B合约本身没有资金往来(只有授权),我想msg.sender依然是A地址,请问这有办法实现吗?

请先 登录 后评论

最佳答案 2022-04-07 08:37

msg.sender 是调用者地址, 这个是没法修改的。

要修改不是msg.sender, 而是实现的思路, 你可以使用 tx.origin 或者 使用 A 提交签名后的信息, 让 B 提交给 C , 这样 C 都可以获得 A 的地址。

请先 登录 后评论

其它 3 个回答

xiaoyuwan
请先 登录 后评论
yekong - 学生
请先 登录 后评论
阴间秀才
请先 登录 后评论
  • 4 关注
  • 0 收藏,3538 浏览
  • 瓜子儿 提出于 2022-04-07 00:33