Ethereum SOLIDATY中的委托调用-代理模式
我正在用代理设计模式编写可升级的智能合约。在这里,当我从代理契约向逻辑契约方法进行委托调用时,我面临一个挑战,它向我抛出一条错误消息,如下所示。 我想知道我做错了什么 下面的代码是代理合约中的方法调用Ethereum SOLIDATY中的委托调用-代理模式,ethereum,solidity,smartcontracts,Ethereum,Solidity,Smartcontracts,我正在用代理设计模式编写可升级的智能合约。在这里,当我从代理契约向逻辑契约方法进行委托调用时,我面临一个挑战,它向我抛出一条错误消息,如下所示。 我想知道我做错了什么 下面的代码是代理合约中的方法调用 /*Delegates calls to the Logic contract*/ function setAccepted() public returns(Status){ emit setToAccept(status,now,msg.sender);
/*Delegates calls to the Logic contract*/
function setAccepted() public returns(Status){
emit setToAccept(status,now,msg.sender);
bool success;
bytes memory result;
(success,result) = delegateContract.delegatecall(abi.encodePacked(bytes4(keccak256("setAccepted()"))));
require(success);
status = abi.decode(result, (Status));
return status;
}
逻辑合同代码如下
function setAccepted() public _WhenNoPaused returns(Status){
return Status.Accepted;
}
请提供源代码并指定您使用的函数call@StillFantasy-我已经在上面分享了我的源代码。