Skip to content

Commit

Permalink
Parse and store operator shares
Browse files Browse the repository at this point in the history
  • Loading branch information
seanmcgary committed Sep 6, 2024
1 parent 71ea76f commit 136911c
Show file tree
Hide file tree
Showing 10 changed files with 654 additions and 79 deletions.
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
package eigenState
package avsOperators

import (
"database/sql"
"fmt"
"github.com/Layr-Labs/sidecar/internal/config"
"github.com/Layr-Labs/sidecar/internal/eigenState"
"github.com/Layr-Labs/sidecar/internal/storage"
"github.com/wealdtech/go-merkletree/v2"
"github.com/wealdtech/go-merkletree/v2/keccak256"
Expand Down Expand Up @@ -40,8 +41,8 @@ type AvsOperatorChange struct {

// EigenState model for AVS operators that implements IEigenStateModel
type AvsOperators struct {
BaseEigenState
StateTransitions StateTransitions[AvsOperatorChange]
eigenState.BaseEigenState
StateTransitions eigenState.StateTransitions[AvsOperatorChange]
Db *gorm.DB
Network config.Network
Environment config.Environment
Expand All @@ -51,15 +52,15 @@ type AvsOperators struct {

// Create new instance of AvsOperators state model
func NewAvsOperators(
esm *EigenStateManager,
esm *eigenState.EigenStateManager,
grm *gorm.DB,
Network config.Network,
Environment config.Environment,
logger *zap.Logger,
globalConfig *config.Config,
) (*AvsOperators, error) {
s := &AvsOperators{
BaseEigenState: BaseEigenState{},
BaseEigenState: eigenState.BaseEigenState{},
Db: grm,
Network: Network,
Environment: Environment,
Expand All @@ -77,8 +78,8 @@ func NewAvsOperators(
//
// Returns the map and a reverse sorted list of block numbers that can be traversed when
// processing a log to determine which state change to apply.
func (a *AvsOperators) GetStateTransitions() (StateTransitions[AvsOperatorChange], []uint64) {
stateChanges := make(StateTransitions[AvsOperatorChange])
func (a *AvsOperators) GetStateTransitions() (eigenState.StateTransitions[AvsOperatorChange], []uint64) {
stateChanges := make(eigenState.StateTransitions[AvsOperatorChange])

// TODO(seanmcgary): make this not a closure so this function doesnt get big an messy...
stateChanges[0] = func(log *storage.TransactionLog) (*AvsOperatorChange, error) {
Expand Down Expand Up @@ -247,7 +248,7 @@ func (a *AvsOperators) WriteFinalState(blockNumber uint64) error {
// 3. Create a merkle tree for each AVS, with the operator:block_number pairs as leaves
// 4. Create a merkle tree for all AVS trees
// 5. Return the root of the full tree
func (a *AvsOperators) GenerateStateRoot(blockNumber uint64) (StateRoot, error) {
func (a *AvsOperators) GenerateStateRoot(blockNumber uint64) (eigenState.StateRoot, error) {
query := `
select
avs,
Expand Down Expand Up @@ -320,5 +321,5 @@ func (a *AvsOperators) GenerateStateRoot(blockNumber uint64) (StateRoot, error)
if err != nil {
return "", err
}
return StateRoot(fullTree.Root()), nil
return eigenState.StateRoot(fullTree.Root()), nil
}
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
package eigenState
package avsOperators

import (
"database/sql"
"fmt"
"github.com/Layr-Labs/sidecar/internal/config"
"github.com/Layr-Labs/sidecar/internal/eigenState"
"github.com/Layr-Labs/sidecar/internal/logger"
"github.com/Layr-Labs/sidecar/internal/storage"
"github.com/Layr-Labs/sidecar/internal/tests"
Expand All @@ -18,15 +19,15 @@ func setup() (
*config.Config,
*gorm.DB,
*zap.Logger,
*EigenStateManager,
*eigenState.EigenStateManager,
error,
) {
cfg := tests.GetConfig()
l, _ := logger.NewLogger(&logger.LoggerConfig{Debug: cfg.Debug})

_, grm, err := tests.GetDatabaseConnection(cfg)

eigenState := NewEigenStateManager(l)
eigenState := eigenState.NewEigenStateManager(l)

return cfg, grm, l, eigenState, err
}
Expand Down
Loading

0 comments on commit 136911c

Please sign in to comment.