Skip to content

Commit

Permalink
feat(relayer): pacaya fork protocol variable fetching (#18918)
Browse files Browse the repository at this point in the history
  • Loading branch information
cyberhorsey authored Feb 12, 2025
1 parent 0c5d225 commit 1396911
Show file tree
Hide file tree
Showing 4 changed files with 3,967 additions and 5 deletions.
3,925 changes: 3,925 additions & 0 deletions packages/relayer/bindings/v3/taikoinbox/TaikoInbox.go

Large diffs are not rendered by default.

14 changes: 12 additions & 2 deletions packages/relayer/indexer/indexer.go
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ import (
"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"
v3 "github.com/taikoxyz/taiko-mono/packages/relayer/bindings/v3/taikoinbox"
"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 @@ -96,8 +97,9 @@ type Indexer struct {
numGoroutines int
subscriptionBackoff time.Duration

taikol1 *taikol1.TaikoL1
taikoL1V2 *v2.TaikoL1
taikol1 *taikol1.TaikoL1
taikoL1V2 *v2.TaikoL1
taikoInboxV3 *v3.TaikoInbox

queue queue.Queue

Expand Down Expand Up @@ -179,6 +181,8 @@ func InitFromConfig(ctx context.Context, i *Indexer, cfg *Config) (err error) {

var taikoL1V2 *v2.TaikoL1

var taikoInboxV3 *v3.TaikoInbox

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

Expand All @@ -191,6 +195,11 @@ func InitFromConfig(ctx context.Context, i *Indexer, cfg *Config) (err error) {
if err != nil {
return errors.Wrap(err, "v2.NewTaikoL1")
}

taikoInboxV3, err = v3.NewTaikoInbox(cfg.SrcTaikoAddress, srcEthClient)
if err != nil {
return errors.Wrap(err, "v3.NewTaikoInbox")
}
}

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

i.blockBatchSize = cfg.BlockBatchSize
i.numGoroutines = int(cfg.NumGoroutines)
Expand Down
11 changes: 8 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 @@ -21,10 +21,15 @@ func (i *Indexer) setInitialIndexingBlockByMode(
// use v2 bindings
slotA, _, err := i.taikoL1V2.GetStateVariables(nil)
if err != nil {
return errors.Wrap(err, "v2.NewTaikoL1.GetStateVariables")
stats, err := i.taikoInboxV3.GetStats1(nil)
if err != nil {
return errors.Wrap(err, "v3.taikoInboxV3.GetStats1")
}

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

startingBlock = slotA.GenesisHeight - 1
} else {
startingBlock = slotA.GenesisHeight - 1
}
Expand Down
22 changes: 22 additions & 0 deletions packages/relayer/scripts/abigen_v3.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/TaikoInbox.sol")

names=("TaikoInbox")

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

exit 0

0 comments on commit 1396911

Please sign in to comment.