Skip to content

Commit af063a3

Browse files
authored
Merge branch 'main' into feature/v1.5.0
2 parents d06eb84 + 4585b09 commit af063a3

File tree

1 file changed

+13
-6
lines changed

1 file changed

+13
-6
lines changed

safe_transaction_service/history/indexers/internal_tx_indexer.py

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -286,18 +286,25 @@ def trace_transactions(
286286
def filter_relevant_txs(
287287
self, internal_txs: Generator[InternalTx]
288288
) -> Generator[InternalTx]:
289+
relevant_txs_to_create = []
289290
for internal_tx in internal_txs:
290291
if internal_tx.is_relevant:
291292
if internal_tx.is_ether_transfer:
292-
SafeRelevantTransaction.objects.get_or_create(
293-
ethereum_tx_id=internal_tx.ethereum_tx_id,
294-
safe=internal_tx.to,
295-
defaults={
296-
"timestamp": internal_tx.timestamp,
297-
},
293+
relevant_txs_to_create.append(
294+
SafeRelevantTransaction(
295+
ethereum_tx_id=internal_tx.ethereum_tx_id,
296+
safe=internal_tx.to,
297+
timestamp=internal_tx.timestamp,
298+
)
298299
)
299300
yield internal_tx
300301

302+
# Batch create SafeRelevantTransaction records
303+
if relevant_txs_to_create:
304+
SafeRelevantTransaction.objects.bulk_create(
305+
relevant_txs_to_create, ignore_conflicts=True
306+
)
307+
301308
def process_elements(
302309
self, tx_hash_with_traces: OrderedDict[bytes, FilterTrace | None]
303310
) -> list[HexBytes]:

0 commit comments

Comments
 (0)