Let’s take four contracts:
Foo is the master contract, having a reference to all other contracts.
Bar is just a storage device, containing some state.
Qux are subordinate to
Foo in the sense that they let it modify their storage.
Now, suppose that
Foo has some logic dependent on some state in
Bar. Depending on the value of the said state,
Foo might modify either
If a user interacts with
Foo, how are the access lists generated by the wallet?
Will the wallet include both
Qux in the write-create access lists? Or only one of them, depending upon the state in
But if only one of them is included (say
Baz), doesn’t this mean that the tx will fail if, prior to the user’s tx, another tx gets submitted that modifies the state of
Bar so that
Foo will touch
Qux instead of