import { ethers } from 'ethers'
import uma from '@uma/sdk'
// assume you have a url injected from env
const provider = new ethers.providers.WebSocketProvider(process.env.CUSTOM_NODE_URL)
// get the contract instance
const contractAddress:string = "0xc43767f4592df265b4a9f1a398b97ff24f38c6a6" // update with optimistic oracle address you want to connect to
const client:uma.clients.optimisticOracle.Instance = uma.clients.optimisticOracle.connect(contractAddress, provider)
// gets all events using ethers query filter api
async function events() {
const events = await client.queryFilter({})
// returns EventState, defined in the optimistic oracle client
const state:uma.clients.optimisticOracle.EventState = uma.clients.optimisticOracle.getEventState(events)
// see all requests given even details
console.log(state.requests)