Skip to content

Commit

Permalink
fix: abi and test
Browse files Browse the repository at this point in the history
  • Loading branch information
myronrotter committed Feb 7, 2025
1 parent 6fcd292 commit 59db2ad
Show file tree
Hide file tree
Showing 3 changed files with 76 additions and 3 deletions.
31 changes: 31 additions & 0 deletions adapters/contracts/avalon_claim/abi.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
package avalon_claim

var ABI = `
[
{
"inputs": [
{
"internalType": "address",
"name": "user",
"type": "address",
"indexed": true
},
{
"internalType": "uint256",
"name": "avlAmount",
"type": "uint256",
"indexed": false
},
{
"internalType": "uint256",
"name": "usdaAmount",
"type": "uint256",
"indexed": false
}
],
"type": "event",
"name": "Claimed",
"anonymous": false
}
]
`
6 changes: 3 additions & 3 deletions adapters/projects/avalon/claim.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ import (
"github.com/ethereum/go-ethereum/crypto"
"github.com/ethereum/go-ethereum/ethclient"
"github.com/taikoxyz/trailblazer-adapters/adapters"
"github.com/taikoxyz/trailblazer-adapters/adapters/contracts/erc20"
"github.com/taikoxyz/trailblazer-adapters/adapters/contracts/avalon_claim"
)

const (
Expand Down Expand Up @@ -58,12 +58,12 @@ func (indexer *ClaimIndexer) Index(ctx context.Context, logs ...types.Log) ([]ad

user := common.BytesToAddress(l.Topics[1].Bytes()[12:])

erc20ABI, err := abi.JSON(strings.NewReader(erc20.ABI))
AvalonClaimABI, err := abi.JSON(strings.NewReader(avalon_claim.ABI))
if err != nil {
return nil, err
}

err = erc20ABI.UnpackIntoInterface(&claimedEvent, "Claimed", l.Data)
err = AvalonClaimABI.UnpackIntoInterface(&claimedEvent, "Claimed", l.Data)
if err != nil {
return nil, err
}
Expand Down
42 changes: 42 additions & 0 deletions adapters/projects/avalon/claim_test.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
package avalon_test

import (
"context"
"math/big"
"testing"

"github.com/ethereum/go-ethereum/common"
"github.com/ethereum/go-ethereum/ethclient"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"github.com/taikoxyz/trailblazer-adapters/adapters"
"github.com/taikoxyz/trailblazer-adapters/adapters/projects/avalon"
)

func TestClaimIndexer(t *testing.T) {
ethereumRPC := "https://ethereum-rpc.publicnode.com"
blocknumber := int64(21743609)
testClaimAddress := "0x9c9a26f011a89f920f86fc48e2ed3f0fae71683b"

ctx := context.Background()

client, err := ethclient.Dial(ethereumRPC)
require.NoError(t, err)

indexer := avalon.NewClaimIndexer(client, []common.Address{common.HexToAddress(testClaimAddress)})

logs, err := adapters.GetLogs(ctx, client, indexer.Addresses(), blocknumber)
require.NoError(t, err)

// https://www.oklink.com/de/eth/tx/0xb3648f17578f1d791696677ababa4d3fda6b46a2a82fad7b6ed2d15d7b817e4d
ps, err := indexer.Index(ctx, logs...)
assert.NoError(t, err)
assert.Len(t, ps, 1)
assert.Equal(t, common.HexToAddress("0x2557ac54165134d7efd5ab94b750e9e04147beb1"), ps[0].User)
assert.Equal(t, big.NewInt(4000000000000000000), ps[0].TokenAmount)
assert.Equal(t, avalon.AvlTokenDecimal, ps[0].TokenDecimals)
assert.Equal(t, common.HexToAddress(avalon.AvlTokenAddress), ps[0].Token)
assert.Equal(t, uint64(1738315631), ps[0].BlockTime)
assert.Equal(t, uint64(blocknumber), ps[0].BlockNumber)
assert.Equal(t, common.HexToHash("0xb3648f17578f1d791696677ababa4d3fda6b46a2a82fad7b6ed2d15d7b817e4d"), ps[0].TxHash)
}

0 comments on commit 59db2ad

Please sign in to comment.