Skip to main content
The Boost V2 Docs are under active development and will be subject to changes.

getLogs Reference

See technical documentation for Contract.getLogs

subscribe Reference

See technical documentation for Contract.subscribe
Any accessible Contract exposed by the SDK exposes 2 public methods to help retrieve typed event information.
getLogsExample.ts
import { BoostCore, BoostCoreLog } from '@boostxyz/sdk'

// instantiate a protocol contract
const core = new BoostCore({ config })

// you can import typed log types for your own utility
const anyLogs: BoostCoreLog[]
const boostCreatedLogs: BoostCoreLog<'BoostCreated'>[]

boostCreatedLogs = await core.getLogs({
  // If you provide a specific event name, the returned log type will have typesafe values
  eventName: 'BoostCreated'
  // you can also pass an array of event names
  eventNames: ['BoostCreated'],
  // you can pass any parameters you would give to https://viem.sh/docs/actions/public/getLogs#getlogs
  fromBlock: 16330000n,
  toBlock: 16330050n
})
subscribeExample.ts
import { BoostCore, BoostCoreLog } from '@boostxyz/sdk'

// instantiate a protocol contract
const core = new BoostCore({ config })

// you can import typed log types for your own utility
const anyLogs: BoostCoreLog[]
const boostCreatedLogs: BoostCoreLog<'BoostCreated'>[]

// if you provide an eventName to listen to, you don't need to explicitly type the callback, this is just a reference
const unsubscribe = core.subscribe(
  (log: BoostCoreLog<'BoostCreated'>) => {
    boostCreatedLogs.push(log)
  },
  {
    eventName: 'BoostCreated',
    // you can pass any parameters you would give to https://wagmi.sh/core/api/actions/watchContractEvent#watchcontractevent
    batch: true,
    chainId: 31337,
    onError: (e: Error) => {},
    poll: false,
    pollingInterval: 1000,
    strict: true,
    syncConnectedChain: false,
  }
)

// call unsubscribe to clean up your listener
unsubscribe()