When implementing #42, we figured that ABI-encoding of inline arrays is not properly working for following cases:
Inline array type strings are computed to a tuples. This is done by solc-typed-ast here: https://github.com/Consensys/solc-typed-ast/blob/68aa8cacfef4e3de66764a136258d8fbf5c6e559/src/types/infer.ts#L2418-L2432. For those tuples web3's encodePacked() resulting empty byte array. We better clarify why type inference produce this, as it seems to be intentional.
Literals with type strings are emitted by CFGBuilder.getAbiTypeStringConst() and used in ExpressionCompiler.prepEncodeArgs().
When implementing #42, we figured that ABI-encoding of inline arrays is not properly working for following cases:
Inline array type strings are computed to a tuples. This is done by solc-typed-ast here: https://github.com/Consensys/solc-typed-ast/blob/68aa8cacfef4e3de66764a136258d8fbf5c6e559/src/types/infer.ts#L2418-L2432. For those tuples web3's
encodePacked()resulting empty byte array. We better clarify why type inference produce this, as it seems to be intentional.Literals with type strings are emitted by
CFGBuilder.getAbiTypeStringConst()and used inExpressionCompiler.prepEncodeArgs().