mirror of
https://github.com/grassrootseconomics/eth-tracker.git
synced 2025-04-25 17:41:01 +02:00
47 lines
1.0 KiB
Go
47 lines
1.0 KiB
Go
package handler
|
|
|
|
import (
|
|
"context"
|
|
|
|
"github.com/celo-org/celo-blockchain/core/types"
|
|
"github.com/grassrootseconomics/celo-tracker/internal/emitter"
|
|
)
|
|
|
|
type (
|
|
Handler interface {
|
|
HandleLog(context.Context, LogMessage, emitter.Emitter) error
|
|
HandleRevert(context.Context, RevertMessage, emitter.Emitter) error
|
|
}
|
|
|
|
LogMessage struct {
|
|
Log *types.Log
|
|
BlockTime uint64
|
|
}
|
|
|
|
RevertMessage struct {
|
|
From string
|
|
RevertReason string
|
|
InputData string
|
|
Block uint64
|
|
ContractAddress string
|
|
Timestamp uint64
|
|
TxHash string
|
|
}
|
|
|
|
Event struct {
|
|
Block uint64 `json:"block"`
|
|
ContractAddress string `json:"contractAddress"`
|
|
Success bool `json:"success"`
|
|
Timestamp uint64 `json:"timestamp"`
|
|
TxHash string `json:"transactionHash"`
|
|
TxType string `json:"transactionType"`
|
|
Payload map[string]any `json:"payload"`
|
|
}
|
|
)
|
|
|
|
func New() []Handler {
|
|
return []Handler{
|
|
&TokenTransferHandler{},
|
|
}
|
|
}
|