github.com/prysmaticlabs/prysm@v1.4.4/beacon-chain/powchain/deposit.go (about)

     1  package powchain
     2  
     3  import (
     4  	"context"
     5  
     6  	"github.com/pkg/errors"
     7  	"github.com/prysmaticlabs/prysm/beacon-chain/core/blocks"
     8  	ethpb "github.com/prysmaticlabs/prysm/proto/eth/v1alpha1"
     9  )
    10  
    11  func (s *Service) processDeposit(ctx context.Context, eth1Data *ethpb.Eth1Data, deposit *ethpb.Deposit) error {
    12  	var err error
    13  	if err := s.preGenesisState.SetEth1Data(eth1Data); err != nil {
    14  		return err
    15  	}
    16  	beaconState, err := blocks.ProcessPreGenesisDeposits(ctx, s.preGenesisState, []*ethpb.Deposit{deposit})
    17  	if err != nil {
    18  		return errors.Wrap(err, "could not process pre-genesis deposits")
    19  	}
    20  	if beaconState != nil && !beaconState.IsNil() {
    21  		s.preGenesisState = beaconState
    22  	}
    23  	return nil
    24  }