if err != nil {
            logger.Error().Err(err).Str("hash", base58.Encode(tx.GetHash())).Msg("tx failed")
            if err2 := blockState.Rollback(blockSnap); err2 != nil {
                logger.Panic().Err(err).Msg("failed to rollback block state")
            }