我创建了一个函数,其中我的一个合约实例化了另一个合约,它突然将整个合约推到了大小限制之上。这是功能:
function createContract(E.BKLiteMeta memory meta)
public
payable
returns(address)
{
require(meta.publisherAddress == msg.sender, "only pub");
return(address(new BKopyLite(meta)));
}
Hardhatsize-contracts
报告合约的大小为 24.02。当我将功能更改为:
function createContract(E.BKLiteMeta memory meta)
public
payable
returns(address)
{
require(meta.publisherAddress == msg.sender, "only pub");
return(address(0);
}
`size-contracts' 报告大小为 4.68。那么通过调用 new 大约增加了 20K 的大小?有人可以解释并建议解决方法吗?(BKopyLite合约的合约规模约为17k)