我正在寻找苏轼硬帽子编译输出。具体来说,是UniswapV2Router02输出。
UniswapV2Router02路由器是指UniswapV2Library。但是,在生成的编译伪文件中没有对此库的链接引用:
"bytecode": "0x60c06...",
"deployedBytecode": "0x60806...",
"linkReferences": {},
"deployedLinkReferences": {}字节码中也没有符号引用。
在部署合同时,solc / Hardhat是如何知道如何“链接”UniswapV2Library的?是否存在UniswapV2Library库的确定性地址?图书馆有内线吗?库契约是否需要单独部署,还是在某些草帽步骤中自动完成?
发布于 2022-02-01 04:49:22
这是solc的责任。UniswapV2Library中的所有函数都被标记为内部函数,因此它们在调用它们的合同中被内联。
类似的事情发生在SafeMath上,内部函数是内联的。唯一需要链接的功能是外部的或公共的。
https://ethereum.stackexchange.com/questions/120344
复制相似问题