solidity/test/libsolidity/smtCheckerTests/abi/abi_encode_call_simple.sol

27 lines
1.2 KiB
Solidity
Raw Normal View History

2021-11-11 15:21:23 +00:00
contract C {
function callMeMaybe(uint a, uint b, uint[] memory c) external {}
function abiEncodeSimple(uint x, uint y, uint z, uint[] memory a, uint[] memory b) public view {
require(x == y);
bytes memory b1 = abi.encodeCall(this.callMeMaybe, (x, z, a));
bytes memory b2 = abi.encodeCall(this.callMeMaybe, (y, z, a));
assert(b1.length == b2.length);
bytes memory b3 = abi.encodeCall(this.callMeMaybe, (y, z, b));
assert(b1.length == b3.length); // should fail
}
}
// ====
// SMTEngine: all
// SMTIgnoreCex: yes
// ----
// Warning 6031: (233-249): Internal error: Expression undefined for SMT solver.
// Warning 6031: (298-314): Internal error: Expression undefined for SMT solver.
// Warning 6031: (398-414): Internal error: Expression undefined for SMT solver.
// Warning 1218: (330-360): CHC: Error trying to invoke SMT solver.
// Warning 1218: (430-460): CHC: Error trying to invoke SMT solver.
// Warning 6328: (330-360): CHC: Assertion violation might happen here.
// Warning 6328: (430-460): CHC: Assertion violation might happen here.
// Warning 4661: (330-360): BMC: Assertion violation happens here.
// Warning 4661: (430-460): BMC: Assertion violation happens here.