Copy
Ask AI
import * as ProtocolVersion from 'voltaire-effect/primitives/ProtocolVersion'
import * as Schema from 'effect/Schema'
import { Effect } from 'effect'
// Schema validation
const version = Schema.decodeSync(ProtocolVersion.String)('eth/67')
// Effect constructor
const program = ProtocolVersion.from('eth/67')
Effect.runSync(program)
// Version negotiation
const negotiate = (versions: string[]) =>
Effect.forEach(versions, (v) => ProtocolVersion.from(v))
Error Handling
Copy
Ask AI
const result = await Effect.runPromiseExit(ProtocolVersion.from('invalid'))
// result._tag === 'Failure' → ProtocolVersionError

