@@ -16,13 +16,15 @@ type Counters struct {
1616 Events int
1717 Transfers int
1818 Signers int
19+ Balances int
1920}
2021
2122type DataSizeTracker struct {
2223 TransactionsKB int
2324 EventsKB int
2425 TransfersKB int
2526 SignersKB int
27+ BalancesKB int
2628}
2729
2830func savePayloads (network string , chainId int , processedPayloads []fetch.ProcessedPayload , pool * pgxpool.Pool ) (Counters , DataSizeTracker , error ) {
@@ -33,13 +35,15 @@ func savePayloads(network string, chainId int, processedPayloads []fetch.Process
3335 Events : 0 ,
3436 Transfers : 0 ,
3537 Signers : 0 ,
38+ Balances : 0 ,
3639 }
3740
3841 dataSizeTracker := DataSizeTracker {
3942 TransactionsKB : 0 ,
4043 EventsKB : 0 ,
4144 TransfersKB : 0 ,
4245 SignersKB : 0 ,
46+ BalancesKB : 0 ,
4347 }
4448
4549 conn , err := pool .Acquire (context .Background ())
@@ -100,6 +104,18 @@ func savePayloads(network string, chainId int, processedPayloads []fetch.Process
100104 return Counters {}, DataSizeTracker {}, fmt .Errorf ("saving events -> %w" , err )
101105 }
102106
107+ balances , err := PrepareNonFungibleBalancesData (events )
108+ if err != nil {
109+ return Counters {}, DataSizeTracker {}, fmt .Errorf ("preparing non fungible balances -> %w" , err )
110+ }
111+ if err := repository .SaveBalancesToDatabase (balances , tx ); err != nil {
112+ return Counters {}, DataSizeTracker {}, fmt .Errorf ("saving non fungible balances: %w" , err )
113+ }
114+
115+ balancesSize := approximateSize (balances )
116+ dataSizeTracker .BalancesKB += balancesSize
117+ counters .Balances += len (balances )
118+
103119 size := approximateSize (events )
104120 dataSizeTracker .EventsKB += size
105121 counters .Events += len (events )
@@ -114,6 +130,15 @@ func savePayloads(network string, chainId int, processedPayloads []fetch.Process
114130 return Counters {}, DataSizeTracker {}, fmt .Errorf ("saving transfers: %w" , err )
115131 }
116132
133+ balances := PrepareFungibleBalancesData (transfers )
134+ if err := repository .SaveBalancesToDatabase (balances , tx ); err != nil {
135+ return Counters {}, DataSizeTracker {}, fmt .Errorf ("saving fungible balances: %w" , err )
136+ }
137+
138+ balancesSize := approximateSize (balances )
139+ dataSizeTracker .BalancesKB += balancesSize
140+ counters .Balances += len (balances )
141+
117142 size := approximateSize (transfers )
118143 dataSizeTracker .TransfersKB += size
119144 counters .Transfers += len (transfers )
@@ -130,20 +155,6 @@ func savePayloads(network string, chainId int, processedPayloads []fetch.Process
130155 counters .Signers += len (signers )
131156 }
132157
133- // for _, processedPayload := range processedPayloads {
134- // guards, err := PrepareGuards(processedPayload)
135- // if err != nil {
136- // return Counters{}, DataSizeTracker{}, fmt.Errorf("preparing guards -> %w", err)
137- // }
138- // if err := repository.SaveGuardsToDatabase(guards, tx); err != nil {
139- // return Counters{}, DataSizeTracker{}, fmt.Errorf("saving guards -> %w", err)
140- // }
141-
142- // size := approximateSize(guards)
143- // dataSizeTracker.GuardsKB += size
144- // counters.Guards += len(guards)
145- // }
146-
147158 log .Printf ("Saved payloads in %fs\n " , time .Since (startTime ).Seconds ())
148159
149160 commitStartTime := time .Now ()
@@ -156,6 +167,7 @@ func savePayloads(network string, chainId int, processedPayloads []fetch.Process
156167 dataSizeTracker .EventsKB /= 1024
157168 dataSizeTracker .TransfersKB /= 1024
158169 dataSizeTracker .SignersKB /= 1024
170+ dataSizeTracker .BalancesKB /= 1024
159171
160172 return counters , dataSizeTracker , nil
161173}
0 commit comments