mirror of
https://github.com/grassrootseconomics/eth-tracker.git
synced 2026-09-01 15:03:15 +02:00
update handler interface. Add Name method
This commit is contained in:
@@ -9,6 +9,7 @@ import (
|
||||
|
||||
type (
|
||||
Handler interface {
|
||||
Name() string
|
||||
HandleLog(context.Context, LogMessage, emitter.Emitter) error
|
||||
HandleRevert(context.Context, RevertMessage, emitter.Emitter) error
|
||||
}
|
||||
@@ -42,5 +43,7 @@ type (
|
||||
func New() []Handler {
|
||||
return []Handler{
|
||||
&TokenTransferHandler{},
|
||||
&TokenMintHandler{},
|
||||
&TokenBurnHandler{},
|
||||
}
|
||||
}
|
||||
|
||||
@@ -16,12 +16,20 @@ type (
|
||||
}
|
||||
)
|
||||
|
||||
const (
|
||||
burnEventName = "TOKEN_BURN"
|
||||
)
|
||||
|
||||
var (
|
||||
tokenBurnTopicHash = w3.H("0xcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5")
|
||||
tokenBurnEvent = w3.MustNewEvent("tokenBurn(address indexed _tokenBurner, uint256 _value)")
|
||||
tokenBurnToSig = w3.MustNewFunc("tokenBurn(uint256)", "bool")
|
||||
)
|
||||
|
||||
func (h *TokenBurnHandler) Name() string {
|
||||
return burnEventName
|
||||
}
|
||||
|
||||
func (h *TokenBurnHandler) HandleLog(ctx context.Context, msg LogMessage, emitter emitter.Emitter) error {
|
||||
if msg.Log.Topics[0] == tokenBurnTopicHash {
|
||||
var (
|
||||
@@ -39,7 +47,7 @@ func (h *TokenBurnHandler) HandleLog(ctx context.Context, msg LogMessage, emitte
|
||||
Success: true,
|
||||
Timestamp: msg.BlockTime,
|
||||
TxHash: msg.Log.TxHash.Hex(),
|
||||
TxType: "TOKEN_BURN",
|
||||
TxType: burnEventName,
|
||||
Payload: map[string]any{
|
||||
"tokenBurner": tokenBurner.Hex(),
|
||||
"value": value.String(),
|
||||
@@ -73,7 +81,7 @@ func (h *TokenBurnHandler) HandleRevert(ctx context.Context, msg RevertMessage,
|
||||
Success: false,
|
||||
Timestamp: msg.Timestamp,
|
||||
TxHash: msg.TxHash,
|
||||
TxType: "TOKEN_BURN",
|
||||
TxType: burnEventName,
|
||||
Payload: map[string]any{
|
||||
"revertReason": msg.RevertReason,
|
||||
"tokenBurner": msg.From,
|
||||
|
||||
@@ -16,12 +16,20 @@ type (
|
||||
}
|
||||
)
|
||||
|
||||
const (
|
||||
mintEventName = "TOKEN_MINT"
|
||||
)
|
||||
|
||||
var (
|
||||
tokenMintTopicHash = w3.H("0xab8530f87dc9b59234c4623bf917212bb2536d647574c8e7e5da92c2ede0c9f8")
|
||||
tokenMintEvent = w3.MustNewEvent("tokenMint(address indexed _tokenMinter, address indexed _beneficiary, uint256 _value)")
|
||||
tokenMintToSig = w3.MustNewFunc("tokenMintTo(address, uint256)", "bool")
|
||||
)
|
||||
|
||||
func (h *TokenMintHandler) Name() string {
|
||||
return mintEventName
|
||||
}
|
||||
|
||||
func (h *TokenMintHandler) HandleLog(ctx context.Context, msg LogMessage, emitter emitter.Emitter) error {
|
||||
if msg.Log.Topics[0] == tokenMintTopicHash {
|
||||
var (
|
||||
@@ -40,7 +48,7 @@ func (h *TokenMintHandler) HandleLog(ctx context.Context, msg LogMessage, emitte
|
||||
Success: true,
|
||||
Timestamp: msg.BlockTime,
|
||||
TxHash: msg.Log.TxHash.Hex(),
|
||||
TxType: "TOKEN_MINT",
|
||||
TxType: mintEventName,
|
||||
Payload: map[string]any{
|
||||
"tokenMinter": tokenMinter.Hex(),
|
||||
"to": to.Hex(),
|
||||
@@ -76,7 +84,7 @@ func (h *TokenMintHandler) HandleRevert(ctx context.Context, msg RevertMessage,
|
||||
Success: false,
|
||||
Timestamp: msg.Timestamp,
|
||||
TxHash: msg.TxHash,
|
||||
TxType: "TOKEN_MINT",
|
||||
TxType: mintEventName,
|
||||
Payload: map[string]any{
|
||||
"revertReason": msg.RevertReason,
|
||||
"tokenMinter": msg.From,
|
||||
|
||||
@@ -16,13 +16,21 @@ type (
|
||||
}
|
||||
)
|
||||
|
||||
const (
|
||||
transferEventName = "TOKEN_TRANSFER"
|
||||
)
|
||||
|
||||
var (
|
||||
tokenTransferTopicHash = w3.H("0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef")
|
||||
tokenTransferEvent = w3.MustNewEvent("tokenTransfer(address indexed _from, address indexed _to, uint256 _value)")
|
||||
tokenTransferSig = w3.MustNewFunc("tokenTransfer(address, uint256)", "bool")
|
||||
tokenTransferFromSig = w3.MustNewFunc("tokenTransferFrom(address, address, uint256)", "bool")
|
||||
tokenTransferEvent = w3.MustNewEvent("Transfer(address indexed _from, address indexed _to, uint256 _value)")
|
||||
tokenTransferSig = w3.MustNewFunc("transfer(address, uint256)", "bool")
|
||||
tokenTransferFromSig = w3.MustNewFunc("transferFrom(address, address, uint256)", "bool")
|
||||
)
|
||||
|
||||
func (h *TokenTransferHandler) Name() string {
|
||||
return transferEventName
|
||||
}
|
||||
|
||||
func (h *TokenTransferHandler) HandleLog(ctx context.Context, msg LogMessage, emitter emitter.Emitter) error {
|
||||
if msg.Log.Topics[0] == tokenTransferTopicHash {
|
||||
var (
|
||||
@@ -41,7 +49,7 @@ func (h *TokenTransferHandler) HandleLog(ctx context.Context, msg LogMessage, em
|
||||
Success: true,
|
||||
Timestamp: msg.BlockTime,
|
||||
TxHash: msg.Log.TxHash.Hex(),
|
||||
TxType: "TOKEN_TRANSFER",
|
||||
TxType: transferEventName,
|
||||
Payload: map[string]any{
|
||||
"from": from.Hex(),
|
||||
"to": to.Hex(),
|
||||
@@ -77,7 +85,7 @@ func (h *TokenTransferHandler) HandleRevert(ctx context.Context, msg RevertMessa
|
||||
Success: false,
|
||||
Timestamp: msg.Timestamp,
|
||||
TxHash: msg.TxHash,
|
||||
TxType: "TOKEN_TRANSFER",
|
||||
TxType: transferEventName,
|
||||
Payload: map[string]any{
|
||||
"revertReason": msg.RevertReason,
|
||||
"from": msg.From,
|
||||
@@ -104,7 +112,7 @@ func (h *TokenTransferHandler) HandleRevert(ctx context.Context, msg RevertMessa
|
||||
Success: false,
|
||||
Timestamp: msg.Timestamp,
|
||||
TxHash: msg.TxHash,
|
||||
TxType: "TOKEN_TRANSFER",
|
||||
TxType: transferEventName,
|
||||
Payload: map[string]any{
|
||||
"revertReason": msg.RevertReason,
|
||||
"from": from.Hex(),
|
||||
|
||||
Reference in New Issue
Block a user