diff --git a/rocketpool/api/megapool/challenge-performance.go b/rocketpool/api/megapool/challenge-performance.go index a9df7eaba..3a1e312d2 100644 --- a/rocketpool/api/megapool/challenge-performance.go +++ b/rocketpool/api/megapool/challenge-performance.go @@ -187,7 +187,7 @@ func getChallengeSlotProof( if err != nil { return 0, megapool.SlotProof{}, fmt.Errorf("error getting beacon config: %w", err) } - _, slotTimestamp, slotProof, err := services.GetValidatorProof(c, 0, w, eth2Config, megapoolAddress, pubkey, nil) + _, slotTimestamp, slotProof, err := services.GetValidatorProof(c, 0, w, eth2Config, pubkey, nil) if err != nil { return 0, megapool.SlotProof{}, fmt.Errorf("error building slot proof: %w", err) } diff --git a/rocketpool/api/megapool/dissolve-with-proof.go b/rocketpool/api/megapool/dissolve-with-proof.go index b2ce074e4..a10cb0fdc 100644 --- a/rocketpool/api/megapool/dissolve-with-proof.go +++ b/rocketpool/api/megapool/dissolve-with-proof.go @@ -74,7 +74,7 @@ func canDissolveWithProof(c *cli.Command, validatorId uint32) (*api.CanDissolveW return nil, err } - proof, slotTimestamp, slotProof, err := services.GetValidatorProof(c, 0, w, eth2Config, megapoolAddress, types.ValidatorPubkey(validatorInfo.Pubkey), nil) + proof, slotTimestamp, slotProof, err := services.GetValidatorProof(c, 0, w, eth2Config, types.ValidatorPubkey(validatorInfo.Pubkey), nil) if err != nil { return nil, err } @@ -163,7 +163,7 @@ func dissolveWithProof(c *cli.Command, validatorId uint32, t *snroute.TransactOp return nil, err } - validatorProof, slotTimestamp, slotProof, err := services.GetValidatorProof(c, 0, w, eth2Config, megapoolAddress, types.ValidatorPubkey(validatorInfo.Pubkey), nil) + validatorProof, slotTimestamp, slotProof, err := services.GetValidatorProof(c, 0, w, eth2Config, types.ValidatorPubkey(validatorInfo.Pubkey), nil) if err != nil { return nil, err } diff --git a/rocketpool/api/megapool/notify-validator-exit.go b/rocketpool/api/megapool/notify-validator-exit.go index f2d96d7bf..dc38f111a 100644 --- a/rocketpool/api/megapool/notify-validator-exit.go +++ b/rocketpool/api/megapool/notify-validator-exit.go @@ -122,7 +122,7 @@ func canNotifyValidatorExit(c *cli.Command, validatorId uint32) (*api.CanNotifyV return nil, err } - proof, slotTimestamp, slotProof, err := services.GetValidatorProof(c, 0, w, eth2Config, megapoolAddress, pubkey, beaconState) + proof, slotTimestamp, slotProof, err := services.GetValidatorProof(c, 0, w, eth2Config, pubkey, beaconState) if err != nil { return nil, err } @@ -207,7 +207,7 @@ func notifyValidatorExit(c *cli.Command, validatorId uint32, t *snroute.Transact return nil, err } - validatorProof, slotTimetamp, slotProof, err := services.GetValidatorProof(c, 0, w, eth2Config, megapoolAddress, pubkey, beaconState) + validatorProof, slotTimetamp, slotProof, err := services.GetValidatorProof(c, 0, w, eth2Config, pubkey, beaconState) if err != nil { return nil, err } diff --git a/rocketpool/api/megapool/stake.go b/rocketpool/api/megapool/stake.go index 5080a5077..b57d89f45 100644 --- a/rocketpool/api/megapool/stake.go +++ b/rocketpool/api/megapool/stake.go @@ -90,7 +90,7 @@ func canStake(c *cli.Command, validatorId uint64) (*api.CanStakeResponse, error) return nil, err } - validatorProof, slotTimestamp, slotProof, err := services.GetValidatorProof(c, 0, w, eth2Config, megapoolAddress, types.ValidatorPubkey(validatorInfo.Pubkey), nil) + validatorProof, slotTimestamp, slotProof, err := services.GetValidatorProof(c, 0, w, eth2Config, types.ValidatorPubkey(validatorInfo.Pubkey), nil) if err != nil { if strings.Contains(err.Error(), "index not found") { response.CanStake = false @@ -167,7 +167,7 @@ func stake(c *cli.Command, validatorId uint64, t *snroute.TransactOpts) (*api.St return nil, err } - validatorProof, slotTimestamp, slotProof, err := services.GetValidatorProof(c, 0, w, eth2Config, megapoolAddress, types.ValidatorPubkey(validatorInfo.Pubkey), nil) + validatorProof, slotTimestamp, slotProof, err := services.GetValidatorProof(c, 0, w, eth2Config, types.ValidatorPubkey(validatorInfo.Pubkey), nil) if err != nil { return nil, err } diff --git a/rocketpool/node/check-minipool-exit-requests.go b/rocketpool/node/check-minipool-exit-requests.go index 2bc0f0bad..993c4bde2 100644 --- a/rocketpool/node/check-minipool-exit-requests.go +++ b/rocketpool/node/check-minipool-exit-requests.go @@ -384,8 +384,7 @@ func (t *checkMinipoolExitRequests) proveDidNotExit(beaconState eth2.BeaconState t.log.Printlnf("[STARTED] Crafting a did-not-exit proof. This process can take several seconds and is CPU and memory intensive. If you don't see a [FINISHED] log entry your system may not have enough resources to perform this operation.") - // The megapool proof structs are generic SSZ proofs; the address parameter is unused by GetValidatorProof - validatorProof, slotTimestamp, slotProof, err := services.GetValidatorProof(t.c, 0, t.w, state.BeaconConfig, common.Address{}, validator.pubkey, beaconState) + validatorProof, slotTimestamp, slotProof, err := services.GetValidatorProof(t.c, 0, t.w, state.BeaconConfig, validator.pubkey, beaconState) if err != nil { t.log.Printlnf("[ERROR] There was an error during the proof creation process: %s", err.Error()) return err diff --git a/rocketpool/node/defend-challenge-exit.go b/rocketpool/node/defend-challenge-exit.go index 0e10b4070..8940e1b26 100644 --- a/rocketpool/node/defend-challenge-exit.go +++ b/rocketpool/node/defend-challenge-exit.go @@ -158,7 +158,7 @@ func (t *defendChallengeExit) defendChallenge(rp *rocketpool.RocketPool, mp mega t.log.Printlnf("Crafting a validator proof.") - validatorProof, slotTimestamp, slotProof, err := services.GetValidatorProof(t.c, 0, t.w, state.BeaconConfig, mp.GetAddress(), validatorPubkey, nil) + validatorProof, slotTimestamp, slotProof, err := services.GetValidatorProof(t.c, 0, t.w, state.BeaconConfig, validatorPubkey, nil) if err != nil { t.log.Printlnf("[ERROR] There was an error during the proof creation process: %w", err) return err diff --git a/rocketpool/node/defend-challenge-performance.go b/rocketpool/node/defend-challenge-performance.go index 05979394a..04b1d8ddf 100644 --- a/rocketpool/node/defend-challenge-performance.go +++ b/rocketpool/node/defend-challenge-performance.go @@ -357,7 +357,7 @@ func (t *defendChallengePerformance) respondWithValidator(challenge megapoolPerf // Build a fresh validator proof against the head state to satisfy the // contract's slot recency requirement - validatorProof, slotTimestamp, slotProof, err := services.GetValidatorProof(t.c, 0, t.w, state.BeaconConfig, challenge.megapoolAddress, defender.pubkey, nil) + validatorProof, slotTimestamp, slotProof, err := services.GetValidatorProof(t.c, 0, t.w, state.BeaconConfig, defender.pubkey, nil) if err != nil { return fmt.Errorf("error creating the validator proof: %w", err) } diff --git a/rocketpool/node/notify-validator-exit.go b/rocketpool/node/notify-validator-exit.go index 3d3b980b4..90ce7d6e7 100644 --- a/rocketpool/node/notify-validator-exit.go +++ b/rocketpool/node/notify-validator-exit.go @@ -202,7 +202,7 @@ func (t *notifyValidatorExit) createExitProof(rp *rocketpool.RocketPool, beaconS t.log.Printlnf("Crafting an exit proof.") - validatorProof, slotTimestamp, slotProof, err := services.GetValidatorProof(t.c, 0, t.w, state.BeaconConfig, mp.GetAddress(), validatorPubkey, beaconState) + validatorProof, slotTimestamp, slotProof, err := services.GetValidatorProof(t.c, 0, t.w, state.BeaconConfig, validatorPubkey, beaconState) if err != nil { t.log.Printlnf("[ERROR] There was an error during the proof creation process: %w", err) return err diff --git a/rocketpool/node/stake-megapool-validator.go b/rocketpool/node/stake-megapool-validator.go index 0a05c9e9e..6fe427791 100644 --- a/rocketpool/node/stake-megapool-validator.go +++ b/rocketpool/node/stake-megapool-validator.go @@ -200,7 +200,7 @@ func (t *stakeMegapoolValidator) stakeValidator(rp *rocketpool.RocketPool, beaco t.log.Printlnf("Crafting a proof that the correct credentials were used on the first beacon chain deposit. This process can take several seconds and is CPU and memory intensive.") - validatorProof, slotTimestamp, slotProof, err := services.GetValidatorProof(t.c, 0, t.w, state.BeaconConfig, mp.GetAddress(), validatorPubkey, beaconState) + validatorProof, slotTimestamp, slotProof, err := services.GetValidatorProof(t.c, 0, t.w, state.BeaconConfig, validatorPubkey, beaconState) if err != nil { t.log.Printlnf("There was an error during the proof creation process: %w", err) return err diff --git a/rocketpool/watchtower/dissolve-invalid-credentials.go b/rocketpool/watchtower/dissolve-invalid-credentials.go index bdd0bf3f9..94e2fdb6b 100644 --- a/rocketpool/watchtower/dissolve-invalid-credentials.go +++ b/rocketpool/watchtower/dissolve-invalid-credentials.go @@ -161,7 +161,7 @@ func (t *dissolveInvalidCredentials) dissolveMegapoolValidator(validator megapoo return } - validatorProof, slotTimestamp, slotProof, err := services.GetValidatorProof(t.c, 0, t.w, eth2Config, validator.MegapoolAddress, types.ValidatorPubkey(validator.Pubkey), nil) + validatorProof, slotTimestamp, slotProof, err := services.GetValidatorProof(t.c, 0, t.w, eth2Config, types.ValidatorPubkey(validator.Pubkey), nil) if err != nil { t.log.Printlnf("error getting validator proof: %v", err) return diff --git a/shared/services/megapools.go b/shared/services/megapools.go index 47423f259..22a5d08a5 100644 --- a/shared/services/megapools.go +++ b/shared/services/megapools.go @@ -61,7 +61,7 @@ type WithdrawalProofResponse struct { Witnesses []common.Hash `json:"witnesses"` } -func GetValidatorProof(c *cli.Command, slot uint64, wallet wallet.Wallet, eth2Config beacon.Eth2Config, megapoolAddress common.Address, validatorPubkey types.ValidatorPubkey, beaconState eth2.BeaconState) (megapool.ValidatorProof, uint64, megapool.SlotProof, error) { +func GetValidatorProof(c *cli.Command, slot uint64, wallet wallet.Wallet, eth2Config beacon.Eth2Config, validatorPubkey types.ValidatorPubkey, beaconState eth2.BeaconState) (megapool.ValidatorProof, uint64, megapool.SlotProof, error) { bc, err := GetBeaconClient(c) if err != nil { @@ -1212,7 +1212,7 @@ func getPreGloasFinalBalanceProofs(c *cli.Command, slotHint uint64, validatorInd stateUsed = nil } - validatorProof, slotTimestamp, slotProof, err := GetValidatorProof(c, proofSlot, w, eth2Config, megapoolAddress, validatorPubkey, stateUsed) + validatorProof, slotTimestamp, slotProof, err := GetValidatorProof(c, proofSlot, w, eth2Config, validatorPubkey, stateUsed) if err != nil { return megapool.WithdrawalProof{}, megapool.ValidatorProof{}, megapool.SlotProof{}, 0, err } @@ -1339,7 +1339,7 @@ func getGloasFinalBalanceProofBundle(c *cli.Command, bc beacon.Client, eth2Confi return nil, nil, 0, err } - validatorProof, slotTimestamp, slotProof, err := GetValidatorProof(c, finalizedSlot, w, eth2Config, megapoolAddress, validatorPubkey, proofState) + validatorProof, slotTimestamp, slotProof, err := GetValidatorProof(c, finalizedSlot, w, eth2Config, validatorPubkey, proofState) if err != nil { return nil, nil, 0, err }