怎么修改msg.sender的值?

瓜子儿 瓜子儿 提出于 2022-04-07 00:33 5676 浏览

假设本来是钱包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 的地址。

Tiny熊

擅长:智能合约,以太坊 · 采纳率 33% · 回答于 2022-04-07 08:37

其它 3 个回答

xiaoyuwan 2022-04-07 01:34
阴间秀才 2022-04-08 17:15

写回答

你需要登录后才可以回答问题,登录