Skip to content

Commit

Permalink
chore(relayer): relayer state var update for protocol compatibility (#…
Browse files Browse the repository at this point in the history
  • Loading branch information
cyberhorsey authored Feb 4, 2025
1 parent 0f4db9b commit c7c50fd
Show file tree
Hide file tree
Showing 5 changed files with 5,734 additions and 6 deletions.
5,690 changes: 5,690 additions & 0 deletions packages/relayer/bindings/v2/taikol1/TaikoL1.go

Large diffs are not rendered by default.

12 changes: 11 additions & 1 deletion packages/relayer/indexer/indexer.go
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ import (
"github.com/taikoxyz/taiko-mono/packages/relayer/bindings/bridge"
"github.com/taikoxyz/taiko-mono/packages/relayer/bindings/signalservice"
"github.com/taikoxyz/taiko-mono/packages/relayer/bindings/taikol1"
v2 "github.com/taikoxyz/taiko-mono/packages/relayer/bindings/v2/taikol1"
"github.com/taikoxyz/taiko-mono/packages/relayer/pkg/queue"
"github.com/taikoxyz/taiko-mono/packages/relayer/pkg/repo"
"github.com/taikoxyz/taiko-mono/packages/relayer/pkg/utils"
Expand Down Expand Up @@ -95,7 +96,8 @@ type Indexer struct {
numGoroutines int
subscriptionBackoff time.Duration

taikol1 *taikol1.TaikoL1
taikol1 *taikol1.TaikoL1
taikoL1V2 *v2.TaikoL1

queue queue.Queue

Expand Down Expand Up @@ -175,13 +177,20 @@ func InitFromConfig(ctx context.Context, i *Indexer, cfg *Config) (err error) {
// taikoL1 will only be set when initializing a L1 - L2 indexer
var taikoL1 *taikol1.TaikoL1

var taikoL1V2 *v2.TaikoL1

if cfg.SrcTaikoAddress != ZeroAddress {
slog.Info("setting srcTaikoAddress", "addr", cfg.SrcTaikoAddress.Hex())

taikoL1, err = taikol1.NewTaikoL1(cfg.SrcTaikoAddress, srcEthClient)
if err != nil {
return errors.Wrap(err, "taikol1.NewTaikoL1")
}

taikoL1V2, err = v2.NewTaikoL1(cfg.SrcTaikoAddress, srcEthClient)
if err != nil {
return errors.Wrap(err, "v2.NewTaikoL1")
}
}

var signalService relayer.SignalService
Expand Down Expand Up @@ -212,6 +221,7 @@ func InitFromConfig(ctx context.Context, i *Indexer, cfg *Config) (err error) {
i.destBridge = destBridge
i.signalService = signalService
i.taikol1 = taikoL1
i.taikoL1V2 = taikoL1V2

i.blockBatchSize = cfg.BlockBatchSize
i.numGoroutines = int(cfg.NumGoroutines)
Expand Down
12 changes: 9 additions & 3 deletions packages/relayer/indexer/set_initial_Indexing_block_by_mode.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,16 @@ func (i *Indexer) setInitialIndexingBlockByMode(
if i.taikol1 != nil {
slotA, _, err := i.taikol1.GetStateVariables(nil)
if err != nil {
return errors.Wrap(err, "svc.taikoL1.GetStateVariables")
// use v2 bindings
slotA, _, err := i.taikoL1V2.GetStateVariables(nil)
if err != nil {
return errors.Wrap(err, "v2.NewTaikoL1.GetStateVariables")
}

startingBlock = slotA.GenesisHeight - 1
} else {
startingBlock = slotA.GenesisHeight - 1
}

startingBlock = slotA.GenesisHeight - 1
}

switch mode {
Expand Down
4 changes: 2 additions & 2 deletions packages/relayer/scripts/abigen.sh
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
#!/bin/sh
#!/bin/bash

if [ ! -d "../protocol/out" ]; then
echo "ABI not generated in protocol package yet. Please run npm install && npx hardhat compile in ../protocol"
exit 1
fi

paths=("ERC1155Vault.sol" "ERC721Vault.sol" "ERC20Vault.sol" "Bridge.sol" "TaikoL2.sol" "TaikoL1.sol" "SignalService.sol" "QuotaManager.sol")
paths=("layer1/ERC1155Vault.sol" "layer1/ERC721Vault.sol" "layer1/ERC20Vault.sol" "layer1/Bridge.sol" "layer2/TaikoL2.sol" "layer1/TaikoL1.sol" "layer1/SignalService.sol" "layer1/QuotaManager.sol")

names=("ERC1155Vault" "ERC721Vault" "ERC20Vault" "Bridge" "TaikoL2" "TaikoL1" "SignalService" "QuotaManager")

Expand Down
22 changes: 22 additions & 0 deletions packages/relayer/scripts/abigen_v2.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
#!/bin/bash

if [ ! -d "../protocol/out" ]; then
echo "ABI not generated in protocol package yet. Please run npm install && npx hardhat compile in ../protocol"
exit 1
fi

paths=("layer1/TaikoL1.sol")

names=("TaikoL1")

for (( i = 0; i < ${#paths[@]}; ++i ));
do
lower=$(echo "${names[i]}" | tr '[:upper:]' '[:lower:]')
jq .abi ../protocol/out/${paths[i]}/${names[i]}.json > bindings/v2/$lower/${names[i]}.json
abigen --abi bindings/v2/$lower/${names[i]}.json \
--pkg $lower \
--type ${names[i]} \
--out bindings/v2/$lower/${names[i]}.go
done

exit 0

0 comments on commit c7c50fd

Please sign in to comment.