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 }