I get a huge error message (~1MB) starting with
Error: invalid address (arg="_readAccess", coderType="address", value={"constructor":{"contractName":"SenderAccess","abi":[...
when executing a test written in TypeScript:
it("should be possible to create such an option", async () => {
const accessControl = await SenderAccess.new(); // OK
const validator = await NumberRangeValidation.new(1, 5); // OK
// This will crash
const option = await NumberConfigOptionDefinition.new('foo.bar.baz', accessControl, accessControl, validator);
});
The contract looks like this:
contract NumberConfigOptionDefinition is ConfigOptionDefinition {
NumberValidation public validator;
constructor(string memory _name, AccessControl _readAccess, AccessControl _writeAccess, NumberValidation _validator)
ConfigOptionDefinition(_name, _readAccess, _writeAccess) public {
validator = _validator;
}
}
contract ConfigOptionDefinition {
... fields ...
constructor(string memory _name, AccessControl _readAccess, AccessControl _writeAccess) internal {
name = _name;
readAccess = _readAccess;
writeAccess = _writeAccess;
}
What did I do wrong?
accessControl
variable?