From 878ba9cf0a15fbd4ae166e4f85228743ec20abf0 Mon Sep 17 00:00:00 2001 From: Jeffery Walsh Date: Tue, 30 May 2023 12:51:55 -0700 Subject: [PATCH 1/9] handle reorg in eventinndexer since event.raw.removed is unreliable --- packages/eventindexer/event.go | 11 +++++ .../indexer/detect_and_handle_reorg.go | 24 ++++++++++ .../indexer/save_block_proposed_event.go | 7 ++- .../indexer/save_block_proven_event.go | 7 ++- .../indexer/save_block_verified_event.go | 7 ++- .../1666650599_create_events_table.sql | 1 + .../eventindexer/mock/event_repository.go | 27 +++++++++++ packages/eventindexer/repo/event.go | 28 ++++++++++++ packages/eventindexer/repo/event_test.go | 45 +++++++++++++++++++ 9 files changed, 151 insertions(+), 6 deletions(-) create mode 100644 packages/eventindexer/indexer/detect_and_handle_reorg.go diff --git a/packages/eventindexer/event.go b/packages/eventindexer/event.go index 8ad022c023..66fd1a68ad 100644 --- a/packages/eventindexer/event.go +++ b/packages/eventindexer/event.go @@ -2,6 +2,7 @@ package eventindexer import ( "context" + "database/sql" "math/big" "gorm.io/datatypes" @@ -23,6 +24,7 @@ type Event struct { ChainID int64 `json:"chainID"` Event string `json:"event"` Address string `json:"address"` + BlockID sql.NullInt64 `json:"blockID"` } // SaveEventOpts @@ -32,6 +34,7 @@ type SaveEventOpts struct { ChainID *big.Int Event string Address string + BlockID *int64 } type UniqueProversResponse struct { @@ -53,5 +56,13 @@ type EventRepository interface { FindUniqueProposers( ctx context.Context, ) ([]UniqueProposersResponse, error) + FindByEventTypeAndBlockID( + ctx context.Context, + eventType string, + blockID int64) (*Event, error) + Delete( + ctx context.Context, + id int, + ) error GetCountByAddressAndEventName(ctx context.Context, address string, event string) (int, error) } diff --git a/packages/eventindexer/indexer/detect_and_handle_reorg.go b/packages/eventindexer/indexer/detect_and_handle_reorg.go new file mode 100644 index 0000000000..70814f39f1 --- /dev/null +++ b/packages/eventindexer/indexer/detect_and_handle_reorg.go @@ -0,0 +1,24 @@ +package indexer + +import ( + "context" + + "github.com/pkg/errors" +) + +func (svc *Service) detectAndHandleReorg(ctx context.Context, event string, blockID int64) error { + existingEvent, err := svc.eventRepo.FindByEventTypeAndBlockID(ctx, event, blockID) + if err != nil { + return errors.Wrap(err, "svc.eventRepo.FindByEventTypeAndBlockID") + } + + if existingEvent != nil { + // reorg detected + err := svc.eventRepo.Delete(ctx, existingEvent.ID) + if err != nil { + return errors.Wrap(err, "svc.eventRepo.Find") + } + } + + return nil +} diff --git a/packages/eventindexer/indexer/save_block_proposed_event.go b/packages/eventindexer/indexer/save_block_proposed_event.go index ecf37d1814..32c0bf4672 100644 --- a/packages/eventindexer/indexer/save_block_proposed_event.go +++ b/packages/eventindexer/indexer/save_block_proposed_event.go @@ -25,8 +25,8 @@ func (svc *Service) saveBlockProposedEvents( for { event := events.Event - if event.Raw.Removed { - continue + if err := svc.detectAndHandleReorg(ctx, eventindexer.EventNameBlockProposed, event.Id.Int64()); err != nil { + return errors.Wrap(err, "svc.detectAndHandleReorg") } tx, _, err := svc.ethClient.TransactionByHash(ctx, event.Raw.TxHash) @@ -66,12 +66,15 @@ func (svc *Service) saveBlockProposedEvent( return errors.Wrap(err, "json.Marshal(event)") } + blockID := event.Id.Int64() + _, err = svc.eventRepo.Save(ctx, eventindexer.SaveEventOpts{ Name: eventindexer.EventNameBlockProposed, Data: string(marshaled), ChainID: chainID, Event: eventindexer.EventNameBlockProposed, Address: sender.Hex(), + BlockID: &blockID, }) if err != nil { return errors.Wrap(err, "svc.eventRepo.Save") diff --git a/packages/eventindexer/indexer/save_block_proven_event.go b/packages/eventindexer/indexer/save_block_proven_event.go index f76ee379de..5e5b78d50a 100644 --- a/packages/eventindexer/indexer/save_block_proven_event.go +++ b/packages/eventindexer/indexer/save_block_proven_event.go @@ -30,8 +30,8 @@ func (svc *Service) saveBlockProvenEvents( for { event := events.Event - if event.Raw.Removed { - continue + if err := svc.detectAndHandleReorg(ctx, eventindexer.EventNameBlockProven, event.Id.Int64()); err != nil { + return errors.Wrap(err, "svc.detectAndHandleReorg") } log.Infof("blockProven by: %v", event.Prover.Hex()) @@ -60,12 +60,15 @@ func (svc *Service) saveBlockProvenEvent( return errors.Wrap(err, "json.Marshal(event)") } + blockID := event.Id.Int64() + _, err = svc.eventRepo.Save(ctx, eventindexer.SaveEventOpts{ Name: eventindexer.EventNameBlockProven, Data: string(marshaled), ChainID: chainID, Event: eventindexer.EventNameBlockProven, Address: event.Prover.Hex(), + BlockID: &blockID, }) if err != nil { return errors.Wrap(err, "svc.eventRepo.Save") diff --git a/packages/eventindexer/indexer/save_block_verified_event.go b/packages/eventindexer/indexer/save_block_verified_event.go index b56eff36a3..cc930013f8 100644 --- a/packages/eventindexer/indexer/save_block_verified_event.go +++ b/packages/eventindexer/indexer/save_block_verified_event.go @@ -26,8 +26,8 @@ func (svc *Service) saveBlockVerifiedEvents( log.Infof("new blockVerified event, blockId: %v", event.Id) - if event.Raw.Removed { - continue + if err := svc.detectAndHandleReorg(ctx, eventindexer.EventNameBlockVerified, event.Id.Int64()); err != nil { + return errors.Wrap(err, "svc.detectAndHandleReorg") } if err := svc.saveBlockVerifiedEvent(ctx, chainID, event); err != nil { @@ -52,12 +52,15 @@ func (svc *Service) saveBlockVerifiedEvent( return errors.Wrap(err, "json.Marshal(event)") } + blockID := event.Id.Int64() + _, err = svc.eventRepo.Save(ctx, eventindexer.SaveEventOpts{ Name: eventindexer.EventNameBlockVerified, Data: string(marshaled), ChainID: chainID, Event: eventindexer.EventNameBlockVerified, Address: "", + BlockID: &blockID, }) if err != nil { return errors.Wrap(err, "svc.eventRepo.Save") diff --git a/packages/eventindexer/migrations/1666650599_create_events_table.sql b/packages/eventindexer/migrations/1666650599_create_events_table.sql index 36aec4c6e4..99af891780 100644 --- a/packages/eventindexer/migrations/1666650599_create_events_table.sql +++ b/packages/eventindexer/migrations/1666650599_create_events_table.sql @@ -7,6 +7,7 @@ CREATE TABLE IF NOT EXISTS events ( chain_id int NOT NULL, data JSON NOT NULL, address VARCHAR(255) NOT NULL DEFAULT "", + block_id int DEFAULT NULL, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP , updated_at DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP ); diff --git a/packages/eventindexer/mock/event_repository.go b/packages/eventindexer/mock/event_repository.go index 9c9fe9a34c..6e27422863 100644 --- a/packages/eventindexer/mock/event_repository.go +++ b/packages/eventindexer/mock/event_repository.go @@ -6,6 +6,7 @@ import ( "github.com/taikoxyz/taiko-mono/packages/eventindexer" "gorm.io/datatypes" + "gorm.io/gorm" ) type EventRepository struct { @@ -57,3 +58,29 @@ func (r *EventRepository) GetCountByAddressAndEventName( return count, nil } + +func (r *EventRepository) FindByEventTypeAndBlockID( + ctx context.Context, + eventType string, + blockID int64) (*eventindexer.Event, error) { + for _, e := range r.events { + if e.Event == eventType && e.BlockID.Int64 == blockID { + return e, nil + } + } + + return nil, gorm.ErrRecordNotFound +} + +func (r *EventRepository) Delete( + ctx context.Context, + id int, +) error { + for i, e := range r.events { + if e.ID == id { + r.events = append(r.events[:i], r.events[i+1:]...) + } + } + + return nil +} diff --git a/packages/eventindexer/repo/event.go b/packages/eventindexer/repo/event.go index fd877465fd..abca2b9974 100644 --- a/packages/eventindexer/repo/event.go +++ b/packages/eventindexer/repo/event.go @@ -6,6 +6,7 @@ import ( "github.com/pkg/errors" "github.com/taikoxyz/taiko-mono/packages/eventindexer" "gorm.io/datatypes" + "gorm.io/gorm" ) type EventRepository struct { @@ -38,6 +39,33 @@ func (r *EventRepository) Save(ctx context.Context, opts eventindexer.SaveEventO return e, nil } +func (r *EventRepository) FindByEventTypeAndBlockID( + ctx context.Context, + eventType string, + blockID int64) (*eventindexer.Event, error) { + e := &eventindexer.Event{} + + if err := r.db.GormDB(). + Where("event =?", eventType). + Where("block_id = ?", blockID).First(e).Error; err != nil { + if err == gorm.ErrRecordNotFound { + return nil, nil + } + + return nil, err + } + + return e, nil +} + +func (r *EventRepository) Delete( + ctx context.Context, + id int, +) error { + return r.db.GormDB(). + Where("id = ?", id).Delete(eventindexer.Event{}).Error +} + func (r *EventRepository) FindUniqueProvers( ctx context.Context, ) ([]eventindexer.UniqueProversResponse, error) { diff --git a/packages/eventindexer/repo/event_test.go b/packages/eventindexer/repo/event_test.go index 1bdfa17de8..c52003e01f 100644 --- a/packages/eventindexer/repo/event_test.go +++ b/packages/eventindexer/repo/event_test.go @@ -209,3 +209,48 @@ func TestIntegration_Event_GetCountByAddressAndEventName(t *testing.T) { }) } } + +func TestIntegration_Event_Delete(t *testing.T) { + db, close, err := testMysql(t) + assert.Equal(t, nil, err) + + defer close() + + eventRepo, err := NewEventRepository(db) + assert.Equal(t, nil, err) + + event, err := eventRepo.Save(context.Background(), dummyProveEventOpts) + + assert.Equal(t, nil, err) + + tests := []struct { + name string + id int + wantErr error + }{ + { + "success", + event.ID, + nil, + }, + } + + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + err := eventRepo.Delete( + context.Background(), + tt.id, + ) + assert.Equal(t, tt.wantErr, err) + + foundEvent, err := eventRepo.FindByEventTypeAndBlockID( + context.Background(), + event.Event, + event.BlockID.Int64, + ) + + assert.Equal(t, nil, err) + assert.Equal(t, nil, foundEvent) + }) + } +} From ec19af78cd77d8e56b82bd44a17dc87b013245b7 Mon Sep 17 00:00:00 2001 From: Jeffery Walsh Date: Tue, 30 May 2023 13:23:42 -0700 Subject: [PATCH 2/9] relayer handle reorg --- .../indexer/detect_and_handle_reorg.go | 2 +- packages/relayer/event.go | 1 + .../indexer/detect_and_handle_reorg.go | 38 +++++++++++++++++++ packages/relayer/indexer/handle_event.go | 9 +---- packages/relayer/mock/event_repository.go | 13 +++++++ packages/relayer/repo/event.go | 8 ++++ 6 files changed, 63 insertions(+), 8 deletions(-) create mode 100644 packages/relayer/indexer/detect_and_handle_reorg.go diff --git a/packages/eventindexer/indexer/detect_and_handle_reorg.go b/packages/eventindexer/indexer/detect_and_handle_reorg.go index 70814f39f1..bc61ee7807 100644 --- a/packages/eventindexer/indexer/detect_and_handle_reorg.go +++ b/packages/eventindexer/indexer/detect_and_handle_reorg.go @@ -16,7 +16,7 @@ func (svc *Service) detectAndHandleReorg(ctx context.Context, event string, bloc // reorg detected err := svc.eventRepo.Delete(ctx, existingEvent.ID) if err != nil { - return errors.Wrap(err, "svc.eventRepo.Find") + return errors.Wrap(err, "svc.eventRepo.Delete") } } diff --git a/packages/relayer/event.go b/packages/relayer/event.go index 8f6653cd32..f50e7380bd 100644 --- a/packages/relayer/event.go +++ b/packages/relayer/event.go @@ -101,4 +101,5 @@ type EventRepository interface { ctx context.Context, msgHash string, ) ([]*Event, error) + Delete(ctx context.Context, id int) error } diff --git a/packages/relayer/indexer/detect_and_handle_reorg.go b/packages/relayer/indexer/detect_and_handle_reorg.go new file mode 100644 index 0000000000..b354c20f6c --- /dev/null +++ b/packages/relayer/indexer/detect_and_handle_reorg.go @@ -0,0 +1,38 @@ +package indexer + +import ( + "context" + + "github.com/pkg/errors" + "github.com/taikoxyz/taiko-mono/packages/relayer" +) + +func (svc *Service) detectAndHandleReorg(ctx context.Context, eventType string, msgHash string) error { + events, err := svc.eventRepo.FindAllByMsgHash(ctx, msgHash) + if err != nil { + return errors.Wrap(err, "svc.eventRepo.FindAllByMsgHash") + } + + if events == nil { + return nil + } + + var existingEvent *relayer.Event + + for _, e := range events { + if e.Event == eventType && e.MsgHash == msgHash { + existingEvent = e + break + } + } + + if existingEvent != nil { + // reorg detected + err := svc.eventRepo.Delete(ctx, existingEvent.ID) + if err != nil { + return errors.Wrap(err, "svc.eventRepo.Delete") + } + } + + return nil +} diff --git a/packages/relayer/indexer/handle_event.go b/packages/relayer/indexer/handle_event.go index a0f447db98..aad5552363 100644 --- a/packages/relayer/indexer/handle_event.go +++ b/packages/relayer/indexer/handle_event.go @@ -18,15 +18,10 @@ func (svc *Service) handleEvent( chainID *big.Int, event *bridge.BridgeMessageSent, ) error { - raw := event.Raw - log.Infof("event found for msgHash: %v, txHash: %v", common.Hash(event.MsgHash).Hex(), event.Raw.TxHash.Hex()) - // handle chain re-org by checking Removed property, no need to - // return error, just continue and do not process. - if raw.Removed { - log.Warnf("event msgHash was removed: %v", common.Hash(event.MsgHash).Hex()) - return nil + if err := svc.detectAndHandleReorg(ctx, relayer.EventNameMessageSent, common.Hash(event.MsgHash).Hex()); err != nil { + return errors.Wrap(err, "svc.detectAndHandleReorg") } if event.MsgHash == relayer.ZeroHash { diff --git a/packages/relayer/mock/event_repository.go b/packages/relayer/mock/event_repository.go index dd3317198f..53208a11ad 100644 --- a/packages/relayer/mock/event_repository.go +++ b/packages/relayer/mock/event_repository.go @@ -107,3 +107,16 @@ func (r *EventRepository) FindAllByMsgHash( return events, nil } + +func (r *EventRepository) Delete( + ctx context.Context, + id int, +) error { + for i, e := range r.events { + if e.ID == id { + r.events = append(r.events[:i], r.events[i+1:]...) + } + } + + return nil +} diff --git a/packages/relayer/repo/event.go b/packages/relayer/repo/event.go index a5884bba76..21ef4ec9f2 100644 --- a/packages/relayer/repo/event.go +++ b/packages/relayer/repo/event.go @@ -112,3 +112,11 @@ func (r *EventRepository) FindAllByAddress( return page, nil } + +func (r *EventRepository) Delete( + ctx context.Context, + id int, +) error { + return r.db.GormDB(). + Where("id = ?", id).Delete(relayer.Event{}).Error +} From fa3da5559a3aa34dcb34abc33870e3f5e1bdbdfc Mon Sep 17 00:00:00 2001 From: Jeffery Walsh Date: Tue, 30 May 2023 13:24:53 -0700 Subject: [PATCH 3/9] handle reorg for message status changed --- .../indexer/save_message_status_changed_events.go | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/packages/relayer/indexer/save_message_status_changed_events.go b/packages/relayer/indexer/save_message_status_changed_events.go index 49ec968744..ba74f59691 100644 --- a/packages/relayer/indexer/save_message_status_changed_events.go +++ b/packages/relayer/indexer/save_message_status_changed_events.go @@ -24,8 +24,17 @@ func (svc *Service) saveMessageStatusChangedEvents( for { event := events.Event + log.Infof("messageStatusChanged: %v", common.Hash(event.MsgHash).Hex()) + if err := svc.detectAndHandleReorg( + ctx, + relayer.EventNameMessageStatusChanged, + common.Hash(event.MsgHash).Hex(), + ); err != nil { + return errors.Wrap(err, "svc.detectAndHandleReorg") + } + if err := svc.saveMessageStatusChangedEvent(ctx, chainID, event); err != nil { return errors.Wrap(err, "svc.saveMessageStatusChangedEvent") } From e18431b1ade95d4968cc7be187dd4069ccfd1cb6 Mon Sep 17 00:00:00 2001 From: Jeffery Walsh Date: Tue, 30 May 2023 13:25:44 -0700 Subject: [PATCH 4/9] . --- packages/relayer/repo/event.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/packages/relayer/repo/event.go b/packages/relayer/repo/event.go index 21ef4ec9f2..bbea2e2a11 100644 --- a/packages/relayer/repo/event.go +++ b/packages/relayer/repo/event.go @@ -10,6 +10,7 @@ import ( "github.com/pkg/errors" "github.com/taikoxyz/taiko-mono/packages/relayer" "gorm.io/datatypes" + "gorm.io/gorm" ) type EventRepository struct { @@ -72,6 +73,10 @@ func (r *EventRepository) FindAllByMsgHash( // find all message sent events if err := r.db.GormDB().Where("msg_hash = ?", msgHash). Find(&e).Error; err != nil { + if err == gorm.ErrRecordNotFound { + return e, nil + } + return nil, errors.Wrap(err, "r.db.Find") } From 591c41be93ec6d7bcd73250d42092bb0a42c301f Mon Sep 17 00:00:00 2001 From: Jeffery Walsh Date: Tue, 30 May 2023 13:35:14 -0700 Subject: [PATCH 5/9] test --- packages/eventindexer/repo/event.go | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/packages/eventindexer/repo/event.go b/packages/eventindexer/repo/event.go index abca2b9974..949a2f9f61 100644 --- a/packages/eventindexer/repo/event.go +++ b/packages/eventindexer/repo/event.go @@ -62,8 +62,11 @@ func (r *EventRepository) Delete( ctx context.Context, id int, ) error { - return r.db.GormDB(). - Where("id = ?", id).Delete(eventindexer.Event{}).Error + e := &eventindexer.Event{ + ID: id, + } + + return r.db.GormDB().Delete(e).Error } func (r *EventRepository) FindUniqueProvers( From 91f56634ec549d2221f9817e7066f07bfe74cfd0 Mon Sep 17 00:00:00 2001 From: Jeffery Walsh Date: Tue, 30 May 2023 13:43:04 -0700 Subject: [PATCH 6/9] . --- packages/eventindexer/repo/event.go | 6 ++---- packages/relayer/repo/event.go | 5 +++-- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/packages/eventindexer/repo/event.go b/packages/eventindexer/repo/event.go index 949a2f9f61..e2e00a949f 100644 --- a/packages/eventindexer/repo/event.go +++ b/packages/eventindexer/repo/event.go @@ -62,11 +62,9 @@ func (r *EventRepository) Delete( ctx context.Context, id int, ) error { - e := &eventindexer.Event{ - ID: id, - } + e := &eventindexer.Event{} - return r.db.GormDB().Delete(e).Error + return r.db.GormDB().Delete(e, id).Error } func (r *EventRepository) FindUniqueProvers( diff --git a/packages/relayer/repo/event.go b/packages/relayer/repo/event.go index bbea2e2a11..6594c8f1da 100644 --- a/packages/relayer/repo/event.go +++ b/packages/relayer/repo/event.go @@ -122,6 +122,7 @@ func (r *EventRepository) Delete( ctx context.Context, id int, ) error { - return r.db.GormDB(). - Where("id = ?", id).Delete(relayer.Event{}).Error + return r.db.GormDB().Delete(relayer.Event{ + ID: id, + }).Error } From d7c0a004065627fa0b9af894135c61bd8ebd421a Mon Sep 17 00:00:00 2001 From: Jeffery Walsh Date: Tue, 30 May 2023 13:45:44 -0700 Subject: [PATCH 7/9] . --- packages/eventindexer/repo/event.go | 2 +- packages/eventindexer/repo/event_test.go | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/packages/eventindexer/repo/event.go b/packages/eventindexer/repo/event.go index e2e00a949f..2ce163a4d5 100644 --- a/packages/eventindexer/repo/event.go +++ b/packages/eventindexer/repo/event.go @@ -46,7 +46,7 @@ func (r *EventRepository) FindByEventTypeAndBlockID( e := &eventindexer.Event{} if err := r.db.GormDB(). - Where("event =?", eventType). + Where("event = ?", eventType). Where("block_id = ?", blockID).First(e).Error; err != nil { if err == gorm.ErrRecordNotFound { return nil, nil diff --git a/packages/eventindexer/repo/event_test.go b/packages/eventindexer/repo/event_test.go index c52003e01f..43462dbc95 100644 --- a/packages/eventindexer/repo/event_test.go +++ b/packages/eventindexer/repo/event_test.go @@ -11,12 +11,14 @@ import ( ) var ( - dummyProveEventOpts = eventindexer.SaveEventOpts{ + blockID int64 = 1 + dummyProveEventOpts = eventindexer.SaveEventOpts{ Name: eventindexer.EventNameBlockProven, Address: "0x123", Data: "{\"data\":\"something\"}", Event: eventindexer.EventNameBlockProven, ChainID: big.NewInt(1), + BlockID: &blockID, } dummyProposeEventOpts = eventindexer.SaveEventOpts{ Name: eventindexer.EventNameBlockProposed, @@ -24,6 +26,7 @@ var ( Data: "{\"data\":\"something\"}", Event: eventindexer.EventNameBlockProposed, ChainID: big.NewInt(1), + BlockID: &blockID, } ) From 82ed2e2f7d8401d9e51ae149d531ba78b02bb5c9 Mon Sep 17 00:00:00 2001 From: Jeffery Walsh Date: Tue, 30 May 2023 13:59:09 -0700 Subject: [PATCH 8/9] assert --- go.mod | 3 ++- go.sum | 4 ++++ packages/eventindexer/repo/event_test.go | 4 ++-- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 6148f70b86..18d17b45c8 100644 --- a/go.mod +++ b/go.mod @@ -17,7 +17,7 @@ require ( github.com/pressly/goose/v3 v3.7.0 github.com/prometheus/client_golang v1.14.0 github.com/sirupsen/logrus v1.9.0 - github.com/stretchr/testify v1.8.0 + github.com/stretchr/testify v1.8.4 github.com/testcontainers/testcontainers-go v0.15.0 golang.org/x/sync v0.1.0 gopkg.in/go-playground/assert.v1 v1.2.1 @@ -86,6 +86,7 @@ require ( github.com/prometheus/common v0.39.0 // indirect github.com/prometheus/procfs v0.9.0 // indirect github.com/shirou/gopsutil v3.21.4-0.20210419000835-c7a38de76ee5+incompatible // indirect + github.com/stretchr/objx v0.5.0 // indirect github.com/tklauser/go-sysconf v0.3.5 // indirect github.com/tklauser/numcpus v0.2.2 // indirect github.com/valyala/bytebufferpool v1.0.0 // indirect diff --git a/go.sum b/go.sum index 14078b2b37..e298e030ac 100644 --- a/go.sum +++ b/go.sum @@ -861,6 +861,8 @@ github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+ github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= +github.com/stretchr/objx v0.5.0 h1:1zr/of2m5FGMsad5YfcqgdqdWrIhu+EBEJRhR1U7z/c= +github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= github.com/stretchr/testify v0.0.0-20180303142811-b89eecf5ca5d/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= @@ -871,6 +873,8 @@ github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/ github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.8.0 h1:pSgiaMZlXftHpm5L7V1+rVB+AZJydKsMxsQBIJw4PKk= github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= +github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= +github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= github.com/syndtr/gocapability v0.0.0-20170704070218-db04d3cc01c8/go.mod h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww= github.com/syndtr/gocapability v0.0.0-20180916011248-d98352740cb2/go.mod h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww= github.com/syndtr/gocapability v0.0.0-20200815063812-42c35b437635/go.mod h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww= diff --git a/packages/eventindexer/repo/event_test.go b/packages/eventindexer/repo/event_test.go index 43462dbc95..62b69010a9 100644 --- a/packages/eventindexer/repo/event_test.go +++ b/packages/eventindexer/repo/event_test.go @@ -6,8 +6,8 @@ import ( "testing" "github.com/davecgh/go-spew/spew" + "github.com/stretchr/testify/assert" "github.com/taikoxyz/taiko-mono/packages/eventindexer" - "gotest.tools/assert" ) var ( @@ -253,7 +253,7 @@ func TestIntegration_Event_Delete(t *testing.T) { ) assert.Equal(t, nil, err) - assert.Equal(t, nil, foundEvent) + assert.Nil(t, foundEvent) }) } } From fef36611c28d6138c07f3a36dee9ac7bb3b60e8c Mon Sep 17 00:00:00 2001 From: Jeffery Walsh Date: Tue, 30 May 2023 14:05:24 -0700 Subject: [PATCH 9/9] relayer delete --- packages/relayer/repo/event.go | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/packages/relayer/repo/event.go b/packages/relayer/repo/event.go index 6594c8f1da..9d413aa673 100644 --- a/packages/relayer/repo/event.go +++ b/packages/relayer/repo/event.go @@ -122,7 +122,5 @@ func (r *EventRepository) Delete( ctx context.Context, id int, ) error { - return r.db.GormDB().Delete(relayer.Event{ - ID: id, - }).Error + return r.db.GormDB().Delete(relayer.Event{}, id).Error }