Not sure where is the issue in the value generation, but Medusa should immediately be able to solve this example (tested with 612469e):
contract A {
mapping (address => mapping (address => bool)) allowance;
function bulkChangeAllowance(address[][2] memory x) public {
for(uint i = 0; i < x.length; i++) {
address add1 = x[i][0];
address add2 = x[i][1];
allowance[add1][add2] = true;
}
}
function echidna_test() public returns(bool) {
return !allowance[msg.sender][msg.sender];
}
}
Analyzing contract: /home/g/Code/echidna/nested.sol:A
echidna_test: failed!๐ฅ
Call sequence, shrinking (3861/5000):
bulkChangeAllowance([[0x0, 0x0], [0x10000, 0x10000]])