Skip to main content
import * as BlockFilter from 'voltaire-effect/primitives/BlockFilter'
import * as FilterId from 'voltaire-effect/primitives/FilterId'
import * as Schema from 'effect/Schema'
import { Effect } from 'effect'

// Schema validation
const filter = Schema.decodeSync(BlockFilter.JSON)(filterData)
// { filterId: string, type: 'block' }

// Effect constructor
const program = Effect.gen(function* () {
  const filterId = yield* FilterId.from('0x1')
  return yield* BlockFilter.from(filterId)
})