Skip to content

Commit bd3f451

Browse files
committed
update
1 parent b417642 commit bd3f451

File tree

3 files changed

+23
-12
lines changed

3 files changed

+23
-12
lines changed

ethreceipts/ethreceipts.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -426,6 +426,11 @@ func (l *ReceiptsListener) FetchTransactionReceiptWithFilter(ctx context.Context
426426
default:
427427
}
428428
}
429+
430+
if !filterer.Options().Finalize {
431+
// If not finalizing, we can exit after first mined receipt
432+
return
433+
}
429434
}
430435
}
431436
}()

ethreceipts/ethreceipts_test.go

Lines changed: 17 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -199,22 +199,26 @@ func TestFetchTransactionReceiptBasic(t *testing.T) {
199199
go func(i int, txnHash common.Hash) {
200200
defer wg.Done()
201201

202-
receipt, waitFinality, err := receiptsListener.FetchTransactionReceiptWithFinality(ctx, txnHash, 7)
202+
receipt, err := receiptsListener.FetchTransactionReceipt(ctx, txnHash, 7)
203203
require.NoError(t, err)
204204
require.NotNil(t, receipt)
205205
require.True(t, receipt.Status() == types.ReceiptStatusSuccessful)
206206
require.False(t, receipt.Final)
207-
208207
t.Logf("=> MINED %d :: %s", i, receipt.TransactionHash().String())
209208

210-
_ = waitFinality
211-
finalReceipt, err := waitFinality(context.Background())
212-
require.NoError(t, err)
213-
require.NotNil(t, finalReceipt)
214-
require.True(t, finalReceipt.Status() == types.ReceiptStatusSuccessful)
215-
require.True(t, finalReceipt.Final)
216-
217-
t.Logf("=> FINAL %d :: %s", i, receipt.TransactionHash().String())
209+
// receipt, waitFinality, err := receiptsListener.FetchTransactionReceiptWithFinality(ctx, txnHash, 7)
210+
// require.NoError(t, err)
211+
// require.NotNil(t, receipt)
212+
// require.True(t, receipt.Status() == types.ReceiptStatusSuccessful)
213+
// require.False(t, receipt.Final)
214+
// t.Logf("=> MINED %d :: %s", i, receipt.TransactionHash().String())
215+
//
216+
// finalReceipt, err := waitFinality(context.Background())
217+
// require.NoError(t, err)
218+
// require.NotNil(t, finalReceipt)
219+
// require.True(t, finalReceipt.Status() == types.ReceiptStatusSuccessful)
220+
// require.True(t, finalReceipt.Final)
221+
// t.Logf("=> FINAL %d :: %s", i, receipt.TransactionHash().String())
218222
}(i, txnHash)
219223
}
220224
wg.Wait()
@@ -574,7 +578,7 @@ func TestReceiptsListenerERC20(t *testing.T) {
574578
ethreceipts.FilterLogTopic(erc20TransferTopic).Finalize(true).ID(9999).MaxWait(3),
575579

576580
// won't be found..
577-
ethreceipts.FilterFrom(ethkit.Address{}).MaxWait(0).ID(8888),
581+
ethreceipts.FilterFrom(ethkit.Address{1, 2, 3, 4}).MaxWait(0).ID(8888),
578582

579583
// ethreceipts.FilterLogs(func(logs []*types.Log) bool {
580584
// for _, log := range logs {
@@ -674,6 +678,8 @@ loop:
674678
assert.True(t, found, "looking for matched receipt %s", mr.TransactionHash().String())
675679
}
676680

681+
t.Logf("matchedCount: %d", matchedCount)
682+
t.Logf("erc20Receipts: %d", len(erc20Receipts))
677683
require.Equal(t, matchedCount, len(erc20Receipts)*2)
678684
}
679685

ethreceipts/finalizer.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ func (f *finalizer) enqueue(filterID uint64, receipt Receipt, blockNum *big.Int)
5050
txnID := txnHash
5151
if filterID > 0 {
5252
for i := 0; i < 8; i++ {
53-
txnID[i] = txnID[i] + byte(filterID>>i)
53+
txnID[i] = txnID[i] + byte(filterID>>uint(i))
5454
}
5555
}
5656

0 commit comments

Comments
 (0)