用户->合同A ->合同B
现在,当我以用户身份执行从合同A到合同B的函数时,它将作为合同A执行,有任何方法从合同B作为用户执行函数吗?
contractAImplementationofB.somefunction(various inputs);我能不能喜欢
tx.origin.contractAImplementationofB.somefunction(various inputs);或者说,是否有某种版本的这在坚实?
发布于 2021-08-01 16:55:59
不,你不能以这样的方式欺骗发送者。合同中唯一的选项是msg.sender和tx.origin,但要由合同代码来决定要使用哪个选项。
这主要是一个安全问题,因此事务的前一个发送方(中继层)始终是已知的。如果msg.sender被改变的话,很多合同都会破裂。
https://ethereum.stackexchange.com/questions/106446
复制相似问题