simplepool
layers in EVM. Its netlist is at assets/netlists/simplepool/netlist.py
The netlist is a single file, which defines everything needed: SimStrategy
, SimState
, etc.
The netlist's SimState
creates a PublisherAgent
instance, which during the simulation run creates PoolAgent
objects.
Each PoolAgent
holds a full-fidelity EVM Balancer as follows:
- At the top level, each
PoolAgent
Python object (an agent) holds a pool.BPool Python object (a driver to the lower level). - One level lower, each
pool.BPool
Python object (a driver) points to a BPool.sol contract deployment in Ganache EVM (actual contract).
You can view pool.BPool
as a middleware driver to the contract deployed to EVM. Like all drivers, is in the web3engine/ directory
.