Commit Graph

221 Commits

Author SHA1 Message Date
Preston Van Loon
7c47db0015 add attestation data req cache (#2542)
* add attestation data req cache

* add tests

* godocs

* fix cache size gauge

* lint

* fix tests

* gazelle

* add more comments
2019-05-08 19:27:29 -05:00
Preston Van Loon
8a4f322e2c Check context has not expired before expensive operations (#2541)
* use ctx.Err for potentially expensive RPC methods, use batch for saving attestations

* more

* in sync too

* Update BUILD.bazel

* fix spacing
2019-05-08 18:51:00 -05:00
Raul Jordan
0bab9f492d Do Not Run Fork Choice on Block Proposals (#2526) 2019-05-07 23:02:52 -07:00
Preston Van Loon
57495bc8fe Revert "Canonical Blocks for Batch Block Request (#2511)" (#2532)
This reverts commit a818564b8d.
2019-05-08 00:52:34 -05:00
terence tsao
7642f950d8
delete failed pending atts (#2528) 2019-05-07 18:46:16 -07:00
terence tsao
eb626e5834
fixed atts verification (#2527) 2019-05-07 15:51:41 -07:00
terence tsao
0f0510096e Update Attestation Target for AttestHead (#2525)
* update attestation target for AttestHead

* fixed test
2019-05-07 17:31:06 -05:00
Nishant Das
1be950f90c fix validator flags (#2518) 2019-05-06 21:49:03 -05:00
Raul Jordan
cd0002a6af
Do Not Broadcast Attestations in Operations Service (#2509)
* no att broadcast

* broadcast in rpc but not operations

* fix space

* tests
2019-05-06 15:30:29 -05:00
Raul Jordan
4954ed0221
Use Single Code Path for Receiving Blocks and Fork Choice (#2514)
* insert canonical

* one path

* single entry

* travis

* lint
2019-05-06 15:06:41 -05:00
terence tsao
a818564b8d
Canonical Blocks for Batch Block Request (#2511)
* only reply canonical block for reg sync

* CanonicalBlock test

* lint
2019-05-06 11:02:04 -07:00
Raul Jordan
d68111e051
Fix Status Update Progression in RPC Server (#2495)
* fix status updates

* standardize logs in validator

* tests

* fix conditional
2019-05-05 17:39:12 -05:00
Raul Jordan
f60f3dfd2d Lookup Validator Index in State in Status Check (#2494)
* state lookup

* refactor duplicate code

* refactor with mapping

* fix broken tests

* finish refactor
2019-05-05 16:09:02 -04:00
Nishant Das
409111e374 Estimate the Time Till Follow Distance Is Completed (#2486)
* use estimation instead

* fix test

* fixing another test

* fix tests and preston's comments

* remove unused var

* fix condition

* Revert "fix condition"

This reverts commit dee0e3112c01f68f30a2e50cd4eb35f29f672e1d.

* dont return error
2019-05-05 13:18:57 -04:00
Raul Jordan
406fb40883
Fix Validator Status Field in RPC Server (#2492)
* fix status of key

* status test fix

* fmt
2019-05-05 12:05:21 -05:00
Raul Jordan
d5c0a99578 Display Only Active Validator Data (#2490) 2019-05-05 09:40:21 -07:00
Raul Jordan
329d467008
Fix Status Nil Pointer Error (#2480)
* no err throw

* nil errors
2019-05-03 16:55:56 -05:00
Raul Jordan
f612d9ff5b
no err throw (#2479) 2019-05-03 15:28:11 -05:00
Nishant Das
7d88e1e15e Allow Client to Retrieve Multiple Validator Statuses (#2474)
* multiple validator statuses

* gazelle

* context

* fixing bugs

* remove old way of checking

* fix logging

* make activation queue more accurate

* fix rpc test

* add test

* fix remaining tests

* lint

* comment

* review comments
2019-05-03 12:13:34 -05:00
Raul Jordan
94a1aca640 standardize slot numbers (#2475) 2019-05-03 13:28:09 +08:00
Raul Jordan
7007a9e8fa Fix Estimation of Deposit Inclusion Slot in ValidatorActivationStatus (#2472)
* fix spacing

* fix time estimates

* correct slot estimation

* naming

* Update beacon-chain/rpc/validator_server.go

Co-Authored-By: rauljordan <raul@prysmaticlabs.com>
2019-05-02 19:13:51 -04:00
Raul Jordan
f876df42d7
ValidatorStatus Estimating Activation RPC Server (#2469)
* fix spacing

* working on position in queue

* fmt

* spacing

* feedback

* tests

* rename
2019-05-02 14:14:25 -05:00
terence tsao
b1334c6120 Revert "Reverts RPC Disabling (#2435)" (#2468)
This reverts commit e16f1e1533.
2019-05-02 09:17:45 -04:00
terence tsao
de6ea81790 Recent Block Roots RPC API (#2455)
* add metrics for corret participation rate

* gaz

* add recent canonical roots API

* gaz

* all tests passed

* comments

* fmt
2019-05-01 10:14:46 -05:00
Raul Jordan
aa74b1dca3 Various Logging Improvements (#2454) 2019-04-30 14:55:59 -07:00
Raul Jordan
acf2d0699c Fixed HasAnyValidators to Fallback to Looking Into the BeaconState (#2453) 2019-04-30 14:18:16 -07:00
terence tsao
bff774de32 Operation service prunes invalid attestation (#2439)
* prune atts > one epoch old

* use VerifyAttestation instead

* added test to prune invalid att

* space

* added ctx

* fixed existing tests

* gaz

* gazelle
2019-04-29 15:03:28 -05:00
terence tsao
63998b92aa Add and Use Truncate Hash Library (#2417)
* add truncate lib

* use trunc

* spaces
2019-04-29 13:11:51 -05:00
Nishant Das
e16f1e1533 Reverts RPC Disabling (#2435)
* make changes

* more changes
2019-04-29 08:23:24 -05:00
frederickalcantara
a170c69653 upgrading linter from gometalinter to golangci-lint (#2100)
* upgrading linter from gometalinter to golangci-lint

* fixed golangci-lint linting

* removed linting before_script command

* removed disable-all command

* Fixed golang config file

* fixed golang config file v2

* removed gosec issue rule

* formatting

* fixed travis build to run golangci-lint

* Add install golangci-lint command

* fixing golangci-lint script

* removed https://

* Added golangci-lint cmd script

* added go get for local lint install

* created a before_script

* add install before script

* Added get script

* added go mod download

* removed go mod downloads

* changed

* removed before script

* Added before script go get lint

* added exit zero to see what went wrong

* removed golang run script

* removed before script

* change lint command

* verbose output

* removed verbose

* change linter enable and disable configuration

* Update .golangci.yml

Removed gotype as a linter

* Update .golangci.yml

Added typecheck linter

* Update .golangci.yml

Added fixed lint version

* Update .golangci.yml

Added gotype

* Update .golangci.yml

Added typecheck

* removed env:lint

* Added env lint

* fixing lint upgrade

* Changing travis configuration

* FIxed spelling errors

* disabled typecheck

* Enabled typecheck

* remove binary

* Deleting lib binary

* adding more linters

* fixed constants

* fix spelling

* fixed all lint issues

* Revert "Changing travis configuration"

This reverts commit 334afe9d05e96261b01f275aa3ada20e7f36aac4.

* Merge branch 'master' of https://github.com/prysmaticlabs/prysm into update-linter

* Changed from Infof to Info

* Fixing commits

* fixing commits with linter config

* added install

* Fixing

* fix log statement
2019-04-26 14:24:01 +08:00
terence tsao
82d0bbba2e RPC Validator Index Lookup Failover (#2386)
* implemented valIdxLookup and tests

* comments

* comments

* look up in db

* uncomment
2019-04-25 17:57:54 -05:00
Nishant Das
4ed86566c1 Disable RPC while Syncing (#2353)
* handle nil block

* blocking rpc till synced

* remove unused field

* remove log

* fix tests
2019-04-23 10:57:10 -05:00
Nishant Das
a5def315ae Separate Registry and Balances (#2334)
* all changes

* lint

* terence's review
2019-04-22 10:52:56 -05:00
Raul Jordan
0ff335f254
Fix Pending Attestations RPC Call (#2304)
* pending atts

* use proposal slot

* attestation inclusion fix

* lint

* advance state transitions

* gazelle

* lint tests pass
2019-04-21 16:12:03 -05:00
Nishant Das
2af49b5c55 Fix Assingments Bug (#2320)
* fix

* fix tests
2019-04-21 11:47:53 -05:00
terence tsao
1602c5d0c5
Use Withfields for Logging (#2305)
* use with fields

* gaz
2019-04-19 21:09:01 -07:00
shayzluf
0732012459 Validator-multiple key (#2069)
* first version - broken

* working proto changes

* resolve review remarks

* fix goimport issues

* fix service issues

* first logic version-broken

* first running version - no new tests

* fix validator client test

* add wait group to goroutines

* remove unused var in function call

* fix review remarks and tests

* merge master changes and fix conflicts

* gazzele fix

* fix prestonvanloon requested changes

* merge and some of terenc3t remarks addressed

* _,pk bug fix in log

* fix account file name suffix and filter not active validator out

* merge with master and fix missing parameters

* run over all public keys in hasvalidators

* add test for error when no all the validators has index in the db and hasvalidators is called

* fix runner tests fail due to timing issues

* goimports

* smaller sleep time in proposer tests

* fix UpdateAssignments loging

* fix goimports

* added && false commented TestUpdateAssignments_DoesNothingWhenNotEpochStartAndAlreadyExistingAssignments

* hasvalidators without missing publickeys list

* fix some of prestone review remarks

* fixes for prestone comments

* review changes applied

* expect context call in TestWaitForActivation_ValidatorOriginallyExists

* changed hasvalidators to return true if one validator exists

* fix init problem to getkeys

* hasvalidators requiers all validators to be in db

* validator attest assignments update

* fix ap var name

* Change name to hasallvalidators

* fix tests

* update script, fix any vs all validator calls

* fix wait for activation

* filter validator

* reuse the reply block

* fix imports

* Remove dup

* better lookup of active validators

* better filter active vlaidators, still need to fix committee assignment tests

* lint

* use activated keys

* fix for postchainstart

* fix logging

* move state transitions

* hasanyvalidator and hasallvalidators

* fix tests with updatechainhead missing

* add tests

* fix TestCommitteeAssignment_OK

* fix test

* fix validator tests

* fix TestCommitteeAssignment_multipleKeys_OK and TestWaitForActivation_ValidatorOriginallyExists

* fix goimports

* removed unused param from assignment

* change string(pk) to hex.EncodeString(pk) fix change requests

* add inactive validator status to assignments

* fix logging mess due to multi validator setup

* set no assignment to debug level

* log assignments every epoch

* logging fixes

* fixed runtime by using the right assignments

* correct activation request

* fix the validator panic

* correct assignment

* fix test fail and waitforactivation

* performance log issue fix

* fix goimports

* add log message with truncated pk for attest

* add truncated pk to attest and propose logs

* Add comment to script, change 9 to 8

* Update assignment log

* Add comment, report number of assignments

* Use WithError, add validator as field, merge block proposal log

* Update validator_propose.go

* fix

* use entry.String()

* fix fmt
2019-04-18 12:23:38 -05:00
terence tsao
e51c2e5540 Use VerifyAttestation to Filter Attestation (#2281)
* use verify attestation to filter and tests

* fmt

* preston's feedback

* warn -> error

* Use WithError

* use WithError and Warn

* lint
2019-04-17 18:10:55 -05:00
terence tsao
8a6b55e93c
test attestations are equal (#2274) 2019-04-16 17:09:31 -07:00
terence tsao
a9da23f444 Proposer Server Filters Attestation by Canonical (#2271)
* filter attestations by canonical

* fix test

* added mutex

* fixed rpc tests

* forgot to init map, all existing tests passing

* added test for filter non-canonical atts

* lint
2019-04-16 13:19:31 -05:00
Ivan Martinez
62279489a3 Add deposit index to beacon state (#2232)
* Begin adding Deposit Index to beacon state

* Move deposit index increment to ProcessDeposit

* Fix initial deposits bug

* Fix bug in RPC

* More bug fixes

* Fix RPC bug, ensure deposits are processed in the right order

* Fix tests

* Fix merge

* Attempt to fix pruning deposits on regular sync

* Fix pending deposits on node restart

* Fix test

* Fix tests properly

* Gofmt

* Remove unneeded logs

* Fix build
2019-04-14 18:17:39 +10:00
Raul Jordan
249ec8751b Revert "Implement Cache Committee for RPC Server (#2151)" (#2227) 2019-04-11 07:50:01 +10:00
terence tsao
c2deace3f4 Implement Cache Committee for RPC Server (#2151)
* add committees cache

* Hook committee cache to rpc service

* fixed TestCommitteeAssignment_OK

* comments for ValidatorAssignment

* added tests for committees cache

* more updates to committee_cache_test.go

* new tests in validator_Server_test for cached/uncached scenearios

* removed ????

* gaz

* fmt

* added feature flags

* fmt

* remove hello

* uncomment

* lint

* Update beacon-chain/rpc/validator_server.go

Co-Authored-By: terenc3t <terence@prysmaticlabs.com>

* preseton's feedback

* better err handling

* fixed tests
2019-04-10 03:36:49 -04:00
Nishant Das
98042c613d
Update State to Include Current and Previous Justified Roots (#2186)
* update protos

* Revert "Use DB to Fetch Justified Block (#2172)"

This reverts commit 60c254d818.

* use justified root and previous justified root across the repo

* change attester server to use state justified root

* remove commented code

* fix build issues

* fix test

* fix all tests

* fix merge issues
2019-04-10 14:52:06 +08:00
terence tsao
83e5492e55 Save State during Init Genesis State (#2193)
* added spans and save state during init state

* fix other svcs

* tests

* Delete saving hist state
2019-04-09 15:06:23 -04:00
Preston Van Loon
c925632cc9
Add a span to block-by-slot (#2184)
* Add a span to block-by-slot

* /goroutinez
2019-04-05 19:19:27 -05:00
Raul Jordan
60c254d818
Use DB to Fetch Justified Block (#2172)
* builds

* db tests in core

* spacing

* Gazelle

* fix lint

* iterative block root loop

* Update beacon-chain/core/blocks/block_operations_test.go

Co-Authored-By: rauljordan <raul@prysmaticlabs.com>

* imports
2019-04-05 14:48:49 -05:00
terence tsao
674074cd16 Handle skip blocks when fetching justified block for producing attestations (#2174)
* recursive get !nil blocks

* update test
2019-04-05 14:15:08 -05:00
Preston Van Loon
d7488b9a1e
Support multiple pubkeys for committee assignments (#2164)
* support multiple pubkeys

* a bit of refactoring to avoid calling db.state multiple times

* Add test for supporting multiple keys

* rename proto field
2019-04-05 10:10:13 -05:00
terence tsao
a19f08f7b6 Attestation Using Head State instead of Latest State (#2156)
* headRoot is a better name

* yay merged with master

* fixed attester server returning incorrect attestation field values

* revert stupid mock changes

* fixed and updated all the tests

* uncomment

* head start should handle skip blocks

* Raul's feedback
2019-04-05 09:41:49 -05:00