Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .hack/devnet/kurtosis.devnet.config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,4 +12,4 @@ network_params:
shard_committee_period: 1
preset: mainnet
additional_services:
- dora
- dora # needed for config exctraction
14 changes: 11 additions & 3 deletions .hack/devnet/run.sh
Original file line number Diff line number Diff line change
Expand Up @@ -19,12 +19,12 @@ else
--args-file "${config_file}"
fi

# Get chain config
kurtosis files inspect "$ENCLAVE_NAME" el_cl_genesis_data ./config.yaml | tail -n +2 > "${__dir}/generated-chain-config.yaml"

# Get validator ranges
kurtosis files inspect "$ENCLAVE_NAME" validator-ranges validator-ranges.yaml | tail -n +2 > "${__dir}/generated-validator-ranges.yaml"

# Get dora config
kurtosis files inspect "$ENCLAVE_NAME" dora-config dora-config.yaml | tail -n +2 > "${__dir}/generated-dora-kt-config.yaml"

## Generate Dora config
ENCLAVE_UUID=$(kurtosis enclave inspect "$ENCLAVE_NAME" --full-uuids | grep 'UUID:' | awk '{print $2}')

Expand Down Expand Up @@ -107,6 +107,14 @@ database:
file: "${__dir}/generated-database.sqlite"
EOF

if [ -f ${__dir}/generated-dora-kt-config.yaml ]; then
fullcfg=$(yq eval-all 'select(fileIndex == 0) as $target | select(fileIndex == 1) as $source | $target.executionapi.endpoints = $source.executionapi.endpoints | $target' ${__dir}/generated-dora-config.yaml ${__dir}/generated-dora-kt-config.yaml)
if [ ! -z "$fullcfg" ]; then
echo "$fullcfg" > ${__dir}/generated-dora-config.yaml
rm ${__dir}/generated-dora-kt-config.yaml
fi
fi


cat <<EOF
============================================================================================================
Expand Down
7 changes: 4 additions & 3 deletions clients/consensus/chainstate.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ import (

v1 "github.com/attestantio/go-eth2-client/api/v1"
"github.com/attestantio/go-eth2-client/spec/phase0"
"github.com/ethpandaops/dora/utils"
"github.com/ethpandaops/ethwallclock"
"github.com/mashingan/smapping"
)
Expand All @@ -26,9 +27,9 @@ type ChainState struct {
finalityMutex sync.RWMutex
finality *v1.Finality

checkpointDispatcher Dispatcher[*v1.Finality]
wallclockEpochDispatcher Dispatcher[*ethwallclock.Epoch]
wallclockSlotDispatcher Dispatcher[*ethwallclock.Slot]
checkpointDispatcher utils.Dispatcher[*v1.Finality]
wallclockEpochDispatcher utils.Dispatcher[*ethwallclock.Epoch]
wallclockSlotDispatcher utils.Dispatcher[*ethwallclock.Slot]
}

func newChainState() *ChainState {
Expand Down
13 changes: 7 additions & 6 deletions clients/consensus/client.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ import (

"github.com/ethpandaops/dora/clients/consensus/rpc"
"github.com/ethpandaops/dora/clients/sshtunnel"
"github.com/ethpandaops/dora/utils"
)

type ClientConfig struct {
Expand Down Expand Up @@ -50,9 +51,9 @@ type Client struct {
lastMetadataUpdateTime time.Time
lastSyncUpdateEpoch phase0.Epoch
peers []*v1.Peer
blockDispatcher Dispatcher[*v1.BlockEvent]
headDispatcher Dispatcher[*v1.HeadEvent]
checkpointDispatcher Dispatcher[*v1.Finality]
blockDispatcher utils.Dispatcher[*v1.BlockEvent]
headDispatcher utils.Dispatcher[*v1.HeadEvent]
checkpointDispatcher utils.Dispatcher[*v1.Finality]
}

func (pool *Pool) newPoolClient(clientIdx uint16, endpoint *ClientConfig) (*Client, error) {
Expand Down Expand Up @@ -85,15 +86,15 @@ func (client *Client) resetContext() {
client.clientCtx, client.clientCtxCancel = context.WithCancel(client.pool.ctx)
}

func (client *Client) SubscribeBlockEvent(capacity int, blocking bool) *Subscription[*v1.BlockEvent] {
func (client *Client) SubscribeBlockEvent(capacity int, blocking bool) *utils.Subscription[*v1.BlockEvent] {
return client.blockDispatcher.Subscribe(capacity, blocking)
}

func (client *Client) SubscribeHeadEvent(capacity int, blocking bool) *Subscription[*v1.HeadEvent] {
func (client *Client) SubscribeHeadEvent(capacity int, blocking bool) *utils.Subscription[*v1.HeadEvent] {
return client.headDispatcher.Subscribe(capacity, blocking)
}

func (client *Client) SubscribeFinalizedEvent(capacity int) *Subscription[*v1.Finality] {
func (client *Client) SubscribeFinalizedEvent(capacity int) *utils.Subscription[*v1.Finality] {
return client.checkpointDispatcher.Subscribe(capacity, false)
}

Expand Down
7 changes: 4 additions & 3 deletions clients/consensus/pool.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import (
"math/rand/v2"

v1 "github.com/attestantio/go-eth2-client/api/v1"
"github.com/ethpandaops/dora/utils"
"github.com/ethpandaops/ethwallclock"
"github.com/sirupsen/logrus"
)
Expand All @@ -28,15 +29,15 @@ func NewPool(ctx context.Context, logger logrus.FieldLogger) *Pool {
}
}

func (pool *Pool) SubscribeFinalizedEvent(capacity int) *Subscription[*v1.Finality] {
func (pool *Pool) SubscribeFinalizedEvent(capacity int) *utils.Subscription[*v1.Finality] {
return pool.chainState.checkpointDispatcher.Subscribe(capacity, false)
}

func (pool *Pool) SubscribeWallclockEpochEvent(capacity int) *Subscription[*ethwallclock.Epoch] {
func (pool *Pool) SubscribeWallclockEpochEvent(capacity int) *utils.Subscription[*ethwallclock.Epoch] {
return pool.chainState.wallclockEpochDispatcher.Subscribe(capacity, false)
}

func (pool *Pool) SubscribeWallclockSlotEvent(capacity int) *Subscription[*ethwallclock.Slot] {
func (pool *Pool) SubscribeWallclockSlotEvent(capacity int) *utils.Subscription[*ethwallclock.Slot] {
return pool.chainState.wallclockSlotDispatcher.Subscribe(capacity, false)
}

Expand Down
8 changes: 8 additions & 0 deletions clients/execution/clienttype.go
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,14 @@ var clientTypePatterns = map[ClientType]*regexp.Regexp{
RethClient: regexp.MustCompile("(?i)^Reth/.*"),
}

func (t ClientType) Uint8() uint8 {
if t == UnknownClient {
return 0
}

return uint8(t)
}

func (client *Client) parseClientVersion(version string) {
for clientType, versionPattern := range clientTypePatterns {
if versionPattern.MatchString(version) {
Expand Down
Loading