The resolve function should always resolve correctly as it iterates over all machines until everything is resolved (or we have done machines * 2 iterations). In practice it has worked – not sure if theoretically certain! It is certainly not super gas efficent, but might be the most efficient way... @agnescameron worked out the fundamental algorithm for this so she might have more insight.
Agreed on the flow rate amount. Changed this, and will use in tests too.
Agreed on storage. Clashes with stuff in the frontend as well. Will figure out another name. Maybe "Depot" or "Stash".
LibNetwork.resolve
fills inputs in the same cycle as it uses them; if the machines are unordered and inputs come last is everything just skipped?LibNetwork
move hardcodedamount: 100
to a constant (and use it in tests too)Storage
name is a bit confusing, it clashes with solidity's term of storage, especially inLibStorage
I expected different stuff