- Maintain mints/burns/initializes/factories/swaps on all required chains
- Creates helpers for reading Uniswap v3 data
- Implements Optimism OVM1 -> EVM migration seemlessly
- Allows swap simulating
- Creates liquidity distributions
- Historical price helpers
Pull and then read all ETH/USDC swaps on Arbitrum
address = '0xc31e54c7a869b9fcbecc14363cf510d1c41fa443'
arb = state.v3Pool(address, 'arbitrum', update = True)
swaps = arb.getSwaps
Working off the previous example, get the price of the arbitrum pool every 15 minutes
priceArb = arb.getPriceSeries(starting, frequency = '15m', gas = True)
Calculate the output a 1 ETH swap at block 150000000
calldata = {'as_of': 150000000,
'tokenIn': '0x82aF49447D8a07e3bd95BD0d56f35241523fBab1',
'swapIn': 1e18}
amt, _ = arb.swapIn(calldata)