Skip to content

Commit

Permalink
refactor: return type
Browse files Browse the repository at this point in the history
  • Loading branch information
bennettyong committed Jul 26, 2024
1 parent d310c3c commit 47170bc
Show file tree
Hide file tree
Showing 8 changed files with 37 additions and 46 deletions.
13 changes: 2 additions & 11 deletions adapters/logs.go
Original file line number Diff line number Diff line change
Expand Up @@ -12,15 +12,6 @@ import (
// TransferLogsIndexer is an interface that defines the methods for indexing and processing transfer logs.
type TransferLogsIndexer interface {
Addresses() []common.Address
IndexLogs(ctx context.Context, chainID *big.Int, client *ethclient.Client, logs []types.Log) ([]TransferData, error)
ProcessLog(ctx context.Context, chainID *big.Int, client *ethclient.Client, vLog types.Log) (*TransferData, error)
}

// TransferData represents an event with specific fields.
type TransferData struct {
From common.Address
To common.Address
Value *big.Int
Time uint64
BlockNumber uint64
IndexLogs(ctx context.Context, chainID *big.Int, client *ethclient.Client, logs []types.Log) ([]Whitelist, error)
ProcessLog(ctx context.Context, chainID *big.Int, client *ethclient.Client, vLog types.Log) (*Whitelist, error)
}
10 changes: 5 additions & 5 deletions adapters/logs/transfer_event.go
Original file line number Diff line number Diff line change
Expand Up @@ -33,8 +33,8 @@ func (indexer *TransferIndexer) Addresses() []common.Address {
}

// IndexLogs processes logs for ERC20 transfers.
func (indexer *TransferIndexer) IndexLogs(ctx context.Context, chainID *big.Int, client *ethclient.Client, logs []types.Log) ([]adapters.TransferData, error) {
var result []adapters.TransferData
func (indexer *TransferIndexer) IndexLogs(ctx context.Context, chainID *big.Int, client *ethclient.Client, logs []types.Log) ([]adapters.Whitelist, error) {
var result []adapters.Whitelist
for _, vLog := range logs {
if !isERC20Transfer(vLog) {
continue
Expand All @@ -53,7 +53,7 @@ func isERC20Transfer(vLog types.Log) bool {
}

// processLog processes a single ERC20 transfer log.
func (indexer *TransferIndexer) ProcessLog(ctx context.Context, chainID *big.Int, client *ethclient.Client, vLog types.Log) (*adapters.TransferData, error) {
func (indexer *TransferIndexer) ProcessLog(ctx context.Context, chainID *big.Int, client *ethclient.Client, vLog types.Log) (*adapters.Whitelist, error) {
to := common.BytesToAddress(vLog.Topics[2].Bytes()[12:])
from := common.BytesToAddress(vLog.Topics[1].Bytes()[12:])

Expand All @@ -75,9 +75,9 @@ func (indexer *TransferIndexer) ProcessLog(ctx context.Context, chainID *big.Int
return nil, err
}

return &adapters.TransferData{
return &adapters.Whitelist{
From: from,
To: to,
User: to,
Time: block.Time(),
Value: transferEvent.Value,
}, nil
Expand Down
10 changes: 5 additions & 5 deletions adapters/projects/conft/token_sold.go
Original file line number Diff line number Diff line change
Expand Up @@ -40,8 +40,8 @@ func (indexer *TokenSoldIndexer) Addresses() []common.Address {
return indexer.TargetAddresses
}

func (indexer *TokenSoldIndexer) IndexLogs(ctx context.Context, chainID *big.Int, client *ethclient.Client, logs []types.Log) ([]adapters.TransferData, error) {
var result []adapters.TransferData
func (indexer *TokenSoldIndexer) IndexLogs(ctx context.Context, chainID *big.Int, client *ethclient.Client, logs []types.Log) ([]adapters.Whitelist, error) {
var result []adapters.Whitelist
for _, vLog := range logs {
if !indexer.isRelevantLog(vLog.Topics[0]) {
continue
Expand All @@ -59,7 +59,7 @@ func (indexer *TokenSoldIndexer) isRelevantLog(topic common.Hash) bool {
return topic.Hex() == logTokenSoldSigHash.Hex()
}

func (indexer *TokenSoldIndexer) ProcessLog(ctx context.Context, chainID *big.Int, client *ethclient.Client, vLog types.Log) (*adapters.TransferData, error) {
func (indexer *TokenSoldIndexer) ProcessLog(ctx context.Context, chainID *big.Int, client *ethclient.Client, vLog types.Log) (*adapters.Whitelist, error) {
var tokenSoldEvent TokenSoldEvent

tokenSoldABI, err := abi.JSON(strings.NewReader(conft.ABI))
Expand All @@ -77,8 +77,8 @@ func (indexer *TokenSoldIndexer) ProcessLog(ctx context.Context, chainID *big.In
return nil, err
}

return &adapters.TransferData{
To: tokenSoldEvent.Buyer,
return &adapters.Whitelist{
User: tokenSoldEvent.Buyer,
Time: block.Time(),
BlockNumber: block.Number().Uint64(),
}, nil
Expand Down
10 changes: 5 additions & 5 deletions adapters/projects/domains/dot_taiko_register.go
Original file line number Diff line number Diff line change
Expand Up @@ -33,8 +33,8 @@ func (indexer *DotTaikoIndexer) Addresses() []common.Address {
return indexer.TargetAddresses
}

func (indexer *DotTaikoIndexer) IndexLogs(ctx context.Context, chainID *big.Int, client *ethclient.Client, logs []types.Log) ([]adapters.TransferData, error) {
var result []adapters.TransferData
func (indexer *DotTaikoIndexer) IndexLogs(ctx context.Context, chainID *big.Int, client *ethclient.Client, logs []types.Log) ([]adapters.Whitelist, error) {
var result []adapters.Whitelist
for _, vLog := range logs {
if !indexer.isRelevantLog(vLog.Topics[0]) {
continue
Expand All @@ -52,16 +52,16 @@ func (indexer *DotTaikoIndexer) isRelevantLog(topic common.Hash) bool {
return topic.Hex() == logNameRegisteredSigHash.Hex() || topic.Hex() == logMintedDomainSigHash.Hex() || topic.Hex() == logProfileCreatedSigHash.Hex()
}

func (indexer *DotTaikoIndexer) ProcessLog(ctx context.Context, chainID *big.Int, client *ethclient.Client, vLog types.Log) (*adapters.TransferData, error) {
func (indexer *DotTaikoIndexer) ProcessLog(ctx context.Context, chainID *big.Int, client *ethclient.Client, vLog types.Log) (*adapters.Whitelist, error) {
ownerHex := common.BytesToAddress(vLog.Topics[2].Bytes()[12:])

block, err := client.BlockByNumber(ctx, big.NewInt(int64(vLog.BlockNumber)))
if err != nil {
return nil, err
}

return &adapters.TransferData{
To: ownerHex,
return &adapters.Whitelist{
User: ownerHex,
Time: block.Time(),
BlockNumber: block.Number().Uint64(),
}, nil
Expand Down
10 changes: 5 additions & 5 deletions adapters/projects/loopex/new_sale.go
Original file line number Diff line number Diff line change
Expand Up @@ -43,8 +43,8 @@ func (indexer *NewSaleIndexer) Addresses() []common.Address {
return indexer.TargetAddresses
}

func (indexer *NewSaleIndexer) IndexLogs(ctx context.Context, chainID *big.Int, client *ethclient.Client, logs []types.Log) ([]adapters.TransferData, error) {
var result []adapters.TransferData
func (indexer *NewSaleIndexer) IndexLogs(ctx context.Context, chainID *big.Int, client *ethclient.Client, logs []types.Log) ([]adapters.Whitelist, error) {
var result []adapters.Whitelist
for _, vLog := range logs {
if !indexer.isRelevantLog(vLog.Topics[0]) {
continue
Expand All @@ -62,7 +62,7 @@ func (indexer *NewSaleIndexer) isRelevantLog(topic common.Hash) bool {
return topic.Hex() == logNewSaleSigHash.Hex()
}

func (indexer *NewSaleIndexer) ProcessLog(ctx context.Context, chainID *big.Int, client *ethclient.Client, vLog types.Log) (*adapters.TransferData, error) {
func (indexer *NewSaleIndexer) ProcessLog(ctx context.Context, chainID *big.Int, client *ethclient.Client, vLog types.Log) (*adapters.Whitelist, error) {
var newSaleEvent NewSaleEvent

newSaleABI, err := abi.JSON(strings.NewReader(sale.ABI))
Expand All @@ -80,8 +80,8 @@ func (indexer *NewSaleIndexer) ProcessLog(ctx context.Context, chainID *big.Int,
return nil, err
}

return &adapters.TransferData{
To: newSaleEvent.Buyer,
return &adapters.Whitelist{
User: newSaleEvent.Buyer,
Time: block.Time(),
BlockNumber: block.Number().Uint64(),
}, nil
Expand Down
10 changes: 5 additions & 5 deletions adapters/projects/nfts2me/collection_created.go
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,8 @@ func (indexer *CollectionCreatedIndexer) Addresses() []common.Address {
return indexer.TargetAddresses
}

func (indexer *CollectionCreatedIndexer) IndexLogs(ctx context.Context, chainID *big.Int, client *ethclient.Client, logs []types.Log) ([]adapters.TransferData, error) {
var result []adapters.TransferData
func (indexer *CollectionCreatedIndexer) IndexLogs(ctx context.Context, chainID *big.Int, client *ethclient.Client, logs []types.Log) ([]adapters.Whitelist, error) {
var result []adapters.Whitelist
for _, vLog := range logs {
if !isERC721Transfer(vLog) && !isFromZeroAddress(vLog) {
continue
Expand All @@ -53,16 +53,16 @@ func isFromZeroAddress(vLog types.Log) bool {
}

// processLog processes a single ERC20 transfer log.
func (indexer *CollectionCreatedIndexer) ProcessLog(ctx context.Context, chainID *big.Int, client *ethclient.Client, vLog types.Log) (*adapters.TransferData, error) {
func (indexer *CollectionCreatedIndexer) ProcessLog(ctx context.Context, chainID *big.Int, client *ethclient.Client, vLog types.Log) (*adapters.Whitelist, error) {
to := common.BytesToAddress(vLog.Topics[2].Bytes()[12:])

block, err := client.BlockByNumber(ctx, big.NewInt(int64(vLog.BlockNumber)))
if err != nil {
return nil, err
}

return &adapters.TransferData{
To: to,
return &adapters.Whitelist{
User: to,
Time: block.Time(),
BlockNumber: block.Number().Uint64(),
}, nil
Expand Down
10 changes: 5 additions & 5 deletions adapters/projects/okx/order_fulfilled.go
Original file line number Diff line number Diff line change
Expand Up @@ -56,8 +56,8 @@ func (indexer *OrderFulfilledIndexer) Addresses() []common.Address {
return indexer.TargetAddresses
}

func (indexer *OrderFulfilledIndexer) IndexLogs(ctx context.Context, chainID *big.Int, client *ethclient.Client, logs []types.Log) ([]adapters.TransferData, error) {
var result []adapters.TransferData
func (indexer *OrderFulfilledIndexer) IndexLogs(ctx context.Context, chainID *big.Int, client *ethclient.Client, logs []types.Log) ([]adapters.Whitelist, error) {
var result []adapters.Whitelist
for _, vLog := range logs {
if !indexer.isRelevantLog(vLog.Topics[0]) {
continue
Expand All @@ -75,7 +75,7 @@ func (indexer *OrderFulfilledIndexer) isRelevantLog(topic common.Hash) bool {
return topic.Hex() == logOrderFulfilledSigHash.Hex()
}

func (indexer *OrderFulfilledIndexer) ProcessLog(ctx context.Context, chainID *big.Int, client *ethclient.Client, vLog types.Log) (*adapters.TransferData, error) {
func (indexer *OrderFulfilledIndexer) ProcessLog(ctx context.Context, chainID *big.Int, client *ethclient.Client, vLog types.Log) (*adapters.Whitelist, error) {
var orderFulfilledEvent OrderFulfilledEvent

orderFulfilledABI, err := abi.JSON(strings.NewReader(order.ABI))
Expand All @@ -92,8 +92,8 @@ func (indexer *OrderFulfilledIndexer) ProcessLog(ctx context.Context, chainID *b
return nil, err
}

return &adapters.TransferData{
To: orderFulfilledEvent.Recipient,
return &adapters.Whitelist{
User: orderFulfilledEvent.Recipient,
Time: block.Time(),
BlockNumber: block.Number().Uint64(),
}, nil
Expand Down
10 changes: 5 additions & 5 deletions adapters/projects/omnihub/contract_deployed.go
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,8 @@ func (indexer *ContractDeployedIndexer) Addresses() []common.Address {
return indexer.TargetAddresses
}

func (indexer *ContractDeployedIndexer) IndexLogs(ctx context.Context, chainID *big.Int, client *ethclient.Client, logs []types.Log) ([]adapters.TransferData, error) {
var result []adapters.TransferData
func (indexer *ContractDeployedIndexer) IndexLogs(ctx context.Context, chainID *big.Int, client *ethclient.Client, logs []types.Log) ([]adapters.Whitelist, error) {
var result []adapters.Whitelist
for _, vLog := range logs {
if !indexer.isRelevantLog(vLog.Topics[0]) {
continue
Expand All @@ -48,7 +48,7 @@ func (indexer *ContractDeployedIndexer) isRelevantLog(topic common.Hash) bool {
return topic.Hex() == logContractDeployedSigHash.Hex()
}

func (indexer *ContractDeployedIndexer) ProcessLog(ctx context.Context, chainID *big.Int, client *ethclient.Client, vLog types.Log) (*adapters.TransferData, error) {
func (indexer *ContractDeployedIndexer) ProcessLog(ctx context.Context, chainID *big.Int, client *ethclient.Client, vLog types.Log) (*adapters.Whitelist, error) {
txn, err := client.TransactionInBlock(ctx, vLog.BlockHash, vLog.TxIndex)
if err != nil {
return nil, err
Expand All @@ -64,8 +64,8 @@ func (indexer *ContractDeployedIndexer) ProcessLog(ctx context.Context, chainID
return nil, err
}

return &adapters.TransferData{
To: sender,
return &adapters.Whitelist{
User: sender,
Time: block.Time(),
BlockNumber: block.Number().Uint64(),
}, nil
Expand Down

0 comments on commit 47170bc

Please sign in to comment.