1234567891011121314151617181920212223242526272829303132333435363738 |
- import { Resolver, ObjectType, Field, Subscription, Root } from 'type-graphql'
- import { TOPICS } from './pubsub'
- @ObjectType()
- export class ProcessorState {
- @Field()
- lastCompleteBlock!: number
- @Field()
- lastProcessedEvent!: string
- @Field()
- indexerHead!: number
- @Field()
- chainHead!: number
- }
- @Resolver()
- export class ProcessorStateResolver {
- @Subscription({ topics: TOPICS.processorState })
- stateSubscription(
- @Root()
- state: {
- lastScannedBlock?: number
- lastProcessedEvent?: string
- indexerHead?: number
- chainHead?: number
- }
- ): ProcessorState {
- return {
- lastCompleteBlock: state.lastScannedBlock || -1,
- lastProcessedEvent: state.lastProcessedEvent || 'NO_EVENTS',
- indexerHead: state.indexerHead || -1,
- chainHead: state.chainHead || -1,
- }
- }
- }
|