From 208803acadc996a506c241c8afe993fa7c66457d Mon Sep 17 00:00:00 2001
From: Eduard Voiculescu <eduardvoiculescu95@gmail.com>
Date: Wed, 31 Jul 2024 18:39:21 -0400
Subject: [PATCH] small change to extrinsic proto, renaming of extrinsic
 generator tool

---
 ...block.go => tools_generate_extrinsic_proto.go} | 15 +++++++++------
 proto/sf/gear/extrinsic/type/v1/extrinsic.proto   |  1 -
 rpc/fetcher_test.go                               |  2 +-
 3 files changed, 10 insertions(+), 8 deletions(-)
 rename cmd/firevara/{tools_generate_decoded_block.go => tools_generate_extrinsic_proto.go} (82%)

diff --git a/cmd/firevara/tools_generate_decoded_block.go b/cmd/firevara/tools_generate_extrinsic_proto.go
similarity index 82%
rename from cmd/firevara/tools_generate_decoded_block.go
rename to cmd/firevara/tools_generate_extrinsic_proto.go
index 0396969..0062f70 100644
--- a/cmd/firevara/tools_generate_decoded_block.go
+++ b/cmd/firevara/tools_generate_extrinsic_proto.go
@@ -3,6 +3,7 @@ package main
 import (
 	"fmt"
 	"os"
+	"path/filepath"
 	"sort"
 	"strings"
 
@@ -24,7 +25,7 @@ func NewToolsGenerateExtrinsicProto(logger *zap.Logger, tracer logging.Tracer) *
 	}
 
 	cmd.Flags().String("blockhash", "", "Blockhash, prefixed by 0x, to fetch metadata from, leave empty for latest")
-	cmd.Flags().String("output", "proto/sf/gear/extrinsic/type/v1/extrinsic.proto", "Output extrinsic file location")
+	cmd.Flags().String("output", "extrinsic.proto", "Extrinsic proto file name")
 
 	return cmd
 }
@@ -43,7 +44,7 @@ func generateDecodedBlockE(logger *zap.Logger, tracer logging.Tracer) firecore.C
 			blockhash = "0x" + blockhash
 		}
 
-		logger.Info("generating decoded block", zap.String("endpoint", endpoint), zap.String("blockhash", blockhash), zap.String("output_path", outputPath))
+		logger.Info("generating extrinsic proto", zap.String("endpoint", endpoint), zap.String("blockhash", blockhash), zap.String("output_path", outputPath))
 
 		gearClients := firecoreRPC.NewClients[*rpc.Client]()
 		gearClient, err := rpc.NewClient(endpoint)
@@ -51,8 +52,8 @@ func generateDecodedBlockE(logger *zap.Logger, tracer logging.Tracer) firecore.C
 			return fmt.Errorf("error creating gear client: %w", err)
 		}
 		gearClients.Add(gearClient)
-
 		metadataConverter := rpc.NewMetadataConverter(gearClients, logger, tracer)
+
 		err = metadataConverter.Convert(blockhash)
 		if err != nil {
 			return fmt.Errorf("converting metadata: %w", err)
@@ -68,15 +69,17 @@ func generateDecodedBlockE(logger *zap.Logger, tracer logging.Tracer) firecore.C
 		dbg := generator.NewDecodedBlockGenerator("templates/extrinsic.proto.gotmpl", messages)
 		content, err := dbg.Generate()
 		if err != nil {
-			return fmt.Errorf("generating decoded block: %w", err)
+			return fmt.Errorf("generating extrinsic proto: %w", err)
 		}
 
-		err = os.MkdirAll("proto/sf/gear/extrinsic/type/v1", os.ModePerm)
+		directoryPath := "proto/sf/gear/extrinsic/type/v1"
+
+		err = os.MkdirAll(directoryPath, os.ModePerm)
 		if err != nil {
 			return fmt.Errorf("failed to create directory: %w", err)
 		}
 
-		err = os.WriteFile(outputPath, content, 0644)
+		err = os.WriteFile(filepath.Join(directoryPath, outputPath), content, 0644)
 		if err != nil {
 			return fmt.Errorf("failed to write file: %w", err)
 		}
diff --git a/proto/sf/gear/extrinsic/type/v1/extrinsic.proto b/proto/sf/gear/extrinsic/type/v1/extrinsic.proto
index a0bbe8e..70e6665 100644
--- a/proto/sf/gear/extrinsic/type/v1/extrinsic.proto
+++ b/proto/sf/gear/extrinsic/type/v1/extrinsic.proto
@@ -3,7 +3,6 @@ package sf.gear.extrinsic.type.v1;
 
 option go_package = "github.com/streamingfast/firehose-gear/pb/sf/gear/extrinsic/type/v1;pbgearextrinsic";
 import "sf/gear/metadata/type/v1/output.proto";
-
 message RuntimeCall {
   oneof call {
     sf.gear.metadata.type.v1.Babe_PlanConfigChangeCall babe_plan_config_change_call = 1;
diff --git a/rpc/fetcher_test.go b/rpc/fetcher_test.go
index b61a1cc..a095e6d 100644
--- a/rpc/fetcher_test.go
+++ b/rpc/fetcher_test.go
@@ -30,7 +30,7 @@ func Test_DecodeBlockExtrinsics(t *testing.T) {
 	gearClients.Add(gearClient)
 
 	rpcFetcher := NewFetcher(gearClients, fetchInterval, latestBlockRetryInterval, logger)
-	b, _, err := rpcFetcher.Fetch(context.Background(), 14090409)
+	b, _, err := rpcFetcher.Fetch(context.Background(), 14090501)
 	require.NoError(t, err)
 
 	pbGearBlock := &pbgear.Block{}