mirror of
https://github.com/grassrootseconomics/eth-tracker.git
synced 2025-05-12 16:51:01 +02:00
refactor: revert event should match success event
This commit is contained in:
parent
6353d33710
commit
79ec07ef5d
@ -79,8 +79,9 @@ func (h *FaucetGiveHandler) HandleRevert(ctx context.Context, msg RevertMessage,
|
||||
TxType: "FAUCET_GIVE",
|
||||
Payload: map[string]any{
|
||||
"revertReason": msg.RevertReason,
|
||||
"from": msg.From,
|
||||
"to": to.Hex(),
|
||||
"recipient": to.Hex(),
|
||||
"token": common.ZeroAddress.Hex(),
|
||||
"amount": "0",
|
||||
},
|
||||
}
|
||||
|
||||
@ -95,7 +96,9 @@ func (h *FaucetGiveHandler) HandleRevert(ctx context.Context, msg RevertMessage,
|
||||
TxType: "FAUCET_GIVE",
|
||||
Payload: map[string]any{
|
||||
"revertReason": msg.RevertReason,
|
||||
"from": msg.From,
|
||||
"recipient": common.ZeroAddress.Hex(),
|
||||
"token": common.ZeroAddress.Hex(),
|
||||
"amount": "0",
|
||||
},
|
||||
}
|
||||
|
@ -41,6 +41,6 @@ type (
|
||||
|
||||
func New() []Handler {
|
||||
return []Handler{
|
||||
&TransferHandler{},
|
||||
&TokenTransferHandler{},
|
||||
}
|
||||
}
|
||||
|
@ -10,49 +10,49 @@ import (
|
||||
)
|
||||
|
||||
type (
|
||||
BurnHandler struct {
|
||||
TokenBurnHandler struct {
|
||||
topicHash common.Hash
|
||||
event *w3.Event
|
||||
}
|
||||
)
|
||||
|
||||
var (
|
||||
burnTopicHash = w3.H("0xcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5")
|
||||
burnEvent = w3.MustNewEvent("Burn(address indexed _burner, uint256 _value)")
|
||||
burnToSig = w3.MustNewFunc("burn(uint256)", "bool")
|
||||
tokenBurnTopicHash = w3.H("0xcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5")
|
||||
tokenBurnEvent = w3.MustNewEvent("tokenBurn(address indexed _tokenBurner, uint256 _value)")
|
||||
tokenBurnToSig = w3.MustNewFunc("tokenBurn(uint256)", "bool")
|
||||
)
|
||||
|
||||
func (h *BurnHandler) HandleLog(ctx context.Context, msg LogMessage, emitter emitter.Emitter) error {
|
||||
if msg.Log.Topics[0] == burnTopicHash {
|
||||
func (h *TokenBurnHandler) HandleLog(ctx context.Context, msg LogMessage, emitter emitter.Emitter) error {
|
||||
if msg.Log.Topics[0] == tokenBurnTopicHash {
|
||||
var (
|
||||
burner common.Address
|
||||
value big.Int
|
||||
tokenBurner common.Address
|
||||
value big.Int
|
||||
)
|
||||
|
||||
if err := burnEvent.DecodeArgs(msg.Log, &burner, &value); err != nil {
|
||||
if err := tokenBurnEvent.DecodeArgs(msg.Log, &tokenBurner, &value); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
burnEvent := Event{
|
||||
tokenBurnEvent := Event{
|
||||
Block: msg.Log.BlockNumber,
|
||||
ContractAddress: msg.Log.Address.Hex(),
|
||||
Success: true,
|
||||
Timestamp: msg.BlockTime,
|
||||
TxHash: msg.Log.TxHash.Hex(),
|
||||
TxType: "BURN",
|
||||
TxType: "TOKEN_BURN",
|
||||
Payload: map[string]any{
|
||||
"burner": burner.Hex(),
|
||||
"value": value.String(),
|
||||
"tokenBurner": tokenBurner.Hex(),
|
||||
"value": value.String(),
|
||||
},
|
||||
}
|
||||
|
||||
return emitter.Emit(ctx, burnEvent)
|
||||
return emitter.Emit(ctx, tokenBurnEvent)
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (h *BurnHandler) HandleRevert(ctx context.Context, msg RevertMessage, emitter emitter.Emitter) error {
|
||||
func (h *TokenBurnHandler) HandleRevert(ctx context.Context, msg RevertMessage, emitter emitter.Emitter) error {
|
||||
if len(msg.InputData) < 8 {
|
||||
return nil
|
||||
}
|
||||
@ -63,25 +63,25 @@ func (h *BurnHandler) HandleRevert(ctx context.Context, msg RevertMessage, emitt
|
||||
value big.Int
|
||||
)
|
||||
|
||||
if err := burnToSig.DecodeArgs(w3.B(msg.InputData), &value); err != nil {
|
||||
if err := tokenBurnToSig.DecodeArgs(w3.B(msg.InputData), &value); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
burnEvent := Event{
|
||||
tokenBurnEvent := Event{
|
||||
Block: msg.Block,
|
||||
ContractAddress: msg.ContractAddress,
|
||||
Success: false,
|
||||
Timestamp: msg.Timestamp,
|
||||
TxHash: msg.TxHash,
|
||||
TxType: "BURN",
|
||||
TxType: "TOKEN_BURN",
|
||||
Payload: map[string]any{
|
||||
"revertReason": msg.RevertReason,
|
||||
"burner": msg.From,
|
||||
"tokenBurner": msg.From,
|
||||
"value": value.String(),
|
||||
},
|
||||
}
|
||||
|
||||
return emitter.Emit(ctx, burnEvent)
|
||||
return emitter.Emit(ctx, tokenBurnEvent)
|
||||
}
|
||||
|
||||
return nil
|
||||
|
@ -10,51 +10,51 @@ import (
|
||||
)
|
||||
|
||||
type (
|
||||
MintHandler struct {
|
||||
TokenMintHandler struct {
|
||||
topicHash common.Hash
|
||||
event *w3.Event
|
||||
}
|
||||
)
|
||||
|
||||
var (
|
||||
mintTopicHash = w3.H("0xab8530f87dc9b59234c4623bf917212bb2536d647574c8e7e5da92c2ede0c9f8")
|
||||
mintEvent = w3.MustNewEvent("Mint(address indexed _minter, address indexed _beneficiary, uint256 _value)")
|
||||
mintToSig = w3.MustNewFunc("mintTo(address, uint256)", "bool")
|
||||
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 *MintHandler) HandleLog(ctx context.Context, msg LogMessage, emitter emitter.Emitter) error {
|
||||
if msg.Log.Topics[0] == mintTopicHash {
|
||||
func (h *TokenMintHandler) HandleLog(ctx context.Context, msg LogMessage, emitter emitter.Emitter) error {
|
||||
if msg.Log.Topics[0] == tokenMintTopicHash {
|
||||
var (
|
||||
minter common.Address
|
||||
to common.Address
|
||||
value big.Int
|
||||
tokenMinter common.Address
|
||||
to common.Address
|
||||
value big.Int
|
||||
)
|
||||
|
||||
if err := mintEvent.DecodeArgs(msg.Log, &minter, &to, &value); err != nil {
|
||||
if err := tokenMintEvent.DecodeArgs(msg.Log, &tokenMinter, &to, &value); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
mintEvent := Event{
|
||||
tokenMintEvent := Event{
|
||||
Block: msg.Log.BlockNumber,
|
||||
ContractAddress: msg.Log.Address.Hex(),
|
||||
Success: true,
|
||||
Timestamp: msg.BlockTime,
|
||||
TxHash: msg.Log.TxHash.Hex(),
|
||||
TxType: "MINT",
|
||||
TxType: "TOKEN_MINT",
|
||||
Payload: map[string]any{
|
||||
"minter": minter.Hex(),
|
||||
"to": to.Hex(),
|
||||
"value": value.String(),
|
||||
"tokenMinter": tokenMinter.Hex(),
|
||||
"to": to.Hex(),
|
||||
"value": value.String(),
|
||||
},
|
||||
}
|
||||
|
||||
return emitter.Emit(ctx, mintEvent)
|
||||
return emitter.Emit(ctx, tokenMintEvent)
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (h *MintHandler) HandleRevert(ctx context.Context, msg RevertMessage, emitter emitter.Emitter) error {
|
||||
func (h *TokenMintHandler) HandleRevert(ctx context.Context, msg RevertMessage, emitter emitter.Emitter) error {
|
||||
if len(msg.InputData) < 8 {
|
||||
return nil
|
||||
}
|
||||
@ -66,26 +66,26 @@ func (h *MintHandler) HandleRevert(ctx context.Context, msg RevertMessage, emitt
|
||||
value big.Int
|
||||
)
|
||||
|
||||
if err := mintToSig.DecodeArgs(w3.B(msg.InputData), &to, &value); err != nil {
|
||||
if err := tokenMintToSig.DecodeArgs(w3.B(msg.InputData), &to, &value); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
mintEvent := Event{
|
||||
tokenMintEvent := Event{
|
||||
Block: msg.Block,
|
||||
ContractAddress: msg.ContractAddress,
|
||||
Success: false,
|
||||
Timestamp: msg.Timestamp,
|
||||
TxHash: msg.TxHash,
|
||||
TxType: "MINT",
|
||||
TxType: "TOKEN_MINT",
|
||||
Payload: map[string]any{
|
||||
"revertReason": msg.RevertReason,
|
||||
"minter": msg.From,
|
||||
"tokenMinter": msg.From,
|
||||
"to": to.Hex(),
|
||||
"value": value.String(),
|
||||
},
|
||||
}
|
||||
|
||||
return emitter.Emit(ctx, mintEvent)
|
||||
return emitter.Emit(ctx, tokenMintEvent)
|
||||
}
|
||||
|
||||
return nil
|
||||
|
@ -10,38 +10,38 @@ import (
|
||||
)
|
||||
|
||||
type (
|
||||
TransferHandler struct {
|
||||
TokenTransferHandler struct {
|
||||
topicHash common.Hash
|
||||
event *w3.Event
|
||||
}
|
||||
)
|
||||
|
||||
var (
|
||||
transferTopicHash = w3.H("0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef")
|
||||
transferEvent = w3.MustNewEvent("Transfer(address indexed _from, address indexed _to, uint256 _value)")
|
||||
transferSig = w3.MustNewFunc("transfer(address, uint256)", "bool")
|
||||
transferFromSig = w3.MustNewFunc("transferFrom(address, address, uint256)", "bool")
|
||||
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")
|
||||
)
|
||||
|
||||
func (h *TransferHandler) HandleLog(ctx context.Context, msg LogMessage, emitter emitter.Emitter) error {
|
||||
if msg.Log.Topics[0] == transferTopicHash {
|
||||
func (h *TokenTransferHandler) HandleLog(ctx context.Context, msg LogMessage, emitter emitter.Emitter) error {
|
||||
if msg.Log.Topics[0] == tokenTransferTopicHash {
|
||||
var (
|
||||
from common.Address
|
||||
to common.Address
|
||||
value big.Int
|
||||
)
|
||||
|
||||
if err := transferEvent.DecodeArgs(msg.Log, &from, &to, &value); err != nil {
|
||||
if err := tokenTransferEvent.DecodeArgs(msg.Log, &from, &to, &value); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
transferEvent := Event{
|
||||
tokenTransferEvent := Event{
|
||||
Block: msg.Log.BlockNumber,
|
||||
ContractAddress: msg.Log.Address.Hex(),
|
||||
Success: true,
|
||||
Timestamp: msg.BlockTime,
|
||||
TxHash: msg.Log.TxHash.Hex(),
|
||||
TxType: "TRANSFER",
|
||||
TxType: "TOKEN_TRANSFER",
|
||||
Payload: map[string]any{
|
||||
"from": from.Hex(),
|
||||
"to": to.Hex(),
|
||||
@ -49,13 +49,13 @@ func (h *TransferHandler) HandleLog(ctx context.Context, msg LogMessage, emitter
|
||||
},
|
||||
}
|
||||
|
||||
return emitter.Emit(ctx, transferEvent)
|
||||
return emitter.Emit(ctx, tokenTransferEvent)
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (h *TransferHandler) HandleRevert(ctx context.Context, msg RevertMessage, emitter emitter.Emitter) error {
|
||||
func (h *TokenTransferHandler) HandleRevert(ctx context.Context, msg RevertMessage, emitter emitter.Emitter) error {
|
||||
if len(msg.InputData) < 8 {
|
||||
return nil
|
||||
}
|
||||
@ -67,17 +67,17 @@ func (h *TransferHandler) HandleRevert(ctx context.Context, msg RevertMessage, e
|
||||
value big.Int
|
||||
)
|
||||
|
||||
if err := transferSig.DecodeArgs(w3.B(msg.InputData), &to, &value); err != nil {
|
||||
if err := tokenTransferSig.DecodeArgs(w3.B(msg.InputData), &to, &value); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
transferEvent := Event{
|
||||
tokenTransferEvent := Event{
|
||||
Block: msg.Block,
|
||||
ContractAddress: msg.ContractAddress,
|
||||
Success: false,
|
||||
Timestamp: msg.Timestamp,
|
||||
TxHash: msg.TxHash,
|
||||
TxType: "TRANSFER",
|
||||
TxType: "TOKEN_TRANSFER",
|
||||
Payload: map[string]any{
|
||||
"revertReason": msg.RevertReason,
|
||||
"from": msg.From,
|
||||
@ -86,7 +86,7 @@ func (h *TransferHandler) HandleRevert(ctx context.Context, msg RevertMessage, e
|
||||
},
|
||||
}
|
||||
|
||||
return emitter.Emit(ctx, transferEvent)
|
||||
return emitter.Emit(ctx, tokenTransferEvent)
|
||||
case "23b872dd":
|
||||
var (
|
||||
from common.Address
|
||||
@ -94,17 +94,17 @@ func (h *TransferHandler) HandleRevert(ctx context.Context, msg RevertMessage, e
|
||||
value big.Int
|
||||
)
|
||||
|
||||
if err := transferFromSig.DecodeArgs(w3.B(msg.InputData), &from, &to, &value); err != nil {
|
||||
if err := tokenTransferFromSig.DecodeArgs(w3.B(msg.InputData), &from, &to, &value); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
transferEvent := Event{
|
||||
tokenTransferEvent := Event{
|
||||
Block: msg.Block,
|
||||
ContractAddress: msg.ContractAddress,
|
||||
Success: false,
|
||||
Timestamp: msg.Timestamp,
|
||||
TxHash: msg.TxHash,
|
||||
TxType: "TRANSFER",
|
||||
TxType: "TOKEN_TRANSFER",
|
||||
Payload: map[string]any{
|
||||
"revertReason": msg.RevertReason,
|
||||
"from": from.Hex(),
|
||||
@ -113,7 +113,7 @@ func (h *TransferHandler) HandleRevert(ctx context.Context, msg RevertMessage, e
|
||||
},
|
||||
}
|
||||
|
||||
return emitter.Emit(ctx, transferEvent)
|
||||
return emitter.Emit(ctx, tokenTransferEvent)
|
||||
}
|
||||
|
||||
return nil
|
||||
|
Loading…
Reference in New Issue
Block a user