Encoding return structs
core#909 improves return type encoding by allowing to pass the return struct directly into SolCall::abi_encode_returns
.
Consider the following:
sol! {
function something() returns (uint256, address);
}
Before
A tuple would need to passed of the fields from return type, somethingReturn
let encoding = somethingCall::abi_encode_returns(&(somethingReturn._0, somethingReturn._1));
After
One can now pass the return struct directly without deconstructing it as a tuple.
let encoding = somethingCall::abi_encode_returns(&somethingReturn);