From f589f5c0ed4e09bb3ce9c45b034c6350262a16bb Mon Sep 17 00:00:00 2001 From: Henrik Hautakoski Date: Tue, 17 Jan 2023 21:01:09 +0100 Subject: [PATCH] ship_processor.go: Move decodeAction() to abi/helpers.go --- abi/helpers.go | 19 +++++++++++++++++++ ship_processor.go | 17 ++--------------- 2 files changed, 21 insertions(+), 15 deletions(-) create mode 100644 abi/helpers.go diff --git a/abi/helpers.go b/abi/helpers.go new file mode 100644 index 0000000..1a9ea99 --- /dev/null +++ b/abi/helpers.go @@ -0,0 +1,19 @@ +package abi + +import ( + "encoding/json" + + eos "github.com/eoscanada/eos-go" +) + +func DecodeAction(eos_ABI *eos.ABI, data []byte, actionName eos.ActionName) (interface{}, error) { + var v interface{} + + bytes, err := eos_ABI.DecodeAction(data, actionName) + if err != nil { + return v, err + } + + err = json.Unmarshal(bytes, &v) + return v, err +} diff --git a/ship_processor.go b/ship_processor.go index bc19651..49c5e75 100644 --- a/ship_processor.go +++ b/ship_processor.go @@ -8,7 +8,6 @@ import ( "eosio-ship-trace-reader/abi" "eosio-ship-trace-reader/transport" - "github.com/eoscanada/eos-go" "github.com/eoscanada/eos-go/ship" ) @@ -18,18 +17,6 @@ type ShipReader struct { publisher transport.Publisher } -func decodeAction(abi *eos.ABI, data []byte, actionName eos.ActionName) (interface{}, error) { - var v interface{} - - bytes, err := abi.DecodeAction(data, actionName) - if err != nil { - return v, err - } - - err = json.Unmarshal(bytes, &v) - return v, err -} - func encodeMessage(v interface{}) ([]byte, bool) { payload, err := json.Marshal(v) if err != nil { @@ -98,9 +85,9 @@ func (reader *ShipReader) processTraces(traces []*ship.TransactionTraceV0) { HexData: hex.EncodeToString(act_trace.Act.Data), } - abi, err := reader.abi.GetAbi(act_trace.Act.Account) + ABI, err := reader.abi.GetAbi(act_trace.Act.Account) if err == nil { - v, err := decodeAction(abi, act_trace.Act.Data, act_trace.Act.Name) + v, err := abi.DecodeAction(ABI, act_trace.Act.Data, act_trace.Act.Name) if err != nil { log.WithError(err).Warn("Failed to decode action") }