Jas*_*ran 1 encode solidity ethers.js
我正在使用 Ether.js 测试我的 Solidity 代码,并且被测试的方法需要一个bytes
参数,我用它来传递地址数组:
function testFunction(bytes calldata params) external {
address[] memory addresses = abi.decode(params, (address[]));
}
Run Code Online (Sandbox Code Playgroud)
如何在 Ethers.js 中对地址数组进行编码,以便可以将其作为参数传递?
您可以使用AbiCoder.encode(types, value)。要对地址数组进行编码,您可以这样做:
const abi = ethers.utils.defaultAbiCoder;
const params = abi.encode(
["address[]"], // encode as address array
[ [addresses.tokens.weth, addresses.tokens.wbtc] ]); // array to encode
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
10602 次 |
最近记录: |