cic-chain-events/internal/filter/transfer_filter.go
Mohammed Sohail 0ccdaa0345
feat: add stats api, fix pipeline exe
* added cUSD sample filters
* decouple stats from metrics
2023-01-06 11:32:20 +00:00

34 lines
806 B
Go

package filter
import (
"github.com/grassrootseconomics/cic-chain-events/internal/fetch"
"github.com/zerodha/logf"
)
type TransferFilterOpts struct {
Logg logf.Logger
}
type TransferFilter struct {
logg logf.Logger
}
func NewTransferFilter(o TransferFilterOpts) Filter {
return &TransferFilter{
logg: o.Logg,
}
}
func (f *TransferFilter) Execute(transaction fetch.Transaction) (bool, error) {
switch transaction.InputData[:10] {
case "0xa9059cbb":
f.logg.Info("cUSD transfer", "block", transaction.Block.Number, "index", transaction.Index)
case "0x23b872dd":
f.logg.Info("cUSD transferFrom", "block", transaction.Block.Number, "index", transaction.Index)
default:
f.logg.Info("cUSD otherMethod", "block", transaction.Block.Number, "index", transaction.Index)
}
return true, nil
}