I have a token and crowdfund that works fine, except in tests. I can use all the methods, but I get invalid opcode on any of them that have a call to another contract that has a modifier on that function.
For instance, if I have ContractA
, ContractB
, and ContractC
, and I call ContractA
from addressA
, and ContractA
has a modifier to only accept calls from addressA
, and all the functions on ContractA
call out to ContractB
and the functions on ContractB
all have modifiers to only accept calls from ContractA
.
This works great in practice, breaks when I run my tests. If I remove the modifiers, the tests run. Is this a known bug? I can confirm the modifiers all use msg.sender
- perhaps testrpc isn't forwarding this correctly?