revert change

This commit is contained in:
Dustin Brody 2021-04-13 18:50:06 +02:00
parent d6fa4d06bc
commit 398c151b7d
No known key found for this signature in database
GPG Key ID: 3D7A11A0156519DC
4 changed files with 24 additions and 32 deletions

View File

@ -167,9 +167,9 @@ proc installBeaconApiHandlers*(router: var RestRouter, node: BeaconNode) =
node.withStateForBlockSlot(bslot):
return RestApiResponse.jsonResponse(
(
previous_version: getStateField(stateData, fork).previous_version,
current_version: getStateField(stateData, fork).current_version,
epoch: getStateField(stateData, fork).epoch
previous_version: state().fork.previous_version,
current_version: state().fork.current_version,
epoch: state().fork.epoch
)
)
return RestApiResponse.jsonError(Http500, InternalServerError)
@ -191,11 +191,9 @@ proc installBeaconApiHandlers*(router: var RestRouter, node: BeaconNode) =
node.withStateForBlockSlot(bslot):
return RestApiResponse.jsonResponse(
(
previous_justified:
getStateField(stateData, previous_justified_checkpoint),
current_justified:
getStateField(stateData, current_justified_checkpoint),
finalized: getStateField(stateData, finalized_checkpoint)
previous_justified: state().previous_justified_checkpoint,
current_justified: state().current_justified_checkpoint,
finalized: state().finalized_checkpoint
)
)
return RestApiResponse.jsonError(Http500, InternalServerError)
@ -270,7 +268,7 @@ proc installBeaconApiHandlers*(router: var RestRouter, node: BeaconNode) =
node.withStateForBlockSlot(bslot):
let current_epoch = get_current_epoch(node.chainDag.headState.data.data)
var res: seq[RestValidatorTuple]
for index, validator in getStateField(stateData, validators).pairs():
for index, validator in state().validators.pairs():
let includeFlag =
(len(keySet) == 0) and (len(indexSet) == 0) or
(len(indexSet) > 0 and (ValidatorIndex(index) in indexSet)) or
@ -282,8 +280,7 @@ proc installBeaconApiHandlers*(router: var RestRouter, node: BeaconNode) =
if includeFlag and statusFlag:
res.add((
index: ValidatorIndex(index),
balance:
Base10.toString(getStateField(stateData, balances)[index]),
balance: Base10.toString(state().balances[index]),
status: toString(vstatus),
validator: validator
))
@ -313,15 +310,14 @@ proc installBeaconApiHandlers*(router: var RestRouter, node: BeaconNode) =
let vid = validator_id.get()
case vid.kind
of ValidatorQueryKind.Key:
for index, validator in getStateField(stateData, validators).pairs():
for index, validator in state().validators.pairs():
if validator.pubkey == vid.key:
let sres = validator.getStatus(current_epoch)
if sres.isOk():
return RestApiResponse.jsonResponse(
(
index: ValidatorIndex(index),
balance:
Base10.toString(getStateField(stateData, balances)[index]),
balance: Base10.toString(state().balances[index]),
status: toString(sres.get()),
validator: validator
)
@ -344,15 +340,15 @@ proc installBeaconApiHandlers*(router: var RestRouter, node: BeaconNode) =
UnsupportedValidatorIndexValueError)
vres.get()
if uint64(vindex) >= uint64(len(getStateField(stateData, validators))):
if uint64(vindex) >= uint64(len(state().validators)):
return RestApiResponse.jsonError(Http404, ValidatorNotFoundError)
let validator = getStateField(stateData, validators)[vindex]
let validator = state().validators[vindex]
let sres = validator.getStatus(current_epoch)
if sres.isOk():
return RestApiResponse.jsonResponse(
(
index: vindex,
balance: Base10.toString(getStateField(stateData, balances)[vindex]),
balance: Base10.toString(state().balances[vindex]),
status: toString(sres.get()),
validator: validator
)
@ -418,7 +414,7 @@ proc installBeaconApiHandlers*(router: var RestRouter, node: BeaconNode) =
node.withStateForBlockSlot(bslot):
let current_epoch = get_current_epoch(node.chainDag.headState.data.data)
var res: seq[RestValidatorBalanceTuple]
for index, validator in getStateField(stateData, validators).pairs():
for index, validator in state().validators.pairs():
let includeFlag =
(len(keySet) == 0) and (len(indexSet) == 0) or
(len(indexSet) > 0 and (ValidatorIndex(index) in indexSet)) or
@ -429,8 +425,7 @@ proc installBeaconApiHandlers*(router: var RestRouter, node: BeaconNode) =
if includeFlag:
res.add((
index: ValidatorIndex(index),
balance:
Base10.toString(getStateField(stateData, balances)[index]),
balance: Base10.toString(state().balances[index]),
))
return RestApiResponse.jsonResponse(res)
@ -505,7 +500,7 @@ proc installBeaconApiHandlers*(router: var RestRouter, node: BeaconNode) =
var res: seq[RestBeaconStatesCommitteesTuple]
let qepoch =
if vepoch.isNone:
compute_epoch_at_slot(getStateField(stateData, slot))
compute_epoch_at_slot(state().slot)
else:
vepoch.get()

View File

@ -105,7 +105,7 @@ proc installNimbusApiHandlers*(rpcServer: RpcServer, node: BeaconNode) {.
let proposalState = assignClone(node.chainDag.headState)
node.chainDag.withState(proposalState[], head.atSlot(wallSlot)):
return node.getBlockProposalEth1Data(stateData)
return node.getBlockProposalEth1Data(state)
rpcServer.rpc("debug_getChronosFutures") do () -> seq[FutureInfo]:
when defined(chronosFutureTracking):

View File

@ -185,8 +185,7 @@ proc installNimbusApiHandlers*(router: var RestRouter, node: BeaconNode) =
res.get()
let proposalState = assignClone(node.chainDag.headState)
node.chainDag.withState(proposalState[], head.atSlot(wallSlot)):
return RestApiResponse.jsonResponse(
node.getBlockProposalEth1Data(stateData))
return RestApiResponse.jsonResponse(node.getBlockProposalEth1Data(state))
router.api(MethodGet, "/api/nimbus/v1/debug/chronos/futures") do (
) -> RestApiResponse:

View File

@ -231,20 +231,18 @@ proc createAndSendAttestation(node: BeaconNode,
beacon_attestation_sent_delay.observe(delayMillis)
proc getBlockProposalEth1Data*(node: BeaconNode,
stateData: StateData): BlockProposalEth1Data =
state: BeaconState): BlockProposalEth1Data =
if node.eth1Monitor.isNil:
var pendingDepositsCount =
getStateField(stateData, eth1_data).deposit_count -
getStateField(stateData, eth1_deposit_index)
var pendingDepositsCount = state.eth1_data.deposit_count -
state.eth1_deposit_index
if pendingDepositsCount > 0:
result.hasMissingDeposits = true
else:
result.vote = getStateField(stateData, eth1_data)
result.vote = state.eth1_data
else:
let finalizedEpochRef = node.chainDag.getFinalizedEpochRef()
result = node.eth1Monitor.getBlockProposalData(
stateData.data.data, finalizedEpochRef.eth1_data,
finalizedEpochRef.eth1_deposit_index)
state, finalizedEpochRef.eth1_data, finalizedEpochRef.eth1_deposit_index)
proc makeBeaconBlockForHeadAndSlot*(node: BeaconNode,
randao_reveal: ValidatorSig,
@ -260,7 +258,7 @@ proc makeBeaconBlockForHeadAndSlot*(node: BeaconNode,
node.chainDag.withState(proposalState[], head.atSlot(slot)):
let
eth1Proposal = node.getBlockProposalEth1Data(stateData)
eth1Proposal = node.getBlockProposalEth1Data(state)
poolPtr = unsafeAddr node.chainDag # safe because restore is short-lived
if eth1Proposal.hasMissingDeposits: