有一个library合约
interface Market {
struct Item {
address xxx;
bytes xxx;
}
struct Order {
uint256 xxx;
address xxx;
Item[] xxx;
}
}
library LIB {
function buy(Market.Order memory order, uint amount) public {
xxx
}
在library中编译好的selector是:
"buy(Market.Order,uint)":"217dbe21"
同样的buy方法如果是在contract中selecotor是:
"buy((uint256,address,(address,bytes)[]),uint256)": "51a8405c"
且只有contract编译好的json文件中有abi,期间尝试过使用contract的abi编译后替换前4位的selector,但是调用仍不成功。所以library中参数为结构体的方法应该如何编码调用data。