Skip to content

Commit

Permalink
fixup! refactor: postgres schema and repository API (WIP)
Browse files Browse the repository at this point in the history
  • Loading branch information
vfusco committed Jan 23, 2025
1 parent ad28d2b commit 9b7c440
Show file tree
Hide file tree
Showing 2 changed files with 38 additions and 7 deletions.
41 changes: 36 additions & 5 deletions internal/claimer/claimer.go
Original file line number Diff line number Diff line change
Expand Up @@ -184,7 +184,7 @@ func (s *Service) submitClaimsAndUpdateDatabase(se sideEffects) []error {
}
s.Logger.Info("Claim submitted",
"app", claim.IApplicationAddress,
"claim", claim.ClaimHash,
"claim_hash", fmt.Sprintf("%x", claim.ClaimHash),
"last_block", claim.LastBlock,
"tx", txHash)
delete(currClaims, key)
Expand All @@ -205,7 +205,8 @@ func (s *Service) submitClaimsAndUpdateDatabase(se sideEffects) []error {
continue
}

if prevClaimRow, ok := prevClaims[key]; ok {
prevClaimRow, prevExists := prevClaims[key]
if prevExists {
err := checkClaimsConstraint(prevClaimRow, currClaimRow)
if err != nil {
s.Logger.Error("database mismatch",
Expand Down Expand Up @@ -257,6 +258,11 @@ func (s *Service) submitClaimsAndUpdateDatabase(se sideEffects) []error {
}

if currEvent != nil {
s.Logger.Debug("Found ClaimSubmitted Event",
"app", currEvent.AppContract,
"claim_hash", fmt.Sprintf("%x", currEvent.Claim),
"last_block", currEvent.LastProcessedBlockNumber.Uint64(),
)
if !claimMatchesEvent(currClaimRow, currEvent) {
s.Logger.Error("event mismatch",
"claim", currClaimRow,
Expand All @@ -267,6 +273,11 @@ func (s *Service) submitClaimsAndUpdateDatabase(se sideEffects) []error {
errs = append(errs, ErrEventMismatch)
goto nextApp
}
s.Logger.Debug("Updating claim status to submitted",
"app", currClaimRow.IApplicationAddress,
"claim_hash", fmt.Sprintf("%x", currClaimRow.ClaimHash),
"last_block", currClaimRow.LastBlock,
)
txHash := currEvent.Raw.TxHash
err = se.updateEpochWithSubmittedClaim(currClaimRow, txHash)
if err != nil {
Expand All @@ -275,19 +286,39 @@ func (s *Service) submitClaimsAndUpdateDatabase(se sideEffects) []error {
goto nextApp
}
delete(s.claimsInFlight, key)
s.Logger.Info("Claim previously submitted",
"app", currClaimRow.IApplicationAddress,
"claim_hash", fmt.Sprintf("%x", currClaimRow.ClaimHash),
"last_block", currClaimRow.LastBlock,
)
} else if s.submissionEnabled {
if prevClaimRow != nil && prevClaimRow.Status != EpochStatus_ClaimAccepted {
s.Logger.Info("Waiting previous claim to accepted before submitting new one. Previous:",
"app", prevClaimRow.IApplicationAddress,
"claim_hash", fmt.Sprintf("%x", prevClaimRow.ClaimHash),
"last_block", prevClaimRow.LastBlock,
)
goto nextApp
}
s.Logger.Debug("Submitting claim to blockchain",
"app", currClaimRow.IApplicationAddress,
"claim_hash", fmt.Sprintf("%x", currClaimRow.ClaimHash),
"last_block", currClaimRow.LastBlock,
)
txHash, err := se.submitClaimToBlockchain(ic, currClaimRow)
if err != nil {
delete(currClaims, key)
errs = append(errs, err)
goto nextApp
}
s.Logger.Info("Submitting claim to blockchain",
s.claimsInFlight[key] = txHash
} else {
s.Logger.Debug("Claim submission disabled. Doing nothing",
"app", currClaimRow.IApplicationAddress,
"claim", currClaimRow.ClaimHash,
"claim_hash", fmt.Sprintf("%x", currClaimRow.ClaimHash),
"last_block", currClaimRow.LastBlock,
)
s.claimsInFlight[key] = txHash

}
nextApp:
}
Expand Down
4 changes: 2 additions & 2 deletions internal/validator/validator.go
Original file line number Diff line number Diff line change
Expand Up @@ -158,7 +158,7 @@ func getProcessedEpochs(ctx context.Context, er ValidatorRepository, address str
// validateApplication calculates, validates and stores the claim and/or proofs
// for each processed epoch of the application.
func (v *Service) validateApplication(ctx context.Context, app *Application) error {
v.Logger.Debug("starting validation", "application", app.IApplicationAddress)
v.Logger.Debug("Starting validation", "application", app.IApplicationAddress)
processedEpochs, err := getProcessedEpochs(ctx, v.repository, app.IApplicationAddress)
if err != nil {
return fmt.Errorf(
Expand All @@ -174,7 +174,7 @@ func (v *Service) validateApplication(ctx context.Context, app *Application) err
"last_block", epoch.LastBlock,
)
claim, outputs, err := v.createClaimAndProofs(ctx, app.IApplicationAddress, epoch)
v.Logger.Info("claim calculated",
v.Logger.Info("Claim computed",
"app", app.IApplicationAddress,
"epoch_index", epoch.Index,
"last_block", epoch.LastBlock,
Expand Down

0 comments on commit 9b7c440

Please sign in to comment.