From 9766c82208b87c43e3efa82c2296180d3323dede Mon Sep 17 00:00:00 2001 From: Chris Gianelloni Date: Wed, 2 Aug 2023 16:29:35 -0400 Subject: [PATCH] feat: support chainsync transaction and rollback in notify output Signed-off-by: Chris Gianelloni --- output/notify/notify.go | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/output/notify/notify.go b/output/notify/notify.go index 2ac54c5..5f9a5e7 100644 --- a/output/notify/notify.go +++ b/output/notify/notify.go @@ -67,6 +67,45 @@ func (n *NotifyOutput) Start() error { if err != nil { panic(err) } + case "chainsync.rollback": + payload := evt.Payload + if payload == nil { + panic(fmt.Errorf("ERROR: %v", payload)) + } + + re := payload.(chainsync.RollbackEvent) + err := beeep.Notify( + "Snek", + fmt.Sprintf("Rollback!\nSlotNumber: %d\nBlockHash: %s", + re.SlotNumber, + re.BlockHash, + ), + "assets/snek-icon.png", + ) + if err != nil { + panic(err) + } + case "chainsync.transaction": + payload := evt.Payload + if payload == nil { + panic(fmt.Errorf("ERROR: %v", payload)) + } + + te := payload.(chainsync.TransactionEvent) + err := beeep.Notify( + "Snek", + fmt.Sprintf("New Transaction!\nBlockNumber: %d, SlotNumber: %d\nInputs: %d, Outputs: %d\nHash: %s", + te.BlockNumber, + te.SlotNumber, + len(te.Inputs), + len(te.Outputs), + te.TransactionHash, + ), + "assets/snek-icon.png", + ) + if err != nil { + panic(err) + } default: err := beeep.Notify( "Snek",