Commit Graph

389 Commits

Author SHA1 Message Date
Raul Jordan
3d8bb73f15
Attester RPC Server Functions (#1505)
* initial validator attesthead rewrite based on proposer rewrite

* proceed with fetching committees and tree hashing the canonical head at assigned attester slot

* complete filling the properties of attestation data and all associated root hashes

* add when to attest todo

* finish entire attester client logic

* tests with mocks checked in

* tests passing in client

* stubbed out server implementation

* fixed build due to old property

* regen mocks with new mockgen version

* fixed broken tests

* complete bazel build fix

* address some review comments

* deep proto test

* server implementation logic

* attestation info tests

* completed passing tests, tree hash still blocked by error with nil fields unfortunately

* fix todo failure

* gazelle rerun and master merge

* testing full behavior of attestation info server

* finished all required server tests and implementation

* break loop

* fix tests due to genesis slot updates
2019-02-11 10:15:25 -06:00
terence tsao
4cadd534db
Update Genesis Slot and Epoch (#1537) 2019-02-10 23:09:35 +01:00
Andrei Ivasko
8d59ac882b Create health check for SyncService (#1316)
* syncHealth removed capitalization from an error string

* replaced error variable names in testStatus()

*  TestStatus splits into 3 separate tests

* unit test refinement + travis resolved issues

* modified isSynced in querier.go + deleted uncommented code

* removed conditional logic from two unit tests

* TestStatus_ReturnsErrorWhenNotSynced

* moved defer TeardownDB outside setupSyncService
2019-02-10 15:07:31 -06:00
terence tsao
e321fdfafa Update to Use Crosslink in AttestationData (#1546)
* fixed epoch_processing

* test p2p

* attestation uses crosslink instead of crosslink root hash

* lint
2019-02-10 11:59:17 -06:00
terence tsao
b5e2a49dac Fixed a Prev Boundary Epoch Attestation Bug (#1547)
* fixed epoch_processing

* test p2p

* fixed PrevBoundaryAttestations and its tests
2019-02-10 11:28:33 -06:00
terence tsao
3dc6d3a2e6
Final Updates During Epoch Processing (#1540) 2019-02-09 22:14:10 +01:00
Raul Jordan
12524ae8dd
Update RANDAO to Match Spec (#1533)
* fix bug in eth1 data vote count increases

* updating attester slashings

* is double vote and attester pseudocode

* attester slashing revamp complete

* exits processing complete

* all block operations aligned to spec

* completed test revamp

* builds properly

* all done FINALLY

* deprecate all instances of old randao logic

* fix all broken tests and cleanup randao references across repo

* builds but tests failing

* fixing broken chaintests

* only chaintests fail now

* randao fully updated

* add bls todo

* lint

* travis

* fix unresolved property in struct

* remove used randao var
2019-02-09 14:35:51 -06:00
terence tsao
d008388bd1 Aligning ETH2.0 spec - Attestation and Epoch Processing - Part 2 (#1523)
* fixed epoch_processing

* epoch processing functions aligned

* fixed the last test!

* addressed nishant's comments
2019-02-09 14:15:59 -06:00
Preston Van Loon
b0b55e8d1d
Remove pending deposits after receiving a processed block (#1530)
* Remove pending deposits after receiving a processed block

* Abstract createDeposit

* fix test

* Rename helper for clarity

* MaxDepositAmount
2019-02-09 09:07:30 -05:00
terence tsao
c46a583acb
Update MaxDeposit Config Names (#1539) 2019-02-09 14:09:09 +01:00
Raul Jordan
7ae19ec370
Align Block Operations to Spec (#1512)
* fix bug in eth1 data vote count increases

* updating attester slashings

* is double vote and attester pseudocode

* attester slashing revamp complete

* exits processing complete

* all block operations aligned to spec

* completed test revamp

* builds properly

* all done FINALLY

* address comms

* comment

* no more confusing is double vote function

* surround
2019-02-08 15:53:36 -06:00
Preston Van Loon
031a9c96b9 Use better deposit logging at info (#1528)
* Use better logging at info

* Update service_test.go
2019-02-08 15:25:35 -06:00
Raul Jordan
258ef9f74f
Align Initial Beacon State to Latest Spec (#1527)
* aligned initial beacon state to latest spec

* update genesis block
2019-02-08 11:52:29 -06:00
Nishant Das
b07a3c3bb8 Update Deposit Contract (#1494)
* Update deposit Contarct

* updating deposit trie

* add verifyMerkleBranch

* fix test

* fixed all tests

* fix other tests

* fixing a test

* All tests are fixed

* lint

* fix lint
2019-02-08 11:01:15 -06:00
terence tsao
d837e5ef9e Aligning ETH2.0 spec - Attestation and Epoch Processing - Part 1 (#1519)
* fixed epoch_processing

* updated references in code

* starting fixing tests

* fixed rest of the tests. yay

* fixed transition test again
2019-02-07 15:46:22 -06:00
skillful-alex
1861cf2d15 Added Check on POWChain Service Initialization (#1502)
* added check on web3Service initialization

* fix unit test
2019-02-07 10:11:18 -06:00
terence tsao
f3cd076334
Aligning ETH2.0 spec - Update Initial Beacon State (#1518) 2019-02-07 12:54:29 +01:00
terence tsao
e76bf193b4
fix config across codebase (#1514)
* fixed epoch_processing

* fixed tests

* fixed more tests
2019-02-07 07:07:25 +01:00
terence tsao
b099f5d216 Aligning ETH2.0 spec - Update Validator Fields (#1513)
* remove ValidatorRegistryDeltaBlock

* fixed tests after changing validator functions to epoch first

* gaz
2019-02-06 15:46:05 -06:00
Preston Van Loon
05c6689c9d Pending Deposits RPC Server Implementation (#1508)
* Add impl for pending deposits via gRPC

* Add test for pending deposits RPC
2019-02-06 12:06:31 -06:00
Nishant Das
9ecef934d8 Update Beacon State to Match the Spec (#1489)
* first line of changes

* fix all tests in core package

* Finished fixing up all tests

* docs

* more docs
2019-02-06 10:44:27 -06:00
Raul Jordan
61026103c6
Validator Attester Rewrite (#1487)
* initial validator attesthead rewrite based on proposer rewrite

* proceed with fetching committees and tree hashing the canonical head at assigned attester slot

* complete filling the properties of attestation data and all associated root hashes

* add when to attest todo

* finish entire attester client logic

* tests with mocks checked in

* tests passing in client

* stubbed out server implementation

* fixed build due to old property

* regen mocks with new mockgen version

* fixed broken tests

* complete bazel build fix

* address some review comments

* deep proto test

* tests passing after checking for empty committee and crosslink root

* address nishant comments
2019-02-06 10:20:38 -06:00
Preston Van Loon
f7aa5c6c8d
Add metrics about the powchain service (#1509)
* Add a counter for received deposits

* Add a few more metrics

* gauge
2019-02-06 10:10:49 -05:00
terence tsao
2441266898
Aligning ETH2.0 spec - Crosslink Records (#1507)
* updated proto state fields to unlock alignment

* moved AttestationParticipants to rightful location

* crosslink committees to use epoch
2019-02-06 15:00:50 +01:00
terence tsao
a4b5666059 Aligning ETH2.0 spec - Update Fork and Domain Helpers (#1501)
* updated proto state fields to unlock alignment

* updated domain and fork helpers

* fixed comments

* fixed comments
2019-02-05 23:34:22 -06:00
Nishant Das
c48f9c96e0
Allow Simulated Backend to Advance Chain (#1445)
* initialize beacon state separately

* extracting out testcase into another func

* creating function for simulated objects

* creating simulated object struct

* final clean up

* documentation

* lint

* adding chain advancer

* review comments

* replacing lib

* adding initialization for chain and new vars in struct

* added func

* fixing tests and all other bugs

* fixing tests

* docs

* adding a new nil block function

* adding test

* remove check for nil blocks

* godoc

* fixing merge conflicts, tests

* fix test
2019-02-06 10:18:55 +08:00
Preston Van Loon
2ae40ba904 Delete binary from #1497 (#1500) 2019-02-05 23:55:44 +01:00
terence tsao
003d686f70
updated proto state fields to unlock alignment (#1497) 2019-02-05 21:14:29 +01:00
terence tsao
506db55be5
Aligning ETH2.0 spec - Make Epoch First Citizen (Shuffling and GetCrosslinkAtSlot) (#1488) 2019-02-05 19:52:14 +01:00
Jerry Fireman
79eb9a5230 Update Get Block Root function (#1339) 2019-02-05 11:55:15 -06:00
Preston Van Loon
58ca71af23 Insert pending deposits (#1495)
* Update config for deposits processing

* Add pending deposits database methods

* oops forgot the files

* move the lock after the nil check

* move the lock after the nil check

* test inclusion behavior

* Insert pending deposits on process deposit log
2019-02-05 11:25:09 -06:00
Preston Van Loon
2a0eae163e
Handle idx panic (#1492)
* fix panic on empty first committee

* fix issue in validator server too
2019-02-05 11:15:54 -05:00
Preston Van Loon
4b27b8408b
Fix travis (#1493)
* fix travis

* test 2

* goimports

* Remove unused p2p config

* remove unused var
2019-02-05 10:46:32 -05:00
Preston Van Loon
4fc8a3881a
Use a better message for notifying of a new deposit (#1491) 2019-02-05 09:07:42 -05:00
Preston Van Loon
4add403335
Validator Proposer Rewrite (#1462)
* WIP - with TODOs

* interface w/ test

* basic test for broadcast

* Add computeStateRoot funciton

* remove custody challenge

* resolve TODO lint issues

* more TODOs

* revert new line in types.proto

* broadcaster comment

* one of several failure condition tests

* Add test cases

* handle compute state error test case

* fix config in validator helpers

* fix tests too

* fix conflict

* partial PR feedback

* remove p2p

* gazelle

* package comment

* Better godoc
2019-02-05 08:47:25 -05:00
Preston Van Loon
45a4442f53
fix config in validator helpers (#1483)
* fix config in validator helpers

* fix tests too
2019-02-04 20:56:08 -05:00
Andrei Ivasko
4672859832 Create RPC health check (#1385)
* rpcHealth

* TestBadEndPoint not passed

* Crasher and TestCrasher()

* panic and recover

* assertPanic , TestBadEndPoint failed because of panic in goroutine

* log not found: Starting go routine

* TestLogger implementation

* Testlogger with map  and overriden Fatalf

* rebased

* testLogger - modified the severity of message - added TestStatus - goimports

* fix test issues

* fmt
2019-02-04 15:54:30 -06:00
terence tsao
720c80d8ee Aligning ETH2.0 spec - Make Epoch First Citizen (Package: Committee) (#1477)
* able to bazel build beacon chain.. yay

* fixed package validator tests

* fixed a few more package tests (epoch, blockops, forkchoice)

* fixed all the tests! and lint. Woohoo

* moving committee helpers to own package

* more fixes at epoch processing

* fixed rewards and penalties tests

* fixed rest of the tests. yay
2019-02-04 15:27:28 -06:00
terence tsao
21ac564631
Aligning ETH2.0 spec - Make Epoch First Citizen (Package: Validators) (#1460) 2019-02-04 21:34:33 +01:00
Preston Van Loon
721a3bfb6a Pending deposits db (#1475)
* Update config for deposits processing

* Add pending deposits database methods

* oops forgot the files

* move the lock after the nil check

* test inclusion behavior

* Update db.go

* Add debug logs if processing nil data

* missing return statement

* /before/until/
2019-02-04 21:47:17 +08:00
terence tsao
d1df055ab1
Aligning ETH2.0 spec - Removed Balances from Validator Proto (#1470) 2019-02-04 08:31:43 +01:00
terence tsao
176aa2688e
Implement Attestation Pool for Fork Choice (#1402) 2019-02-04 00:05:34 +01:00
Raul Jordan
088507af66
Initialize State from ChainStart Deposits in POWChainService (#1474)
* tests passing once again in db package

* fixed all tests

* revert some weird p2p changes made accidentally

* fix repeated code

* build fixed

* fix p2p

* fix all tests
2019-02-03 16:44:48 -06:00
Preston Van Loon
30080656bc Update config for deposits processing (#1473) 2019-02-03 20:21:18 +01:00
Nishant Das
9a4418c990
Clean Up Simulated Backend (#1433)
* initialize beacon state separately

* extracting out testcase into another func

* creating function for simulated objects

* creating simulated object struct

* final clean up

* documentation

* lint

* review comments
2019-02-03 18:58:36 +08:00
Ivan Martinez
5b209a2b18 Update DepositRoot to Eth1Data (#1403)
* update proto fileds

* Start writing ProcessETH1Data function

* More progress on tests

* Continue more work on tests

* Fix almost all the tests

* Fix all tests

* Fix everything

* Fix after rebase

* Fix for suggestions and fix per-epoch operation

* Remove method usage

* Fix build

* Fix suggestions

* Fix merge issues and suggestions

* Fix rebase issues

* Remove the error from ProcessETH1Data

* WIP write test

* Update test to reach crosslinks

* Revert "Update test to reach crosslinks"

This reverts commit 5ff9177f96c12c98c54eafffcfb385bd966b0888.

* Revert "WIP write test"

This reverts commit f7e7ed715c4af6b7e3c95643f7ebf85830caf638.
2019-02-02 16:24:42 -05:00
terence tsao
3acffd878c
Aligning ETH2.0 spec - RANDAO helpers (#1454) 2019-02-01 22:22:52 +01:00
terence tsao
cdf50e2fa2 Aligning ETH2.0 Spec - Implemented Slot & Epoch Helpers (#1447)
* starting to use SlotToEpoch...

* updated exisiting functions...

* fixed epoch tests

* fixed rest of the tests

* tests for newly added helper functions

* fixed visiblity

* added PrevEpoch and NextEpoch helpers

* lint

* removed file from other commit
2019-02-02 00:52:35 +08:00
terence tsao
72542d5fc7
removed exit count (#1455) 2019-02-01 17:07:11 +01:00
terence tsao
8c355497ee
Beacon Block Operation Pool to store Attestation (#1444) 2019-01-31 19:54:24 +01:00