From 3b23cf2db13ebca3e308dc7ae2e708f7b028ab26 Mon Sep 17 00:00:00 2001 From: zhouop0 <11733741+zhouop0@users.noreply.github.com> Date: Sun, 16 Jun 2024 12:56:28 +0800 Subject: [PATCH] format --- internal/handler/disputeGame.go | 97 +++++++++++++++------------------ internal/handler/syncEvent.go | 2 +- internal/websocket/server.go | 73 ------------------------- 3 files changed, 45 insertions(+), 127 deletions(-) delete mode 100644 internal/websocket/server.go diff --git a/internal/handler/disputeGame.go b/internal/handler/disputeGame.go index 981d236..a9e8f7e 100644 --- a/internal/handler/disputeGame.go +++ b/internal/handler/disputeGame.go @@ -1,23 +1,14 @@ package handler import ( - "context" - "encoding/hex" - "fmt" - "strings" - - "github.com/ethereum/go-ethereum/accounts/abi" - "github.com/ethereum/go-ethereum/common" "github.com/optimism-java/dispute-explorer/internal/blockchain" "github.com/optimism-java/dispute-explorer/internal/schema" - "github.com/optimism-java/dispute-explorer/internal/svc" - "github.com/optimism-java/dispute-explorer/pkg/contract" "github.com/optimism-java/dispute-explorer/pkg/event" "github.com/optimism-java/dispute-explorer/pkg/log" "github.com/pkg/errors" ) -func FilterAddAndRemove(ctx *svc.ServiceContext, evt *schema.SyncEvent) error { +func FilterAddAndRemove(evt *schema.SyncEvent) error { dispute := event.DisputeGameCreated{} if evt.EventName == dispute.Name() && evt.EventHash == dispute.EventHash().String() { err := dispute.ToObj(evt.Data) @@ -39,9 +30,9 @@ func FilterAddAndRemove(ctx *svc.ServiceContext, evt *schema.SyncEvent) error { return nil } -func BatchFilterAddAndRemove(ctx *svc.ServiceContext, events []*schema.SyncEvent) error { +func BatchFilterAddAndRemove(events []*schema.SyncEvent) error { for _, evt := range events { - err := FilterAddAndRemove(ctx, evt) + err := FilterAddAndRemove(evt) if err != nil { log.Errorf("[BatchFilterAddAndRemove] FilterAddAndRemove: %s\n", err) return err @@ -50,44 +41,44 @@ func BatchFilterAddAndRemove(ctx *svc.ServiceContext, events []*schema.SyncEvent return nil } -func getGameInput(ctx *svc.ServiceContext, txHash string) (map[uint64]map[string]interface{}, error) { - abiObject, err := abi.JSON(strings.NewReader(contract.DisputeGameProxyMetaData.ABI)) - if err != nil { - return nil, fmt.Errorf("[getGameInput] parse abi error: %s", errors.WithStack(err)) - } - tx, _, err := ctx.L1RPC.TransactionByHash(context.Background(), common.HexToHash(txHash)) - if err != nil { - return nil, fmt.Errorf("[getGameInput] get tx error: %s", errors.WithStack(err)) - } - inputsMap, methodName := decodeTransactionInputData(abiObject, tx.Data()) - - if methodName != "create" { - return nil, fmt.Errorf("[getGameInput] methodName is : %s parse method error: %s", methodName, errors.WithStack(err)) - } - - e := inputsMap["_gameType"].(uint32) - f := inputsMap["_rootClaim"].([32]byte) - g := inputsMap["_extraData"].([]byte) - - fmt.Println("_gameType", e) - fmt.Println("_rootClaim:", hex.EncodeToString(f[:])) - fmt.Println("_extraData: ", hex.EncodeToString(g)) - return nil, nil -} - -func decodeTransactionInputData(contractABI abi.ABI, data []byte) (map[string]interface{}, string) { - methodSigData := data[:4] - inputsSigData := data[4:] - - method, err := contractABI.MethodById(methodSigData) - if err != nil { - log.Errorf("[DecodeTransactionInputData] parse abi error: %s\n", errors.WithStack(err)) - } - - inputsMap := make(map[string]interface{}) - - if err := method.Inputs.UnpackIntoMap(inputsMap, inputsSigData); err != nil { - log.Errorf("[DecodeTransactionInputData] parse abi error: %s\n", errors.WithStack(err)) - } - return inputsMap, method.Name -} +// func getGameInput(ctx *svc.ServiceContext, txHash string) (map[uint64]map[string]interface{}, error) { +// abiObject, err := abi.JSON(strings.NewReader(contract.DisputeGameProxyMetaData.ABI)) +// if err != nil { +// return nil, fmt.Errorf("[getGameInput] parse abi error: %s", errors.WithStack(err)) +// } +// tx, _, err := ctx.L1RPC.TransactionByHash(context.Background(), common.HexToHash(txHash)) +// if err != nil { +// return nil, fmt.Errorf("[getGameInput] get tx error: %s", errors.WithStack(err)) +// } +// inputsMap, methodName := decodeTransactionInputData(abiObject, tx.Data()) +// +// if methodName != "create" { +// return nil, fmt.Errorf("[getGameInput] methodName is : %s parse method error: %s", methodName, errors.WithStack(err)) +// } +// +// e := inputsMap["_gameType"].(uint32) +// f := inputsMap["_rootClaim"].([32]byte) +// g := inputsMap["_extraData"].([]byte) +// +// fmt.Println("_gameType", e) +// fmt.Println("_rootClaim:", hex.EncodeToString(f[:])) +// fmt.Println("_extraData: ", hex.EncodeToString(g)) +// return nil, nil +//} +// +//func decodeTransactionInputData(contractABI abi.ABI, data []byte) (map[string]interface{}, string) { +// methodSigData := data[:4] +// inputsSigData := data[4:] +// +// method, err := contractABI.MethodById(methodSigData) +// if err != nil { +// log.Errorf("[DecodeTransactionInputData] parse abi error: %s\n", errors.WithStack(err)) +// } +// +// inputsMap := make(map[string]interface{}) +// +// if err := method.Inputs.UnpackIntoMap(inputsMap, inputsSigData); err != nil { +// log.Errorf("[DecodeTransactionInputData] parse abi error: %s\n", errors.WithStack(err)) +// } +// return inputsMap, method.Name +//} diff --git a/internal/handler/syncEvent.go b/internal/handler/syncEvent.go index b0284c1..7bd9127 100644 --- a/internal/handler/syncEvent.go +++ b/internal/handler/syncEvent.go @@ -98,7 +98,7 @@ func HandlePendingBlock(ctx *svc.ServiceContext, block schema.SyncBlock) error { log.Errorf("[Handler.SyncEvent.PendingBlock]Batch Events Update SyncBlock Status err: %s\n ", err) return errors.WithStack(err) } - err = BatchFilterAddAndRemove(ctx, BatchEvents) + err = BatchFilterAddAndRemove(BatchEvents) if err != nil { log.Errorf("[Handler.SyncEvent.PendingBlock] BatchFilterAddAndRemove err: %s\n ", err) return errors.WithStack(err) diff --git a/internal/websocket/server.go b/internal/websocket/server.go deleted file mode 100644 index 06476b3..0000000 --- a/internal/websocket/server.go +++ /dev/null @@ -1,73 +0,0 @@ -package websocket - -import ( - "encoding/json" - "fmt" - - "github.com/gorilla/websocket" -) - -type ClientManager struct { - clients map[*Client]bool - broadcast chan []byte - register chan *Client - unregister chan *Client -} - -type Client struct { - id string - socket *websocket.Conn - send chan []byte -} - -type Message struct { - Sender string `json:"sender,omitempty"` - Recipient string `json:"recipient,omitempty"` - Content string `json:"content,omitempty"` -} - -var manager = ClientManager{ - broadcast: make(chan []byte), - register: make(chan *Client), - unregister: make(chan *Client), - clients: make(map[*Client]bool), -} - -func (manager *ClientManager) start() { - for { - select { - - manager.clients[conn] = true - jsonMessage, _ := json.Marshal(&Message{Content: " a new socket has connected."}) - - case conn := <-manager.unregister: - if _, ok := manager.clients[conn]; ok { - close(conn.send) - delete(manager.clients, conn) - jsonMessage, _ := json.Marshal(&Message{Content: "a socket has disconnected."}) - manager.send(jsonMessage, conn) - } - - fmt.Println(string(message)) - for conn := range manager.clients { - fmt.Println("每个客户端", conn.id) - - select { - - default: - fmt.Println("要关闭连接啊") - close(conn.send) - delete(manager.clients, conn) - } - } - } - } -} - -func (manager *ClientManager) send(message []byte, ignore *Client) { - for conn := range manager.clients { - if conn != ignore { - - } - } -}