我正在对链上的参数进行编码,以传递到新的OZ信标代理实例。为了进行验证,我需要通过ethers.js对相同的参数进行编码。
稳固功能:
abi.encodeWithSignature(string memory signature, ...) returns (bytes memory)和我尝试过的醚函数,但是返回一个不想要的结果(更长,不以函数选择器开头)。
const abiCoder = ethers.utils.defaultAbiCoder;
const encoded = abiCoder.encode(...发布于 2021-10-10 16:21:20
ethers.js v5就是这样做的:
let ABI = [signature];
let iface = new ethers.utils.Interface(ABI);
iface.encodeFunctionData(functionName, [param1, param2, ...]);请注意,signature需要采用function functionName(type1 param1, type2 param2, ...)格式。
https://ethereum.stackexchange.com/questions/111343
复制相似问题