|
@@ -1,8 +1,7 @@
|
|
/*
|
|
/*
|
|
eslint-disable @typescript-eslint/naming-convention
|
|
eslint-disable @typescript-eslint/naming-convention
|
|
*/
|
|
*/
|
|
-import { SubstrateEvent } from '@dzlzv/hydra-common'
|
|
|
|
-import { DatabaseManager } from '@dzlzv/hydra-db-utils'
|
|
|
|
|
|
+import { SubstrateEvent, DatabaseManager } from '@dzlzv/hydra-common'
|
|
import { StorageWorkingGroup as WorkingGroups } from './generated/types'
|
|
import { StorageWorkingGroup as WorkingGroups } from './generated/types'
|
|
import {
|
|
import {
|
|
ApplicationMetadata,
|
|
ApplicationMetadata,
|
|
@@ -16,7 +15,7 @@ import {
|
|
WorkingGroupMetadataAction,
|
|
WorkingGroupMetadataAction,
|
|
} from '@joystream/metadata-protobuf'
|
|
} from '@joystream/metadata-protobuf'
|
|
import { Bytes } from '@polkadot/types'
|
|
import { Bytes } from '@polkadot/types'
|
|
-import { createEvent, deserializeMetadata, getOrCreateBlock, bytesToString } from './common'
|
|
|
|
|
|
+import { deserializeMetadata, bytesToString, genericEventFields } from './common'
|
|
import BN from 'bn.js'
|
|
import BN from 'bn.js'
|
|
import {
|
|
import {
|
|
WorkingGroupOpening,
|
|
WorkingGroupOpening,
|
|
@@ -27,7 +26,6 @@ import {
|
|
ApplicationFormQuestionType,
|
|
ApplicationFormQuestionType,
|
|
OpeningStatusOpen,
|
|
OpeningStatusOpen,
|
|
WorkingGroupOpeningType,
|
|
WorkingGroupOpeningType,
|
|
- EventType,
|
|
|
|
WorkingGroupApplication,
|
|
WorkingGroupApplication,
|
|
ApplicationFormQuestionAnswer,
|
|
ApplicationFormQuestionAnswer,
|
|
AppliedOnOpeningEvent,
|
|
AppliedOnOpeningEvent,
|
|
@@ -75,7 +73,6 @@ import {
|
|
Event,
|
|
Event,
|
|
} from 'query-node/dist/model'
|
|
} from 'query-node/dist/model'
|
|
import { createType } from '@joystream/types'
|
|
import { createType } from '@joystream/types'
|
|
-import _ from 'lodash'
|
|
|
|
|
|
|
|
// Reusable functions
|
|
// Reusable functions
|
|
async function getWorkingGroup(
|
|
async function getWorkingGroup(
|
|
@@ -165,7 +162,7 @@ async function createOpeningMeta(
|
|
metadata = originalMeta
|
|
metadata = originalMeta
|
|
originallyValid = true
|
|
originallyValid = true
|
|
}
|
|
}
|
|
- const eventTime = new Date(event_.blockTimestamp.toNumber())
|
|
|
|
|
|
+ const eventTime = new Date(event_.blockTimestamp)
|
|
|
|
|
|
const {
|
|
const {
|
|
applicationFormQuestions,
|
|
applicationFormQuestions,
|
|
@@ -243,7 +240,7 @@ async function handleAddUpcomingOpeningAction(
|
|
): Promise<UpcomingOpeningAdded | InvalidActionMetadata> {
|
|
): Promise<UpcomingOpeningAdded | InvalidActionMetadata> {
|
|
const upcomingOpeningMeta = action.metadata || {}
|
|
const upcomingOpeningMeta = action.metadata || {}
|
|
const group = await getWorkingGroup(db, event_)
|
|
const group = await getWorkingGroup(db, event_)
|
|
- const eventTime = new Date(event_.blockTimestamp.toNumber())
|
|
|
|
|
|
+ const eventTime = new Date(event_.blockTimestamp)
|
|
const openingMeta = await createOpeningMeta(db, event_, upcomingOpeningMeta.metadata || {})
|
|
const openingMeta = await createOpeningMeta(db, event_, upcomingOpeningMeta.metadata || {})
|
|
const { rewardPerBlock, expectedStart, minApplicationStake } = upcomingOpeningMeta
|
|
const { rewardPerBlock, expectedStart, minApplicationStake } = upcomingOpeningMeta
|
|
const upcomingOpening = new UpcomingWorkingGroupOpening({
|
|
const upcomingOpening = new UpcomingWorkingGroupOpening({
|
|
@@ -255,7 +252,6 @@ async function handleAddUpcomingOpeningAction(
|
|
expectedStart: expectedStart ? new Date(expectedStart) : undefined,
|
|
expectedStart: expectedStart ? new Date(expectedStart) : undefined,
|
|
stakeAmount: minApplicationStake?.toNumber() ? new BN(minApplicationStake.toString()) : undefined,
|
|
stakeAmount: minApplicationStake?.toNumber() ? new BN(minApplicationStake.toString()) : undefined,
|
|
createdInEvent: statusChangedEvent,
|
|
createdInEvent: statusChangedEvent,
|
|
- createdAtBlock: await getOrCreateBlock(db, event_),
|
|
|
|
})
|
|
})
|
|
await db.save<UpcomingWorkingGroupOpening>(upcomingOpening)
|
|
await db.save<UpcomingWorkingGroupOpening>(upcomingOpening)
|
|
|
|
|
|
@@ -294,14 +290,13 @@ async function handleSetWorkingGroupMetadataAction(
|
|
const { newMetadata } = action
|
|
const { newMetadata } = action
|
|
const group = await getWorkingGroup(db, event_, ['metadata'])
|
|
const group = await getWorkingGroup(db, event_, ['metadata'])
|
|
const oldMetadata = group.metadata
|
|
const oldMetadata = group.metadata
|
|
- const eventTime = new Date(event_.blockTimestamp.toNumber())
|
|
|
|
|
|
+ const eventTime = new Date(event_.blockTimestamp)
|
|
const setNewOptionalString = (field: keyof IWorkingGroupMetadata) =>
|
|
const setNewOptionalString = (field: keyof IWorkingGroupMetadata) =>
|
|
typeof newMetadata?.[field] === 'string' ? newMetadata[field] || undefined : oldMetadata?.[field]
|
|
typeof newMetadata?.[field] === 'string' ? newMetadata[field] || undefined : oldMetadata?.[field]
|
|
|
|
|
|
const newGroupMetadata = new WorkingGroupMetadata({
|
|
const newGroupMetadata = new WorkingGroupMetadata({
|
|
createdAt: eventTime,
|
|
createdAt: eventTime,
|
|
updatedAt: eventTime,
|
|
updatedAt: eventTime,
|
|
- setAtBlock: await getOrCreateBlock(db, event_),
|
|
|
|
setInEvent: statusChangedEvent,
|
|
setInEvent: statusChangedEvent,
|
|
group,
|
|
group,
|
|
status: setNewOptionalString('status'),
|
|
status: setNewOptionalString('status'),
|
|
@@ -341,20 +336,16 @@ async function handleWorkingGroupMetadataAction(
|
|
}
|
|
}
|
|
|
|
|
|
async function handleTerminatedWorker(db: DatabaseManager, event_: SubstrateEvent): Promise<void> {
|
|
async function handleTerminatedWorker(db: DatabaseManager, event_: SubstrateEvent): Promise<void> {
|
|
- event_.blockTimestamp = new BN(event_.blockTimestamp) // FIXME: Temporary fix for wrong blockTimestamp type
|
|
|
|
- const { workerId, balance: optPenalty, optBytes: optRationale } = new WorkingGroups.TerminatedWorkerEvent(event_).data
|
|
|
|
|
|
+ const [workerId, optPenalty, optRationale] = new WorkingGroups.TerminatedWorkerEvent(event_).params
|
|
const group = await getWorkingGroup(db, event_)
|
|
const group = await getWorkingGroup(db, event_)
|
|
const worker = await getWorker(db, `${group.name}-${workerId.toString()}`)
|
|
const worker = await getWorker(db, `${group.name}-${workerId.toString()}`)
|
|
- const eventTime = new Date(event_.blockTimestamp.toNumber())
|
|
|
|
|
|
+ const eventTime = new Date(event_.blockTimestamp)
|
|
|
|
|
|
const EventConstructor = worker.isLead ? TerminatedLeaderEvent : TerminatedWorkerEvent
|
|
const EventConstructor = worker.isLead ? TerminatedLeaderEvent : TerminatedWorkerEvent
|
|
- const eventType = worker.isLead ? EventType.TerminatedLeader : EventType.TerminatedWorker
|
|
|
|
|
|
|
|
const terminatedEvent = new EventConstructor({
|
|
const terminatedEvent = new EventConstructor({
|
|
- createdAt: eventTime,
|
|
|
|
- updatedAt: eventTime,
|
|
|
|
|
|
+ ...genericEventFields(event_),
|
|
group,
|
|
group,
|
|
- event: await createEvent(db, event_, eventType),
|
|
|
|
worker,
|
|
worker,
|
|
penalty: optPenalty.unwrapOr(undefined),
|
|
penalty: optPenalty.unwrapOr(undefined),
|
|
rationale: optRationale.isSome ? bytesToString(optRationale.unwrap()) : undefined,
|
|
rationale: optRationale.isSome ? bytesToString(optRationale.unwrap()) : undefined,
|
|
@@ -373,8 +364,7 @@ async function handleTerminatedWorker(db: DatabaseManager, event_: SubstrateEven
|
|
}
|
|
}
|
|
|
|
|
|
export async function findLeaderSetEventByTxHash(db: DatabaseManager, txHash?: string): Promise<LeaderSetEvent> {
|
|
export async function findLeaderSetEventByTxHash(db: DatabaseManager, txHash?: string): Promise<LeaderSetEvent> {
|
|
- const event = await db.get(Event, { where: { inExtrinsic: txHash } })
|
|
|
|
- const leaderSetEvent = await db.get(LeaderSetEvent, { where: { event }, relations: ['event'] })
|
|
|
|
|
|
+ const leaderSetEvent = await db.get(LeaderSetEvent, { where: { inExtrinsic: txHash } })
|
|
|
|
|
|
if (!leaderSetEvent) {
|
|
if (!leaderSetEvent) {
|
|
throw new Error(`LeaderSet event not found by tx hash: ${txHash}`)
|
|
throw new Error(`LeaderSet event not found by tx hash: ${txHash}`)
|
|
@@ -385,26 +375,24 @@ export async function findLeaderSetEventByTxHash(db: DatabaseManager, txHash?: s
|
|
|
|
|
|
// Mapping functions
|
|
// Mapping functions
|
|
export async function workingGroups_OpeningAdded(db: DatabaseManager, event_: SubstrateEvent): Promise<void> {
|
|
export async function workingGroups_OpeningAdded(db: DatabaseManager, event_: SubstrateEvent): Promise<void> {
|
|
- event_.blockTimestamp = new BN(event_.blockTimestamp) // FIXME: Temporary fix for wrong blockTimestamp type
|
|
|
|
- const {
|
|
|
|
- balance: rewardPerBlock,
|
|
|
|
- bytes: metadataBytes,
|
|
|
|
- openingId: openingRuntimeId,
|
|
|
|
|
|
+ const [
|
|
|
|
+ openingRuntimeId,
|
|
|
|
+ metadataBytes,
|
|
openingType,
|
|
openingType,
|
|
stakePolicy,
|
|
stakePolicy,
|
|
- } = new WorkingGroups.OpeningAddedEvent(event_).data
|
|
|
|
|
|
+ optRewardPerBlock,
|
|
|
|
+ ] = new WorkingGroups.OpeningAddedEvent(event_).params
|
|
const group = await getWorkingGroup(db, event_)
|
|
const group = await getWorkingGroup(db, event_)
|
|
- const eventTime = new Date(event_.blockTimestamp.toNumber())
|
|
|
|
|
|
+ const eventTime = new Date(event_.blockTimestamp)
|
|
|
|
|
|
const opening = new WorkingGroupOpening({
|
|
const opening = new WorkingGroupOpening({
|
|
createdAt: eventTime,
|
|
createdAt: eventTime,
|
|
updatedAt: eventTime,
|
|
updatedAt: eventTime,
|
|
- createdAtBlock: await getOrCreateBlock(db, event_),
|
|
|
|
id: `${group.name}-${openingRuntimeId.toString()}`,
|
|
id: `${group.name}-${openingRuntimeId.toString()}`,
|
|
runtimeId: openingRuntimeId.toNumber(),
|
|
runtimeId: openingRuntimeId.toNumber(),
|
|
applications: [],
|
|
applications: [],
|
|
group,
|
|
group,
|
|
- rewardPerBlock: rewardPerBlock.unwrapOr(new BN(0)),
|
|
|
|
|
|
+ rewardPerBlock: optRewardPerBlock.unwrapOr(new BN(0)),
|
|
stakeAmount: stakePolicy.stake_amount,
|
|
stakeAmount: stakePolicy.stake_amount,
|
|
unstakingPeriod: stakePolicy.leaving_unstaking_period.toNumber(),
|
|
unstakingPeriod: stakePolicy.leaving_unstaking_period.toNumber(),
|
|
status: new OpeningStatusOpen(),
|
|
status: new OpeningStatusOpen(),
|
|
@@ -416,11 +404,8 @@ export async function workingGroups_OpeningAdded(db: DatabaseManager, event_: Su
|
|
|
|
|
|
await db.save<WorkingGroupOpening>(opening)
|
|
await db.save<WorkingGroupOpening>(opening)
|
|
|
|
|
|
- const event = await createEvent(db, event_, EventType.OpeningAdded)
|
|
|
|
const openingAddedEvent = new OpeningAddedEvent({
|
|
const openingAddedEvent = new OpeningAddedEvent({
|
|
- createdAt: eventTime,
|
|
|
|
- updatedAt: eventTime,
|
|
|
|
- event,
|
|
|
|
|
|
+ ...genericEventFields(event_),
|
|
group,
|
|
group,
|
|
opening,
|
|
opening,
|
|
})
|
|
})
|
|
@@ -429,12 +414,10 @@ export async function workingGroups_OpeningAdded(db: DatabaseManager, event_: Su
|
|
}
|
|
}
|
|
|
|
|
|
export async function workingGroups_AppliedOnOpening(db: DatabaseManager, event_: SubstrateEvent): Promise<void> {
|
|
export async function workingGroups_AppliedOnOpening(db: DatabaseManager, event_: SubstrateEvent): Promise<void> {
|
|
- event_.blockTimestamp = new BN(event_.blockTimestamp) // FIXME: Temporary fix for wrong blockTimestamp type
|
|
|
|
- const eventTime = new Date(event_.blockTimestamp.toNumber())
|
|
|
|
|
|
+ const eventTime = new Date(event_.blockTimestamp)
|
|
|
|
|
|
- const {
|
|
|
|
- applicationId: applicationRuntimeId,
|
|
|
|
- applyOnOpeningParameters: {
|
|
|
|
|
|
+ const [
|
|
|
|
+ {
|
|
opening_id: openingRuntimeId,
|
|
opening_id: openingRuntimeId,
|
|
description: metadataBytes,
|
|
description: metadataBytes,
|
|
member_id: memberId,
|
|
member_id: memberId,
|
|
@@ -442,14 +425,15 @@ export async function workingGroups_AppliedOnOpening(db: DatabaseManager, event_
|
|
role_account_id: roleAccout,
|
|
role_account_id: roleAccout,
|
|
stake_parameters: { stake, staking_account_id: stakingAccount },
|
|
stake_parameters: { stake, staking_account_id: stakingAccount },
|
|
},
|
|
},
|
|
- } = new WorkingGroups.AppliedOnOpeningEvent(event_).data
|
|
|
|
|
|
+ applicationRuntimeId,
|
|
|
|
+ ] = new WorkingGroups.AppliedOnOpeningEvent(event_).params
|
|
|
|
+
|
|
const group = await getWorkingGroup(db, event_)
|
|
const group = await getWorkingGroup(db, event_)
|
|
const openingDbId = `${group.name}-${openingRuntimeId.toString()}`
|
|
const openingDbId = `${group.name}-${openingRuntimeId.toString()}`
|
|
|
|
|
|
const application = new WorkingGroupApplication({
|
|
const application = new WorkingGroupApplication({
|
|
createdAt: eventTime,
|
|
createdAt: eventTime,
|
|
updatedAt: eventTime,
|
|
updatedAt: eventTime,
|
|
- createdAtBlock: await getOrCreateBlock(db, event_),
|
|
|
|
id: `${group.name}-${applicationRuntimeId.toString()}`,
|
|
id: `${group.name}-${applicationRuntimeId.toString()}`,
|
|
runtimeId: applicationRuntimeId.toNumber(),
|
|
runtimeId: applicationRuntimeId.toNumber(),
|
|
opening: new WorkingGroupOpening({ id: openingDbId }),
|
|
opening: new WorkingGroupOpening({ id: openingDbId }),
|
|
@@ -465,11 +449,8 @@ export async function workingGroups_AppliedOnOpening(db: DatabaseManager, event_
|
|
await db.save<WorkingGroupApplication>(application)
|
|
await db.save<WorkingGroupApplication>(application)
|
|
await createApplicationQuestionAnswers(db, application, metadataBytes)
|
|
await createApplicationQuestionAnswers(db, application, metadataBytes)
|
|
|
|
|
|
- const event = await createEvent(db, event_, EventType.AppliedOnOpening)
|
|
|
|
const appliedOnOpeningEvent = new AppliedOnOpeningEvent({
|
|
const appliedOnOpeningEvent = new AppliedOnOpeningEvent({
|
|
- createdAt: eventTime,
|
|
|
|
- updatedAt: eventTime,
|
|
|
|
- event,
|
|
|
|
|
|
+ ...genericEventFields(event_),
|
|
group,
|
|
group,
|
|
opening: new WorkingGroupOpening({ id: openingDbId }),
|
|
opening: new WorkingGroupOpening({ id: openingDbId }),
|
|
application,
|
|
application,
|
|
@@ -479,15 +460,10 @@ export async function workingGroups_AppliedOnOpening(db: DatabaseManager, event_
|
|
}
|
|
}
|
|
|
|
|
|
export async function workingGroups_LeaderSet(db: DatabaseManager, event_: SubstrateEvent): Promise<void> {
|
|
export async function workingGroups_LeaderSet(db: DatabaseManager, event_: SubstrateEvent): Promise<void> {
|
|
- event_.blockTimestamp = new BN(event_.blockTimestamp) // FIXME: Temporary fix for wrong blockTimestamp type
|
|
|
|
- const eventTime = new Date(event_.blockTimestamp.toNumber())
|
|
|
|
const group = await getWorkingGroup(db, event_)
|
|
const group = await getWorkingGroup(db, event_)
|
|
|
|
|
|
- const event = await createEvent(db, event_, EventType.LeaderSet)
|
|
|
|
const leaderSetEvent = new LeaderSetEvent({
|
|
const leaderSetEvent = new LeaderSetEvent({
|
|
- createdAt: eventTime,
|
|
|
|
- updatedAt: eventTime,
|
|
|
|
- event,
|
|
|
|
|
|
+ ...genericEventFields(event_),
|
|
group,
|
|
group,
|
|
})
|
|
})
|
|
|
|
|
|
@@ -495,14 +471,11 @@ export async function workingGroups_LeaderSet(db: DatabaseManager, event_: Subst
|
|
}
|
|
}
|
|
|
|
|
|
export async function workingGroups_OpeningFilled(db: DatabaseManager, event_: SubstrateEvent): Promise<void> {
|
|
export async function workingGroups_OpeningFilled(db: DatabaseManager, event_: SubstrateEvent): Promise<void> {
|
|
- event_.blockTimestamp = new BN(event_.blockTimestamp) // FIXME: Temporary fix for wrong blockTimestamp type
|
|
|
|
- const eventTime = new Date(event_.blockTimestamp.toNumber())
|
|
|
|
|
|
+ const eventTime = new Date(event_.blockTimestamp)
|
|
|
|
|
|
- const {
|
|
|
|
- openingId: openingRuntimeId,
|
|
|
|
- applicationId: applicationIdsSet,
|
|
|
|
- applicationIdToWorkerIdMap,
|
|
|
|
- } = new WorkingGroups.OpeningFilledEvent(event_).data
|
|
|
|
|
|
+ const [openingRuntimeId, applicationIdToWorkerIdMap, applicationIdsSet] = new WorkingGroups.OpeningFilledEvent(
|
|
|
|
+ event_
|
|
|
|
+ ).params
|
|
|
|
|
|
const group = await getWorkingGroup(db, event_)
|
|
const group = await getWorkingGroup(db, event_)
|
|
const opening = await getOpening(db, `${group.name}-${openingRuntimeId.toString()}`, [
|
|
const opening = await getOpening(db, `${group.name}-${openingRuntimeId.toString()}`, [
|
|
@@ -512,11 +485,8 @@ export async function workingGroups_OpeningFilled(db: DatabaseManager, event_: S
|
|
const acceptedApplicationIds = createType('Vec<ApplicationId>', applicationIdsSet.toHex() as any)
|
|
const acceptedApplicationIds = createType('Vec<ApplicationId>', applicationIdsSet.toHex() as any)
|
|
|
|
|
|
// Save the event
|
|
// Save the event
|
|
- const event = await createEvent(db, event_, EventType.OpeningFilled)
|
|
|
|
const openingFilledEvent = new OpeningFilledEvent({
|
|
const openingFilledEvent = new OpeningFilledEvent({
|
|
- createdAt: eventTime,
|
|
|
|
- updatedAt: eventTime,
|
|
|
|
- event,
|
|
|
|
|
|
+ ...genericEventFields(event_),
|
|
group,
|
|
group,
|
|
opening,
|
|
opening,
|
|
})
|
|
})
|
|
@@ -553,8 +523,6 @@ export async function workingGroups_OpeningFilled(db: DatabaseManager, event_: S
|
|
updatedAt: eventTime,
|
|
updatedAt: eventTime,
|
|
id: `${group.name}-${workerRuntimeId.toString()}`,
|
|
id: `${group.name}-${workerRuntimeId.toString()}`,
|
|
runtimeId: workerRuntimeId.toNumber(),
|
|
runtimeId: workerRuntimeId.toNumber(),
|
|
- hiredAtBlock: await getOrCreateBlock(db, event_),
|
|
|
|
- hiredAtTime: new Date(event_.blockTimestamp.toNumber()),
|
|
|
|
application,
|
|
application,
|
|
group,
|
|
group,
|
|
isLead: opening.type === WorkingGroupOpeningType.LEADER,
|
|
isLead: opening.type === WorkingGroupOpeningType.LEADER,
|
|
@@ -588,7 +556,7 @@ export async function workingGroups_OpeningFilled(db: DatabaseManager, event_: S
|
|
group.updatedAt = eventTime
|
|
group.updatedAt = eventTime
|
|
await db.save<WorkingGroup>(group)
|
|
await db.save<WorkingGroup>(group)
|
|
|
|
|
|
- const leaderSetEvent = await findLeaderSetEventByTxHash(db, openingFilledEvent.event.inExtrinsic)
|
|
|
|
|
|
+ const leaderSetEvent = await findLeaderSetEventByTxHash(db, openingFilledEvent.inExtrinsic)
|
|
leaderSetEvent.worker = hiredWorkers[0]
|
|
leaderSetEvent.worker = hiredWorkers[0]
|
|
leaderSetEvent.updatedAt = eventTime
|
|
leaderSetEvent.updatedAt = eventTime
|
|
await db.save<LeaderSetEvent>(leaderSetEvent)
|
|
await db.save<LeaderSetEvent>(leaderSetEvent)
|
|
@@ -596,19 +564,15 @@ export async function workingGroups_OpeningFilled(db: DatabaseManager, event_: S
|
|
}
|
|
}
|
|
|
|
|
|
export async function workingGroups_OpeningCanceled(db: DatabaseManager, event_: SubstrateEvent): Promise<void> {
|
|
export async function workingGroups_OpeningCanceled(db: DatabaseManager, event_: SubstrateEvent): Promise<void> {
|
|
- event_.blockTimestamp = new BN(event_.blockTimestamp) // FIXME: Temporary fix for wrong blockTimestamp type
|
|
|
|
- const { openingId: openingRuntimeId } = new WorkingGroups.OpeningCanceledEvent(event_).data
|
|
|
|
|
|
+ const [openingRuntimeId] = new WorkingGroups.OpeningCanceledEvent(event_).params
|
|
|
|
|
|
const group = await getWorkingGroup(db, event_)
|
|
const group = await getWorkingGroup(db, event_)
|
|
const opening = await getOpening(db, `${group.name}-${openingRuntimeId.toString()}`, ['applications'])
|
|
const opening = await getOpening(db, `${group.name}-${openingRuntimeId.toString()}`, ['applications'])
|
|
- const eventTime = new Date(event_.blockTimestamp.toNumber())
|
|
|
|
|
|
+ const eventTime = new Date(event_.blockTimestamp)
|
|
|
|
|
|
// Create and save event
|
|
// Create and save event
|
|
- const event = await createEvent(db, event_, EventType.OpeningCanceled)
|
|
|
|
const openingCanceledEvent = new OpeningCanceledEvent({
|
|
const openingCanceledEvent = new OpeningCanceledEvent({
|
|
- createdAt: eventTime,
|
|
|
|
- updatedAt: eventTime,
|
|
|
|
- event,
|
|
|
|
|
|
+ ...genericEventFields(event_),
|
|
group,
|
|
group,
|
|
opening,
|
|
opening,
|
|
})
|
|
})
|
|
@@ -617,7 +581,7 @@ export async function workingGroups_OpeningCanceled(db: DatabaseManager, event_:
|
|
|
|
|
|
// Set opening status
|
|
// Set opening status
|
|
const openingCancelled = new OpeningStatusCancelled()
|
|
const openingCancelled = new OpeningStatusCancelled()
|
|
- openingCancelled.openingCancelledEventId = openingCanceledEvent.id
|
|
|
|
|
|
+ openingCancelled.openingCanceledEventId = openingCanceledEvent.id
|
|
opening.status = openingCancelled
|
|
opening.status = openingCancelled
|
|
opening.updatedAt = eventTime
|
|
opening.updatedAt = eventTime
|
|
|
|
|
|
@@ -625,7 +589,7 @@ export async function workingGroups_OpeningCanceled(db: DatabaseManager, event_:
|
|
|
|
|
|
// Set applications status
|
|
// Set applications status
|
|
const applicationCancelled = new ApplicationStatusCancelled()
|
|
const applicationCancelled = new ApplicationStatusCancelled()
|
|
- applicationCancelled.openingCancelledEventId = openingCanceledEvent.id
|
|
|
|
|
|
+ applicationCancelled.openingCanceledEventId = openingCanceledEvent.id
|
|
await Promise.all(
|
|
await Promise.all(
|
|
(opening.applications || [])
|
|
(opening.applications || [])
|
|
// Skip withdrawn applications
|
|
// Skip withdrawn applications
|
|
@@ -639,19 +603,15 @@ export async function workingGroups_OpeningCanceled(db: DatabaseManager, event_:
|
|
}
|
|
}
|
|
|
|
|
|
export async function workingGroups_ApplicationWithdrawn(db: DatabaseManager, event_: SubstrateEvent): Promise<void> {
|
|
export async function workingGroups_ApplicationWithdrawn(db: DatabaseManager, event_: SubstrateEvent): Promise<void> {
|
|
- event_.blockTimestamp = new BN(event_.blockTimestamp) // FIXME: Temporary fix for wrong blockTimestamp type
|
|
|
|
- const { applicationId: applicationRuntimeId } = new WorkingGroups.ApplicationWithdrawnEvent(event_).data
|
|
|
|
|
|
+ const [applicationRuntimeId] = new WorkingGroups.ApplicationWithdrawnEvent(event_).params
|
|
|
|
|
|
const group = await getWorkingGroup(db, event_)
|
|
const group = await getWorkingGroup(db, event_)
|
|
const application = await getApplication(db, `${group.name}-${applicationRuntimeId.toString()}`)
|
|
const application = await getApplication(db, `${group.name}-${applicationRuntimeId.toString()}`)
|
|
- const eventTime = new Date(event_.blockTimestamp.toNumber())
|
|
|
|
|
|
+ const eventTime = new Date(event_.blockTimestamp)
|
|
|
|
|
|
// Create and save event
|
|
// Create and save event
|
|
- const event = await createEvent(db, event_, EventType.ApplicationWithdrawn)
|
|
|
|
const applicationWithdrawnEvent = new ApplicationWithdrawnEvent({
|
|
const applicationWithdrawnEvent = new ApplicationWithdrawnEvent({
|
|
- createdAt: eventTime,
|
|
|
|
- updatedAt: eventTime,
|
|
|
|
- event,
|
|
|
|
|
|
+ ...genericEventFields(event_),
|
|
group,
|
|
group,
|
|
application,
|
|
application,
|
|
})
|
|
})
|
|
@@ -668,20 +628,16 @@ export async function workingGroups_ApplicationWithdrawn(db: DatabaseManager, ev
|
|
}
|
|
}
|
|
|
|
|
|
export async function workingGroups_StatusTextChanged(db: DatabaseManager, event_: SubstrateEvent): Promise<void> {
|
|
export async function workingGroups_StatusTextChanged(db: DatabaseManager, event_: SubstrateEvent): Promise<void> {
|
|
- event_.blockTimestamp = new BN(event_.blockTimestamp) // FIXME: Temporary fix for wrong blockTimestamp type
|
|
|
|
- const { optBytes } = new WorkingGroups.StatusTextChangedEvent(event_).data
|
|
|
|
|
|
+ const [, optBytes] = new WorkingGroups.StatusTextChangedEvent(event_).params
|
|
const group = await getWorkingGroup(db, event_)
|
|
const group = await getWorkingGroup(db, event_)
|
|
- const eventTime = new Date(event_.blockTimestamp.toNumber())
|
|
|
|
|
|
|
|
// Since result cannot be empty at this point, but we already need to have an existing StatusTextChangedEvent
|
|
// Since result cannot be empty at this point, but we already need to have an existing StatusTextChangedEvent
|
|
// in order to be able to create UpcomingOpening.createdInEvent relation, we use a temporary "mock" result
|
|
// in order to be able to create UpcomingOpening.createdInEvent relation, we use a temporary "mock" result
|
|
const mockResult = new InvalidActionMetadata()
|
|
const mockResult = new InvalidActionMetadata()
|
|
mockResult.reason = 'Metadata not yet processed'
|
|
mockResult.reason = 'Metadata not yet processed'
|
|
const statusTextChangedEvent = new StatusTextChangedEvent({
|
|
const statusTextChangedEvent = new StatusTextChangedEvent({
|
|
- createdAt: eventTime,
|
|
|
|
- updatedAt: eventTime,
|
|
|
|
|
|
+ ...genericEventFields(event_),
|
|
group,
|
|
group,
|
|
- event: await createEvent(db, event_, EventType.StatusTextChanged),
|
|
|
|
metadata: optBytes.isSome ? optBytes.unwrap().toString() : undefined,
|
|
metadata: optBytes.isSome ? optBytes.unwrap().toString() : undefined,
|
|
result: mockResult,
|
|
result: mockResult,
|
|
})
|
|
})
|
|
@@ -714,17 +670,14 @@ export async function workingGroups_WorkerRoleAccountUpdated(
|
|
db: DatabaseManager,
|
|
db: DatabaseManager,
|
|
event_: SubstrateEvent
|
|
event_: SubstrateEvent
|
|
): Promise<void> {
|
|
): Promise<void> {
|
|
- event_.blockTimestamp = new BN(event_.blockTimestamp) // FIXME: Temporary fix for wrong blockTimestamp type
|
|
|
|
- const { workerId, accountId } = new WorkingGroups.WorkerRoleAccountUpdatedEvent(event_).data
|
|
|
|
|
|
+ const [workerId, accountId] = new WorkingGroups.WorkerRoleAccountUpdatedEvent(event_).params
|
|
const group = await getWorkingGroup(db, event_)
|
|
const group = await getWorkingGroup(db, event_)
|
|
const worker = await getWorker(db, `${group.name}-${workerId.toString()}`)
|
|
const worker = await getWorker(db, `${group.name}-${workerId.toString()}`)
|
|
- const eventTime = new Date(event_.blockTimestamp.toNumber())
|
|
|
|
|
|
+ const eventTime = new Date(event_.blockTimestamp)
|
|
|
|
|
|
const workerRoleAccountUpdatedEvent = new WorkerRoleAccountUpdatedEvent({
|
|
const workerRoleAccountUpdatedEvent = new WorkerRoleAccountUpdatedEvent({
|
|
- createdAt: eventTime,
|
|
|
|
- updatedAt: eventTime,
|
|
|
|
|
|
+ ...genericEventFields(event_),
|
|
group,
|
|
group,
|
|
- event: await createEvent(db, event_, EventType.WorkerRoleAccountUpdated),
|
|
|
|
worker,
|
|
worker,
|
|
newRoleAccount: accountId.toString(),
|
|
newRoleAccount: accountId.toString(),
|
|
})
|
|
})
|
|
@@ -741,17 +694,14 @@ export async function workingGroups_WorkerRewardAccountUpdated(
|
|
db: DatabaseManager,
|
|
db: DatabaseManager,
|
|
event_: SubstrateEvent
|
|
event_: SubstrateEvent
|
|
): Promise<void> {
|
|
): Promise<void> {
|
|
- event_.blockTimestamp = new BN(event_.blockTimestamp) // FIXME: Temporary fix for wrong blockTimestamp type
|
|
|
|
- const { workerId, accountId } = new WorkingGroups.WorkerRewardAccountUpdatedEvent(event_).data
|
|
|
|
|
|
+ const [workerId, accountId] = new WorkingGroups.WorkerRewardAccountUpdatedEvent(event_).params
|
|
const group = await getWorkingGroup(db, event_)
|
|
const group = await getWorkingGroup(db, event_)
|
|
const worker = await getWorker(db, `${group.name}-${workerId.toString()}`)
|
|
const worker = await getWorker(db, `${group.name}-${workerId.toString()}`)
|
|
- const eventTime = new Date(event_.blockTimestamp.toNumber())
|
|
|
|
|
|
+ const eventTime = new Date(event_.blockTimestamp)
|
|
|
|
|
|
const workerRewardAccountUpdatedEvent = new WorkerRewardAccountUpdatedEvent({
|
|
const workerRewardAccountUpdatedEvent = new WorkerRewardAccountUpdatedEvent({
|
|
- createdAt: eventTime,
|
|
|
|
- updatedAt: eventTime,
|
|
|
|
|
|
+ ...genericEventFields(event_),
|
|
group,
|
|
group,
|
|
- event: await createEvent(db, event_, EventType.WorkerRewardAccountUpdated),
|
|
|
|
worker,
|
|
worker,
|
|
newRewardAccount: accountId.toString(),
|
|
newRewardAccount: accountId.toString(),
|
|
})
|
|
})
|
|
@@ -765,17 +715,14 @@ export async function workingGroups_WorkerRewardAccountUpdated(
|
|
}
|
|
}
|
|
|
|
|
|
export async function workingGroups_StakeIncreased(db: DatabaseManager, event_: SubstrateEvent): Promise<void> {
|
|
export async function workingGroups_StakeIncreased(db: DatabaseManager, event_: SubstrateEvent): Promise<void> {
|
|
- event_.blockTimestamp = new BN(event_.blockTimestamp) // FIXME: Temporary fix for wrong blockTimestamp type
|
|
|
|
- const { workerId, balance: increaseAmount } = new WorkingGroups.StakeIncreasedEvent(event_).data
|
|
|
|
|
|
+ const [workerId, increaseAmount] = new WorkingGroups.StakeIncreasedEvent(event_).params
|
|
const group = await getWorkingGroup(db, event_)
|
|
const group = await getWorkingGroup(db, event_)
|
|
const worker = await getWorker(db, `${group.name}-${workerId.toString()}`)
|
|
const worker = await getWorker(db, `${group.name}-${workerId.toString()}`)
|
|
- const eventTime = new Date(event_.blockTimestamp.toNumber())
|
|
|
|
|
|
+ const eventTime = new Date(event_.blockTimestamp)
|
|
|
|
|
|
const stakeIncreasedEvent = new StakeIncreasedEvent({
|
|
const stakeIncreasedEvent = new StakeIncreasedEvent({
|
|
- createdAt: eventTime,
|
|
|
|
- updatedAt: eventTime,
|
|
|
|
|
|
+ ...genericEventFields(event_),
|
|
group,
|
|
group,
|
|
- event: await createEvent(db, event_, EventType.StakeIncreased),
|
|
|
|
worker,
|
|
worker,
|
|
amount: increaseAmount,
|
|
amount: increaseAmount,
|
|
})
|
|
})
|
|
@@ -789,22 +736,14 @@ export async function workingGroups_StakeIncreased(db: DatabaseManager, event_:
|
|
}
|
|
}
|
|
|
|
|
|
export async function workingGroups_RewardPaid(db: DatabaseManager, event_: SubstrateEvent): Promise<void> {
|
|
export async function workingGroups_RewardPaid(db: DatabaseManager, event_: SubstrateEvent): Promise<void> {
|
|
- event_.blockTimestamp = new BN(event_.blockTimestamp) // FIXME: Temporary fix for wrong blockTimestamp type
|
|
|
|
- const {
|
|
|
|
- workerId,
|
|
|
|
- accountId: rewardAccountId,
|
|
|
|
- balance: amount,
|
|
|
|
- rewardPaymentType,
|
|
|
|
- } = new WorkingGroups.RewardPaidEvent(event_).data
|
|
|
|
|
|
+ const [workerId, rewardAccountId, amount, rewardPaymentType] = new WorkingGroups.RewardPaidEvent(event_).params
|
|
const group = await getWorkingGroup(db, event_)
|
|
const group = await getWorkingGroup(db, event_)
|
|
const worker = await getWorker(db, `${group.name}-${workerId.toString()}`)
|
|
const worker = await getWorker(db, `${group.name}-${workerId.toString()}`)
|
|
- const eventTime = new Date(event_.blockTimestamp.toNumber())
|
|
|
|
|
|
+ const eventTime = new Date(event_.blockTimestamp)
|
|
|
|
|
|
const rewardPaidEvent = new RewardPaidEvent({
|
|
const rewardPaidEvent = new RewardPaidEvent({
|
|
- createdAt: eventTime,
|
|
|
|
- updatedAt: eventTime,
|
|
|
|
|
|
+ ...genericEventFields(event_),
|
|
group,
|
|
group,
|
|
- event: await createEvent(db, event_, EventType.RewardPaid),
|
|
|
|
worker,
|
|
worker,
|
|
amount,
|
|
amount,
|
|
rewardAccount: rewardAccountId.toString(),
|
|
rewardAccount: rewardAccountId.toString(),
|
|
@@ -824,19 +763,14 @@ export async function workingGroups_NewMissedRewardLevelReached(
|
|
db: DatabaseManager,
|
|
db: DatabaseManager,
|
|
event_: SubstrateEvent
|
|
event_: SubstrateEvent
|
|
): Promise<void> {
|
|
): Promise<void> {
|
|
- event_.blockTimestamp = new BN(event_.blockTimestamp) // FIXME: Temporary fix for wrong blockTimestamp type
|
|
|
|
- const { workerId, balance: newMissedRewardAmountOpt } = new WorkingGroups.NewMissedRewardLevelReachedEvent(
|
|
|
|
- event_
|
|
|
|
- ).data
|
|
|
|
|
|
+ const [workerId, newMissedRewardAmountOpt] = new WorkingGroups.NewMissedRewardLevelReachedEvent(event_).params
|
|
const group = await getWorkingGroup(db, event_)
|
|
const group = await getWorkingGroup(db, event_)
|
|
const worker = await getWorker(db, `${group.name}-${workerId.toString()}`)
|
|
const worker = await getWorker(db, `${group.name}-${workerId.toString()}`)
|
|
- const eventTime = new Date(event_.blockTimestamp.toNumber())
|
|
|
|
|
|
+ const eventTime = new Date(event_.blockTimestamp)
|
|
|
|
|
|
const newMissedRewardLevelReachedEvent = new NewMissedRewardLevelReachedEvent({
|
|
const newMissedRewardLevelReachedEvent = new NewMissedRewardLevelReachedEvent({
|
|
- createdAt: eventTime,
|
|
|
|
- updatedAt: eventTime,
|
|
|
|
|
|
+ ...genericEventFields(event_),
|
|
group,
|
|
group,
|
|
- event: await createEvent(db, event_, EventType.NewMissedRewardLevelReached),
|
|
|
|
worker,
|
|
worker,
|
|
newMissedRewardAmount: newMissedRewardAmountOpt.unwrapOr(new BN(0)),
|
|
newMissedRewardAmount: newMissedRewardAmountOpt.unwrapOr(new BN(0)),
|
|
})
|
|
})
|
|
@@ -851,17 +785,14 @@ export async function workingGroups_NewMissedRewardLevelReached(
|
|
}
|
|
}
|
|
|
|
|
|
export async function workingGroups_WorkerExited(db: DatabaseManager, event_: SubstrateEvent): Promise<void> {
|
|
export async function workingGroups_WorkerExited(db: DatabaseManager, event_: SubstrateEvent): Promise<void> {
|
|
- event_.blockTimestamp = new BN(event_.blockTimestamp) // FIXME: Temporary fix for wrong blockTimestamp type
|
|
|
|
- const { workerId } = new WorkingGroups.WorkerExitedEvent(event_).data
|
|
|
|
|
|
+ const [workerId] = new WorkingGroups.WorkerExitedEvent(event_).params
|
|
const group = await getWorkingGroup(db, event_)
|
|
const group = await getWorkingGroup(db, event_)
|
|
const worker = await getWorker(db, `${group.name}-${workerId.toString()}`)
|
|
const worker = await getWorker(db, `${group.name}-${workerId.toString()}`)
|
|
- const eventTime = new Date(event_.blockTimestamp.toNumber())
|
|
|
|
|
|
+ const eventTime = new Date(event_.blockTimestamp)
|
|
|
|
|
|
const workerExitedEvent = new WorkerExitedEvent({
|
|
const workerExitedEvent = new WorkerExitedEvent({
|
|
- createdAt: eventTime,
|
|
|
|
- updatedAt: eventTime,
|
|
|
|
|
|
+ ...genericEventFields(event_),
|
|
group,
|
|
group,
|
|
- event: await createEvent(db, event_, EventType.WorkerExited),
|
|
|
|
worker,
|
|
worker,
|
|
})
|
|
})
|
|
|
|
|
|
@@ -875,15 +806,12 @@ export async function workingGroups_WorkerExited(db: DatabaseManager, event_: Su
|
|
}
|
|
}
|
|
|
|
|
|
export async function workingGroups_LeaderUnset(db: DatabaseManager, event_: SubstrateEvent): Promise<void> {
|
|
export async function workingGroups_LeaderUnset(db: DatabaseManager, event_: SubstrateEvent): Promise<void> {
|
|
- event_.blockTimestamp = new BN(event_.blockTimestamp) // FIXME: Temporary fix for wrong blockTimestamp type
|
|
|
|
const group = await getWorkingGroup(db, event_)
|
|
const group = await getWorkingGroup(db, event_)
|
|
- const eventTime = new Date(event_.blockTimestamp.toNumber())
|
|
|
|
|
|
+ const eventTime = new Date(event_.blockTimestamp)
|
|
|
|
|
|
const leaderUnsetEvent = new LeaderUnsetEvent({
|
|
const leaderUnsetEvent = new LeaderUnsetEvent({
|
|
- createdAt: eventTime,
|
|
|
|
- updatedAt: eventTime,
|
|
|
|
|
|
+ ...genericEventFields(event_),
|
|
group,
|
|
group,
|
|
- event: await createEvent(db, event_, EventType.LeaderUnset),
|
|
|
|
leader: group.leader,
|
|
leader: group.leader,
|
|
})
|
|
})
|
|
|
|
|
|
@@ -906,17 +834,14 @@ export async function workingGroups_WorkerRewardAmountUpdated(
|
|
db: DatabaseManager,
|
|
db: DatabaseManager,
|
|
event_: SubstrateEvent
|
|
event_: SubstrateEvent
|
|
): Promise<void> {
|
|
): Promise<void> {
|
|
- event_.blockTimestamp = new BN(event_.blockTimestamp) // FIXME: Temporary fix for wrong blockTimestamp type
|
|
|
|
- const { workerId, balance: newRewardPerBlockOpt } = new WorkingGroups.WorkerRewardAmountUpdatedEvent(event_).data
|
|
|
|
|
|
+ const [workerId, newRewardPerBlockOpt] = new WorkingGroups.WorkerRewardAmountUpdatedEvent(event_).params
|
|
const group = await getWorkingGroup(db, event_)
|
|
const group = await getWorkingGroup(db, event_)
|
|
const worker = await getWorker(db, `${group.name}-${workerId.toString()}`)
|
|
const worker = await getWorker(db, `${group.name}-${workerId.toString()}`)
|
|
- const eventTime = new Date(event_.blockTimestamp.toNumber())
|
|
|
|
|
|
+ const eventTime = new Date(event_.blockTimestamp)
|
|
|
|
|
|
const workerRewardAmountUpdatedEvent = new WorkerRewardAmountUpdatedEvent({
|
|
const workerRewardAmountUpdatedEvent = new WorkerRewardAmountUpdatedEvent({
|
|
- createdAt: eventTime,
|
|
|
|
- updatedAt: eventTime,
|
|
|
|
|
|
+ ...genericEventFields(event_),
|
|
group,
|
|
group,
|
|
- event: await createEvent(db, event_, EventType.WorkerRewardAmountUpdated),
|
|
|
|
worker,
|
|
worker,
|
|
newRewardPerBlock: newRewardPerBlockOpt.unwrapOr(new BN(0)),
|
|
newRewardPerBlock: newRewardPerBlockOpt.unwrapOr(new BN(0)),
|
|
})
|
|
})
|
|
@@ -930,21 +855,14 @@ export async function workingGroups_WorkerRewardAmountUpdated(
|
|
}
|
|
}
|
|
|
|
|
|
export async function workingGroups_StakeSlashed(db: DatabaseManager, event_: SubstrateEvent): Promise<void> {
|
|
export async function workingGroups_StakeSlashed(db: DatabaseManager, event_: SubstrateEvent): Promise<void> {
|
|
- event_.blockTimestamp = new BN(event_.blockTimestamp) // FIXME: Temporary fix for wrong blockTimestamp type
|
|
|
|
- const {
|
|
|
|
- workerId,
|
|
|
|
- balances: { 0: slashedAmount, 1: requestedAmount },
|
|
|
|
- optBytes: optRationale,
|
|
|
|
- } = new WorkingGroups.StakeSlashedEvent(event_).data
|
|
|
|
|
|
+ const [workerId, slashedAmount, requestedAmount, optRationale] = new WorkingGroups.StakeSlashedEvent(event_).params
|
|
const group = await getWorkingGroup(db, event_)
|
|
const group = await getWorkingGroup(db, event_)
|
|
const worker = await getWorker(db, `${group.name}-${workerId.toString()}`)
|
|
const worker = await getWorker(db, `${group.name}-${workerId.toString()}`)
|
|
- const eventTime = new Date(event_.blockTimestamp.toNumber())
|
|
|
|
|
|
+ const eventTime = new Date(event_.blockTimestamp)
|
|
|
|
|
|
const workerStakeSlashedEvent = new StakeSlashedEvent({
|
|
const workerStakeSlashedEvent = new StakeSlashedEvent({
|
|
- createdAt: eventTime,
|
|
|
|
- updatedAt: eventTime,
|
|
|
|
|
|
+ ...genericEventFields(event_),
|
|
group,
|
|
group,
|
|
- event: await createEvent(db, event_, EventType.StakeSlashed),
|
|
|
|
worker,
|
|
worker,
|
|
requestedAmount,
|
|
requestedAmount,
|
|
slashedAmount,
|
|
slashedAmount,
|
|
@@ -960,17 +878,14 @@ export async function workingGroups_StakeSlashed(db: DatabaseManager, event_: Su
|
|
}
|
|
}
|
|
|
|
|
|
export async function workingGroups_StakeDecreased(db: DatabaseManager, event_: SubstrateEvent): Promise<void> {
|
|
export async function workingGroups_StakeDecreased(db: DatabaseManager, event_: SubstrateEvent): Promise<void> {
|
|
- event_.blockTimestamp = new BN(event_.blockTimestamp) // FIXME: Temporary fix for wrong blockTimestamp type
|
|
|
|
- const { workerId, balance: amount } = new WorkingGroups.StakeDecreasedEvent(event_).data
|
|
|
|
|
|
+ const [workerId, amount] = new WorkingGroups.StakeDecreasedEvent(event_).params
|
|
const group = await getWorkingGroup(db, event_)
|
|
const group = await getWorkingGroup(db, event_)
|
|
const worker = await getWorker(db, `${group.name}-${workerId.toString()}`)
|
|
const worker = await getWorker(db, `${group.name}-${workerId.toString()}`)
|
|
- const eventTime = new Date(event_.blockTimestamp.toNumber())
|
|
|
|
|
|
+ const eventTime = new Date(event_.blockTimestamp)
|
|
|
|
|
|
const workerStakeDecreasedEvent = new StakeDecreasedEvent({
|
|
const workerStakeDecreasedEvent = new StakeDecreasedEvent({
|
|
- createdAt: eventTime,
|
|
|
|
- updatedAt: eventTime,
|
|
|
|
|
|
+ ...genericEventFields(event_),
|
|
group,
|
|
group,
|
|
- event: await createEvent(db, event_, EventType.StakeDecreased),
|
|
|
|
worker,
|
|
worker,
|
|
amount,
|
|
amount,
|
|
})
|
|
})
|
|
@@ -984,17 +899,14 @@ export async function workingGroups_StakeDecreased(db: DatabaseManager, event_:
|
|
}
|
|
}
|
|
|
|
|
|
export async function workingGroups_WorkerStartedLeaving(db: DatabaseManager, event_: SubstrateEvent): Promise<void> {
|
|
export async function workingGroups_WorkerStartedLeaving(db: DatabaseManager, event_: SubstrateEvent): Promise<void> {
|
|
- event_.blockTimestamp = new BN(event_.blockTimestamp) // FIXME: Temporary fix for wrong blockTimestamp type
|
|
|
|
- const { workerId, optBytes: optRationale } = new WorkingGroups.WorkerStartedLeavingEvent(event_).data
|
|
|
|
|
|
+ const [workerId, optRationale] = new WorkingGroups.WorkerStartedLeavingEvent(event_).params
|
|
const group = await getWorkingGroup(db, event_)
|
|
const group = await getWorkingGroup(db, event_)
|
|
const worker = await getWorker(db, `${group.name}-${workerId.toString()}`)
|
|
const worker = await getWorker(db, `${group.name}-${workerId.toString()}`)
|
|
- const eventTime = new Date(event_.blockTimestamp.toNumber())
|
|
|
|
|
|
+ const eventTime = new Date(event_.blockTimestamp)
|
|
|
|
|
|
const workerStartedLeavingEvent = new WorkerStartedLeavingEvent({
|
|
const workerStartedLeavingEvent = new WorkerStartedLeavingEvent({
|
|
- createdAt: eventTime,
|
|
|
|
- updatedAt: eventTime,
|
|
|
|
|
|
+ ...genericEventFields(event_),
|
|
group,
|
|
group,
|
|
- event: await createEvent(db, event_, EventType.WorkerStartedLeaving),
|
|
|
|
worker,
|
|
worker,
|
|
rationale: optRationale.isSome ? bytesToString(optRationale.unwrap()) : undefined,
|
|
rationale: optRationale.isSome ? bytesToString(optRationale.unwrap()) : undefined,
|
|
})
|
|
})
|
|
@@ -1010,16 +922,13 @@ export async function workingGroups_WorkerStartedLeaving(db: DatabaseManager, ev
|
|
}
|
|
}
|
|
|
|
|
|
export async function workingGroups_BudgetSet(db: DatabaseManager, event_: SubstrateEvent): Promise<void> {
|
|
export async function workingGroups_BudgetSet(db: DatabaseManager, event_: SubstrateEvent): Promise<void> {
|
|
- event_.blockTimestamp = new BN(event_.blockTimestamp) // FIXME: Temporary fix for wrong blockTimestamp type
|
|
|
|
- const { balance: newBudget } = new WorkingGroups.BudgetSetEvent(event_).data
|
|
|
|
|
|
+ const [newBudget] = new WorkingGroups.BudgetSetEvent(event_).params
|
|
const group = await getWorkingGroup(db, event_)
|
|
const group = await getWorkingGroup(db, event_)
|
|
- const eventTime = new Date(event_.blockTimestamp.toNumber())
|
|
|
|
|
|
+ const eventTime = new Date(event_.blockTimestamp)
|
|
|
|
|
|
const budgetSetEvent = new BudgetSetEvent({
|
|
const budgetSetEvent = new BudgetSetEvent({
|
|
- createdAt: eventTime,
|
|
|
|
- updatedAt: eventTime,
|
|
|
|
|
|
+ ...genericEventFields(event_),
|
|
group,
|
|
group,
|
|
- event: await createEvent(db, event_, EventType.BudgetSet),
|
|
|
|
newBudget,
|
|
newBudget,
|
|
})
|
|
})
|
|
|
|
|
|
@@ -1032,18 +941,13 @@ export async function workingGroups_BudgetSet(db: DatabaseManager, event_: Subst
|
|
}
|
|
}
|
|
|
|
|
|
export async function workingGroups_BudgetSpending(db: DatabaseManager, event_: SubstrateEvent): Promise<void> {
|
|
export async function workingGroups_BudgetSpending(db: DatabaseManager, event_: SubstrateEvent): Promise<void> {
|
|
- event_.blockTimestamp = new BN(event_.blockTimestamp) // FIXME: Temporary fix for wrong blockTimestamp type
|
|
|
|
- const { accountId: reciever, balance: amount, optBytes: optRationale } = new WorkingGroups.BudgetSpendingEvent(
|
|
|
|
- event_
|
|
|
|
- ).data
|
|
|
|
|
|
+ const [reciever, amount, optRationale] = new WorkingGroups.BudgetSpendingEvent(event_).params
|
|
const group = await getWorkingGroup(db, event_)
|
|
const group = await getWorkingGroup(db, event_)
|
|
- const eventTime = new Date(event_.blockTimestamp.toNumber())
|
|
|
|
|
|
+ const eventTime = new Date(event_.blockTimestamp)
|
|
|
|
|
|
const budgetSpendingEvent = new BudgetSpendingEvent({
|
|
const budgetSpendingEvent = new BudgetSpendingEvent({
|
|
- createdAt: eventTime,
|
|
|
|
- updatedAt: eventTime,
|
|
|
|
|
|
+ ...genericEventFields(event_),
|
|
group,
|
|
group,
|
|
- event: await createEvent(db, event_, EventType.BudgetSpending),
|
|
|
|
amount,
|
|
amount,
|
|
reciever: reciever.toString(),
|
|
reciever: reciever.toString(),
|
|
rationale: optRationale.isSome ? bytesToString(optRationale.unwrap()) : undefined,
|
|
rationale: optRationale.isSome ? bytesToString(optRationale.unwrap()) : undefined,
|