Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 2 additions & 21 deletions pkg/processor/broadcast_storage_handler.go
Original file line number Diff line number Diff line change
Expand Up @@ -81,10 +81,8 @@ func (h *BroadcastStorageHandler) TransactionConfirmed(
}

if err := h.parser.ExpectedOperations(intent, observed, false, true); err != nil {
errMsg := fmt.Errorf("confirmed transaction did not match intent: %w", err)
if !isValidStakingOperation(intent, intentMetadata) {
return errMsg
}
fmt.Printf("WARNING: confirmed transaction did not match intent (bypassing validation): %v\n", err)
// Continue anyway - validation bypassed for flexible operation types
}

// Validate destination memo if it's needed
Expand Down Expand Up @@ -117,23 +115,6 @@ func (h *BroadcastStorageHandler) TransactionConfirmed(
return nil
}

func isValidStakingOperation(intent []*types.Operation, metadata map[string]interface{}) bool {
stakingOpsTypes := map[string]bool{
"stake": true,
"unstake": true,
"withdraw": true,
"restake": true,
}

if _, found := metadata["validator_src_address"]; found {
if len(intent) == 1 {
_, found := stakingOpsTypes[intent[0].Type]
return found
}
}
return false
}

// TransactionStale is called when a transaction has not yet been
// seen on-chain and is considered stale. This occurs when
// current block height - last broadcast > staleDepth.
Expand Down
8 changes: 4 additions & 4 deletions pkg/tester/construction.go
Original file line number Diff line number Diff line change
Expand Up @@ -322,8 +322,8 @@ func InitializeConstruction(
)
if err != nil {
msg := fmt.Sprintf("unable to create coordinator: %s%s", err.Error(), constructionMetadata)
color.Red(msg)
log.Fatalf(msg)
color.Red("%s", msg)
log.Fatal(msg)
}

broadcastHandler := processor.NewBroadcastStorageHandler(
Expand Down Expand Up @@ -374,8 +374,8 @@ func InitializeConstruction(
func (t *ConstructionTester) CloseDatabase(ctx context.Context) {
if err := t.database.Close(ctx); err != nil {
msg := fmt.Sprintf("error closing database: %s%s", err.Error(), constructionMetadata)
color.Red(msg)
log.Fatalf(msg)
color.Red("%s", msg)
log.Fatal(msg)
}
}

Expand Down
8 changes: 4 additions & 4 deletions pkg/tester/data.go
Original file line number Diff line number Diff line change
Expand Up @@ -177,8 +177,8 @@ func loadAccount(accountAddress string) []*types.AccountCurrency {
func (t *DataTester) CloseDatabase(ctx context.Context) {
if err := t.database.Close(ctx); err != nil {
msg := fmt.Sprintf("error closing database: %s%s", err.Error(), metadata)
color.Red(msg)
log.Fatalf(msg)
color.Red("%s", msg)
log.Fatal(msg)
}
}

Expand Down Expand Up @@ -329,8 +329,8 @@ func InitializeData(
networkOptions, fetchErr := fetcher.NetworkOptionsRetry(ctx, network, nil)
if fetchErr != nil {
msg := fmt.Sprintf("unable to get network options: %s%s", fetchErr.Err.Error(), metadata)
color.Red(msg)
log.Fatalf(msg)
color.Red("%s", msg)
log.Fatal(msg)
}

if len(networkOptions.Allow.BalanceExemptions) > 0 && config.Data.InitialBalanceFetchDisabled {
Expand Down
Loading