prysm-pulse/contracts/deposit/contract.go

424 lines
20 KiB
Go
Raw Normal View History

// Code generated - DO NOT EDIT.
// This file is a generated binding and any manual changes will be lost.
package deposit
import (
"math/big"
"strings"
ethereum "github.com/ethereum/go-ethereum"
"github.com/ethereum/go-ethereum/accounts/abi"
"github.com/ethereum/go-ethereum/accounts/abi/bind"
"github.com/ethereum/go-ethereum/common"
"github.com/ethereum/go-ethereum/core/types"
"github.com/ethereum/go-ethereum/event"
)
// Reference imports to suppress errors if they are not otherwise used.
var (
_ = big.NewInt
_ = strings.NewReader
_ = ethereum.NotFound
_ = bind.Bind
_ = common.Big1
_ = types.BloomLookup
_ = event.NewSubscription
)
// DepositContractABI is the input ABI used to generate the binding from.
const DepositContractABI = "[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"pubkey\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"withdrawal_credentials\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"amount\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"index\",\"type\":\"bytes\"}],\"name\":\"DepositEvent\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"pubkey\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"withdrawal_credentials\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"deposit_data_root\",\"type\":\"bytes32\"}],\"name\":\"deposit\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"get_deposit_count\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"get_deposit_root\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}]"
// DepositContract is an auto generated Go binding around an Ethereum contract.
type DepositContract struct {
DepositContractCaller // Read-only binding to the contract
DepositContractTransactor // Write-only binding to the contract
DepositContractFilterer // Log filterer for contract events
}
// DepositContractCaller is an auto generated read-only Go binding around an Ethereum contract.
type DepositContractCaller struct {
contract *bind.BoundContract // Generic contract wrapper for the low level calls
}
// DepositContractTransactor is an auto generated write-only Go binding around an Ethereum contract.
type DepositContractTransactor struct {
contract *bind.BoundContract // Generic contract wrapper for the low level calls
}
// DepositContractFilterer is an auto generated log filtering Go binding around an Ethereum contract events.
type DepositContractFilterer struct {
contract *bind.BoundContract // Generic contract wrapper for the low level calls
}
// DepositContractSession is an auto generated Go binding around an Ethereum contract,
// with pre-set call and transact options.
type DepositContractSession struct {
Contract *DepositContract // Generic contract binding to set the session for
CallOpts bind.CallOpts // Call options to use throughout this session
TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
}
// DepositContractCallerSession is an auto generated read-only Go binding around an Ethereum contract,
// with pre-set call options.
type DepositContractCallerSession struct {
Contract *DepositContractCaller // Generic contract caller binding to set the session for
CallOpts bind.CallOpts // Call options to use throughout this session
}
// DepositContractTransactorSession is an auto generated write-only Go binding around an Ethereum contract,
// with pre-set transact options.
type DepositContractTransactorSession struct {
Contract *DepositContractTransactor // Generic contract transactor binding to set the session for
TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
}
// DepositContractRaw is an auto generated low-level Go binding around an Ethereum contract.
type DepositContractRaw struct {
Contract *DepositContract // Generic contract binding to access the raw methods on
}
// DepositContractCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract.
type DepositContractCallerRaw struct {
Contract *DepositContractCaller // Generic read-only contract binding to access the raw methods on
}
// DepositContractTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract.
type DepositContractTransactorRaw struct {
Contract *DepositContractTransactor // Generic write-only contract binding to access the raw methods on
}
// NewDepositContract creates a new instance of DepositContract, bound to a specific deployed contract.
func NewDepositContract(address common.Address, backend bind.ContractBackend) (*DepositContract, error) {
contract, err := bindDepositContract(address, backend, backend, backend)
if err != nil {
return nil, err
}
return &DepositContract{DepositContractCaller: DepositContractCaller{contract: contract}, DepositContractTransactor: DepositContractTransactor{contract: contract}, DepositContractFilterer: DepositContractFilterer{contract: contract}}, nil
}
// NewDepositContractCaller creates a new read-only instance of DepositContract, bound to a specific deployed contract.
func NewDepositContractCaller(address common.Address, caller bind.ContractCaller) (*DepositContractCaller, error) {
contract, err := bindDepositContract(address, caller, nil, nil)
if err != nil {
return nil, err
}
return &DepositContractCaller{contract: contract}, nil
}
// NewDepositContractTransactor creates a new write-only instance of DepositContract, bound to a specific deployed contract.
func NewDepositContractTransactor(address common.Address, transactor bind.ContractTransactor) (*DepositContractTransactor, error) {
contract, err := bindDepositContract(address, nil, transactor, nil)
if err != nil {
return nil, err
}
return &DepositContractTransactor{contract: contract}, nil
}
// NewDepositContractFilterer creates a new log filterer instance of DepositContract, bound to a specific deployed contract.
func NewDepositContractFilterer(address common.Address, filterer bind.ContractFilterer) (*DepositContractFilterer, error) {
contract, err := bindDepositContract(address, nil, nil, filterer)
if err != nil {
return nil, err
}
return &DepositContractFilterer{contract: contract}, nil
}
// bindDepositContract binds a generic wrapper to an already deployed contract.
func bindDepositContract(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) {
parsed, err := abi.JSON(strings.NewReader(DepositContractABI))
if err != nil {
return nil, err
}
return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil
}
// Call invokes the (constant) contract method with params as input values and
// sets the output to result. The result type might be a single field for simple
// returns, a slice of interfaces for anonymous returns and a struct for named
// returns.
func (_DepositContract *DepositContractRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
return _DepositContract.Contract.DepositContractCaller.contract.Call(opts, result, method, params...)
}
// Transfer initiates a plain transaction to move funds to the contract, calling
// its default method if one is available.
func (_DepositContract *DepositContractRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
return _DepositContract.Contract.DepositContractTransactor.contract.Transfer(opts)
}
// Transact invokes the (paid) contract method with params as input values.
func (_DepositContract *DepositContractRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
return _DepositContract.Contract.DepositContractTransactor.contract.Transact(opts, method, params...)
}
// Call invokes the (constant) contract method with params as input values and
// sets the output to result. The result type might be a single field for simple
// returns, a slice of interfaces for anonymous returns and a struct for named
// returns.
func (_DepositContract *DepositContractCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
return _DepositContract.Contract.contract.Call(opts, result, method, params...)
}
// Transfer initiates a plain transaction to move funds to the contract, calling
// its default method if one is available.
func (_DepositContract *DepositContractTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
return _DepositContract.Contract.contract.Transfer(opts)
}
// Transact invokes the (paid) contract method with params as input values.
func (_DepositContract *DepositContractTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
return _DepositContract.Contract.contract.Transact(opts, method, params...)
}
Spec freeze updates (#2312) * Optimize Shuffled Indices Cache (#2728) * Refactor Deposit Contract Test Setup (#2731) * add new package * fix all tests * lint * change hash function (#2732) * Remove Deprecated Validator Protobuf (#2727) * Remove deprecated validator protos * Fix to comments * Fix most of skipped tests (#2735) * Cache Active Validator Indices, Count, and Balances (#2737) * Optimize Base Reward Calculation (#2753) * benchmark process epoch * revert prof.out * Add some optimizations * beware where we use ActiveValidatorIndices... * revert extra file * gaz * quick commit to get feedback * revert extra file * started fixing tests * fixed broken TestProcessCrosslink_NoUpdate * gaz * cache randao seed * fixed all the tests * fmt and lint * spacing * Added todo * lint * revert binary file * started regression test * basic tests done * using a fifo for active indices cache * using a fifo for active count cache * using a fifo for total balance cache * using a fifo for active balance cache * using a fifo for start shard cache * using a fifo for seed cache * gaz * clean up * fixing tests * fixed all the core tests * fixed all the tests!!! * lint * comment * rm'ed commented code * cache size to 1000 should be good enough * optimized base reward * revert binary file * Added comments to calculate adjusted quotient outside * removed deprecated configs (#2755) * Optimize Process Eth1 Data Vote (#2754) * Cleanup and Docs update (#2756) * Add graffiti and update generate seed (#2759) * Benchmark Process Block with Attestations (#2758) * Tidying up Godoc for Core Package (#2762) * Clean up Old RPC Endpoints (#2763) * Update RPC end point for Proposer (#2767) * add RequestBlock * run mockgen * implemented RequestBlock * updated proto definitions * updated tests * updated validator attest tests * done * comment * todo issue * removed unused proto * Update attesting indices v0.6 (#2449) * sort participants slice * add bitfield functions and tests * added BitfieldBit test * add AttestationParticipantsNew * revert AttestationParticipants to its previous change * add tests * remove verifybitfieldnew * fix tests and remove multiple tests * remove duplicate test * change magic number into ceildiv8 * Implement Justification and finalization Processing (#2448) * Add convert to indexed (#2519) * sort participants slice * add bitfield functions and tests * added BitfieldBit test * add AttestationParticipantsNew * revert AttestationParticipants to its previous change * add tests * remove verifybitfieldnew * fix tests and remove multiple tests * remove duplicate test * start work * convert attestation to indexed attestations * fix test for convert index * remove calling getter * add more tests * remove underscore * changes name to signature (#2535) * update registry updates func (#2521) * update registry updates func * added tests and moved to epoch processing * fixed naming issues * Update Committee Helpers to v0.6.0 (#2398) * Update Committee Helper Part 2 (#2592) * Implement Process Slashings for 0.6 (#2523) * Update Proposer/Attester Slashings and Slashing Helpers (#2603) * Implement Final Updates 0.6 (#2562) * ValidatorStatus Estimating Activation RPC Server (#2469) * fix spacing * working on position in queue * fmt * spacing * feedback * tests * rename * Only Perform Initial Sync With a Single Peer (#2471) * fix spacing * use send instead of broadcast in initial sync * 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> * SSZ web api for decoding input data (#2473) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * standardize slot numbers (#2475) * Add CORS for ssz api (#2476) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * needed CORS * 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 * Update Prysm README (#2477) * README updated * readme updates * no err throw (#2479) * Fix Status Nil Pointer Error (#2480) * no err throw * nil errors * 3.175 (#2482) * Better Error Message if Failing to Exit Initial Sync (#2483) * no err throw * nil errors * better error on init sync * Only Log Active Balances (#2485) * only log active balance * dont need () * change logging (#2487) * fix chainstart waiting on rpc server (#2488) * shift ticker to after activation (#2489) * Add drain script (#2418) * Add drain script * Fix script to drain contracts from newest to oldest * Add README * remove comments * Only after block 400k, look up by deposit event * issue warn log on disconnecting peer instead of error (#2491) * Display Only Active Validator Data (#2490) * Fix Validator Status Field in RPC Server (#2492) * fix status of key * status test fix * fmt * 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 * add production config for testnet release (#2493) * Lookup Validator Index in State in Status Check (#2494) * state lookup * refactor duplicate code * refactor with mapping * fix broken tests * finish refactor * merged master * updated EpochCommitteeCount and fixed tests * implemented ShardDelta * test for ShardDelta * implemented EpochStartShard * added epoch out of bound test * test for accurate start shard * lint * implemented process_final_updates * move to the top of the file * add comment back * gaz * Test for process final updates * fixed tests * fixed all the tests * Update Reward Helper v0.6 (#2470) * added BaseReward * added rewards helper * added test for BaseReward * extra space * move exported function above * update to new spec (#2614) * Update Block Processing Voluntary Exits (#2609) * Update processEth1Data for v0.6 (#2516) * Clean up Helper Functions Part 1 (#2612) * Finalize helper functions for 0.6 (#2632) * Process Beacon Chain Transfers v0.6 (#2642) * add transfers * beacon transfer operations complete * full cov * transfer testing * finished tests * Update beacon-chain/core/blocks/block_operations_test.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * Update beacon-chain/core/blocks/block_operations.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * Implement Process Crosslink From 0.6 (#2460) * Process Block Eth1 Data v0.6 (#2645) * Get attestation data slot v0.6 (#2593) * attestation.go is ready, tests not * ready for review * fixing linter issues * modified Crosslink and AttestationData proto fields to spec 2.0,marked deprecated fields * gazelle * fixed tests * fixed error * error msg * Process Block Deposits v0.6 (#2647) * imports fixes * deposits tests pass * wrapped up gazelle * spacing * Implement Crosslink Delta Rewards for 0.6 (#2517) * update process crosslink and update existing tests * added a test case to cover no crosslink changes * more test * preston's feedback * spellings * ValidatorStatus Estimating Activation RPC Server (#2469) * fix spacing * working on position in queue * fmt * spacing * feedback * tests * rename * Only Perform Initial Sync With a Single Peer (#2471) * fix spacing * use send instead of broadcast in initial sync * 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> * SSZ web api for decoding input data (#2473) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * standardize slot numbers (#2475) * Add CORS for ssz api (#2476) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * needed CORS * 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 * Update Prysm README (#2477) * README updated * readme updates * no err throw (#2479) * Fix Status Nil Pointer Error (#2480) * no err throw * nil errors * 3.175 (#2482) * Better Error Message if Failing to Exit Initial Sync (#2483) * no err throw * nil errors * better error on init sync * Only Log Active Balances (#2485) * only log active balance * dont need () * change logging (#2487) * fix chainstart waiting on rpc server (#2488) * shift ticker to after activation (#2489) * Add drain script (#2418) * Add drain script * Fix script to drain contracts from newest to oldest * Add README * remove comments * Only after block 400k, look up by deposit event * issue warn log on disconnecting peer instead of error (#2491) * Display Only Active Validator Data (#2490) * Fix Validator Status Field in RPC Server (#2492) * fix status of key * status test fix * fmt * 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 * add production config for testnet release (#2493) * Lookup Validator Index in State in Status Check (#2494) * state lookup * refactor duplicate code * refactor with mapping * fix broken tests * finish refactor * merged master * Starting, I need get_epoch_start_shard * updated EpochCommitteeCount and fixed tests * implemented ShardDelta * test for ShardDelta * implemented EpochStartShard * added epoch out of bound test * test for accurate start shard * lint * need to use changes from latest crosslinks * added BaseReward and totalActiveBalance * added test for base reward * merged master * all tests passing * start testing * done * add ProcessBlockHeader v0.6 (#2534) * add ProcessBlockHeader * function has all its dependancies in place * arange the basic ok test * gazzele and skip test update * skip wrong sig test * fmt imports and change requests * goimports fmt * map for struct fields to be location independent * reorder protobuf fields * added tests * gazzle fix * few change requests fixes * revert changes in types.proto * revert changes in types * fix tests * fix lint * fmt imports * fix gazelle * fix var naming * pb update * var naming * tarance change request fixes * fix test * Add Process Registry for Epoch Processing (#2668) * update update-process-registry * added back the old tests * fmt * gaz * Follow up on process block header v0.6 (#2666) * Putting Crosslink Delta Back (#2654) * update process crosslink and update existing tests * added a test case to cover no crosslink changes * more test * preston's feedback * spellings * ValidatorStatus Estimating Activation RPC Server (#2469) * fix spacing * working on position in queue * fmt * spacing * feedback * tests * rename * Only Perform Initial Sync With a Single Peer (#2471) * fix spacing * use send instead of broadcast in initial sync * 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> * SSZ web api for decoding input data (#2473) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * standardize slot numbers (#2475) * Add CORS for ssz api (#2476) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * needed CORS * 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 * Update Prysm README (#2477) * README updated * readme updates * no err throw (#2479) * Fix Status Nil Pointer Error (#2480) * no err throw * nil errors * 3.175 (#2482) * Better Error Message if Failing to Exit Initial Sync (#2483) * no err throw * nil errors * better error on init sync * Only Log Active Balances (#2485) * only log active balance * dont need () * change logging (#2487) * fix chainstart waiting on rpc server (#2488) * shift ticker to after activation (#2489) * Add drain script (#2418) * Add drain script * Fix script to drain contracts from newest to oldest * Add README * remove comments * Only after block 400k, look up by deposit event * issue warn log on disconnecting peer instead of error (#2491) * Display Only Active Validator Data (#2490) * Fix Validator Status Field in RPC Server (#2492) * fix status of key * status test fix * fmt * 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 * add production config for testnet release (#2493) * Lookup Validator Index in State in Status Check (#2494) * state lookup * refactor duplicate code * refactor with mapping * fix broken tests * finish refactor * merged master * Starting, I need get_epoch_start_shard * updated EpochCommitteeCount and fixed tests * implemented ShardDelta * test for ShardDelta * implemented EpochStartShard * added epoch out of bound test * test for accurate start shard * lint * need to use changes from latest crosslinks * added BaseReward and totalActiveBalance * added test for base reward * merged master * all tests passing * start testing * done * fixed tests * addressed shay's feedback * Implement Attestation Delta for v0.6 (#2646) * update process crosslink and update existing tests * added a test case to cover no crosslink changes * more test * preston's feedback * spellings * ValidatorStatus Estimating Activation RPC Server (#2469) * fix spacing * working on position in queue * fmt * spacing * feedback * tests * rename * Only Perform Initial Sync With a Single Peer (#2471) * fix spacing * use send instead of broadcast in initial sync * 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> * SSZ web api for decoding input data (#2473) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * standardize slot numbers (#2475) * Add CORS for ssz api (#2476) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * needed CORS * 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 * Update Prysm README (#2477) * README updated * readme updates * no err throw (#2479) * Fix Status Nil Pointer Error (#2480) * no err throw * nil errors * 3.175 (#2482) * Better Error Message if Failing to Exit Initial Sync (#2483) * no err throw * nil errors * better error on init sync * Only Log Active Balances (#2485) * only log active balance * dont need () * change logging (#2487) * fix chainstart waiting on rpc server (#2488) * shift ticker to after activation (#2489) * Add drain script (#2418) * Add drain script * Fix script to drain contracts from newest to oldest * Add README * remove comments * Only after block 400k, look up by deposit event * issue warn log on disconnecting peer instead of error (#2491) * Display Only Active Validator Data (#2490) * Fix Validator Status Field in RPC Server (#2492) * fix status of key * status test fix * fmt * 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 * add production config for testnet release (#2493) * Lookup Validator Index in State in Status Check (#2494) * state lookup * refactor duplicate code * refactor with mapping * fix broken tests * finish refactor * merged master * Starting, I need get_epoch_start_shard * updated EpochCommitteeCount and fixed tests * implemented ShardDelta * test for ShardDelta * implemented EpochStartShard * added epoch out of bound test * test for accurate start shard * lint * need to use changes from latest crosslinks * added BaseReward and totalActiveBalance * added test for base reward * implemented process_attestation_delta * comments * comments * merged master * all tests passing * start testing * done * merged master * fixed tests * tests, more to come * tests done * lint * spaces over tabs * addressed shay's feedback * merged master * Implement process_rewards_and_penalties for 0.6 (#2665) * update process crosslink and update existing tests * added a test case to cover no crosslink changes * more test * preston's feedback * spellings * ValidatorStatus Estimating Activation RPC Server (#2469) * fix spacing * working on position in queue * fmt * spacing * feedback * tests * rename * Only Perform Initial Sync With a Single Peer (#2471) * fix spacing * use send instead of broadcast in initial sync * 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> * SSZ web api for decoding input data (#2473) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * standardize slot numbers (#2475) * Add CORS for ssz api (#2476) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * needed CORS * 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 * Update Prysm README (#2477) * README updated * readme updates * no err throw (#2479) * Fix Status Nil Pointer Error (#2480) * no err throw * nil errors * 3.175 (#2482) * Better Error Message if Failing to Exit Initial Sync (#2483) * no err throw * nil errors * better error on init sync * Only Log Active Balances (#2485) * only log active balance * dont need () * change logging (#2487) * fix chainstart waiting on rpc server (#2488) * shift ticker to after activation (#2489) * Add drain script (#2418) * Add drain script * Fix script to drain contracts from newest to oldest * Add README * remove comments * Only after block 400k, look up by deposit event * issue warn log on disconnecting peer instead of error (#2491) * Display Only Active Validator Data (#2490) * Fix Validator Status Field in RPC Server (#2492) * fix status of key * status test fix * fmt * 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 * add production config for testnet release (#2493) * Lookup Validator Index in State in Status Check (#2494) * state lookup * refactor duplicate code * refactor with mapping * fix broken tests * finish refactor * merged master * Starting, I need get_epoch_start_shard * updated EpochCommitteeCount and fixed tests * implemented ShardDelta * test for ShardDelta * implemented EpochStartShard * added epoch out of bound test * test for accurate start shard * lint * need to use changes from latest crosslinks * added BaseReward and totalActiveBalance * added test for base reward * implemented process_attestation_delta * comments * comments * merged master * all tests passing * start testing * done * merged master * fixed tests * tests, more to come * tests done * lint * spaces over tabs * addressed shay's feedback * starting but need to merge a few things... * tests * fmt * Update Slot Processing and State Transition v0.6 (#2664) * edit state transition to add slot processing logic, reorder logic * fix build * lint * tests passing * spacing * tests pass * imports * passing tests * Implement Process Epoch for 0.6 (#2675) * can't find process j f functons * implemented process_epoch * tests done * lint * nishant's feedback * stupid goland replace * goimports * Update CommitteeAssignment (#2693) * cleaned up skipped tests for core processing (#2697) * Process Block Attestations v0.6 (#2650) * attestation.go is ready, tests not * ready for review * fixing linter issues * modified Crosslink and AttestationData proto fields to spec 2.0,marked deprecated fields * gazelle * fixed tests * fixed error * add att processing: * process atts * error msg * finish process attestations logic * spacing * ssz move * inclusion delay failure passing * more attestation tests * more att tests passing * more tests * ffg data mismatching test * ffg tests complete * gofmt * fix testing to match attestation updates * ssz * lint * Fixed Skipped Tests for RPC Server (#2712) * Remove Obsolete Deposit Proto Objects (#2673) * remove deposit data * remove deposit input * fix references * remove deposit helpers * fix all refs * gaz * rgene proto * fix all tests * remove deposit data deprecated field * fix remaining references * fix all tests * fix lint * regen proto * fix test * Remove Deprecated Protobuf State Fields (#2713) * Remove Deprecated Protobuf Crosslink/Slashing/Block Fields (#2714) * Remove Deprecated Beacon Block Proto Fields (#2717) * Remove Deprecated Attestation Proto Fields (#2723) * Cache Shuffled Validator Indices (#2682) * YAML shuffle tests for v0.6 (#2667) * new shuffle tests * added comment for exported function * fix format and print * added config files handling * gazelle fix * shuffle test debugging * added shuffle list and benchmark * hash function addition from nishant code * gazelle fix * remove unused function * few minor changes * add test to test protos optimization * test a bigger list * remove commented code * small changes * fix spec test and test indices to pass * remove empty line * abstraction of repeated code and comment arrangement * terence change requests * fix new test * add small comment for better readability * change from unshuflle to shuffle * comment * better comment * fix all tests * Remove Latest Block (#2721) * lint * remove latest block * lint * add proto * fix build * Fix Deposit Trie (#2686) * remove deposit data * remove deposit input * fix references * remove deposit helpers * fix all refs * gaz * rgene proto * fix all tests * remove deposit data deprecated field * fix remaining references * fix all tests * fix lint * new tests with contract * gaz * more tests * fixed bugs * new test * finally fixed it * gaz * fix test * Remove Committee Cache (#2729) * Benchmark Compute Committee (#2698) * Fixed Skipped Attestation Tests (#2730) * Optimize Shuffled Indices Cache (#2728) * Refactor Deposit Contract Test Setup (#2731) * add new package * fix all tests * lint * change hash function (#2732) * Remove Deprecated Validator Protobuf (#2727) * Remove deprecated validator protos * Fix to comments * Fix most of skipped tests (#2735) * Optimize Base Reward Calculation (#2753) * benchmark process epoch * revert prof.out * Add some optimizations * beware where we use ActiveValidatorIndices... * revert extra file * gaz * quick commit to get feedback * revert extra file * started fixing tests * fixed broken TestProcessCrosslink_NoUpdate * gaz * cache randao seed * fixed all the tests * fmt and lint * spacing * Added todo * lint * revert binary file * started regression test * basic tests done * using a fifo for active indices cache * using a fifo for active count cache * using a fifo for total balance cache * using a fifo for active balance cache * using a fifo for start shard cache * using a fifo for seed cache * gaz * clean up * fixing tests * fixed all the core tests * fixed all the tests!!! * lint * comment * rm'ed commented code * cache size to 1000 should be good enough * optimized base reward * revert binary file * Added comments to calculate adjusted quotient outside * removed deprecated configs (#2755) * Optimize Process Eth1 Data Vote (#2754) * Cleanup and Docs update (#2756) * Add graffiti and update generate seed (#2759) * Benchmark Process Block with Attestations (#2758) * Tidying up Godoc for Core Package (#2762) * Clean up Old RPC Endpoints (#2763) * Update RPC end point for Proposer (#2767) * add RequestBlock * run mockgen * implemented RequestBlock * updated proto definitions * updated tests * updated validator attest tests * done * comment * todo issue * removed unused proto * Cache Active Validator Indices, Count, and Balances (#2737) * Update Deposit Contract (#2648) * lint * add new contract * change version * remove log * generating abi and binary files * fix tests * update to current version * new changes * add new hash function * save hashed nodes * add more things * new method * add update to trie * new stuff * gaz * more stuff * finally fixed build * remove deposit data * Revert "remove deposit data" This reverts commit 9085409e91be0c94550af10290eaad72ad40a6de. * more changes * lint and gaz * lint * Update Shard Helpers for 0.6 (#2497) * ValidatorStatus Estimating Activation RPC Server (#2469) * fix spacing * working on position in queue * fmt * spacing * feedback * tests * rename * Only Perform Initial Sync With a Single Peer (#2471) * fix spacing * use send instead of broadcast in initial sync * 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> * SSZ web api for decoding input data (#2473) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * standardize slot numbers (#2475) * Add CORS for ssz api (#2476) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * needed CORS * 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 * Update Prysm README (#2477) * README updated * readme updates * no err throw (#2479) * Fix Status Nil Pointer Error (#2480) * no err throw * nil errors * 3.175 (#2482) * Better Error Message if Failing to Exit Initial Sync (#2483) * no err throw * nil errors * better error on init sync * Only Log Active Balances (#2485) * only log active balance * dont need () * change logging (#2487) * fix chainstart waiting on rpc server (#2488) * shift ticker to after activation (#2489) * Add drain script (#2418) * Add drain script * Fix script to drain contracts from newest to oldest * Add README * remove comments * Only after block 400k, look up by deposit event * issue warn log on disconnecting peer instead of error (#2491) * Display Only Active Validator Data (#2490) * Fix Validator Status Field in RPC Server (#2492) * fix status of key * status test fix * fmt * 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 * add production config for testnet release (#2493) * Lookup Validator Index in State in Status Check (#2494) * state lookup * refactor duplicate code * refactor with mapping * fix broken tests * finish refactor * merged master * updated EpochCommitteeCount and fixed tests * implemented ShardDelta * test for ShardDelta * implemented EpochStartShard * added epoch out of bound test * test for accurate start shard * lint * Update Genesis State Function to v0.6 (#2465) * add pseudocode * make changes * fix all tests * fix tests * lint * regen protos and mocks * regenerated protos * started fixing core * all core tests passing! * removed shared/forkutils * started fixing blockchain package * lint * updating rpc package * add back deleted stuff * add back deleted stuff that was deleted accidentally * add back protos and mocks * fix errors * fix genesis issue * fix genesis issue for slot ticker * fix all genesis errors * fix build files * temp change for go-ssz * fix test * Revert "temp change for go-ssz" This reverts commit 3411cb9d6d519cb521181486debc3b21603c8873. * update to latest go-ssz * unstaged changes * Update Attester Server RPC Calls (#2773) * Update config and function parameters to v0.7 (#2791) * Minor Updates to 0.7 (#2795) * Refactor Deposit Flow and Cleanup Tests (#2788) * More WIP on cleaning deposit flow * Fix tests * Cleanup and imports * run gazelle * Move deposit to block_operations * gazelle * Update beacon-chain/core/blocks/block_operations.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * Fix docs * Remove unneeded calculations * Fix tests * Fix tests finally (?) * Optimize Committee Assignment RPC (#2787) * Update BlockRoot to BlockHash (#2816) * Fix Final Missing Items in Block Processing v0.6 (#2710) * override config successfully * passes processing * add signing root helper * blockchain tests pass * tests blocked by signing root * lint * fix references * fix protos * proper use of signing root * only few failing tests now * fix final test * tests passing * lint and imports * rem unused * Update beacon-chain/core/blocks/block_operations.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * lint * Update beacon-chain/attestation/service_test.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * Update beacon-chain/db/block_test.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * rename to hash tree root * rename decode to unmarshal * fix * use latest ssz * all tests passing * lint * fmt * Add Config YAML for Spec Tests (#2818) * Align Protobuf Type Names (#2825) * gofmt * Revert "Align Protobuf Type Names (#2825)" (#2827) This reverts commit 882d067144c674bbf4eeee00404acaa0a9b1fd33. * Update Domain Related Functions (#2832) * Add Functions for Compressed and Uncompressed HashG2 With Domain (#2833) * add tests * gaz * lint * Revert "Add Functions for Compressed and Uncompressed HashG2 With Domain (#2833)" (#2835) This reverts commit 7fb2ebf3f12f043d7bd12f43500dc2bd133df573. * Add ConvertToPb to package testutil (#2838) * Block Processing Bug Fixes (#2836) * Update types PB with Size Tags (#2840) * Epoch processing spec tests (#2814) * Remove Deposit Index (#2851) * Shuffle tests revisited (#2829) * first commit * remove old files, add log * remove duplicate yaml testing code * reduce visability * nishant feedback changes * skip TestFromYaml_Pass * added tags to bazel build * gazelle fix * remove unused vars * adda back config * remove config handling * remove unused var * gazelle fix * SSZ compatibility test for protobufs (#2839) * update workspace spec sha * remove yamls from branch * BLS spec tests (#2826) (#2856) * bls spec tests * add more bls tests * use ioutil instead of bazel runfiles * dont read bytes * skip tests that overflow uint64 * manually fix input data * add tests * lint and gaz * add all new changes * some refactoring, cleanup, remove new API methods that only exist for tests * gaz * Remove yamls, skip test * Slot processing spec test (#2813) * eth1data rpc endpoint (#2733) * eth1data rpc endpoint * first version * comment added * gazelle fix * new function to go once over the deposit array * fix tests * export DepositContainer * terence feedback * move structure decleration * binary search * fix block into Block * preston feedback * keep slice sorted to remove overhead in retrival * merge changes * feedback * update to the latest go-ssz * revert change * chnages to fit new ssz * revert merge reversion * go fmt goimprts duplicate string * exception for lint unused doesParentExist * feedback changes * latesteth1data to eth1data * goimports and stop exposing Eth1Data * revert unneeded change * remove exposure of DepositContainer * feedback and fixes * fix workspace duplicate dependancy * greatest number of deposits at current height * add count votes function * change method name * revert back to latesteth1data * latesteth1data * preston feedback * seperate function add tests fix bug * stop exposing voteCountMap * eth1data comment fix * preston feedback * fix tests * new proto files * workspace to default version of ssz * new ssz * chnage test size * marshalled marshaled * Attesting Indices Fix (#2862) * add change * fix one test * fix all tests * add test * clear cache * removed old chaintest, simulated backend and state generator (#2863) * Block Processing Sanity Spec Tests (#2817) * update PrevEpoch * add new changes * shift to blocks package * add more changes * new changes * updated pb with size tags * add new changes * fix errors * uncomment code * more changes * add new changes * rename and lint * gaz * more changes * proccess slot SigningRoot instead of HashTreeRoot * ensure yaml generated structs work * block sanity all passing * minimal and mainnet all pass * remove commented code * fix one test * fix all tests * fix again * no state comparison * matching spec * change target viz * comments gazelle * clear caches before test cases * latest attempts * clean up test format * remove debugging log, remove yaml * unskip attestation * remove skip, check post state, diff state diffs * handle err * add bug fixes * fixed one more bug * fixed churn limit bug * change hashProto to HashTreeRoot * all tests pass :) * fix all tests * gaz * add regression tests * fix test bug * Mutation testing fixes for beacon-chain/core/helpers/attestation.go (#2868) * mutation testing for attestation.go * new line * lint * revert fmt.Errorf deletion * gofmt * Add some fixes for mutation testing on blocks.go (#2869) * Fix sizes * gaz * Spec freeze release candidate spectests * Align Protobuf Type Names (#2872) * Removes some deprecated fields from protobuf (#2877) * search and replace checkpoints * fix tests, except spec tests * Update Configs for Freeze (#2876) * update configs * updated minimal configs * almost there * all tests passing except for spec tests * better comment for MinGenesisTime * done, ready for review * rm seconds per day * feedback * Mutation testing fixes for beacon-chain/core/helpers/committee.go (#2870) * Add some fixes for mutation testing on blocks.go * working on mutation testing fo committee.go * gofmt * goimports * update readme target * update latest sha for spec tests * fix build * Update State Transition Function (#2867) * Change Base Reward Factor (#2888) * Update Freeze Spec Simplification Section - part 1 (#2893) * finished changes to attesting_indices * removed index_count <= 2**40 requirement * lint * reverted index_count <= 2**40 check * added short cut len(a) > len(b) * Update justification bits (#2894) * updated all the helper pseudocodes (#2895) * Make Constants Explicit and Minor Cleanups (#2898) * Rename outdated configs, make constants explicitly delcared * Remove activate_validator, not needed * Remove GenesisSlot and GenesisEpoch * Remove unused import * Move Block Operation Length Checks to ProcessOperations (#2900) * Move block operation length checks to ProcessOperations * Write tests for each length check in ProcessOperations * Remove unneeded test * Move checks to a new function * Move duplicate check back into ProcessOperations * reorder proto fields (#2902) * Slashing Penalty Calculation Change (#2889) * lint * change config val * add max helper * changes to slashing and process slashing, add a min function for integers * gaz * fix failing tests * fix test * fixed all tests * Change Yaml tag * lint * remove gc hack * fix test * gaz * preston's comments * change failing field * fix and regen proto * lint * Implement Compact Committee Root (#2897) * add tags * add function * add new code * add function * add all new changes * lint * add tests * fix tests * fix more tests * fix all outstanding tests * gaz * Update beacon-chain/core/helpers/committee.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * comment * Remove deprecated fields from attestation data (#2892) * fix broken tests * remove comment * fixes * Update Deposit Contract (#2903) * update to new contract * fix references * fix tests * fix some more tests * fix local deposit trie * gaz * shays review * more changes * update WORKSPACE to use 0.8 spec tests * Perform Mutesting in Helpers Package (#2912) * Perform mutesting on validator * Mutesting in helpers package * Mutested eth1data * s/volundary/voluntary (#2914) * Update BLS Domain (#2916) * change from integer to byte slice * add test * fix func for bytes4 * Fix Spec tests (#2907) * fix panics * handle failed transitions * remove log * fix to protos * new changes * remove i * change ssz commit * new changes * update epoch tests * fix epoch testing * fix shuffle tests * fix test * Perform Mutesting in Epoch and State Packages (#2913) * done with updates (#2890) * Add Max Size Tag for Protobuf Fields (#2908) * No more space between ssz-size numbers * Regen pb.go * Fixed a few incorrect proto fields (#2926) * Update Validator Workflow (#2906) * Justification spec tests (#2896) * update go-ssz * Fix SSZ Compatibility Test (#2924) * figuring out how to seqeeze in multiple fields in a tag for pb * Added max tags and regenerated pb.go * updated to new standard * New bitfield types in proto (#2915) * Cast bytes to correct bitfield, failing tests now though * Add forked gogo/protobuf until https://github.com/gogo/protobuf/pull/582 * remove newline * use proper override for gogo-protobuf * fix a few tags * forgot to include custody bits and Slashable not used * Update yaml struct to use pb * Update workspace to use latest ssz * All tests fail * Use the latest go-ssz commit * All pass except for state (too long to taste) * Update test.proto * Added rest of the tests * use 1 justification bits * fix tag test, apply @rauljordan's suggestion * add IsEmpty and use ssz struct * delete unused file * Update zero hash to sha256().digest() (#2932) * update zero hash * change zero hash to conform with spec * goimports * add test for zero hash * Revert "Update zero hash to sha256().digest() (#2932)" (#2933) This reverts commit b926ae0667b18aef3f7e0e8ec8a9b3e98b3d2ccc. * Fix compress validator (#2936) * fix compress validator * update go-ssz * build without the bytes test * try minimal * Block operations spec tests (#2828) * update PrevEpoch * debugging proposer slashing tests * fmt * add deposit tests * Added skeleton for attestation minimal test * remove bazel runfiles thing * add deposits * proposer slashing test is done * comment * complete test, some failing cases * sig verify on * refactor slightly to support mainnet and minimal * included mainnet stuff * Add block header tests * volunary exit done * transfer done * new changes * fix all tests * update domain functions * fmt * fixed lint * fixed all the tests * fixed a transfer bug * finished attester slashing tests and fixed a few bugs * started fixing... * cleaned up exit and proposr slashing tests * attester slashing passing * refactored deposit tests * remove yamls, update ssz * Added todo for invalid sig * gazelle * deposits test done! * transfer tests done and pass! * fix attesting indices bug * temporarily disabled signature verification * cleaned up most of the block ops, except for att * update committee AttestingIndices * oops, i dont know how or why i changed this file * fixed all the rpc tests * 6 more failing packages * test max transfer in state package * replace hashproto with treehash in package blockchain * gazelle * fix test * fix test again * fixed transition test, 2 more left * expect an error in attestation tests * Handle panic when no votes in aggregate attestation * clear cache * Add differ, add logging, tests pass yay * remove todo, add tag * fixed TestReceiveBlock_RemovesPendingDeposits * TestAttestationMinimal/success_since_max_epochs_per_crosslink fails now... * handle panics * Transfer tests were disabled in https://github.com/ethereum/eth2.0-specs/pull/1238 * more fixes after merge, updating block_operations.yaml.go to match yaml * figuring out how to seqeeze in multiple fields in a tag for pb * Added max tags and regenerated pb.go * updated to new standard * New bitfield types in proto (#2915) * Cast bytes to correct bitfield, failing tests now though * Add forked gogo/protobuf until https://github.com/gogo/protobuf/pull/582 * remove newline * fix references and test panic * change to proto objects from custom types * fix panics in tests * use proper override for gogo-protobuf * fix a few tags * fix tests * forgot to include custody bits and Slashable not used * fix tests * sort again * Update yaml struct to use pb * Update workspace to use latest ssz * All tests fail * Use the latest go-ssz commit * All pass except for state (too long to taste) * Update test.proto * Added rest of the tests * use 1 justification bits * minor fixes * wrong proto.Equal * fix tag test, apply @rauljordan's suggestion * add IsEmpty and use ssz struct * inverted logic * update zero hash * change zero hash to conform with spec * goimports * add test for zero hash * Revert "Update zero hash to sha256().digest() (#2932)" This reverts commit b926ae0667b18aef3f7e0e8ec8a9b3e98b3d2ccc. * update ssz, fix import, shard big test * checkpoint * fix compress validator * update go-ssz * missing import * missing import * tests now pass * been a good day * update test size * fix lint * imports and remove unused const * update bazel jobs flag * update bazel jobs flag * satisfy deprecation warning * Add ssz regression tests for investigation of test failures in PR #2828 (#2935) * Adding regression tests for investigation * add another example * goimports * add quick comment about test case 0 * Epoch Process Slashings Spec Tests (#2930) * updated justification bits, tests passing OK * regen pb.go, clarify bit operations * justification and finalization tests; failing * Add wrapper, so we call the correct method * checkpoint * Update tar ref * TestSlashingsMinimal/small_penalty still failing * Use bigint instead of () and float * Revert a bad merge from workspace * Fmt * add note about https://github.com/ethereum/eth2.0-specs/issues/1284 * improve tests * gaz * Perform Mutesting In core/state Package (#2923) * Perform mutesting on validator * Mutesting in helpers package * Mutested eth1data * Perform mutesting in epoch and state packages * Fix voluntary exits test * Fix typo * Fix comments * Fix formatting * Fix error message * Handle missing errors * Handle all errors * Perform Mutesting In State Package * Fix block roots size * Remove comment * Fix error * add backend service * Add ssz compatibility tests for signing root (#2931) * Added tests for signing root * imports * fix lint on travis * fix bes flag * Final updates spec tests (#2901) * set up tests * need to reorder pbs * figuring out how to seqeeze in multiple fields in a tag for pb * Added max tags and regenerated pb.go * updated to new standard * New bitfield types in proto (#2915) * Cast bytes to correct bitfield, failing tests now though * Add forked gogo/protobuf until https://github.com/gogo/protobuf/pull/582 * remove newline * use proper override for gogo-protobuf * fix a few tags * forgot to include custody bits and Slashable not used * playing with tags idea, can revert this commit later * fixes after merge * reset caches before test * all epoch tests pass * gazelle * Genesis trigger (#2905) * genesis change * integrate changes * bodyroot * remove unused code * HasChainStarted * added isValidGenesisState to ProcessLog * state fix * fix gazelle * uint64 timestamp * SetupInitialDeposits adds proof * remove unneeded parts of test * deposithash * merkleproof from spec utils * Revert "merkleproof from spec utils" This reverts commit 1b0a124352e7b62e3c3220fb0d64e295b474b430. * fix test failures * chain started and hashtree root in tests * simple eth2genesistime * eth2 genesis time * fix zero time * add comment * remove eth1data and feedback * fix build issues * main changes: add fields and methods to track active validator count * gaz * fix test * fix more tests * improve test utils * shift spec method to state package, improve test setup * fixed log processing tests * remove log * gaz * fix invalid metric * use better tag names, not latest * Remove Block Signing Root (#2945) * replace with hash tree root * Revert "replace with hash tree root" This reverts commit 77d8f16a160e42f3c3d598df66c30a66657de1bf. * replace with signing root instead * remove one more ref * Create Test Runner for Genesis State Spec Tests (#2940) * genesis change * integrate changes * bodyroot * remove unused code * HasChainStarted * added isValidGenesisState to ProcessLog * state fix * fix gazelle * uint64 timestamp * SetupInitialDeposits adds proof * remove unneeded parts of test * deposithash * merkleproof from spec utils * Revert "merkleproof from spec utils" This reverts commit 1b0a124352e7b62e3c3220fb0d64e295b474b430. * fix test failures * chain started and hashtree root in tests * simple eth2genesistime * eth2 genesis time * fix zero time * add comment * remove eth1data and feedback * fix build issues * main changes: add fields and methods to track active validator count * gaz * fix test * fix more tests * improve test utils * Start genesis spec tests * shift spec method to state package, improve test setup * Add Genesis validity spec test * Bazel * fixed log processing tests * remove log * gaz * fix invalid metric * use json tags * fix up latest changes * Fix most of test errors * Attempts to see whats wrong with genesis validity * Fix merge * skip minimal * fix state test * new commit * fix nishant comment * gaz * Static check on branch spec-v0.6 (#2946) * Ran staticcheck and fixed the important complains * commit * commit * Create Test Runner for Genesis State Spec Tests (#2940) * genesis change * integrate changes * bodyroot * remove unused code * HasChainStarted * added isValidGenesisState to ProcessLog * state fix * fix gazelle * uint64 timestamp * SetupInitialDeposits adds proof * remove unneeded parts of test * deposithash * merkleproof from spec utils * Revert "merkleproof from spec utils" This reverts commit 1b0a124352e7b62e3c3220fb0d64e295b474b430. * fix test failures * chain started and hashtree root in tests * simple eth2genesistime * eth2 genesis time * fix zero time * add comment * remove eth1data and feedback * fix build issues * main changes: add fields and methods to track active validator count * gaz * fix test * fix more tests * improve test utils * Start genesis spec tests * shift spec method to state package, improve test setup * Add Genesis validity spec test * Bazel * fixed log processing tests * remove log * gaz * fix invalid metric * use json tags * fix up latest changes * Fix most of test errors * Attempts to see whats wrong with genesis validity * Fix merge * skip minimal * fix state test * new commit * fix nishant comment * gaz * Add Back Eth1Data After Bad Merge (#2953) * eth1data rpc endpoint * first version * comment added * gazelle fix * new function to go once over the deposit array * fix tests * export DepositContainer * terence feedback * move structure decleration * binary search * fix block into Block * preston feedback * keep slice sorted to remove overhead in retrival * merge changes * feedback * update to the latest go-ssz * revert change * chnages to fit new ssz * revert merge reversion * go fmt goimprts duplicate string * exception for lint unused doesParentExist * feedback changes * latesteth1data to eth1data * goimports and stop exposing Eth1Data * revert unneeded change * remove exposure of DepositContainer * feedback and fixes * fix workspace duplicate dependancy * greatest number of deposits at current height * add count votes function * change method name * revert back to latesteth1data * latesteth1data * preston feedback * seperate function add tests fix bug * stop exposing voteCountMap * eth1data comment fix * preston feedback * fix tests * new proto files * workspace to default version of ssz * new ssz * chnage test size * marshalled marshaled * everything passing again * add skip reason * cleanup deposit contract slightly * remove unused chainstart param (#2957) * fix breakages from #2957 (#2958) * fix breakages from #2957 * oops * Fix deposit input data (#2956) * fix deposit input data * fix deposit input data * gaz and build fix * Add Tests for Genesis Deposits Caching (#2952) * remove old method and replace with an improved one * add new files * gaz * add test * added all these tests * gaz * Apply suggestions from code review Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * fix merkle proof error * fix config * Minor fixes for runtime (#2960) * Minor fixes for runtime * use comments * goimports * revert beacon-chain/core/state/state.go and fix comment for lint * fix test too * Minor runtime fixes (#2961) * Add support for bundling binaries and fix ARM64 builds (#2970) * Add support for bundling binaries and fix ARM64 builds * Fix exports * ignore manual targets wrt vis check * fix graknlabs * update spec tests (#2979) * hotfix until https://github.com/graknlabs/bazel-distribution/pull/169 * Overflow slashing calculation fix (#2977) * Runtime Fixes (#2736) * first batch of fixes * add log * more fixes * another bug fixed * update deposit contract and other fixes * remove logs * new changes * fixes * fix build * remove config * more fixes * add more changes * add back todo * make compute state root work * remove commented out and fix condition * fix commented code * fix config * gaz * remove flag * remove init * new fixes * fix test * one more fix * fix all tests * change back config * fix one more bug * remove logging bool * Only build test targets when running bazel test //... * Align prysm to spec v0.8.1 (#2978) * Bazel problem * Update zero hash representation to be clear (cosmetic) * Update minor cosmetic fixes * Fixed lookahead off by 1 * Update randao.go * update ssz * test failures fixed * test fixes * fix up workspace * lint * fixed errs * Updated pubkey loggings (#2983) * Fix proposer assignment (#2984) * add jvm limits * add jvm limits * Removed logging from state transition functions (#2980) * Match spec on proposer index division (#2985) * Match spec on proposer index division * gaz * fixes * Fix Default Eth1Data (#2982) * fix bug * Update beacon-chain/core/state/transition.go Co-Authored-By: Raul Jordan <raul@prysmaticlabs.com> * more fixes * reg test * Set ejection balance to 1.6 (#2987) * improve block processing log (#2990) * Fix HistoricalRootsLimit (#2989) * fix historical lenght * fix genesis state initialization and test * fix genesis state initialization and test * fix genesis state initialization and test * fix genesis state initialization and test * hack config until https://github.com/prysmaticlabs/prysm/issues/2993 * More Runtime Fixes (#2986) * local changes * add val sig * attester fix * one more fix * fixed all tests * rem validator issue * fix finality issue (#2994) * Fix validator prev balance calculation (#2992) * attester fix * one more fix * fixed all tests * Fix validator prev balances calculation * go fmt * 48 bytes * Fix Querier to handle Deposit Logs Race (#2999) * fix sync issue * fix build * add regression test * add var for magic number * Fix eth1data and deposits (#2996) * Work in progress, eth1data works, deposits are included at the appropriate time, and activation happens at the correct time * revert blockInfo being public * git tests to build, not yet pass though * add tests * some commentary * fix comment * goimports * fmt and remove unused method * Update rules go (#2975) * update rules_go * Fix some cross compile builds stuff * add missing deps * update to 0.19.1 * Update Protobufs to Match Ethereum APIs (#2998) * add beacon block and attestation files * add all types * include all new proto type definitions * add add all proto definitions * fix all comments to say 48 bytes * include latest changes * readd common * no swag * add build file * deps issue * right package names * address feedback, maintain parity between upstream ethereumapis * delete pb * bad gens * Update "Testing Prysm" readme section (#3000) Resolves invalid url link to golangci-lint. * Update badge to version 0.8.1 * elaborate on test skip * revert shared/p2p/options.go * make travis happy with goimports * Update beacon-chain/core/blocks/block.go Co-Authored-By: Preston Van Loon <preston@prysmaticlabs.com>
2019-07-20 00:16:10 +00:00
// GetDepositCount is a free data retrieval call binding the contract method 0x621fd130.
//
// Solidity: function get_deposit_count() view returns(bytes)
Spec freeze updates (#2312) * Optimize Shuffled Indices Cache (#2728) * Refactor Deposit Contract Test Setup (#2731) * add new package * fix all tests * lint * change hash function (#2732) * Remove Deprecated Validator Protobuf (#2727) * Remove deprecated validator protos * Fix to comments * Fix most of skipped tests (#2735) * Cache Active Validator Indices, Count, and Balances (#2737) * Optimize Base Reward Calculation (#2753) * benchmark process epoch * revert prof.out * Add some optimizations * beware where we use ActiveValidatorIndices... * revert extra file * gaz * quick commit to get feedback * revert extra file * started fixing tests * fixed broken TestProcessCrosslink_NoUpdate * gaz * cache randao seed * fixed all the tests * fmt and lint * spacing * Added todo * lint * revert binary file * started regression test * basic tests done * using a fifo for active indices cache * using a fifo for active count cache * using a fifo for total balance cache * using a fifo for active balance cache * using a fifo for start shard cache * using a fifo for seed cache * gaz * clean up * fixing tests * fixed all the core tests * fixed all the tests!!! * lint * comment * rm'ed commented code * cache size to 1000 should be good enough * optimized base reward * revert binary file * Added comments to calculate adjusted quotient outside * removed deprecated configs (#2755) * Optimize Process Eth1 Data Vote (#2754) * Cleanup and Docs update (#2756) * Add graffiti and update generate seed (#2759) * Benchmark Process Block with Attestations (#2758) * Tidying up Godoc for Core Package (#2762) * Clean up Old RPC Endpoints (#2763) * Update RPC end point for Proposer (#2767) * add RequestBlock * run mockgen * implemented RequestBlock * updated proto definitions * updated tests * updated validator attest tests * done * comment * todo issue * removed unused proto * Update attesting indices v0.6 (#2449) * sort participants slice * add bitfield functions and tests * added BitfieldBit test * add AttestationParticipantsNew * revert AttestationParticipants to its previous change * add tests * remove verifybitfieldnew * fix tests and remove multiple tests * remove duplicate test * change magic number into ceildiv8 * Implement Justification and finalization Processing (#2448) * Add convert to indexed (#2519) * sort participants slice * add bitfield functions and tests * added BitfieldBit test * add AttestationParticipantsNew * revert AttestationParticipants to its previous change * add tests * remove verifybitfieldnew * fix tests and remove multiple tests * remove duplicate test * start work * convert attestation to indexed attestations * fix test for convert index * remove calling getter * add more tests * remove underscore * changes name to signature (#2535) * update registry updates func (#2521) * update registry updates func * added tests and moved to epoch processing * fixed naming issues * Update Committee Helpers to v0.6.0 (#2398) * Update Committee Helper Part 2 (#2592) * Implement Process Slashings for 0.6 (#2523) * Update Proposer/Attester Slashings and Slashing Helpers (#2603) * Implement Final Updates 0.6 (#2562) * ValidatorStatus Estimating Activation RPC Server (#2469) * fix spacing * working on position in queue * fmt * spacing * feedback * tests * rename * Only Perform Initial Sync With a Single Peer (#2471) * fix spacing * use send instead of broadcast in initial sync * 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> * SSZ web api for decoding input data (#2473) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * standardize slot numbers (#2475) * Add CORS for ssz api (#2476) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * needed CORS * 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 * Update Prysm README (#2477) * README updated * readme updates * no err throw (#2479) * Fix Status Nil Pointer Error (#2480) * no err throw * nil errors * 3.175 (#2482) * Better Error Message if Failing to Exit Initial Sync (#2483) * no err throw * nil errors * better error on init sync * Only Log Active Balances (#2485) * only log active balance * dont need () * change logging (#2487) * fix chainstart waiting on rpc server (#2488) * shift ticker to after activation (#2489) * Add drain script (#2418) * Add drain script * Fix script to drain contracts from newest to oldest * Add README * remove comments * Only after block 400k, look up by deposit event * issue warn log on disconnecting peer instead of error (#2491) * Display Only Active Validator Data (#2490) * Fix Validator Status Field in RPC Server (#2492) * fix status of key * status test fix * fmt * 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 * add production config for testnet release (#2493) * Lookup Validator Index in State in Status Check (#2494) * state lookup * refactor duplicate code * refactor with mapping * fix broken tests * finish refactor * merged master * updated EpochCommitteeCount and fixed tests * implemented ShardDelta * test for ShardDelta * implemented EpochStartShard * added epoch out of bound test * test for accurate start shard * lint * implemented process_final_updates * move to the top of the file * add comment back * gaz * Test for process final updates * fixed tests * fixed all the tests * Update Reward Helper v0.6 (#2470) * added BaseReward * added rewards helper * added test for BaseReward * extra space * move exported function above * update to new spec (#2614) * Update Block Processing Voluntary Exits (#2609) * Update processEth1Data for v0.6 (#2516) * Clean up Helper Functions Part 1 (#2612) * Finalize helper functions for 0.6 (#2632) * Process Beacon Chain Transfers v0.6 (#2642) * add transfers * beacon transfer operations complete * full cov * transfer testing * finished tests * Update beacon-chain/core/blocks/block_operations_test.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * Update beacon-chain/core/blocks/block_operations.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * Implement Process Crosslink From 0.6 (#2460) * Process Block Eth1 Data v0.6 (#2645) * Get attestation data slot v0.6 (#2593) * attestation.go is ready, tests not * ready for review * fixing linter issues * modified Crosslink and AttestationData proto fields to spec 2.0,marked deprecated fields * gazelle * fixed tests * fixed error * error msg * Process Block Deposits v0.6 (#2647) * imports fixes * deposits tests pass * wrapped up gazelle * spacing * Implement Crosslink Delta Rewards for 0.6 (#2517) * update process crosslink and update existing tests * added a test case to cover no crosslink changes * more test * preston's feedback * spellings * ValidatorStatus Estimating Activation RPC Server (#2469) * fix spacing * working on position in queue * fmt * spacing * feedback * tests * rename * Only Perform Initial Sync With a Single Peer (#2471) * fix spacing * use send instead of broadcast in initial sync * 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> * SSZ web api for decoding input data (#2473) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * standardize slot numbers (#2475) * Add CORS for ssz api (#2476) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * needed CORS * 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 * Update Prysm README (#2477) * README updated * readme updates * no err throw (#2479) * Fix Status Nil Pointer Error (#2480) * no err throw * nil errors * 3.175 (#2482) * Better Error Message if Failing to Exit Initial Sync (#2483) * no err throw * nil errors * better error on init sync * Only Log Active Balances (#2485) * only log active balance * dont need () * change logging (#2487) * fix chainstart waiting on rpc server (#2488) * shift ticker to after activation (#2489) * Add drain script (#2418) * Add drain script * Fix script to drain contracts from newest to oldest * Add README * remove comments * Only after block 400k, look up by deposit event * issue warn log on disconnecting peer instead of error (#2491) * Display Only Active Validator Data (#2490) * Fix Validator Status Field in RPC Server (#2492) * fix status of key * status test fix * fmt * 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 * add production config for testnet release (#2493) * Lookup Validator Index in State in Status Check (#2494) * state lookup * refactor duplicate code * refactor with mapping * fix broken tests * finish refactor * merged master * Starting, I need get_epoch_start_shard * updated EpochCommitteeCount and fixed tests * implemented ShardDelta * test for ShardDelta * implemented EpochStartShard * added epoch out of bound test * test for accurate start shard * lint * need to use changes from latest crosslinks * added BaseReward and totalActiveBalance * added test for base reward * merged master * all tests passing * start testing * done * add ProcessBlockHeader v0.6 (#2534) * add ProcessBlockHeader * function has all its dependancies in place * arange the basic ok test * gazzele and skip test update * skip wrong sig test * fmt imports and change requests * goimports fmt * map for struct fields to be location independent * reorder protobuf fields * added tests * gazzle fix * few change requests fixes * revert changes in types.proto * revert changes in types * fix tests * fix lint * fmt imports * fix gazelle * fix var naming * pb update * var naming * tarance change request fixes * fix test * Add Process Registry for Epoch Processing (#2668) * update update-process-registry * added back the old tests * fmt * gaz * Follow up on process block header v0.6 (#2666) * Putting Crosslink Delta Back (#2654) * update process crosslink and update existing tests * added a test case to cover no crosslink changes * more test * preston's feedback * spellings * ValidatorStatus Estimating Activation RPC Server (#2469) * fix spacing * working on position in queue * fmt * spacing * feedback * tests * rename * Only Perform Initial Sync With a Single Peer (#2471) * fix spacing * use send instead of broadcast in initial sync * 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> * SSZ web api for decoding input data (#2473) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * standardize slot numbers (#2475) * Add CORS for ssz api (#2476) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * needed CORS * 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 * Update Prysm README (#2477) * README updated * readme updates * no err throw (#2479) * Fix Status Nil Pointer Error (#2480) * no err throw * nil errors * 3.175 (#2482) * Better Error Message if Failing to Exit Initial Sync (#2483) * no err throw * nil errors * better error on init sync * Only Log Active Balances (#2485) * only log active balance * dont need () * change logging (#2487) * fix chainstart waiting on rpc server (#2488) * shift ticker to after activation (#2489) * Add drain script (#2418) * Add drain script * Fix script to drain contracts from newest to oldest * Add README * remove comments * Only after block 400k, look up by deposit event * issue warn log on disconnecting peer instead of error (#2491) * Display Only Active Validator Data (#2490) * Fix Validator Status Field in RPC Server (#2492) * fix status of key * status test fix * fmt * 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 * add production config for testnet release (#2493) * Lookup Validator Index in State in Status Check (#2494) * state lookup * refactor duplicate code * refactor with mapping * fix broken tests * finish refactor * merged master * Starting, I need get_epoch_start_shard * updated EpochCommitteeCount and fixed tests * implemented ShardDelta * test for ShardDelta * implemented EpochStartShard * added epoch out of bound test * test for accurate start shard * lint * need to use changes from latest crosslinks * added BaseReward and totalActiveBalance * added test for base reward * merged master * all tests passing * start testing * done * fixed tests * addressed shay's feedback * Implement Attestation Delta for v0.6 (#2646) * update process crosslink and update existing tests * added a test case to cover no crosslink changes * more test * preston's feedback * spellings * ValidatorStatus Estimating Activation RPC Server (#2469) * fix spacing * working on position in queue * fmt * spacing * feedback * tests * rename * Only Perform Initial Sync With a Single Peer (#2471) * fix spacing * use send instead of broadcast in initial sync * 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> * SSZ web api for decoding input data (#2473) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * standardize slot numbers (#2475) * Add CORS for ssz api (#2476) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * needed CORS * 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 * Update Prysm README (#2477) * README updated * readme updates * no err throw (#2479) * Fix Status Nil Pointer Error (#2480) * no err throw * nil errors * 3.175 (#2482) * Better Error Message if Failing to Exit Initial Sync (#2483) * no err throw * nil errors * better error on init sync * Only Log Active Balances (#2485) * only log active balance * dont need () * change logging (#2487) * fix chainstart waiting on rpc server (#2488) * shift ticker to after activation (#2489) * Add drain script (#2418) * Add drain script * Fix script to drain contracts from newest to oldest * Add README * remove comments * Only after block 400k, look up by deposit event * issue warn log on disconnecting peer instead of error (#2491) * Display Only Active Validator Data (#2490) * Fix Validator Status Field in RPC Server (#2492) * fix status of key * status test fix * fmt * 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 * add production config for testnet release (#2493) * Lookup Validator Index in State in Status Check (#2494) * state lookup * refactor duplicate code * refactor with mapping * fix broken tests * finish refactor * merged master * Starting, I need get_epoch_start_shard * updated EpochCommitteeCount and fixed tests * implemented ShardDelta * test for ShardDelta * implemented EpochStartShard * added epoch out of bound test * test for accurate start shard * lint * need to use changes from latest crosslinks * added BaseReward and totalActiveBalance * added test for base reward * implemented process_attestation_delta * comments * comments * merged master * all tests passing * start testing * done * merged master * fixed tests * tests, more to come * tests done * lint * spaces over tabs * addressed shay's feedback * merged master * Implement process_rewards_and_penalties for 0.6 (#2665) * update process crosslink and update existing tests * added a test case to cover no crosslink changes * more test * preston's feedback * spellings * ValidatorStatus Estimating Activation RPC Server (#2469) * fix spacing * working on position in queue * fmt * spacing * feedback * tests * rename * Only Perform Initial Sync With a Single Peer (#2471) * fix spacing * use send instead of broadcast in initial sync * 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> * SSZ web api for decoding input data (#2473) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * standardize slot numbers (#2475) * Add CORS for ssz api (#2476) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * needed CORS * 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 * Update Prysm README (#2477) * README updated * readme updates * no err throw (#2479) * Fix Status Nil Pointer Error (#2480) * no err throw * nil errors * 3.175 (#2482) * Better Error Message if Failing to Exit Initial Sync (#2483) * no err throw * nil errors * better error on init sync * Only Log Active Balances (#2485) * only log active balance * dont need () * change logging (#2487) * fix chainstart waiting on rpc server (#2488) * shift ticker to after activation (#2489) * Add drain script (#2418) * Add drain script * Fix script to drain contracts from newest to oldest * Add README * remove comments * Only after block 400k, look up by deposit event * issue warn log on disconnecting peer instead of error (#2491) * Display Only Active Validator Data (#2490) * Fix Validator Status Field in RPC Server (#2492) * fix status of key * status test fix * fmt * 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 * add production config for testnet release (#2493) * Lookup Validator Index in State in Status Check (#2494) * state lookup * refactor duplicate code * refactor with mapping * fix broken tests * finish refactor * merged master * Starting, I need get_epoch_start_shard * updated EpochCommitteeCount and fixed tests * implemented ShardDelta * test for ShardDelta * implemented EpochStartShard * added epoch out of bound test * test for accurate start shard * lint * need to use changes from latest crosslinks * added BaseReward and totalActiveBalance * added test for base reward * implemented process_attestation_delta * comments * comments * merged master * all tests passing * start testing * done * merged master * fixed tests * tests, more to come * tests done * lint * spaces over tabs * addressed shay's feedback * starting but need to merge a few things... * tests * fmt * Update Slot Processing and State Transition v0.6 (#2664) * edit state transition to add slot processing logic, reorder logic * fix build * lint * tests passing * spacing * tests pass * imports * passing tests * Implement Process Epoch for 0.6 (#2675) * can't find process j f functons * implemented process_epoch * tests done * lint * nishant's feedback * stupid goland replace * goimports * Update CommitteeAssignment (#2693) * cleaned up skipped tests for core processing (#2697) * Process Block Attestations v0.6 (#2650) * attestation.go is ready, tests not * ready for review * fixing linter issues * modified Crosslink and AttestationData proto fields to spec 2.0,marked deprecated fields * gazelle * fixed tests * fixed error * add att processing: * process atts * error msg * finish process attestations logic * spacing * ssz move * inclusion delay failure passing * more attestation tests * more att tests passing * more tests * ffg data mismatching test * ffg tests complete * gofmt * fix testing to match attestation updates * ssz * lint * Fixed Skipped Tests for RPC Server (#2712) * Remove Obsolete Deposit Proto Objects (#2673) * remove deposit data * remove deposit input * fix references * remove deposit helpers * fix all refs * gaz * rgene proto * fix all tests * remove deposit data deprecated field * fix remaining references * fix all tests * fix lint * regen proto * fix test * Remove Deprecated Protobuf State Fields (#2713) * Remove Deprecated Protobuf Crosslink/Slashing/Block Fields (#2714) * Remove Deprecated Beacon Block Proto Fields (#2717) * Remove Deprecated Attestation Proto Fields (#2723) * Cache Shuffled Validator Indices (#2682) * YAML shuffle tests for v0.6 (#2667) * new shuffle tests * added comment for exported function * fix format and print * added config files handling * gazelle fix * shuffle test debugging * added shuffle list and benchmark * hash function addition from nishant code * gazelle fix * remove unused function * few minor changes * add test to test protos optimization * test a bigger list * remove commented code * small changes * fix spec test and test indices to pass * remove empty line * abstraction of repeated code and comment arrangement * terence change requests * fix new test * add small comment for better readability * change from unshuflle to shuffle * comment * better comment * fix all tests * Remove Latest Block (#2721) * lint * remove latest block * lint * add proto * fix build * Fix Deposit Trie (#2686) * remove deposit data * remove deposit input * fix references * remove deposit helpers * fix all refs * gaz * rgene proto * fix all tests * remove deposit data deprecated field * fix remaining references * fix all tests * fix lint * new tests with contract * gaz * more tests * fixed bugs * new test * finally fixed it * gaz * fix test * Remove Committee Cache (#2729) * Benchmark Compute Committee (#2698) * Fixed Skipped Attestation Tests (#2730) * Optimize Shuffled Indices Cache (#2728) * Refactor Deposit Contract Test Setup (#2731) * add new package * fix all tests * lint * change hash function (#2732) * Remove Deprecated Validator Protobuf (#2727) * Remove deprecated validator protos * Fix to comments * Fix most of skipped tests (#2735) * Optimize Base Reward Calculation (#2753) * benchmark process epoch * revert prof.out * Add some optimizations * beware where we use ActiveValidatorIndices... * revert extra file * gaz * quick commit to get feedback * revert extra file * started fixing tests * fixed broken TestProcessCrosslink_NoUpdate * gaz * cache randao seed * fixed all the tests * fmt and lint * spacing * Added todo * lint * revert binary file * started regression test * basic tests done * using a fifo for active indices cache * using a fifo for active count cache * using a fifo for total balance cache * using a fifo for active balance cache * using a fifo for start shard cache * using a fifo for seed cache * gaz * clean up * fixing tests * fixed all the core tests * fixed all the tests!!! * lint * comment * rm'ed commented code * cache size to 1000 should be good enough * optimized base reward * revert binary file * Added comments to calculate adjusted quotient outside * removed deprecated configs (#2755) * Optimize Process Eth1 Data Vote (#2754) * Cleanup and Docs update (#2756) * Add graffiti and update generate seed (#2759) * Benchmark Process Block with Attestations (#2758) * Tidying up Godoc for Core Package (#2762) * Clean up Old RPC Endpoints (#2763) * Update RPC end point for Proposer (#2767) * add RequestBlock * run mockgen * implemented RequestBlock * updated proto definitions * updated tests * updated validator attest tests * done * comment * todo issue * removed unused proto * Cache Active Validator Indices, Count, and Balances (#2737) * Update Deposit Contract (#2648) * lint * add new contract * change version * remove log * generating abi and binary files * fix tests * update to current version * new changes * add new hash function * save hashed nodes * add more things * new method * add update to trie * new stuff * gaz * more stuff * finally fixed build * remove deposit data * Revert "remove deposit data" This reverts commit 9085409e91be0c94550af10290eaad72ad40a6de. * more changes * lint and gaz * lint * Update Shard Helpers for 0.6 (#2497) * ValidatorStatus Estimating Activation RPC Server (#2469) * fix spacing * working on position in queue * fmt * spacing * feedback * tests * rename * Only Perform Initial Sync With a Single Peer (#2471) * fix spacing * use send instead of broadcast in initial sync * 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> * SSZ web api for decoding input data (#2473) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * standardize slot numbers (#2475) * Add CORS for ssz api (#2476) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * needed CORS * 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 * Update Prysm README (#2477) * README updated * readme updates * no err throw (#2479) * Fix Status Nil Pointer Error (#2480) * no err throw * nil errors * 3.175 (#2482) * Better Error Message if Failing to Exit Initial Sync (#2483) * no err throw * nil errors * better error on init sync * Only Log Active Balances (#2485) * only log active balance * dont need () * change logging (#2487) * fix chainstart waiting on rpc server (#2488) * shift ticker to after activation (#2489) * Add drain script (#2418) * Add drain script * Fix script to drain contracts from newest to oldest * Add README * remove comments * Only after block 400k, look up by deposit event * issue warn log on disconnecting peer instead of error (#2491) * Display Only Active Validator Data (#2490) * Fix Validator Status Field in RPC Server (#2492) * fix status of key * status test fix * fmt * 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 * add production config for testnet release (#2493) * Lookup Validator Index in State in Status Check (#2494) * state lookup * refactor duplicate code * refactor with mapping * fix broken tests * finish refactor * merged master * updated EpochCommitteeCount and fixed tests * implemented ShardDelta * test for ShardDelta * implemented EpochStartShard * added epoch out of bound test * test for accurate start shard * lint * Update Genesis State Function to v0.6 (#2465) * add pseudocode * make changes * fix all tests * fix tests * lint * regen protos and mocks * regenerated protos * started fixing core * all core tests passing! * removed shared/forkutils * started fixing blockchain package * lint * updating rpc package * add back deleted stuff * add back deleted stuff that was deleted accidentally * add back protos and mocks * fix errors * fix genesis issue * fix genesis issue for slot ticker * fix all genesis errors * fix build files * temp change for go-ssz * fix test * Revert "temp change for go-ssz" This reverts commit 3411cb9d6d519cb521181486debc3b21603c8873. * update to latest go-ssz * unstaged changes * Update Attester Server RPC Calls (#2773) * Update config and function parameters to v0.7 (#2791) * Minor Updates to 0.7 (#2795) * Refactor Deposit Flow and Cleanup Tests (#2788) * More WIP on cleaning deposit flow * Fix tests * Cleanup and imports * run gazelle * Move deposit to block_operations * gazelle * Update beacon-chain/core/blocks/block_operations.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * Fix docs * Remove unneeded calculations * Fix tests * Fix tests finally (?) * Optimize Committee Assignment RPC (#2787) * Update BlockRoot to BlockHash (#2816) * Fix Final Missing Items in Block Processing v0.6 (#2710) * override config successfully * passes processing * add signing root helper * blockchain tests pass * tests blocked by signing root * lint * fix references * fix protos * proper use of signing root * only few failing tests now * fix final test * tests passing * lint and imports * rem unused * Update beacon-chain/core/blocks/block_operations.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * lint * Update beacon-chain/attestation/service_test.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * Update beacon-chain/db/block_test.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * rename to hash tree root * rename decode to unmarshal * fix * use latest ssz * all tests passing * lint * fmt * Add Config YAML for Spec Tests (#2818) * Align Protobuf Type Names (#2825) * gofmt * Revert "Align Protobuf Type Names (#2825)" (#2827) This reverts commit 882d067144c674bbf4eeee00404acaa0a9b1fd33. * Update Domain Related Functions (#2832) * Add Functions for Compressed and Uncompressed HashG2 With Domain (#2833) * add tests * gaz * lint * Revert "Add Functions for Compressed and Uncompressed HashG2 With Domain (#2833)" (#2835) This reverts commit 7fb2ebf3f12f043d7bd12f43500dc2bd133df573. * Add ConvertToPb to package testutil (#2838) * Block Processing Bug Fixes (#2836) * Update types PB with Size Tags (#2840) * Epoch processing spec tests (#2814) * Remove Deposit Index (#2851) * Shuffle tests revisited (#2829) * first commit * remove old files, add log * remove duplicate yaml testing code * reduce visability * nishant feedback changes * skip TestFromYaml_Pass * added tags to bazel build * gazelle fix * remove unused vars * adda back config * remove config handling * remove unused var * gazelle fix * SSZ compatibility test for protobufs (#2839) * update workspace spec sha * remove yamls from branch * BLS spec tests (#2826) (#2856) * bls spec tests * add more bls tests * use ioutil instead of bazel runfiles * dont read bytes * skip tests that overflow uint64 * manually fix input data * add tests * lint and gaz * add all new changes * some refactoring, cleanup, remove new API methods that only exist for tests * gaz * Remove yamls, skip test * Slot processing spec test (#2813) * eth1data rpc endpoint (#2733) * eth1data rpc endpoint * first version * comment added * gazelle fix * new function to go once over the deposit array * fix tests * export DepositContainer * terence feedback * move structure decleration * binary search * fix block into Block * preston feedback * keep slice sorted to remove overhead in retrival * merge changes * feedback * update to the latest go-ssz * revert change * chnages to fit new ssz * revert merge reversion * go fmt goimprts duplicate string * exception for lint unused doesParentExist * feedback changes * latesteth1data to eth1data * goimports and stop exposing Eth1Data * revert unneeded change * remove exposure of DepositContainer * feedback and fixes * fix workspace duplicate dependancy * greatest number of deposits at current height * add count votes function * change method name * revert back to latesteth1data * latesteth1data * preston feedback * seperate function add tests fix bug * stop exposing voteCountMap * eth1data comment fix * preston feedback * fix tests * new proto files * workspace to default version of ssz * new ssz * chnage test size * marshalled marshaled * Attesting Indices Fix (#2862) * add change * fix one test * fix all tests * add test * clear cache * removed old chaintest, simulated backend and state generator (#2863) * Block Processing Sanity Spec Tests (#2817) * update PrevEpoch * add new changes * shift to blocks package * add more changes * new changes * updated pb with size tags * add new changes * fix errors * uncomment code * more changes * add new changes * rename and lint * gaz * more changes * proccess slot SigningRoot instead of HashTreeRoot * ensure yaml generated structs work * block sanity all passing * minimal and mainnet all pass * remove commented code * fix one test * fix all tests * fix again * no state comparison * matching spec * change target viz * comments gazelle * clear caches before test cases * latest attempts * clean up test format * remove debugging log, remove yaml * unskip attestation * remove skip, check post state, diff state diffs * handle err * add bug fixes * fixed one more bug * fixed churn limit bug * change hashProto to HashTreeRoot * all tests pass :) * fix all tests * gaz * add regression tests * fix test bug * Mutation testing fixes for beacon-chain/core/helpers/attestation.go (#2868) * mutation testing for attestation.go * new line * lint * revert fmt.Errorf deletion * gofmt * Add some fixes for mutation testing on blocks.go (#2869) * Fix sizes * gaz * Spec freeze release candidate spectests * Align Protobuf Type Names (#2872) * Removes some deprecated fields from protobuf (#2877) * search and replace checkpoints * fix tests, except spec tests * Update Configs for Freeze (#2876) * update configs * updated minimal configs * almost there * all tests passing except for spec tests * better comment for MinGenesisTime * done, ready for review * rm seconds per day * feedback * Mutation testing fixes for beacon-chain/core/helpers/committee.go (#2870) * Add some fixes for mutation testing on blocks.go * working on mutation testing fo committee.go * gofmt * goimports * update readme target * update latest sha for spec tests * fix build * Update State Transition Function (#2867) * Change Base Reward Factor (#2888) * Update Freeze Spec Simplification Section - part 1 (#2893) * finished changes to attesting_indices * removed index_count <= 2**40 requirement * lint * reverted index_count <= 2**40 check * added short cut len(a) > len(b) * Update justification bits (#2894) * updated all the helper pseudocodes (#2895) * Make Constants Explicit and Minor Cleanups (#2898) * Rename outdated configs, make constants explicitly delcared * Remove activate_validator, not needed * Remove GenesisSlot and GenesisEpoch * Remove unused import * Move Block Operation Length Checks to ProcessOperations (#2900) * Move block operation length checks to ProcessOperations * Write tests for each length check in ProcessOperations * Remove unneeded test * Move checks to a new function * Move duplicate check back into ProcessOperations * reorder proto fields (#2902) * Slashing Penalty Calculation Change (#2889) * lint * change config val * add max helper * changes to slashing and process slashing, add a min function for integers * gaz * fix failing tests * fix test * fixed all tests * Change Yaml tag * lint * remove gc hack * fix test * gaz * preston's comments * change failing field * fix and regen proto * lint * Implement Compact Committee Root (#2897) * add tags * add function * add new code * add function * add all new changes * lint * add tests * fix tests * fix more tests * fix all outstanding tests * gaz * Update beacon-chain/core/helpers/committee.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * comment * Remove deprecated fields from attestation data (#2892) * fix broken tests * remove comment * fixes * Update Deposit Contract (#2903) * update to new contract * fix references * fix tests * fix some more tests * fix local deposit trie * gaz * shays review * more changes * update WORKSPACE to use 0.8 spec tests * Perform Mutesting in Helpers Package (#2912) * Perform mutesting on validator * Mutesting in helpers package * Mutested eth1data * s/volundary/voluntary (#2914) * Update BLS Domain (#2916) * change from integer to byte slice * add test * fix func for bytes4 * Fix Spec tests (#2907) * fix panics * handle failed transitions * remove log * fix to protos * new changes * remove i * change ssz commit * new changes * update epoch tests * fix epoch testing * fix shuffle tests * fix test * Perform Mutesting in Epoch and State Packages (#2913) * done with updates (#2890) * Add Max Size Tag for Protobuf Fields (#2908) * No more space between ssz-size numbers * Regen pb.go * Fixed a few incorrect proto fields (#2926) * Update Validator Workflow (#2906) * Justification spec tests (#2896) * update go-ssz * Fix SSZ Compatibility Test (#2924) * figuring out how to seqeeze in multiple fields in a tag for pb * Added max tags and regenerated pb.go * updated to new standard * New bitfield types in proto (#2915) * Cast bytes to correct bitfield, failing tests now though * Add forked gogo/protobuf until https://github.com/gogo/protobuf/pull/582 * remove newline * use proper override for gogo-protobuf * fix a few tags * forgot to include custody bits and Slashable not used * Update yaml struct to use pb * Update workspace to use latest ssz * All tests fail * Use the latest go-ssz commit * All pass except for state (too long to taste) * Update test.proto * Added rest of the tests * use 1 justification bits * fix tag test, apply @rauljordan's suggestion * add IsEmpty and use ssz struct * delete unused file * Update zero hash to sha256().digest() (#2932) * update zero hash * change zero hash to conform with spec * goimports * add test for zero hash * Revert "Update zero hash to sha256().digest() (#2932)" (#2933) This reverts commit b926ae0667b18aef3f7e0e8ec8a9b3e98b3d2ccc. * Fix compress validator (#2936) * fix compress validator * update go-ssz * build without the bytes test * try minimal * Block operations spec tests (#2828) * update PrevEpoch * debugging proposer slashing tests * fmt * add deposit tests * Added skeleton for attestation minimal test * remove bazel runfiles thing * add deposits * proposer slashing test is done * comment * complete test, some failing cases * sig verify on * refactor slightly to support mainnet and minimal * included mainnet stuff * Add block header tests * volunary exit done * transfer done * new changes * fix all tests * update domain functions * fmt * fixed lint * fixed all the tests * fixed a transfer bug * finished attester slashing tests and fixed a few bugs * started fixing... * cleaned up exit and proposr slashing tests * attester slashing passing * refactored deposit tests * remove yamls, update ssz * Added todo for invalid sig * gazelle * deposits test done! * transfer tests done and pass! * fix attesting indices bug * temporarily disabled signature verification * cleaned up most of the block ops, except for att * update committee AttestingIndices * oops, i dont know how or why i changed this file * fixed all the rpc tests * 6 more failing packages * test max transfer in state package * replace hashproto with treehash in package blockchain * gazelle * fix test * fix test again * fixed transition test, 2 more left * expect an error in attestation tests * Handle panic when no votes in aggregate attestation * clear cache * Add differ, add logging, tests pass yay * remove todo, add tag * fixed TestReceiveBlock_RemovesPendingDeposits * TestAttestationMinimal/success_since_max_epochs_per_crosslink fails now... * handle panics * Transfer tests were disabled in https://github.com/ethereum/eth2.0-specs/pull/1238 * more fixes after merge, updating block_operations.yaml.go to match yaml * figuring out how to seqeeze in multiple fields in a tag for pb * Added max tags and regenerated pb.go * updated to new standard * New bitfield types in proto (#2915) * Cast bytes to correct bitfield, failing tests now though * Add forked gogo/protobuf until https://github.com/gogo/protobuf/pull/582 * remove newline * fix references and test panic * change to proto objects from custom types * fix panics in tests * use proper override for gogo-protobuf * fix a few tags * fix tests * forgot to include custody bits and Slashable not used * fix tests * sort again * Update yaml struct to use pb * Update workspace to use latest ssz * All tests fail * Use the latest go-ssz commit * All pass except for state (too long to taste) * Update test.proto * Added rest of the tests * use 1 justification bits * minor fixes * wrong proto.Equal * fix tag test, apply @rauljordan's suggestion * add IsEmpty and use ssz struct * inverted logic * update zero hash * change zero hash to conform with spec * goimports * add test for zero hash * Revert "Update zero hash to sha256().digest() (#2932)" This reverts commit b926ae0667b18aef3f7e0e8ec8a9b3e98b3d2ccc. * update ssz, fix import, shard big test * checkpoint * fix compress validator * update go-ssz * missing import * missing import * tests now pass * been a good day * update test size * fix lint * imports and remove unused const * update bazel jobs flag * update bazel jobs flag * satisfy deprecation warning * Add ssz regression tests for investigation of test failures in PR #2828 (#2935) * Adding regression tests for investigation * add another example * goimports * add quick comment about test case 0 * Epoch Process Slashings Spec Tests (#2930) * updated justification bits, tests passing OK * regen pb.go, clarify bit operations * justification and finalization tests; failing * Add wrapper, so we call the correct method * checkpoint * Update tar ref * TestSlashingsMinimal/small_penalty still failing * Use bigint instead of () and float * Revert a bad merge from workspace * Fmt * add note about https://github.com/ethereum/eth2.0-specs/issues/1284 * improve tests * gaz * Perform Mutesting In core/state Package (#2923) * Perform mutesting on validator * Mutesting in helpers package * Mutested eth1data * Perform mutesting in epoch and state packages * Fix voluntary exits test * Fix typo * Fix comments * Fix formatting * Fix error message * Handle missing errors * Handle all errors * Perform Mutesting In State Package * Fix block roots size * Remove comment * Fix error * add backend service * Add ssz compatibility tests for signing root (#2931) * Added tests for signing root * imports * fix lint on travis * fix bes flag * Final updates spec tests (#2901) * set up tests * need to reorder pbs * figuring out how to seqeeze in multiple fields in a tag for pb * Added max tags and regenerated pb.go * updated to new standard * New bitfield types in proto (#2915) * Cast bytes to correct bitfield, failing tests now though * Add forked gogo/protobuf until https://github.com/gogo/protobuf/pull/582 * remove newline * use proper override for gogo-protobuf * fix a few tags * forgot to include custody bits and Slashable not used * playing with tags idea, can revert this commit later * fixes after merge * reset caches before test * all epoch tests pass * gazelle * Genesis trigger (#2905) * genesis change * integrate changes * bodyroot * remove unused code * HasChainStarted * added isValidGenesisState to ProcessLog * state fix * fix gazelle * uint64 timestamp * SetupInitialDeposits adds proof * remove unneeded parts of test * deposithash * merkleproof from spec utils * Revert "merkleproof from spec utils" This reverts commit 1b0a124352e7b62e3c3220fb0d64e295b474b430. * fix test failures * chain started and hashtree root in tests * simple eth2genesistime * eth2 genesis time * fix zero time * add comment * remove eth1data and feedback * fix build issues * main changes: add fields and methods to track active validator count * gaz * fix test * fix more tests * improve test utils * shift spec method to state package, improve test setup * fixed log processing tests * remove log * gaz * fix invalid metric * use better tag names, not latest * Remove Block Signing Root (#2945) * replace with hash tree root * Revert "replace with hash tree root" This reverts commit 77d8f16a160e42f3c3d598df66c30a66657de1bf. * replace with signing root instead * remove one more ref * Create Test Runner for Genesis State Spec Tests (#2940) * genesis change * integrate changes * bodyroot * remove unused code * HasChainStarted * added isValidGenesisState to ProcessLog * state fix * fix gazelle * uint64 timestamp * SetupInitialDeposits adds proof * remove unneeded parts of test * deposithash * merkleproof from spec utils * Revert "merkleproof from spec utils" This reverts commit 1b0a124352e7b62e3c3220fb0d64e295b474b430. * fix test failures * chain started and hashtree root in tests * simple eth2genesistime * eth2 genesis time * fix zero time * add comment * remove eth1data and feedback * fix build issues * main changes: add fields and methods to track active validator count * gaz * fix test * fix more tests * improve test utils * Start genesis spec tests * shift spec method to state package, improve test setup * Add Genesis validity spec test * Bazel * fixed log processing tests * remove log * gaz * fix invalid metric * use json tags * fix up latest changes * Fix most of test errors * Attempts to see whats wrong with genesis validity * Fix merge * skip minimal * fix state test * new commit * fix nishant comment * gaz * Static check on branch spec-v0.6 (#2946) * Ran staticcheck and fixed the important complains * commit * commit * Create Test Runner for Genesis State Spec Tests (#2940) * genesis change * integrate changes * bodyroot * remove unused code * HasChainStarted * added isValidGenesisState to ProcessLog * state fix * fix gazelle * uint64 timestamp * SetupInitialDeposits adds proof * remove unneeded parts of test * deposithash * merkleproof from spec utils * Revert "merkleproof from spec utils" This reverts commit 1b0a124352e7b62e3c3220fb0d64e295b474b430. * fix test failures * chain started and hashtree root in tests * simple eth2genesistime * eth2 genesis time * fix zero time * add comment * remove eth1data and feedback * fix build issues * main changes: add fields and methods to track active validator count * gaz * fix test * fix more tests * improve test utils * Start genesis spec tests * shift spec method to state package, improve test setup * Add Genesis validity spec test * Bazel * fixed log processing tests * remove log * gaz * fix invalid metric * use json tags * fix up latest changes * Fix most of test errors * Attempts to see whats wrong with genesis validity * Fix merge * skip minimal * fix state test * new commit * fix nishant comment * gaz * Add Back Eth1Data After Bad Merge (#2953) * eth1data rpc endpoint * first version * comment added * gazelle fix * new function to go once over the deposit array * fix tests * export DepositContainer * terence feedback * move structure decleration * binary search * fix block into Block * preston feedback * keep slice sorted to remove overhead in retrival * merge changes * feedback * update to the latest go-ssz * revert change * chnages to fit new ssz * revert merge reversion * go fmt goimprts duplicate string * exception for lint unused doesParentExist * feedback changes * latesteth1data to eth1data * goimports and stop exposing Eth1Data * revert unneeded change * remove exposure of DepositContainer * feedback and fixes * fix workspace duplicate dependancy * greatest number of deposits at current height * add count votes function * change method name * revert back to latesteth1data * latesteth1data * preston feedback * seperate function add tests fix bug * stop exposing voteCountMap * eth1data comment fix * preston feedback * fix tests * new proto files * workspace to default version of ssz * new ssz * chnage test size * marshalled marshaled * everything passing again * add skip reason * cleanup deposit contract slightly * remove unused chainstart param (#2957) * fix breakages from #2957 (#2958) * fix breakages from #2957 * oops * Fix deposit input data (#2956) * fix deposit input data * fix deposit input data * gaz and build fix * Add Tests for Genesis Deposits Caching (#2952) * remove old method and replace with an improved one * add new files * gaz * add test * added all these tests * gaz * Apply suggestions from code review Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * fix merkle proof error * fix config * Minor fixes for runtime (#2960) * Minor fixes for runtime * use comments * goimports * revert beacon-chain/core/state/state.go and fix comment for lint * fix test too * Minor runtime fixes (#2961) * Add support for bundling binaries and fix ARM64 builds (#2970) * Add support for bundling binaries and fix ARM64 builds * Fix exports * ignore manual targets wrt vis check * fix graknlabs * update spec tests (#2979) * hotfix until https://github.com/graknlabs/bazel-distribution/pull/169 * Overflow slashing calculation fix (#2977) * Runtime Fixes (#2736) * first batch of fixes * add log * more fixes * another bug fixed * update deposit contract and other fixes * remove logs * new changes * fixes * fix build * remove config * more fixes * add more changes * add back todo * make compute state root work * remove commented out and fix condition * fix commented code * fix config * gaz * remove flag * remove init * new fixes * fix test * one more fix * fix all tests * change back config * fix one more bug * remove logging bool * Only build test targets when running bazel test //... * Align prysm to spec v0.8.1 (#2978) * Bazel problem * Update zero hash representation to be clear (cosmetic) * Update minor cosmetic fixes * Fixed lookahead off by 1 * Update randao.go * update ssz * test failures fixed * test fixes * fix up workspace * lint * fixed errs * Updated pubkey loggings (#2983) * Fix proposer assignment (#2984) * add jvm limits * add jvm limits * Removed logging from state transition functions (#2980) * Match spec on proposer index division (#2985) * Match spec on proposer index division * gaz * fixes * Fix Default Eth1Data (#2982) * fix bug * Update beacon-chain/core/state/transition.go Co-Authored-By: Raul Jordan <raul@prysmaticlabs.com> * more fixes * reg test * Set ejection balance to 1.6 (#2987) * improve block processing log (#2990) * Fix HistoricalRootsLimit (#2989) * fix historical lenght * fix genesis state initialization and test * fix genesis state initialization and test * fix genesis state initialization and test * fix genesis state initialization and test * hack config until https://github.com/prysmaticlabs/prysm/issues/2993 * More Runtime Fixes (#2986) * local changes * add val sig * attester fix * one more fix * fixed all tests * rem validator issue * fix finality issue (#2994) * Fix validator prev balance calculation (#2992) * attester fix * one more fix * fixed all tests * Fix validator prev balances calculation * go fmt * 48 bytes * Fix Querier to handle Deposit Logs Race (#2999) * fix sync issue * fix build * add regression test * add var for magic number * Fix eth1data and deposits (#2996) * Work in progress, eth1data works, deposits are included at the appropriate time, and activation happens at the correct time * revert blockInfo being public * git tests to build, not yet pass though * add tests * some commentary * fix comment * goimports * fmt and remove unused method * Update rules go (#2975) * update rules_go * Fix some cross compile builds stuff * add missing deps * update to 0.19.1 * Update Protobufs to Match Ethereum APIs (#2998) * add beacon block and attestation files * add all types * include all new proto type definitions * add add all proto definitions * fix all comments to say 48 bytes * include latest changes * readd common * no swag * add build file * deps issue * right package names * address feedback, maintain parity between upstream ethereumapis * delete pb * bad gens * Update "Testing Prysm" readme section (#3000) Resolves invalid url link to golangci-lint. * Update badge to version 0.8.1 * elaborate on test skip * revert shared/p2p/options.go * make travis happy with goimports * Update beacon-chain/core/blocks/block.go Co-Authored-By: Preston Van Loon <preston@prysmaticlabs.com>
2019-07-20 00:16:10 +00:00
func (_DepositContract *DepositContractCaller) GetDepositCount(opts *bind.CallOpts) ([]byte, error) {
var out []interface{}
err := _DepositContract.contract.Call(opts, &out, "get_deposit_count")
if err != nil {
return *new([]byte), err
}
out0 := *abi.ConvertType(out[0], new([]byte)).(*[]byte)
return out0, err
}
Spec freeze updates (#2312) * Optimize Shuffled Indices Cache (#2728) * Refactor Deposit Contract Test Setup (#2731) * add new package * fix all tests * lint * change hash function (#2732) * Remove Deprecated Validator Protobuf (#2727) * Remove deprecated validator protos * Fix to comments * Fix most of skipped tests (#2735) * Cache Active Validator Indices, Count, and Balances (#2737) * Optimize Base Reward Calculation (#2753) * benchmark process epoch * revert prof.out * Add some optimizations * beware where we use ActiveValidatorIndices... * revert extra file * gaz * quick commit to get feedback * revert extra file * started fixing tests * fixed broken TestProcessCrosslink_NoUpdate * gaz * cache randao seed * fixed all the tests * fmt and lint * spacing * Added todo * lint * revert binary file * started regression test * basic tests done * using a fifo for active indices cache * using a fifo for active count cache * using a fifo for total balance cache * using a fifo for active balance cache * using a fifo for start shard cache * using a fifo for seed cache * gaz * clean up * fixing tests * fixed all the core tests * fixed all the tests!!! * lint * comment * rm'ed commented code * cache size to 1000 should be good enough * optimized base reward * revert binary file * Added comments to calculate adjusted quotient outside * removed deprecated configs (#2755) * Optimize Process Eth1 Data Vote (#2754) * Cleanup and Docs update (#2756) * Add graffiti and update generate seed (#2759) * Benchmark Process Block with Attestations (#2758) * Tidying up Godoc for Core Package (#2762) * Clean up Old RPC Endpoints (#2763) * Update RPC end point for Proposer (#2767) * add RequestBlock * run mockgen * implemented RequestBlock * updated proto definitions * updated tests * updated validator attest tests * done * comment * todo issue * removed unused proto * Update attesting indices v0.6 (#2449) * sort participants slice * add bitfield functions and tests * added BitfieldBit test * add AttestationParticipantsNew * revert AttestationParticipants to its previous change * add tests * remove verifybitfieldnew * fix tests and remove multiple tests * remove duplicate test * change magic number into ceildiv8 * Implement Justification and finalization Processing (#2448) * Add convert to indexed (#2519) * sort participants slice * add bitfield functions and tests * added BitfieldBit test * add AttestationParticipantsNew * revert AttestationParticipants to its previous change * add tests * remove verifybitfieldnew * fix tests and remove multiple tests * remove duplicate test * start work * convert attestation to indexed attestations * fix test for convert index * remove calling getter * add more tests * remove underscore * changes name to signature (#2535) * update registry updates func (#2521) * update registry updates func * added tests and moved to epoch processing * fixed naming issues * Update Committee Helpers to v0.6.0 (#2398) * Update Committee Helper Part 2 (#2592) * Implement Process Slashings for 0.6 (#2523) * Update Proposer/Attester Slashings and Slashing Helpers (#2603) * Implement Final Updates 0.6 (#2562) * ValidatorStatus Estimating Activation RPC Server (#2469) * fix spacing * working on position in queue * fmt * spacing * feedback * tests * rename * Only Perform Initial Sync With a Single Peer (#2471) * fix spacing * use send instead of broadcast in initial sync * 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> * SSZ web api for decoding input data (#2473) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * standardize slot numbers (#2475) * Add CORS for ssz api (#2476) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * needed CORS * 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 * Update Prysm README (#2477) * README updated * readme updates * no err throw (#2479) * Fix Status Nil Pointer Error (#2480) * no err throw * nil errors * 3.175 (#2482) * Better Error Message if Failing to Exit Initial Sync (#2483) * no err throw * nil errors * better error on init sync * Only Log Active Balances (#2485) * only log active balance * dont need () * change logging (#2487) * fix chainstart waiting on rpc server (#2488) * shift ticker to after activation (#2489) * Add drain script (#2418) * Add drain script * Fix script to drain contracts from newest to oldest * Add README * remove comments * Only after block 400k, look up by deposit event * issue warn log on disconnecting peer instead of error (#2491) * Display Only Active Validator Data (#2490) * Fix Validator Status Field in RPC Server (#2492) * fix status of key * status test fix * fmt * 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 * add production config for testnet release (#2493) * Lookup Validator Index in State in Status Check (#2494) * state lookup * refactor duplicate code * refactor with mapping * fix broken tests * finish refactor * merged master * updated EpochCommitteeCount and fixed tests * implemented ShardDelta * test for ShardDelta * implemented EpochStartShard * added epoch out of bound test * test for accurate start shard * lint * implemented process_final_updates * move to the top of the file * add comment back * gaz * Test for process final updates * fixed tests * fixed all the tests * Update Reward Helper v0.6 (#2470) * added BaseReward * added rewards helper * added test for BaseReward * extra space * move exported function above * update to new spec (#2614) * Update Block Processing Voluntary Exits (#2609) * Update processEth1Data for v0.6 (#2516) * Clean up Helper Functions Part 1 (#2612) * Finalize helper functions for 0.6 (#2632) * Process Beacon Chain Transfers v0.6 (#2642) * add transfers * beacon transfer operations complete * full cov * transfer testing * finished tests * Update beacon-chain/core/blocks/block_operations_test.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * Update beacon-chain/core/blocks/block_operations.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * Implement Process Crosslink From 0.6 (#2460) * Process Block Eth1 Data v0.6 (#2645) * Get attestation data slot v0.6 (#2593) * attestation.go is ready, tests not * ready for review * fixing linter issues * modified Crosslink and AttestationData proto fields to spec 2.0,marked deprecated fields * gazelle * fixed tests * fixed error * error msg * Process Block Deposits v0.6 (#2647) * imports fixes * deposits tests pass * wrapped up gazelle * spacing * Implement Crosslink Delta Rewards for 0.6 (#2517) * update process crosslink and update existing tests * added a test case to cover no crosslink changes * more test * preston's feedback * spellings * ValidatorStatus Estimating Activation RPC Server (#2469) * fix spacing * working on position in queue * fmt * spacing * feedback * tests * rename * Only Perform Initial Sync With a Single Peer (#2471) * fix spacing * use send instead of broadcast in initial sync * 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> * SSZ web api for decoding input data (#2473) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * standardize slot numbers (#2475) * Add CORS for ssz api (#2476) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * needed CORS * 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 * Update Prysm README (#2477) * README updated * readme updates * no err throw (#2479) * Fix Status Nil Pointer Error (#2480) * no err throw * nil errors * 3.175 (#2482) * Better Error Message if Failing to Exit Initial Sync (#2483) * no err throw * nil errors * better error on init sync * Only Log Active Balances (#2485) * only log active balance * dont need () * change logging (#2487) * fix chainstart waiting on rpc server (#2488) * shift ticker to after activation (#2489) * Add drain script (#2418) * Add drain script * Fix script to drain contracts from newest to oldest * Add README * remove comments * Only after block 400k, look up by deposit event * issue warn log on disconnecting peer instead of error (#2491) * Display Only Active Validator Data (#2490) * Fix Validator Status Field in RPC Server (#2492) * fix status of key * status test fix * fmt * 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 * add production config for testnet release (#2493) * Lookup Validator Index in State in Status Check (#2494) * state lookup * refactor duplicate code * refactor with mapping * fix broken tests * finish refactor * merged master * Starting, I need get_epoch_start_shard * updated EpochCommitteeCount and fixed tests * implemented ShardDelta * test for ShardDelta * implemented EpochStartShard * added epoch out of bound test * test for accurate start shard * lint * need to use changes from latest crosslinks * added BaseReward and totalActiveBalance * added test for base reward * merged master * all tests passing * start testing * done * add ProcessBlockHeader v0.6 (#2534) * add ProcessBlockHeader * function has all its dependancies in place * arange the basic ok test * gazzele and skip test update * skip wrong sig test * fmt imports and change requests * goimports fmt * map for struct fields to be location independent * reorder protobuf fields * added tests * gazzle fix * few change requests fixes * revert changes in types.proto * revert changes in types * fix tests * fix lint * fmt imports * fix gazelle * fix var naming * pb update * var naming * tarance change request fixes * fix test * Add Process Registry for Epoch Processing (#2668) * update update-process-registry * added back the old tests * fmt * gaz * Follow up on process block header v0.6 (#2666) * Putting Crosslink Delta Back (#2654) * update process crosslink and update existing tests * added a test case to cover no crosslink changes * more test * preston's feedback * spellings * ValidatorStatus Estimating Activation RPC Server (#2469) * fix spacing * working on position in queue * fmt * spacing * feedback * tests * rename * Only Perform Initial Sync With a Single Peer (#2471) * fix spacing * use send instead of broadcast in initial sync * 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> * SSZ web api for decoding input data (#2473) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * standardize slot numbers (#2475) * Add CORS for ssz api (#2476) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * needed CORS * 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 * Update Prysm README (#2477) * README updated * readme updates * no err throw (#2479) * Fix Status Nil Pointer Error (#2480) * no err throw * nil errors * 3.175 (#2482) * Better Error Message if Failing to Exit Initial Sync (#2483) * no err throw * nil errors * better error on init sync * Only Log Active Balances (#2485) * only log active balance * dont need () * change logging (#2487) * fix chainstart waiting on rpc server (#2488) * shift ticker to after activation (#2489) * Add drain script (#2418) * Add drain script * Fix script to drain contracts from newest to oldest * Add README * remove comments * Only after block 400k, look up by deposit event * issue warn log on disconnecting peer instead of error (#2491) * Display Only Active Validator Data (#2490) * Fix Validator Status Field in RPC Server (#2492) * fix status of key * status test fix * fmt * 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 * add production config for testnet release (#2493) * Lookup Validator Index in State in Status Check (#2494) * state lookup * refactor duplicate code * refactor with mapping * fix broken tests * finish refactor * merged master * Starting, I need get_epoch_start_shard * updated EpochCommitteeCount and fixed tests * implemented ShardDelta * test for ShardDelta * implemented EpochStartShard * added epoch out of bound test * test for accurate start shard * lint * need to use changes from latest crosslinks * added BaseReward and totalActiveBalance * added test for base reward * merged master * all tests passing * start testing * done * fixed tests * addressed shay's feedback * Implement Attestation Delta for v0.6 (#2646) * update process crosslink and update existing tests * added a test case to cover no crosslink changes * more test * preston's feedback * spellings * ValidatorStatus Estimating Activation RPC Server (#2469) * fix spacing * working on position in queue * fmt * spacing * feedback * tests * rename * Only Perform Initial Sync With a Single Peer (#2471) * fix spacing * use send instead of broadcast in initial sync * 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> * SSZ web api for decoding input data (#2473) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * standardize slot numbers (#2475) * Add CORS for ssz api (#2476) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * needed CORS * 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 * Update Prysm README (#2477) * README updated * readme updates * no err throw (#2479) * Fix Status Nil Pointer Error (#2480) * no err throw * nil errors * 3.175 (#2482) * Better Error Message if Failing to Exit Initial Sync (#2483) * no err throw * nil errors * better error on init sync * Only Log Active Balances (#2485) * only log active balance * dont need () * change logging (#2487) * fix chainstart waiting on rpc server (#2488) * shift ticker to after activation (#2489) * Add drain script (#2418) * Add drain script * Fix script to drain contracts from newest to oldest * Add README * remove comments * Only after block 400k, look up by deposit event * issue warn log on disconnecting peer instead of error (#2491) * Display Only Active Validator Data (#2490) * Fix Validator Status Field in RPC Server (#2492) * fix status of key * status test fix * fmt * 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 * add production config for testnet release (#2493) * Lookup Validator Index in State in Status Check (#2494) * state lookup * refactor duplicate code * refactor with mapping * fix broken tests * finish refactor * merged master * Starting, I need get_epoch_start_shard * updated EpochCommitteeCount and fixed tests * implemented ShardDelta * test for ShardDelta * implemented EpochStartShard * added epoch out of bound test * test for accurate start shard * lint * need to use changes from latest crosslinks * added BaseReward and totalActiveBalance * added test for base reward * implemented process_attestation_delta * comments * comments * merged master * all tests passing * start testing * done * merged master * fixed tests * tests, more to come * tests done * lint * spaces over tabs * addressed shay's feedback * merged master * Implement process_rewards_and_penalties for 0.6 (#2665) * update process crosslink and update existing tests * added a test case to cover no crosslink changes * more test * preston's feedback * spellings * ValidatorStatus Estimating Activation RPC Server (#2469) * fix spacing * working on position in queue * fmt * spacing * feedback * tests * rename * Only Perform Initial Sync With a Single Peer (#2471) * fix spacing * use send instead of broadcast in initial sync * 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> * SSZ web api for decoding input data (#2473) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * standardize slot numbers (#2475) * Add CORS for ssz api (#2476) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * needed CORS * 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 * Update Prysm README (#2477) * README updated * readme updates * no err throw (#2479) * Fix Status Nil Pointer Error (#2480) * no err throw * nil errors * 3.175 (#2482) * Better Error Message if Failing to Exit Initial Sync (#2483) * no err throw * nil errors * better error on init sync * Only Log Active Balances (#2485) * only log active balance * dont need () * change logging (#2487) * fix chainstart waiting on rpc server (#2488) * shift ticker to after activation (#2489) * Add drain script (#2418) * Add drain script * Fix script to drain contracts from newest to oldest * Add README * remove comments * Only after block 400k, look up by deposit event * issue warn log on disconnecting peer instead of error (#2491) * Display Only Active Validator Data (#2490) * Fix Validator Status Field in RPC Server (#2492) * fix status of key * status test fix * fmt * 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 * add production config for testnet release (#2493) * Lookup Validator Index in State in Status Check (#2494) * state lookup * refactor duplicate code * refactor with mapping * fix broken tests * finish refactor * merged master * Starting, I need get_epoch_start_shard * updated EpochCommitteeCount and fixed tests * implemented ShardDelta * test for ShardDelta * implemented EpochStartShard * added epoch out of bound test * test for accurate start shard * lint * need to use changes from latest crosslinks * added BaseReward and totalActiveBalance * added test for base reward * implemented process_attestation_delta * comments * comments * merged master * all tests passing * start testing * done * merged master * fixed tests * tests, more to come * tests done * lint * spaces over tabs * addressed shay's feedback * starting but need to merge a few things... * tests * fmt * Update Slot Processing and State Transition v0.6 (#2664) * edit state transition to add slot processing logic, reorder logic * fix build * lint * tests passing * spacing * tests pass * imports * passing tests * Implement Process Epoch for 0.6 (#2675) * can't find process j f functons * implemented process_epoch * tests done * lint * nishant's feedback * stupid goland replace * goimports * Update CommitteeAssignment (#2693) * cleaned up skipped tests for core processing (#2697) * Process Block Attestations v0.6 (#2650) * attestation.go is ready, tests not * ready for review * fixing linter issues * modified Crosslink and AttestationData proto fields to spec 2.0,marked deprecated fields * gazelle * fixed tests * fixed error * add att processing: * process atts * error msg * finish process attestations logic * spacing * ssz move * inclusion delay failure passing * more attestation tests * more att tests passing * more tests * ffg data mismatching test * ffg tests complete * gofmt * fix testing to match attestation updates * ssz * lint * Fixed Skipped Tests for RPC Server (#2712) * Remove Obsolete Deposit Proto Objects (#2673) * remove deposit data * remove deposit input * fix references * remove deposit helpers * fix all refs * gaz * rgene proto * fix all tests * remove deposit data deprecated field * fix remaining references * fix all tests * fix lint * regen proto * fix test * Remove Deprecated Protobuf State Fields (#2713) * Remove Deprecated Protobuf Crosslink/Slashing/Block Fields (#2714) * Remove Deprecated Beacon Block Proto Fields (#2717) * Remove Deprecated Attestation Proto Fields (#2723) * Cache Shuffled Validator Indices (#2682) * YAML shuffle tests for v0.6 (#2667) * new shuffle tests * added comment for exported function * fix format and print * added config files handling * gazelle fix * shuffle test debugging * added shuffle list and benchmark * hash function addition from nishant code * gazelle fix * remove unused function * few minor changes * add test to test protos optimization * test a bigger list * remove commented code * small changes * fix spec test and test indices to pass * remove empty line * abstraction of repeated code and comment arrangement * terence change requests * fix new test * add small comment for better readability * change from unshuflle to shuffle * comment * better comment * fix all tests * Remove Latest Block (#2721) * lint * remove latest block * lint * add proto * fix build * Fix Deposit Trie (#2686) * remove deposit data * remove deposit input * fix references * remove deposit helpers * fix all refs * gaz * rgene proto * fix all tests * remove deposit data deprecated field * fix remaining references * fix all tests * fix lint * new tests with contract * gaz * more tests * fixed bugs * new test * finally fixed it * gaz * fix test * Remove Committee Cache (#2729) * Benchmark Compute Committee (#2698) * Fixed Skipped Attestation Tests (#2730) * Optimize Shuffled Indices Cache (#2728) * Refactor Deposit Contract Test Setup (#2731) * add new package * fix all tests * lint * change hash function (#2732) * Remove Deprecated Validator Protobuf (#2727) * Remove deprecated validator protos * Fix to comments * Fix most of skipped tests (#2735) * Optimize Base Reward Calculation (#2753) * benchmark process epoch * revert prof.out * Add some optimizations * beware where we use ActiveValidatorIndices... * revert extra file * gaz * quick commit to get feedback * revert extra file * started fixing tests * fixed broken TestProcessCrosslink_NoUpdate * gaz * cache randao seed * fixed all the tests * fmt and lint * spacing * Added todo * lint * revert binary file * started regression test * basic tests done * using a fifo for active indices cache * using a fifo for active count cache * using a fifo for total balance cache * using a fifo for active balance cache * using a fifo for start shard cache * using a fifo for seed cache * gaz * clean up * fixing tests * fixed all the core tests * fixed all the tests!!! * lint * comment * rm'ed commented code * cache size to 1000 should be good enough * optimized base reward * revert binary file * Added comments to calculate adjusted quotient outside * removed deprecated configs (#2755) * Optimize Process Eth1 Data Vote (#2754) * Cleanup and Docs update (#2756) * Add graffiti and update generate seed (#2759) * Benchmark Process Block with Attestations (#2758) * Tidying up Godoc for Core Package (#2762) * Clean up Old RPC Endpoints (#2763) * Update RPC end point for Proposer (#2767) * add RequestBlock * run mockgen * implemented RequestBlock * updated proto definitions * updated tests * updated validator attest tests * done * comment * todo issue * removed unused proto * Cache Active Validator Indices, Count, and Balances (#2737) * Update Deposit Contract (#2648) * lint * add new contract * change version * remove log * generating abi and binary files * fix tests * update to current version * new changes * add new hash function * save hashed nodes * add more things * new method * add update to trie * new stuff * gaz * more stuff * finally fixed build * remove deposit data * Revert "remove deposit data" This reverts commit 9085409e91be0c94550af10290eaad72ad40a6de. * more changes * lint and gaz * lint * Update Shard Helpers for 0.6 (#2497) * ValidatorStatus Estimating Activation RPC Server (#2469) * fix spacing * working on position in queue * fmt * spacing * feedback * tests * rename * Only Perform Initial Sync With a Single Peer (#2471) * fix spacing * use send instead of broadcast in initial sync * 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> * SSZ web api for decoding input data (#2473) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * standardize slot numbers (#2475) * Add CORS for ssz api (#2476) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * needed CORS * 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 * Update Prysm README (#2477) * README updated * readme updates * no err throw (#2479) * Fix Status Nil Pointer Error (#2480) * no err throw * nil errors * 3.175 (#2482) * Better Error Message if Failing to Exit Initial Sync (#2483) * no err throw * nil errors * better error on init sync * Only Log Active Balances (#2485) * only log active balance * dont need () * change logging (#2487) * fix chainstart waiting on rpc server (#2488) * shift ticker to after activation (#2489) * Add drain script (#2418) * Add drain script * Fix script to drain contracts from newest to oldest * Add README * remove comments * Only after block 400k, look up by deposit event * issue warn log on disconnecting peer instead of error (#2491) * Display Only Active Validator Data (#2490) * Fix Validator Status Field in RPC Server (#2492) * fix status of key * status test fix * fmt * 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 * add production config for testnet release (#2493) * Lookup Validator Index in State in Status Check (#2494) * state lookup * refactor duplicate code * refactor with mapping * fix broken tests * finish refactor * merged master * updated EpochCommitteeCount and fixed tests * implemented ShardDelta * test for ShardDelta * implemented EpochStartShard * added epoch out of bound test * test for accurate start shard * lint * Update Genesis State Function to v0.6 (#2465) * add pseudocode * make changes * fix all tests * fix tests * lint * regen protos and mocks * regenerated protos * started fixing core * all core tests passing! * removed shared/forkutils * started fixing blockchain package * lint * updating rpc package * add back deleted stuff * add back deleted stuff that was deleted accidentally * add back protos and mocks * fix errors * fix genesis issue * fix genesis issue for slot ticker * fix all genesis errors * fix build files * temp change for go-ssz * fix test * Revert "temp change for go-ssz" This reverts commit 3411cb9d6d519cb521181486debc3b21603c8873. * update to latest go-ssz * unstaged changes * Update Attester Server RPC Calls (#2773) * Update config and function parameters to v0.7 (#2791) * Minor Updates to 0.7 (#2795) * Refactor Deposit Flow and Cleanup Tests (#2788) * More WIP on cleaning deposit flow * Fix tests * Cleanup and imports * run gazelle * Move deposit to block_operations * gazelle * Update beacon-chain/core/blocks/block_operations.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * Fix docs * Remove unneeded calculations * Fix tests * Fix tests finally (?) * Optimize Committee Assignment RPC (#2787) * Update BlockRoot to BlockHash (#2816) * Fix Final Missing Items in Block Processing v0.6 (#2710) * override config successfully * passes processing * add signing root helper * blockchain tests pass * tests blocked by signing root * lint * fix references * fix protos * proper use of signing root * only few failing tests now * fix final test * tests passing * lint and imports * rem unused * Update beacon-chain/core/blocks/block_operations.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * lint * Update beacon-chain/attestation/service_test.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * Update beacon-chain/db/block_test.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * rename to hash tree root * rename decode to unmarshal * fix * use latest ssz * all tests passing * lint * fmt * Add Config YAML for Spec Tests (#2818) * Align Protobuf Type Names (#2825) * gofmt * Revert "Align Protobuf Type Names (#2825)" (#2827) This reverts commit 882d067144c674bbf4eeee00404acaa0a9b1fd33. * Update Domain Related Functions (#2832) * Add Functions for Compressed and Uncompressed HashG2 With Domain (#2833) * add tests * gaz * lint * Revert "Add Functions for Compressed and Uncompressed HashG2 With Domain (#2833)" (#2835) This reverts commit 7fb2ebf3f12f043d7bd12f43500dc2bd133df573. * Add ConvertToPb to package testutil (#2838) * Block Processing Bug Fixes (#2836) * Update types PB with Size Tags (#2840) * Epoch processing spec tests (#2814) * Remove Deposit Index (#2851) * Shuffle tests revisited (#2829) * first commit * remove old files, add log * remove duplicate yaml testing code * reduce visability * nishant feedback changes * skip TestFromYaml_Pass * added tags to bazel build * gazelle fix * remove unused vars * adda back config * remove config handling * remove unused var * gazelle fix * SSZ compatibility test for protobufs (#2839) * update workspace spec sha * remove yamls from branch * BLS spec tests (#2826) (#2856) * bls spec tests * add more bls tests * use ioutil instead of bazel runfiles * dont read bytes * skip tests that overflow uint64 * manually fix input data * add tests * lint and gaz * add all new changes * some refactoring, cleanup, remove new API methods that only exist for tests * gaz * Remove yamls, skip test * Slot processing spec test (#2813) * eth1data rpc endpoint (#2733) * eth1data rpc endpoint * first version * comment added * gazelle fix * new function to go once over the deposit array * fix tests * export DepositContainer * terence feedback * move structure decleration * binary search * fix block into Block * preston feedback * keep slice sorted to remove overhead in retrival * merge changes * feedback * update to the latest go-ssz * revert change * chnages to fit new ssz * revert merge reversion * go fmt goimprts duplicate string * exception for lint unused doesParentExist * feedback changes * latesteth1data to eth1data * goimports and stop exposing Eth1Data * revert unneeded change * remove exposure of DepositContainer * feedback and fixes * fix workspace duplicate dependancy * greatest number of deposits at current height * add count votes function * change method name * revert back to latesteth1data * latesteth1data * preston feedback * seperate function add tests fix bug * stop exposing voteCountMap * eth1data comment fix * preston feedback * fix tests * new proto files * workspace to default version of ssz * new ssz * chnage test size * marshalled marshaled * Attesting Indices Fix (#2862) * add change * fix one test * fix all tests * add test * clear cache * removed old chaintest, simulated backend and state generator (#2863) * Block Processing Sanity Spec Tests (#2817) * update PrevEpoch * add new changes * shift to blocks package * add more changes * new changes * updated pb with size tags * add new changes * fix errors * uncomment code * more changes * add new changes * rename and lint * gaz * more changes * proccess slot SigningRoot instead of HashTreeRoot * ensure yaml generated structs work * block sanity all passing * minimal and mainnet all pass * remove commented code * fix one test * fix all tests * fix again * no state comparison * matching spec * change target viz * comments gazelle * clear caches before test cases * latest attempts * clean up test format * remove debugging log, remove yaml * unskip attestation * remove skip, check post state, diff state diffs * handle err * add bug fixes * fixed one more bug * fixed churn limit bug * change hashProto to HashTreeRoot * all tests pass :) * fix all tests * gaz * add regression tests * fix test bug * Mutation testing fixes for beacon-chain/core/helpers/attestation.go (#2868) * mutation testing for attestation.go * new line * lint * revert fmt.Errorf deletion * gofmt * Add some fixes for mutation testing on blocks.go (#2869) * Fix sizes * gaz * Spec freeze release candidate spectests * Align Protobuf Type Names (#2872) * Removes some deprecated fields from protobuf (#2877) * search and replace checkpoints * fix tests, except spec tests * Update Configs for Freeze (#2876) * update configs * updated minimal configs * almost there * all tests passing except for spec tests * better comment for MinGenesisTime * done, ready for review * rm seconds per day * feedback * Mutation testing fixes for beacon-chain/core/helpers/committee.go (#2870) * Add some fixes for mutation testing on blocks.go * working on mutation testing fo committee.go * gofmt * goimports * update readme target * update latest sha for spec tests * fix build * Update State Transition Function (#2867) * Change Base Reward Factor (#2888) * Update Freeze Spec Simplification Section - part 1 (#2893) * finished changes to attesting_indices * removed index_count <= 2**40 requirement * lint * reverted index_count <= 2**40 check * added short cut len(a) > len(b) * Update justification bits (#2894) * updated all the helper pseudocodes (#2895) * Make Constants Explicit and Minor Cleanups (#2898) * Rename outdated configs, make constants explicitly delcared * Remove activate_validator, not needed * Remove GenesisSlot and GenesisEpoch * Remove unused import * Move Block Operation Length Checks to ProcessOperations (#2900) * Move block operation length checks to ProcessOperations * Write tests for each length check in ProcessOperations * Remove unneeded test * Move checks to a new function * Move duplicate check back into ProcessOperations * reorder proto fields (#2902) * Slashing Penalty Calculation Change (#2889) * lint * change config val * add max helper * changes to slashing and process slashing, add a min function for integers * gaz * fix failing tests * fix test * fixed all tests * Change Yaml tag * lint * remove gc hack * fix test * gaz * preston's comments * change failing field * fix and regen proto * lint * Implement Compact Committee Root (#2897) * add tags * add function * add new code * add function * add all new changes * lint * add tests * fix tests * fix more tests * fix all outstanding tests * gaz * Update beacon-chain/core/helpers/committee.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * comment * Remove deprecated fields from attestation data (#2892) * fix broken tests * remove comment * fixes * Update Deposit Contract (#2903) * update to new contract * fix references * fix tests * fix some more tests * fix local deposit trie * gaz * shays review * more changes * update WORKSPACE to use 0.8 spec tests * Perform Mutesting in Helpers Package (#2912) * Perform mutesting on validator * Mutesting in helpers package * Mutested eth1data * s/volundary/voluntary (#2914) * Update BLS Domain (#2916) * change from integer to byte slice * add test * fix func for bytes4 * Fix Spec tests (#2907) * fix panics * handle failed transitions * remove log * fix to protos * new changes * remove i * change ssz commit * new changes * update epoch tests * fix epoch testing * fix shuffle tests * fix test * Perform Mutesting in Epoch and State Packages (#2913) * done with updates (#2890) * Add Max Size Tag for Protobuf Fields (#2908) * No more space between ssz-size numbers * Regen pb.go * Fixed a few incorrect proto fields (#2926) * Update Validator Workflow (#2906) * Justification spec tests (#2896) * update go-ssz * Fix SSZ Compatibility Test (#2924) * figuring out how to seqeeze in multiple fields in a tag for pb * Added max tags and regenerated pb.go * updated to new standard * New bitfield types in proto (#2915) * Cast bytes to correct bitfield, failing tests now though * Add forked gogo/protobuf until https://github.com/gogo/protobuf/pull/582 * remove newline * use proper override for gogo-protobuf * fix a few tags * forgot to include custody bits and Slashable not used * Update yaml struct to use pb * Update workspace to use latest ssz * All tests fail * Use the latest go-ssz commit * All pass except for state (too long to taste) * Update test.proto * Added rest of the tests * use 1 justification bits * fix tag test, apply @rauljordan's suggestion * add IsEmpty and use ssz struct * delete unused file * Update zero hash to sha256().digest() (#2932) * update zero hash * change zero hash to conform with spec * goimports * add test for zero hash * Revert "Update zero hash to sha256().digest() (#2932)" (#2933) This reverts commit b926ae0667b18aef3f7e0e8ec8a9b3e98b3d2ccc. * Fix compress validator (#2936) * fix compress validator * update go-ssz * build without the bytes test * try minimal * Block operations spec tests (#2828) * update PrevEpoch * debugging proposer slashing tests * fmt * add deposit tests * Added skeleton for attestation minimal test * remove bazel runfiles thing * add deposits * proposer slashing test is done * comment * complete test, some failing cases * sig verify on * refactor slightly to support mainnet and minimal * included mainnet stuff * Add block header tests * volunary exit done * transfer done * new changes * fix all tests * update domain functions * fmt * fixed lint * fixed all the tests * fixed a transfer bug * finished attester slashing tests and fixed a few bugs * started fixing... * cleaned up exit and proposr slashing tests * attester slashing passing * refactored deposit tests * remove yamls, update ssz * Added todo for invalid sig * gazelle * deposits test done! * transfer tests done and pass! * fix attesting indices bug * temporarily disabled signature verification * cleaned up most of the block ops, except for att * update committee AttestingIndices * oops, i dont know how or why i changed this file * fixed all the rpc tests * 6 more failing packages * test max transfer in state package * replace hashproto with treehash in package blockchain * gazelle * fix test * fix test again * fixed transition test, 2 more left * expect an error in attestation tests * Handle panic when no votes in aggregate attestation * clear cache * Add differ, add logging, tests pass yay * remove todo, add tag * fixed TestReceiveBlock_RemovesPendingDeposits * TestAttestationMinimal/success_since_max_epochs_per_crosslink fails now... * handle panics * Transfer tests were disabled in https://github.com/ethereum/eth2.0-specs/pull/1238 * more fixes after merge, updating block_operations.yaml.go to match yaml * figuring out how to seqeeze in multiple fields in a tag for pb * Added max tags and regenerated pb.go * updated to new standard * New bitfield types in proto (#2915) * Cast bytes to correct bitfield, failing tests now though * Add forked gogo/protobuf until https://github.com/gogo/protobuf/pull/582 * remove newline * fix references and test panic * change to proto objects from custom types * fix panics in tests * use proper override for gogo-protobuf * fix a few tags * fix tests * forgot to include custody bits and Slashable not used * fix tests * sort again * Update yaml struct to use pb * Update workspace to use latest ssz * All tests fail * Use the latest go-ssz commit * All pass except for state (too long to taste) * Update test.proto * Added rest of the tests * use 1 justification bits * minor fixes * wrong proto.Equal * fix tag test, apply @rauljordan's suggestion * add IsEmpty and use ssz struct * inverted logic * update zero hash * change zero hash to conform with spec * goimports * add test for zero hash * Revert "Update zero hash to sha256().digest() (#2932)" This reverts commit b926ae0667b18aef3f7e0e8ec8a9b3e98b3d2ccc. * update ssz, fix import, shard big test * checkpoint * fix compress validator * update go-ssz * missing import * missing import * tests now pass * been a good day * update test size * fix lint * imports and remove unused const * update bazel jobs flag * update bazel jobs flag * satisfy deprecation warning * Add ssz regression tests for investigation of test failures in PR #2828 (#2935) * Adding regression tests for investigation * add another example * goimports * add quick comment about test case 0 * Epoch Process Slashings Spec Tests (#2930) * updated justification bits, tests passing OK * regen pb.go, clarify bit operations * justification and finalization tests; failing * Add wrapper, so we call the correct method * checkpoint * Update tar ref * TestSlashingsMinimal/small_penalty still failing * Use bigint instead of () and float * Revert a bad merge from workspace * Fmt * add note about https://github.com/ethereum/eth2.0-specs/issues/1284 * improve tests * gaz * Perform Mutesting In core/state Package (#2923) * Perform mutesting on validator * Mutesting in helpers package * Mutested eth1data * Perform mutesting in epoch and state packages * Fix voluntary exits test * Fix typo * Fix comments * Fix formatting * Fix error message * Handle missing errors * Handle all errors * Perform Mutesting In State Package * Fix block roots size * Remove comment * Fix error * add backend service * Add ssz compatibility tests for signing root (#2931) * Added tests for signing root * imports * fix lint on travis * fix bes flag * Final updates spec tests (#2901) * set up tests * need to reorder pbs * figuring out how to seqeeze in multiple fields in a tag for pb * Added max tags and regenerated pb.go * updated to new standard * New bitfield types in proto (#2915) * Cast bytes to correct bitfield, failing tests now though * Add forked gogo/protobuf until https://github.com/gogo/protobuf/pull/582 * remove newline * use proper override for gogo-protobuf * fix a few tags * forgot to include custody bits and Slashable not used * playing with tags idea, can revert this commit later * fixes after merge * reset caches before test * all epoch tests pass * gazelle * Genesis trigger (#2905) * genesis change * integrate changes * bodyroot * remove unused code * HasChainStarted * added isValidGenesisState to ProcessLog * state fix * fix gazelle * uint64 timestamp * SetupInitialDeposits adds proof * remove unneeded parts of test * deposithash * merkleproof from spec utils * Revert "merkleproof from spec utils" This reverts commit 1b0a124352e7b62e3c3220fb0d64e295b474b430. * fix test failures * chain started and hashtree root in tests * simple eth2genesistime * eth2 genesis time * fix zero time * add comment * remove eth1data and feedback * fix build issues * main changes: add fields and methods to track active validator count * gaz * fix test * fix more tests * improve test utils * shift spec method to state package, improve test setup * fixed log processing tests * remove log * gaz * fix invalid metric * use better tag names, not latest * Remove Block Signing Root (#2945) * replace with hash tree root * Revert "replace with hash tree root" This reverts commit 77d8f16a160e42f3c3d598df66c30a66657de1bf. * replace with signing root instead * remove one more ref * Create Test Runner for Genesis State Spec Tests (#2940) * genesis change * integrate changes * bodyroot * remove unused code * HasChainStarted * added isValidGenesisState to ProcessLog * state fix * fix gazelle * uint64 timestamp * SetupInitialDeposits adds proof * remove unneeded parts of test * deposithash * merkleproof from spec utils * Revert "merkleproof from spec utils" This reverts commit 1b0a124352e7b62e3c3220fb0d64e295b474b430. * fix test failures * chain started and hashtree root in tests * simple eth2genesistime * eth2 genesis time * fix zero time * add comment * remove eth1data and feedback * fix build issues * main changes: add fields and methods to track active validator count * gaz * fix test * fix more tests * improve test utils * Start genesis spec tests * shift spec method to state package, improve test setup * Add Genesis validity spec test * Bazel * fixed log processing tests * remove log * gaz * fix invalid metric * use json tags * fix up latest changes * Fix most of test errors * Attempts to see whats wrong with genesis validity * Fix merge * skip minimal * fix state test * new commit * fix nishant comment * gaz * Static check on branch spec-v0.6 (#2946) * Ran staticcheck and fixed the important complains * commit * commit * Create Test Runner for Genesis State Spec Tests (#2940) * genesis change * integrate changes * bodyroot * remove unused code * HasChainStarted * added isValidGenesisState to ProcessLog * state fix * fix gazelle * uint64 timestamp * SetupInitialDeposits adds proof * remove unneeded parts of test * deposithash * merkleproof from spec utils * Revert "merkleproof from spec utils" This reverts commit 1b0a124352e7b62e3c3220fb0d64e295b474b430. * fix test failures * chain started and hashtree root in tests * simple eth2genesistime * eth2 genesis time * fix zero time * add comment * remove eth1data and feedback * fix build issues * main changes: add fields and methods to track active validator count * gaz * fix test * fix more tests * improve test utils * Start genesis spec tests * shift spec method to state package, improve test setup * Add Genesis validity spec test * Bazel * fixed log processing tests * remove log * gaz * fix invalid metric * use json tags * fix up latest changes * Fix most of test errors * Attempts to see whats wrong with genesis validity * Fix merge * skip minimal * fix state test * new commit * fix nishant comment * gaz * Add Back Eth1Data After Bad Merge (#2953) * eth1data rpc endpoint * first version * comment added * gazelle fix * new function to go once over the deposit array * fix tests * export DepositContainer * terence feedback * move structure decleration * binary search * fix block into Block * preston feedback * keep slice sorted to remove overhead in retrival * merge changes * feedback * update to the latest go-ssz * revert change * chnages to fit new ssz * revert merge reversion * go fmt goimprts duplicate string * exception for lint unused doesParentExist * feedback changes * latesteth1data to eth1data * goimports and stop exposing Eth1Data * revert unneeded change * remove exposure of DepositContainer * feedback and fixes * fix workspace duplicate dependancy * greatest number of deposits at current height * add count votes function * change method name * revert back to latesteth1data * latesteth1data * preston feedback * seperate function add tests fix bug * stop exposing voteCountMap * eth1data comment fix * preston feedback * fix tests * new proto files * workspace to default version of ssz * new ssz * chnage test size * marshalled marshaled * everything passing again * add skip reason * cleanup deposit contract slightly * remove unused chainstart param (#2957) * fix breakages from #2957 (#2958) * fix breakages from #2957 * oops * Fix deposit input data (#2956) * fix deposit input data * fix deposit input data * gaz and build fix * Add Tests for Genesis Deposits Caching (#2952) * remove old method and replace with an improved one * add new files * gaz * add test * added all these tests * gaz * Apply suggestions from code review Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * fix merkle proof error * fix config * Minor fixes for runtime (#2960) * Minor fixes for runtime * use comments * goimports * revert beacon-chain/core/state/state.go and fix comment for lint * fix test too * Minor runtime fixes (#2961) * Add support for bundling binaries and fix ARM64 builds (#2970) * Add support for bundling binaries and fix ARM64 builds * Fix exports * ignore manual targets wrt vis check * fix graknlabs * update spec tests (#2979) * hotfix until https://github.com/graknlabs/bazel-distribution/pull/169 * Overflow slashing calculation fix (#2977) * Runtime Fixes (#2736) * first batch of fixes * add log * more fixes * another bug fixed * update deposit contract and other fixes * remove logs * new changes * fixes * fix build * remove config * more fixes * add more changes * add back todo * make compute state root work * remove commented out and fix condition * fix commented code * fix config * gaz * remove flag * remove init * new fixes * fix test * one more fix * fix all tests * change back config * fix one more bug * remove logging bool * Only build test targets when running bazel test //... * Align prysm to spec v0.8.1 (#2978) * Bazel problem * Update zero hash representation to be clear (cosmetic) * Update minor cosmetic fixes * Fixed lookahead off by 1 * Update randao.go * update ssz * test failures fixed * test fixes * fix up workspace * lint * fixed errs * Updated pubkey loggings (#2983) * Fix proposer assignment (#2984) * add jvm limits * add jvm limits * Removed logging from state transition functions (#2980) * Match spec on proposer index division (#2985) * Match spec on proposer index division * gaz * fixes * Fix Default Eth1Data (#2982) * fix bug * Update beacon-chain/core/state/transition.go Co-Authored-By: Raul Jordan <raul@prysmaticlabs.com> * more fixes * reg test * Set ejection balance to 1.6 (#2987) * improve block processing log (#2990) * Fix HistoricalRootsLimit (#2989) * fix historical lenght * fix genesis state initialization and test * fix genesis state initialization and test * fix genesis state initialization and test * fix genesis state initialization and test * hack config until https://github.com/prysmaticlabs/prysm/issues/2993 * More Runtime Fixes (#2986) * local changes * add val sig * attester fix * one more fix * fixed all tests * rem validator issue * fix finality issue (#2994) * Fix validator prev balance calculation (#2992) * attester fix * one more fix * fixed all tests * Fix validator prev balances calculation * go fmt * 48 bytes * Fix Querier to handle Deposit Logs Race (#2999) * fix sync issue * fix build * add regression test * add var for magic number * Fix eth1data and deposits (#2996) * Work in progress, eth1data works, deposits are included at the appropriate time, and activation happens at the correct time * revert blockInfo being public * git tests to build, not yet pass though * add tests * some commentary * fix comment * goimports * fmt and remove unused method * Update rules go (#2975) * update rules_go * Fix some cross compile builds stuff * add missing deps * update to 0.19.1 * Update Protobufs to Match Ethereum APIs (#2998) * add beacon block and attestation files * add all types * include all new proto type definitions * add add all proto definitions * fix all comments to say 48 bytes * include latest changes * readd common * no swag * add build file * deps issue * right package names * address feedback, maintain parity between upstream ethereumapis * delete pb * bad gens * Update "Testing Prysm" readme section (#3000) Resolves invalid url link to golangci-lint. * Update badge to version 0.8.1 * elaborate on test skip * revert shared/p2p/options.go * make travis happy with goimports * Update beacon-chain/core/blocks/block.go Co-Authored-By: Preston Van Loon <preston@prysmaticlabs.com>
2019-07-20 00:16:10 +00:00
// GetDepositCount is a free data retrieval call binding the contract method 0x621fd130.
//
// Solidity: function get_deposit_count() view returns(bytes)
Spec freeze updates (#2312) * Optimize Shuffled Indices Cache (#2728) * Refactor Deposit Contract Test Setup (#2731) * add new package * fix all tests * lint * change hash function (#2732) * Remove Deprecated Validator Protobuf (#2727) * Remove deprecated validator protos * Fix to comments * Fix most of skipped tests (#2735) * Cache Active Validator Indices, Count, and Balances (#2737) * Optimize Base Reward Calculation (#2753) * benchmark process epoch * revert prof.out * Add some optimizations * beware where we use ActiveValidatorIndices... * revert extra file * gaz * quick commit to get feedback * revert extra file * started fixing tests * fixed broken TestProcessCrosslink_NoUpdate * gaz * cache randao seed * fixed all the tests * fmt and lint * spacing * Added todo * lint * revert binary file * started regression test * basic tests done * using a fifo for active indices cache * using a fifo for active count cache * using a fifo for total balance cache * using a fifo for active balance cache * using a fifo for start shard cache * using a fifo for seed cache * gaz * clean up * fixing tests * fixed all the core tests * fixed all the tests!!! * lint * comment * rm'ed commented code * cache size to 1000 should be good enough * optimized base reward * revert binary file * Added comments to calculate adjusted quotient outside * removed deprecated configs (#2755) * Optimize Process Eth1 Data Vote (#2754) * Cleanup and Docs update (#2756) * Add graffiti and update generate seed (#2759) * Benchmark Process Block with Attestations (#2758) * Tidying up Godoc for Core Package (#2762) * Clean up Old RPC Endpoints (#2763) * Update RPC end point for Proposer (#2767) * add RequestBlock * run mockgen * implemented RequestBlock * updated proto definitions * updated tests * updated validator attest tests * done * comment * todo issue * removed unused proto * Update attesting indices v0.6 (#2449) * sort participants slice * add bitfield functions and tests * added BitfieldBit test * add AttestationParticipantsNew * revert AttestationParticipants to its previous change * add tests * remove verifybitfieldnew * fix tests and remove multiple tests * remove duplicate test * change magic number into ceildiv8 * Implement Justification and finalization Processing (#2448) * Add convert to indexed (#2519) * sort participants slice * add bitfield functions and tests * added BitfieldBit test * add AttestationParticipantsNew * revert AttestationParticipants to its previous change * add tests * remove verifybitfieldnew * fix tests and remove multiple tests * remove duplicate test * start work * convert attestation to indexed attestations * fix test for convert index * remove calling getter * add more tests * remove underscore * changes name to signature (#2535) * update registry updates func (#2521) * update registry updates func * added tests and moved to epoch processing * fixed naming issues * Update Committee Helpers to v0.6.0 (#2398) * Update Committee Helper Part 2 (#2592) * Implement Process Slashings for 0.6 (#2523) * Update Proposer/Attester Slashings and Slashing Helpers (#2603) * Implement Final Updates 0.6 (#2562) * ValidatorStatus Estimating Activation RPC Server (#2469) * fix spacing * working on position in queue * fmt * spacing * feedback * tests * rename * Only Perform Initial Sync With a Single Peer (#2471) * fix spacing * use send instead of broadcast in initial sync * 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> * SSZ web api for decoding input data (#2473) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * standardize slot numbers (#2475) * Add CORS for ssz api (#2476) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * needed CORS * 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 * Update Prysm README (#2477) * README updated * readme updates * no err throw (#2479) * Fix Status Nil Pointer Error (#2480) * no err throw * nil errors * 3.175 (#2482) * Better Error Message if Failing to Exit Initial Sync (#2483) * no err throw * nil errors * better error on init sync * Only Log Active Balances (#2485) * only log active balance * dont need () * change logging (#2487) * fix chainstart waiting on rpc server (#2488) * shift ticker to after activation (#2489) * Add drain script (#2418) * Add drain script * Fix script to drain contracts from newest to oldest * Add README * remove comments * Only after block 400k, look up by deposit event * issue warn log on disconnecting peer instead of error (#2491) * Display Only Active Validator Data (#2490) * Fix Validator Status Field in RPC Server (#2492) * fix status of key * status test fix * fmt * 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 * add production config for testnet release (#2493) * Lookup Validator Index in State in Status Check (#2494) * state lookup * refactor duplicate code * refactor with mapping * fix broken tests * finish refactor * merged master * updated EpochCommitteeCount and fixed tests * implemented ShardDelta * test for ShardDelta * implemented EpochStartShard * added epoch out of bound test * test for accurate start shard * lint * implemented process_final_updates * move to the top of the file * add comment back * gaz * Test for process final updates * fixed tests * fixed all the tests * Update Reward Helper v0.6 (#2470) * added BaseReward * added rewards helper * added test for BaseReward * extra space * move exported function above * update to new spec (#2614) * Update Block Processing Voluntary Exits (#2609) * Update processEth1Data for v0.6 (#2516) * Clean up Helper Functions Part 1 (#2612) * Finalize helper functions for 0.6 (#2632) * Process Beacon Chain Transfers v0.6 (#2642) * add transfers * beacon transfer operations complete * full cov * transfer testing * finished tests * Update beacon-chain/core/blocks/block_operations_test.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * Update beacon-chain/core/blocks/block_operations.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * Implement Process Crosslink From 0.6 (#2460) * Process Block Eth1 Data v0.6 (#2645) * Get attestation data slot v0.6 (#2593) * attestation.go is ready, tests not * ready for review * fixing linter issues * modified Crosslink and AttestationData proto fields to spec 2.0,marked deprecated fields * gazelle * fixed tests * fixed error * error msg * Process Block Deposits v0.6 (#2647) * imports fixes * deposits tests pass * wrapped up gazelle * spacing * Implement Crosslink Delta Rewards for 0.6 (#2517) * update process crosslink and update existing tests * added a test case to cover no crosslink changes * more test * preston's feedback * spellings * ValidatorStatus Estimating Activation RPC Server (#2469) * fix spacing * working on position in queue * fmt * spacing * feedback * tests * rename * Only Perform Initial Sync With a Single Peer (#2471) * fix spacing * use send instead of broadcast in initial sync * 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> * SSZ web api for decoding input data (#2473) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * standardize slot numbers (#2475) * Add CORS for ssz api (#2476) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * needed CORS * 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 * Update Prysm README (#2477) * README updated * readme updates * no err throw (#2479) * Fix Status Nil Pointer Error (#2480) * no err throw * nil errors * 3.175 (#2482) * Better Error Message if Failing to Exit Initial Sync (#2483) * no err throw * nil errors * better error on init sync * Only Log Active Balances (#2485) * only log active balance * dont need () * change logging (#2487) * fix chainstart waiting on rpc server (#2488) * shift ticker to after activation (#2489) * Add drain script (#2418) * Add drain script * Fix script to drain contracts from newest to oldest * Add README * remove comments * Only after block 400k, look up by deposit event * issue warn log on disconnecting peer instead of error (#2491) * Display Only Active Validator Data (#2490) * Fix Validator Status Field in RPC Server (#2492) * fix status of key * status test fix * fmt * 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 * add production config for testnet release (#2493) * Lookup Validator Index in State in Status Check (#2494) * state lookup * refactor duplicate code * refactor with mapping * fix broken tests * finish refactor * merged master * Starting, I need get_epoch_start_shard * updated EpochCommitteeCount and fixed tests * implemented ShardDelta * test for ShardDelta * implemented EpochStartShard * added epoch out of bound test * test for accurate start shard * lint * need to use changes from latest crosslinks * added BaseReward and totalActiveBalance * added test for base reward * merged master * all tests passing * start testing * done * add ProcessBlockHeader v0.6 (#2534) * add ProcessBlockHeader * function has all its dependancies in place * arange the basic ok test * gazzele and skip test update * skip wrong sig test * fmt imports and change requests * goimports fmt * map for struct fields to be location independent * reorder protobuf fields * added tests * gazzle fix * few change requests fixes * revert changes in types.proto * revert changes in types * fix tests * fix lint * fmt imports * fix gazelle * fix var naming * pb update * var naming * tarance change request fixes * fix test * Add Process Registry for Epoch Processing (#2668) * update update-process-registry * added back the old tests * fmt * gaz * Follow up on process block header v0.6 (#2666) * Putting Crosslink Delta Back (#2654) * update process crosslink and update existing tests * added a test case to cover no crosslink changes * more test * preston's feedback * spellings * ValidatorStatus Estimating Activation RPC Server (#2469) * fix spacing * working on position in queue * fmt * spacing * feedback * tests * rename * Only Perform Initial Sync With a Single Peer (#2471) * fix spacing * use send instead of broadcast in initial sync * 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> * SSZ web api for decoding input data (#2473) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * standardize slot numbers (#2475) * Add CORS for ssz api (#2476) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * needed CORS * 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 * Update Prysm README (#2477) * README updated * readme updates * no err throw (#2479) * Fix Status Nil Pointer Error (#2480) * no err throw * nil errors * 3.175 (#2482) * Better Error Message if Failing to Exit Initial Sync (#2483) * no err throw * nil errors * better error on init sync * Only Log Active Balances (#2485) * only log active balance * dont need () * change logging (#2487) * fix chainstart waiting on rpc server (#2488) * shift ticker to after activation (#2489) * Add drain script (#2418) * Add drain script * Fix script to drain contracts from newest to oldest * Add README * remove comments * Only after block 400k, look up by deposit event * issue warn log on disconnecting peer instead of error (#2491) * Display Only Active Validator Data (#2490) * Fix Validator Status Field in RPC Server (#2492) * fix status of key * status test fix * fmt * 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 * add production config for testnet release (#2493) * Lookup Validator Index in State in Status Check (#2494) * state lookup * refactor duplicate code * refactor with mapping * fix broken tests * finish refactor * merged master * Starting, I need get_epoch_start_shard * updated EpochCommitteeCount and fixed tests * implemented ShardDelta * test for ShardDelta * implemented EpochStartShard * added epoch out of bound test * test for accurate start shard * lint * need to use changes from latest crosslinks * added BaseReward and totalActiveBalance * added test for base reward * merged master * all tests passing * start testing * done * fixed tests * addressed shay's feedback * Implement Attestation Delta for v0.6 (#2646) * update process crosslink and update existing tests * added a test case to cover no crosslink changes * more test * preston's feedback * spellings * ValidatorStatus Estimating Activation RPC Server (#2469) * fix spacing * working on position in queue * fmt * spacing * feedback * tests * rename * Only Perform Initial Sync With a Single Peer (#2471) * fix spacing * use send instead of broadcast in initial sync * 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> * SSZ web api for decoding input data (#2473) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * standardize slot numbers (#2475) * Add CORS for ssz api (#2476) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * needed CORS * 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 * Update Prysm README (#2477) * README updated * readme updates * no err throw (#2479) * Fix Status Nil Pointer Error (#2480) * no err throw * nil errors * 3.175 (#2482) * Better Error Message if Failing to Exit Initial Sync (#2483) * no err throw * nil errors * better error on init sync * Only Log Active Balances (#2485) * only log active balance * dont need () * change logging (#2487) * fix chainstart waiting on rpc server (#2488) * shift ticker to after activation (#2489) * Add drain script (#2418) * Add drain script * Fix script to drain contracts from newest to oldest * Add README * remove comments * Only after block 400k, look up by deposit event * issue warn log on disconnecting peer instead of error (#2491) * Display Only Active Validator Data (#2490) * Fix Validator Status Field in RPC Server (#2492) * fix status of key * status test fix * fmt * 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 * add production config for testnet release (#2493) * Lookup Validator Index in State in Status Check (#2494) * state lookup * refactor duplicate code * refactor with mapping * fix broken tests * finish refactor * merged master * Starting, I need get_epoch_start_shard * updated EpochCommitteeCount and fixed tests * implemented ShardDelta * test for ShardDelta * implemented EpochStartShard * added epoch out of bound test * test for accurate start shard * lint * need to use changes from latest crosslinks * added BaseReward and totalActiveBalance * added test for base reward * implemented process_attestation_delta * comments * comments * merged master * all tests passing * start testing * done * merged master * fixed tests * tests, more to come * tests done * lint * spaces over tabs * addressed shay's feedback * merged master * Implement process_rewards_and_penalties for 0.6 (#2665) * update process crosslink and update existing tests * added a test case to cover no crosslink changes * more test * preston's feedback * spellings * ValidatorStatus Estimating Activation RPC Server (#2469) * fix spacing * working on position in queue * fmt * spacing * feedback * tests * rename * Only Perform Initial Sync With a Single Peer (#2471) * fix spacing * use send instead of broadcast in initial sync * 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> * SSZ web api for decoding input data (#2473) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * standardize slot numbers (#2475) * Add CORS for ssz api (#2476) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * needed CORS * 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 * Update Prysm README (#2477) * README updated * readme updates * no err throw (#2479) * Fix Status Nil Pointer Error (#2480) * no err throw * nil errors * 3.175 (#2482) * Better Error Message if Failing to Exit Initial Sync (#2483) * no err throw * nil errors * better error on init sync * Only Log Active Balances (#2485) * only log active balance * dont need () * change logging (#2487) * fix chainstart waiting on rpc server (#2488) * shift ticker to after activation (#2489) * Add drain script (#2418) * Add drain script * Fix script to drain contracts from newest to oldest * Add README * remove comments * Only after block 400k, look up by deposit event * issue warn log on disconnecting peer instead of error (#2491) * Display Only Active Validator Data (#2490) * Fix Validator Status Field in RPC Server (#2492) * fix status of key * status test fix * fmt * 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 * add production config for testnet release (#2493) * Lookup Validator Index in State in Status Check (#2494) * state lookup * refactor duplicate code * refactor with mapping * fix broken tests * finish refactor * merged master * Starting, I need get_epoch_start_shard * updated EpochCommitteeCount and fixed tests * implemented ShardDelta * test for ShardDelta * implemented EpochStartShard * added epoch out of bound test * test for accurate start shard * lint * need to use changes from latest crosslinks * added BaseReward and totalActiveBalance * added test for base reward * implemented process_attestation_delta * comments * comments * merged master * all tests passing * start testing * done * merged master * fixed tests * tests, more to come * tests done * lint * spaces over tabs * addressed shay's feedback * starting but need to merge a few things... * tests * fmt * Update Slot Processing and State Transition v0.6 (#2664) * edit state transition to add slot processing logic, reorder logic * fix build * lint * tests passing * spacing * tests pass * imports * passing tests * Implement Process Epoch for 0.6 (#2675) * can't find process j f functons * implemented process_epoch * tests done * lint * nishant's feedback * stupid goland replace * goimports * Update CommitteeAssignment (#2693) * cleaned up skipped tests for core processing (#2697) * Process Block Attestations v0.6 (#2650) * attestation.go is ready, tests not * ready for review * fixing linter issues * modified Crosslink and AttestationData proto fields to spec 2.0,marked deprecated fields * gazelle * fixed tests * fixed error * add att processing: * process atts * error msg * finish process attestations logic * spacing * ssz move * inclusion delay failure passing * more attestation tests * more att tests passing * more tests * ffg data mismatching test * ffg tests complete * gofmt * fix testing to match attestation updates * ssz * lint * Fixed Skipped Tests for RPC Server (#2712) * Remove Obsolete Deposit Proto Objects (#2673) * remove deposit data * remove deposit input * fix references * remove deposit helpers * fix all refs * gaz * rgene proto * fix all tests * remove deposit data deprecated field * fix remaining references * fix all tests * fix lint * regen proto * fix test * Remove Deprecated Protobuf State Fields (#2713) * Remove Deprecated Protobuf Crosslink/Slashing/Block Fields (#2714) * Remove Deprecated Beacon Block Proto Fields (#2717) * Remove Deprecated Attestation Proto Fields (#2723) * Cache Shuffled Validator Indices (#2682) * YAML shuffle tests for v0.6 (#2667) * new shuffle tests * added comment for exported function * fix format and print * added config files handling * gazelle fix * shuffle test debugging * added shuffle list and benchmark * hash function addition from nishant code * gazelle fix * remove unused function * few minor changes * add test to test protos optimization * test a bigger list * remove commented code * small changes * fix spec test and test indices to pass * remove empty line * abstraction of repeated code and comment arrangement * terence change requests * fix new test * add small comment for better readability * change from unshuflle to shuffle * comment * better comment * fix all tests * Remove Latest Block (#2721) * lint * remove latest block * lint * add proto * fix build * Fix Deposit Trie (#2686) * remove deposit data * remove deposit input * fix references * remove deposit helpers * fix all refs * gaz * rgene proto * fix all tests * remove deposit data deprecated field * fix remaining references * fix all tests * fix lint * new tests with contract * gaz * more tests * fixed bugs * new test * finally fixed it * gaz * fix test * Remove Committee Cache (#2729) * Benchmark Compute Committee (#2698) * Fixed Skipped Attestation Tests (#2730) * Optimize Shuffled Indices Cache (#2728) * Refactor Deposit Contract Test Setup (#2731) * add new package * fix all tests * lint * change hash function (#2732) * Remove Deprecated Validator Protobuf (#2727) * Remove deprecated validator protos * Fix to comments * Fix most of skipped tests (#2735) * Optimize Base Reward Calculation (#2753) * benchmark process epoch * revert prof.out * Add some optimizations * beware where we use ActiveValidatorIndices... * revert extra file * gaz * quick commit to get feedback * revert extra file * started fixing tests * fixed broken TestProcessCrosslink_NoUpdate * gaz * cache randao seed * fixed all the tests * fmt and lint * spacing * Added todo * lint * revert binary file * started regression test * basic tests done * using a fifo for active indices cache * using a fifo for active count cache * using a fifo for total balance cache * using a fifo for active balance cache * using a fifo for start shard cache * using a fifo for seed cache * gaz * clean up * fixing tests * fixed all the core tests * fixed all the tests!!! * lint * comment * rm'ed commented code * cache size to 1000 should be good enough * optimized base reward * revert binary file * Added comments to calculate adjusted quotient outside * removed deprecated configs (#2755) * Optimize Process Eth1 Data Vote (#2754) * Cleanup and Docs update (#2756) * Add graffiti and update generate seed (#2759) * Benchmark Process Block with Attestations (#2758) * Tidying up Godoc for Core Package (#2762) * Clean up Old RPC Endpoints (#2763) * Update RPC end point for Proposer (#2767) * add RequestBlock * run mockgen * implemented RequestBlock * updated proto definitions * updated tests * updated validator attest tests * done * comment * todo issue * removed unused proto * Cache Active Validator Indices, Count, and Balances (#2737) * Update Deposit Contract (#2648) * lint * add new contract * change version * remove log * generating abi and binary files * fix tests * update to current version * new changes * add new hash function * save hashed nodes * add more things * new method * add update to trie * new stuff * gaz * more stuff * finally fixed build * remove deposit data * Revert "remove deposit data" This reverts commit 9085409e91be0c94550af10290eaad72ad40a6de. * more changes * lint and gaz * lint * Update Shard Helpers for 0.6 (#2497) * ValidatorStatus Estimating Activation RPC Server (#2469) * fix spacing * working on position in queue * fmt * spacing * feedback * tests * rename * Only Perform Initial Sync With a Single Peer (#2471) * fix spacing * use send instead of broadcast in initial sync * 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> * SSZ web api for decoding input data (#2473) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * standardize slot numbers (#2475) * Add CORS for ssz api (#2476) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * needed CORS * 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 * Update Prysm README (#2477) * README updated * readme updates * no err throw (#2479) * Fix Status Nil Pointer Error (#2480) * no err throw * nil errors * 3.175 (#2482) * Better Error Message if Failing to Exit Initial Sync (#2483) * no err throw * nil errors * better error on init sync * Only Log Active Balances (#2485) * only log active balance * dont need () * change logging (#2487) * fix chainstart waiting on rpc server (#2488) * shift ticker to after activation (#2489) * Add drain script (#2418) * Add drain script * Fix script to drain contracts from newest to oldest * Add README * remove comments * Only after block 400k, look up by deposit event * issue warn log on disconnecting peer instead of error (#2491) * Display Only Active Validator Data (#2490) * Fix Validator Status Field in RPC Server (#2492) * fix status of key * status test fix * fmt * 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 * add production config for testnet release (#2493) * Lookup Validator Index in State in Status Check (#2494) * state lookup * refactor duplicate code * refactor with mapping * fix broken tests * finish refactor * merged master * updated EpochCommitteeCount and fixed tests * implemented ShardDelta * test for ShardDelta * implemented EpochStartShard * added epoch out of bound test * test for accurate start shard * lint * Update Genesis State Function to v0.6 (#2465) * add pseudocode * make changes * fix all tests * fix tests * lint * regen protos and mocks * regenerated protos * started fixing core * all core tests passing! * removed shared/forkutils * started fixing blockchain package * lint * updating rpc package * add back deleted stuff * add back deleted stuff that was deleted accidentally * add back protos and mocks * fix errors * fix genesis issue * fix genesis issue for slot ticker * fix all genesis errors * fix build files * temp change for go-ssz * fix test * Revert "temp change for go-ssz" This reverts commit 3411cb9d6d519cb521181486debc3b21603c8873. * update to latest go-ssz * unstaged changes * Update Attester Server RPC Calls (#2773) * Update config and function parameters to v0.7 (#2791) * Minor Updates to 0.7 (#2795) * Refactor Deposit Flow and Cleanup Tests (#2788) * More WIP on cleaning deposit flow * Fix tests * Cleanup and imports * run gazelle * Move deposit to block_operations * gazelle * Update beacon-chain/core/blocks/block_operations.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * Fix docs * Remove unneeded calculations * Fix tests * Fix tests finally (?) * Optimize Committee Assignment RPC (#2787) * Update BlockRoot to BlockHash (#2816) * Fix Final Missing Items in Block Processing v0.6 (#2710) * override config successfully * passes processing * add signing root helper * blockchain tests pass * tests blocked by signing root * lint * fix references * fix protos * proper use of signing root * only few failing tests now * fix final test * tests passing * lint and imports * rem unused * Update beacon-chain/core/blocks/block_operations.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * lint * Update beacon-chain/attestation/service_test.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * Update beacon-chain/db/block_test.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * rename to hash tree root * rename decode to unmarshal * fix * use latest ssz * all tests passing * lint * fmt * Add Config YAML for Spec Tests (#2818) * Align Protobuf Type Names (#2825) * gofmt * Revert "Align Protobuf Type Names (#2825)" (#2827) This reverts commit 882d067144c674bbf4eeee00404acaa0a9b1fd33. * Update Domain Related Functions (#2832) * Add Functions for Compressed and Uncompressed HashG2 With Domain (#2833) * add tests * gaz * lint * Revert "Add Functions for Compressed and Uncompressed HashG2 With Domain (#2833)" (#2835) This reverts commit 7fb2ebf3f12f043d7bd12f43500dc2bd133df573. * Add ConvertToPb to package testutil (#2838) * Block Processing Bug Fixes (#2836) * Update types PB with Size Tags (#2840) * Epoch processing spec tests (#2814) * Remove Deposit Index (#2851) * Shuffle tests revisited (#2829) * first commit * remove old files, add log * remove duplicate yaml testing code * reduce visability * nishant feedback changes * skip TestFromYaml_Pass * added tags to bazel build * gazelle fix * remove unused vars * adda back config * remove config handling * remove unused var * gazelle fix * SSZ compatibility test for protobufs (#2839) * update workspace spec sha * remove yamls from branch * BLS spec tests (#2826) (#2856) * bls spec tests * add more bls tests * use ioutil instead of bazel runfiles * dont read bytes * skip tests that overflow uint64 * manually fix input data * add tests * lint and gaz * add all new changes * some refactoring, cleanup, remove new API methods that only exist for tests * gaz * Remove yamls, skip test * Slot processing spec test (#2813) * eth1data rpc endpoint (#2733) * eth1data rpc endpoint * first version * comment added * gazelle fix * new function to go once over the deposit array * fix tests * export DepositContainer * terence feedback * move structure decleration * binary search * fix block into Block * preston feedback * keep slice sorted to remove overhead in retrival * merge changes * feedback * update to the latest go-ssz * revert change * chnages to fit new ssz * revert merge reversion * go fmt goimprts duplicate string * exception for lint unused doesParentExist * feedback changes * latesteth1data to eth1data * goimports and stop exposing Eth1Data * revert unneeded change * remove exposure of DepositContainer * feedback and fixes * fix workspace duplicate dependancy * greatest number of deposits at current height * add count votes function * change method name * revert back to latesteth1data * latesteth1data * preston feedback * seperate function add tests fix bug * stop exposing voteCountMap * eth1data comment fix * preston feedback * fix tests * new proto files * workspace to default version of ssz * new ssz * chnage test size * marshalled marshaled * Attesting Indices Fix (#2862) * add change * fix one test * fix all tests * add test * clear cache * removed old chaintest, simulated backend and state generator (#2863) * Block Processing Sanity Spec Tests (#2817) * update PrevEpoch * add new changes * shift to blocks package * add more changes * new changes * updated pb with size tags * add new changes * fix errors * uncomment code * more changes * add new changes * rename and lint * gaz * more changes * proccess slot SigningRoot instead of HashTreeRoot * ensure yaml generated structs work * block sanity all passing * minimal and mainnet all pass * remove commented code * fix one test * fix all tests * fix again * no state comparison * matching spec * change target viz * comments gazelle * clear caches before test cases * latest attempts * clean up test format * remove debugging log, remove yaml * unskip attestation * remove skip, check post state, diff state diffs * handle err * add bug fixes * fixed one more bug * fixed churn limit bug * change hashProto to HashTreeRoot * all tests pass :) * fix all tests * gaz * add regression tests * fix test bug * Mutation testing fixes for beacon-chain/core/helpers/attestation.go (#2868) * mutation testing for attestation.go * new line * lint * revert fmt.Errorf deletion * gofmt * Add some fixes for mutation testing on blocks.go (#2869) * Fix sizes * gaz * Spec freeze release candidate spectests * Align Protobuf Type Names (#2872) * Removes some deprecated fields from protobuf (#2877) * search and replace checkpoints * fix tests, except spec tests * Update Configs for Freeze (#2876) * update configs * updated minimal configs * almost there * all tests passing except for spec tests * better comment for MinGenesisTime * done, ready for review * rm seconds per day * feedback * Mutation testing fixes for beacon-chain/core/helpers/committee.go (#2870) * Add some fixes for mutation testing on blocks.go * working on mutation testing fo committee.go * gofmt * goimports * update readme target * update latest sha for spec tests * fix build * Update State Transition Function (#2867) * Change Base Reward Factor (#2888) * Update Freeze Spec Simplification Section - part 1 (#2893) * finished changes to attesting_indices * removed index_count <= 2**40 requirement * lint * reverted index_count <= 2**40 check * added short cut len(a) > len(b) * Update justification bits (#2894) * updated all the helper pseudocodes (#2895) * Make Constants Explicit and Minor Cleanups (#2898) * Rename outdated configs, make constants explicitly delcared * Remove activate_validator, not needed * Remove GenesisSlot and GenesisEpoch * Remove unused import * Move Block Operation Length Checks to ProcessOperations (#2900) * Move block operation length checks to ProcessOperations * Write tests for each length check in ProcessOperations * Remove unneeded test * Move checks to a new function * Move duplicate check back into ProcessOperations * reorder proto fields (#2902) * Slashing Penalty Calculation Change (#2889) * lint * change config val * add max helper * changes to slashing and process slashing, add a min function for integers * gaz * fix failing tests * fix test * fixed all tests * Change Yaml tag * lint * remove gc hack * fix test * gaz * preston's comments * change failing field * fix and regen proto * lint * Implement Compact Committee Root (#2897) * add tags * add function * add new code * add function * add all new changes * lint * add tests * fix tests * fix more tests * fix all outstanding tests * gaz * Update beacon-chain/core/helpers/committee.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * comment * Remove deprecated fields from attestation data (#2892) * fix broken tests * remove comment * fixes * Update Deposit Contract (#2903) * update to new contract * fix references * fix tests * fix some more tests * fix local deposit trie * gaz * shays review * more changes * update WORKSPACE to use 0.8 spec tests * Perform Mutesting in Helpers Package (#2912) * Perform mutesting on validator * Mutesting in helpers package * Mutested eth1data * s/volundary/voluntary (#2914) * Update BLS Domain (#2916) * change from integer to byte slice * add test * fix func for bytes4 * Fix Spec tests (#2907) * fix panics * handle failed transitions * remove log * fix to protos * new changes * remove i * change ssz commit * new changes * update epoch tests * fix epoch testing * fix shuffle tests * fix test * Perform Mutesting in Epoch and State Packages (#2913) * done with updates (#2890) * Add Max Size Tag for Protobuf Fields (#2908) * No more space between ssz-size numbers * Regen pb.go * Fixed a few incorrect proto fields (#2926) * Update Validator Workflow (#2906) * Justification spec tests (#2896) * update go-ssz * Fix SSZ Compatibility Test (#2924) * figuring out how to seqeeze in multiple fields in a tag for pb * Added max tags and regenerated pb.go * updated to new standard * New bitfield types in proto (#2915) * Cast bytes to correct bitfield, failing tests now though * Add forked gogo/protobuf until https://github.com/gogo/protobuf/pull/582 * remove newline * use proper override for gogo-protobuf * fix a few tags * forgot to include custody bits and Slashable not used * Update yaml struct to use pb * Update workspace to use latest ssz * All tests fail * Use the latest go-ssz commit * All pass except for state (too long to taste) * Update test.proto * Added rest of the tests * use 1 justification bits * fix tag test, apply @rauljordan's suggestion * add IsEmpty and use ssz struct * delete unused file * Update zero hash to sha256().digest() (#2932) * update zero hash * change zero hash to conform with spec * goimports * add test for zero hash * Revert "Update zero hash to sha256().digest() (#2932)" (#2933) This reverts commit b926ae0667b18aef3f7e0e8ec8a9b3e98b3d2ccc. * Fix compress validator (#2936) * fix compress validator * update go-ssz * build without the bytes test * try minimal * Block operations spec tests (#2828) * update PrevEpoch * debugging proposer slashing tests * fmt * add deposit tests * Added skeleton for attestation minimal test * remove bazel runfiles thing * add deposits * proposer slashing test is done * comment * complete test, some failing cases * sig verify on * refactor slightly to support mainnet and minimal * included mainnet stuff * Add block header tests * volunary exit done * transfer done * new changes * fix all tests * update domain functions * fmt * fixed lint * fixed all the tests * fixed a transfer bug * finished attester slashing tests and fixed a few bugs * started fixing... * cleaned up exit and proposr slashing tests * attester slashing passing * refactored deposit tests * remove yamls, update ssz * Added todo for invalid sig * gazelle * deposits test done! * transfer tests done and pass! * fix attesting indices bug * temporarily disabled signature verification * cleaned up most of the block ops, except for att * update committee AttestingIndices * oops, i dont know how or why i changed this file * fixed all the rpc tests * 6 more failing packages * test max transfer in state package * replace hashproto with treehash in package blockchain * gazelle * fix test * fix test again * fixed transition test, 2 more left * expect an error in attestation tests * Handle panic when no votes in aggregate attestation * clear cache * Add differ, add logging, tests pass yay * remove todo, add tag * fixed TestReceiveBlock_RemovesPendingDeposits * TestAttestationMinimal/success_since_max_epochs_per_crosslink fails now... * handle panics * Transfer tests were disabled in https://github.com/ethereum/eth2.0-specs/pull/1238 * more fixes after merge, updating block_operations.yaml.go to match yaml * figuring out how to seqeeze in multiple fields in a tag for pb * Added max tags and regenerated pb.go * updated to new standard * New bitfield types in proto (#2915) * Cast bytes to correct bitfield, failing tests now though * Add forked gogo/protobuf until https://github.com/gogo/protobuf/pull/582 * remove newline * fix references and test panic * change to proto objects from custom types * fix panics in tests * use proper override for gogo-protobuf * fix a few tags * fix tests * forgot to include custody bits and Slashable not used * fix tests * sort again * Update yaml struct to use pb * Update workspace to use latest ssz * All tests fail * Use the latest go-ssz commit * All pass except for state (too long to taste) * Update test.proto * Added rest of the tests * use 1 justification bits * minor fixes * wrong proto.Equal * fix tag test, apply @rauljordan's suggestion * add IsEmpty and use ssz struct * inverted logic * update zero hash * change zero hash to conform with spec * goimports * add test for zero hash * Revert "Update zero hash to sha256().digest() (#2932)" This reverts commit b926ae0667b18aef3f7e0e8ec8a9b3e98b3d2ccc. * update ssz, fix import, shard big test * checkpoint * fix compress validator * update go-ssz * missing import * missing import * tests now pass * been a good day * update test size * fix lint * imports and remove unused const * update bazel jobs flag * update bazel jobs flag * satisfy deprecation warning * Add ssz regression tests for investigation of test failures in PR #2828 (#2935) * Adding regression tests for investigation * add another example * goimports * add quick comment about test case 0 * Epoch Process Slashings Spec Tests (#2930) * updated justification bits, tests passing OK * regen pb.go, clarify bit operations * justification and finalization tests; failing * Add wrapper, so we call the correct method * checkpoint * Update tar ref * TestSlashingsMinimal/small_penalty still failing * Use bigint instead of () and float * Revert a bad merge from workspace * Fmt * add note about https://github.com/ethereum/eth2.0-specs/issues/1284 * improve tests * gaz * Perform Mutesting In core/state Package (#2923) * Perform mutesting on validator * Mutesting in helpers package * Mutested eth1data * Perform mutesting in epoch and state packages * Fix voluntary exits test * Fix typo * Fix comments * Fix formatting * Fix error message * Handle missing errors * Handle all errors * Perform Mutesting In State Package * Fix block roots size * Remove comment * Fix error * add backend service * Add ssz compatibility tests for signing root (#2931) * Added tests for signing root * imports * fix lint on travis * fix bes flag * Final updates spec tests (#2901) * set up tests * need to reorder pbs * figuring out how to seqeeze in multiple fields in a tag for pb * Added max tags and regenerated pb.go * updated to new standard * New bitfield types in proto (#2915) * Cast bytes to correct bitfield, failing tests now though * Add forked gogo/protobuf until https://github.com/gogo/protobuf/pull/582 * remove newline * use proper override for gogo-protobuf * fix a few tags * forgot to include custody bits and Slashable not used * playing with tags idea, can revert this commit later * fixes after merge * reset caches before test * all epoch tests pass * gazelle * Genesis trigger (#2905) * genesis change * integrate changes * bodyroot * remove unused code * HasChainStarted * added isValidGenesisState to ProcessLog * state fix * fix gazelle * uint64 timestamp * SetupInitialDeposits adds proof * remove unneeded parts of test * deposithash * merkleproof from spec utils * Revert "merkleproof from spec utils" This reverts commit 1b0a124352e7b62e3c3220fb0d64e295b474b430. * fix test failures * chain started and hashtree root in tests * simple eth2genesistime * eth2 genesis time * fix zero time * add comment * remove eth1data and feedback * fix build issues * main changes: add fields and methods to track active validator count * gaz * fix test * fix more tests * improve test utils * shift spec method to state package, improve test setup * fixed log processing tests * remove log * gaz * fix invalid metric * use better tag names, not latest * Remove Block Signing Root (#2945) * replace with hash tree root * Revert "replace with hash tree root" This reverts commit 77d8f16a160e42f3c3d598df66c30a66657de1bf. * replace with signing root instead * remove one more ref * Create Test Runner for Genesis State Spec Tests (#2940) * genesis change * integrate changes * bodyroot * remove unused code * HasChainStarted * added isValidGenesisState to ProcessLog * state fix * fix gazelle * uint64 timestamp * SetupInitialDeposits adds proof * remove unneeded parts of test * deposithash * merkleproof from spec utils * Revert "merkleproof from spec utils" This reverts commit 1b0a124352e7b62e3c3220fb0d64e295b474b430. * fix test failures * chain started and hashtree root in tests * simple eth2genesistime * eth2 genesis time * fix zero time * add comment * remove eth1data and feedback * fix build issues * main changes: add fields and methods to track active validator count * gaz * fix test * fix more tests * improve test utils * Start genesis spec tests * shift spec method to state package, improve test setup * Add Genesis validity spec test * Bazel * fixed log processing tests * remove log * gaz * fix invalid metric * use json tags * fix up latest changes * Fix most of test errors * Attempts to see whats wrong with genesis validity * Fix merge * skip minimal * fix state test * new commit * fix nishant comment * gaz * Static check on branch spec-v0.6 (#2946) * Ran staticcheck and fixed the important complains * commit * commit * Create Test Runner for Genesis State Spec Tests (#2940) * genesis change * integrate changes * bodyroot * remove unused code * HasChainStarted * added isValidGenesisState to ProcessLog * state fix * fix gazelle * uint64 timestamp * SetupInitialDeposits adds proof * remove unneeded parts of test * deposithash * merkleproof from spec utils * Revert "merkleproof from spec utils" This reverts commit 1b0a124352e7b62e3c3220fb0d64e295b474b430. * fix test failures * chain started and hashtree root in tests * simple eth2genesistime * eth2 genesis time * fix zero time * add comment * remove eth1data and feedback * fix build issues * main changes: add fields and methods to track active validator count * gaz * fix test * fix more tests * improve test utils * Start genesis spec tests * shift spec method to state package, improve test setup * Add Genesis validity spec test * Bazel * fixed log processing tests * remove log * gaz * fix invalid metric * use json tags * fix up latest changes * Fix most of test errors * Attempts to see whats wrong with genesis validity * Fix merge * skip minimal * fix state test * new commit * fix nishant comment * gaz * Add Back Eth1Data After Bad Merge (#2953) * eth1data rpc endpoint * first version * comment added * gazelle fix * new function to go once over the deposit array * fix tests * export DepositContainer * terence feedback * move structure decleration * binary search * fix block into Block * preston feedback * keep slice sorted to remove overhead in retrival * merge changes * feedback * update to the latest go-ssz * revert change * chnages to fit new ssz * revert merge reversion * go fmt goimprts duplicate string * exception for lint unused doesParentExist * feedback changes * latesteth1data to eth1data * goimports and stop exposing Eth1Data * revert unneeded change * remove exposure of DepositContainer * feedback and fixes * fix workspace duplicate dependancy * greatest number of deposits at current height * add count votes function * change method name * revert back to latesteth1data * latesteth1data * preston feedback * seperate function add tests fix bug * stop exposing voteCountMap * eth1data comment fix * preston feedback * fix tests * new proto files * workspace to default version of ssz * new ssz * chnage test size * marshalled marshaled * everything passing again * add skip reason * cleanup deposit contract slightly * remove unused chainstart param (#2957) * fix breakages from #2957 (#2958) * fix breakages from #2957 * oops * Fix deposit input data (#2956) * fix deposit input data * fix deposit input data * gaz and build fix * Add Tests for Genesis Deposits Caching (#2952) * remove old method and replace with an improved one * add new files * gaz * add test * added all these tests * gaz * Apply suggestions from code review Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * fix merkle proof error * fix config * Minor fixes for runtime (#2960) * Minor fixes for runtime * use comments * goimports * revert beacon-chain/core/state/state.go and fix comment for lint * fix test too * Minor runtime fixes (#2961) * Add support for bundling binaries and fix ARM64 builds (#2970) * Add support for bundling binaries and fix ARM64 builds * Fix exports * ignore manual targets wrt vis check * fix graknlabs * update spec tests (#2979) * hotfix until https://github.com/graknlabs/bazel-distribution/pull/169 * Overflow slashing calculation fix (#2977) * Runtime Fixes (#2736) * first batch of fixes * add log * more fixes * another bug fixed * update deposit contract and other fixes * remove logs * new changes * fixes * fix build * remove config * more fixes * add more changes * add back todo * make compute state root work * remove commented out and fix condition * fix commented code * fix config * gaz * remove flag * remove init * new fixes * fix test * one more fix * fix all tests * change back config * fix one more bug * remove logging bool * Only build test targets when running bazel test //... * Align prysm to spec v0.8.1 (#2978) * Bazel problem * Update zero hash representation to be clear (cosmetic) * Update minor cosmetic fixes * Fixed lookahead off by 1 * Update randao.go * update ssz * test failures fixed * test fixes * fix up workspace * lint * fixed errs * Updated pubkey loggings (#2983) * Fix proposer assignment (#2984) * add jvm limits * add jvm limits * Removed logging from state transition functions (#2980) * Match spec on proposer index division (#2985) * Match spec on proposer index division * gaz * fixes * Fix Default Eth1Data (#2982) * fix bug * Update beacon-chain/core/state/transition.go Co-Authored-By: Raul Jordan <raul@prysmaticlabs.com> * more fixes * reg test * Set ejection balance to 1.6 (#2987) * improve block processing log (#2990) * Fix HistoricalRootsLimit (#2989) * fix historical lenght * fix genesis state initialization and test * fix genesis state initialization and test * fix genesis state initialization and test * fix genesis state initialization and test * hack config until https://github.com/prysmaticlabs/prysm/issues/2993 * More Runtime Fixes (#2986) * local changes * add val sig * attester fix * one more fix * fixed all tests * rem validator issue * fix finality issue (#2994) * Fix validator prev balance calculation (#2992) * attester fix * one more fix * fixed all tests * Fix validator prev balances calculation * go fmt * 48 bytes * Fix Querier to handle Deposit Logs Race (#2999) * fix sync issue * fix build * add regression test * add var for magic number * Fix eth1data and deposits (#2996) * Work in progress, eth1data works, deposits are included at the appropriate time, and activation happens at the correct time * revert blockInfo being public * git tests to build, not yet pass though * add tests * some commentary * fix comment * goimports * fmt and remove unused method * Update rules go (#2975) * update rules_go * Fix some cross compile builds stuff * add missing deps * update to 0.19.1 * Update Protobufs to Match Ethereum APIs (#2998) * add beacon block and attestation files * add all types * include all new proto type definitions * add add all proto definitions * fix all comments to say 48 bytes * include latest changes * readd common * no swag * add build file * deps issue * right package names * address feedback, maintain parity between upstream ethereumapis * delete pb * bad gens * Update "Testing Prysm" readme section (#3000) Resolves invalid url link to golangci-lint. * Update badge to version 0.8.1 * elaborate on test skip * revert shared/p2p/options.go * make travis happy with goimports * Update beacon-chain/core/blocks/block.go Co-Authored-By: Preston Van Loon <preston@prysmaticlabs.com>
2019-07-20 00:16:10 +00:00
func (_DepositContract *DepositContractSession) GetDepositCount() ([]byte, error) {
return _DepositContract.Contract.GetDepositCount(&_DepositContract.CallOpts)
}
Spec freeze updates (#2312) * Optimize Shuffled Indices Cache (#2728) * Refactor Deposit Contract Test Setup (#2731) * add new package * fix all tests * lint * change hash function (#2732) * Remove Deprecated Validator Protobuf (#2727) * Remove deprecated validator protos * Fix to comments * Fix most of skipped tests (#2735) * Cache Active Validator Indices, Count, and Balances (#2737) * Optimize Base Reward Calculation (#2753) * benchmark process epoch * revert prof.out * Add some optimizations * beware where we use ActiveValidatorIndices... * revert extra file * gaz * quick commit to get feedback * revert extra file * started fixing tests * fixed broken TestProcessCrosslink_NoUpdate * gaz * cache randao seed * fixed all the tests * fmt and lint * spacing * Added todo * lint * revert binary file * started regression test * basic tests done * using a fifo for active indices cache * using a fifo for active count cache * using a fifo for total balance cache * using a fifo for active balance cache * using a fifo for start shard cache * using a fifo for seed cache * gaz * clean up * fixing tests * fixed all the core tests * fixed all the tests!!! * lint * comment * rm'ed commented code * cache size to 1000 should be good enough * optimized base reward * revert binary file * Added comments to calculate adjusted quotient outside * removed deprecated configs (#2755) * Optimize Process Eth1 Data Vote (#2754) * Cleanup and Docs update (#2756) * Add graffiti and update generate seed (#2759) * Benchmark Process Block with Attestations (#2758) * Tidying up Godoc for Core Package (#2762) * Clean up Old RPC Endpoints (#2763) * Update RPC end point for Proposer (#2767) * add RequestBlock * run mockgen * implemented RequestBlock * updated proto definitions * updated tests * updated validator attest tests * done * comment * todo issue * removed unused proto * Update attesting indices v0.6 (#2449) * sort participants slice * add bitfield functions and tests * added BitfieldBit test * add AttestationParticipantsNew * revert AttestationParticipants to its previous change * add tests * remove verifybitfieldnew * fix tests and remove multiple tests * remove duplicate test * change magic number into ceildiv8 * Implement Justification and finalization Processing (#2448) * Add convert to indexed (#2519) * sort participants slice * add bitfield functions and tests * added BitfieldBit test * add AttestationParticipantsNew * revert AttestationParticipants to its previous change * add tests * remove verifybitfieldnew * fix tests and remove multiple tests * remove duplicate test * start work * convert attestation to indexed attestations * fix test for convert index * remove calling getter * add more tests * remove underscore * changes name to signature (#2535) * update registry updates func (#2521) * update registry updates func * added tests and moved to epoch processing * fixed naming issues * Update Committee Helpers to v0.6.0 (#2398) * Update Committee Helper Part 2 (#2592) * Implement Process Slashings for 0.6 (#2523) * Update Proposer/Attester Slashings and Slashing Helpers (#2603) * Implement Final Updates 0.6 (#2562) * ValidatorStatus Estimating Activation RPC Server (#2469) * fix spacing * working on position in queue * fmt * spacing * feedback * tests * rename * Only Perform Initial Sync With a Single Peer (#2471) * fix spacing * use send instead of broadcast in initial sync * 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> * SSZ web api for decoding input data (#2473) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * standardize slot numbers (#2475) * Add CORS for ssz api (#2476) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * needed CORS * 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 * Update Prysm README (#2477) * README updated * readme updates * no err throw (#2479) * Fix Status Nil Pointer Error (#2480) * no err throw * nil errors * 3.175 (#2482) * Better Error Message if Failing to Exit Initial Sync (#2483) * no err throw * nil errors * better error on init sync * Only Log Active Balances (#2485) * only log active balance * dont need () * change logging (#2487) * fix chainstart waiting on rpc server (#2488) * shift ticker to after activation (#2489) * Add drain script (#2418) * Add drain script * Fix script to drain contracts from newest to oldest * Add README * remove comments * Only after block 400k, look up by deposit event * issue warn log on disconnecting peer instead of error (#2491) * Display Only Active Validator Data (#2490) * Fix Validator Status Field in RPC Server (#2492) * fix status of key * status test fix * fmt * 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 * add production config for testnet release (#2493) * Lookup Validator Index in State in Status Check (#2494) * state lookup * refactor duplicate code * refactor with mapping * fix broken tests * finish refactor * merged master * updated EpochCommitteeCount and fixed tests * implemented ShardDelta * test for ShardDelta * implemented EpochStartShard * added epoch out of bound test * test for accurate start shard * lint * implemented process_final_updates * move to the top of the file * add comment back * gaz * Test for process final updates * fixed tests * fixed all the tests * Update Reward Helper v0.6 (#2470) * added BaseReward * added rewards helper * added test for BaseReward * extra space * move exported function above * update to new spec (#2614) * Update Block Processing Voluntary Exits (#2609) * Update processEth1Data for v0.6 (#2516) * Clean up Helper Functions Part 1 (#2612) * Finalize helper functions for 0.6 (#2632) * Process Beacon Chain Transfers v0.6 (#2642) * add transfers * beacon transfer operations complete * full cov * transfer testing * finished tests * Update beacon-chain/core/blocks/block_operations_test.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * Update beacon-chain/core/blocks/block_operations.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * Implement Process Crosslink From 0.6 (#2460) * Process Block Eth1 Data v0.6 (#2645) * Get attestation data slot v0.6 (#2593) * attestation.go is ready, tests not * ready for review * fixing linter issues * modified Crosslink and AttestationData proto fields to spec 2.0,marked deprecated fields * gazelle * fixed tests * fixed error * error msg * Process Block Deposits v0.6 (#2647) * imports fixes * deposits tests pass * wrapped up gazelle * spacing * Implement Crosslink Delta Rewards for 0.6 (#2517) * update process crosslink and update existing tests * added a test case to cover no crosslink changes * more test * preston's feedback * spellings * ValidatorStatus Estimating Activation RPC Server (#2469) * fix spacing * working on position in queue * fmt * spacing * feedback * tests * rename * Only Perform Initial Sync With a Single Peer (#2471) * fix spacing * use send instead of broadcast in initial sync * 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> * SSZ web api for decoding input data (#2473) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * standardize slot numbers (#2475) * Add CORS for ssz api (#2476) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * needed CORS * 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 * Update Prysm README (#2477) * README updated * readme updates * no err throw (#2479) * Fix Status Nil Pointer Error (#2480) * no err throw * nil errors * 3.175 (#2482) * Better Error Message if Failing to Exit Initial Sync (#2483) * no err throw * nil errors * better error on init sync * Only Log Active Balances (#2485) * only log active balance * dont need () * change logging (#2487) * fix chainstart waiting on rpc server (#2488) * shift ticker to after activation (#2489) * Add drain script (#2418) * Add drain script * Fix script to drain contracts from newest to oldest * Add README * remove comments * Only after block 400k, look up by deposit event * issue warn log on disconnecting peer instead of error (#2491) * Display Only Active Validator Data (#2490) * Fix Validator Status Field in RPC Server (#2492) * fix status of key * status test fix * fmt * 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 * add production config for testnet release (#2493) * Lookup Validator Index in State in Status Check (#2494) * state lookup * refactor duplicate code * refactor with mapping * fix broken tests * finish refactor * merged master * Starting, I need get_epoch_start_shard * updated EpochCommitteeCount and fixed tests * implemented ShardDelta * test for ShardDelta * implemented EpochStartShard * added epoch out of bound test * test for accurate start shard * lint * need to use changes from latest crosslinks * added BaseReward and totalActiveBalance * added test for base reward * merged master * all tests passing * start testing * done * add ProcessBlockHeader v0.6 (#2534) * add ProcessBlockHeader * function has all its dependancies in place * arange the basic ok test * gazzele and skip test update * skip wrong sig test * fmt imports and change requests * goimports fmt * map for struct fields to be location independent * reorder protobuf fields * added tests * gazzle fix * few change requests fixes * revert changes in types.proto * revert changes in types * fix tests * fix lint * fmt imports * fix gazelle * fix var naming * pb update * var naming * tarance change request fixes * fix test * Add Process Registry for Epoch Processing (#2668) * update update-process-registry * added back the old tests * fmt * gaz * Follow up on process block header v0.6 (#2666) * Putting Crosslink Delta Back (#2654) * update process crosslink and update existing tests * added a test case to cover no crosslink changes * more test * preston's feedback * spellings * ValidatorStatus Estimating Activation RPC Server (#2469) * fix spacing * working on position in queue * fmt * spacing * feedback * tests * rename * Only Perform Initial Sync With a Single Peer (#2471) * fix spacing * use send instead of broadcast in initial sync * 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> * SSZ web api for decoding input data (#2473) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * standardize slot numbers (#2475) * Add CORS for ssz api (#2476) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * needed CORS * 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 * Update Prysm README (#2477) * README updated * readme updates * no err throw (#2479) * Fix Status Nil Pointer Error (#2480) * no err throw * nil errors * 3.175 (#2482) * Better Error Message if Failing to Exit Initial Sync (#2483) * no err throw * nil errors * better error on init sync * Only Log Active Balances (#2485) * only log active balance * dont need () * change logging (#2487) * fix chainstart waiting on rpc server (#2488) * shift ticker to after activation (#2489) * Add drain script (#2418) * Add drain script * Fix script to drain contracts from newest to oldest * Add README * remove comments * Only after block 400k, look up by deposit event * issue warn log on disconnecting peer instead of error (#2491) * Display Only Active Validator Data (#2490) * Fix Validator Status Field in RPC Server (#2492) * fix status of key * status test fix * fmt * 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 * add production config for testnet release (#2493) * Lookup Validator Index in State in Status Check (#2494) * state lookup * refactor duplicate code * refactor with mapping * fix broken tests * finish refactor * merged master * Starting, I need get_epoch_start_shard * updated EpochCommitteeCount and fixed tests * implemented ShardDelta * test for ShardDelta * implemented EpochStartShard * added epoch out of bound test * test for accurate start shard * lint * need to use changes from latest crosslinks * added BaseReward and totalActiveBalance * added test for base reward * merged master * all tests passing * start testing * done * fixed tests * addressed shay's feedback * Implement Attestation Delta for v0.6 (#2646) * update process crosslink and update existing tests * added a test case to cover no crosslink changes * more test * preston's feedback * spellings * ValidatorStatus Estimating Activation RPC Server (#2469) * fix spacing * working on position in queue * fmt * spacing * feedback * tests * rename * Only Perform Initial Sync With a Single Peer (#2471) * fix spacing * use send instead of broadcast in initial sync * 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> * SSZ web api for decoding input data (#2473) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * standardize slot numbers (#2475) * Add CORS for ssz api (#2476) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * needed CORS * 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 * Update Prysm README (#2477) * README updated * readme updates * no err throw (#2479) * Fix Status Nil Pointer Error (#2480) * no err throw * nil errors * 3.175 (#2482) * Better Error Message if Failing to Exit Initial Sync (#2483) * no err throw * nil errors * better error on init sync * Only Log Active Balances (#2485) * only log active balance * dont need () * change logging (#2487) * fix chainstart waiting on rpc server (#2488) * shift ticker to after activation (#2489) * Add drain script (#2418) * Add drain script * Fix script to drain contracts from newest to oldest * Add README * remove comments * Only after block 400k, look up by deposit event * issue warn log on disconnecting peer instead of error (#2491) * Display Only Active Validator Data (#2490) * Fix Validator Status Field in RPC Server (#2492) * fix status of key * status test fix * fmt * 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 * add production config for testnet release (#2493) * Lookup Validator Index in State in Status Check (#2494) * state lookup * refactor duplicate code * refactor with mapping * fix broken tests * finish refactor * merged master * Starting, I need get_epoch_start_shard * updated EpochCommitteeCount and fixed tests * implemented ShardDelta * test for ShardDelta * implemented EpochStartShard * added epoch out of bound test * test for accurate start shard * lint * need to use changes from latest crosslinks * added BaseReward and totalActiveBalance * added test for base reward * implemented process_attestation_delta * comments * comments * merged master * all tests passing * start testing * done * merged master * fixed tests * tests, more to come * tests done * lint * spaces over tabs * addressed shay's feedback * merged master * Implement process_rewards_and_penalties for 0.6 (#2665) * update process crosslink and update existing tests * added a test case to cover no crosslink changes * more test * preston's feedback * spellings * ValidatorStatus Estimating Activation RPC Server (#2469) * fix spacing * working on position in queue * fmt * spacing * feedback * tests * rename * Only Perform Initial Sync With a Single Peer (#2471) * fix spacing * use send instead of broadcast in initial sync * 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> * SSZ web api for decoding input data (#2473) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * standardize slot numbers (#2475) * Add CORS for ssz api (#2476) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * needed CORS * 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 * Update Prysm README (#2477) * README updated * readme updates * no err throw (#2479) * Fix Status Nil Pointer Error (#2480) * no err throw * nil errors * 3.175 (#2482) * Better Error Message if Failing to Exit Initial Sync (#2483) * no err throw * nil errors * better error on init sync * Only Log Active Balances (#2485) * only log active balance * dont need () * change logging (#2487) * fix chainstart waiting on rpc server (#2488) * shift ticker to after activation (#2489) * Add drain script (#2418) * Add drain script * Fix script to drain contracts from newest to oldest * Add README * remove comments * Only after block 400k, look up by deposit event * issue warn log on disconnecting peer instead of error (#2491) * Display Only Active Validator Data (#2490) * Fix Validator Status Field in RPC Server (#2492) * fix status of key * status test fix * fmt * 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 * add production config for testnet release (#2493) * Lookup Validator Index in State in Status Check (#2494) * state lookup * refactor duplicate code * refactor with mapping * fix broken tests * finish refactor * merged master * Starting, I need get_epoch_start_shard * updated EpochCommitteeCount and fixed tests * implemented ShardDelta * test for ShardDelta * implemented EpochStartShard * added epoch out of bound test * test for accurate start shard * lint * need to use changes from latest crosslinks * added BaseReward and totalActiveBalance * added test for base reward * implemented process_attestation_delta * comments * comments * merged master * all tests passing * start testing * done * merged master * fixed tests * tests, more to come * tests done * lint * spaces over tabs * addressed shay's feedback * starting but need to merge a few things... * tests * fmt * Update Slot Processing and State Transition v0.6 (#2664) * edit state transition to add slot processing logic, reorder logic * fix build * lint * tests passing * spacing * tests pass * imports * passing tests * Implement Process Epoch for 0.6 (#2675) * can't find process j f functons * implemented process_epoch * tests done * lint * nishant's feedback * stupid goland replace * goimports * Update CommitteeAssignment (#2693) * cleaned up skipped tests for core processing (#2697) * Process Block Attestations v0.6 (#2650) * attestation.go is ready, tests not * ready for review * fixing linter issues * modified Crosslink and AttestationData proto fields to spec 2.0,marked deprecated fields * gazelle * fixed tests * fixed error * add att processing: * process atts * error msg * finish process attestations logic * spacing * ssz move * inclusion delay failure passing * more attestation tests * more att tests passing * more tests * ffg data mismatching test * ffg tests complete * gofmt * fix testing to match attestation updates * ssz * lint * Fixed Skipped Tests for RPC Server (#2712) * Remove Obsolete Deposit Proto Objects (#2673) * remove deposit data * remove deposit input * fix references * remove deposit helpers * fix all refs * gaz * rgene proto * fix all tests * remove deposit data deprecated field * fix remaining references * fix all tests * fix lint * regen proto * fix test * Remove Deprecated Protobuf State Fields (#2713) * Remove Deprecated Protobuf Crosslink/Slashing/Block Fields (#2714) * Remove Deprecated Beacon Block Proto Fields (#2717) * Remove Deprecated Attestation Proto Fields (#2723) * Cache Shuffled Validator Indices (#2682) * YAML shuffle tests for v0.6 (#2667) * new shuffle tests * added comment for exported function * fix format and print * added config files handling * gazelle fix * shuffle test debugging * added shuffle list and benchmark * hash function addition from nishant code * gazelle fix * remove unused function * few minor changes * add test to test protos optimization * test a bigger list * remove commented code * small changes * fix spec test and test indices to pass * remove empty line * abstraction of repeated code and comment arrangement * terence change requests * fix new test * add small comment for better readability * change from unshuflle to shuffle * comment * better comment * fix all tests * Remove Latest Block (#2721) * lint * remove latest block * lint * add proto * fix build * Fix Deposit Trie (#2686) * remove deposit data * remove deposit input * fix references * remove deposit helpers * fix all refs * gaz * rgene proto * fix all tests * remove deposit data deprecated field * fix remaining references * fix all tests * fix lint * new tests with contract * gaz * more tests * fixed bugs * new test * finally fixed it * gaz * fix test * Remove Committee Cache (#2729) * Benchmark Compute Committee (#2698) * Fixed Skipped Attestation Tests (#2730) * Optimize Shuffled Indices Cache (#2728) * Refactor Deposit Contract Test Setup (#2731) * add new package * fix all tests * lint * change hash function (#2732) * Remove Deprecated Validator Protobuf (#2727) * Remove deprecated validator protos * Fix to comments * Fix most of skipped tests (#2735) * Optimize Base Reward Calculation (#2753) * benchmark process epoch * revert prof.out * Add some optimizations * beware where we use ActiveValidatorIndices... * revert extra file * gaz * quick commit to get feedback * revert extra file * started fixing tests * fixed broken TestProcessCrosslink_NoUpdate * gaz * cache randao seed * fixed all the tests * fmt and lint * spacing * Added todo * lint * revert binary file * started regression test * basic tests done * using a fifo for active indices cache * using a fifo for active count cache * using a fifo for total balance cache * using a fifo for active balance cache * using a fifo for start shard cache * using a fifo for seed cache * gaz * clean up * fixing tests * fixed all the core tests * fixed all the tests!!! * lint * comment * rm'ed commented code * cache size to 1000 should be good enough * optimized base reward * revert binary file * Added comments to calculate adjusted quotient outside * removed deprecated configs (#2755) * Optimize Process Eth1 Data Vote (#2754) * Cleanup and Docs update (#2756) * Add graffiti and update generate seed (#2759) * Benchmark Process Block with Attestations (#2758) * Tidying up Godoc for Core Package (#2762) * Clean up Old RPC Endpoints (#2763) * Update RPC end point for Proposer (#2767) * add RequestBlock * run mockgen * implemented RequestBlock * updated proto definitions * updated tests * updated validator attest tests * done * comment * todo issue * removed unused proto * Cache Active Validator Indices, Count, and Balances (#2737) * Update Deposit Contract (#2648) * lint * add new contract * change version * remove log * generating abi and binary files * fix tests * update to current version * new changes * add new hash function * save hashed nodes * add more things * new method * add update to trie * new stuff * gaz * more stuff * finally fixed build * remove deposit data * Revert "remove deposit data" This reverts commit 9085409e91be0c94550af10290eaad72ad40a6de. * more changes * lint and gaz * lint * Update Shard Helpers for 0.6 (#2497) * ValidatorStatus Estimating Activation RPC Server (#2469) * fix spacing * working on position in queue * fmt * spacing * feedback * tests * rename * Only Perform Initial Sync With a Single Peer (#2471) * fix spacing * use send instead of broadcast in initial sync * 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> * SSZ web api for decoding input data (#2473) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * standardize slot numbers (#2475) * Add CORS for ssz api (#2476) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * needed CORS * 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 * Update Prysm README (#2477) * README updated * readme updates * no err throw (#2479) * Fix Status Nil Pointer Error (#2480) * no err throw * nil errors * 3.175 (#2482) * Better Error Message if Failing to Exit Initial Sync (#2483) * no err throw * nil errors * better error on init sync * Only Log Active Balances (#2485) * only log active balance * dont need () * change logging (#2487) * fix chainstart waiting on rpc server (#2488) * shift ticker to after activation (#2489) * Add drain script (#2418) * Add drain script * Fix script to drain contracts from newest to oldest * Add README * remove comments * Only after block 400k, look up by deposit event * issue warn log on disconnecting peer instead of error (#2491) * Display Only Active Validator Data (#2490) * Fix Validator Status Field in RPC Server (#2492) * fix status of key * status test fix * fmt * 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 * add production config for testnet release (#2493) * Lookup Validator Index in State in Status Check (#2494) * state lookup * refactor duplicate code * refactor with mapping * fix broken tests * finish refactor * merged master * updated EpochCommitteeCount and fixed tests * implemented ShardDelta * test for ShardDelta * implemented EpochStartShard * added epoch out of bound test * test for accurate start shard * lint * Update Genesis State Function to v0.6 (#2465) * add pseudocode * make changes * fix all tests * fix tests * lint * regen protos and mocks * regenerated protos * started fixing core * all core tests passing! * removed shared/forkutils * started fixing blockchain package * lint * updating rpc package * add back deleted stuff * add back deleted stuff that was deleted accidentally * add back protos and mocks * fix errors * fix genesis issue * fix genesis issue for slot ticker * fix all genesis errors * fix build files * temp change for go-ssz * fix test * Revert "temp change for go-ssz" This reverts commit 3411cb9d6d519cb521181486debc3b21603c8873. * update to latest go-ssz * unstaged changes * Update Attester Server RPC Calls (#2773) * Update config and function parameters to v0.7 (#2791) * Minor Updates to 0.7 (#2795) * Refactor Deposit Flow and Cleanup Tests (#2788) * More WIP on cleaning deposit flow * Fix tests * Cleanup and imports * run gazelle * Move deposit to block_operations * gazelle * Update beacon-chain/core/blocks/block_operations.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * Fix docs * Remove unneeded calculations * Fix tests * Fix tests finally (?) * Optimize Committee Assignment RPC (#2787) * Update BlockRoot to BlockHash (#2816) * Fix Final Missing Items in Block Processing v0.6 (#2710) * override config successfully * passes processing * add signing root helper * blockchain tests pass * tests blocked by signing root * lint * fix references * fix protos * proper use of signing root * only few failing tests now * fix final test * tests passing * lint and imports * rem unused * Update beacon-chain/core/blocks/block_operations.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * lint * Update beacon-chain/attestation/service_test.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * Update beacon-chain/db/block_test.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * rename to hash tree root * rename decode to unmarshal * fix * use latest ssz * all tests passing * lint * fmt * Add Config YAML for Spec Tests (#2818) * Align Protobuf Type Names (#2825) * gofmt * Revert "Align Protobuf Type Names (#2825)" (#2827) This reverts commit 882d067144c674bbf4eeee00404acaa0a9b1fd33. * Update Domain Related Functions (#2832) * Add Functions for Compressed and Uncompressed HashG2 With Domain (#2833) * add tests * gaz * lint * Revert "Add Functions for Compressed and Uncompressed HashG2 With Domain (#2833)" (#2835) This reverts commit 7fb2ebf3f12f043d7bd12f43500dc2bd133df573. * Add ConvertToPb to package testutil (#2838) * Block Processing Bug Fixes (#2836) * Update types PB with Size Tags (#2840) * Epoch processing spec tests (#2814) * Remove Deposit Index (#2851) * Shuffle tests revisited (#2829) * first commit * remove old files, add log * remove duplicate yaml testing code * reduce visability * nishant feedback changes * skip TestFromYaml_Pass * added tags to bazel build * gazelle fix * remove unused vars * adda back config * remove config handling * remove unused var * gazelle fix * SSZ compatibility test for protobufs (#2839) * update workspace spec sha * remove yamls from branch * BLS spec tests (#2826) (#2856) * bls spec tests * add more bls tests * use ioutil instead of bazel runfiles * dont read bytes * skip tests that overflow uint64 * manually fix input data * add tests * lint and gaz * add all new changes * some refactoring, cleanup, remove new API methods that only exist for tests * gaz * Remove yamls, skip test * Slot processing spec test (#2813) * eth1data rpc endpoint (#2733) * eth1data rpc endpoint * first version * comment added * gazelle fix * new function to go once over the deposit array * fix tests * export DepositContainer * terence feedback * move structure decleration * binary search * fix block into Block * preston feedback * keep slice sorted to remove overhead in retrival * merge changes * feedback * update to the latest go-ssz * revert change * chnages to fit new ssz * revert merge reversion * go fmt goimprts duplicate string * exception for lint unused doesParentExist * feedback changes * latesteth1data to eth1data * goimports and stop exposing Eth1Data * revert unneeded change * remove exposure of DepositContainer * feedback and fixes * fix workspace duplicate dependancy * greatest number of deposits at current height * add count votes function * change method name * revert back to latesteth1data * latesteth1data * preston feedback * seperate function add tests fix bug * stop exposing voteCountMap * eth1data comment fix * preston feedback * fix tests * new proto files * workspace to default version of ssz * new ssz * chnage test size * marshalled marshaled * Attesting Indices Fix (#2862) * add change * fix one test * fix all tests * add test * clear cache * removed old chaintest, simulated backend and state generator (#2863) * Block Processing Sanity Spec Tests (#2817) * update PrevEpoch * add new changes * shift to blocks package * add more changes * new changes * updated pb with size tags * add new changes * fix errors * uncomment code * more changes * add new changes * rename and lint * gaz * more changes * proccess slot SigningRoot instead of HashTreeRoot * ensure yaml generated structs work * block sanity all passing * minimal and mainnet all pass * remove commented code * fix one test * fix all tests * fix again * no state comparison * matching spec * change target viz * comments gazelle * clear caches before test cases * latest attempts * clean up test format * remove debugging log, remove yaml * unskip attestation * remove skip, check post state, diff state diffs * handle err * add bug fixes * fixed one more bug * fixed churn limit bug * change hashProto to HashTreeRoot * all tests pass :) * fix all tests * gaz * add regression tests * fix test bug * Mutation testing fixes for beacon-chain/core/helpers/attestation.go (#2868) * mutation testing for attestation.go * new line * lint * revert fmt.Errorf deletion * gofmt * Add some fixes for mutation testing on blocks.go (#2869) * Fix sizes * gaz * Spec freeze release candidate spectests * Align Protobuf Type Names (#2872) * Removes some deprecated fields from protobuf (#2877) * search and replace checkpoints * fix tests, except spec tests * Update Configs for Freeze (#2876) * update configs * updated minimal configs * almost there * all tests passing except for spec tests * better comment for MinGenesisTime * done, ready for review * rm seconds per day * feedback * Mutation testing fixes for beacon-chain/core/helpers/committee.go (#2870) * Add some fixes for mutation testing on blocks.go * working on mutation testing fo committee.go * gofmt * goimports * update readme target * update latest sha for spec tests * fix build * Update State Transition Function (#2867) * Change Base Reward Factor (#2888) * Update Freeze Spec Simplification Section - part 1 (#2893) * finished changes to attesting_indices * removed index_count <= 2**40 requirement * lint * reverted index_count <= 2**40 check * added short cut len(a) > len(b) * Update justification bits (#2894) * updated all the helper pseudocodes (#2895) * Make Constants Explicit and Minor Cleanups (#2898) * Rename outdated configs, make constants explicitly delcared * Remove activate_validator, not needed * Remove GenesisSlot and GenesisEpoch * Remove unused import * Move Block Operation Length Checks to ProcessOperations (#2900) * Move block operation length checks to ProcessOperations * Write tests for each length check in ProcessOperations * Remove unneeded test * Move checks to a new function * Move duplicate check back into ProcessOperations * reorder proto fields (#2902) * Slashing Penalty Calculation Change (#2889) * lint * change config val * add max helper * changes to slashing and process slashing, add a min function for integers * gaz * fix failing tests * fix test * fixed all tests * Change Yaml tag * lint * remove gc hack * fix test * gaz * preston's comments * change failing field * fix and regen proto * lint * Implement Compact Committee Root (#2897) * add tags * add function * add new code * add function * add all new changes * lint * add tests * fix tests * fix more tests * fix all outstanding tests * gaz * Update beacon-chain/core/helpers/committee.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * comment * Remove deprecated fields from attestation data (#2892) * fix broken tests * remove comment * fixes * Update Deposit Contract (#2903) * update to new contract * fix references * fix tests * fix some more tests * fix local deposit trie * gaz * shays review * more changes * update WORKSPACE to use 0.8 spec tests * Perform Mutesting in Helpers Package (#2912) * Perform mutesting on validator * Mutesting in helpers package * Mutested eth1data * s/volundary/voluntary (#2914) * Update BLS Domain (#2916) * change from integer to byte slice * add test * fix func for bytes4 * Fix Spec tests (#2907) * fix panics * handle failed transitions * remove log * fix to protos * new changes * remove i * change ssz commit * new changes * update epoch tests * fix epoch testing * fix shuffle tests * fix test * Perform Mutesting in Epoch and State Packages (#2913) * done with updates (#2890) * Add Max Size Tag for Protobuf Fields (#2908) * No more space between ssz-size numbers * Regen pb.go * Fixed a few incorrect proto fields (#2926) * Update Validator Workflow (#2906) * Justification spec tests (#2896) * update go-ssz * Fix SSZ Compatibility Test (#2924) * figuring out how to seqeeze in multiple fields in a tag for pb * Added max tags and regenerated pb.go * updated to new standard * New bitfield types in proto (#2915) * Cast bytes to correct bitfield, failing tests now though * Add forked gogo/protobuf until https://github.com/gogo/protobuf/pull/582 * remove newline * use proper override for gogo-protobuf * fix a few tags * forgot to include custody bits and Slashable not used * Update yaml struct to use pb * Update workspace to use latest ssz * All tests fail * Use the latest go-ssz commit * All pass except for state (too long to taste) * Update test.proto * Added rest of the tests * use 1 justification bits * fix tag test, apply @rauljordan's suggestion * add IsEmpty and use ssz struct * delete unused file * Update zero hash to sha256().digest() (#2932) * update zero hash * change zero hash to conform with spec * goimports * add test for zero hash * Revert "Update zero hash to sha256().digest() (#2932)" (#2933) This reverts commit b926ae0667b18aef3f7e0e8ec8a9b3e98b3d2ccc. * Fix compress validator (#2936) * fix compress validator * update go-ssz * build without the bytes test * try minimal * Block operations spec tests (#2828) * update PrevEpoch * debugging proposer slashing tests * fmt * add deposit tests * Added skeleton for attestation minimal test * remove bazel runfiles thing * add deposits * proposer slashing test is done * comment * complete test, some failing cases * sig verify on * refactor slightly to support mainnet and minimal * included mainnet stuff * Add block header tests * volunary exit done * transfer done * new changes * fix all tests * update domain functions * fmt * fixed lint * fixed all the tests * fixed a transfer bug * finished attester slashing tests and fixed a few bugs * started fixing... * cleaned up exit and proposr slashing tests * attester slashing passing * refactored deposit tests * remove yamls, update ssz * Added todo for invalid sig * gazelle * deposits test done! * transfer tests done and pass! * fix attesting indices bug * temporarily disabled signature verification * cleaned up most of the block ops, except for att * update committee AttestingIndices * oops, i dont know how or why i changed this file * fixed all the rpc tests * 6 more failing packages * test max transfer in state package * replace hashproto with treehash in package blockchain * gazelle * fix test * fix test again * fixed transition test, 2 more left * expect an error in attestation tests * Handle panic when no votes in aggregate attestation * clear cache * Add differ, add logging, tests pass yay * remove todo, add tag * fixed TestReceiveBlock_RemovesPendingDeposits * TestAttestationMinimal/success_since_max_epochs_per_crosslink fails now... * handle panics * Transfer tests were disabled in https://github.com/ethereum/eth2.0-specs/pull/1238 * more fixes after merge, updating block_operations.yaml.go to match yaml * figuring out how to seqeeze in multiple fields in a tag for pb * Added max tags and regenerated pb.go * updated to new standard * New bitfield types in proto (#2915) * Cast bytes to correct bitfield, failing tests now though * Add forked gogo/protobuf until https://github.com/gogo/protobuf/pull/582 * remove newline * fix references and test panic * change to proto objects from custom types * fix panics in tests * use proper override for gogo-protobuf * fix a few tags * fix tests * forgot to include custody bits and Slashable not used * fix tests * sort again * Update yaml struct to use pb * Update workspace to use latest ssz * All tests fail * Use the latest go-ssz commit * All pass except for state (too long to taste) * Update test.proto * Added rest of the tests * use 1 justification bits * minor fixes * wrong proto.Equal * fix tag test, apply @rauljordan's suggestion * add IsEmpty and use ssz struct * inverted logic * update zero hash * change zero hash to conform with spec * goimports * add test for zero hash * Revert "Update zero hash to sha256().digest() (#2932)" This reverts commit b926ae0667b18aef3f7e0e8ec8a9b3e98b3d2ccc. * update ssz, fix import, shard big test * checkpoint * fix compress validator * update go-ssz * missing import * missing import * tests now pass * been a good day * update test size * fix lint * imports and remove unused const * update bazel jobs flag * update bazel jobs flag * satisfy deprecation warning * Add ssz regression tests for investigation of test failures in PR #2828 (#2935) * Adding regression tests for investigation * add another example * goimports * add quick comment about test case 0 * Epoch Process Slashings Spec Tests (#2930) * updated justification bits, tests passing OK * regen pb.go, clarify bit operations * justification and finalization tests; failing * Add wrapper, so we call the correct method * checkpoint * Update tar ref * TestSlashingsMinimal/small_penalty still failing * Use bigint instead of () and float * Revert a bad merge from workspace * Fmt * add note about https://github.com/ethereum/eth2.0-specs/issues/1284 * improve tests * gaz * Perform Mutesting In core/state Package (#2923) * Perform mutesting on validator * Mutesting in helpers package * Mutested eth1data * Perform mutesting in epoch and state packages * Fix voluntary exits test * Fix typo * Fix comments * Fix formatting * Fix error message * Handle missing errors * Handle all errors * Perform Mutesting In State Package * Fix block roots size * Remove comment * Fix error * add backend service * Add ssz compatibility tests for signing root (#2931) * Added tests for signing root * imports * fix lint on travis * fix bes flag * Final updates spec tests (#2901) * set up tests * need to reorder pbs * figuring out how to seqeeze in multiple fields in a tag for pb * Added max tags and regenerated pb.go * updated to new standard * New bitfield types in proto (#2915) * Cast bytes to correct bitfield, failing tests now though * Add forked gogo/protobuf until https://github.com/gogo/protobuf/pull/582 * remove newline * use proper override for gogo-protobuf * fix a few tags * forgot to include custody bits and Slashable not used * playing with tags idea, can revert this commit later * fixes after merge * reset caches before test * all epoch tests pass * gazelle * Genesis trigger (#2905) * genesis change * integrate changes * bodyroot * remove unused code * HasChainStarted * added isValidGenesisState to ProcessLog * state fix * fix gazelle * uint64 timestamp * SetupInitialDeposits adds proof * remove unneeded parts of test * deposithash * merkleproof from spec utils * Revert "merkleproof from spec utils" This reverts commit 1b0a124352e7b62e3c3220fb0d64e295b474b430. * fix test failures * chain started and hashtree root in tests * simple eth2genesistime * eth2 genesis time * fix zero time * add comment * remove eth1data and feedback * fix build issues * main changes: add fields and methods to track active validator count * gaz * fix test * fix more tests * improve test utils * shift spec method to state package, improve test setup * fixed log processing tests * remove log * gaz * fix invalid metric * use better tag names, not latest * Remove Block Signing Root (#2945) * replace with hash tree root * Revert "replace with hash tree root" This reverts commit 77d8f16a160e42f3c3d598df66c30a66657de1bf. * replace with signing root instead * remove one more ref * Create Test Runner for Genesis State Spec Tests (#2940) * genesis change * integrate changes * bodyroot * remove unused code * HasChainStarted * added isValidGenesisState to ProcessLog * state fix * fix gazelle * uint64 timestamp * SetupInitialDeposits adds proof * remove unneeded parts of test * deposithash * merkleproof from spec utils * Revert "merkleproof from spec utils" This reverts commit 1b0a124352e7b62e3c3220fb0d64e295b474b430. * fix test failures * chain started and hashtree root in tests * simple eth2genesistime * eth2 genesis time * fix zero time * add comment * remove eth1data and feedback * fix build issues * main changes: add fields and methods to track active validator count * gaz * fix test * fix more tests * improve test utils * Start genesis spec tests * shift spec method to state package, improve test setup * Add Genesis validity spec test * Bazel * fixed log processing tests * remove log * gaz * fix invalid metric * use json tags * fix up latest changes * Fix most of test errors * Attempts to see whats wrong with genesis validity * Fix merge * skip minimal * fix state test * new commit * fix nishant comment * gaz * Static check on branch spec-v0.6 (#2946) * Ran staticcheck and fixed the important complains * commit * commit * Create Test Runner for Genesis State Spec Tests (#2940) * genesis change * integrate changes * bodyroot * remove unused code * HasChainStarted * added isValidGenesisState to ProcessLog * state fix * fix gazelle * uint64 timestamp * SetupInitialDeposits adds proof * remove unneeded parts of test * deposithash * merkleproof from spec utils * Revert "merkleproof from spec utils" This reverts commit 1b0a124352e7b62e3c3220fb0d64e295b474b430. * fix test failures * chain started and hashtree root in tests * simple eth2genesistime * eth2 genesis time * fix zero time * add comment * remove eth1data and feedback * fix build issues * main changes: add fields and methods to track active validator count * gaz * fix test * fix more tests * improve test utils * Start genesis spec tests * shift spec method to state package, improve test setup * Add Genesis validity spec test * Bazel * fixed log processing tests * remove log * gaz * fix invalid metric * use json tags * fix up latest changes * Fix most of test errors * Attempts to see whats wrong with genesis validity * Fix merge * skip minimal * fix state test * new commit * fix nishant comment * gaz * Add Back Eth1Data After Bad Merge (#2953) * eth1data rpc endpoint * first version * comment added * gazelle fix * new function to go once over the deposit array * fix tests * export DepositContainer * terence feedback * move structure decleration * binary search * fix block into Block * preston feedback * keep slice sorted to remove overhead in retrival * merge changes * feedback * update to the latest go-ssz * revert change * chnages to fit new ssz * revert merge reversion * go fmt goimprts duplicate string * exception for lint unused doesParentExist * feedback changes * latesteth1data to eth1data * goimports and stop exposing Eth1Data * revert unneeded change * remove exposure of DepositContainer * feedback and fixes * fix workspace duplicate dependancy * greatest number of deposits at current height * add count votes function * change method name * revert back to latesteth1data * latesteth1data * preston feedback * seperate function add tests fix bug * stop exposing voteCountMap * eth1data comment fix * preston feedback * fix tests * new proto files * workspace to default version of ssz * new ssz * chnage test size * marshalled marshaled * everything passing again * add skip reason * cleanup deposit contract slightly * remove unused chainstart param (#2957) * fix breakages from #2957 (#2958) * fix breakages from #2957 * oops * Fix deposit input data (#2956) * fix deposit input data * fix deposit input data * gaz and build fix * Add Tests for Genesis Deposits Caching (#2952) * remove old method and replace with an improved one * add new files * gaz * add test * added all these tests * gaz * Apply suggestions from code review Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * fix merkle proof error * fix config * Minor fixes for runtime (#2960) * Minor fixes for runtime * use comments * goimports * revert beacon-chain/core/state/state.go and fix comment for lint * fix test too * Minor runtime fixes (#2961) * Add support for bundling binaries and fix ARM64 builds (#2970) * Add support for bundling binaries and fix ARM64 builds * Fix exports * ignore manual targets wrt vis check * fix graknlabs * update spec tests (#2979) * hotfix until https://github.com/graknlabs/bazel-distribution/pull/169 * Overflow slashing calculation fix (#2977) * Runtime Fixes (#2736) * first batch of fixes * add log * more fixes * another bug fixed * update deposit contract and other fixes * remove logs * new changes * fixes * fix build * remove config * more fixes * add more changes * add back todo * make compute state root work * remove commented out and fix condition * fix commented code * fix config * gaz * remove flag * remove init * new fixes * fix test * one more fix * fix all tests * change back config * fix one more bug * remove logging bool * Only build test targets when running bazel test //... * Align prysm to spec v0.8.1 (#2978) * Bazel problem * Update zero hash representation to be clear (cosmetic) * Update minor cosmetic fixes * Fixed lookahead off by 1 * Update randao.go * update ssz * test failures fixed * test fixes * fix up workspace * lint * fixed errs * Updated pubkey loggings (#2983) * Fix proposer assignment (#2984) * add jvm limits * add jvm limits * Removed logging from state transition functions (#2980) * Match spec on proposer index division (#2985) * Match spec on proposer index division * gaz * fixes * Fix Default Eth1Data (#2982) * fix bug * Update beacon-chain/core/state/transition.go Co-Authored-By: Raul Jordan <raul@prysmaticlabs.com> * more fixes * reg test * Set ejection balance to 1.6 (#2987) * improve block processing log (#2990) * Fix HistoricalRootsLimit (#2989) * fix historical lenght * fix genesis state initialization and test * fix genesis state initialization and test * fix genesis state initialization and test * fix genesis state initialization and test * hack config until https://github.com/prysmaticlabs/prysm/issues/2993 * More Runtime Fixes (#2986) * local changes * add val sig * attester fix * one more fix * fixed all tests * rem validator issue * fix finality issue (#2994) * Fix validator prev balance calculation (#2992) * attester fix * one more fix * fixed all tests * Fix validator prev balances calculation * go fmt * 48 bytes * Fix Querier to handle Deposit Logs Race (#2999) * fix sync issue * fix build * add regression test * add var for magic number * Fix eth1data and deposits (#2996) * Work in progress, eth1data works, deposits are included at the appropriate time, and activation happens at the correct time * revert blockInfo being public * git tests to build, not yet pass though * add tests * some commentary * fix comment * goimports * fmt and remove unused method * Update rules go (#2975) * update rules_go * Fix some cross compile builds stuff * add missing deps * update to 0.19.1 * Update Protobufs to Match Ethereum APIs (#2998) * add beacon block and attestation files * add all types * include all new proto type definitions * add add all proto definitions * fix all comments to say 48 bytes * include latest changes * readd common * no swag * add build file * deps issue * right package names * address feedback, maintain parity between upstream ethereumapis * delete pb * bad gens * Update "Testing Prysm" readme section (#3000) Resolves invalid url link to golangci-lint. * Update badge to version 0.8.1 * elaborate on test skip * revert shared/p2p/options.go * make travis happy with goimports * Update beacon-chain/core/blocks/block.go Co-Authored-By: Preston Van Loon <preston@prysmaticlabs.com>
2019-07-20 00:16:10 +00:00
// GetDepositCount is a free data retrieval call binding the contract method 0x621fd130.
//
// Solidity: function get_deposit_count() view returns(bytes)
Spec freeze updates (#2312) * Optimize Shuffled Indices Cache (#2728) * Refactor Deposit Contract Test Setup (#2731) * add new package * fix all tests * lint * change hash function (#2732) * Remove Deprecated Validator Protobuf (#2727) * Remove deprecated validator protos * Fix to comments * Fix most of skipped tests (#2735) * Cache Active Validator Indices, Count, and Balances (#2737) * Optimize Base Reward Calculation (#2753) * benchmark process epoch * revert prof.out * Add some optimizations * beware where we use ActiveValidatorIndices... * revert extra file * gaz * quick commit to get feedback * revert extra file * started fixing tests * fixed broken TestProcessCrosslink_NoUpdate * gaz * cache randao seed * fixed all the tests * fmt and lint * spacing * Added todo * lint * revert binary file * started regression test * basic tests done * using a fifo for active indices cache * using a fifo for active count cache * using a fifo for total balance cache * using a fifo for active balance cache * using a fifo for start shard cache * using a fifo for seed cache * gaz * clean up * fixing tests * fixed all the core tests * fixed all the tests!!! * lint * comment * rm'ed commented code * cache size to 1000 should be good enough * optimized base reward * revert binary file * Added comments to calculate adjusted quotient outside * removed deprecated configs (#2755) * Optimize Process Eth1 Data Vote (#2754) * Cleanup and Docs update (#2756) * Add graffiti and update generate seed (#2759) * Benchmark Process Block with Attestations (#2758) * Tidying up Godoc for Core Package (#2762) * Clean up Old RPC Endpoints (#2763) * Update RPC end point for Proposer (#2767) * add RequestBlock * run mockgen * implemented RequestBlock * updated proto definitions * updated tests * updated validator attest tests * done * comment * todo issue * removed unused proto * Update attesting indices v0.6 (#2449) * sort participants slice * add bitfield functions and tests * added BitfieldBit test * add AttestationParticipantsNew * revert AttestationParticipants to its previous change * add tests * remove verifybitfieldnew * fix tests and remove multiple tests * remove duplicate test * change magic number into ceildiv8 * Implement Justification and finalization Processing (#2448) * Add convert to indexed (#2519) * sort participants slice * add bitfield functions and tests * added BitfieldBit test * add AttestationParticipantsNew * revert AttestationParticipants to its previous change * add tests * remove verifybitfieldnew * fix tests and remove multiple tests * remove duplicate test * start work * convert attestation to indexed attestations * fix test for convert index * remove calling getter * add more tests * remove underscore * changes name to signature (#2535) * update registry updates func (#2521) * update registry updates func * added tests and moved to epoch processing * fixed naming issues * Update Committee Helpers to v0.6.0 (#2398) * Update Committee Helper Part 2 (#2592) * Implement Process Slashings for 0.6 (#2523) * Update Proposer/Attester Slashings and Slashing Helpers (#2603) * Implement Final Updates 0.6 (#2562) * ValidatorStatus Estimating Activation RPC Server (#2469) * fix spacing * working on position in queue * fmt * spacing * feedback * tests * rename * Only Perform Initial Sync With a Single Peer (#2471) * fix spacing * use send instead of broadcast in initial sync * 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> * SSZ web api for decoding input data (#2473) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * standardize slot numbers (#2475) * Add CORS for ssz api (#2476) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * needed CORS * 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 * Update Prysm README (#2477) * README updated * readme updates * no err throw (#2479) * Fix Status Nil Pointer Error (#2480) * no err throw * nil errors * 3.175 (#2482) * Better Error Message if Failing to Exit Initial Sync (#2483) * no err throw * nil errors * better error on init sync * Only Log Active Balances (#2485) * only log active balance * dont need () * change logging (#2487) * fix chainstart waiting on rpc server (#2488) * shift ticker to after activation (#2489) * Add drain script (#2418) * Add drain script * Fix script to drain contracts from newest to oldest * Add README * remove comments * Only after block 400k, look up by deposit event * issue warn log on disconnecting peer instead of error (#2491) * Display Only Active Validator Data (#2490) * Fix Validator Status Field in RPC Server (#2492) * fix status of key * status test fix * fmt * 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 * add production config for testnet release (#2493) * Lookup Validator Index in State in Status Check (#2494) * state lookup * refactor duplicate code * refactor with mapping * fix broken tests * finish refactor * merged master * updated EpochCommitteeCount and fixed tests * implemented ShardDelta * test for ShardDelta * implemented EpochStartShard * added epoch out of bound test * test for accurate start shard * lint * implemented process_final_updates * move to the top of the file * add comment back * gaz * Test for process final updates * fixed tests * fixed all the tests * Update Reward Helper v0.6 (#2470) * added BaseReward * added rewards helper * added test for BaseReward * extra space * move exported function above * update to new spec (#2614) * Update Block Processing Voluntary Exits (#2609) * Update processEth1Data for v0.6 (#2516) * Clean up Helper Functions Part 1 (#2612) * Finalize helper functions for 0.6 (#2632) * Process Beacon Chain Transfers v0.6 (#2642) * add transfers * beacon transfer operations complete * full cov * transfer testing * finished tests * Update beacon-chain/core/blocks/block_operations_test.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * Update beacon-chain/core/blocks/block_operations.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * Implement Process Crosslink From 0.6 (#2460) * Process Block Eth1 Data v0.6 (#2645) * Get attestation data slot v0.6 (#2593) * attestation.go is ready, tests not * ready for review * fixing linter issues * modified Crosslink and AttestationData proto fields to spec 2.0,marked deprecated fields * gazelle * fixed tests * fixed error * error msg * Process Block Deposits v0.6 (#2647) * imports fixes * deposits tests pass * wrapped up gazelle * spacing * Implement Crosslink Delta Rewards for 0.6 (#2517) * update process crosslink and update existing tests * added a test case to cover no crosslink changes * more test * preston's feedback * spellings * ValidatorStatus Estimating Activation RPC Server (#2469) * fix spacing * working on position in queue * fmt * spacing * feedback * tests * rename * Only Perform Initial Sync With a Single Peer (#2471) * fix spacing * use send instead of broadcast in initial sync * 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> * SSZ web api for decoding input data (#2473) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * standardize slot numbers (#2475) * Add CORS for ssz api (#2476) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * needed CORS * 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 * Update Prysm README (#2477) * README updated * readme updates * no err throw (#2479) * Fix Status Nil Pointer Error (#2480) * no err throw * nil errors * 3.175 (#2482) * Better Error Message if Failing to Exit Initial Sync (#2483) * no err throw * nil errors * better error on init sync * Only Log Active Balances (#2485) * only log active balance * dont need () * change logging (#2487) * fix chainstart waiting on rpc server (#2488) * shift ticker to after activation (#2489) * Add drain script (#2418) * Add drain script * Fix script to drain contracts from newest to oldest * Add README * remove comments * Only after block 400k, look up by deposit event * issue warn log on disconnecting peer instead of error (#2491) * Display Only Active Validator Data (#2490) * Fix Validator Status Field in RPC Server (#2492) * fix status of key * status test fix * fmt * 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 * add production config for testnet release (#2493) * Lookup Validator Index in State in Status Check (#2494) * state lookup * refactor duplicate code * refactor with mapping * fix broken tests * finish refactor * merged master * Starting, I need get_epoch_start_shard * updated EpochCommitteeCount and fixed tests * implemented ShardDelta * test for ShardDelta * implemented EpochStartShard * added epoch out of bound test * test for accurate start shard * lint * need to use changes from latest crosslinks * added BaseReward and totalActiveBalance * added test for base reward * merged master * all tests passing * start testing * done * add ProcessBlockHeader v0.6 (#2534) * add ProcessBlockHeader * function has all its dependancies in place * arange the basic ok test * gazzele and skip test update * skip wrong sig test * fmt imports and change requests * goimports fmt * map for struct fields to be location independent * reorder protobuf fields * added tests * gazzle fix * few change requests fixes * revert changes in types.proto * revert changes in types * fix tests * fix lint * fmt imports * fix gazelle * fix var naming * pb update * var naming * tarance change request fixes * fix test * Add Process Registry for Epoch Processing (#2668) * update update-process-registry * added back the old tests * fmt * gaz * Follow up on process block header v0.6 (#2666) * Putting Crosslink Delta Back (#2654) * update process crosslink and update existing tests * added a test case to cover no crosslink changes * more test * preston's feedback * spellings * ValidatorStatus Estimating Activation RPC Server (#2469) * fix spacing * working on position in queue * fmt * spacing * feedback * tests * rename * Only Perform Initial Sync With a Single Peer (#2471) * fix spacing * use send instead of broadcast in initial sync * 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> * SSZ web api for decoding input data (#2473) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * standardize slot numbers (#2475) * Add CORS for ssz api (#2476) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * needed CORS * 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 * Update Prysm README (#2477) * README updated * readme updates * no err throw (#2479) * Fix Status Nil Pointer Error (#2480) * no err throw * nil errors * 3.175 (#2482) * Better Error Message if Failing to Exit Initial Sync (#2483) * no err throw * nil errors * better error on init sync * Only Log Active Balances (#2485) * only log active balance * dont need () * change logging (#2487) * fix chainstart waiting on rpc server (#2488) * shift ticker to after activation (#2489) * Add drain script (#2418) * Add drain script * Fix script to drain contracts from newest to oldest * Add README * remove comments * Only after block 400k, look up by deposit event * issue warn log on disconnecting peer instead of error (#2491) * Display Only Active Validator Data (#2490) * Fix Validator Status Field in RPC Server (#2492) * fix status of key * status test fix * fmt * 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 * add production config for testnet release (#2493) * Lookup Validator Index in State in Status Check (#2494) * state lookup * refactor duplicate code * refactor with mapping * fix broken tests * finish refactor * merged master * Starting, I need get_epoch_start_shard * updated EpochCommitteeCount and fixed tests * implemented ShardDelta * test for ShardDelta * implemented EpochStartShard * added epoch out of bound test * test for accurate start shard * lint * need to use changes from latest crosslinks * added BaseReward and totalActiveBalance * added test for base reward * merged master * all tests passing * start testing * done * fixed tests * addressed shay's feedback * Implement Attestation Delta for v0.6 (#2646) * update process crosslink and update existing tests * added a test case to cover no crosslink changes * more test * preston's feedback * spellings * ValidatorStatus Estimating Activation RPC Server (#2469) * fix spacing * working on position in queue * fmt * spacing * feedback * tests * rename * Only Perform Initial Sync With a Single Peer (#2471) * fix spacing * use send instead of broadcast in initial sync * 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> * SSZ web api for decoding input data (#2473) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * standardize slot numbers (#2475) * Add CORS for ssz api (#2476) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * needed CORS * 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 * Update Prysm README (#2477) * README updated * readme updates * no err throw (#2479) * Fix Status Nil Pointer Error (#2480) * no err throw * nil errors * 3.175 (#2482) * Better Error Message if Failing to Exit Initial Sync (#2483) * no err throw * nil errors * better error on init sync * Only Log Active Balances (#2485) * only log active balance * dont need () * change logging (#2487) * fix chainstart waiting on rpc server (#2488) * shift ticker to after activation (#2489) * Add drain script (#2418) * Add drain script * Fix script to drain contracts from newest to oldest * Add README * remove comments * Only after block 400k, look up by deposit event * issue warn log on disconnecting peer instead of error (#2491) * Display Only Active Validator Data (#2490) * Fix Validator Status Field in RPC Server (#2492) * fix status of key * status test fix * fmt * 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 * add production config for testnet release (#2493) * Lookup Validator Index in State in Status Check (#2494) * state lookup * refactor duplicate code * refactor with mapping * fix broken tests * finish refactor * merged master * Starting, I need get_epoch_start_shard * updated EpochCommitteeCount and fixed tests * implemented ShardDelta * test for ShardDelta * implemented EpochStartShard * added epoch out of bound test * test for accurate start shard * lint * need to use changes from latest crosslinks * added BaseReward and totalActiveBalance * added test for base reward * implemented process_attestation_delta * comments * comments * merged master * all tests passing * start testing * done * merged master * fixed tests * tests, more to come * tests done * lint * spaces over tabs * addressed shay's feedback * merged master * Implement process_rewards_and_penalties for 0.6 (#2665) * update process crosslink and update existing tests * added a test case to cover no crosslink changes * more test * preston's feedback * spellings * ValidatorStatus Estimating Activation RPC Server (#2469) * fix spacing * working on position in queue * fmt * spacing * feedback * tests * rename * Only Perform Initial Sync With a Single Peer (#2471) * fix spacing * use send instead of broadcast in initial sync * 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> * SSZ web api for decoding input data (#2473) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * standardize slot numbers (#2475) * Add CORS for ssz api (#2476) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * needed CORS * 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 * Update Prysm README (#2477) * README updated * readme updates * no err throw (#2479) * Fix Status Nil Pointer Error (#2480) * no err throw * nil errors * 3.175 (#2482) * Better Error Message if Failing to Exit Initial Sync (#2483) * no err throw * nil errors * better error on init sync * Only Log Active Balances (#2485) * only log active balance * dont need () * change logging (#2487) * fix chainstart waiting on rpc server (#2488) * shift ticker to after activation (#2489) * Add drain script (#2418) * Add drain script * Fix script to drain contracts from newest to oldest * Add README * remove comments * Only after block 400k, look up by deposit event * issue warn log on disconnecting peer instead of error (#2491) * Display Only Active Validator Data (#2490) * Fix Validator Status Field in RPC Server (#2492) * fix status of key * status test fix * fmt * 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 * add production config for testnet release (#2493) * Lookup Validator Index in State in Status Check (#2494) * state lookup * refactor duplicate code * refactor with mapping * fix broken tests * finish refactor * merged master * Starting, I need get_epoch_start_shard * updated EpochCommitteeCount and fixed tests * implemented ShardDelta * test for ShardDelta * implemented EpochStartShard * added epoch out of bound test * test for accurate start shard * lint * need to use changes from latest crosslinks * added BaseReward and totalActiveBalance * added test for base reward * implemented process_attestation_delta * comments * comments * merged master * all tests passing * start testing * done * merged master * fixed tests * tests, more to come * tests done * lint * spaces over tabs * addressed shay's feedback * starting but need to merge a few things... * tests * fmt * Update Slot Processing and State Transition v0.6 (#2664) * edit state transition to add slot processing logic, reorder logic * fix build * lint * tests passing * spacing * tests pass * imports * passing tests * Implement Process Epoch for 0.6 (#2675) * can't find process j f functons * implemented process_epoch * tests done * lint * nishant's feedback * stupid goland replace * goimports * Update CommitteeAssignment (#2693) * cleaned up skipped tests for core processing (#2697) * Process Block Attestations v0.6 (#2650) * attestation.go is ready, tests not * ready for review * fixing linter issues * modified Crosslink and AttestationData proto fields to spec 2.0,marked deprecated fields * gazelle * fixed tests * fixed error * add att processing: * process atts * error msg * finish process attestations logic * spacing * ssz move * inclusion delay failure passing * more attestation tests * more att tests passing * more tests * ffg data mismatching test * ffg tests complete * gofmt * fix testing to match attestation updates * ssz * lint * Fixed Skipped Tests for RPC Server (#2712) * Remove Obsolete Deposit Proto Objects (#2673) * remove deposit data * remove deposit input * fix references * remove deposit helpers * fix all refs * gaz * rgene proto * fix all tests * remove deposit data deprecated field * fix remaining references * fix all tests * fix lint * regen proto * fix test * Remove Deprecated Protobuf State Fields (#2713) * Remove Deprecated Protobuf Crosslink/Slashing/Block Fields (#2714) * Remove Deprecated Beacon Block Proto Fields (#2717) * Remove Deprecated Attestation Proto Fields (#2723) * Cache Shuffled Validator Indices (#2682) * YAML shuffle tests for v0.6 (#2667) * new shuffle tests * added comment for exported function * fix format and print * added config files handling * gazelle fix * shuffle test debugging * added shuffle list and benchmark * hash function addition from nishant code * gazelle fix * remove unused function * few minor changes * add test to test protos optimization * test a bigger list * remove commented code * small changes * fix spec test and test indices to pass * remove empty line * abstraction of repeated code and comment arrangement * terence change requests * fix new test * add small comment for better readability * change from unshuflle to shuffle * comment * better comment * fix all tests * Remove Latest Block (#2721) * lint * remove latest block * lint * add proto * fix build * Fix Deposit Trie (#2686) * remove deposit data * remove deposit input * fix references * remove deposit helpers * fix all refs * gaz * rgene proto * fix all tests * remove deposit data deprecated field * fix remaining references * fix all tests * fix lint * new tests with contract * gaz * more tests * fixed bugs * new test * finally fixed it * gaz * fix test * Remove Committee Cache (#2729) * Benchmark Compute Committee (#2698) * Fixed Skipped Attestation Tests (#2730) * Optimize Shuffled Indices Cache (#2728) * Refactor Deposit Contract Test Setup (#2731) * add new package * fix all tests * lint * change hash function (#2732) * Remove Deprecated Validator Protobuf (#2727) * Remove deprecated validator protos * Fix to comments * Fix most of skipped tests (#2735) * Optimize Base Reward Calculation (#2753) * benchmark process epoch * revert prof.out * Add some optimizations * beware where we use ActiveValidatorIndices... * revert extra file * gaz * quick commit to get feedback * revert extra file * started fixing tests * fixed broken TestProcessCrosslink_NoUpdate * gaz * cache randao seed * fixed all the tests * fmt and lint * spacing * Added todo * lint * revert binary file * started regression test * basic tests done * using a fifo for active indices cache * using a fifo for active count cache * using a fifo for total balance cache * using a fifo for active balance cache * using a fifo for start shard cache * using a fifo for seed cache * gaz * clean up * fixing tests * fixed all the core tests * fixed all the tests!!! * lint * comment * rm'ed commented code * cache size to 1000 should be good enough * optimized base reward * revert binary file * Added comments to calculate adjusted quotient outside * removed deprecated configs (#2755) * Optimize Process Eth1 Data Vote (#2754) * Cleanup and Docs update (#2756) * Add graffiti and update generate seed (#2759) * Benchmark Process Block with Attestations (#2758) * Tidying up Godoc for Core Package (#2762) * Clean up Old RPC Endpoints (#2763) * Update RPC end point for Proposer (#2767) * add RequestBlock * run mockgen * implemented RequestBlock * updated proto definitions * updated tests * updated validator attest tests * done * comment * todo issue * removed unused proto * Cache Active Validator Indices, Count, and Balances (#2737) * Update Deposit Contract (#2648) * lint * add new contract * change version * remove log * generating abi and binary files * fix tests * update to current version * new changes * add new hash function * save hashed nodes * add more things * new method * add update to trie * new stuff * gaz * more stuff * finally fixed build * remove deposit data * Revert "remove deposit data" This reverts commit 9085409e91be0c94550af10290eaad72ad40a6de. * more changes * lint and gaz * lint * Update Shard Helpers for 0.6 (#2497) * ValidatorStatus Estimating Activation RPC Server (#2469) * fix spacing * working on position in queue * fmt * spacing * feedback * tests * rename * Only Perform Initial Sync With a Single Peer (#2471) * fix spacing * use send instead of broadcast in initial sync * 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> * SSZ web api for decoding input data (#2473) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * standardize slot numbers (#2475) * Add CORS for ssz api (#2476) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * needed CORS * 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 * Update Prysm README (#2477) * README updated * readme updates * no err throw (#2479) * Fix Status Nil Pointer Error (#2480) * no err throw * nil errors * 3.175 (#2482) * Better Error Message if Failing to Exit Initial Sync (#2483) * no err throw * nil errors * better error on init sync * Only Log Active Balances (#2485) * only log active balance * dont need () * change logging (#2487) * fix chainstart waiting on rpc server (#2488) * shift ticker to after activation (#2489) * Add drain script (#2418) * Add drain script * Fix script to drain contracts from newest to oldest * Add README * remove comments * Only after block 400k, look up by deposit event * issue warn log on disconnecting peer instead of error (#2491) * Display Only Active Validator Data (#2490) * Fix Validator Status Field in RPC Server (#2492) * fix status of key * status test fix * fmt * 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 * add production config for testnet release (#2493) * Lookup Validator Index in State in Status Check (#2494) * state lookup * refactor duplicate code * refactor with mapping * fix broken tests * finish refactor * merged master * updated EpochCommitteeCount and fixed tests * implemented ShardDelta * test for ShardDelta * implemented EpochStartShard * added epoch out of bound test * test for accurate start shard * lint * Update Genesis State Function to v0.6 (#2465) * add pseudocode * make changes * fix all tests * fix tests * lint * regen protos and mocks * regenerated protos * started fixing core * all core tests passing! * removed shared/forkutils * started fixing blockchain package * lint * updating rpc package * add back deleted stuff * add back deleted stuff that was deleted accidentally * add back protos and mocks * fix errors * fix genesis issue * fix genesis issue for slot ticker * fix all genesis errors * fix build files * temp change for go-ssz * fix test * Revert "temp change for go-ssz" This reverts commit 3411cb9d6d519cb521181486debc3b21603c8873. * update to latest go-ssz * unstaged changes * Update Attester Server RPC Calls (#2773) * Update config and function parameters to v0.7 (#2791) * Minor Updates to 0.7 (#2795) * Refactor Deposit Flow and Cleanup Tests (#2788) * More WIP on cleaning deposit flow * Fix tests * Cleanup and imports * run gazelle * Move deposit to block_operations * gazelle * Update beacon-chain/core/blocks/block_operations.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * Fix docs * Remove unneeded calculations * Fix tests * Fix tests finally (?) * Optimize Committee Assignment RPC (#2787) * Update BlockRoot to BlockHash (#2816) * Fix Final Missing Items in Block Processing v0.6 (#2710) * override config successfully * passes processing * add signing root helper * blockchain tests pass * tests blocked by signing root * lint * fix references * fix protos * proper use of signing root * only few failing tests now * fix final test * tests passing * lint and imports * rem unused * Update beacon-chain/core/blocks/block_operations.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * lint * Update beacon-chain/attestation/service_test.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * Update beacon-chain/db/block_test.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * rename to hash tree root * rename decode to unmarshal * fix * use latest ssz * all tests passing * lint * fmt * Add Config YAML for Spec Tests (#2818) * Align Protobuf Type Names (#2825) * gofmt * Revert "Align Protobuf Type Names (#2825)" (#2827) This reverts commit 882d067144c674bbf4eeee00404acaa0a9b1fd33. * Update Domain Related Functions (#2832) * Add Functions for Compressed and Uncompressed HashG2 With Domain (#2833) * add tests * gaz * lint * Revert "Add Functions for Compressed and Uncompressed HashG2 With Domain (#2833)" (#2835) This reverts commit 7fb2ebf3f12f043d7bd12f43500dc2bd133df573. * Add ConvertToPb to package testutil (#2838) * Block Processing Bug Fixes (#2836) * Update types PB with Size Tags (#2840) * Epoch processing spec tests (#2814) * Remove Deposit Index (#2851) * Shuffle tests revisited (#2829) * first commit * remove old files, add log * remove duplicate yaml testing code * reduce visability * nishant feedback changes * skip TestFromYaml_Pass * added tags to bazel build * gazelle fix * remove unused vars * adda back config * remove config handling * remove unused var * gazelle fix * SSZ compatibility test for protobufs (#2839) * update workspace spec sha * remove yamls from branch * BLS spec tests (#2826) (#2856) * bls spec tests * add more bls tests * use ioutil instead of bazel runfiles * dont read bytes * skip tests that overflow uint64 * manually fix input data * add tests * lint and gaz * add all new changes * some refactoring, cleanup, remove new API methods that only exist for tests * gaz * Remove yamls, skip test * Slot processing spec test (#2813) * eth1data rpc endpoint (#2733) * eth1data rpc endpoint * first version * comment added * gazelle fix * new function to go once over the deposit array * fix tests * export DepositContainer * terence feedback * move structure decleration * binary search * fix block into Block * preston feedback * keep slice sorted to remove overhead in retrival * merge changes * feedback * update to the latest go-ssz * revert change * chnages to fit new ssz * revert merge reversion * go fmt goimprts duplicate string * exception for lint unused doesParentExist * feedback changes * latesteth1data to eth1data * goimports and stop exposing Eth1Data * revert unneeded change * remove exposure of DepositContainer * feedback and fixes * fix workspace duplicate dependancy * greatest number of deposits at current height * add count votes function * change method name * revert back to latesteth1data * latesteth1data * preston feedback * seperate function add tests fix bug * stop exposing voteCountMap * eth1data comment fix * preston feedback * fix tests * new proto files * workspace to default version of ssz * new ssz * chnage test size * marshalled marshaled * Attesting Indices Fix (#2862) * add change * fix one test * fix all tests * add test * clear cache * removed old chaintest, simulated backend and state generator (#2863) * Block Processing Sanity Spec Tests (#2817) * update PrevEpoch * add new changes * shift to blocks package * add more changes * new changes * updated pb with size tags * add new changes * fix errors * uncomment code * more changes * add new changes * rename and lint * gaz * more changes * proccess slot SigningRoot instead of HashTreeRoot * ensure yaml generated structs work * block sanity all passing * minimal and mainnet all pass * remove commented code * fix one test * fix all tests * fix again * no state comparison * matching spec * change target viz * comments gazelle * clear caches before test cases * latest attempts * clean up test format * remove debugging log, remove yaml * unskip attestation * remove skip, check post state, diff state diffs * handle err * add bug fixes * fixed one more bug * fixed churn limit bug * change hashProto to HashTreeRoot * all tests pass :) * fix all tests * gaz * add regression tests * fix test bug * Mutation testing fixes for beacon-chain/core/helpers/attestation.go (#2868) * mutation testing for attestation.go * new line * lint * revert fmt.Errorf deletion * gofmt * Add some fixes for mutation testing on blocks.go (#2869) * Fix sizes * gaz * Spec freeze release candidate spectests * Align Protobuf Type Names (#2872) * Removes some deprecated fields from protobuf (#2877) * search and replace checkpoints * fix tests, except spec tests * Update Configs for Freeze (#2876) * update configs * updated minimal configs * almost there * all tests passing except for spec tests * better comment for MinGenesisTime * done, ready for review * rm seconds per day * feedback * Mutation testing fixes for beacon-chain/core/helpers/committee.go (#2870) * Add some fixes for mutation testing on blocks.go * working on mutation testing fo committee.go * gofmt * goimports * update readme target * update latest sha for spec tests * fix build * Update State Transition Function (#2867) * Change Base Reward Factor (#2888) * Update Freeze Spec Simplification Section - part 1 (#2893) * finished changes to attesting_indices * removed index_count <= 2**40 requirement * lint * reverted index_count <= 2**40 check * added short cut len(a) > len(b) * Update justification bits (#2894) * updated all the helper pseudocodes (#2895) * Make Constants Explicit and Minor Cleanups (#2898) * Rename outdated configs, make constants explicitly delcared * Remove activate_validator, not needed * Remove GenesisSlot and GenesisEpoch * Remove unused import * Move Block Operation Length Checks to ProcessOperations (#2900) * Move block operation length checks to ProcessOperations * Write tests for each length check in ProcessOperations * Remove unneeded test * Move checks to a new function * Move duplicate check back into ProcessOperations * reorder proto fields (#2902) * Slashing Penalty Calculation Change (#2889) * lint * change config val * add max helper * changes to slashing and process slashing, add a min function for integers * gaz * fix failing tests * fix test * fixed all tests * Change Yaml tag * lint * remove gc hack * fix test * gaz * preston's comments * change failing field * fix and regen proto * lint * Implement Compact Committee Root (#2897) * add tags * add function * add new code * add function * add all new changes * lint * add tests * fix tests * fix more tests * fix all outstanding tests * gaz * Update beacon-chain/core/helpers/committee.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * comment * Remove deprecated fields from attestation data (#2892) * fix broken tests * remove comment * fixes * Update Deposit Contract (#2903) * update to new contract * fix references * fix tests * fix some more tests * fix local deposit trie * gaz * shays review * more changes * update WORKSPACE to use 0.8 spec tests * Perform Mutesting in Helpers Package (#2912) * Perform mutesting on validator * Mutesting in helpers package * Mutested eth1data * s/volundary/voluntary (#2914) * Update BLS Domain (#2916) * change from integer to byte slice * add test * fix func for bytes4 * Fix Spec tests (#2907) * fix panics * handle failed transitions * remove log * fix to protos * new changes * remove i * change ssz commit * new changes * update epoch tests * fix epoch testing * fix shuffle tests * fix test * Perform Mutesting in Epoch and State Packages (#2913) * done with updates (#2890) * Add Max Size Tag for Protobuf Fields (#2908) * No more space between ssz-size numbers * Regen pb.go * Fixed a few incorrect proto fields (#2926) * Update Validator Workflow (#2906) * Justification spec tests (#2896) * update go-ssz * Fix SSZ Compatibility Test (#2924) * figuring out how to seqeeze in multiple fields in a tag for pb * Added max tags and regenerated pb.go * updated to new standard * New bitfield types in proto (#2915) * Cast bytes to correct bitfield, failing tests now though * Add forked gogo/protobuf until https://github.com/gogo/protobuf/pull/582 * remove newline * use proper override for gogo-protobuf * fix a few tags * forgot to include custody bits and Slashable not used * Update yaml struct to use pb * Update workspace to use latest ssz * All tests fail * Use the latest go-ssz commit * All pass except for state (too long to taste) * Update test.proto * Added rest of the tests * use 1 justification bits * fix tag test, apply @rauljordan's suggestion * add IsEmpty and use ssz struct * delete unused file * Update zero hash to sha256().digest() (#2932) * update zero hash * change zero hash to conform with spec * goimports * add test for zero hash * Revert "Update zero hash to sha256().digest() (#2932)" (#2933) This reverts commit b926ae0667b18aef3f7e0e8ec8a9b3e98b3d2ccc. * Fix compress validator (#2936) * fix compress validator * update go-ssz * build without the bytes test * try minimal * Block operations spec tests (#2828) * update PrevEpoch * debugging proposer slashing tests * fmt * add deposit tests * Added skeleton for attestation minimal test * remove bazel runfiles thing * add deposits * proposer slashing test is done * comment * complete test, some failing cases * sig verify on * refactor slightly to support mainnet and minimal * included mainnet stuff * Add block header tests * volunary exit done * transfer done * new changes * fix all tests * update domain functions * fmt * fixed lint * fixed all the tests * fixed a transfer bug * finished attester slashing tests and fixed a few bugs * started fixing... * cleaned up exit and proposr slashing tests * attester slashing passing * refactored deposit tests * remove yamls, update ssz * Added todo for invalid sig * gazelle * deposits test done! * transfer tests done and pass! * fix attesting indices bug * temporarily disabled signature verification * cleaned up most of the block ops, except for att * update committee AttestingIndices * oops, i dont know how or why i changed this file * fixed all the rpc tests * 6 more failing packages * test max transfer in state package * replace hashproto with treehash in package blockchain * gazelle * fix test * fix test again * fixed transition test, 2 more left * expect an error in attestation tests * Handle panic when no votes in aggregate attestation * clear cache * Add differ, add logging, tests pass yay * remove todo, add tag * fixed TestReceiveBlock_RemovesPendingDeposits * TestAttestationMinimal/success_since_max_epochs_per_crosslink fails now... * handle panics * Transfer tests were disabled in https://github.com/ethereum/eth2.0-specs/pull/1238 * more fixes after merge, updating block_operations.yaml.go to match yaml * figuring out how to seqeeze in multiple fields in a tag for pb * Added max tags and regenerated pb.go * updated to new standard * New bitfield types in proto (#2915) * Cast bytes to correct bitfield, failing tests now though * Add forked gogo/protobuf until https://github.com/gogo/protobuf/pull/582 * remove newline * fix references and test panic * change to proto objects from custom types * fix panics in tests * use proper override for gogo-protobuf * fix a few tags * fix tests * forgot to include custody bits and Slashable not used * fix tests * sort again * Update yaml struct to use pb * Update workspace to use latest ssz * All tests fail * Use the latest go-ssz commit * All pass except for state (too long to taste) * Update test.proto * Added rest of the tests * use 1 justification bits * minor fixes * wrong proto.Equal * fix tag test, apply @rauljordan's suggestion * add IsEmpty and use ssz struct * inverted logic * update zero hash * change zero hash to conform with spec * goimports * add test for zero hash * Revert "Update zero hash to sha256().digest() (#2932)" This reverts commit b926ae0667b18aef3f7e0e8ec8a9b3e98b3d2ccc. * update ssz, fix import, shard big test * checkpoint * fix compress validator * update go-ssz * missing import * missing import * tests now pass * been a good day * update test size * fix lint * imports and remove unused const * update bazel jobs flag * update bazel jobs flag * satisfy deprecation warning * Add ssz regression tests for investigation of test failures in PR #2828 (#2935) * Adding regression tests for investigation * add another example * goimports * add quick comment about test case 0 * Epoch Process Slashings Spec Tests (#2930) * updated justification bits, tests passing OK * regen pb.go, clarify bit operations * justification and finalization tests; failing * Add wrapper, so we call the correct method * checkpoint * Update tar ref * TestSlashingsMinimal/small_penalty still failing * Use bigint instead of () and float * Revert a bad merge from workspace * Fmt * add note about https://github.com/ethereum/eth2.0-specs/issues/1284 * improve tests * gaz * Perform Mutesting In core/state Package (#2923) * Perform mutesting on validator * Mutesting in helpers package * Mutested eth1data * Perform mutesting in epoch and state packages * Fix voluntary exits test * Fix typo * Fix comments * Fix formatting * Fix error message * Handle missing errors * Handle all errors * Perform Mutesting In State Package * Fix block roots size * Remove comment * Fix error * add backend service * Add ssz compatibility tests for signing root (#2931) * Added tests for signing root * imports * fix lint on travis * fix bes flag * Final updates spec tests (#2901) * set up tests * need to reorder pbs * figuring out how to seqeeze in multiple fields in a tag for pb * Added max tags and regenerated pb.go * updated to new standard * New bitfield types in proto (#2915) * Cast bytes to correct bitfield, failing tests now though * Add forked gogo/protobuf until https://github.com/gogo/protobuf/pull/582 * remove newline * use proper override for gogo-protobuf * fix a few tags * forgot to include custody bits and Slashable not used * playing with tags idea, can revert this commit later * fixes after merge * reset caches before test * all epoch tests pass * gazelle * Genesis trigger (#2905) * genesis change * integrate changes * bodyroot * remove unused code * HasChainStarted * added isValidGenesisState to ProcessLog * state fix * fix gazelle * uint64 timestamp * SetupInitialDeposits adds proof * remove unneeded parts of test * deposithash * merkleproof from spec utils * Revert "merkleproof from spec utils" This reverts commit 1b0a124352e7b62e3c3220fb0d64e295b474b430. * fix test failures * chain started and hashtree root in tests * simple eth2genesistime * eth2 genesis time * fix zero time * add comment * remove eth1data and feedback * fix build issues * main changes: add fields and methods to track active validator count * gaz * fix test * fix more tests * improve test utils * shift spec method to state package, improve test setup * fixed log processing tests * remove log * gaz * fix invalid metric * use better tag names, not latest * Remove Block Signing Root (#2945) * replace with hash tree root * Revert "replace with hash tree root" This reverts commit 77d8f16a160e42f3c3d598df66c30a66657de1bf. * replace with signing root instead * remove one more ref * Create Test Runner for Genesis State Spec Tests (#2940) * genesis change * integrate changes * bodyroot * remove unused code * HasChainStarted * added isValidGenesisState to ProcessLog * state fix * fix gazelle * uint64 timestamp * SetupInitialDeposits adds proof * remove unneeded parts of test * deposithash * merkleproof from spec utils * Revert "merkleproof from spec utils" This reverts commit 1b0a124352e7b62e3c3220fb0d64e295b474b430. * fix test failures * chain started and hashtree root in tests * simple eth2genesistime * eth2 genesis time * fix zero time * add comment * remove eth1data and feedback * fix build issues * main changes: add fields and methods to track active validator count * gaz * fix test * fix more tests * improve test utils * Start genesis spec tests * shift spec method to state package, improve test setup * Add Genesis validity spec test * Bazel * fixed log processing tests * remove log * gaz * fix invalid metric * use json tags * fix up latest changes * Fix most of test errors * Attempts to see whats wrong with genesis validity * Fix merge * skip minimal * fix state test * new commit * fix nishant comment * gaz * Static check on branch spec-v0.6 (#2946) * Ran staticcheck and fixed the important complains * commit * commit * Create Test Runner for Genesis State Spec Tests (#2940) * genesis change * integrate changes * bodyroot * remove unused code * HasChainStarted * added isValidGenesisState to ProcessLog * state fix * fix gazelle * uint64 timestamp * SetupInitialDeposits adds proof * remove unneeded parts of test * deposithash * merkleproof from spec utils * Revert "merkleproof from spec utils" This reverts commit 1b0a124352e7b62e3c3220fb0d64e295b474b430. * fix test failures * chain started and hashtree root in tests * simple eth2genesistime * eth2 genesis time * fix zero time * add comment * remove eth1data and feedback * fix build issues * main changes: add fields and methods to track active validator count * gaz * fix test * fix more tests * improve test utils * Start genesis spec tests * shift spec method to state package, improve test setup * Add Genesis validity spec test * Bazel * fixed log processing tests * remove log * gaz * fix invalid metric * use json tags * fix up latest changes * Fix most of test errors * Attempts to see whats wrong with genesis validity * Fix merge * skip minimal * fix state test * new commit * fix nishant comment * gaz * Add Back Eth1Data After Bad Merge (#2953) * eth1data rpc endpoint * first version * comment added * gazelle fix * new function to go once over the deposit array * fix tests * export DepositContainer * terence feedback * move structure decleration * binary search * fix block into Block * preston feedback * keep slice sorted to remove overhead in retrival * merge changes * feedback * update to the latest go-ssz * revert change * chnages to fit new ssz * revert merge reversion * go fmt goimprts duplicate string * exception for lint unused doesParentExist * feedback changes * latesteth1data to eth1data * goimports and stop exposing Eth1Data * revert unneeded change * remove exposure of DepositContainer * feedback and fixes * fix workspace duplicate dependancy * greatest number of deposits at current height * add count votes function * change method name * revert back to latesteth1data * latesteth1data * preston feedback * seperate function add tests fix bug * stop exposing voteCountMap * eth1data comment fix * preston feedback * fix tests * new proto files * workspace to default version of ssz * new ssz * chnage test size * marshalled marshaled * everything passing again * add skip reason * cleanup deposit contract slightly * remove unused chainstart param (#2957) * fix breakages from #2957 (#2958) * fix breakages from #2957 * oops * Fix deposit input data (#2956) * fix deposit input data * fix deposit input data * gaz and build fix * Add Tests for Genesis Deposits Caching (#2952) * remove old method and replace with an improved one * add new files * gaz * add test * added all these tests * gaz * Apply suggestions from code review Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * fix merkle proof error * fix config * Minor fixes for runtime (#2960) * Minor fixes for runtime * use comments * goimports * revert beacon-chain/core/state/state.go and fix comment for lint * fix test too * Minor runtime fixes (#2961) * Add support for bundling binaries and fix ARM64 builds (#2970) * Add support for bundling binaries and fix ARM64 builds * Fix exports * ignore manual targets wrt vis check * fix graknlabs * update spec tests (#2979) * hotfix until https://github.com/graknlabs/bazel-distribution/pull/169 * Overflow slashing calculation fix (#2977) * Runtime Fixes (#2736) * first batch of fixes * add log * more fixes * another bug fixed * update deposit contract and other fixes * remove logs * new changes * fixes * fix build * remove config * more fixes * add more changes * add back todo * make compute state root work * remove commented out and fix condition * fix commented code * fix config * gaz * remove flag * remove init * new fixes * fix test * one more fix * fix all tests * change back config * fix one more bug * remove logging bool * Only build test targets when running bazel test //... * Align prysm to spec v0.8.1 (#2978) * Bazel problem * Update zero hash representation to be clear (cosmetic) * Update minor cosmetic fixes * Fixed lookahead off by 1 * Update randao.go * update ssz * test failures fixed * test fixes * fix up workspace * lint * fixed errs * Updated pubkey loggings (#2983) * Fix proposer assignment (#2984) * add jvm limits * add jvm limits * Removed logging from state transition functions (#2980) * Match spec on proposer index division (#2985) * Match spec on proposer index division * gaz * fixes * Fix Default Eth1Data (#2982) * fix bug * Update beacon-chain/core/state/transition.go Co-Authored-By: Raul Jordan <raul@prysmaticlabs.com> * more fixes * reg test * Set ejection balance to 1.6 (#2987) * improve block processing log (#2990) * Fix HistoricalRootsLimit (#2989) * fix historical lenght * fix genesis state initialization and test * fix genesis state initialization and test * fix genesis state initialization and test * fix genesis state initialization and test * hack config until https://github.com/prysmaticlabs/prysm/issues/2993 * More Runtime Fixes (#2986) * local changes * add val sig * attester fix * one more fix * fixed all tests * rem validator issue * fix finality issue (#2994) * Fix validator prev balance calculation (#2992) * attester fix * one more fix * fixed all tests * Fix validator prev balances calculation * go fmt * 48 bytes * Fix Querier to handle Deposit Logs Race (#2999) * fix sync issue * fix build * add regression test * add var for magic number * Fix eth1data and deposits (#2996) * Work in progress, eth1data works, deposits are included at the appropriate time, and activation happens at the correct time * revert blockInfo being public * git tests to build, not yet pass though * add tests * some commentary * fix comment * goimports * fmt and remove unused method * Update rules go (#2975) * update rules_go * Fix some cross compile builds stuff * add missing deps * update to 0.19.1 * Update Protobufs to Match Ethereum APIs (#2998) * add beacon block and attestation files * add all types * include all new proto type definitions * add add all proto definitions * fix all comments to say 48 bytes * include latest changes * readd common * no swag * add build file * deps issue * right package names * address feedback, maintain parity between upstream ethereumapis * delete pb * bad gens * Update "Testing Prysm" readme section (#3000) Resolves invalid url link to golangci-lint. * Update badge to version 0.8.1 * elaborate on test skip * revert shared/p2p/options.go * make travis happy with goimports * Update beacon-chain/core/blocks/block.go Co-Authored-By: Preston Van Loon <preston@prysmaticlabs.com>
2019-07-20 00:16:10 +00:00
func (_DepositContract *DepositContractCallerSession) GetDepositCount() ([]byte, error) {
return _DepositContract.Contract.GetDepositCount(&_DepositContract.CallOpts)
}
Update run time to v0.9 (#3935) * Update seed domains (#3872) * Remove Transfers (#3870) * Remove active index roots and compact committee roots (#3869) * Update inclusion reward (#3886) * Alter proposer selection logic (#3884) * Fix early committee bias (#3888) * Remove shards and committees (#3896) * Epoch spec tests v0.9 (#3907) * Block spec test v0.9 (#3905) * rm'ed in protobuf * build proto * build proto * build proto * fix core package * Gazelle * Fixed all the tests * Fixed static test * Comment out spec test for now * One more skip * fix-roundRobinSync (#3862) * Starting but need new seed function * Revert initial sync * Updated Proposer Slashing * Fixed all tests * Lint * Update inclusion reward * Fill randao mixes with eth1 data hash * Test * Fixing test part1 * All tests passing * One last test * Updated config * Build proto * Proper skip message * Conflict and fmt * Removed crosslinks and shards. Built * Format and gazelle * Fixed all the block package tests * Fixed all the helper tests * All epoch package tests pass * All core package tests pass * Fixed operation tests * Started fixing rpc test * RPC tests passed! * Fixed all init sync tests * All tests pass * Fixed blockchain tests * Lint * Lint * Preston's feedback * Starting * Remove container * Fixed block spec tests * All passing except for block_processing test * Failing block processing test * Starting * Add AggregateAndProof * All mainnet test passes * Update deposit contract (#3906) * Proto spec tests v0.9 (#3908) * Starting * Add AggregateAndProof * Unskip block util tests (#3910) * rm'ed in protobuf * build proto * build proto * build proto * fix core package * Gazelle * Fixed all the tests * Fixed static test * Comment out spec test for now * One more skip * fix-roundRobinSync (#3862) * Starting but need new seed function * Revert initial sync * Updated Proposer Slashing * Fixed all tests * Lint * Update inclusion reward * Fill randao mixes with eth1 data hash * Test * Fixing test part1 * All tests passing * One last test * Updated config * Build proto * Proper skip message * Conflict and fmt * Removed crosslinks and shards. Built * Format and gazelle * Fixed all the block package tests * Fixed all the helper tests * All epoch package tests pass * All core package tests pass * Fixed operation tests * Started fixing rpc test * RPC tests passed! * Fixed all init sync tests * All tests pass * Fixed blockchain tests * Lint * Lint * Preston's feedback * Starting * Remove container * Fixed block spec tests * All passing except for block_processing test * Failing block processing test * Starting * Add AggregateAndProof * All mainnet test passes * Unskip block util tests * Slot processing spec test V0.9 (#3912) * Starting * Add AggregateAndProof * Unskip slot processing mainnet test * Unskip minimal spec test for finalization (#3920) * Remove outdated interop tests (#3922) * Rm outdated interop tests * Rm test runner * Gazelle * Update validator to use proposer slot (#3919) * Fix committee assignment (#3931) * Replace shard with committee index (#3930) * Conflict * Clean up (#3933) * Remove shard filter in db (#3936) * Remove lightouse compatibility test (#3939) * Update Committee Cache for v0.9 (#3948) * Updated committee cache * Removed shuffled indices cache * Started testing run time * Lint * Fixed test * Safeguard against nil head state * address edge case * add test * Fixed TestRoundRobinSync by doubling the epochs * Unskip TestProtoCompatability (#3958) * Unskip TestProtoCompatability * Update WORKSPACE * Fix minimal config (#3959) * fix minimal configs * fix hardcoded value in test * Simplify verify att time (#3961) * update readme for deposit contract, regen bindings for vyper 0.1.0b12 (#3963) * update readme for deposit contract, regen bindings * medium * Check nil base state (#3964) * Copy Block When Receiving it From Sync (#3966) * copy block * clone for other service methods too * Change logging of Bitfield (#3956) * change logging of bits * preston's review * Unskip Beacon Server Test (#3962) * run test till the end * fix up proto message types * fmt * resolve broken tests * better error handling * fixing new logic to use archived proposer info * fix up logic * clip using the max effective balance * broken build fix with num arg mismatch * amend archive * archival logic changed * rename test * archive both proposer and attester seeds * page size 100 * further experiments * further experimentation, archivedProposerIndex seems wrong * test passes * rem log * fix broken test * fix test * gaz * fix imports * ethapis
2019-11-11 22:03:44 +00:00
// GetDepositRoot is a free data retrieval call binding the contract method 0xc5f2892f.
//
// Solidity: function get_deposit_root() view returns(bytes32)
Update run time to v0.9 (#3935) * Update seed domains (#3872) * Remove Transfers (#3870) * Remove active index roots and compact committee roots (#3869) * Update inclusion reward (#3886) * Alter proposer selection logic (#3884) * Fix early committee bias (#3888) * Remove shards and committees (#3896) * Epoch spec tests v0.9 (#3907) * Block spec test v0.9 (#3905) * rm'ed in protobuf * build proto * build proto * build proto * fix core package * Gazelle * Fixed all the tests * Fixed static test * Comment out spec test for now * One more skip * fix-roundRobinSync (#3862) * Starting but need new seed function * Revert initial sync * Updated Proposer Slashing * Fixed all tests * Lint * Update inclusion reward * Fill randao mixes with eth1 data hash * Test * Fixing test part1 * All tests passing * One last test * Updated config * Build proto * Proper skip message * Conflict and fmt * Removed crosslinks and shards. Built * Format and gazelle * Fixed all the block package tests * Fixed all the helper tests * All epoch package tests pass * All core package tests pass * Fixed operation tests * Started fixing rpc test * RPC tests passed! * Fixed all init sync tests * All tests pass * Fixed blockchain tests * Lint * Lint * Preston's feedback * Starting * Remove container * Fixed block spec tests * All passing except for block_processing test * Failing block processing test * Starting * Add AggregateAndProof * All mainnet test passes * Update deposit contract (#3906) * Proto spec tests v0.9 (#3908) * Starting * Add AggregateAndProof * Unskip block util tests (#3910) * rm'ed in protobuf * build proto * build proto * build proto * fix core package * Gazelle * Fixed all the tests * Fixed static test * Comment out spec test for now * One more skip * fix-roundRobinSync (#3862) * Starting but need new seed function * Revert initial sync * Updated Proposer Slashing * Fixed all tests * Lint * Update inclusion reward * Fill randao mixes with eth1 data hash * Test * Fixing test part1 * All tests passing * One last test * Updated config * Build proto * Proper skip message * Conflict and fmt * Removed crosslinks and shards. Built * Format and gazelle * Fixed all the block package tests * Fixed all the helper tests * All epoch package tests pass * All core package tests pass * Fixed operation tests * Started fixing rpc test * RPC tests passed! * Fixed all init sync tests * All tests pass * Fixed blockchain tests * Lint * Lint * Preston's feedback * Starting * Remove container * Fixed block spec tests * All passing except for block_processing test * Failing block processing test * Starting * Add AggregateAndProof * All mainnet test passes * Unskip block util tests * Slot processing spec test V0.9 (#3912) * Starting * Add AggregateAndProof * Unskip slot processing mainnet test * Unskip minimal spec test for finalization (#3920) * Remove outdated interop tests (#3922) * Rm outdated interop tests * Rm test runner * Gazelle * Update validator to use proposer slot (#3919) * Fix committee assignment (#3931) * Replace shard with committee index (#3930) * Conflict * Clean up (#3933) * Remove shard filter in db (#3936) * Remove lightouse compatibility test (#3939) * Update Committee Cache for v0.9 (#3948) * Updated committee cache * Removed shuffled indices cache * Started testing run time * Lint * Fixed test * Safeguard against nil head state * address edge case * add test * Fixed TestRoundRobinSync by doubling the epochs * Unskip TestProtoCompatability (#3958) * Unskip TestProtoCompatability * Update WORKSPACE * Fix minimal config (#3959) * fix minimal configs * fix hardcoded value in test * Simplify verify att time (#3961) * update readme for deposit contract, regen bindings for vyper 0.1.0b12 (#3963) * update readme for deposit contract, regen bindings * medium * Check nil base state (#3964) * Copy Block When Receiving it From Sync (#3966) * copy block * clone for other service methods too * Change logging of Bitfield (#3956) * change logging of bits * preston's review * Unskip Beacon Server Test (#3962) * run test till the end * fix up proto message types * fmt * resolve broken tests * better error handling * fixing new logic to use archived proposer info * fix up logic * clip using the max effective balance * broken build fix with num arg mismatch * amend archive * archival logic changed * rename test * archive both proposer and attester seeds * page size 100 * further experiments * further experimentation, archivedProposerIndex seems wrong * test passes * rem log * fix broken test * fix test * gaz * fix imports * ethapis
2019-11-11 22:03:44 +00:00
func (_DepositContract *DepositContractCaller) GetDepositRoot(opts *bind.CallOpts) ([32]byte, error) {
var out []interface{}
err := _DepositContract.contract.Call(opts, &out, "get_deposit_root")
if err != nil {
return *new([32]byte), err
}
out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte)
return out0, err
}
Update run time to v0.9 (#3935) * Update seed domains (#3872) * Remove Transfers (#3870) * Remove active index roots and compact committee roots (#3869) * Update inclusion reward (#3886) * Alter proposer selection logic (#3884) * Fix early committee bias (#3888) * Remove shards and committees (#3896) * Epoch spec tests v0.9 (#3907) * Block spec test v0.9 (#3905) * rm'ed in protobuf * build proto * build proto * build proto * fix core package * Gazelle * Fixed all the tests * Fixed static test * Comment out spec test for now * One more skip * fix-roundRobinSync (#3862) * Starting but need new seed function * Revert initial sync * Updated Proposer Slashing * Fixed all tests * Lint * Update inclusion reward * Fill randao mixes with eth1 data hash * Test * Fixing test part1 * All tests passing * One last test * Updated config * Build proto * Proper skip message * Conflict and fmt * Removed crosslinks and shards. Built * Format and gazelle * Fixed all the block package tests * Fixed all the helper tests * All epoch package tests pass * All core package tests pass * Fixed operation tests * Started fixing rpc test * RPC tests passed! * Fixed all init sync tests * All tests pass * Fixed blockchain tests * Lint * Lint * Preston's feedback * Starting * Remove container * Fixed block spec tests * All passing except for block_processing test * Failing block processing test * Starting * Add AggregateAndProof * All mainnet test passes * Update deposit contract (#3906) * Proto spec tests v0.9 (#3908) * Starting * Add AggregateAndProof * Unskip block util tests (#3910) * rm'ed in protobuf * build proto * build proto * build proto * fix core package * Gazelle * Fixed all the tests * Fixed static test * Comment out spec test for now * One more skip * fix-roundRobinSync (#3862) * Starting but need new seed function * Revert initial sync * Updated Proposer Slashing * Fixed all tests * Lint * Update inclusion reward * Fill randao mixes with eth1 data hash * Test * Fixing test part1 * All tests passing * One last test * Updated config * Build proto * Proper skip message * Conflict and fmt * Removed crosslinks and shards. Built * Format and gazelle * Fixed all the block package tests * Fixed all the helper tests * All epoch package tests pass * All core package tests pass * Fixed operation tests * Started fixing rpc test * RPC tests passed! * Fixed all init sync tests * All tests pass * Fixed blockchain tests * Lint * Lint * Preston's feedback * Starting * Remove container * Fixed block spec tests * All passing except for block_processing test * Failing block processing test * Starting * Add AggregateAndProof * All mainnet test passes * Unskip block util tests * Slot processing spec test V0.9 (#3912) * Starting * Add AggregateAndProof * Unskip slot processing mainnet test * Unskip minimal spec test for finalization (#3920) * Remove outdated interop tests (#3922) * Rm outdated interop tests * Rm test runner * Gazelle * Update validator to use proposer slot (#3919) * Fix committee assignment (#3931) * Replace shard with committee index (#3930) * Conflict * Clean up (#3933) * Remove shard filter in db (#3936) * Remove lightouse compatibility test (#3939) * Update Committee Cache for v0.9 (#3948) * Updated committee cache * Removed shuffled indices cache * Started testing run time * Lint * Fixed test * Safeguard against nil head state * address edge case * add test * Fixed TestRoundRobinSync by doubling the epochs * Unskip TestProtoCompatability (#3958) * Unskip TestProtoCompatability * Update WORKSPACE * Fix minimal config (#3959) * fix minimal configs * fix hardcoded value in test * Simplify verify att time (#3961) * update readme for deposit contract, regen bindings for vyper 0.1.0b12 (#3963) * update readme for deposit contract, regen bindings * medium * Check nil base state (#3964) * Copy Block When Receiving it From Sync (#3966) * copy block * clone for other service methods too * Change logging of Bitfield (#3956) * change logging of bits * preston's review * Unskip Beacon Server Test (#3962) * run test till the end * fix up proto message types * fmt * resolve broken tests * better error handling * fixing new logic to use archived proposer info * fix up logic * clip using the max effective balance * broken build fix with num arg mismatch * amend archive * archival logic changed * rename test * archive both proposer and attester seeds * page size 100 * further experiments * further experimentation, archivedProposerIndex seems wrong * test passes * rem log * fix broken test * fix test * gaz * fix imports * ethapis
2019-11-11 22:03:44 +00:00
// GetDepositRoot is a free data retrieval call binding the contract method 0xc5f2892f.
//
// Solidity: function get_deposit_root() view returns(bytes32)
Update run time to v0.9 (#3935) * Update seed domains (#3872) * Remove Transfers (#3870) * Remove active index roots and compact committee roots (#3869) * Update inclusion reward (#3886) * Alter proposer selection logic (#3884) * Fix early committee bias (#3888) * Remove shards and committees (#3896) * Epoch spec tests v0.9 (#3907) * Block spec test v0.9 (#3905) * rm'ed in protobuf * build proto * build proto * build proto * fix core package * Gazelle * Fixed all the tests * Fixed static test * Comment out spec test for now * One more skip * fix-roundRobinSync (#3862) * Starting but need new seed function * Revert initial sync * Updated Proposer Slashing * Fixed all tests * Lint * Update inclusion reward * Fill randao mixes with eth1 data hash * Test * Fixing test part1 * All tests passing * One last test * Updated config * Build proto * Proper skip message * Conflict and fmt * Removed crosslinks and shards. Built * Format and gazelle * Fixed all the block package tests * Fixed all the helper tests * All epoch package tests pass * All core package tests pass * Fixed operation tests * Started fixing rpc test * RPC tests passed! * Fixed all init sync tests * All tests pass * Fixed blockchain tests * Lint * Lint * Preston's feedback * Starting * Remove container * Fixed block spec tests * All passing except for block_processing test * Failing block processing test * Starting * Add AggregateAndProof * All mainnet test passes * Update deposit contract (#3906) * Proto spec tests v0.9 (#3908) * Starting * Add AggregateAndProof * Unskip block util tests (#3910) * rm'ed in protobuf * build proto * build proto * build proto * fix core package * Gazelle * Fixed all the tests * Fixed static test * Comment out spec test for now * One more skip * fix-roundRobinSync (#3862) * Starting but need new seed function * Revert initial sync * Updated Proposer Slashing * Fixed all tests * Lint * Update inclusion reward * Fill randao mixes with eth1 data hash * Test * Fixing test part1 * All tests passing * One last test * Updated config * Build proto * Proper skip message * Conflict and fmt * Removed crosslinks and shards. Built * Format and gazelle * Fixed all the block package tests * Fixed all the helper tests * All epoch package tests pass * All core package tests pass * Fixed operation tests * Started fixing rpc test * RPC tests passed! * Fixed all init sync tests * All tests pass * Fixed blockchain tests * Lint * Lint * Preston's feedback * Starting * Remove container * Fixed block spec tests * All passing except for block_processing test * Failing block processing test * Starting * Add AggregateAndProof * All mainnet test passes * Unskip block util tests * Slot processing spec test V0.9 (#3912) * Starting * Add AggregateAndProof * Unskip slot processing mainnet test * Unskip minimal spec test for finalization (#3920) * Remove outdated interop tests (#3922) * Rm outdated interop tests * Rm test runner * Gazelle * Update validator to use proposer slot (#3919) * Fix committee assignment (#3931) * Replace shard with committee index (#3930) * Conflict * Clean up (#3933) * Remove shard filter in db (#3936) * Remove lightouse compatibility test (#3939) * Update Committee Cache for v0.9 (#3948) * Updated committee cache * Removed shuffled indices cache * Started testing run time * Lint * Fixed test * Safeguard against nil head state * address edge case * add test * Fixed TestRoundRobinSync by doubling the epochs * Unskip TestProtoCompatability (#3958) * Unskip TestProtoCompatability * Update WORKSPACE * Fix minimal config (#3959) * fix minimal configs * fix hardcoded value in test * Simplify verify att time (#3961) * update readme for deposit contract, regen bindings for vyper 0.1.0b12 (#3963) * update readme for deposit contract, regen bindings * medium * Check nil base state (#3964) * Copy Block When Receiving it From Sync (#3966) * copy block * clone for other service methods too * Change logging of Bitfield (#3956) * change logging of bits * preston's review * Unskip Beacon Server Test (#3962) * run test till the end * fix up proto message types * fmt * resolve broken tests * better error handling * fixing new logic to use archived proposer info * fix up logic * clip using the max effective balance * broken build fix with num arg mismatch * amend archive * archival logic changed * rename test * archive both proposer and attester seeds * page size 100 * further experiments * further experimentation, archivedProposerIndex seems wrong * test passes * rem log * fix broken test * fix test * gaz * fix imports * ethapis
2019-11-11 22:03:44 +00:00
func (_DepositContract *DepositContractSession) GetDepositRoot() ([32]byte, error) {
return _DepositContract.Contract.GetDepositRoot(&_DepositContract.CallOpts)
}
Update run time to v0.9 (#3935) * Update seed domains (#3872) * Remove Transfers (#3870) * Remove active index roots and compact committee roots (#3869) * Update inclusion reward (#3886) * Alter proposer selection logic (#3884) * Fix early committee bias (#3888) * Remove shards and committees (#3896) * Epoch spec tests v0.9 (#3907) * Block spec test v0.9 (#3905) * rm'ed in protobuf * build proto * build proto * build proto * fix core package * Gazelle * Fixed all the tests * Fixed static test * Comment out spec test for now * One more skip * fix-roundRobinSync (#3862) * Starting but need new seed function * Revert initial sync * Updated Proposer Slashing * Fixed all tests * Lint * Update inclusion reward * Fill randao mixes with eth1 data hash * Test * Fixing test part1 * All tests passing * One last test * Updated config * Build proto * Proper skip message * Conflict and fmt * Removed crosslinks and shards. Built * Format and gazelle * Fixed all the block package tests * Fixed all the helper tests * All epoch package tests pass * All core package tests pass * Fixed operation tests * Started fixing rpc test * RPC tests passed! * Fixed all init sync tests * All tests pass * Fixed blockchain tests * Lint * Lint * Preston's feedback * Starting * Remove container * Fixed block spec tests * All passing except for block_processing test * Failing block processing test * Starting * Add AggregateAndProof * All mainnet test passes * Update deposit contract (#3906) * Proto spec tests v0.9 (#3908) * Starting * Add AggregateAndProof * Unskip block util tests (#3910) * rm'ed in protobuf * build proto * build proto * build proto * fix core package * Gazelle * Fixed all the tests * Fixed static test * Comment out spec test for now * One more skip * fix-roundRobinSync (#3862) * Starting but need new seed function * Revert initial sync * Updated Proposer Slashing * Fixed all tests * Lint * Update inclusion reward * Fill randao mixes with eth1 data hash * Test * Fixing test part1 * All tests passing * One last test * Updated config * Build proto * Proper skip message * Conflict and fmt * Removed crosslinks and shards. Built * Format and gazelle * Fixed all the block package tests * Fixed all the helper tests * All epoch package tests pass * All core package tests pass * Fixed operation tests * Started fixing rpc test * RPC tests passed! * Fixed all init sync tests * All tests pass * Fixed blockchain tests * Lint * Lint * Preston's feedback * Starting * Remove container * Fixed block spec tests * All passing except for block_processing test * Failing block processing test * Starting * Add AggregateAndProof * All mainnet test passes * Unskip block util tests * Slot processing spec test V0.9 (#3912) * Starting * Add AggregateAndProof * Unskip slot processing mainnet test * Unskip minimal spec test for finalization (#3920) * Remove outdated interop tests (#3922) * Rm outdated interop tests * Rm test runner * Gazelle * Update validator to use proposer slot (#3919) * Fix committee assignment (#3931) * Replace shard with committee index (#3930) * Conflict * Clean up (#3933) * Remove shard filter in db (#3936) * Remove lightouse compatibility test (#3939) * Update Committee Cache for v0.9 (#3948) * Updated committee cache * Removed shuffled indices cache * Started testing run time * Lint * Fixed test * Safeguard against nil head state * address edge case * add test * Fixed TestRoundRobinSync by doubling the epochs * Unskip TestProtoCompatability (#3958) * Unskip TestProtoCompatability * Update WORKSPACE * Fix minimal config (#3959) * fix minimal configs * fix hardcoded value in test * Simplify verify att time (#3961) * update readme for deposit contract, regen bindings for vyper 0.1.0b12 (#3963) * update readme for deposit contract, regen bindings * medium * Check nil base state (#3964) * Copy Block When Receiving it From Sync (#3966) * copy block * clone for other service methods too * Change logging of Bitfield (#3956) * change logging of bits * preston's review * Unskip Beacon Server Test (#3962) * run test till the end * fix up proto message types * fmt * resolve broken tests * better error handling * fixing new logic to use archived proposer info * fix up logic * clip using the max effective balance * broken build fix with num arg mismatch * amend archive * archival logic changed * rename test * archive both proposer and attester seeds * page size 100 * further experiments * further experimentation, archivedProposerIndex seems wrong * test passes * rem log * fix broken test * fix test * gaz * fix imports * ethapis
2019-11-11 22:03:44 +00:00
// GetDepositRoot is a free data retrieval call binding the contract method 0xc5f2892f.
//
// Solidity: function get_deposit_root() view returns(bytes32)
Update run time to v0.9 (#3935) * Update seed domains (#3872) * Remove Transfers (#3870) * Remove active index roots and compact committee roots (#3869) * Update inclusion reward (#3886) * Alter proposer selection logic (#3884) * Fix early committee bias (#3888) * Remove shards and committees (#3896) * Epoch spec tests v0.9 (#3907) * Block spec test v0.9 (#3905) * rm'ed in protobuf * build proto * build proto * build proto * fix core package * Gazelle * Fixed all the tests * Fixed static test * Comment out spec test for now * One more skip * fix-roundRobinSync (#3862) * Starting but need new seed function * Revert initial sync * Updated Proposer Slashing * Fixed all tests * Lint * Update inclusion reward * Fill randao mixes with eth1 data hash * Test * Fixing test part1 * All tests passing * One last test * Updated config * Build proto * Proper skip message * Conflict and fmt * Removed crosslinks and shards. Built * Format and gazelle * Fixed all the block package tests * Fixed all the helper tests * All epoch package tests pass * All core package tests pass * Fixed operation tests * Started fixing rpc test * RPC tests passed! * Fixed all init sync tests * All tests pass * Fixed blockchain tests * Lint * Lint * Preston's feedback * Starting * Remove container * Fixed block spec tests * All passing except for block_processing test * Failing block processing test * Starting * Add AggregateAndProof * All mainnet test passes * Update deposit contract (#3906) * Proto spec tests v0.9 (#3908) * Starting * Add AggregateAndProof * Unskip block util tests (#3910) * rm'ed in protobuf * build proto * build proto * build proto * fix core package * Gazelle * Fixed all the tests * Fixed static test * Comment out spec test for now * One more skip * fix-roundRobinSync (#3862) * Starting but need new seed function * Revert initial sync * Updated Proposer Slashing * Fixed all tests * Lint * Update inclusion reward * Fill randao mixes with eth1 data hash * Test * Fixing test part1 * All tests passing * One last test * Updated config * Build proto * Proper skip message * Conflict and fmt * Removed crosslinks and shards. Built * Format and gazelle * Fixed all the block package tests * Fixed all the helper tests * All epoch package tests pass * All core package tests pass * Fixed operation tests * Started fixing rpc test * RPC tests passed! * Fixed all init sync tests * All tests pass * Fixed blockchain tests * Lint * Lint * Preston's feedback * Starting * Remove container * Fixed block spec tests * All passing except for block_processing test * Failing block processing test * Starting * Add AggregateAndProof * All mainnet test passes * Unskip block util tests * Slot processing spec test V0.9 (#3912) * Starting * Add AggregateAndProof * Unskip slot processing mainnet test * Unskip minimal spec test for finalization (#3920) * Remove outdated interop tests (#3922) * Rm outdated interop tests * Rm test runner * Gazelle * Update validator to use proposer slot (#3919) * Fix committee assignment (#3931) * Replace shard with committee index (#3930) * Conflict * Clean up (#3933) * Remove shard filter in db (#3936) * Remove lightouse compatibility test (#3939) * Update Committee Cache for v0.9 (#3948) * Updated committee cache * Removed shuffled indices cache * Started testing run time * Lint * Fixed test * Safeguard against nil head state * address edge case * add test * Fixed TestRoundRobinSync by doubling the epochs * Unskip TestProtoCompatability (#3958) * Unskip TestProtoCompatability * Update WORKSPACE * Fix minimal config (#3959) * fix minimal configs * fix hardcoded value in test * Simplify verify att time (#3961) * update readme for deposit contract, regen bindings for vyper 0.1.0b12 (#3963) * update readme for deposit contract, regen bindings * medium * Check nil base state (#3964) * Copy Block When Receiving it From Sync (#3966) * copy block * clone for other service methods too * Change logging of Bitfield (#3956) * change logging of bits * preston's review * Unskip Beacon Server Test (#3962) * run test till the end * fix up proto message types * fmt * resolve broken tests * better error handling * fixing new logic to use archived proposer info * fix up logic * clip using the max effective balance * broken build fix with num arg mismatch * amend archive * archival logic changed * rename test * archive both proposer and attester seeds * page size 100 * further experiments * further experimentation, archivedProposerIndex seems wrong * test passes * rem log * fix broken test * fix test * gaz * fix imports * ethapis
2019-11-11 22:03:44 +00:00
func (_DepositContract *DepositContractCallerSession) GetDepositRoot() ([32]byte, error) {
return _DepositContract.Contract.GetDepositRoot(&_DepositContract.CallOpts)
}
// SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7.
//
// Solidity: function supportsInterface(bytes4 interfaceId) pure returns(bool)
func (_DepositContract *DepositContractCaller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error) {
var out []interface{}
err := _DepositContract.contract.Call(opts, &out, "supportsInterface", interfaceId)
if err != nil {
return *new(bool), err
}
out0 := *abi.ConvertType(out[0], new(bool)).(*bool)
return out0, err
}
// SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7.
//
// Solidity: function supportsInterface(bytes4 interfaceId) pure returns(bool)
func (_DepositContract *DepositContractSession) SupportsInterface(interfaceId [4]byte) (bool, error) {
return _DepositContract.Contract.SupportsInterface(&_DepositContract.CallOpts, interfaceId)
}
// SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7.
//
// Solidity: function supportsInterface(bytes4 interfaceId) pure returns(bool)
func (_DepositContract *DepositContractCallerSession) SupportsInterface(interfaceId [4]byte) (bool, error) {
return _DepositContract.Contract.SupportsInterface(&_DepositContract.CallOpts, interfaceId)
}
// Deposit is a paid mutator transaction binding the contract method 0x22895118.
//
// Solidity: function deposit(bytes pubkey, bytes withdrawal_credentials, bytes signature, bytes32 deposit_data_root) payable returns()
func (_DepositContract *DepositContractTransactor) Deposit(opts *bind.TransactOpts, pubkey []byte, withdrawal_credentials []byte, signature []byte, deposit_data_root [32]byte) (*types.Transaction, error) {
return _DepositContract.contract.Transact(opts, "deposit", pubkey, withdrawal_credentials, signature, deposit_data_root)
}
// Deposit is a paid mutator transaction binding the contract method 0x22895118.
//
// Solidity: function deposit(bytes pubkey, bytes withdrawal_credentials, bytes signature, bytes32 deposit_data_root) payable returns()
func (_DepositContract *DepositContractSession) Deposit(pubkey []byte, withdrawal_credentials []byte, signature []byte, deposit_data_root [32]byte) (*types.Transaction, error) {
return _DepositContract.Contract.Deposit(&_DepositContract.TransactOpts, pubkey, withdrawal_credentials, signature, deposit_data_root)
}
// Deposit is a paid mutator transaction binding the contract method 0x22895118.
//
// Solidity: function deposit(bytes pubkey, bytes withdrawal_credentials, bytes signature, bytes32 deposit_data_root) payable returns()
func (_DepositContract *DepositContractTransactorSession) Deposit(pubkey []byte, withdrawal_credentials []byte, signature []byte, deposit_data_root [32]byte) (*types.Transaction, error) {
return _DepositContract.Contract.Deposit(&_DepositContract.TransactOpts, pubkey, withdrawal_credentials, signature, deposit_data_root)
}
Spec freeze updates (#2312) * Optimize Shuffled Indices Cache (#2728) * Refactor Deposit Contract Test Setup (#2731) * add new package * fix all tests * lint * change hash function (#2732) * Remove Deprecated Validator Protobuf (#2727) * Remove deprecated validator protos * Fix to comments * Fix most of skipped tests (#2735) * Cache Active Validator Indices, Count, and Balances (#2737) * Optimize Base Reward Calculation (#2753) * benchmark process epoch * revert prof.out * Add some optimizations * beware where we use ActiveValidatorIndices... * revert extra file * gaz * quick commit to get feedback * revert extra file * started fixing tests * fixed broken TestProcessCrosslink_NoUpdate * gaz * cache randao seed * fixed all the tests * fmt and lint * spacing * Added todo * lint * revert binary file * started regression test * basic tests done * using a fifo for active indices cache * using a fifo for active count cache * using a fifo for total balance cache * using a fifo for active balance cache * using a fifo for start shard cache * using a fifo for seed cache * gaz * clean up * fixing tests * fixed all the core tests * fixed all the tests!!! * lint * comment * rm'ed commented code * cache size to 1000 should be good enough * optimized base reward * revert binary file * Added comments to calculate adjusted quotient outside * removed deprecated configs (#2755) * Optimize Process Eth1 Data Vote (#2754) * Cleanup and Docs update (#2756) * Add graffiti and update generate seed (#2759) * Benchmark Process Block with Attestations (#2758) * Tidying up Godoc for Core Package (#2762) * Clean up Old RPC Endpoints (#2763) * Update RPC end point for Proposer (#2767) * add RequestBlock * run mockgen * implemented RequestBlock * updated proto definitions * updated tests * updated validator attest tests * done * comment * todo issue * removed unused proto * Update attesting indices v0.6 (#2449) * sort participants slice * add bitfield functions and tests * added BitfieldBit test * add AttestationParticipantsNew * revert AttestationParticipants to its previous change * add tests * remove verifybitfieldnew * fix tests and remove multiple tests * remove duplicate test * change magic number into ceildiv8 * Implement Justification and finalization Processing (#2448) * Add convert to indexed (#2519) * sort participants slice * add bitfield functions and tests * added BitfieldBit test * add AttestationParticipantsNew * revert AttestationParticipants to its previous change * add tests * remove verifybitfieldnew * fix tests and remove multiple tests * remove duplicate test * start work * convert attestation to indexed attestations * fix test for convert index * remove calling getter * add more tests * remove underscore * changes name to signature (#2535) * update registry updates func (#2521) * update registry updates func * added tests and moved to epoch processing * fixed naming issues * Update Committee Helpers to v0.6.0 (#2398) * Update Committee Helper Part 2 (#2592) * Implement Process Slashings for 0.6 (#2523) * Update Proposer/Attester Slashings and Slashing Helpers (#2603) * Implement Final Updates 0.6 (#2562) * ValidatorStatus Estimating Activation RPC Server (#2469) * fix spacing * working on position in queue * fmt * spacing * feedback * tests * rename * Only Perform Initial Sync With a Single Peer (#2471) * fix spacing * use send instead of broadcast in initial sync * 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> * SSZ web api for decoding input data (#2473) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * standardize slot numbers (#2475) * Add CORS for ssz api (#2476) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * needed CORS * 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 * Update Prysm README (#2477) * README updated * readme updates * no err throw (#2479) * Fix Status Nil Pointer Error (#2480) * no err throw * nil errors * 3.175 (#2482) * Better Error Message if Failing to Exit Initial Sync (#2483) * no err throw * nil errors * better error on init sync * Only Log Active Balances (#2485) * only log active balance * dont need () * change logging (#2487) * fix chainstart waiting on rpc server (#2488) * shift ticker to after activation (#2489) * Add drain script (#2418) * Add drain script * Fix script to drain contracts from newest to oldest * Add README * remove comments * Only after block 400k, look up by deposit event * issue warn log on disconnecting peer instead of error (#2491) * Display Only Active Validator Data (#2490) * Fix Validator Status Field in RPC Server (#2492) * fix status of key * status test fix * fmt * 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 * add production config for testnet release (#2493) * Lookup Validator Index in State in Status Check (#2494) * state lookup * refactor duplicate code * refactor with mapping * fix broken tests * finish refactor * merged master * updated EpochCommitteeCount and fixed tests * implemented ShardDelta * test for ShardDelta * implemented EpochStartShard * added epoch out of bound test * test for accurate start shard * lint * implemented process_final_updates * move to the top of the file * add comment back * gaz * Test for process final updates * fixed tests * fixed all the tests * Update Reward Helper v0.6 (#2470) * added BaseReward * added rewards helper * added test for BaseReward * extra space * move exported function above * update to new spec (#2614) * Update Block Processing Voluntary Exits (#2609) * Update processEth1Data for v0.6 (#2516) * Clean up Helper Functions Part 1 (#2612) * Finalize helper functions for 0.6 (#2632) * Process Beacon Chain Transfers v0.6 (#2642) * add transfers * beacon transfer operations complete * full cov * transfer testing * finished tests * Update beacon-chain/core/blocks/block_operations_test.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * Update beacon-chain/core/blocks/block_operations.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * Implement Process Crosslink From 0.6 (#2460) * Process Block Eth1 Data v0.6 (#2645) * Get attestation data slot v0.6 (#2593) * attestation.go is ready, tests not * ready for review * fixing linter issues * modified Crosslink and AttestationData proto fields to spec 2.0,marked deprecated fields * gazelle * fixed tests * fixed error * error msg * Process Block Deposits v0.6 (#2647) * imports fixes * deposits tests pass * wrapped up gazelle * spacing * Implement Crosslink Delta Rewards for 0.6 (#2517) * update process crosslink and update existing tests * added a test case to cover no crosslink changes * more test * preston's feedback * spellings * ValidatorStatus Estimating Activation RPC Server (#2469) * fix spacing * working on position in queue * fmt * spacing * feedback * tests * rename * Only Perform Initial Sync With a Single Peer (#2471) * fix spacing * use send instead of broadcast in initial sync * 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> * SSZ web api for decoding input data (#2473) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * standardize slot numbers (#2475) * Add CORS for ssz api (#2476) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * needed CORS * 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 * Update Prysm README (#2477) * README updated * readme updates * no err throw (#2479) * Fix Status Nil Pointer Error (#2480) * no err throw * nil errors * 3.175 (#2482) * Better Error Message if Failing to Exit Initial Sync (#2483) * no err throw * nil errors * better error on init sync * Only Log Active Balances (#2485) * only log active balance * dont need () * change logging (#2487) * fix chainstart waiting on rpc server (#2488) * shift ticker to after activation (#2489) * Add drain script (#2418) * Add drain script * Fix script to drain contracts from newest to oldest * Add README * remove comments * Only after block 400k, look up by deposit event * issue warn log on disconnecting peer instead of error (#2491) * Display Only Active Validator Data (#2490) * Fix Validator Status Field in RPC Server (#2492) * fix status of key * status test fix * fmt * 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 * add production config for testnet release (#2493) * Lookup Validator Index in State in Status Check (#2494) * state lookup * refactor duplicate code * refactor with mapping * fix broken tests * finish refactor * merged master * Starting, I need get_epoch_start_shard * updated EpochCommitteeCount and fixed tests * implemented ShardDelta * test for ShardDelta * implemented EpochStartShard * added epoch out of bound test * test for accurate start shard * lint * need to use changes from latest crosslinks * added BaseReward and totalActiveBalance * added test for base reward * merged master * all tests passing * start testing * done * add ProcessBlockHeader v0.6 (#2534) * add ProcessBlockHeader * function has all its dependancies in place * arange the basic ok test * gazzele and skip test update * skip wrong sig test * fmt imports and change requests * goimports fmt * map for struct fields to be location independent * reorder protobuf fields * added tests * gazzle fix * few change requests fixes * revert changes in types.proto * revert changes in types * fix tests * fix lint * fmt imports * fix gazelle * fix var naming * pb update * var naming * tarance change request fixes * fix test * Add Process Registry for Epoch Processing (#2668) * update update-process-registry * added back the old tests * fmt * gaz * Follow up on process block header v0.6 (#2666) * Putting Crosslink Delta Back (#2654) * update process crosslink and update existing tests * added a test case to cover no crosslink changes * more test * preston's feedback * spellings * ValidatorStatus Estimating Activation RPC Server (#2469) * fix spacing * working on position in queue * fmt * spacing * feedback * tests * rename * Only Perform Initial Sync With a Single Peer (#2471) * fix spacing * use send instead of broadcast in initial sync * 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> * SSZ web api for decoding input data (#2473) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * standardize slot numbers (#2475) * Add CORS for ssz api (#2476) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * needed CORS * 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 * Update Prysm README (#2477) * README updated * readme updates * no err throw (#2479) * Fix Status Nil Pointer Error (#2480) * no err throw * nil errors * 3.175 (#2482) * Better Error Message if Failing to Exit Initial Sync (#2483) * no err throw * nil errors * better error on init sync * Only Log Active Balances (#2485) * only log active balance * dont need () * change logging (#2487) * fix chainstart waiting on rpc server (#2488) * shift ticker to after activation (#2489) * Add drain script (#2418) * Add drain script * Fix script to drain contracts from newest to oldest * Add README * remove comments * Only after block 400k, look up by deposit event * issue warn log on disconnecting peer instead of error (#2491) * Display Only Active Validator Data (#2490) * Fix Validator Status Field in RPC Server (#2492) * fix status of key * status test fix * fmt * 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 * add production config for testnet release (#2493) * Lookup Validator Index in State in Status Check (#2494) * state lookup * refactor duplicate code * refactor with mapping * fix broken tests * finish refactor * merged master * Starting, I need get_epoch_start_shard * updated EpochCommitteeCount and fixed tests * implemented ShardDelta * test for ShardDelta * implemented EpochStartShard * added epoch out of bound test * test for accurate start shard * lint * need to use changes from latest crosslinks * added BaseReward and totalActiveBalance * added test for base reward * merged master * all tests passing * start testing * done * fixed tests * addressed shay's feedback * Implement Attestation Delta for v0.6 (#2646) * update process crosslink and update existing tests * added a test case to cover no crosslink changes * more test * preston's feedback * spellings * ValidatorStatus Estimating Activation RPC Server (#2469) * fix spacing * working on position in queue * fmt * spacing * feedback * tests * rename * Only Perform Initial Sync With a Single Peer (#2471) * fix spacing * use send instead of broadcast in initial sync * 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> * SSZ web api for decoding input data (#2473) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * standardize slot numbers (#2475) * Add CORS for ssz api (#2476) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * needed CORS * 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 * Update Prysm README (#2477) * README updated * readme updates * no err throw (#2479) * Fix Status Nil Pointer Error (#2480) * no err throw * nil errors * 3.175 (#2482) * Better Error Message if Failing to Exit Initial Sync (#2483) * no err throw * nil errors * better error on init sync * Only Log Active Balances (#2485) * only log active balance * dont need () * change logging (#2487) * fix chainstart waiting on rpc server (#2488) * shift ticker to after activation (#2489) * Add drain script (#2418) * Add drain script * Fix script to drain contracts from newest to oldest * Add README * remove comments * Only after block 400k, look up by deposit event * issue warn log on disconnecting peer instead of error (#2491) * Display Only Active Validator Data (#2490) * Fix Validator Status Field in RPC Server (#2492) * fix status of key * status test fix * fmt * 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 * add production config for testnet release (#2493) * Lookup Validator Index in State in Status Check (#2494) * state lookup * refactor duplicate code * refactor with mapping * fix broken tests * finish refactor * merged master * Starting, I need get_epoch_start_shard * updated EpochCommitteeCount and fixed tests * implemented ShardDelta * test for ShardDelta * implemented EpochStartShard * added epoch out of bound test * test for accurate start shard * lint * need to use changes from latest crosslinks * added BaseReward and totalActiveBalance * added test for base reward * implemented process_attestation_delta * comments * comments * merged master * all tests passing * start testing * done * merged master * fixed tests * tests, more to come * tests done * lint * spaces over tabs * addressed shay's feedback * merged master * Implement process_rewards_and_penalties for 0.6 (#2665) * update process crosslink and update existing tests * added a test case to cover no crosslink changes * more test * preston's feedback * spellings * ValidatorStatus Estimating Activation RPC Server (#2469) * fix spacing * working on position in queue * fmt * spacing * feedback * tests * rename * Only Perform Initial Sync With a Single Peer (#2471) * fix spacing * use send instead of broadcast in initial sync * 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> * SSZ web api for decoding input data (#2473) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * standardize slot numbers (#2475) * Add CORS for ssz api (#2476) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * needed CORS * 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 * Update Prysm README (#2477) * README updated * readme updates * no err throw (#2479) * Fix Status Nil Pointer Error (#2480) * no err throw * nil errors * 3.175 (#2482) * Better Error Message if Failing to Exit Initial Sync (#2483) * no err throw * nil errors * better error on init sync * Only Log Active Balances (#2485) * only log active balance * dont need () * change logging (#2487) * fix chainstart waiting on rpc server (#2488) * shift ticker to after activation (#2489) * Add drain script (#2418) * Add drain script * Fix script to drain contracts from newest to oldest * Add README * remove comments * Only after block 400k, look up by deposit event * issue warn log on disconnecting peer instead of error (#2491) * Display Only Active Validator Data (#2490) * Fix Validator Status Field in RPC Server (#2492) * fix status of key * status test fix * fmt * 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 * add production config for testnet release (#2493) * Lookup Validator Index in State in Status Check (#2494) * state lookup * refactor duplicate code * refactor with mapping * fix broken tests * finish refactor * merged master * Starting, I need get_epoch_start_shard * updated EpochCommitteeCount and fixed tests * implemented ShardDelta * test for ShardDelta * implemented EpochStartShard * added epoch out of bound test * test for accurate start shard * lint * need to use changes from latest crosslinks * added BaseReward and totalActiveBalance * added test for base reward * implemented process_attestation_delta * comments * comments * merged master * all tests passing * start testing * done * merged master * fixed tests * tests, more to come * tests done * lint * spaces over tabs * addressed shay's feedback * starting but need to merge a few things... * tests * fmt * Update Slot Processing and State Transition v0.6 (#2664) * edit state transition to add slot processing logic, reorder logic * fix build * lint * tests passing * spacing * tests pass * imports * passing tests * Implement Process Epoch for 0.6 (#2675) * can't find process j f functons * implemented process_epoch * tests done * lint * nishant's feedback * stupid goland replace * goimports * Update CommitteeAssignment (#2693) * cleaned up skipped tests for core processing (#2697) * Process Block Attestations v0.6 (#2650) * attestation.go is ready, tests not * ready for review * fixing linter issues * modified Crosslink and AttestationData proto fields to spec 2.0,marked deprecated fields * gazelle * fixed tests * fixed error * add att processing: * process atts * error msg * finish process attestations logic * spacing * ssz move * inclusion delay failure passing * more attestation tests * more att tests passing * more tests * ffg data mismatching test * ffg tests complete * gofmt * fix testing to match attestation updates * ssz * lint * Fixed Skipped Tests for RPC Server (#2712) * Remove Obsolete Deposit Proto Objects (#2673) * remove deposit data * remove deposit input * fix references * remove deposit helpers * fix all refs * gaz * rgene proto * fix all tests * remove deposit data deprecated field * fix remaining references * fix all tests * fix lint * regen proto * fix test * Remove Deprecated Protobuf State Fields (#2713) * Remove Deprecated Protobuf Crosslink/Slashing/Block Fields (#2714) * Remove Deprecated Beacon Block Proto Fields (#2717) * Remove Deprecated Attestation Proto Fields (#2723) * Cache Shuffled Validator Indices (#2682) * YAML shuffle tests for v0.6 (#2667) * new shuffle tests * added comment for exported function * fix format and print * added config files handling * gazelle fix * shuffle test debugging * added shuffle list and benchmark * hash function addition from nishant code * gazelle fix * remove unused function * few minor changes * add test to test protos optimization * test a bigger list * remove commented code * small changes * fix spec test and test indices to pass * remove empty line * abstraction of repeated code and comment arrangement * terence change requests * fix new test * add small comment for better readability * change from unshuflle to shuffle * comment * better comment * fix all tests * Remove Latest Block (#2721) * lint * remove latest block * lint * add proto * fix build * Fix Deposit Trie (#2686) * remove deposit data * remove deposit input * fix references * remove deposit helpers * fix all refs * gaz * rgene proto * fix all tests * remove deposit data deprecated field * fix remaining references * fix all tests * fix lint * new tests with contract * gaz * more tests * fixed bugs * new test * finally fixed it * gaz * fix test * Remove Committee Cache (#2729) * Benchmark Compute Committee (#2698) * Fixed Skipped Attestation Tests (#2730) * Optimize Shuffled Indices Cache (#2728) * Refactor Deposit Contract Test Setup (#2731) * add new package * fix all tests * lint * change hash function (#2732) * Remove Deprecated Validator Protobuf (#2727) * Remove deprecated validator protos * Fix to comments * Fix most of skipped tests (#2735) * Optimize Base Reward Calculation (#2753) * benchmark process epoch * revert prof.out * Add some optimizations * beware where we use ActiveValidatorIndices... * revert extra file * gaz * quick commit to get feedback * revert extra file * started fixing tests * fixed broken TestProcessCrosslink_NoUpdate * gaz * cache randao seed * fixed all the tests * fmt and lint * spacing * Added todo * lint * revert binary file * started regression test * basic tests done * using a fifo for active indices cache * using a fifo for active count cache * using a fifo for total balance cache * using a fifo for active balance cache * using a fifo for start shard cache * using a fifo for seed cache * gaz * clean up * fixing tests * fixed all the core tests * fixed all the tests!!! * lint * comment * rm'ed commented code * cache size to 1000 should be good enough * optimized base reward * revert binary file * Added comments to calculate adjusted quotient outside * removed deprecated configs (#2755) * Optimize Process Eth1 Data Vote (#2754) * Cleanup and Docs update (#2756) * Add graffiti and update generate seed (#2759) * Benchmark Process Block with Attestations (#2758) * Tidying up Godoc for Core Package (#2762) * Clean up Old RPC Endpoints (#2763) * Update RPC end point for Proposer (#2767) * add RequestBlock * run mockgen * implemented RequestBlock * updated proto definitions * updated tests * updated validator attest tests * done * comment * todo issue * removed unused proto * Cache Active Validator Indices, Count, and Balances (#2737) * Update Deposit Contract (#2648) * lint * add new contract * change version * remove log * generating abi and binary files * fix tests * update to current version * new changes * add new hash function * save hashed nodes * add more things * new method * add update to trie * new stuff * gaz * more stuff * finally fixed build * remove deposit data * Revert "remove deposit data" This reverts commit 9085409e91be0c94550af10290eaad72ad40a6de. * more changes * lint and gaz * lint * Update Shard Helpers for 0.6 (#2497) * ValidatorStatus Estimating Activation RPC Server (#2469) * fix spacing * working on position in queue * fmt * spacing * feedback * tests * rename * Only Perform Initial Sync With a Single Peer (#2471) * fix spacing * use send instead of broadcast in initial sync * 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> * SSZ web api for decoding input data (#2473) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * standardize slot numbers (#2475) * Add CORS for ssz api (#2476) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * needed CORS * 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 * Update Prysm README (#2477) * README updated * readme updates * no err throw (#2479) * Fix Status Nil Pointer Error (#2480) * no err throw * nil errors * 3.175 (#2482) * Better Error Message if Failing to Exit Initial Sync (#2483) * no err throw * nil errors * better error on init sync * Only Log Active Balances (#2485) * only log active balance * dont need () * change logging (#2487) * fix chainstart waiting on rpc server (#2488) * shift ticker to after activation (#2489) * Add drain script (#2418) * Add drain script * Fix script to drain contracts from newest to oldest * Add README * remove comments * Only after block 400k, look up by deposit event * issue warn log on disconnecting peer instead of error (#2491) * Display Only Active Validator Data (#2490) * Fix Validator Status Field in RPC Server (#2492) * fix status of key * status test fix * fmt * 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 * add production config for testnet release (#2493) * Lookup Validator Index in State in Status Check (#2494) * state lookup * refactor duplicate code * refactor with mapping * fix broken tests * finish refactor * merged master * updated EpochCommitteeCount and fixed tests * implemented ShardDelta * test for ShardDelta * implemented EpochStartShard * added epoch out of bound test * test for accurate start shard * lint * Update Genesis State Function to v0.6 (#2465) * add pseudocode * make changes * fix all tests * fix tests * lint * regen protos and mocks * regenerated protos * started fixing core * all core tests passing! * removed shared/forkutils * started fixing blockchain package * lint * updating rpc package * add back deleted stuff * add back deleted stuff that was deleted accidentally * add back protos and mocks * fix errors * fix genesis issue * fix genesis issue for slot ticker * fix all genesis errors * fix build files * temp change for go-ssz * fix test * Revert "temp change for go-ssz" This reverts commit 3411cb9d6d519cb521181486debc3b21603c8873. * update to latest go-ssz * unstaged changes * Update Attester Server RPC Calls (#2773) * Update config and function parameters to v0.7 (#2791) * Minor Updates to 0.7 (#2795) * Refactor Deposit Flow and Cleanup Tests (#2788) * More WIP on cleaning deposit flow * Fix tests * Cleanup and imports * run gazelle * Move deposit to block_operations * gazelle * Update beacon-chain/core/blocks/block_operations.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * Fix docs * Remove unneeded calculations * Fix tests * Fix tests finally (?) * Optimize Committee Assignment RPC (#2787) * Update BlockRoot to BlockHash (#2816) * Fix Final Missing Items in Block Processing v0.6 (#2710) * override config successfully * passes processing * add signing root helper * blockchain tests pass * tests blocked by signing root * lint * fix references * fix protos * proper use of signing root * only few failing tests now * fix final test * tests passing * lint and imports * rem unused * Update beacon-chain/core/blocks/block_operations.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * lint * Update beacon-chain/attestation/service_test.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * Update beacon-chain/db/block_test.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * rename to hash tree root * rename decode to unmarshal * fix * use latest ssz * all tests passing * lint * fmt * Add Config YAML for Spec Tests (#2818) * Align Protobuf Type Names (#2825) * gofmt * Revert "Align Protobuf Type Names (#2825)" (#2827) This reverts commit 882d067144c674bbf4eeee00404acaa0a9b1fd33. * Update Domain Related Functions (#2832) * Add Functions for Compressed and Uncompressed HashG2 With Domain (#2833) * add tests * gaz * lint * Revert "Add Functions for Compressed and Uncompressed HashG2 With Domain (#2833)" (#2835) This reverts commit 7fb2ebf3f12f043d7bd12f43500dc2bd133df573. * Add ConvertToPb to package testutil (#2838) * Block Processing Bug Fixes (#2836) * Update types PB with Size Tags (#2840) * Epoch processing spec tests (#2814) * Remove Deposit Index (#2851) * Shuffle tests revisited (#2829) * first commit * remove old files, add log * remove duplicate yaml testing code * reduce visability * nishant feedback changes * skip TestFromYaml_Pass * added tags to bazel build * gazelle fix * remove unused vars * adda back config * remove config handling * remove unused var * gazelle fix * SSZ compatibility test for protobufs (#2839) * update workspace spec sha * remove yamls from branch * BLS spec tests (#2826) (#2856) * bls spec tests * add more bls tests * use ioutil instead of bazel runfiles * dont read bytes * skip tests that overflow uint64 * manually fix input data * add tests * lint and gaz * add all new changes * some refactoring, cleanup, remove new API methods that only exist for tests * gaz * Remove yamls, skip test * Slot processing spec test (#2813) * eth1data rpc endpoint (#2733) * eth1data rpc endpoint * first version * comment added * gazelle fix * new function to go once over the deposit array * fix tests * export DepositContainer * terence feedback * move structure decleration * binary search * fix block into Block * preston feedback * keep slice sorted to remove overhead in retrival * merge changes * feedback * update to the latest go-ssz * revert change * chnages to fit new ssz * revert merge reversion * go fmt goimprts duplicate string * exception for lint unused doesParentExist * feedback changes * latesteth1data to eth1data * goimports and stop exposing Eth1Data * revert unneeded change * remove exposure of DepositContainer * feedback and fixes * fix workspace duplicate dependancy * greatest number of deposits at current height * add count votes function * change method name * revert back to latesteth1data * latesteth1data * preston feedback * seperate function add tests fix bug * stop exposing voteCountMap * eth1data comment fix * preston feedback * fix tests * new proto files * workspace to default version of ssz * new ssz * chnage test size * marshalled marshaled * Attesting Indices Fix (#2862) * add change * fix one test * fix all tests * add test * clear cache * removed old chaintest, simulated backend and state generator (#2863) * Block Processing Sanity Spec Tests (#2817) * update PrevEpoch * add new changes * shift to blocks package * add more changes * new changes * updated pb with size tags * add new changes * fix errors * uncomment code * more changes * add new changes * rename and lint * gaz * more changes * proccess slot SigningRoot instead of HashTreeRoot * ensure yaml generated structs work * block sanity all passing * minimal and mainnet all pass * remove commented code * fix one test * fix all tests * fix again * no state comparison * matching spec * change target viz * comments gazelle * clear caches before test cases * latest attempts * clean up test format * remove debugging log, remove yaml * unskip attestation * remove skip, check post state, diff state diffs * handle err * add bug fixes * fixed one more bug * fixed churn limit bug * change hashProto to HashTreeRoot * all tests pass :) * fix all tests * gaz * add regression tests * fix test bug * Mutation testing fixes for beacon-chain/core/helpers/attestation.go (#2868) * mutation testing for attestation.go * new line * lint * revert fmt.Errorf deletion * gofmt * Add some fixes for mutation testing on blocks.go (#2869) * Fix sizes * gaz * Spec freeze release candidate spectests * Align Protobuf Type Names (#2872) * Removes some deprecated fields from protobuf (#2877) * search and replace checkpoints * fix tests, except spec tests * Update Configs for Freeze (#2876) * update configs * updated minimal configs * almost there * all tests passing except for spec tests * better comment for MinGenesisTime * done, ready for review * rm seconds per day * feedback * Mutation testing fixes for beacon-chain/core/helpers/committee.go (#2870) * Add some fixes for mutation testing on blocks.go * working on mutation testing fo committee.go * gofmt * goimports * update readme target * update latest sha for spec tests * fix build * Update State Transition Function (#2867) * Change Base Reward Factor (#2888) * Update Freeze Spec Simplification Section - part 1 (#2893) * finished changes to attesting_indices * removed index_count <= 2**40 requirement * lint * reverted index_count <= 2**40 check * added short cut len(a) > len(b) * Update justification bits (#2894) * updated all the helper pseudocodes (#2895) * Make Constants Explicit and Minor Cleanups (#2898) * Rename outdated configs, make constants explicitly delcared * Remove activate_validator, not needed * Remove GenesisSlot and GenesisEpoch * Remove unused import * Move Block Operation Length Checks to ProcessOperations (#2900) * Move block operation length checks to ProcessOperations * Write tests for each length check in ProcessOperations * Remove unneeded test * Move checks to a new function * Move duplicate check back into ProcessOperations * reorder proto fields (#2902) * Slashing Penalty Calculation Change (#2889) * lint * change config val * add max helper * changes to slashing and process slashing, add a min function for integers * gaz * fix failing tests * fix test * fixed all tests * Change Yaml tag * lint * remove gc hack * fix test * gaz * preston's comments * change failing field * fix and regen proto * lint * Implement Compact Committee Root (#2897) * add tags * add function * add new code * add function * add all new changes * lint * add tests * fix tests * fix more tests * fix all outstanding tests * gaz * Update beacon-chain/core/helpers/committee.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * comment * Remove deprecated fields from attestation data (#2892) * fix broken tests * remove comment * fixes * Update Deposit Contract (#2903) * update to new contract * fix references * fix tests * fix some more tests * fix local deposit trie * gaz * shays review * more changes * update WORKSPACE to use 0.8 spec tests * Perform Mutesting in Helpers Package (#2912) * Perform mutesting on validator * Mutesting in helpers package * Mutested eth1data * s/volundary/voluntary (#2914) * Update BLS Domain (#2916) * change from integer to byte slice * add test * fix func for bytes4 * Fix Spec tests (#2907) * fix panics * handle failed transitions * remove log * fix to protos * new changes * remove i * change ssz commit * new changes * update epoch tests * fix epoch testing * fix shuffle tests * fix test * Perform Mutesting in Epoch and State Packages (#2913) * done with updates (#2890) * Add Max Size Tag for Protobuf Fields (#2908) * No more space between ssz-size numbers * Regen pb.go * Fixed a few incorrect proto fields (#2926) * Update Validator Workflow (#2906) * Justification spec tests (#2896) * update go-ssz * Fix SSZ Compatibility Test (#2924) * figuring out how to seqeeze in multiple fields in a tag for pb * Added max tags and regenerated pb.go * updated to new standard * New bitfield types in proto (#2915) * Cast bytes to correct bitfield, failing tests now though * Add forked gogo/protobuf until https://github.com/gogo/protobuf/pull/582 * remove newline * use proper override for gogo-protobuf * fix a few tags * forgot to include custody bits and Slashable not used * Update yaml struct to use pb * Update workspace to use latest ssz * All tests fail * Use the latest go-ssz commit * All pass except for state (too long to taste) * Update test.proto * Added rest of the tests * use 1 justification bits * fix tag test, apply @rauljordan's suggestion * add IsEmpty and use ssz struct * delete unused file * Update zero hash to sha256().digest() (#2932) * update zero hash * change zero hash to conform with spec * goimports * add test for zero hash * Revert "Update zero hash to sha256().digest() (#2932)" (#2933) This reverts commit b926ae0667b18aef3f7e0e8ec8a9b3e98b3d2ccc. * Fix compress validator (#2936) * fix compress validator * update go-ssz * build without the bytes test * try minimal * Block operations spec tests (#2828) * update PrevEpoch * debugging proposer slashing tests * fmt * add deposit tests * Added skeleton for attestation minimal test * remove bazel runfiles thing * add deposits * proposer slashing test is done * comment * complete test, some failing cases * sig verify on * refactor slightly to support mainnet and minimal * included mainnet stuff * Add block header tests * volunary exit done * transfer done * new changes * fix all tests * update domain functions * fmt * fixed lint * fixed all the tests * fixed a transfer bug * finished attester slashing tests and fixed a few bugs * started fixing... * cleaned up exit and proposr slashing tests * attester slashing passing * refactored deposit tests * remove yamls, update ssz * Added todo for invalid sig * gazelle * deposits test done! * transfer tests done and pass! * fix attesting indices bug * temporarily disabled signature verification * cleaned up most of the block ops, except for att * update committee AttestingIndices * oops, i dont know how or why i changed this file * fixed all the rpc tests * 6 more failing packages * test max transfer in state package * replace hashproto with treehash in package blockchain * gazelle * fix test * fix test again * fixed transition test, 2 more left * expect an error in attestation tests * Handle panic when no votes in aggregate attestation * clear cache * Add differ, add logging, tests pass yay * remove todo, add tag * fixed TestReceiveBlock_RemovesPendingDeposits * TestAttestationMinimal/success_since_max_epochs_per_crosslink fails now... * handle panics * Transfer tests were disabled in https://github.com/ethereum/eth2.0-specs/pull/1238 * more fixes after merge, updating block_operations.yaml.go to match yaml * figuring out how to seqeeze in multiple fields in a tag for pb * Added max tags and regenerated pb.go * updated to new standard * New bitfield types in proto (#2915) * Cast bytes to correct bitfield, failing tests now though * Add forked gogo/protobuf until https://github.com/gogo/protobuf/pull/582 * remove newline * fix references and test panic * change to proto objects from custom types * fix panics in tests * use proper override for gogo-protobuf * fix a few tags * fix tests * forgot to include custody bits and Slashable not used * fix tests * sort again * Update yaml struct to use pb * Update workspace to use latest ssz * All tests fail * Use the latest go-ssz commit * All pass except for state (too long to taste) * Update test.proto * Added rest of the tests * use 1 justification bits * minor fixes * wrong proto.Equal * fix tag test, apply @rauljordan's suggestion * add IsEmpty and use ssz struct * inverted logic * update zero hash * change zero hash to conform with spec * goimports * add test for zero hash * Revert "Update zero hash to sha256().digest() (#2932)" This reverts commit b926ae0667b18aef3f7e0e8ec8a9b3e98b3d2ccc. * update ssz, fix import, shard big test * checkpoint * fix compress validator * update go-ssz * missing import * missing import * tests now pass * been a good day * update test size * fix lint * imports and remove unused const * update bazel jobs flag * update bazel jobs flag * satisfy deprecation warning * Add ssz regression tests for investigation of test failures in PR #2828 (#2935) * Adding regression tests for investigation * add another example * goimports * add quick comment about test case 0 * Epoch Process Slashings Spec Tests (#2930) * updated justification bits, tests passing OK * regen pb.go, clarify bit operations * justification and finalization tests; failing * Add wrapper, so we call the correct method * checkpoint * Update tar ref * TestSlashingsMinimal/small_penalty still failing * Use bigint instead of () and float * Revert a bad merge from workspace * Fmt * add note about https://github.com/ethereum/eth2.0-specs/issues/1284 * improve tests * gaz * Perform Mutesting In core/state Package (#2923) * Perform mutesting on validator * Mutesting in helpers package * Mutested eth1data * Perform mutesting in epoch and state packages * Fix voluntary exits test * Fix typo * Fix comments * Fix formatting * Fix error message * Handle missing errors * Handle all errors * Perform Mutesting In State Package * Fix block roots size * Remove comment * Fix error * add backend service * Add ssz compatibility tests for signing root (#2931) * Added tests for signing root * imports * fix lint on travis * fix bes flag * Final updates spec tests (#2901) * set up tests * need to reorder pbs * figuring out how to seqeeze in multiple fields in a tag for pb * Added max tags and regenerated pb.go * updated to new standard * New bitfield types in proto (#2915) * Cast bytes to correct bitfield, failing tests now though * Add forked gogo/protobuf until https://github.com/gogo/protobuf/pull/582 * remove newline * use proper override for gogo-protobuf * fix a few tags * forgot to include custody bits and Slashable not used * playing with tags idea, can revert this commit later * fixes after merge * reset caches before test * all epoch tests pass * gazelle * Genesis trigger (#2905) * genesis change * integrate changes * bodyroot * remove unused code * HasChainStarted * added isValidGenesisState to ProcessLog * state fix * fix gazelle * uint64 timestamp * SetupInitialDeposits adds proof * remove unneeded parts of test * deposithash * merkleproof from spec utils * Revert "merkleproof from spec utils" This reverts commit 1b0a124352e7b62e3c3220fb0d64e295b474b430. * fix test failures * chain started and hashtree root in tests * simple eth2genesistime * eth2 genesis time * fix zero time * add comment * remove eth1data and feedback * fix build issues * main changes: add fields and methods to track active validator count * gaz * fix test * fix more tests * improve test utils * shift spec method to state package, improve test setup * fixed log processing tests * remove log * gaz * fix invalid metric * use better tag names, not latest * Remove Block Signing Root (#2945) * replace with hash tree root * Revert "replace with hash tree root" This reverts commit 77d8f16a160e42f3c3d598df66c30a66657de1bf. * replace with signing root instead * remove one more ref * Create Test Runner for Genesis State Spec Tests (#2940) * genesis change * integrate changes * bodyroot * remove unused code * HasChainStarted * added isValidGenesisState to ProcessLog * state fix * fix gazelle * uint64 timestamp * SetupInitialDeposits adds proof * remove unneeded parts of test * deposithash * merkleproof from spec utils * Revert "merkleproof from spec utils" This reverts commit 1b0a124352e7b62e3c3220fb0d64e295b474b430. * fix test failures * chain started and hashtree root in tests * simple eth2genesistime * eth2 genesis time * fix zero time * add comment * remove eth1data and feedback * fix build issues * main changes: add fields and methods to track active validator count * gaz * fix test * fix more tests * improve test utils * Start genesis spec tests * shift spec method to state package, improve test setup * Add Genesis validity spec test * Bazel * fixed log processing tests * remove log * gaz * fix invalid metric * use json tags * fix up latest changes * Fix most of test errors * Attempts to see whats wrong with genesis validity * Fix merge * skip minimal * fix state test * new commit * fix nishant comment * gaz * Static check on branch spec-v0.6 (#2946) * Ran staticcheck and fixed the important complains * commit * commit * Create Test Runner for Genesis State Spec Tests (#2940) * genesis change * integrate changes * bodyroot * remove unused code * HasChainStarted * added isValidGenesisState to ProcessLog * state fix * fix gazelle * uint64 timestamp * SetupInitialDeposits adds proof * remove unneeded parts of test * deposithash * merkleproof from spec utils * Revert "merkleproof from spec utils" This reverts commit 1b0a124352e7b62e3c3220fb0d64e295b474b430. * fix test failures * chain started and hashtree root in tests * simple eth2genesistime * eth2 genesis time * fix zero time * add comment * remove eth1data and feedback * fix build issues * main changes: add fields and methods to track active validator count * gaz * fix test * fix more tests * improve test utils * Start genesis spec tests * shift spec method to state package, improve test setup * Add Genesis validity spec test * Bazel * fixed log processing tests * remove log * gaz * fix invalid metric * use json tags * fix up latest changes * Fix most of test errors * Attempts to see whats wrong with genesis validity * Fix merge * skip minimal * fix state test * new commit * fix nishant comment * gaz * Add Back Eth1Data After Bad Merge (#2953) * eth1data rpc endpoint * first version * comment added * gazelle fix * new function to go once over the deposit array * fix tests * export DepositContainer * terence feedback * move structure decleration * binary search * fix block into Block * preston feedback * keep slice sorted to remove overhead in retrival * merge changes * feedback * update to the latest go-ssz * revert change * chnages to fit new ssz * revert merge reversion * go fmt goimprts duplicate string * exception for lint unused doesParentExist * feedback changes * latesteth1data to eth1data * goimports and stop exposing Eth1Data * revert unneeded change * remove exposure of DepositContainer * feedback and fixes * fix workspace duplicate dependancy * greatest number of deposits at current height * add count votes function * change method name * revert back to latesteth1data * latesteth1data * preston feedback * seperate function add tests fix bug * stop exposing voteCountMap * eth1data comment fix * preston feedback * fix tests * new proto files * workspace to default version of ssz * new ssz * chnage test size * marshalled marshaled * everything passing again * add skip reason * cleanup deposit contract slightly * remove unused chainstart param (#2957) * fix breakages from #2957 (#2958) * fix breakages from #2957 * oops * Fix deposit input data (#2956) * fix deposit input data * fix deposit input data * gaz and build fix * Add Tests for Genesis Deposits Caching (#2952) * remove old method and replace with an improved one * add new files * gaz * add test * added all these tests * gaz * Apply suggestions from code review Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * fix merkle proof error * fix config * Minor fixes for runtime (#2960) * Minor fixes for runtime * use comments * goimports * revert beacon-chain/core/state/state.go and fix comment for lint * fix test too * Minor runtime fixes (#2961) * Add support for bundling binaries and fix ARM64 builds (#2970) * Add support for bundling binaries and fix ARM64 builds * Fix exports * ignore manual targets wrt vis check * fix graknlabs * update spec tests (#2979) * hotfix until https://github.com/graknlabs/bazel-distribution/pull/169 * Overflow slashing calculation fix (#2977) * Runtime Fixes (#2736) * first batch of fixes * add log * more fixes * another bug fixed * update deposit contract and other fixes * remove logs * new changes * fixes * fix build * remove config * more fixes * add more changes * add back todo * make compute state root work * remove commented out and fix condition * fix commented code * fix config * gaz * remove flag * remove init * new fixes * fix test * one more fix * fix all tests * change back config * fix one more bug * remove logging bool * Only build test targets when running bazel test //... * Align prysm to spec v0.8.1 (#2978) * Bazel problem * Update zero hash representation to be clear (cosmetic) * Update minor cosmetic fixes * Fixed lookahead off by 1 * Update randao.go * update ssz * test failures fixed * test fixes * fix up workspace * lint * fixed errs * Updated pubkey loggings (#2983) * Fix proposer assignment (#2984) * add jvm limits * add jvm limits * Removed logging from state transition functions (#2980) * Match spec on proposer index division (#2985) * Match spec on proposer index division * gaz * fixes * Fix Default Eth1Data (#2982) * fix bug * Update beacon-chain/core/state/transition.go Co-Authored-By: Raul Jordan <raul@prysmaticlabs.com> * more fixes * reg test * Set ejection balance to 1.6 (#2987) * improve block processing log (#2990) * Fix HistoricalRootsLimit (#2989) * fix historical lenght * fix genesis state initialization and test * fix genesis state initialization and test * fix genesis state initialization and test * fix genesis state initialization and test * hack config until https://github.com/prysmaticlabs/prysm/issues/2993 * More Runtime Fixes (#2986) * local changes * add val sig * attester fix * one more fix * fixed all tests * rem validator issue * fix finality issue (#2994) * Fix validator prev balance calculation (#2992) * attester fix * one more fix * fixed all tests * Fix validator prev balances calculation * go fmt * 48 bytes * Fix Querier to handle Deposit Logs Race (#2999) * fix sync issue * fix build * add regression test * add var for magic number * Fix eth1data and deposits (#2996) * Work in progress, eth1data works, deposits are included at the appropriate time, and activation happens at the correct time * revert blockInfo being public * git tests to build, not yet pass though * add tests * some commentary * fix comment * goimports * fmt and remove unused method * Update rules go (#2975) * update rules_go * Fix some cross compile builds stuff * add missing deps * update to 0.19.1 * Update Protobufs to Match Ethereum APIs (#2998) * add beacon block and attestation files * add all types * include all new proto type definitions * add add all proto definitions * fix all comments to say 48 bytes * include latest changes * readd common * no swag * add build file * deps issue * right package names * address feedback, maintain parity between upstream ethereumapis * delete pb * bad gens * Update "Testing Prysm" readme section (#3000) Resolves invalid url link to golangci-lint. * Update badge to version 0.8.1 * elaborate on test skip * revert shared/p2p/options.go * make travis happy with goimports * Update beacon-chain/core/blocks/block.go Co-Authored-By: Preston Van Loon <preston@prysmaticlabs.com>
2019-07-20 00:16:10 +00:00
// DepositContractDepositEventIterator is returned from FilterDepositEvent and is used to iterate over the raw logs and unpacked data for DepositEvent events raised by the DepositContract contract.
type DepositContractDepositEventIterator struct {
Event *DepositContractDepositEvent // Event containing the contract specifics and raw log
contract *bind.BoundContract // Generic contract to use for unpacking event data
event string // Event name to use for unpacking event data
logs chan types.Log // Log channel receiving the found contract events
sub ethereum.Subscription // Subscription for errors, completion and termination
done bool // Whether the subscription completed delivering logs
fail error // Occurred error to stop iteration
}
// Next advances the iterator to the subsequent event, returning whether there
// are any more events found. In case of a retrieval or parsing error, false is
// returned and Error() can be queried for the exact failure.
Spec freeze updates (#2312) * Optimize Shuffled Indices Cache (#2728) * Refactor Deposit Contract Test Setup (#2731) * add new package * fix all tests * lint * change hash function (#2732) * Remove Deprecated Validator Protobuf (#2727) * Remove deprecated validator protos * Fix to comments * Fix most of skipped tests (#2735) * Cache Active Validator Indices, Count, and Balances (#2737) * Optimize Base Reward Calculation (#2753) * benchmark process epoch * revert prof.out * Add some optimizations * beware where we use ActiveValidatorIndices... * revert extra file * gaz * quick commit to get feedback * revert extra file * started fixing tests * fixed broken TestProcessCrosslink_NoUpdate * gaz * cache randao seed * fixed all the tests * fmt and lint * spacing * Added todo * lint * revert binary file * started regression test * basic tests done * using a fifo for active indices cache * using a fifo for active count cache * using a fifo for total balance cache * using a fifo for active balance cache * using a fifo for start shard cache * using a fifo for seed cache * gaz * clean up * fixing tests * fixed all the core tests * fixed all the tests!!! * lint * comment * rm'ed commented code * cache size to 1000 should be good enough * optimized base reward * revert binary file * Added comments to calculate adjusted quotient outside * removed deprecated configs (#2755) * Optimize Process Eth1 Data Vote (#2754) * Cleanup and Docs update (#2756) * Add graffiti and update generate seed (#2759) * Benchmark Process Block with Attestations (#2758) * Tidying up Godoc for Core Package (#2762) * Clean up Old RPC Endpoints (#2763) * Update RPC end point for Proposer (#2767) * add RequestBlock * run mockgen * implemented RequestBlock * updated proto definitions * updated tests * updated validator attest tests * done * comment * todo issue * removed unused proto * Update attesting indices v0.6 (#2449) * sort participants slice * add bitfield functions and tests * added BitfieldBit test * add AttestationParticipantsNew * revert AttestationParticipants to its previous change * add tests * remove verifybitfieldnew * fix tests and remove multiple tests * remove duplicate test * change magic number into ceildiv8 * Implement Justification and finalization Processing (#2448) * Add convert to indexed (#2519) * sort participants slice * add bitfield functions and tests * added BitfieldBit test * add AttestationParticipantsNew * revert AttestationParticipants to its previous change * add tests * remove verifybitfieldnew * fix tests and remove multiple tests * remove duplicate test * start work * convert attestation to indexed attestations * fix test for convert index * remove calling getter * add more tests * remove underscore * changes name to signature (#2535) * update registry updates func (#2521) * update registry updates func * added tests and moved to epoch processing * fixed naming issues * Update Committee Helpers to v0.6.0 (#2398) * Update Committee Helper Part 2 (#2592) * Implement Process Slashings for 0.6 (#2523) * Update Proposer/Attester Slashings and Slashing Helpers (#2603) * Implement Final Updates 0.6 (#2562) * ValidatorStatus Estimating Activation RPC Server (#2469) * fix spacing * working on position in queue * fmt * spacing * feedback * tests * rename * Only Perform Initial Sync With a Single Peer (#2471) * fix spacing * use send instead of broadcast in initial sync * 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> * SSZ web api for decoding input data (#2473) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * standardize slot numbers (#2475) * Add CORS for ssz api (#2476) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * needed CORS * 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 * Update Prysm README (#2477) * README updated * readme updates * no err throw (#2479) * Fix Status Nil Pointer Error (#2480) * no err throw * nil errors * 3.175 (#2482) * Better Error Message if Failing to Exit Initial Sync (#2483) * no err throw * nil errors * better error on init sync * Only Log Active Balances (#2485) * only log active balance * dont need () * change logging (#2487) * fix chainstart waiting on rpc server (#2488) * shift ticker to after activation (#2489) * Add drain script (#2418) * Add drain script * Fix script to drain contracts from newest to oldest * Add README * remove comments * Only after block 400k, look up by deposit event * issue warn log on disconnecting peer instead of error (#2491) * Display Only Active Validator Data (#2490) * Fix Validator Status Field in RPC Server (#2492) * fix status of key * status test fix * fmt * 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 * add production config for testnet release (#2493) * Lookup Validator Index in State in Status Check (#2494) * state lookup * refactor duplicate code * refactor with mapping * fix broken tests * finish refactor * merged master * updated EpochCommitteeCount and fixed tests * implemented ShardDelta * test for ShardDelta * implemented EpochStartShard * added epoch out of bound test * test for accurate start shard * lint * implemented process_final_updates * move to the top of the file * add comment back * gaz * Test for process final updates * fixed tests * fixed all the tests * Update Reward Helper v0.6 (#2470) * added BaseReward * added rewards helper * added test for BaseReward * extra space * move exported function above * update to new spec (#2614) * Update Block Processing Voluntary Exits (#2609) * Update processEth1Data for v0.6 (#2516) * Clean up Helper Functions Part 1 (#2612) * Finalize helper functions for 0.6 (#2632) * Process Beacon Chain Transfers v0.6 (#2642) * add transfers * beacon transfer operations complete * full cov * transfer testing * finished tests * Update beacon-chain/core/blocks/block_operations_test.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * Update beacon-chain/core/blocks/block_operations.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * Implement Process Crosslink From 0.6 (#2460) * Process Block Eth1 Data v0.6 (#2645) * Get attestation data slot v0.6 (#2593) * attestation.go is ready, tests not * ready for review * fixing linter issues * modified Crosslink and AttestationData proto fields to spec 2.0,marked deprecated fields * gazelle * fixed tests * fixed error * error msg * Process Block Deposits v0.6 (#2647) * imports fixes * deposits tests pass * wrapped up gazelle * spacing * Implement Crosslink Delta Rewards for 0.6 (#2517) * update process crosslink and update existing tests * added a test case to cover no crosslink changes * more test * preston's feedback * spellings * ValidatorStatus Estimating Activation RPC Server (#2469) * fix spacing * working on position in queue * fmt * spacing * feedback * tests * rename * Only Perform Initial Sync With a Single Peer (#2471) * fix spacing * use send instead of broadcast in initial sync * 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> * SSZ web api for decoding input data (#2473) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * standardize slot numbers (#2475) * Add CORS for ssz api (#2476) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * needed CORS * 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 * Update Prysm README (#2477) * README updated * readme updates * no err throw (#2479) * Fix Status Nil Pointer Error (#2480) * no err throw * nil errors * 3.175 (#2482) * Better Error Message if Failing to Exit Initial Sync (#2483) * no err throw * nil errors * better error on init sync * Only Log Active Balances (#2485) * only log active balance * dont need () * change logging (#2487) * fix chainstart waiting on rpc server (#2488) * shift ticker to after activation (#2489) * Add drain script (#2418) * Add drain script * Fix script to drain contracts from newest to oldest * Add README * remove comments * Only after block 400k, look up by deposit event * issue warn log on disconnecting peer instead of error (#2491) * Display Only Active Validator Data (#2490) * Fix Validator Status Field in RPC Server (#2492) * fix status of key * status test fix * fmt * 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 * add production config for testnet release (#2493) * Lookup Validator Index in State in Status Check (#2494) * state lookup * refactor duplicate code * refactor with mapping * fix broken tests * finish refactor * merged master * Starting, I need get_epoch_start_shard * updated EpochCommitteeCount and fixed tests * implemented ShardDelta * test for ShardDelta * implemented EpochStartShard * added epoch out of bound test * test for accurate start shard * lint * need to use changes from latest crosslinks * added BaseReward and totalActiveBalance * added test for base reward * merged master * all tests passing * start testing * done * add ProcessBlockHeader v0.6 (#2534) * add ProcessBlockHeader * function has all its dependancies in place * arange the basic ok test * gazzele and skip test update * skip wrong sig test * fmt imports and change requests * goimports fmt * map for struct fields to be location independent * reorder protobuf fields * added tests * gazzle fix * few change requests fixes * revert changes in types.proto * revert changes in types * fix tests * fix lint * fmt imports * fix gazelle * fix var naming * pb update * var naming * tarance change request fixes * fix test * Add Process Registry for Epoch Processing (#2668) * update update-process-registry * added back the old tests * fmt * gaz * Follow up on process block header v0.6 (#2666) * Putting Crosslink Delta Back (#2654) * update process crosslink and update existing tests * added a test case to cover no crosslink changes * more test * preston's feedback * spellings * ValidatorStatus Estimating Activation RPC Server (#2469) * fix spacing * working on position in queue * fmt * spacing * feedback * tests * rename * Only Perform Initial Sync With a Single Peer (#2471) * fix spacing * use send instead of broadcast in initial sync * 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> * SSZ web api for decoding input data (#2473) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * standardize slot numbers (#2475) * Add CORS for ssz api (#2476) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * needed CORS * 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 * Update Prysm README (#2477) * README updated * readme updates * no err throw (#2479) * Fix Status Nil Pointer Error (#2480) * no err throw * nil errors * 3.175 (#2482) * Better Error Message if Failing to Exit Initial Sync (#2483) * no err throw * nil errors * better error on init sync * Only Log Active Balances (#2485) * only log active balance * dont need () * change logging (#2487) * fix chainstart waiting on rpc server (#2488) * shift ticker to after activation (#2489) * Add drain script (#2418) * Add drain script * Fix script to drain contracts from newest to oldest * Add README * remove comments * Only after block 400k, look up by deposit event * issue warn log on disconnecting peer instead of error (#2491) * Display Only Active Validator Data (#2490) * Fix Validator Status Field in RPC Server (#2492) * fix status of key * status test fix * fmt * 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 * add production config for testnet release (#2493) * Lookup Validator Index in State in Status Check (#2494) * state lookup * refactor duplicate code * refactor with mapping * fix broken tests * finish refactor * merged master * Starting, I need get_epoch_start_shard * updated EpochCommitteeCount and fixed tests * implemented ShardDelta * test for ShardDelta * implemented EpochStartShard * added epoch out of bound test * test for accurate start shard * lint * need to use changes from latest crosslinks * added BaseReward and totalActiveBalance * added test for base reward * merged master * all tests passing * start testing * done * fixed tests * addressed shay's feedback * Implement Attestation Delta for v0.6 (#2646) * update process crosslink and update existing tests * added a test case to cover no crosslink changes * more test * preston's feedback * spellings * ValidatorStatus Estimating Activation RPC Server (#2469) * fix spacing * working on position in queue * fmt * spacing * feedback * tests * rename * Only Perform Initial Sync With a Single Peer (#2471) * fix spacing * use send instead of broadcast in initial sync * 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> * SSZ web api for decoding input data (#2473) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * standardize slot numbers (#2475) * Add CORS for ssz api (#2476) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * needed CORS * 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 * Update Prysm README (#2477) * README updated * readme updates * no err throw (#2479) * Fix Status Nil Pointer Error (#2480) * no err throw * nil errors * 3.175 (#2482) * Better Error Message if Failing to Exit Initial Sync (#2483) * no err throw * nil errors * better error on init sync * Only Log Active Balances (#2485) * only log active balance * dont need () * change logging (#2487) * fix chainstart waiting on rpc server (#2488) * shift ticker to after activation (#2489) * Add drain script (#2418) * Add drain script * Fix script to drain contracts from newest to oldest * Add README * remove comments * Only after block 400k, look up by deposit event * issue warn log on disconnecting peer instead of error (#2491) * Display Only Active Validator Data (#2490) * Fix Validator Status Field in RPC Server (#2492) * fix status of key * status test fix * fmt * 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 * add production config for testnet release (#2493) * Lookup Validator Index in State in Status Check (#2494) * state lookup * refactor duplicate code * refactor with mapping * fix broken tests * finish refactor * merged master * Starting, I need get_epoch_start_shard * updated EpochCommitteeCount and fixed tests * implemented ShardDelta * test for ShardDelta * implemented EpochStartShard * added epoch out of bound test * test for accurate start shard * lint * need to use changes from latest crosslinks * added BaseReward and totalActiveBalance * added test for base reward * implemented process_attestation_delta * comments * comments * merged master * all tests passing * start testing * done * merged master * fixed tests * tests, more to come * tests done * lint * spaces over tabs * addressed shay's feedback * merged master * Implement process_rewards_and_penalties for 0.6 (#2665) * update process crosslink and update existing tests * added a test case to cover no crosslink changes * more test * preston's feedback * spellings * ValidatorStatus Estimating Activation RPC Server (#2469) * fix spacing * working on position in queue * fmt * spacing * feedback * tests * rename * Only Perform Initial Sync With a Single Peer (#2471) * fix spacing * use send instead of broadcast in initial sync * 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> * SSZ web api for decoding input data (#2473) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * standardize slot numbers (#2475) * Add CORS for ssz api (#2476) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * needed CORS * 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 * Update Prysm README (#2477) * README updated * readme updates * no err throw (#2479) * Fix Status Nil Pointer Error (#2480) * no err throw * nil errors * 3.175 (#2482) * Better Error Message if Failing to Exit Initial Sync (#2483) * no err throw * nil errors * better error on init sync * Only Log Active Balances (#2485) * only log active balance * dont need () * change logging (#2487) * fix chainstart waiting on rpc server (#2488) * shift ticker to after activation (#2489) * Add drain script (#2418) * Add drain script * Fix script to drain contracts from newest to oldest * Add README * remove comments * Only after block 400k, look up by deposit event * issue warn log on disconnecting peer instead of error (#2491) * Display Only Active Validator Data (#2490) * Fix Validator Status Field in RPC Server (#2492) * fix status of key * status test fix * fmt * 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 * add production config for testnet release (#2493) * Lookup Validator Index in State in Status Check (#2494) * state lookup * refactor duplicate code * refactor with mapping * fix broken tests * finish refactor * merged master * Starting, I need get_epoch_start_shard * updated EpochCommitteeCount and fixed tests * implemented ShardDelta * test for ShardDelta * implemented EpochStartShard * added epoch out of bound test * test for accurate start shard * lint * need to use changes from latest crosslinks * added BaseReward and totalActiveBalance * added test for base reward * implemented process_attestation_delta * comments * comments * merged master * all tests passing * start testing * done * merged master * fixed tests * tests, more to come * tests done * lint * spaces over tabs * addressed shay's feedback * starting but need to merge a few things... * tests * fmt * Update Slot Processing and State Transition v0.6 (#2664) * edit state transition to add slot processing logic, reorder logic * fix build * lint * tests passing * spacing * tests pass * imports * passing tests * Implement Process Epoch for 0.6 (#2675) * can't find process j f functons * implemented process_epoch * tests done * lint * nishant's feedback * stupid goland replace * goimports * Update CommitteeAssignment (#2693) * cleaned up skipped tests for core processing (#2697) * Process Block Attestations v0.6 (#2650) * attestation.go is ready, tests not * ready for review * fixing linter issues * modified Crosslink and AttestationData proto fields to spec 2.0,marked deprecated fields * gazelle * fixed tests * fixed error * add att processing: * process atts * error msg * finish process attestations logic * spacing * ssz move * inclusion delay failure passing * more attestation tests * more att tests passing * more tests * ffg data mismatching test * ffg tests complete * gofmt * fix testing to match attestation updates * ssz * lint * Fixed Skipped Tests for RPC Server (#2712) * Remove Obsolete Deposit Proto Objects (#2673) * remove deposit data * remove deposit input * fix references * remove deposit helpers * fix all refs * gaz * rgene proto * fix all tests * remove deposit data deprecated field * fix remaining references * fix all tests * fix lint * regen proto * fix test * Remove Deprecated Protobuf State Fields (#2713) * Remove Deprecated Protobuf Crosslink/Slashing/Block Fields (#2714) * Remove Deprecated Beacon Block Proto Fields (#2717) * Remove Deprecated Attestation Proto Fields (#2723) * Cache Shuffled Validator Indices (#2682) * YAML shuffle tests for v0.6 (#2667) * new shuffle tests * added comment for exported function * fix format and print * added config files handling * gazelle fix * shuffle test debugging * added shuffle list and benchmark * hash function addition from nishant code * gazelle fix * remove unused function * few minor changes * add test to test protos optimization * test a bigger list * remove commented code * small changes * fix spec test and test indices to pass * remove empty line * abstraction of repeated code and comment arrangement * terence change requests * fix new test * add small comment for better readability * change from unshuflle to shuffle * comment * better comment * fix all tests * Remove Latest Block (#2721) * lint * remove latest block * lint * add proto * fix build * Fix Deposit Trie (#2686) * remove deposit data * remove deposit input * fix references * remove deposit helpers * fix all refs * gaz * rgene proto * fix all tests * remove deposit data deprecated field * fix remaining references * fix all tests * fix lint * new tests with contract * gaz * more tests * fixed bugs * new test * finally fixed it * gaz * fix test * Remove Committee Cache (#2729) * Benchmark Compute Committee (#2698) * Fixed Skipped Attestation Tests (#2730) * Optimize Shuffled Indices Cache (#2728) * Refactor Deposit Contract Test Setup (#2731) * add new package * fix all tests * lint * change hash function (#2732) * Remove Deprecated Validator Protobuf (#2727) * Remove deprecated validator protos * Fix to comments * Fix most of skipped tests (#2735) * Optimize Base Reward Calculation (#2753) * benchmark process epoch * revert prof.out * Add some optimizations * beware where we use ActiveValidatorIndices... * revert extra file * gaz * quick commit to get feedback * revert extra file * started fixing tests * fixed broken TestProcessCrosslink_NoUpdate * gaz * cache randao seed * fixed all the tests * fmt and lint * spacing * Added todo * lint * revert binary file * started regression test * basic tests done * using a fifo for active indices cache * using a fifo for active count cache * using a fifo for total balance cache * using a fifo for active balance cache * using a fifo for start shard cache * using a fifo for seed cache * gaz * clean up * fixing tests * fixed all the core tests * fixed all the tests!!! * lint * comment * rm'ed commented code * cache size to 1000 should be good enough * optimized base reward * revert binary file * Added comments to calculate adjusted quotient outside * removed deprecated configs (#2755) * Optimize Process Eth1 Data Vote (#2754) * Cleanup and Docs update (#2756) * Add graffiti and update generate seed (#2759) * Benchmark Process Block with Attestations (#2758) * Tidying up Godoc for Core Package (#2762) * Clean up Old RPC Endpoints (#2763) * Update RPC end point for Proposer (#2767) * add RequestBlock * run mockgen * implemented RequestBlock * updated proto definitions * updated tests * updated validator attest tests * done * comment * todo issue * removed unused proto * Cache Active Validator Indices, Count, and Balances (#2737) * Update Deposit Contract (#2648) * lint * add new contract * change version * remove log * generating abi and binary files * fix tests * update to current version * new changes * add new hash function * save hashed nodes * add more things * new method * add update to trie * new stuff * gaz * more stuff * finally fixed build * remove deposit data * Revert "remove deposit data" This reverts commit 9085409e91be0c94550af10290eaad72ad40a6de. * more changes * lint and gaz * lint * Update Shard Helpers for 0.6 (#2497) * ValidatorStatus Estimating Activation RPC Server (#2469) * fix spacing * working on position in queue * fmt * spacing * feedback * tests * rename * Only Perform Initial Sync With a Single Peer (#2471) * fix spacing * use send instead of broadcast in initial sync * 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> * SSZ web api for decoding input data (#2473) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * standardize slot numbers (#2475) * Add CORS for ssz api (#2476) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * needed CORS * 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 * Update Prysm README (#2477) * README updated * readme updates * no err throw (#2479) * Fix Status Nil Pointer Error (#2480) * no err throw * nil errors * 3.175 (#2482) * Better Error Message if Failing to Exit Initial Sync (#2483) * no err throw * nil errors * better error on init sync * Only Log Active Balances (#2485) * only log active balance * dont need () * change logging (#2487) * fix chainstart waiting on rpc server (#2488) * shift ticker to after activation (#2489) * Add drain script (#2418) * Add drain script * Fix script to drain contracts from newest to oldest * Add README * remove comments * Only after block 400k, look up by deposit event * issue warn log on disconnecting peer instead of error (#2491) * Display Only Active Validator Data (#2490) * Fix Validator Status Field in RPC Server (#2492) * fix status of key * status test fix * fmt * 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 * add production config for testnet release (#2493) * Lookup Validator Index in State in Status Check (#2494) * state lookup * refactor duplicate code * refactor with mapping * fix broken tests * finish refactor * merged master * updated EpochCommitteeCount and fixed tests * implemented ShardDelta * test for ShardDelta * implemented EpochStartShard * added epoch out of bound test * test for accurate start shard * lint * Update Genesis State Function to v0.6 (#2465) * add pseudocode * make changes * fix all tests * fix tests * lint * regen protos and mocks * regenerated protos * started fixing core * all core tests passing! * removed shared/forkutils * started fixing blockchain package * lint * updating rpc package * add back deleted stuff * add back deleted stuff that was deleted accidentally * add back protos and mocks * fix errors * fix genesis issue * fix genesis issue for slot ticker * fix all genesis errors * fix build files * temp change for go-ssz * fix test * Revert "temp change for go-ssz" This reverts commit 3411cb9d6d519cb521181486debc3b21603c8873. * update to latest go-ssz * unstaged changes * Update Attester Server RPC Calls (#2773) * Update config and function parameters to v0.7 (#2791) * Minor Updates to 0.7 (#2795) * Refactor Deposit Flow and Cleanup Tests (#2788) * More WIP on cleaning deposit flow * Fix tests * Cleanup and imports * run gazelle * Move deposit to block_operations * gazelle * Update beacon-chain/core/blocks/block_operations.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * Fix docs * Remove unneeded calculations * Fix tests * Fix tests finally (?) * Optimize Committee Assignment RPC (#2787) * Update BlockRoot to BlockHash (#2816) * Fix Final Missing Items in Block Processing v0.6 (#2710) * override config successfully * passes processing * add signing root helper * blockchain tests pass * tests blocked by signing root * lint * fix references * fix protos * proper use of signing root * only few failing tests now * fix final test * tests passing * lint and imports * rem unused * Update beacon-chain/core/blocks/block_operations.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * lint * Update beacon-chain/attestation/service_test.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * Update beacon-chain/db/block_test.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * rename to hash tree root * rename decode to unmarshal * fix * use latest ssz * all tests passing * lint * fmt * Add Config YAML for Spec Tests (#2818) * Align Protobuf Type Names (#2825) * gofmt * Revert "Align Protobuf Type Names (#2825)" (#2827) This reverts commit 882d067144c674bbf4eeee00404acaa0a9b1fd33. * Update Domain Related Functions (#2832) * Add Functions for Compressed and Uncompressed HashG2 With Domain (#2833) * add tests * gaz * lint * Revert "Add Functions for Compressed and Uncompressed HashG2 With Domain (#2833)" (#2835) This reverts commit 7fb2ebf3f12f043d7bd12f43500dc2bd133df573. * Add ConvertToPb to package testutil (#2838) * Block Processing Bug Fixes (#2836) * Update types PB with Size Tags (#2840) * Epoch processing spec tests (#2814) * Remove Deposit Index (#2851) * Shuffle tests revisited (#2829) * first commit * remove old files, add log * remove duplicate yaml testing code * reduce visability * nishant feedback changes * skip TestFromYaml_Pass * added tags to bazel build * gazelle fix * remove unused vars * adda back config * remove config handling * remove unused var * gazelle fix * SSZ compatibility test for protobufs (#2839) * update workspace spec sha * remove yamls from branch * BLS spec tests (#2826) (#2856) * bls spec tests * add more bls tests * use ioutil instead of bazel runfiles * dont read bytes * skip tests that overflow uint64 * manually fix input data * add tests * lint and gaz * add all new changes * some refactoring, cleanup, remove new API methods that only exist for tests * gaz * Remove yamls, skip test * Slot processing spec test (#2813) * eth1data rpc endpoint (#2733) * eth1data rpc endpoint * first version * comment added * gazelle fix * new function to go once over the deposit array * fix tests * export DepositContainer * terence feedback * move structure decleration * binary search * fix block into Block * preston feedback * keep slice sorted to remove overhead in retrival * merge changes * feedback * update to the latest go-ssz * revert change * chnages to fit new ssz * revert merge reversion * go fmt goimprts duplicate string * exception for lint unused doesParentExist * feedback changes * latesteth1data to eth1data * goimports and stop exposing Eth1Data * revert unneeded change * remove exposure of DepositContainer * feedback and fixes * fix workspace duplicate dependancy * greatest number of deposits at current height * add count votes function * change method name * revert back to latesteth1data * latesteth1data * preston feedback * seperate function add tests fix bug * stop exposing voteCountMap * eth1data comment fix * preston feedback * fix tests * new proto files * workspace to default version of ssz * new ssz * chnage test size * marshalled marshaled * Attesting Indices Fix (#2862) * add change * fix one test * fix all tests * add test * clear cache * removed old chaintest, simulated backend and state generator (#2863) * Block Processing Sanity Spec Tests (#2817) * update PrevEpoch * add new changes * shift to blocks package * add more changes * new changes * updated pb with size tags * add new changes * fix errors * uncomment code * more changes * add new changes * rename and lint * gaz * more changes * proccess slot SigningRoot instead of HashTreeRoot * ensure yaml generated structs work * block sanity all passing * minimal and mainnet all pass * remove commented code * fix one test * fix all tests * fix again * no state comparison * matching spec * change target viz * comments gazelle * clear caches before test cases * latest attempts * clean up test format * remove debugging log, remove yaml * unskip attestation * remove skip, check post state, diff state diffs * handle err * add bug fixes * fixed one more bug * fixed churn limit bug * change hashProto to HashTreeRoot * all tests pass :) * fix all tests * gaz * add regression tests * fix test bug * Mutation testing fixes for beacon-chain/core/helpers/attestation.go (#2868) * mutation testing for attestation.go * new line * lint * revert fmt.Errorf deletion * gofmt * Add some fixes for mutation testing on blocks.go (#2869) * Fix sizes * gaz * Spec freeze release candidate spectests * Align Protobuf Type Names (#2872) * Removes some deprecated fields from protobuf (#2877) * search and replace checkpoints * fix tests, except spec tests * Update Configs for Freeze (#2876) * update configs * updated minimal configs * almost there * all tests passing except for spec tests * better comment for MinGenesisTime * done, ready for review * rm seconds per day * feedback * Mutation testing fixes for beacon-chain/core/helpers/committee.go (#2870) * Add some fixes for mutation testing on blocks.go * working on mutation testing fo committee.go * gofmt * goimports * update readme target * update latest sha for spec tests * fix build * Update State Transition Function (#2867) * Change Base Reward Factor (#2888) * Update Freeze Spec Simplification Section - part 1 (#2893) * finished changes to attesting_indices * removed index_count <= 2**40 requirement * lint * reverted index_count <= 2**40 check * added short cut len(a) > len(b) * Update justification bits (#2894) * updated all the helper pseudocodes (#2895) * Make Constants Explicit and Minor Cleanups (#2898) * Rename outdated configs, make constants explicitly delcared * Remove activate_validator, not needed * Remove GenesisSlot and GenesisEpoch * Remove unused import * Move Block Operation Length Checks to ProcessOperations (#2900) * Move block operation length checks to ProcessOperations * Write tests for each length check in ProcessOperations * Remove unneeded test * Move checks to a new function * Move duplicate check back into ProcessOperations * reorder proto fields (#2902) * Slashing Penalty Calculation Change (#2889) * lint * change config val * add max helper * changes to slashing and process slashing, add a min function for integers * gaz * fix failing tests * fix test * fixed all tests * Change Yaml tag * lint * remove gc hack * fix test * gaz * preston's comments * change failing field * fix and regen proto * lint * Implement Compact Committee Root (#2897) * add tags * add function * add new code * add function * add all new changes * lint * add tests * fix tests * fix more tests * fix all outstanding tests * gaz * Update beacon-chain/core/helpers/committee.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * comment * Remove deprecated fields from attestation data (#2892) * fix broken tests * remove comment * fixes * Update Deposit Contract (#2903) * update to new contract * fix references * fix tests * fix some more tests * fix local deposit trie * gaz * shays review * more changes * update WORKSPACE to use 0.8 spec tests * Perform Mutesting in Helpers Package (#2912) * Perform mutesting on validator * Mutesting in helpers package * Mutested eth1data * s/volundary/voluntary (#2914) * Update BLS Domain (#2916) * change from integer to byte slice * add test * fix func for bytes4 * Fix Spec tests (#2907) * fix panics * handle failed transitions * remove log * fix to protos * new changes * remove i * change ssz commit * new changes * update epoch tests * fix epoch testing * fix shuffle tests * fix test * Perform Mutesting in Epoch and State Packages (#2913) * done with updates (#2890) * Add Max Size Tag for Protobuf Fields (#2908) * No more space between ssz-size numbers * Regen pb.go * Fixed a few incorrect proto fields (#2926) * Update Validator Workflow (#2906) * Justification spec tests (#2896) * update go-ssz * Fix SSZ Compatibility Test (#2924) * figuring out how to seqeeze in multiple fields in a tag for pb * Added max tags and regenerated pb.go * updated to new standard * New bitfield types in proto (#2915) * Cast bytes to correct bitfield, failing tests now though * Add forked gogo/protobuf until https://github.com/gogo/protobuf/pull/582 * remove newline * use proper override for gogo-protobuf * fix a few tags * forgot to include custody bits and Slashable not used * Update yaml struct to use pb * Update workspace to use latest ssz * All tests fail * Use the latest go-ssz commit * All pass except for state (too long to taste) * Update test.proto * Added rest of the tests * use 1 justification bits * fix tag test, apply @rauljordan's suggestion * add IsEmpty and use ssz struct * delete unused file * Update zero hash to sha256().digest() (#2932) * update zero hash * change zero hash to conform with spec * goimports * add test for zero hash * Revert "Update zero hash to sha256().digest() (#2932)" (#2933) This reverts commit b926ae0667b18aef3f7e0e8ec8a9b3e98b3d2ccc. * Fix compress validator (#2936) * fix compress validator * update go-ssz * build without the bytes test * try minimal * Block operations spec tests (#2828) * update PrevEpoch * debugging proposer slashing tests * fmt * add deposit tests * Added skeleton for attestation minimal test * remove bazel runfiles thing * add deposits * proposer slashing test is done * comment * complete test, some failing cases * sig verify on * refactor slightly to support mainnet and minimal * included mainnet stuff * Add block header tests * volunary exit done * transfer done * new changes * fix all tests * update domain functions * fmt * fixed lint * fixed all the tests * fixed a transfer bug * finished attester slashing tests and fixed a few bugs * started fixing... * cleaned up exit and proposr slashing tests * attester slashing passing * refactored deposit tests * remove yamls, update ssz * Added todo for invalid sig * gazelle * deposits test done! * transfer tests done and pass! * fix attesting indices bug * temporarily disabled signature verification * cleaned up most of the block ops, except for att * update committee AttestingIndices * oops, i dont know how or why i changed this file * fixed all the rpc tests * 6 more failing packages * test max transfer in state package * replace hashproto with treehash in package blockchain * gazelle * fix test * fix test again * fixed transition test, 2 more left * expect an error in attestation tests * Handle panic when no votes in aggregate attestation * clear cache * Add differ, add logging, tests pass yay * remove todo, add tag * fixed TestReceiveBlock_RemovesPendingDeposits * TestAttestationMinimal/success_since_max_epochs_per_crosslink fails now... * handle panics * Transfer tests were disabled in https://github.com/ethereum/eth2.0-specs/pull/1238 * more fixes after merge, updating block_operations.yaml.go to match yaml * figuring out how to seqeeze in multiple fields in a tag for pb * Added max tags and regenerated pb.go * updated to new standard * New bitfield types in proto (#2915) * Cast bytes to correct bitfield, failing tests now though * Add forked gogo/protobuf until https://github.com/gogo/protobuf/pull/582 * remove newline * fix references and test panic * change to proto objects from custom types * fix panics in tests * use proper override for gogo-protobuf * fix a few tags * fix tests * forgot to include custody bits and Slashable not used * fix tests * sort again * Update yaml struct to use pb * Update workspace to use latest ssz * All tests fail * Use the latest go-ssz commit * All pass except for state (too long to taste) * Update test.proto * Added rest of the tests * use 1 justification bits * minor fixes * wrong proto.Equal * fix tag test, apply @rauljordan's suggestion * add IsEmpty and use ssz struct * inverted logic * update zero hash * change zero hash to conform with spec * goimports * add test for zero hash * Revert "Update zero hash to sha256().digest() (#2932)" This reverts commit b926ae0667b18aef3f7e0e8ec8a9b3e98b3d2ccc. * update ssz, fix import, shard big test * checkpoint * fix compress validator * update go-ssz * missing import * missing import * tests now pass * been a good day * update test size * fix lint * imports and remove unused const * update bazel jobs flag * update bazel jobs flag * satisfy deprecation warning * Add ssz regression tests for investigation of test failures in PR #2828 (#2935) * Adding regression tests for investigation * add another example * goimports * add quick comment about test case 0 * Epoch Process Slashings Spec Tests (#2930) * updated justification bits, tests passing OK * regen pb.go, clarify bit operations * justification and finalization tests; failing * Add wrapper, so we call the correct method * checkpoint * Update tar ref * TestSlashingsMinimal/small_penalty still failing * Use bigint instead of () and float * Revert a bad merge from workspace * Fmt * add note about https://github.com/ethereum/eth2.0-specs/issues/1284 * improve tests * gaz * Perform Mutesting In core/state Package (#2923) * Perform mutesting on validator * Mutesting in helpers package * Mutested eth1data * Perform mutesting in epoch and state packages * Fix voluntary exits test * Fix typo * Fix comments * Fix formatting * Fix error message * Handle missing errors * Handle all errors * Perform Mutesting In State Package * Fix block roots size * Remove comment * Fix error * add backend service * Add ssz compatibility tests for signing root (#2931) * Added tests for signing root * imports * fix lint on travis * fix bes flag * Final updates spec tests (#2901) * set up tests * need to reorder pbs * figuring out how to seqeeze in multiple fields in a tag for pb * Added max tags and regenerated pb.go * updated to new standard * New bitfield types in proto (#2915) * Cast bytes to correct bitfield, failing tests now though * Add forked gogo/protobuf until https://github.com/gogo/protobuf/pull/582 * remove newline * use proper override for gogo-protobuf * fix a few tags * forgot to include custody bits and Slashable not used * playing with tags idea, can revert this commit later * fixes after merge * reset caches before test * all epoch tests pass * gazelle * Genesis trigger (#2905) * genesis change * integrate changes * bodyroot * remove unused code * HasChainStarted * added isValidGenesisState to ProcessLog * state fix * fix gazelle * uint64 timestamp * SetupInitialDeposits adds proof * remove unneeded parts of test * deposithash * merkleproof from spec utils * Revert "merkleproof from spec utils" This reverts commit 1b0a124352e7b62e3c3220fb0d64e295b474b430. * fix test failures * chain started and hashtree root in tests * simple eth2genesistime * eth2 genesis time * fix zero time * add comment * remove eth1data and feedback * fix build issues * main changes: add fields and methods to track active validator count * gaz * fix test * fix more tests * improve test utils * shift spec method to state package, improve test setup * fixed log processing tests * remove log * gaz * fix invalid metric * use better tag names, not latest * Remove Block Signing Root (#2945) * replace with hash tree root * Revert "replace with hash tree root" This reverts commit 77d8f16a160e42f3c3d598df66c30a66657de1bf. * replace with signing root instead * remove one more ref * Create Test Runner for Genesis State Spec Tests (#2940) * genesis change * integrate changes * bodyroot * remove unused code * HasChainStarted * added isValidGenesisState to ProcessLog * state fix * fix gazelle * uint64 timestamp * SetupInitialDeposits adds proof * remove unneeded parts of test * deposithash * merkleproof from spec utils * Revert "merkleproof from spec utils" This reverts commit 1b0a124352e7b62e3c3220fb0d64e295b474b430. * fix test failures * chain started and hashtree root in tests * simple eth2genesistime * eth2 genesis time * fix zero time * add comment * remove eth1data and feedback * fix build issues * main changes: add fields and methods to track active validator count * gaz * fix test * fix more tests * improve test utils * Start genesis spec tests * shift spec method to state package, improve test setup * Add Genesis validity spec test * Bazel * fixed log processing tests * remove log * gaz * fix invalid metric * use json tags * fix up latest changes * Fix most of test errors * Attempts to see whats wrong with genesis validity * Fix merge * skip minimal * fix state test * new commit * fix nishant comment * gaz * Static check on branch spec-v0.6 (#2946) * Ran staticcheck and fixed the important complains * commit * commit * Create Test Runner for Genesis State Spec Tests (#2940) * genesis change * integrate changes * bodyroot * remove unused code * HasChainStarted * added isValidGenesisState to ProcessLog * state fix * fix gazelle * uint64 timestamp * SetupInitialDeposits adds proof * remove unneeded parts of test * deposithash * merkleproof from spec utils * Revert "merkleproof from spec utils" This reverts commit 1b0a124352e7b62e3c3220fb0d64e295b474b430. * fix test failures * chain started and hashtree root in tests * simple eth2genesistime * eth2 genesis time * fix zero time * add comment * remove eth1data and feedback * fix build issues * main changes: add fields and methods to track active validator count * gaz * fix test * fix more tests * improve test utils * Start genesis spec tests * shift spec method to state package, improve test setup * Add Genesis validity spec test * Bazel * fixed log processing tests * remove log * gaz * fix invalid metric * use json tags * fix up latest changes * Fix most of test errors * Attempts to see whats wrong with genesis validity * Fix merge * skip minimal * fix state test * new commit * fix nishant comment * gaz * Add Back Eth1Data After Bad Merge (#2953) * eth1data rpc endpoint * first version * comment added * gazelle fix * new function to go once over the deposit array * fix tests * export DepositContainer * terence feedback * move structure decleration * binary search * fix block into Block * preston feedback * keep slice sorted to remove overhead in retrival * merge changes * feedback * update to the latest go-ssz * revert change * chnages to fit new ssz * revert merge reversion * go fmt goimprts duplicate string * exception for lint unused doesParentExist * feedback changes * latesteth1data to eth1data * goimports and stop exposing Eth1Data * revert unneeded change * remove exposure of DepositContainer * feedback and fixes * fix workspace duplicate dependancy * greatest number of deposits at current height * add count votes function * change method name * revert back to latesteth1data * latesteth1data * preston feedback * seperate function add tests fix bug * stop exposing voteCountMap * eth1data comment fix * preston feedback * fix tests * new proto files * workspace to default version of ssz * new ssz * chnage test size * marshalled marshaled * everything passing again * add skip reason * cleanup deposit contract slightly * remove unused chainstart param (#2957) * fix breakages from #2957 (#2958) * fix breakages from #2957 * oops * Fix deposit input data (#2956) * fix deposit input data * fix deposit input data * gaz and build fix * Add Tests for Genesis Deposits Caching (#2952) * remove old method and replace with an improved one * add new files * gaz * add test * added all these tests * gaz * Apply suggestions from code review Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * fix merkle proof error * fix config * Minor fixes for runtime (#2960) * Minor fixes for runtime * use comments * goimports * revert beacon-chain/core/state/state.go and fix comment for lint * fix test too * Minor runtime fixes (#2961) * Add support for bundling binaries and fix ARM64 builds (#2970) * Add support for bundling binaries and fix ARM64 builds * Fix exports * ignore manual targets wrt vis check * fix graknlabs * update spec tests (#2979) * hotfix until https://github.com/graknlabs/bazel-distribution/pull/169 * Overflow slashing calculation fix (#2977) * Runtime Fixes (#2736) * first batch of fixes * add log * more fixes * another bug fixed * update deposit contract and other fixes * remove logs * new changes * fixes * fix build * remove config * more fixes * add more changes * add back todo * make compute state root work * remove commented out and fix condition * fix commented code * fix config * gaz * remove flag * remove init * new fixes * fix test * one more fix * fix all tests * change back config * fix one more bug * remove logging bool * Only build test targets when running bazel test //... * Align prysm to spec v0.8.1 (#2978) * Bazel problem * Update zero hash representation to be clear (cosmetic) * Update minor cosmetic fixes * Fixed lookahead off by 1 * Update randao.go * update ssz * test failures fixed * test fixes * fix up workspace * lint * fixed errs * Updated pubkey loggings (#2983) * Fix proposer assignment (#2984) * add jvm limits * add jvm limits * Removed logging from state transition functions (#2980) * Match spec on proposer index division (#2985) * Match spec on proposer index division * gaz * fixes * Fix Default Eth1Data (#2982) * fix bug * Update beacon-chain/core/state/transition.go Co-Authored-By: Raul Jordan <raul@prysmaticlabs.com> * more fixes * reg test * Set ejection balance to 1.6 (#2987) * improve block processing log (#2990) * Fix HistoricalRootsLimit (#2989) * fix historical lenght * fix genesis state initialization and test * fix genesis state initialization and test * fix genesis state initialization and test * fix genesis state initialization and test * hack config until https://github.com/prysmaticlabs/prysm/issues/2993 * More Runtime Fixes (#2986) * local changes * add val sig * attester fix * one more fix * fixed all tests * rem validator issue * fix finality issue (#2994) * Fix validator prev balance calculation (#2992) * attester fix * one more fix * fixed all tests * Fix validator prev balances calculation * go fmt * 48 bytes * Fix Querier to handle Deposit Logs Race (#2999) * fix sync issue * fix build * add regression test * add var for magic number * Fix eth1data and deposits (#2996) * Work in progress, eth1data works, deposits are included at the appropriate time, and activation happens at the correct time * revert blockInfo being public * git tests to build, not yet pass though * add tests * some commentary * fix comment * goimports * fmt and remove unused method * Update rules go (#2975) * update rules_go * Fix some cross compile builds stuff * add missing deps * update to 0.19.1 * Update Protobufs to Match Ethereum APIs (#2998) * add beacon block and attestation files * add all types * include all new proto type definitions * add add all proto definitions * fix all comments to say 48 bytes * include latest changes * readd common * no swag * add build file * deps issue * right package names * address feedback, maintain parity between upstream ethereumapis * delete pb * bad gens * Update "Testing Prysm" readme section (#3000) Resolves invalid url link to golangci-lint. * Update badge to version 0.8.1 * elaborate on test skip * revert shared/p2p/options.go * make travis happy with goimports * Update beacon-chain/core/blocks/block.go Co-Authored-By: Preston Van Loon <preston@prysmaticlabs.com>
2019-07-20 00:16:10 +00:00
func (it *DepositContractDepositEventIterator) Next() bool {
// If the iterator failed, stop iterating
if it.fail != nil {
return false
}
// If the iterator completed, deliver directly whatever's available
if it.done {
select {
case log := <-it.logs:
Spec freeze updates (#2312) * Optimize Shuffled Indices Cache (#2728) * Refactor Deposit Contract Test Setup (#2731) * add new package * fix all tests * lint * change hash function (#2732) * Remove Deprecated Validator Protobuf (#2727) * Remove deprecated validator protos * Fix to comments * Fix most of skipped tests (#2735) * Cache Active Validator Indices, Count, and Balances (#2737) * Optimize Base Reward Calculation (#2753) * benchmark process epoch * revert prof.out * Add some optimizations * beware where we use ActiveValidatorIndices... * revert extra file * gaz * quick commit to get feedback * revert extra file * started fixing tests * fixed broken TestProcessCrosslink_NoUpdate * gaz * cache randao seed * fixed all the tests * fmt and lint * spacing * Added todo * lint * revert binary file * started regression test * basic tests done * using a fifo for active indices cache * using a fifo for active count cache * using a fifo for total balance cache * using a fifo for active balance cache * using a fifo for start shard cache * using a fifo for seed cache * gaz * clean up * fixing tests * fixed all the core tests * fixed all the tests!!! * lint * comment * rm'ed commented code * cache size to 1000 should be good enough * optimized base reward * revert binary file * Added comments to calculate adjusted quotient outside * removed deprecated configs (#2755) * Optimize Process Eth1 Data Vote (#2754) * Cleanup and Docs update (#2756) * Add graffiti and update generate seed (#2759) * Benchmark Process Block with Attestations (#2758) * Tidying up Godoc for Core Package (#2762) * Clean up Old RPC Endpoints (#2763) * Update RPC end point for Proposer (#2767) * add RequestBlock * run mockgen * implemented RequestBlock * updated proto definitions * updated tests * updated validator attest tests * done * comment * todo issue * removed unused proto * Update attesting indices v0.6 (#2449) * sort participants slice * add bitfield functions and tests * added BitfieldBit test * add AttestationParticipantsNew * revert AttestationParticipants to its previous change * add tests * remove verifybitfieldnew * fix tests and remove multiple tests * remove duplicate test * change magic number into ceildiv8 * Implement Justification and finalization Processing (#2448) * Add convert to indexed (#2519) * sort participants slice * add bitfield functions and tests * added BitfieldBit test * add AttestationParticipantsNew * revert AttestationParticipants to its previous change * add tests * remove verifybitfieldnew * fix tests and remove multiple tests * remove duplicate test * start work * convert attestation to indexed attestations * fix test for convert index * remove calling getter * add more tests * remove underscore * changes name to signature (#2535) * update registry updates func (#2521) * update registry updates func * added tests and moved to epoch processing * fixed naming issues * Update Committee Helpers to v0.6.0 (#2398) * Update Committee Helper Part 2 (#2592) * Implement Process Slashings for 0.6 (#2523) * Update Proposer/Attester Slashings and Slashing Helpers (#2603) * Implement Final Updates 0.6 (#2562) * ValidatorStatus Estimating Activation RPC Server (#2469) * fix spacing * working on position in queue * fmt * spacing * feedback * tests * rename * Only Perform Initial Sync With a Single Peer (#2471) * fix spacing * use send instead of broadcast in initial sync * 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> * SSZ web api for decoding input data (#2473) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * standardize slot numbers (#2475) * Add CORS for ssz api (#2476) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * needed CORS * 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 * Update Prysm README (#2477) * README updated * readme updates * no err throw (#2479) * Fix Status Nil Pointer Error (#2480) * no err throw * nil errors * 3.175 (#2482) * Better Error Message if Failing to Exit Initial Sync (#2483) * no err throw * nil errors * better error on init sync * Only Log Active Balances (#2485) * only log active balance * dont need () * change logging (#2487) * fix chainstart waiting on rpc server (#2488) * shift ticker to after activation (#2489) * Add drain script (#2418) * Add drain script * Fix script to drain contracts from newest to oldest * Add README * remove comments * Only after block 400k, look up by deposit event * issue warn log on disconnecting peer instead of error (#2491) * Display Only Active Validator Data (#2490) * Fix Validator Status Field in RPC Server (#2492) * fix status of key * status test fix * fmt * 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 * add production config for testnet release (#2493) * Lookup Validator Index in State in Status Check (#2494) * state lookup * refactor duplicate code * refactor with mapping * fix broken tests * finish refactor * merged master * updated EpochCommitteeCount and fixed tests * implemented ShardDelta * test for ShardDelta * implemented EpochStartShard * added epoch out of bound test * test for accurate start shard * lint * implemented process_final_updates * move to the top of the file * add comment back * gaz * Test for process final updates * fixed tests * fixed all the tests * Update Reward Helper v0.6 (#2470) * added BaseReward * added rewards helper * added test for BaseReward * extra space * move exported function above * update to new spec (#2614) * Update Block Processing Voluntary Exits (#2609) * Update processEth1Data for v0.6 (#2516) * Clean up Helper Functions Part 1 (#2612) * Finalize helper functions for 0.6 (#2632) * Process Beacon Chain Transfers v0.6 (#2642) * add transfers * beacon transfer operations complete * full cov * transfer testing * finished tests * Update beacon-chain/core/blocks/block_operations_test.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * Update beacon-chain/core/blocks/block_operations.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * Implement Process Crosslink From 0.6 (#2460) * Process Block Eth1 Data v0.6 (#2645) * Get attestation data slot v0.6 (#2593) * attestation.go is ready, tests not * ready for review * fixing linter issues * modified Crosslink and AttestationData proto fields to spec 2.0,marked deprecated fields * gazelle * fixed tests * fixed error * error msg * Process Block Deposits v0.6 (#2647) * imports fixes * deposits tests pass * wrapped up gazelle * spacing * Implement Crosslink Delta Rewards for 0.6 (#2517) * update process crosslink and update existing tests * added a test case to cover no crosslink changes * more test * preston's feedback * spellings * ValidatorStatus Estimating Activation RPC Server (#2469) * fix spacing * working on position in queue * fmt * spacing * feedback * tests * rename * Only Perform Initial Sync With a Single Peer (#2471) * fix spacing * use send instead of broadcast in initial sync * 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> * SSZ web api for decoding input data (#2473) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * standardize slot numbers (#2475) * Add CORS for ssz api (#2476) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * needed CORS * 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 * Update Prysm README (#2477) * README updated * readme updates * no err throw (#2479) * Fix Status Nil Pointer Error (#2480) * no err throw * nil errors * 3.175 (#2482) * Better Error Message if Failing to Exit Initial Sync (#2483) * no err throw * nil errors * better error on init sync * Only Log Active Balances (#2485) * only log active balance * dont need () * change logging (#2487) * fix chainstart waiting on rpc server (#2488) * shift ticker to after activation (#2489) * Add drain script (#2418) * Add drain script * Fix script to drain contracts from newest to oldest * Add README * remove comments * Only after block 400k, look up by deposit event * issue warn log on disconnecting peer instead of error (#2491) * Display Only Active Validator Data (#2490) * Fix Validator Status Field in RPC Server (#2492) * fix status of key * status test fix * fmt * 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 * add production config for testnet release (#2493) * Lookup Validator Index in State in Status Check (#2494) * state lookup * refactor duplicate code * refactor with mapping * fix broken tests * finish refactor * merged master * Starting, I need get_epoch_start_shard * updated EpochCommitteeCount and fixed tests * implemented ShardDelta * test for ShardDelta * implemented EpochStartShard * added epoch out of bound test * test for accurate start shard * lint * need to use changes from latest crosslinks * added BaseReward and totalActiveBalance * added test for base reward * merged master * all tests passing * start testing * done * add ProcessBlockHeader v0.6 (#2534) * add ProcessBlockHeader * function has all its dependancies in place * arange the basic ok test * gazzele and skip test update * skip wrong sig test * fmt imports and change requests * goimports fmt * map for struct fields to be location independent * reorder protobuf fields * added tests * gazzle fix * few change requests fixes * revert changes in types.proto * revert changes in types * fix tests * fix lint * fmt imports * fix gazelle * fix var naming * pb update * var naming * tarance change request fixes * fix test * Add Process Registry for Epoch Processing (#2668) * update update-process-registry * added back the old tests * fmt * gaz * Follow up on process block header v0.6 (#2666) * Putting Crosslink Delta Back (#2654) * update process crosslink and update existing tests * added a test case to cover no crosslink changes * more test * preston's feedback * spellings * ValidatorStatus Estimating Activation RPC Server (#2469) * fix spacing * working on position in queue * fmt * spacing * feedback * tests * rename * Only Perform Initial Sync With a Single Peer (#2471) * fix spacing * use send instead of broadcast in initial sync * 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> * SSZ web api for decoding input data (#2473) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * standardize slot numbers (#2475) * Add CORS for ssz api (#2476) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * needed CORS * 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 * Update Prysm README (#2477) * README updated * readme updates * no err throw (#2479) * Fix Status Nil Pointer Error (#2480) * no err throw * nil errors * 3.175 (#2482) * Better Error Message if Failing to Exit Initial Sync (#2483) * no err throw * nil errors * better error on init sync * Only Log Active Balances (#2485) * only log active balance * dont need () * change logging (#2487) * fix chainstart waiting on rpc server (#2488) * shift ticker to after activation (#2489) * Add drain script (#2418) * Add drain script * Fix script to drain contracts from newest to oldest * Add README * remove comments * Only after block 400k, look up by deposit event * issue warn log on disconnecting peer instead of error (#2491) * Display Only Active Validator Data (#2490) * Fix Validator Status Field in RPC Server (#2492) * fix status of key * status test fix * fmt * 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 * add production config for testnet release (#2493) * Lookup Validator Index in State in Status Check (#2494) * state lookup * refactor duplicate code * refactor with mapping * fix broken tests * finish refactor * merged master * Starting, I need get_epoch_start_shard * updated EpochCommitteeCount and fixed tests * implemented ShardDelta * test for ShardDelta * implemented EpochStartShard * added epoch out of bound test * test for accurate start shard * lint * need to use changes from latest crosslinks * added BaseReward and totalActiveBalance * added test for base reward * merged master * all tests passing * start testing * done * fixed tests * addressed shay's feedback * Implement Attestation Delta for v0.6 (#2646) * update process crosslink and update existing tests * added a test case to cover no crosslink changes * more test * preston's feedback * spellings * ValidatorStatus Estimating Activation RPC Server (#2469) * fix spacing * working on position in queue * fmt * spacing * feedback * tests * rename * Only Perform Initial Sync With a Single Peer (#2471) * fix spacing * use send instead of broadcast in initial sync * 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> * SSZ web api for decoding input data (#2473) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * standardize slot numbers (#2475) * Add CORS for ssz api (#2476) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * needed CORS * 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 * Update Prysm README (#2477) * README updated * readme updates * no err throw (#2479) * Fix Status Nil Pointer Error (#2480) * no err throw * nil errors * 3.175 (#2482) * Better Error Message if Failing to Exit Initial Sync (#2483) * no err throw * nil errors * better error on init sync * Only Log Active Balances (#2485) * only log active balance * dont need () * change logging (#2487) * fix chainstart waiting on rpc server (#2488) * shift ticker to after activation (#2489) * Add drain script (#2418) * Add drain script * Fix script to drain contracts from newest to oldest * Add README * remove comments * Only after block 400k, look up by deposit event * issue warn log on disconnecting peer instead of error (#2491) * Display Only Active Validator Data (#2490) * Fix Validator Status Field in RPC Server (#2492) * fix status of key * status test fix * fmt * 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 * add production config for testnet release (#2493) * Lookup Validator Index in State in Status Check (#2494) * state lookup * refactor duplicate code * refactor with mapping * fix broken tests * finish refactor * merged master * Starting, I need get_epoch_start_shard * updated EpochCommitteeCount and fixed tests * implemented ShardDelta * test for ShardDelta * implemented EpochStartShard * added epoch out of bound test * test for accurate start shard * lint * need to use changes from latest crosslinks * added BaseReward and totalActiveBalance * added test for base reward * implemented process_attestation_delta * comments * comments * merged master * all tests passing * start testing * done * merged master * fixed tests * tests, more to come * tests done * lint * spaces over tabs * addressed shay's feedback * merged master * Implement process_rewards_and_penalties for 0.6 (#2665) * update process crosslink and update existing tests * added a test case to cover no crosslink changes * more test * preston's feedback * spellings * ValidatorStatus Estimating Activation RPC Server (#2469) * fix spacing * working on position in queue * fmt * spacing * feedback * tests * rename * Only Perform Initial Sync With a Single Peer (#2471) * fix spacing * use send instead of broadcast in initial sync * 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> * SSZ web api for decoding input data (#2473) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * standardize slot numbers (#2475) * Add CORS for ssz api (#2476) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * needed CORS * 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 * Update Prysm README (#2477) * README updated * readme updates * no err throw (#2479) * Fix Status Nil Pointer Error (#2480) * no err throw * nil errors * 3.175 (#2482) * Better Error Message if Failing to Exit Initial Sync (#2483) * no err throw * nil errors * better error on init sync * Only Log Active Balances (#2485) * only log active balance * dont need () * change logging (#2487) * fix chainstart waiting on rpc server (#2488) * shift ticker to after activation (#2489) * Add drain script (#2418) * Add drain script * Fix script to drain contracts from newest to oldest * Add README * remove comments * Only after block 400k, look up by deposit event * issue warn log on disconnecting peer instead of error (#2491) * Display Only Active Validator Data (#2490) * Fix Validator Status Field in RPC Server (#2492) * fix status of key * status test fix * fmt * 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 * add production config for testnet release (#2493) * Lookup Validator Index in State in Status Check (#2494) * state lookup * refactor duplicate code * refactor with mapping * fix broken tests * finish refactor * merged master * Starting, I need get_epoch_start_shard * updated EpochCommitteeCount and fixed tests * implemented ShardDelta * test for ShardDelta * implemented EpochStartShard * added epoch out of bound test * test for accurate start shard * lint * need to use changes from latest crosslinks * added BaseReward and totalActiveBalance * added test for base reward * implemented process_attestation_delta * comments * comments * merged master * all tests passing * start testing * done * merged master * fixed tests * tests, more to come * tests done * lint * spaces over tabs * addressed shay's feedback * starting but need to merge a few things... * tests * fmt * Update Slot Processing and State Transition v0.6 (#2664) * edit state transition to add slot processing logic, reorder logic * fix build * lint * tests passing * spacing * tests pass * imports * passing tests * Implement Process Epoch for 0.6 (#2675) * can't find process j f functons * implemented process_epoch * tests done * lint * nishant's feedback * stupid goland replace * goimports * Update CommitteeAssignment (#2693) * cleaned up skipped tests for core processing (#2697) * Process Block Attestations v0.6 (#2650) * attestation.go is ready, tests not * ready for review * fixing linter issues * modified Crosslink and AttestationData proto fields to spec 2.0,marked deprecated fields * gazelle * fixed tests * fixed error * add att processing: * process atts * error msg * finish process attestations logic * spacing * ssz move * inclusion delay failure passing * more attestation tests * more att tests passing * more tests * ffg data mismatching test * ffg tests complete * gofmt * fix testing to match attestation updates * ssz * lint * Fixed Skipped Tests for RPC Server (#2712) * Remove Obsolete Deposit Proto Objects (#2673) * remove deposit data * remove deposit input * fix references * remove deposit helpers * fix all refs * gaz * rgene proto * fix all tests * remove deposit data deprecated field * fix remaining references * fix all tests * fix lint * regen proto * fix test * Remove Deprecated Protobuf State Fields (#2713) * Remove Deprecated Protobuf Crosslink/Slashing/Block Fields (#2714) * Remove Deprecated Beacon Block Proto Fields (#2717) * Remove Deprecated Attestation Proto Fields (#2723) * Cache Shuffled Validator Indices (#2682) * YAML shuffle tests for v0.6 (#2667) * new shuffle tests * added comment for exported function * fix format and print * added config files handling * gazelle fix * shuffle test debugging * added shuffle list and benchmark * hash function addition from nishant code * gazelle fix * remove unused function * few minor changes * add test to test protos optimization * test a bigger list * remove commented code * small changes * fix spec test and test indices to pass * remove empty line * abstraction of repeated code and comment arrangement * terence change requests * fix new test * add small comment for better readability * change from unshuflle to shuffle * comment * better comment * fix all tests * Remove Latest Block (#2721) * lint * remove latest block * lint * add proto * fix build * Fix Deposit Trie (#2686) * remove deposit data * remove deposit input * fix references * remove deposit helpers * fix all refs * gaz * rgene proto * fix all tests * remove deposit data deprecated field * fix remaining references * fix all tests * fix lint * new tests with contract * gaz * more tests * fixed bugs * new test * finally fixed it * gaz * fix test * Remove Committee Cache (#2729) * Benchmark Compute Committee (#2698) * Fixed Skipped Attestation Tests (#2730) * Optimize Shuffled Indices Cache (#2728) * Refactor Deposit Contract Test Setup (#2731) * add new package * fix all tests * lint * change hash function (#2732) * Remove Deprecated Validator Protobuf (#2727) * Remove deprecated validator protos * Fix to comments * Fix most of skipped tests (#2735) * Optimize Base Reward Calculation (#2753) * benchmark process epoch * revert prof.out * Add some optimizations * beware where we use ActiveValidatorIndices... * revert extra file * gaz * quick commit to get feedback * revert extra file * started fixing tests * fixed broken TestProcessCrosslink_NoUpdate * gaz * cache randao seed * fixed all the tests * fmt and lint * spacing * Added todo * lint * revert binary file * started regression test * basic tests done * using a fifo for active indices cache * using a fifo for active count cache * using a fifo for total balance cache * using a fifo for active balance cache * using a fifo for start shard cache * using a fifo for seed cache * gaz * clean up * fixing tests * fixed all the core tests * fixed all the tests!!! * lint * comment * rm'ed commented code * cache size to 1000 should be good enough * optimized base reward * revert binary file * Added comments to calculate adjusted quotient outside * removed deprecated configs (#2755) * Optimize Process Eth1 Data Vote (#2754) * Cleanup and Docs update (#2756) * Add graffiti and update generate seed (#2759) * Benchmark Process Block with Attestations (#2758) * Tidying up Godoc for Core Package (#2762) * Clean up Old RPC Endpoints (#2763) * Update RPC end point for Proposer (#2767) * add RequestBlock * run mockgen * implemented RequestBlock * updated proto definitions * updated tests * updated validator attest tests * done * comment * todo issue * removed unused proto * Cache Active Validator Indices, Count, and Balances (#2737) * Update Deposit Contract (#2648) * lint * add new contract * change version * remove log * generating abi and binary files * fix tests * update to current version * new changes * add new hash function * save hashed nodes * add more things * new method * add update to trie * new stuff * gaz * more stuff * finally fixed build * remove deposit data * Revert "remove deposit data" This reverts commit 9085409e91be0c94550af10290eaad72ad40a6de. * more changes * lint and gaz * lint * Update Shard Helpers for 0.6 (#2497) * ValidatorStatus Estimating Activation RPC Server (#2469) * fix spacing * working on position in queue * fmt * spacing * feedback * tests * rename * Only Perform Initial Sync With a Single Peer (#2471) * fix spacing * use send instead of broadcast in initial sync * 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> * SSZ web api for decoding input data (#2473) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * standardize slot numbers (#2475) * Add CORS for ssz api (#2476) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * needed CORS * 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 * Update Prysm README (#2477) * README updated * readme updates * no err throw (#2479) * Fix Status Nil Pointer Error (#2480) * no err throw * nil errors * 3.175 (#2482) * Better Error Message if Failing to Exit Initial Sync (#2483) * no err throw * nil errors * better error on init sync * Only Log Active Balances (#2485) * only log active balance * dont need () * change logging (#2487) * fix chainstart waiting on rpc server (#2488) * shift ticker to after activation (#2489) * Add drain script (#2418) * Add drain script * Fix script to drain contracts from newest to oldest * Add README * remove comments * Only after block 400k, look up by deposit event * issue warn log on disconnecting peer instead of error (#2491) * Display Only Active Validator Data (#2490) * Fix Validator Status Field in RPC Server (#2492) * fix status of key * status test fix * fmt * 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 * add production config for testnet release (#2493) * Lookup Validator Index in State in Status Check (#2494) * state lookup * refactor duplicate code * refactor with mapping * fix broken tests * finish refactor * merged master * updated EpochCommitteeCount and fixed tests * implemented ShardDelta * test for ShardDelta * implemented EpochStartShard * added epoch out of bound test * test for accurate start shard * lint * Update Genesis State Function to v0.6 (#2465) * add pseudocode * make changes * fix all tests * fix tests * lint * regen protos and mocks * regenerated protos * started fixing core * all core tests passing! * removed shared/forkutils * started fixing blockchain package * lint * updating rpc package * add back deleted stuff * add back deleted stuff that was deleted accidentally * add back protos and mocks * fix errors * fix genesis issue * fix genesis issue for slot ticker * fix all genesis errors * fix build files * temp change for go-ssz * fix test * Revert "temp change for go-ssz" This reverts commit 3411cb9d6d519cb521181486debc3b21603c8873. * update to latest go-ssz * unstaged changes * Update Attester Server RPC Calls (#2773) * Update config and function parameters to v0.7 (#2791) * Minor Updates to 0.7 (#2795) * Refactor Deposit Flow and Cleanup Tests (#2788) * More WIP on cleaning deposit flow * Fix tests * Cleanup and imports * run gazelle * Move deposit to block_operations * gazelle * Update beacon-chain/core/blocks/block_operations.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * Fix docs * Remove unneeded calculations * Fix tests * Fix tests finally (?) * Optimize Committee Assignment RPC (#2787) * Update BlockRoot to BlockHash (#2816) * Fix Final Missing Items in Block Processing v0.6 (#2710) * override config successfully * passes processing * add signing root helper * blockchain tests pass * tests blocked by signing root * lint * fix references * fix protos * proper use of signing root * only few failing tests now * fix final test * tests passing * lint and imports * rem unused * Update beacon-chain/core/blocks/block_operations.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * lint * Update beacon-chain/attestation/service_test.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * Update beacon-chain/db/block_test.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * rename to hash tree root * rename decode to unmarshal * fix * use latest ssz * all tests passing * lint * fmt * Add Config YAML for Spec Tests (#2818) * Align Protobuf Type Names (#2825) * gofmt * Revert "Align Protobuf Type Names (#2825)" (#2827) This reverts commit 882d067144c674bbf4eeee00404acaa0a9b1fd33. * Update Domain Related Functions (#2832) * Add Functions for Compressed and Uncompressed HashG2 With Domain (#2833) * add tests * gaz * lint * Revert "Add Functions for Compressed and Uncompressed HashG2 With Domain (#2833)" (#2835) This reverts commit 7fb2ebf3f12f043d7bd12f43500dc2bd133df573. * Add ConvertToPb to package testutil (#2838) * Block Processing Bug Fixes (#2836) * Update types PB with Size Tags (#2840) * Epoch processing spec tests (#2814) * Remove Deposit Index (#2851) * Shuffle tests revisited (#2829) * first commit * remove old files, add log * remove duplicate yaml testing code * reduce visability * nishant feedback changes * skip TestFromYaml_Pass * added tags to bazel build * gazelle fix * remove unused vars * adda back config * remove config handling * remove unused var * gazelle fix * SSZ compatibility test for protobufs (#2839) * update workspace spec sha * remove yamls from branch * BLS spec tests (#2826) (#2856) * bls spec tests * add more bls tests * use ioutil instead of bazel runfiles * dont read bytes * skip tests that overflow uint64 * manually fix input data * add tests * lint and gaz * add all new changes * some refactoring, cleanup, remove new API methods that only exist for tests * gaz * Remove yamls, skip test * Slot processing spec test (#2813) * eth1data rpc endpoint (#2733) * eth1data rpc endpoint * first version * comment added * gazelle fix * new function to go once over the deposit array * fix tests * export DepositContainer * terence feedback * move structure decleration * binary search * fix block into Block * preston feedback * keep slice sorted to remove overhead in retrival * merge changes * feedback * update to the latest go-ssz * revert change * chnages to fit new ssz * revert merge reversion * go fmt goimprts duplicate string * exception for lint unused doesParentExist * feedback changes * latesteth1data to eth1data * goimports and stop exposing Eth1Data * revert unneeded change * remove exposure of DepositContainer * feedback and fixes * fix workspace duplicate dependancy * greatest number of deposits at current height * add count votes function * change method name * revert back to latesteth1data * latesteth1data * preston feedback * seperate function add tests fix bug * stop exposing voteCountMap * eth1data comment fix * preston feedback * fix tests * new proto files * workspace to default version of ssz * new ssz * chnage test size * marshalled marshaled * Attesting Indices Fix (#2862) * add change * fix one test * fix all tests * add test * clear cache * removed old chaintest, simulated backend and state generator (#2863) * Block Processing Sanity Spec Tests (#2817) * update PrevEpoch * add new changes * shift to blocks package * add more changes * new changes * updated pb with size tags * add new changes * fix errors * uncomment code * more changes * add new changes * rename and lint * gaz * more changes * proccess slot SigningRoot instead of HashTreeRoot * ensure yaml generated structs work * block sanity all passing * minimal and mainnet all pass * remove commented code * fix one test * fix all tests * fix again * no state comparison * matching spec * change target viz * comments gazelle * clear caches before test cases * latest attempts * clean up test format * remove debugging log, remove yaml * unskip attestation * remove skip, check post state, diff state diffs * handle err * add bug fixes * fixed one more bug * fixed churn limit bug * change hashProto to HashTreeRoot * all tests pass :) * fix all tests * gaz * add regression tests * fix test bug * Mutation testing fixes for beacon-chain/core/helpers/attestation.go (#2868) * mutation testing for attestation.go * new line * lint * revert fmt.Errorf deletion * gofmt * Add some fixes for mutation testing on blocks.go (#2869) * Fix sizes * gaz * Spec freeze release candidate spectests * Align Protobuf Type Names (#2872) * Removes some deprecated fields from protobuf (#2877) * search and replace checkpoints * fix tests, except spec tests * Update Configs for Freeze (#2876) * update configs * updated minimal configs * almost there * all tests passing except for spec tests * better comment for MinGenesisTime * done, ready for review * rm seconds per day * feedback * Mutation testing fixes for beacon-chain/core/helpers/committee.go (#2870) * Add some fixes for mutation testing on blocks.go * working on mutation testing fo committee.go * gofmt * goimports * update readme target * update latest sha for spec tests * fix build * Update State Transition Function (#2867) * Change Base Reward Factor (#2888) * Update Freeze Spec Simplification Section - part 1 (#2893) * finished changes to attesting_indices * removed index_count <= 2**40 requirement * lint * reverted index_count <= 2**40 check * added short cut len(a) > len(b) * Update justification bits (#2894) * updated all the helper pseudocodes (#2895) * Make Constants Explicit and Minor Cleanups (#2898) * Rename outdated configs, make constants explicitly delcared * Remove activate_validator, not needed * Remove GenesisSlot and GenesisEpoch * Remove unused import * Move Block Operation Length Checks to ProcessOperations (#2900) * Move block operation length checks to ProcessOperations * Write tests for each length check in ProcessOperations * Remove unneeded test * Move checks to a new function * Move duplicate check back into ProcessOperations * reorder proto fields (#2902) * Slashing Penalty Calculation Change (#2889) * lint * change config val * add max helper * changes to slashing and process slashing, add a min function for integers * gaz * fix failing tests * fix test * fixed all tests * Change Yaml tag * lint * remove gc hack * fix test * gaz * preston's comments * change failing field * fix and regen proto * lint * Implement Compact Committee Root (#2897) * add tags * add function * add new code * add function * add all new changes * lint * add tests * fix tests * fix more tests * fix all outstanding tests * gaz * Update beacon-chain/core/helpers/committee.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * comment * Remove deprecated fields from attestation data (#2892) * fix broken tests * remove comment * fixes * Update Deposit Contract (#2903) * update to new contract * fix references * fix tests * fix some more tests * fix local deposit trie * gaz * shays review * more changes * update WORKSPACE to use 0.8 spec tests * Perform Mutesting in Helpers Package (#2912) * Perform mutesting on validator * Mutesting in helpers package * Mutested eth1data * s/volundary/voluntary (#2914) * Update BLS Domain (#2916) * change from integer to byte slice * add test * fix func for bytes4 * Fix Spec tests (#2907) * fix panics * handle failed transitions * remove log * fix to protos * new changes * remove i * change ssz commit * new changes * update epoch tests * fix epoch testing * fix shuffle tests * fix test * Perform Mutesting in Epoch and State Packages (#2913) * done with updates (#2890) * Add Max Size Tag for Protobuf Fields (#2908) * No more space between ssz-size numbers * Regen pb.go * Fixed a few incorrect proto fields (#2926) * Update Validator Workflow (#2906) * Justification spec tests (#2896) * update go-ssz * Fix SSZ Compatibility Test (#2924) * figuring out how to seqeeze in multiple fields in a tag for pb * Added max tags and regenerated pb.go * updated to new standard * New bitfield types in proto (#2915) * Cast bytes to correct bitfield, failing tests now though * Add forked gogo/protobuf until https://github.com/gogo/protobuf/pull/582 * remove newline * use proper override for gogo-protobuf * fix a few tags * forgot to include custody bits and Slashable not used * Update yaml struct to use pb * Update workspace to use latest ssz * All tests fail * Use the latest go-ssz commit * All pass except for state (too long to taste) * Update test.proto * Added rest of the tests * use 1 justification bits * fix tag test, apply @rauljordan's suggestion * add IsEmpty and use ssz struct * delete unused file * Update zero hash to sha256().digest() (#2932) * update zero hash * change zero hash to conform with spec * goimports * add test for zero hash * Revert "Update zero hash to sha256().digest() (#2932)" (#2933) This reverts commit b926ae0667b18aef3f7e0e8ec8a9b3e98b3d2ccc. * Fix compress validator (#2936) * fix compress validator * update go-ssz * build without the bytes test * try minimal * Block operations spec tests (#2828) * update PrevEpoch * debugging proposer slashing tests * fmt * add deposit tests * Added skeleton for attestation minimal test * remove bazel runfiles thing * add deposits * proposer slashing test is done * comment * complete test, some failing cases * sig verify on * refactor slightly to support mainnet and minimal * included mainnet stuff * Add block header tests * volunary exit done * transfer done * new changes * fix all tests * update domain functions * fmt * fixed lint * fixed all the tests * fixed a transfer bug * finished attester slashing tests and fixed a few bugs * started fixing... * cleaned up exit and proposr slashing tests * attester slashing passing * refactored deposit tests * remove yamls, update ssz * Added todo for invalid sig * gazelle * deposits test done! * transfer tests done and pass! * fix attesting indices bug * temporarily disabled signature verification * cleaned up most of the block ops, except for att * update committee AttestingIndices * oops, i dont know how or why i changed this file * fixed all the rpc tests * 6 more failing packages * test max transfer in state package * replace hashproto with treehash in package blockchain * gazelle * fix test * fix test again * fixed transition test, 2 more left * expect an error in attestation tests * Handle panic when no votes in aggregate attestation * clear cache * Add differ, add logging, tests pass yay * remove todo, add tag * fixed TestReceiveBlock_RemovesPendingDeposits * TestAttestationMinimal/success_since_max_epochs_per_crosslink fails now... * handle panics * Transfer tests were disabled in https://github.com/ethereum/eth2.0-specs/pull/1238 * more fixes after merge, updating block_operations.yaml.go to match yaml * figuring out how to seqeeze in multiple fields in a tag for pb * Added max tags and regenerated pb.go * updated to new standard * New bitfield types in proto (#2915) * Cast bytes to correct bitfield, failing tests now though * Add forked gogo/protobuf until https://github.com/gogo/protobuf/pull/582 * remove newline * fix references and test panic * change to proto objects from custom types * fix panics in tests * use proper override for gogo-protobuf * fix a few tags * fix tests * forgot to include custody bits and Slashable not used * fix tests * sort again * Update yaml struct to use pb * Update workspace to use latest ssz * All tests fail * Use the latest go-ssz commit * All pass except for state (too long to taste) * Update test.proto * Added rest of the tests * use 1 justification bits * minor fixes * wrong proto.Equal * fix tag test, apply @rauljordan's suggestion * add IsEmpty and use ssz struct * inverted logic * update zero hash * change zero hash to conform with spec * goimports * add test for zero hash * Revert "Update zero hash to sha256().digest() (#2932)" This reverts commit b926ae0667b18aef3f7e0e8ec8a9b3e98b3d2ccc. * update ssz, fix import, shard big test * checkpoint * fix compress validator * update go-ssz * missing import * missing import * tests now pass * been a good day * update test size * fix lint * imports and remove unused const * update bazel jobs flag * update bazel jobs flag * satisfy deprecation warning * Add ssz regression tests for investigation of test failures in PR #2828 (#2935) * Adding regression tests for investigation * add another example * goimports * add quick comment about test case 0 * Epoch Process Slashings Spec Tests (#2930) * updated justification bits, tests passing OK * regen pb.go, clarify bit operations * justification and finalization tests; failing * Add wrapper, so we call the correct method * checkpoint * Update tar ref * TestSlashingsMinimal/small_penalty still failing * Use bigint instead of () and float * Revert a bad merge from workspace * Fmt * add note about https://github.com/ethereum/eth2.0-specs/issues/1284 * improve tests * gaz * Perform Mutesting In core/state Package (#2923) * Perform mutesting on validator * Mutesting in helpers package * Mutested eth1data * Perform mutesting in epoch and state packages * Fix voluntary exits test * Fix typo * Fix comments * Fix formatting * Fix error message * Handle missing errors * Handle all errors * Perform Mutesting In State Package * Fix block roots size * Remove comment * Fix error * add backend service * Add ssz compatibility tests for signing root (#2931) * Added tests for signing root * imports * fix lint on travis * fix bes flag * Final updates spec tests (#2901) * set up tests * need to reorder pbs * figuring out how to seqeeze in multiple fields in a tag for pb * Added max tags and regenerated pb.go * updated to new standard * New bitfield types in proto (#2915) * Cast bytes to correct bitfield, failing tests now though * Add forked gogo/protobuf until https://github.com/gogo/protobuf/pull/582 * remove newline * use proper override for gogo-protobuf * fix a few tags * forgot to include custody bits and Slashable not used * playing with tags idea, can revert this commit later * fixes after merge * reset caches before test * all epoch tests pass * gazelle * Genesis trigger (#2905) * genesis change * integrate changes * bodyroot * remove unused code * HasChainStarted * added isValidGenesisState to ProcessLog * state fix * fix gazelle * uint64 timestamp * SetupInitialDeposits adds proof * remove unneeded parts of test * deposithash * merkleproof from spec utils * Revert "merkleproof from spec utils" This reverts commit 1b0a124352e7b62e3c3220fb0d64e295b474b430. * fix test failures * chain started and hashtree root in tests * simple eth2genesistime * eth2 genesis time * fix zero time * add comment * remove eth1data and feedback * fix build issues * main changes: add fields and methods to track active validator count * gaz * fix test * fix more tests * improve test utils * shift spec method to state package, improve test setup * fixed log processing tests * remove log * gaz * fix invalid metric * use better tag names, not latest * Remove Block Signing Root (#2945) * replace with hash tree root * Revert "replace with hash tree root" This reverts commit 77d8f16a160e42f3c3d598df66c30a66657de1bf. * replace with signing root instead * remove one more ref * Create Test Runner for Genesis State Spec Tests (#2940) * genesis change * integrate changes * bodyroot * remove unused code * HasChainStarted * added isValidGenesisState to ProcessLog * state fix * fix gazelle * uint64 timestamp * SetupInitialDeposits adds proof * remove unneeded parts of test * deposithash * merkleproof from spec utils * Revert "merkleproof from spec utils" This reverts commit 1b0a124352e7b62e3c3220fb0d64e295b474b430. * fix test failures * chain started and hashtree root in tests * simple eth2genesistime * eth2 genesis time * fix zero time * add comment * remove eth1data and feedback * fix build issues * main changes: add fields and methods to track active validator count * gaz * fix test * fix more tests * improve test utils * Start genesis spec tests * shift spec method to state package, improve test setup * Add Genesis validity spec test * Bazel * fixed log processing tests * remove log * gaz * fix invalid metric * use json tags * fix up latest changes * Fix most of test errors * Attempts to see whats wrong with genesis validity * Fix merge * skip minimal * fix state test * new commit * fix nishant comment * gaz * Static check on branch spec-v0.6 (#2946) * Ran staticcheck and fixed the important complains * commit * commit * Create Test Runner for Genesis State Spec Tests (#2940) * genesis change * integrate changes * bodyroot * remove unused code * HasChainStarted * added isValidGenesisState to ProcessLog * state fix * fix gazelle * uint64 timestamp * SetupInitialDeposits adds proof * remove unneeded parts of test * deposithash * merkleproof from spec utils * Revert "merkleproof from spec utils" This reverts commit 1b0a124352e7b62e3c3220fb0d64e295b474b430. * fix test failures * chain started and hashtree root in tests * simple eth2genesistime * eth2 genesis time * fix zero time * add comment * remove eth1data and feedback * fix build issues * main changes: add fields and methods to track active validator count * gaz * fix test * fix more tests * improve test utils * Start genesis spec tests * shift spec method to state package, improve test setup * Add Genesis validity spec test * Bazel * fixed log processing tests * remove log * gaz * fix invalid metric * use json tags * fix up latest changes * Fix most of test errors * Attempts to see whats wrong with genesis validity * Fix merge * skip minimal * fix state test * new commit * fix nishant comment * gaz * Add Back Eth1Data After Bad Merge (#2953) * eth1data rpc endpoint * first version * comment added * gazelle fix * new function to go once over the deposit array * fix tests * export DepositContainer * terence feedback * move structure decleration * binary search * fix block into Block * preston feedback * keep slice sorted to remove overhead in retrival * merge changes * feedback * update to the latest go-ssz * revert change * chnages to fit new ssz * revert merge reversion * go fmt goimprts duplicate string * exception for lint unused doesParentExist * feedback changes * latesteth1data to eth1data * goimports and stop exposing Eth1Data * revert unneeded change * remove exposure of DepositContainer * feedback and fixes * fix workspace duplicate dependancy * greatest number of deposits at current height * add count votes function * change method name * revert back to latesteth1data * latesteth1data * preston feedback * seperate function add tests fix bug * stop exposing voteCountMap * eth1data comment fix * preston feedback * fix tests * new proto files * workspace to default version of ssz * new ssz * chnage test size * marshalled marshaled * everything passing again * add skip reason * cleanup deposit contract slightly * remove unused chainstart param (#2957) * fix breakages from #2957 (#2958) * fix breakages from #2957 * oops * Fix deposit input data (#2956) * fix deposit input data * fix deposit input data * gaz and build fix * Add Tests for Genesis Deposits Caching (#2952) * remove old method and replace with an improved one * add new files * gaz * add test * added all these tests * gaz * Apply suggestions from code review Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * fix merkle proof error * fix config * Minor fixes for runtime (#2960) * Minor fixes for runtime * use comments * goimports * revert beacon-chain/core/state/state.go and fix comment for lint * fix test too * Minor runtime fixes (#2961) * Add support for bundling binaries and fix ARM64 builds (#2970) * Add support for bundling binaries and fix ARM64 builds * Fix exports * ignore manual targets wrt vis check * fix graknlabs * update spec tests (#2979) * hotfix until https://github.com/graknlabs/bazel-distribution/pull/169 * Overflow slashing calculation fix (#2977) * Runtime Fixes (#2736) * first batch of fixes * add log * more fixes * another bug fixed * update deposit contract and other fixes * remove logs * new changes * fixes * fix build * remove config * more fixes * add more changes * add back todo * make compute state root work * remove commented out and fix condition * fix commented code * fix config * gaz * remove flag * remove init * new fixes * fix test * one more fix * fix all tests * change back config * fix one more bug * remove logging bool * Only build test targets when running bazel test //... * Align prysm to spec v0.8.1 (#2978) * Bazel problem * Update zero hash representation to be clear (cosmetic) * Update minor cosmetic fixes * Fixed lookahead off by 1 * Update randao.go * update ssz * test failures fixed * test fixes * fix up workspace * lint * fixed errs * Updated pubkey loggings (#2983) * Fix proposer assignment (#2984) * add jvm limits * add jvm limits * Removed logging from state transition functions (#2980) * Match spec on proposer index division (#2985) * Match spec on proposer index division * gaz * fixes * Fix Default Eth1Data (#2982) * fix bug * Update beacon-chain/core/state/transition.go Co-Authored-By: Raul Jordan <raul@prysmaticlabs.com> * more fixes * reg test * Set ejection balance to 1.6 (#2987) * improve block processing log (#2990) * Fix HistoricalRootsLimit (#2989) * fix historical lenght * fix genesis state initialization and test * fix genesis state initialization and test * fix genesis state initialization and test * fix genesis state initialization and test * hack config until https://github.com/prysmaticlabs/prysm/issues/2993 * More Runtime Fixes (#2986) * local changes * add val sig * attester fix * one more fix * fixed all tests * rem validator issue * fix finality issue (#2994) * Fix validator prev balance calculation (#2992) * attester fix * one more fix * fixed all tests * Fix validator prev balances calculation * go fmt * 48 bytes * Fix Querier to handle Deposit Logs Race (#2999) * fix sync issue * fix build * add regression test * add var for magic number * Fix eth1data and deposits (#2996) * Work in progress, eth1data works, deposits are included at the appropriate time, and activation happens at the correct time * revert blockInfo being public * git tests to build, not yet pass though * add tests * some commentary * fix comment * goimports * fmt and remove unused method * Update rules go (#2975) * update rules_go * Fix some cross compile builds stuff * add missing deps * update to 0.19.1 * Update Protobufs to Match Ethereum APIs (#2998) * add beacon block and attestation files * add all types * include all new proto type definitions * add add all proto definitions * fix all comments to say 48 bytes * include latest changes * readd common * no swag * add build file * deps issue * right package names * address feedback, maintain parity between upstream ethereumapis * delete pb * bad gens * Update "Testing Prysm" readme section (#3000) Resolves invalid url link to golangci-lint. * Update badge to version 0.8.1 * elaborate on test skip * revert shared/p2p/options.go * make travis happy with goimports * Update beacon-chain/core/blocks/block.go Co-Authored-By: Preston Van Loon <preston@prysmaticlabs.com>
2019-07-20 00:16:10 +00:00
it.Event = new(DepositContractDepositEvent)
if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
it.fail = err
return false
}
it.Event.Raw = log
return true
default:
return false
}
}
// Iterator still in progress, wait for either a data or an error event
select {
case log := <-it.logs:
Spec freeze updates (#2312) * Optimize Shuffled Indices Cache (#2728) * Refactor Deposit Contract Test Setup (#2731) * add new package * fix all tests * lint * change hash function (#2732) * Remove Deprecated Validator Protobuf (#2727) * Remove deprecated validator protos * Fix to comments * Fix most of skipped tests (#2735) * Cache Active Validator Indices, Count, and Balances (#2737) * Optimize Base Reward Calculation (#2753) * benchmark process epoch * revert prof.out * Add some optimizations * beware where we use ActiveValidatorIndices... * revert extra file * gaz * quick commit to get feedback * revert extra file * started fixing tests * fixed broken TestProcessCrosslink_NoUpdate * gaz * cache randao seed * fixed all the tests * fmt and lint * spacing * Added todo * lint * revert binary file * started regression test * basic tests done * using a fifo for active indices cache * using a fifo for active count cache * using a fifo for total balance cache * using a fifo for active balance cache * using a fifo for start shard cache * using a fifo for seed cache * gaz * clean up * fixing tests * fixed all the core tests * fixed all the tests!!! * lint * comment * rm'ed commented code * cache size to 1000 should be good enough * optimized base reward * revert binary file * Added comments to calculate adjusted quotient outside * removed deprecated configs (#2755) * Optimize Process Eth1 Data Vote (#2754) * Cleanup and Docs update (#2756) * Add graffiti and update generate seed (#2759) * Benchmark Process Block with Attestations (#2758) * Tidying up Godoc for Core Package (#2762) * Clean up Old RPC Endpoints (#2763) * Update RPC end point for Proposer (#2767) * add RequestBlock * run mockgen * implemented RequestBlock * updated proto definitions * updated tests * updated validator attest tests * done * comment * todo issue * removed unused proto * Update attesting indices v0.6 (#2449) * sort participants slice * add bitfield functions and tests * added BitfieldBit test * add AttestationParticipantsNew * revert AttestationParticipants to its previous change * add tests * remove verifybitfieldnew * fix tests and remove multiple tests * remove duplicate test * change magic number into ceildiv8 * Implement Justification and finalization Processing (#2448) * Add convert to indexed (#2519) * sort participants slice * add bitfield functions and tests * added BitfieldBit test * add AttestationParticipantsNew * revert AttestationParticipants to its previous change * add tests * remove verifybitfieldnew * fix tests and remove multiple tests * remove duplicate test * start work * convert attestation to indexed attestations * fix test for convert index * remove calling getter * add more tests * remove underscore * changes name to signature (#2535) * update registry updates func (#2521) * update registry updates func * added tests and moved to epoch processing * fixed naming issues * Update Committee Helpers to v0.6.0 (#2398) * Update Committee Helper Part 2 (#2592) * Implement Process Slashings for 0.6 (#2523) * Update Proposer/Attester Slashings and Slashing Helpers (#2603) * Implement Final Updates 0.6 (#2562) * ValidatorStatus Estimating Activation RPC Server (#2469) * fix spacing * working on position in queue * fmt * spacing * feedback * tests * rename * Only Perform Initial Sync With a Single Peer (#2471) * fix spacing * use send instead of broadcast in initial sync * 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> * SSZ web api for decoding input data (#2473) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * standardize slot numbers (#2475) * Add CORS for ssz api (#2476) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * needed CORS * 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 * Update Prysm README (#2477) * README updated * readme updates * no err throw (#2479) * Fix Status Nil Pointer Error (#2480) * no err throw * nil errors * 3.175 (#2482) * Better Error Message if Failing to Exit Initial Sync (#2483) * no err throw * nil errors * better error on init sync * Only Log Active Balances (#2485) * only log active balance * dont need () * change logging (#2487) * fix chainstart waiting on rpc server (#2488) * shift ticker to after activation (#2489) * Add drain script (#2418) * Add drain script * Fix script to drain contracts from newest to oldest * Add README * remove comments * Only after block 400k, look up by deposit event * issue warn log on disconnecting peer instead of error (#2491) * Display Only Active Validator Data (#2490) * Fix Validator Status Field in RPC Server (#2492) * fix status of key * status test fix * fmt * 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 * add production config for testnet release (#2493) * Lookup Validator Index in State in Status Check (#2494) * state lookup * refactor duplicate code * refactor with mapping * fix broken tests * finish refactor * merged master * updated EpochCommitteeCount and fixed tests * implemented ShardDelta * test for ShardDelta * implemented EpochStartShard * added epoch out of bound test * test for accurate start shard * lint * implemented process_final_updates * move to the top of the file * add comment back * gaz * Test for process final updates * fixed tests * fixed all the tests * Update Reward Helper v0.6 (#2470) * added BaseReward * added rewards helper * added test for BaseReward * extra space * move exported function above * update to new spec (#2614) * Update Block Processing Voluntary Exits (#2609) * Update processEth1Data for v0.6 (#2516) * Clean up Helper Functions Part 1 (#2612) * Finalize helper functions for 0.6 (#2632) * Process Beacon Chain Transfers v0.6 (#2642) * add transfers * beacon transfer operations complete * full cov * transfer testing * finished tests * Update beacon-chain/core/blocks/block_operations_test.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * Update beacon-chain/core/blocks/block_operations.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * Implement Process Crosslink From 0.6 (#2460) * Process Block Eth1 Data v0.6 (#2645) * Get attestation data slot v0.6 (#2593) * attestation.go is ready, tests not * ready for review * fixing linter issues * modified Crosslink and AttestationData proto fields to spec 2.0,marked deprecated fields * gazelle * fixed tests * fixed error * error msg * Process Block Deposits v0.6 (#2647) * imports fixes * deposits tests pass * wrapped up gazelle * spacing * Implement Crosslink Delta Rewards for 0.6 (#2517) * update process crosslink and update existing tests * added a test case to cover no crosslink changes * more test * preston's feedback * spellings * ValidatorStatus Estimating Activation RPC Server (#2469) * fix spacing * working on position in queue * fmt * spacing * feedback * tests * rename * Only Perform Initial Sync With a Single Peer (#2471) * fix spacing * use send instead of broadcast in initial sync * 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> * SSZ web api for decoding input data (#2473) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * standardize slot numbers (#2475) * Add CORS for ssz api (#2476) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * needed CORS * 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 * Update Prysm README (#2477) * README updated * readme updates * no err throw (#2479) * Fix Status Nil Pointer Error (#2480) * no err throw * nil errors * 3.175 (#2482) * Better Error Message if Failing to Exit Initial Sync (#2483) * no err throw * nil errors * better error on init sync * Only Log Active Balances (#2485) * only log active balance * dont need () * change logging (#2487) * fix chainstart waiting on rpc server (#2488) * shift ticker to after activation (#2489) * Add drain script (#2418) * Add drain script * Fix script to drain contracts from newest to oldest * Add README * remove comments * Only after block 400k, look up by deposit event * issue warn log on disconnecting peer instead of error (#2491) * Display Only Active Validator Data (#2490) * Fix Validator Status Field in RPC Server (#2492) * fix status of key * status test fix * fmt * 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 * add production config for testnet release (#2493) * Lookup Validator Index in State in Status Check (#2494) * state lookup * refactor duplicate code * refactor with mapping * fix broken tests * finish refactor * merged master * Starting, I need get_epoch_start_shard * updated EpochCommitteeCount and fixed tests * implemented ShardDelta * test for ShardDelta * implemented EpochStartShard * added epoch out of bound test * test for accurate start shard * lint * need to use changes from latest crosslinks * added BaseReward and totalActiveBalance * added test for base reward * merged master * all tests passing * start testing * done * add ProcessBlockHeader v0.6 (#2534) * add ProcessBlockHeader * function has all its dependancies in place * arange the basic ok test * gazzele and skip test update * skip wrong sig test * fmt imports and change requests * goimports fmt * map for struct fields to be location independent * reorder protobuf fields * added tests * gazzle fix * few change requests fixes * revert changes in types.proto * revert changes in types * fix tests * fix lint * fmt imports * fix gazelle * fix var naming * pb update * var naming * tarance change request fixes * fix test * Add Process Registry for Epoch Processing (#2668) * update update-process-registry * added back the old tests * fmt * gaz * Follow up on process block header v0.6 (#2666) * Putting Crosslink Delta Back (#2654) * update process crosslink and update existing tests * added a test case to cover no crosslink changes * more test * preston's feedback * spellings * ValidatorStatus Estimating Activation RPC Server (#2469) * fix spacing * working on position in queue * fmt * spacing * feedback * tests * rename * Only Perform Initial Sync With a Single Peer (#2471) * fix spacing * use send instead of broadcast in initial sync * 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> * SSZ web api for decoding input data (#2473) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * standardize slot numbers (#2475) * Add CORS for ssz api (#2476) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * needed CORS * 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 * Update Prysm README (#2477) * README updated * readme updates * no err throw (#2479) * Fix Status Nil Pointer Error (#2480) * no err throw * nil errors * 3.175 (#2482) * Better Error Message if Failing to Exit Initial Sync (#2483) * no err throw * nil errors * better error on init sync * Only Log Active Balances (#2485) * only log active balance * dont need () * change logging (#2487) * fix chainstart waiting on rpc server (#2488) * shift ticker to after activation (#2489) * Add drain script (#2418) * Add drain script * Fix script to drain contracts from newest to oldest * Add README * remove comments * Only after block 400k, look up by deposit event * issue warn log on disconnecting peer instead of error (#2491) * Display Only Active Validator Data (#2490) * Fix Validator Status Field in RPC Server (#2492) * fix status of key * status test fix * fmt * 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 * add production config for testnet release (#2493) * Lookup Validator Index in State in Status Check (#2494) * state lookup * refactor duplicate code * refactor with mapping * fix broken tests * finish refactor * merged master * Starting, I need get_epoch_start_shard * updated EpochCommitteeCount and fixed tests * implemented ShardDelta * test for ShardDelta * implemented EpochStartShard * added epoch out of bound test * test for accurate start shard * lint * need to use changes from latest crosslinks * added BaseReward and totalActiveBalance * added test for base reward * merged master * all tests passing * start testing * done * fixed tests * addressed shay's feedback * Implement Attestation Delta for v0.6 (#2646) * update process crosslink and update existing tests * added a test case to cover no crosslink changes * more test * preston's feedback * spellings * ValidatorStatus Estimating Activation RPC Server (#2469) * fix spacing * working on position in queue * fmt * spacing * feedback * tests * rename * Only Perform Initial Sync With a Single Peer (#2471) * fix spacing * use send instead of broadcast in initial sync * 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> * SSZ web api for decoding input data (#2473) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * standardize slot numbers (#2475) * Add CORS for ssz api (#2476) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * needed CORS * 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 * Update Prysm README (#2477) * README updated * readme updates * no err throw (#2479) * Fix Status Nil Pointer Error (#2480) * no err throw * nil errors * 3.175 (#2482) * Better Error Message if Failing to Exit Initial Sync (#2483) * no err throw * nil errors * better error on init sync * Only Log Active Balances (#2485) * only log active balance * dont need () * change logging (#2487) * fix chainstart waiting on rpc server (#2488) * shift ticker to after activation (#2489) * Add drain script (#2418) * Add drain script * Fix script to drain contracts from newest to oldest * Add README * remove comments * Only after block 400k, look up by deposit event * issue warn log on disconnecting peer instead of error (#2491) * Display Only Active Validator Data (#2490) * Fix Validator Status Field in RPC Server (#2492) * fix status of key * status test fix * fmt * 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 * add production config for testnet release (#2493) * Lookup Validator Index in State in Status Check (#2494) * state lookup * refactor duplicate code * refactor with mapping * fix broken tests * finish refactor * merged master * Starting, I need get_epoch_start_shard * updated EpochCommitteeCount and fixed tests * implemented ShardDelta * test for ShardDelta * implemented EpochStartShard * added epoch out of bound test * test for accurate start shard * lint * need to use changes from latest crosslinks * added BaseReward and totalActiveBalance * added test for base reward * implemented process_attestation_delta * comments * comments * merged master * all tests passing * start testing * done * merged master * fixed tests * tests, more to come * tests done * lint * spaces over tabs * addressed shay's feedback * merged master * Implement process_rewards_and_penalties for 0.6 (#2665) * update process crosslink and update existing tests * added a test case to cover no crosslink changes * more test * preston's feedback * spellings * ValidatorStatus Estimating Activation RPC Server (#2469) * fix spacing * working on position in queue * fmt * spacing * feedback * tests * rename * Only Perform Initial Sync With a Single Peer (#2471) * fix spacing * use send instead of broadcast in initial sync * 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> * SSZ web api for decoding input data (#2473) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * standardize slot numbers (#2475) * Add CORS for ssz api (#2476) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * needed CORS * 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 * Update Prysm README (#2477) * README updated * readme updates * no err throw (#2479) * Fix Status Nil Pointer Error (#2480) * no err throw * nil errors * 3.175 (#2482) * Better Error Message if Failing to Exit Initial Sync (#2483) * no err throw * nil errors * better error on init sync * Only Log Active Balances (#2485) * only log active balance * dont need () * change logging (#2487) * fix chainstart waiting on rpc server (#2488) * shift ticker to after activation (#2489) * Add drain script (#2418) * Add drain script * Fix script to drain contracts from newest to oldest * Add README * remove comments * Only after block 400k, look up by deposit event * issue warn log on disconnecting peer instead of error (#2491) * Display Only Active Validator Data (#2490) * Fix Validator Status Field in RPC Server (#2492) * fix status of key * status test fix * fmt * 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 * add production config for testnet release (#2493) * Lookup Validator Index in State in Status Check (#2494) * state lookup * refactor duplicate code * refactor with mapping * fix broken tests * finish refactor * merged master * Starting, I need get_epoch_start_shard * updated EpochCommitteeCount and fixed tests * implemented ShardDelta * test for ShardDelta * implemented EpochStartShard * added epoch out of bound test * test for accurate start shard * lint * need to use changes from latest crosslinks * added BaseReward and totalActiveBalance * added test for base reward * implemented process_attestation_delta * comments * comments * merged master * all tests passing * start testing * done * merged master * fixed tests * tests, more to come * tests done * lint * spaces over tabs * addressed shay's feedback * starting but need to merge a few things... * tests * fmt * Update Slot Processing and State Transition v0.6 (#2664) * edit state transition to add slot processing logic, reorder logic * fix build * lint * tests passing * spacing * tests pass * imports * passing tests * Implement Process Epoch for 0.6 (#2675) * can't find process j f functons * implemented process_epoch * tests done * lint * nishant's feedback * stupid goland replace * goimports * Update CommitteeAssignment (#2693) * cleaned up skipped tests for core processing (#2697) * Process Block Attestations v0.6 (#2650) * attestation.go is ready, tests not * ready for review * fixing linter issues * modified Crosslink and AttestationData proto fields to spec 2.0,marked deprecated fields * gazelle * fixed tests * fixed error * add att processing: * process atts * error msg * finish process attestations logic * spacing * ssz move * inclusion delay failure passing * more attestation tests * more att tests passing * more tests * ffg data mismatching test * ffg tests complete * gofmt * fix testing to match attestation updates * ssz * lint * Fixed Skipped Tests for RPC Server (#2712) * Remove Obsolete Deposit Proto Objects (#2673) * remove deposit data * remove deposit input * fix references * remove deposit helpers * fix all refs * gaz * rgene proto * fix all tests * remove deposit data deprecated field * fix remaining references * fix all tests * fix lint * regen proto * fix test * Remove Deprecated Protobuf State Fields (#2713) * Remove Deprecated Protobuf Crosslink/Slashing/Block Fields (#2714) * Remove Deprecated Beacon Block Proto Fields (#2717) * Remove Deprecated Attestation Proto Fields (#2723) * Cache Shuffled Validator Indices (#2682) * YAML shuffle tests for v0.6 (#2667) * new shuffle tests * added comment for exported function * fix format and print * added config files handling * gazelle fix * shuffle test debugging * added shuffle list and benchmark * hash function addition from nishant code * gazelle fix * remove unused function * few minor changes * add test to test protos optimization * test a bigger list * remove commented code * small changes * fix spec test and test indices to pass * remove empty line * abstraction of repeated code and comment arrangement * terence change requests * fix new test * add small comment for better readability * change from unshuflle to shuffle * comment * better comment * fix all tests * Remove Latest Block (#2721) * lint * remove latest block * lint * add proto * fix build * Fix Deposit Trie (#2686) * remove deposit data * remove deposit input * fix references * remove deposit helpers * fix all refs * gaz * rgene proto * fix all tests * remove deposit data deprecated field * fix remaining references * fix all tests * fix lint * new tests with contract * gaz * more tests * fixed bugs * new test * finally fixed it * gaz * fix test * Remove Committee Cache (#2729) * Benchmark Compute Committee (#2698) * Fixed Skipped Attestation Tests (#2730) * Optimize Shuffled Indices Cache (#2728) * Refactor Deposit Contract Test Setup (#2731) * add new package * fix all tests * lint * change hash function (#2732) * Remove Deprecated Validator Protobuf (#2727) * Remove deprecated validator protos * Fix to comments * Fix most of skipped tests (#2735) * Optimize Base Reward Calculation (#2753) * benchmark process epoch * revert prof.out * Add some optimizations * beware where we use ActiveValidatorIndices... * revert extra file * gaz * quick commit to get feedback * revert extra file * started fixing tests * fixed broken TestProcessCrosslink_NoUpdate * gaz * cache randao seed * fixed all the tests * fmt and lint * spacing * Added todo * lint * revert binary file * started regression test * basic tests done * using a fifo for active indices cache * using a fifo for active count cache * using a fifo for total balance cache * using a fifo for active balance cache * using a fifo for start shard cache * using a fifo for seed cache * gaz * clean up * fixing tests * fixed all the core tests * fixed all the tests!!! * lint * comment * rm'ed commented code * cache size to 1000 should be good enough * optimized base reward * revert binary file * Added comments to calculate adjusted quotient outside * removed deprecated configs (#2755) * Optimize Process Eth1 Data Vote (#2754) * Cleanup and Docs update (#2756) * Add graffiti and update generate seed (#2759) * Benchmark Process Block with Attestations (#2758) * Tidying up Godoc for Core Package (#2762) * Clean up Old RPC Endpoints (#2763) * Update RPC end point for Proposer (#2767) * add RequestBlock * run mockgen * implemented RequestBlock * updated proto definitions * updated tests * updated validator attest tests * done * comment * todo issue * removed unused proto * Cache Active Validator Indices, Count, and Balances (#2737) * Update Deposit Contract (#2648) * lint * add new contract * change version * remove log * generating abi and binary files * fix tests * update to current version * new changes * add new hash function * save hashed nodes * add more things * new method * add update to trie * new stuff * gaz * more stuff * finally fixed build * remove deposit data * Revert "remove deposit data" This reverts commit 9085409e91be0c94550af10290eaad72ad40a6de. * more changes * lint and gaz * lint * Update Shard Helpers for 0.6 (#2497) * ValidatorStatus Estimating Activation RPC Server (#2469) * fix spacing * working on position in queue * fmt * spacing * feedback * tests * rename * Only Perform Initial Sync With a Single Peer (#2471) * fix spacing * use send instead of broadcast in initial sync * 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> * SSZ web api for decoding input data (#2473) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * standardize slot numbers (#2475) * Add CORS for ssz api (#2476) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * needed CORS * 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 * Update Prysm README (#2477) * README updated * readme updates * no err throw (#2479) * Fix Status Nil Pointer Error (#2480) * no err throw * nil errors * 3.175 (#2482) * Better Error Message if Failing to Exit Initial Sync (#2483) * no err throw * nil errors * better error on init sync * Only Log Active Balances (#2485) * only log active balance * dont need () * change logging (#2487) * fix chainstart waiting on rpc server (#2488) * shift ticker to after activation (#2489) * Add drain script (#2418) * Add drain script * Fix script to drain contracts from newest to oldest * Add README * remove comments * Only after block 400k, look up by deposit event * issue warn log on disconnecting peer instead of error (#2491) * Display Only Active Validator Data (#2490) * Fix Validator Status Field in RPC Server (#2492) * fix status of key * status test fix * fmt * 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 * add production config for testnet release (#2493) * Lookup Validator Index in State in Status Check (#2494) * state lookup * refactor duplicate code * refactor with mapping * fix broken tests * finish refactor * merged master * updated EpochCommitteeCount and fixed tests * implemented ShardDelta * test for ShardDelta * implemented EpochStartShard * added epoch out of bound test * test for accurate start shard * lint * Update Genesis State Function to v0.6 (#2465) * add pseudocode * make changes * fix all tests * fix tests * lint * regen protos and mocks * regenerated protos * started fixing core * all core tests passing! * removed shared/forkutils * started fixing blockchain package * lint * updating rpc package * add back deleted stuff * add back deleted stuff that was deleted accidentally * add back protos and mocks * fix errors * fix genesis issue * fix genesis issue for slot ticker * fix all genesis errors * fix build files * temp change for go-ssz * fix test * Revert "temp change for go-ssz" This reverts commit 3411cb9d6d519cb521181486debc3b21603c8873. * update to latest go-ssz * unstaged changes * Update Attester Server RPC Calls (#2773) * Update config and function parameters to v0.7 (#2791) * Minor Updates to 0.7 (#2795) * Refactor Deposit Flow and Cleanup Tests (#2788) * More WIP on cleaning deposit flow * Fix tests * Cleanup and imports * run gazelle * Move deposit to block_operations * gazelle * Update beacon-chain/core/blocks/block_operations.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * Fix docs * Remove unneeded calculations * Fix tests * Fix tests finally (?) * Optimize Committee Assignment RPC (#2787) * Update BlockRoot to BlockHash (#2816) * Fix Final Missing Items in Block Processing v0.6 (#2710) * override config successfully * passes processing * add signing root helper * blockchain tests pass * tests blocked by signing root * lint * fix references * fix protos * proper use of signing root * only few failing tests now * fix final test * tests passing * lint and imports * rem unused * Update beacon-chain/core/blocks/block_operations.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * lint * Update beacon-chain/attestation/service_test.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * Update beacon-chain/db/block_test.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * rename to hash tree root * rename decode to unmarshal * fix * use latest ssz * all tests passing * lint * fmt * Add Config YAML for Spec Tests (#2818) * Align Protobuf Type Names (#2825) * gofmt * Revert "Align Protobuf Type Names (#2825)" (#2827) This reverts commit 882d067144c674bbf4eeee00404acaa0a9b1fd33. * Update Domain Related Functions (#2832) * Add Functions for Compressed and Uncompressed HashG2 With Domain (#2833) * add tests * gaz * lint * Revert "Add Functions for Compressed and Uncompressed HashG2 With Domain (#2833)" (#2835) This reverts commit 7fb2ebf3f12f043d7bd12f43500dc2bd133df573. * Add ConvertToPb to package testutil (#2838) * Block Processing Bug Fixes (#2836) * Update types PB with Size Tags (#2840) * Epoch processing spec tests (#2814) * Remove Deposit Index (#2851) * Shuffle tests revisited (#2829) * first commit * remove old files, add log * remove duplicate yaml testing code * reduce visability * nishant feedback changes * skip TestFromYaml_Pass * added tags to bazel build * gazelle fix * remove unused vars * adda back config * remove config handling * remove unused var * gazelle fix * SSZ compatibility test for protobufs (#2839) * update workspace spec sha * remove yamls from branch * BLS spec tests (#2826) (#2856) * bls spec tests * add more bls tests * use ioutil instead of bazel runfiles * dont read bytes * skip tests that overflow uint64 * manually fix input data * add tests * lint and gaz * add all new changes * some refactoring, cleanup, remove new API methods that only exist for tests * gaz * Remove yamls, skip test * Slot processing spec test (#2813) * eth1data rpc endpoint (#2733) * eth1data rpc endpoint * first version * comment added * gazelle fix * new function to go once over the deposit array * fix tests * export DepositContainer * terence feedback * move structure decleration * binary search * fix block into Block * preston feedback * keep slice sorted to remove overhead in retrival * merge changes * feedback * update to the latest go-ssz * revert change * chnages to fit new ssz * revert merge reversion * go fmt goimprts duplicate string * exception for lint unused doesParentExist * feedback changes * latesteth1data to eth1data * goimports and stop exposing Eth1Data * revert unneeded change * remove exposure of DepositContainer * feedback and fixes * fix workspace duplicate dependancy * greatest number of deposits at current height * add count votes function * change method name * revert back to latesteth1data * latesteth1data * preston feedback * seperate function add tests fix bug * stop exposing voteCountMap * eth1data comment fix * preston feedback * fix tests * new proto files * workspace to default version of ssz * new ssz * chnage test size * marshalled marshaled * Attesting Indices Fix (#2862) * add change * fix one test * fix all tests * add test * clear cache * removed old chaintest, simulated backend and state generator (#2863) * Block Processing Sanity Spec Tests (#2817) * update PrevEpoch * add new changes * shift to blocks package * add more changes * new changes * updated pb with size tags * add new changes * fix errors * uncomment code * more changes * add new changes * rename and lint * gaz * more changes * proccess slot SigningRoot instead of HashTreeRoot * ensure yaml generated structs work * block sanity all passing * minimal and mainnet all pass * remove commented code * fix one test * fix all tests * fix again * no state comparison * matching spec * change target viz * comments gazelle * clear caches before test cases * latest attempts * clean up test format * remove debugging log, remove yaml * unskip attestation * remove skip, check post state, diff state diffs * handle err * add bug fixes * fixed one more bug * fixed churn limit bug * change hashProto to HashTreeRoot * all tests pass :) * fix all tests * gaz * add regression tests * fix test bug * Mutation testing fixes for beacon-chain/core/helpers/attestation.go (#2868) * mutation testing for attestation.go * new line * lint * revert fmt.Errorf deletion * gofmt * Add some fixes for mutation testing on blocks.go (#2869) * Fix sizes * gaz * Spec freeze release candidate spectests * Align Protobuf Type Names (#2872) * Removes some deprecated fields from protobuf (#2877) * search and replace checkpoints * fix tests, except spec tests * Update Configs for Freeze (#2876) * update configs * updated minimal configs * almost there * all tests passing except for spec tests * better comment for MinGenesisTime * done, ready for review * rm seconds per day * feedback * Mutation testing fixes for beacon-chain/core/helpers/committee.go (#2870) * Add some fixes for mutation testing on blocks.go * working on mutation testing fo committee.go * gofmt * goimports * update readme target * update latest sha for spec tests * fix build * Update State Transition Function (#2867) * Change Base Reward Factor (#2888) * Update Freeze Spec Simplification Section - part 1 (#2893) * finished changes to attesting_indices * removed index_count <= 2**40 requirement * lint * reverted index_count <= 2**40 check * added short cut len(a) > len(b) * Update justification bits (#2894) * updated all the helper pseudocodes (#2895) * Make Constants Explicit and Minor Cleanups (#2898) * Rename outdated configs, make constants explicitly delcared * Remove activate_validator, not needed * Remove GenesisSlot and GenesisEpoch * Remove unused import * Move Block Operation Length Checks to ProcessOperations (#2900) * Move block operation length checks to ProcessOperations * Write tests for each length check in ProcessOperations * Remove unneeded test * Move checks to a new function * Move duplicate check back into ProcessOperations * reorder proto fields (#2902) * Slashing Penalty Calculation Change (#2889) * lint * change config val * add max helper * changes to slashing and process slashing, add a min function for integers * gaz * fix failing tests * fix test * fixed all tests * Change Yaml tag * lint * remove gc hack * fix test * gaz * preston's comments * change failing field * fix and regen proto * lint * Implement Compact Committee Root (#2897) * add tags * add function * add new code * add function * add all new changes * lint * add tests * fix tests * fix more tests * fix all outstanding tests * gaz * Update beacon-chain/core/helpers/committee.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * comment * Remove deprecated fields from attestation data (#2892) * fix broken tests * remove comment * fixes * Update Deposit Contract (#2903) * update to new contract * fix references * fix tests * fix some more tests * fix local deposit trie * gaz * shays review * more changes * update WORKSPACE to use 0.8 spec tests * Perform Mutesting in Helpers Package (#2912) * Perform mutesting on validator * Mutesting in helpers package * Mutested eth1data * s/volundary/voluntary (#2914) * Update BLS Domain (#2916) * change from integer to byte slice * add test * fix func for bytes4 * Fix Spec tests (#2907) * fix panics * handle failed transitions * remove log * fix to protos * new changes * remove i * change ssz commit * new changes * update epoch tests * fix epoch testing * fix shuffle tests * fix test * Perform Mutesting in Epoch and State Packages (#2913) * done with updates (#2890) * Add Max Size Tag for Protobuf Fields (#2908) * No more space between ssz-size numbers * Regen pb.go * Fixed a few incorrect proto fields (#2926) * Update Validator Workflow (#2906) * Justification spec tests (#2896) * update go-ssz * Fix SSZ Compatibility Test (#2924) * figuring out how to seqeeze in multiple fields in a tag for pb * Added max tags and regenerated pb.go * updated to new standard * New bitfield types in proto (#2915) * Cast bytes to correct bitfield, failing tests now though * Add forked gogo/protobuf until https://github.com/gogo/protobuf/pull/582 * remove newline * use proper override for gogo-protobuf * fix a few tags * forgot to include custody bits and Slashable not used * Update yaml struct to use pb * Update workspace to use latest ssz * All tests fail * Use the latest go-ssz commit * All pass except for state (too long to taste) * Update test.proto * Added rest of the tests * use 1 justification bits * fix tag test, apply @rauljordan's suggestion * add IsEmpty and use ssz struct * delete unused file * Update zero hash to sha256().digest() (#2932) * update zero hash * change zero hash to conform with spec * goimports * add test for zero hash * Revert "Update zero hash to sha256().digest() (#2932)" (#2933) This reverts commit b926ae0667b18aef3f7e0e8ec8a9b3e98b3d2ccc. * Fix compress validator (#2936) * fix compress validator * update go-ssz * build without the bytes test * try minimal * Block operations spec tests (#2828) * update PrevEpoch * debugging proposer slashing tests * fmt * add deposit tests * Added skeleton for attestation minimal test * remove bazel runfiles thing * add deposits * proposer slashing test is done * comment * complete test, some failing cases * sig verify on * refactor slightly to support mainnet and minimal * included mainnet stuff * Add block header tests * volunary exit done * transfer done * new changes * fix all tests * update domain functions * fmt * fixed lint * fixed all the tests * fixed a transfer bug * finished attester slashing tests and fixed a few bugs * started fixing... * cleaned up exit and proposr slashing tests * attester slashing passing * refactored deposit tests * remove yamls, update ssz * Added todo for invalid sig * gazelle * deposits test done! * transfer tests done and pass! * fix attesting indices bug * temporarily disabled signature verification * cleaned up most of the block ops, except for att * update committee AttestingIndices * oops, i dont know how or why i changed this file * fixed all the rpc tests * 6 more failing packages * test max transfer in state package * replace hashproto with treehash in package blockchain * gazelle * fix test * fix test again * fixed transition test, 2 more left * expect an error in attestation tests * Handle panic when no votes in aggregate attestation * clear cache * Add differ, add logging, tests pass yay * remove todo, add tag * fixed TestReceiveBlock_RemovesPendingDeposits * TestAttestationMinimal/success_since_max_epochs_per_crosslink fails now... * handle panics * Transfer tests were disabled in https://github.com/ethereum/eth2.0-specs/pull/1238 * more fixes after merge, updating block_operations.yaml.go to match yaml * figuring out how to seqeeze in multiple fields in a tag for pb * Added max tags and regenerated pb.go * updated to new standard * New bitfield types in proto (#2915) * Cast bytes to correct bitfield, failing tests now though * Add forked gogo/protobuf until https://github.com/gogo/protobuf/pull/582 * remove newline * fix references and test panic * change to proto objects from custom types * fix panics in tests * use proper override for gogo-protobuf * fix a few tags * fix tests * forgot to include custody bits and Slashable not used * fix tests * sort again * Update yaml struct to use pb * Update workspace to use latest ssz * All tests fail * Use the latest go-ssz commit * All pass except for state (too long to taste) * Update test.proto * Added rest of the tests * use 1 justification bits * minor fixes * wrong proto.Equal * fix tag test, apply @rauljordan's suggestion * add IsEmpty and use ssz struct * inverted logic * update zero hash * change zero hash to conform with spec * goimports * add test for zero hash * Revert "Update zero hash to sha256().digest() (#2932)" This reverts commit b926ae0667b18aef3f7e0e8ec8a9b3e98b3d2ccc. * update ssz, fix import, shard big test * checkpoint * fix compress validator * update go-ssz * missing import * missing import * tests now pass * been a good day * update test size * fix lint * imports and remove unused const * update bazel jobs flag * update bazel jobs flag * satisfy deprecation warning * Add ssz regression tests for investigation of test failures in PR #2828 (#2935) * Adding regression tests for investigation * add another example * goimports * add quick comment about test case 0 * Epoch Process Slashings Spec Tests (#2930) * updated justification bits, tests passing OK * regen pb.go, clarify bit operations * justification and finalization tests; failing * Add wrapper, so we call the correct method * checkpoint * Update tar ref * TestSlashingsMinimal/small_penalty still failing * Use bigint instead of () and float * Revert a bad merge from workspace * Fmt * add note about https://github.com/ethereum/eth2.0-specs/issues/1284 * improve tests * gaz * Perform Mutesting In core/state Package (#2923) * Perform mutesting on validator * Mutesting in helpers package * Mutested eth1data * Perform mutesting in epoch and state packages * Fix voluntary exits test * Fix typo * Fix comments * Fix formatting * Fix error message * Handle missing errors * Handle all errors * Perform Mutesting In State Package * Fix block roots size * Remove comment * Fix error * add backend service * Add ssz compatibility tests for signing root (#2931) * Added tests for signing root * imports * fix lint on travis * fix bes flag * Final updates spec tests (#2901) * set up tests * need to reorder pbs * figuring out how to seqeeze in multiple fields in a tag for pb * Added max tags and regenerated pb.go * updated to new standard * New bitfield types in proto (#2915) * Cast bytes to correct bitfield, failing tests now though * Add forked gogo/protobuf until https://github.com/gogo/protobuf/pull/582 * remove newline * use proper override for gogo-protobuf * fix a few tags * forgot to include custody bits and Slashable not used * playing with tags idea, can revert this commit later * fixes after merge * reset caches before test * all epoch tests pass * gazelle * Genesis trigger (#2905) * genesis change * integrate changes * bodyroot * remove unused code * HasChainStarted * added isValidGenesisState to ProcessLog * state fix * fix gazelle * uint64 timestamp * SetupInitialDeposits adds proof * remove unneeded parts of test * deposithash * merkleproof from spec utils * Revert "merkleproof from spec utils" This reverts commit 1b0a124352e7b62e3c3220fb0d64e295b474b430. * fix test failures * chain started and hashtree root in tests * simple eth2genesistime * eth2 genesis time * fix zero time * add comment * remove eth1data and feedback * fix build issues * main changes: add fields and methods to track active validator count * gaz * fix test * fix more tests * improve test utils * shift spec method to state package, improve test setup * fixed log processing tests * remove log * gaz * fix invalid metric * use better tag names, not latest * Remove Block Signing Root (#2945) * replace with hash tree root * Revert "replace with hash tree root" This reverts commit 77d8f16a160e42f3c3d598df66c30a66657de1bf. * replace with signing root instead * remove one more ref * Create Test Runner for Genesis State Spec Tests (#2940) * genesis change * integrate changes * bodyroot * remove unused code * HasChainStarted * added isValidGenesisState to ProcessLog * state fix * fix gazelle * uint64 timestamp * SetupInitialDeposits adds proof * remove unneeded parts of test * deposithash * merkleproof from spec utils * Revert "merkleproof from spec utils" This reverts commit 1b0a124352e7b62e3c3220fb0d64e295b474b430. * fix test failures * chain started and hashtree root in tests * simple eth2genesistime * eth2 genesis time * fix zero time * add comment * remove eth1data and feedback * fix build issues * main changes: add fields and methods to track active validator count * gaz * fix test * fix more tests * improve test utils * Start genesis spec tests * shift spec method to state package, improve test setup * Add Genesis validity spec test * Bazel * fixed log processing tests * remove log * gaz * fix invalid metric * use json tags * fix up latest changes * Fix most of test errors * Attempts to see whats wrong with genesis validity * Fix merge * skip minimal * fix state test * new commit * fix nishant comment * gaz * Static check on branch spec-v0.6 (#2946) * Ran staticcheck and fixed the important complains * commit * commit * Create Test Runner for Genesis State Spec Tests (#2940) * genesis change * integrate changes * bodyroot * remove unused code * HasChainStarted * added isValidGenesisState to ProcessLog * state fix * fix gazelle * uint64 timestamp * SetupInitialDeposits adds proof * remove unneeded parts of test * deposithash * merkleproof from spec utils * Revert "merkleproof from spec utils" This reverts commit 1b0a124352e7b62e3c3220fb0d64e295b474b430. * fix test failures * chain started and hashtree root in tests * simple eth2genesistime * eth2 genesis time * fix zero time * add comment * remove eth1data and feedback * fix build issues * main changes: add fields and methods to track active validator count * gaz * fix test * fix more tests * improve test utils * Start genesis spec tests * shift spec method to state package, improve test setup * Add Genesis validity spec test * Bazel * fixed log processing tests * remove log * gaz * fix invalid metric * use json tags * fix up latest changes * Fix most of test errors * Attempts to see whats wrong with genesis validity * Fix merge * skip minimal * fix state test * new commit * fix nishant comment * gaz * Add Back Eth1Data After Bad Merge (#2953) * eth1data rpc endpoint * first version * comment added * gazelle fix * new function to go once over the deposit array * fix tests * export DepositContainer * terence feedback * move structure decleration * binary search * fix block into Block * preston feedback * keep slice sorted to remove overhead in retrival * merge changes * feedback * update to the latest go-ssz * revert change * chnages to fit new ssz * revert merge reversion * go fmt goimprts duplicate string * exception for lint unused doesParentExist * feedback changes * latesteth1data to eth1data * goimports and stop exposing Eth1Data * revert unneeded change * remove exposure of DepositContainer * feedback and fixes * fix workspace duplicate dependancy * greatest number of deposits at current height * add count votes function * change method name * revert back to latesteth1data * latesteth1data * preston feedback * seperate function add tests fix bug * stop exposing voteCountMap * eth1data comment fix * preston feedback * fix tests * new proto files * workspace to default version of ssz * new ssz * chnage test size * marshalled marshaled * everything passing again * add skip reason * cleanup deposit contract slightly * remove unused chainstart param (#2957) * fix breakages from #2957 (#2958) * fix breakages from #2957 * oops * Fix deposit input data (#2956) * fix deposit input data * fix deposit input data * gaz and build fix * Add Tests for Genesis Deposits Caching (#2952) * remove old method and replace with an improved one * add new files * gaz * add test * added all these tests * gaz * Apply suggestions from code review Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * fix merkle proof error * fix config * Minor fixes for runtime (#2960) * Minor fixes for runtime * use comments * goimports * revert beacon-chain/core/state/state.go and fix comment for lint * fix test too * Minor runtime fixes (#2961) * Add support for bundling binaries and fix ARM64 builds (#2970) * Add support for bundling binaries and fix ARM64 builds * Fix exports * ignore manual targets wrt vis check * fix graknlabs * update spec tests (#2979) * hotfix until https://github.com/graknlabs/bazel-distribution/pull/169 * Overflow slashing calculation fix (#2977) * Runtime Fixes (#2736) * first batch of fixes * add log * more fixes * another bug fixed * update deposit contract and other fixes * remove logs * new changes * fixes * fix build * remove config * more fixes * add more changes * add back todo * make compute state root work * remove commented out and fix condition * fix commented code * fix config * gaz * remove flag * remove init * new fixes * fix test * one more fix * fix all tests * change back config * fix one more bug * remove logging bool * Only build test targets when running bazel test //... * Align prysm to spec v0.8.1 (#2978) * Bazel problem * Update zero hash representation to be clear (cosmetic) * Update minor cosmetic fixes * Fixed lookahead off by 1 * Update randao.go * update ssz * test failures fixed * test fixes * fix up workspace * lint * fixed errs * Updated pubkey loggings (#2983) * Fix proposer assignment (#2984) * add jvm limits * add jvm limits * Removed logging from state transition functions (#2980) * Match spec on proposer index division (#2985) * Match spec on proposer index division * gaz * fixes * Fix Default Eth1Data (#2982) * fix bug * Update beacon-chain/core/state/transition.go Co-Authored-By: Raul Jordan <raul@prysmaticlabs.com> * more fixes * reg test * Set ejection balance to 1.6 (#2987) * improve block processing log (#2990) * Fix HistoricalRootsLimit (#2989) * fix historical lenght * fix genesis state initialization and test * fix genesis state initialization and test * fix genesis state initialization and test * fix genesis state initialization and test * hack config until https://github.com/prysmaticlabs/prysm/issues/2993 * More Runtime Fixes (#2986) * local changes * add val sig * attester fix * one more fix * fixed all tests * rem validator issue * fix finality issue (#2994) * Fix validator prev balance calculation (#2992) * attester fix * one more fix * fixed all tests * Fix validator prev balances calculation * go fmt * 48 bytes * Fix Querier to handle Deposit Logs Race (#2999) * fix sync issue * fix build * add regression test * add var for magic number * Fix eth1data and deposits (#2996) * Work in progress, eth1data works, deposits are included at the appropriate time, and activation happens at the correct time * revert blockInfo being public * git tests to build, not yet pass though * add tests * some commentary * fix comment * goimports * fmt and remove unused method * Update rules go (#2975) * update rules_go * Fix some cross compile builds stuff * add missing deps * update to 0.19.1 * Update Protobufs to Match Ethereum APIs (#2998) * add beacon block and attestation files * add all types * include all new proto type definitions * add add all proto definitions * fix all comments to say 48 bytes * include latest changes * readd common * no swag * add build file * deps issue * right package names * address feedback, maintain parity between upstream ethereumapis * delete pb * bad gens * Update "Testing Prysm" readme section (#3000) Resolves invalid url link to golangci-lint. * Update badge to version 0.8.1 * elaborate on test skip * revert shared/p2p/options.go * make travis happy with goimports * Update beacon-chain/core/blocks/block.go Co-Authored-By: Preston Van Loon <preston@prysmaticlabs.com>
2019-07-20 00:16:10 +00:00
it.Event = new(DepositContractDepositEvent)
if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
it.fail = err
return false
}
it.Event.Raw = log
return true
case err := <-it.sub.Err():
it.done = true
it.fail = err
return it.Next()
}
}
// Error returns any retrieval or parsing error occurred during filtering.
Spec freeze updates (#2312) * Optimize Shuffled Indices Cache (#2728) * Refactor Deposit Contract Test Setup (#2731) * add new package * fix all tests * lint * change hash function (#2732) * Remove Deprecated Validator Protobuf (#2727) * Remove deprecated validator protos * Fix to comments * Fix most of skipped tests (#2735) * Cache Active Validator Indices, Count, and Balances (#2737) * Optimize Base Reward Calculation (#2753) * benchmark process epoch * revert prof.out * Add some optimizations * beware where we use ActiveValidatorIndices... * revert extra file * gaz * quick commit to get feedback * revert extra file * started fixing tests * fixed broken TestProcessCrosslink_NoUpdate * gaz * cache randao seed * fixed all the tests * fmt and lint * spacing * Added todo * lint * revert binary file * started regression test * basic tests done * using a fifo for active indices cache * using a fifo for active count cache * using a fifo for total balance cache * using a fifo for active balance cache * using a fifo for start shard cache * using a fifo for seed cache * gaz * clean up * fixing tests * fixed all the core tests * fixed all the tests!!! * lint * comment * rm'ed commented code * cache size to 1000 should be good enough * optimized base reward * revert binary file * Added comments to calculate adjusted quotient outside * removed deprecated configs (#2755) * Optimize Process Eth1 Data Vote (#2754) * Cleanup and Docs update (#2756) * Add graffiti and update generate seed (#2759) * Benchmark Process Block with Attestations (#2758) * Tidying up Godoc for Core Package (#2762) * Clean up Old RPC Endpoints (#2763) * Update RPC end point for Proposer (#2767) * add RequestBlock * run mockgen * implemented RequestBlock * updated proto definitions * updated tests * updated validator attest tests * done * comment * todo issue * removed unused proto * Update attesting indices v0.6 (#2449) * sort participants slice * add bitfield functions and tests * added BitfieldBit test * add AttestationParticipantsNew * revert AttestationParticipants to its previous change * add tests * remove verifybitfieldnew * fix tests and remove multiple tests * remove duplicate test * change magic number into ceildiv8 * Implement Justification and finalization Processing (#2448) * Add convert to indexed (#2519) * sort participants slice * add bitfield functions and tests * added BitfieldBit test * add AttestationParticipantsNew * revert AttestationParticipants to its previous change * add tests * remove verifybitfieldnew * fix tests and remove multiple tests * remove duplicate test * start work * convert attestation to indexed attestations * fix test for convert index * remove calling getter * add more tests * remove underscore * changes name to signature (#2535) * update registry updates func (#2521) * update registry updates func * added tests and moved to epoch processing * fixed naming issues * Update Committee Helpers to v0.6.0 (#2398) * Update Committee Helper Part 2 (#2592) * Implement Process Slashings for 0.6 (#2523) * Update Proposer/Attester Slashings and Slashing Helpers (#2603) * Implement Final Updates 0.6 (#2562) * ValidatorStatus Estimating Activation RPC Server (#2469) * fix spacing * working on position in queue * fmt * spacing * feedback * tests * rename * Only Perform Initial Sync With a Single Peer (#2471) * fix spacing * use send instead of broadcast in initial sync * 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> * SSZ web api for decoding input data (#2473) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * standardize slot numbers (#2475) * Add CORS for ssz api (#2476) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * needed CORS * 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 * Update Prysm README (#2477) * README updated * readme updates * no err throw (#2479) * Fix Status Nil Pointer Error (#2480) * no err throw * nil errors * 3.175 (#2482) * Better Error Message if Failing to Exit Initial Sync (#2483) * no err throw * nil errors * better error on init sync * Only Log Active Balances (#2485) * only log active balance * dont need () * change logging (#2487) * fix chainstart waiting on rpc server (#2488) * shift ticker to after activation (#2489) * Add drain script (#2418) * Add drain script * Fix script to drain contracts from newest to oldest * Add README * remove comments * Only after block 400k, look up by deposit event * issue warn log on disconnecting peer instead of error (#2491) * Display Only Active Validator Data (#2490) * Fix Validator Status Field in RPC Server (#2492) * fix status of key * status test fix * fmt * 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 * add production config for testnet release (#2493) * Lookup Validator Index in State in Status Check (#2494) * state lookup * refactor duplicate code * refactor with mapping * fix broken tests * finish refactor * merged master * updated EpochCommitteeCount and fixed tests * implemented ShardDelta * test for ShardDelta * implemented EpochStartShard * added epoch out of bound test * test for accurate start shard * lint * implemented process_final_updates * move to the top of the file * add comment back * gaz * Test for process final updates * fixed tests * fixed all the tests * Update Reward Helper v0.6 (#2470) * added BaseReward * added rewards helper * added test for BaseReward * extra space * move exported function above * update to new spec (#2614) * Update Block Processing Voluntary Exits (#2609) * Update processEth1Data for v0.6 (#2516) * Clean up Helper Functions Part 1 (#2612) * Finalize helper functions for 0.6 (#2632) * Process Beacon Chain Transfers v0.6 (#2642) * add transfers * beacon transfer operations complete * full cov * transfer testing * finished tests * Update beacon-chain/core/blocks/block_operations_test.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * Update beacon-chain/core/blocks/block_operations.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * Implement Process Crosslink From 0.6 (#2460) * Process Block Eth1 Data v0.6 (#2645) * Get attestation data slot v0.6 (#2593) * attestation.go is ready, tests not * ready for review * fixing linter issues * modified Crosslink and AttestationData proto fields to spec 2.0,marked deprecated fields * gazelle * fixed tests * fixed error * error msg * Process Block Deposits v0.6 (#2647) * imports fixes * deposits tests pass * wrapped up gazelle * spacing * Implement Crosslink Delta Rewards for 0.6 (#2517) * update process crosslink and update existing tests * added a test case to cover no crosslink changes * more test * preston's feedback * spellings * ValidatorStatus Estimating Activation RPC Server (#2469) * fix spacing * working on position in queue * fmt * spacing * feedback * tests * rename * Only Perform Initial Sync With a Single Peer (#2471) * fix spacing * use send instead of broadcast in initial sync * 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> * SSZ web api for decoding input data (#2473) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * standardize slot numbers (#2475) * Add CORS for ssz api (#2476) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * needed CORS * 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 * Update Prysm README (#2477) * README updated * readme updates * no err throw (#2479) * Fix Status Nil Pointer Error (#2480) * no err throw * nil errors * 3.175 (#2482) * Better Error Message if Failing to Exit Initial Sync (#2483) * no err throw * nil errors * better error on init sync * Only Log Active Balances (#2485) * only log active balance * dont need () * change logging (#2487) * fix chainstart waiting on rpc server (#2488) * shift ticker to after activation (#2489) * Add drain script (#2418) * Add drain script * Fix script to drain contracts from newest to oldest * Add README * remove comments * Only after block 400k, look up by deposit event * issue warn log on disconnecting peer instead of error (#2491) * Display Only Active Validator Data (#2490) * Fix Validator Status Field in RPC Server (#2492) * fix status of key * status test fix * fmt * 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 * add production config for testnet release (#2493) * Lookup Validator Index in State in Status Check (#2494) * state lookup * refactor duplicate code * refactor with mapping * fix broken tests * finish refactor * merged master * Starting, I need get_epoch_start_shard * updated EpochCommitteeCount and fixed tests * implemented ShardDelta * test for ShardDelta * implemented EpochStartShard * added epoch out of bound test * test for accurate start shard * lint * need to use changes from latest crosslinks * added BaseReward and totalActiveBalance * added test for base reward * merged master * all tests passing * start testing * done * add ProcessBlockHeader v0.6 (#2534) * add ProcessBlockHeader * function has all its dependancies in place * arange the basic ok test * gazzele and skip test update * skip wrong sig test * fmt imports and change requests * goimports fmt * map for struct fields to be location independent * reorder protobuf fields * added tests * gazzle fix * few change requests fixes * revert changes in types.proto * revert changes in types * fix tests * fix lint * fmt imports * fix gazelle * fix var naming * pb update * var naming * tarance change request fixes * fix test * Add Process Registry for Epoch Processing (#2668) * update update-process-registry * added back the old tests * fmt * gaz * Follow up on process block header v0.6 (#2666) * Putting Crosslink Delta Back (#2654) * update process crosslink and update existing tests * added a test case to cover no crosslink changes * more test * preston's feedback * spellings * ValidatorStatus Estimating Activation RPC Server (#2469) * fix spacing * working on position in queue * fmt * spacing * feedback * tests * rename * Only Perform Initial Sync With a Single Peer (#2471) * fix spacing * use send instead of broadcast in initial sync * 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> * SSZ web api for decoding input data (#2473) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * standardize slot numbers (#2475) * Add CORS for ssz api (#2476) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * needed CORS * 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 * Update Prysm README (#2477) * README updated * readme updates * no err throw (#2479) * Fix Status Nil Pointer Error (#2480) * no err throw * nil errors * 3.175 (#2482) * Better Error Message if Failing to Exit Initial Sync (#2483) * no err throw * nil errors * better error on init sync * Only Log Active Balances (#2485) * only log active balance * dont need () * change logging (#2487) * fix chainstart waiting on rpc server (#2488) * shift ticker to after activation (#2489) * Add drain script (#2418) * Add drain script * Fix script to drain contracts from newest to oldest * Add README * remove comments * Only after block 400k, look up by deposit event * issue warn log on disconnecting peer instead of error (#2491) * Display Only Active Validator Data (#2490) * Fix Validator Status Field in RPC Server (#2492) * fix status of key * status test fix * fmt * 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 * add production config for testnet release (#2493) * Lookup Validator Index in State in Status Check (#2494) * state lookup * refactor duplicate code * refactor with mapping * fix broken tests * finish refactor * merged master * Starting, I need get_epoch_start_shard * updated EpochCommitteeCount and fixed tests * implemented ShardDelta * test for ShardDelta * implemented EpochStartShard * added epoch out of bound test * test for accurate start shard * lint * need to use changes from latest crosslinks * added BaseReward and totalActiveBalance * added test for base reward * merged master * all tests passing * start testing * done * fixed tests * addressed shay's feedback * Implement Attestation Delta for v0.6 (#2646) * update process crosslink and update existing tests * added a test case to cover no crosslink changes * more test * preston's feedback * spellings * ValidatorStatus Estimating Activation RPC Server (#2469) * fix spacing * working on position in queue * fmt * spacing * feedback * tests * rename * Only Perform Initial Sync With a Single Peer (#2471) * fix spacing * use send instead of broadcast in initial sync * 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> * SSZ web api for decoding input data (#2473) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * standardize slot numbers (#2475) * Add CORS for ssz api (#2476) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * needed CORS * 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 * Update Prysm README (#2477) * README updated * readme updates * no err throw (#2479) * Fix Status Nil Pointer Error (#2480) * no err throw * nil errors * 3.175 (#2482) * Better Error Message if Failing to Exit Initial Sync (#2483) * no err throw * nil errors * better error on init sync * Only Log Active Balances (#2485) * only log active balance * dont need () * change logging (#2487) * fix chainstart waiting on rpc server (#2488) * shift ticker to after activation (#2489) * Add drain script (#2418) * Add drain script * Fix script to drain contracts from newest to oldest * Add README * remove comments * Only after block 400k, look up by deposit event * issue warn log on disconnecting peer instead of error (#2491) * Display Only Active Validator Data (#2490) * Fix Validator Status Field in RPC Server (#2492) * fix status of key * status test fix * fmt * 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 * add production config for testnet release (#2493) * Lookup Validator Index in State in Status Check (#2494) * state lookup * refactor duplicate code * refactor with mapping * fix broken tests * finish refactor * merged master * Starting, I need get_epoch_start_shard * updated EpochCommitteeCount and fixed tests * implemented ShardDelta * test for ShardDelta * implemented EpochStartShard * added epoch out of bound test * test for accurate start shard * lint * need to use changes from latest crosslinks * added BaseReward and totalActiveBalance * added test for base reward * implemented process_attestation_delta * comments * comments * merged master * all tests passing * start testing * done * merged master * fixed tests * tests, more to come * tests done * lint * spaces over tabs * addressed shay's feedback * merged master * Implement process_rewards_and_penalties for 0.6 (#2665) * update process crosslink and update existing tests * added a test case to cover no crosslink changes * more test * preston's feedback * spellings * ValidatorStatus Estimating Activation RPC Server (#2469) * fix spacing * working on position in queue * fmt * spacing * feedback * tests * rename * Only Perform Initial Sync With a Single Peer (#2471) * fix spacing * use send instead of broadcast in initial sync * 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> * SSZ web api for decoding input data (#2473) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * standardize slot numbers (#2475) * Add CORS for ssz api (#2476) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * needed CORS * 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 * Update Prysm README (#2477) * README updated * readme updates * no err throw (#2479) * Fix Status Nil Pointer Error (#2480) * no err throw * nil errors * 3.175 (#2482) * Better Error Message if Failing to Exit Initial Sync (#2483) * no err throw * nil errors * better error on init sync * Only Log Active Balances (#2485) * only log active balance * dont need () * change logging (#2487) * fix chainstart waiting on rpc server (#2488) * shift ticker to after activation (#2489) * Add drain script (#2418) * Add drain script * Fix script to drain contracts from newest to oldest * Add README * remove comments * Only after block 400k, look up by deposit event * issue warn log on disconnecting peer instead of error (#2491) * Display Only Active Validator Data (#2490) * Fix Validator Status Field in RPC Server (#2492) * fix status of key * status test fix * fmt * 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 * add production config for testnet release (#2493) * Lookup Validator Index in State in Status Check (#2494) * state lookup * refactor duplicate code * refactor with mapping * fix broken tests * finish refactor * merged master * Starting, I need get_epoch_start_shard * updated EpochCommitteeCount and fixed tests * implemented ShardDelta * test for ShardDelta * implemented EpochStartShard * added epoch out of bound test * test for accurate start shard * lint * need to use changes from latest crosslinks * added BaseReward and totalActiveBalance * added test for base reward * implemented process_attestation_delta * comments * comments * merged master * all tests passing * start testing * done * merged master * fixed tests * tests, more to come * tests done * lint * spaces over tabs * addressed shay's feedback * starting but need to merge a few things... * tests * fmt * Update Slot Processing and State Transition v0.6 (#2664) * edit state transition to add slot processing logic, reorder logic * fix build * lint * tests passing * spacing * tests pass * imports * passing tests * Implement Process Epoch for 0.6 (#2675) * can't find process j f functons * implemented process_epoch * tests done * lint * nishant's feedback * stupid goland replace * goimports * Update CommitteeAssignment (#2693) * cleaned up skipped tests for core processing (#2697) * Process Block Attestations v0.6 (#2650) * attestation.go is ready, tests not * ready for review * fixing linter issues * modified Crosslink and AttestationData proto fields to spec 2.0,marked deprecated fields * gazelle * fixed tests * fixed error * add att processing: * process atts * error msg * finish process attestations logic * spacing * ssz move * inclusion delay failure passing * more attestation tests * more att tests passing * more tests * ffg data mismatching test * ffg tests complete * gofmt * fix testing to match attestation updates * ssz * lint * Fixed Skipped Tests for RPC Server (#2712) * Remove Obsolete Deposit Proto Objects (#2673) * remove deposit data * remove deposit input * fix references * remove deposit helpers * fix all refs * gaz * rgene proto * fix all tests * remove deposit data deprecated field * fix remaining references * fix all tests * fix lint * regen proto * fix test * Remove Deprecated Protobuf State Fields (#2713) * Remove Deprecated Protobuf Crosslink/Slashing/Block Fields (#2714) * Remove Deprecated Beacon Block Proto Fields (#2717) * Remove Deprecated Attestation Proto Fields (#2723) * Cache Shuffled Validator Indices (#2682) * YAML shuffle tests for v0.6 (#2667) * new shuffle tests * added comment for exported function * fix format and print * added config files handling * gazelle fix * shuffle test debugging * added shuffle list and benchmark * hash function addition from nishant code * gazelle fix * remove unused function * few minor changes * add test to test protos optimization * test a bigger list * remove commented code * small changes * fix spec test and test indices to pass * remove empty line * abstraction of repeated code and comment arrangement * terence change requests * fix new test * add small comment for better readability * change from unshuflle to shuffle * comment * better comment * fix all tests * Remove Latest Block (#2721) * lint * remove latest block * lint * add proto * fix build * Fix Deposit Trie (#2686) * remove deposit data * remove deposit input * fix references * remove deposit helpers * fix all refs * gaz * rgene proto * fix all tests * remove deposit data deprecated field * fix remaining references * fix all tests * fix lint * new tests with contract * gaz * more tests * fixed bugs * new test * finally fixed it * gaz * fix test * Remove Committee Cache (#2729) * Benchmark Compute Committee (#2698) * Fixed Skipped Attestation Tests (#2730) * Optimize Shuffled Indices Cache (#2728) * Refactor Deposit Contract Test Setup (#2731) * add new package * fix all tests * lint * change hash function (#2732) * Remove Deprecated Validator Protobuf (#2727) * Remove deprecated validator protos * Fix to comments * Fix most of skipped tests (#2735) * Optimize Base Reward Calculation (#2753) * benchmark process epoch * revert prof.out * Add some optimizations * beware where we use ActiveValidatorIndices... * revert extra file * gaz * quick commit to get feedback * revert extra file * started fixing tests * fixed broken TestProcessCrosslink_NoUpdate * gaz * cache randao seed * fixed all the tests * fmt and lint * spacing * Added todo * lint * revert binary file * started regression test * basic tests done * using a fifo for active indices cache * using a fifo for active count cache * using a fifo for total balance cache * using a fifo for active balance cache * using a fifo for start shard cache * using a fifo for seed cache * gaz * clean up * fixing tests * fixed all the core tests * fixed all the tests!!! * lint * comment * rm'ed commented code * cache size to 1000 should be good enough * optimized base reward * revert binary file * Added comments to calculate adjusted quotient outside * removed deprecated configs (#2755) * Optimize Process Eth1 Data Vote (#2754) * Cleanup and Docs update (#2756) * Add graffiti and update generate seed (#2759) * Benchmark Process Block with Attestations (#2758) * Tidying up Godoc for Core Package (#2762) * Clean up Old RPC Endpoints (#2763) * Update RPC end point for Proposer (#2767) * add RequestBlock * run mockgen * implemented RequestBlock * updated proto definitions * updated tests * updated validator attest tests * done * comment * todo issue * removed unused proto * Cache Active Validator Indices, Count, and Balances (#2737) * Update Deposit Contract (#2648) * lint * add new contract * change version * remove log * generating abi and binary files * fix tests * update to current version * new changes * add new hash function * save hashed nodes * add more things * new method * add update to trie * new stuff * gaz * more stuff * finally fixed build * remove deposit data * Revert "remove deposit data" This reverts commit 9085409e91be0c94550af10290eaad72ad40a6de. * more changes * lint and gaz * lint * Update Shard Helpers for 0.6 (#2497) * ValidatorStatus Estimating Activation RPC Server (#2469) * fix spacing * working on position in queue * fmt * spacing * feedback * tests * rename * Only Perform Initial Sync With a Single Peer (#2471) * fix spacing * use send instead of broadcast in initial sync * 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> * SSZ web api for decoding input data (#2473) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * standardize slot numbers (#2475) * Add CORS for ssz api (#2476) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * needed CORS * 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 * Update Prysm README (#2477) * README updated * readme updates * no err throw (#2479) * Fix Status Nil Pointer Error (#2480) * no err throw * nil errors * 3.175 (#2482) * Better Error Message if Failing to Exit Initial Sync (#2483) * no err throw * nil errors * better error on init sync * Only Log Active Balances (#2485) * only log active balance * dont need () * change logging (#2487) * fix chainstart waiting on rpc server (#2488) * shift ticker to after activation (#2489) * Add drain script (#2418) * Add drain script * Fix script to drain contracts from newest to oldest * Add README * remove comments * Only after block 400k, look up by deposit event * issue warn log on disconnecting peer instead of error (#2491) * Display Only Active Validator Data (#2490) * Fix Validator Status Field in RPC Server (#2492) * fix status of key * status test fix * fmt * 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 * add production config for testnet release (#2493) * Lookup Validator Index in State in Status Check (#2494) * state lookup * refactor duplicate code * refactor with mapping * fix broken tests * finish refactor * merged master * updated EpochCommitteeCount and fixed tests * implemented ShardDelta * test for ShardDelta * implemented EpochStartShard * added epoch out of bound test * test for accurate start shard * lint * Update Genesis State Function to v0.6 (#2465) * add pseudocode * make changes * fix all tests * fix tests * lint * regen protos and mocks * regenerated protos * started fixing core * all core tests passing! * removed shared/forkutils * started fixing blockchain package * lint * updating rpc package * add back deleted stuff * add back deleted stuff that was deleted accidentally * add back protos and mocks * fix errors * fix genesis issue * fix genesis issue for slot ticker * fix all genesis errors * fix build files * temp change for go-ssz * fix test * Revert "temp change for go-ssz" This reverts commit 3411cb9d6d519cb521181486debc3b21603c8873. * update to latest go-ssz * unstaged changes * Update Attester Server RPC Calls (#2773) * Update config and function parameters to v0.7 (#2791) * Minor Updates to 0.7 (#2795) * Refactor Deposit Flow and Cleanup Tests (#2788) * More WIP on cleaning deposit flow * Fix tests * Cleanup and imports * run gazelle * Move deposit to block_operations * gazelle * Update beacon-chain/core/blocks/block_operations.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * Fix docs * Remove unneeded calculations * Fix tests * Fix tests finally (?) * Optimize Committee Assignment RPC (#2787) * Update BlockRoot to BlockHash (#2816) * Fix Final Missing Items in Block Processing v0.6 (#2710) * override config successfully * passes processing * add signing root helper * blockchain tests pass * tests blocked by signing root * lint * fix references * fix protos * proper use of signing root * only few failing tests now * fix final test * tests passing * lint and imports * rem unused * Update beacon-chain/core/blocks/block_operations.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * lint * Update beacon-chain/attestation/service_test.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * Update beacon-chain/db/block_test.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * rename to hash tree root * rename decode to unmarshal * fix * use latest ssz * all tests passing * lint * fmt * Add Config YAML for Spec Tests (#2818) * Align Protobuf Type Names (#2825) * gofmt * Revert "Align Protobuf Type Names (#2825)" (#2827) This reverts commit 882d067144c674bbf4eeee00404acaa0a9b1fd33. * Update Domain Related Functions (#2832) * Add Functions for Compressed and Uncompressed HashG2 With Domain (#2833) * add tests * gaz * lint * Revert "Add Functions for Compressed and Uncompressed HashG2 With Domain (#2833)" (#2835) This reverts commit 7fb2ebf3f12f043d7bd12f43500dc2bd133df573. * Add ConvertToPb to package testutil (#2838) * Block Processing Bug Fixes (#2836) * Update types PB with Size Tags (#2840) * Epoch processing spec tests (#2814) * Remove Deposit Index (#2851) * Shuffle tests revisited (#2829) * first commit * remove old files, add log * remove duplicate yaml testing code * reduce visability * nishant feedback changes * skip TestFromYaml_Pass * added tags to bazel build * gazelle fix * remove unused vars * adda back config * remove config handling * remove unused var * gazelle fix * SSZ compatibility test for protobufs (#2839) * update workspace spec sha * remove yamls from branch * BLS spec tests (#2826) (#2856) * bls spec tests * add more bls tests * use ioutil instead of bazel runfiles * dont read bytes * skip tests that overflow uint64 * manually fix input data * add tests * lint and gaz * add all new changes * some refactoring, cleanup, remove new API methods that only exist for tests * gaz * Remove yamls, skip test * Slot processing spec test (#2813) * eth1data rpc endpoint (#2733) * eth1data rpc endpoint * first version * comment added * gazelle fix * new function to go once over the deposit array * fix tests * export DepositContainer * terence feedback * move structure decleration * binary search * fix block into Block * preston feedback * keep slice sorted to remove overhead in retrival * merge changes * feedback * update to the latest go-ssz * revert change * chnages to fit new ssz * revert merge reversion * go fmt goimprts duplicate string * exception for lint unused doesParentExist * feedback changes * latesteth1data to eth1data * goimports and stop exposing Eth1Data * revert unneeded change * remove exposure of DepositContainer * feedback and fixes * fix workspace duplicate dependancy * greatest number of deposits at current height * add count votes function * change method name * revert back to latesteth1data * latesteth1data * preston feedback * seperate function add tests fix bug * stop exposing voteCountMap * eth1data comment fix * preston feedback * fix tests * new proto files * workspace to default version of ssz * new ssz * chnage test size * marshalled marshaled * Attesting Indices Fix (#2862) * add change * fix one test * fix all tests * add test * clear cache * removed old chaintest, simulated backend and state generator (#2863) * Block Processing Sanity Spec Tests (#2817) * update PrevEpoch * add new changes * shift to blocks package * add more changes * new changes * updated pb with size tags * add new changes * fix errors * uncomment code * more changes * add new changes * rename and lint * gaz * more changes * proccess slot SigningRoot instead of HashTreeRoot * ensure yaml generated structs work * block sanity all passing * minimal and mainnet all pass * remove commented code * fix one test * fix all tests * fix again * no state comparison * matching spec * change target viz * comments gazelle * clear caches before test cases * latest attempts * clean up test format * remove debugging log, remove yaml * unskip attestation * remove skip, check post state, diff state diffs * handle err * add bug fixes * fixed one more bug * fixed churn limit bug * change hashProto to HashTreeRoot * all tests pass :) * fix all tests * gaz * add regression tests * fix test bug * Mutation testing fixes for beacon-chain/core/helpers/attestation.go (#2868) * mutation testing for attestation.go * new line * lint * revert fmt.Errorf deletion * gofmt * Add some fixes for mutation testing on blocks.go (#2869) * Fix sizes * gaz * Spec freeze release candidate spectests * Align Protobuf Type Names (#2872) * Removes some deprecated fields from protobuf (#2877) * search and replace checkpoints * fix tests, except spec tests * Update Configs for Freeze (#2876) * update configs * updated minimal configs * almost there * all tests passing except for spec tests * better comment for MinGenesisTime * done, ready for review * rm seconds per day * feedback * Mutation testing fixes for beacon-chain/core/helpers/committee.go (#2870) * Add some fixes for mutation testing on blocks.go * working on mutation testing fo committee.go * gofmt * goimports * update readme target * update latest sha for spec tests * fix build * Update State Transition Function (#2867) * Change Base Reward Factor (#2888) * Update Freeze Spec Simplification Section - part 1 (#2893) * finished changes to attesting_indices * removed index_count <= 2**40 requirement * lint * reverted index_count <= 2**40 check * added short cut len(a) > len(b) * Update justification bits (#2894) * updated all the helper pseudocodes (#2895) * Make Constants Explicit and Minor Cleanups (#2898) * Rename outdated configs, make constants explicitly delcared * Remove activate_validator, not needed * Remove GenesisSlot and GenesisEpoch * Remove unused import * Move Block Operation Length Checks to ProcessOperations (#2900) * Move block operation length checks to ProcessOperations * Write tests for each length check in ProcessOperations * Remove unneeded test * Move checks to a new function * Move duplicate check back into ProcessOperations * reorder proto fields (#2902) * Slashing Penalty Calculation Change (#2889) * lint * change config val * add max helper * changes to slashing and process slashing, add a min function for integers * gaz * fix failing tests * fix test * fixed all tests * Change Yaml tag * lint * remove gc hack * fix test * gaz * preston's comments * change failing field * fix and regen proto * lint * Implement Compact Committee Root (#2897) * add tags * add function * add new code * add function * add all new changes * lint * add tests * fix tests * fix more tests * fix all outstanding tests * gaz * Update beacon-chain/core/helpers/committee.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * comment * Remove deprecated fields from attestation data (#2892) * fix broken tests * remove comment * fixes * Update Deposit Contract (#2903) * update to new contract * fix references * fix tests * fix some more tests * fix local deposit trie * gaz * shays review * more changes * update WORKSPACE to use 0.8 spec tests * Perform Mutesting in Helpers Package (#2912) * Perform mutesting on validator * Mutesting in helpers package * Mutested eth1data * s/volundary/voluntary (#2914) * Update BLS Domain (#2916) * change from integer to byte slice * add test * fix func for bytes4 * Fix Spec tests (#2907) * fix panics * handle failed transitions * remove log * fix to protos * new changes * remove i * change ssz commit * new changes * update epoch tests * fix epoch testing * fix shuffle tests * fix test * Perform Mutesting in Epoch and State Packages (#2913) * done with updates (#2890) * Add Max Size Tag for Protobuf Fields (#2908) * No more space between ssz-size numbers * Regen pb.go * Fixed a few incorrect proto fields (#2926) * Update Validator Workflow (#2906) * Justification spec tests (#2896) * update go-ssz * Fix SSZ Compatibility Test (#2924) * figuring out how to seqeeze in multiple fields in a tag for pb * Added max tags and regenerated pb.go * updated to new standard * New bitfield types in proto (#2915) * Cast bytes to correct bitfield, failing tests now though * Add forked gogo/protobuf until https://github.com/gogo/protobuf/pull/582 * remove newline * use proper override for gogo-protobuf * fix a few tags * forgot to include custody bits and Slashable not used * Update yaml struct to use pb * Update workspace to use latest ssz * All tests fail * Use the latest go-ssz commit * All pass except for state (too long to taste) * Update test.proto * Added rest of the tests * use 1 justification bits * fix tag test, apply @rauljordan's suggestion * add IsEmpty and use ssz struct * delete unused file * Update zero hash to sha256().digest() (#2932) * update zero hash * change zero hash to conform with spec * goimports * add test for zero hash * Revert "Update zero hash to sha256().digest() (#2932)" (#2933) This reverts commit b926ae0667b18aef3f7e0e8ec8a9b3e98b3d2ccc. * Fix compress validator (#2936) * fix compress validator * update go-ssz * build without the bytes test * try minimal * Block operations spec tests (#2828) * update PrevEpoch * debugging proposer slashing tests * fmt * add deposit tests * Added skeleton for attestation minimal test * remove bazel runfiles thing * add deposits * proposer slashing test is done * comment * complete test, some failing cases * sig verify on * refactor slightly to support mainnet and minimal * included mainnet stuff * Add block header tests * volunary exit done * transfer done * new changes * fix all tests * update domain functions * fmt * fixed lint * fixed all the tests * fixed a transfer bug * finished attester slashing tests and fixed a few bugs * started fixing... * cleaned up exit and proposr slashing tests * attester slashing passing * refactored deposit tests * remove yamls, update ssz * Added todo for invalid sig * gazelle * deposits test done! * transfer tests done and pass! * fix attesting indices bug * temporarily disabled signature verification * cleaned up most of the block ops, except for att * update committee AttestingIndices * oops, i dont know how or why i changed this file * fixed all the rpc tests * 6 more failing packages * test max transfer in state package * replace hashproto with treehash in package blockchain * gazelle * fix test * fix test again * fixed transition test, 2 more left * expect an error in attestation tests * Handle panic when no votes in aggregate attestation * clear cache * Add differ, add logging, tests pass yay * remove todo, add tag * fixed TestReceiveBlock_RemovesPendingDeposits * TestAttestationMinimal/success_since_max_epochs_per_crosslink fails now... * handle panics * Transfer tests were disabled in https://github.com/ethereum/eth2.0-specs/pull/1238 * more fixes after merge, updating block_operations.yaml.go to match yaml * figuring out how to seqeeze in multiple fields in a tag for pb * Added max tags and regenerated pb.go * updated to new standard * New bitfield types in proto (#2915) * Cast bytes to correct bitfield, failing tests now though * Add forked gogo/protobuf until https://github.com/gogo/protobuf/pull/582 * remove newline * fix references and test panic * change to proto objects from custom types * fix panics in tests * use proper override for gogo-protobuf * fix a few tags * fix tests * forgot to include custody bits and Slashable not used * fix tests * sort again * Update yaml struct to use pb * Update workspace to use latest ssz * All tests fail * Use the latest go-ssz commit * All pass except for state (too long to taste) * Update test.proto * Added rest of the tests * use 1 justification bits * minor fixes * wrong proto.Equal * fix tag test, apply @rauljordan's suggestion * add IsEmpty and use ssz struct * inverted logic * update zero hash * change zero hash to conform with spec * goimports * add test for zero hash * Revert "Update zero hash to sha256().digest() (#2932)" This reverts commit b926ae0667b18aef3f7e0e8ec8a9b3e98b3d2ccc. * update ssz, fix import, shard big test * checkpoint * fix compress validator * update go-ssz * missing import * missing import * tests now pass * been a good day * update test size * fix lint * imports and remove unused const * update bazel jobs flag * update bazel jobs flag * satisfy deprecation warning * Add ssz regression tests for investigation of test failures in PR #2828 (#2935) * Adding regression tests for investigation * add another example * goimports * add quick comment about test case 0 * Epoch Process Slashings Spec Tests (#2930) * updated justification bits, tests passing OK * regen pb.go, clarify bit operations * justification and finalization tests; failing * Add wrapper, so we call the correct method * checkpoint * Update tar ref * TestSlashingsMinimal/small_penalty still failing * Use bigint instead of () and float * Revert a bad merge from workspace * Fmt * add note about https://github.com/ethereum/eth2.0-specs/issues/1284 * improve tests * gaz * Perform Mutesting In core/state Package (#2923) * Perform mutesting on validator * Mutesting in helpers package * Mutested eth1data * Perform mutesting in epoch and state packages * Fix voluntary exits test * Fix typo * Fix comments * Fix formatting * Fix error message * Handle missing errors * Handle all errors * Perform Mutesting In State Package * Fix block roots size * Remove comment * Fix error * add backend service * Add ssz compatibility tests for signing root (#2931) * Added tests for signing root * imports * fix lint on travis * fix bes flag * Final updates spec tests (#2901) * set up tests * need to reorder pbs * figuring out how to seqeeze in multiple fields in a tag for pb * Added max tags and regenerated pb.go * updated to new standard * New bitfield types in proto (#2915) * Cast bytes to correct bitfield, failing tests now though * Add forked gogo/protobuf until https://github.com/gogo/protobuf/pull/582 * remove newline * use proper override for gogo-protobuf * fix a few tags * forgot to include custody bits and Slashable not used * playing with tags idea, can revert this commit later * fixes after merge * reset caches before test * all epoch tests pass * gazelle * Genesis trigger (#2905) * genesis change * integrate changes * bodyroot * remove unused code * HasChainStarted * added isValidGenesisState to ProcessLog * state fix * fix gazelle * uint64 timestamp * SetupInitialDeposits adds proof * remove unneeded parts of test * deposithash * merkleproof from spec utils * Revert "merkleproof from spec utils" This reverts commit 1b0a124352e7b62e3c3220fb0d64e295b474b430. * fix test failures * chain started and hashtree root in tests * simple eth2genesistime * eth2 genesis time * fix zero time * add comment * remove eth1data and feedback * fix build issues * main changes: add fields and methods to track active validator count * gaz * fix test * fix more tests * improve test utils * shift spec method to state package, improve test setup * fixed log processing tests * remove log * gaz * fix invalid metric * use better tag names, not latest * Remove Block Signing Root (#2945) * replace with hash tree root * Revert "replace with hash tree root" This reverts commit 77d8f16a160e42f3c3d598df66c30a66657de1bf. * replace with signing root instead * remove one more ref * Create Test Runner for Genesis State Spec Tests (#2940) * genesis change * integrate changes * bodyroot * remove unused code * HasChainStarted * added isValidGenesisState to ProcessLog * state fix * fix gazelle * uint64 timestamp * SetupInitialDeposits adds proof * remove unneeded parts of test * deposithash * merkleproof from spec utils * Revert "merkleproof from spec utils" This reverts commit 1b0a124352e7b62e3c3220fb0d64e295b474b430. * fix test failures * chain started and hashtree root in tests * simple eth2genesistime * eth2 genesis time * fix zero time * add comment * remove eth1data and feedback * fix build issues * main changes: add fields and methods to track active validator count * gaz * fix test * fix more tests * improve test utils * Start genesis spec tests * shift spec method to state package, improve test setup * Add Genesis validity spec test * Bazel * fixed log processing tests * remove log * gaz * fix invalid metric * use json tags * fix up latest changes * Fix most of test errors * Attempts to see whats wrong with genesis validity * Fix merge * skip minimal * fix state test * new commit * fix nishant comment * gaz * Static check on branch spec-v0.6 (#2946) * Ran staticcheck and fixed the important complains * commit * commit * Create Test Runner for Genesis State Spec Tests (#2940) * genesis change * integrate changes * bodyroot * remove unused code * HasChainStarted * added isValidGenesisState to ProcessLog * state fix * fix gazelle * uint64 timestamp * SetupInitialDeposits adds proof * remove unneeded parts of test * deposithash * merkleproof from spec utils * Revert "merkleproof from spec utils" This reverts commit 1b0a124352e7b62e3c3220fb0d64e295b474b430. * fix test failures * chain started and hashtree root in tests * simple eth2genesistime * eth2 genesis time * fix zero time * add comment * remove eth1data and feedback * fix build issues * main changes: add fields and methods to track active validator count * gaz * fix test * fix more tests * improve test utils * Start genesis spec tests * shift spec method to state package, improve test setup * Add Genesis validity spec test * Bazel * fixed log processing tests * remove log * gaz * fix invalid metric * use json tags * fix up latest changes * Fix most of test errors * Attempts to see whats wrong with genesis validity * Fix merge * skip minimal * fix state test * new commit * fix nishant comment * gaz * Add Back Eth1Data After Bad Merge (#2953) * eth1data rpc endpoint * first version * comment added * gazelle fix * new function to go once over the deposit array * fix tests * export DepositContainer * terence feedback * move structure decleration * binary search * fix block into Block * preston feedback * keep slice sorted to remove overhead in retrival * merge changes * feedback * update to the latest go-ssz * revert change * chnages to fit new ssz * revert merge reversion * go fmt goimprts duplicate string * exception for lint unused doesParentExist * feedback changes * latesteth1data to eth1data * goimports and stop exposing Eth1Data * revert unneeded change * remove exposure of DepositContainer * feedback and fixes * fix workspace duplicate dependancy * greatest number of deposits at current height * add count votes function * change method name * revert back to latesteth1data * latesteth1data * preston feedback * seperate function add tests fix bug * stop exposing voteCountMap * eth1data comment fix * preston feedback * fix tests * new proto files * workspace to default version of ssz * new ssz * chnage test size * marshalled marshaled * everything passing again * add skip reason * cleanup deposit contract slightly * remove unused chainstart param (#2957) * fix breakages from #2957 (#2958) * fix breakages from #2957 * oops * Fix deposit input data (#2956) * fix deposit input data * fix deposit input data * gaz and build fix * Add Tests for Genesis Deposits Caching (#2952) * remove old method and replace with an improved one * add new files * gaz * add test * added all these tests * gaz * Apply suggestions from code review Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * fix merkle proof error * fix config * Minor fixes for runtime (#2960) * Minor fixes for runtime * use comments * goimports * revert beacon-chain/core/state/state.go and fix comment for lint * fix test too * Minor runtime fixes (#2961) * Add support for bundling binaries and fix ARM64 builds (#2970) * Add support for bundling binaries and fix ARM64 builds * Fix exports * ignore manual targets wrt vis check * fix graknlabs * update spec tests (#2979) * hotfix until https://github.com/graknlabs/bazel-distribution/pull/169 * Overflow slashing calculation fix (#2977) * Runtime Fixes (#2736) * first batch of fixes * add log * more fixes * another bug fixed * update deposit contract and other fixes * remove logs * new changes * fixes * fix build * remove config * more fixes * add more changes * add back todo * make compute state root work * remove commented out and fix condition * fix commented code * fix config * gaz * remove flag * remove init * new fixes * fix test * one more fix * fix all tests * change back config * fix one more bug * remove logging bool * Only build test targets when running bazel test //... * Align prysm to spec v0.8.1 (#2978) * Bazel problem * Update zero hash representation to be clear (cosmetic) * Update minor cosmetic fixes * Fixed lookahead off by 1 * Update randao.go * update ssz * test failures fixed * test fixes * fix up workspace * lint * fixed errs * Updated pubkey loggings (#2983) * Fix proposer assignment (#2984) * add jvm limits * add jvm limits * Removed logging from state transition functions (#2980) * Match spec on proposer index division (#2985) * Match spec on proposer index division * gaz * fixes * Fix Default Eth1Data (#2982) * fix bug * Update beacon-chain/core/state/transition.go Co-Authored-By: Raul Jordan <raul@prysmaticlabs.com> * more fixes * reg test * Set ejection balance to 1.6 (#2987) * improve block processing log (#2990) * Fix HistoricalRootsLimit (#2989) * fix historical lenght * fix genesis state initialization and test * fix genesis state initialization and test * fix genesis state initialization and test * fix genesis state initialization and test * hack config until https://github.com/prysmaticlabs/prysm/issues/2993 * More Runtime Fixes (#2986) * local changes * add val sig * attester fix * one more fix * fixed all tests * rem validator issue * fix finality issue (#2994) * Fix validator prev balance calculation (#2992) * attester fix * one more fix * fixed all tests * Fix validator prev balances calculation * go fmt * 48 bytes * Fix Querier to handle Deposit Logs Race (#2999) * fix sync issue * fix build * add regression test * add var for magic number * Fix eth1data and deposits (#2996) * Work in progress, eth1data works, deposits are included at the appropriate time, and activation happens at the correct time * revert blockInfo being public * git tests to build, not yet pass though * add tests * some commentary * fix comment * goimports * fmt and remove unused method * Update rules go (#2975) * update rules_go * Fix some cross compile builds stuff * add missing deps * update to 0.19.1 * Update Protobufs to Match Ethereum APIs (#2998) * add beacon block and attestation files * add all types * include all new proto type definitions * add add all proto definitions * fix all comments to say 48 bytes * include latest changes * readd common * no swag * add build file * deps issue * right package names * address feedback, maintain parity between upstream ethereumapis * delete pb * bad gens * Update "Testing Prysm" readme section (#3000) Resolves invalid url link to golangci-lint. * Update badge to version 0.8.1 * elaborate on test skip * revert shared/p2p/options.go * make travis happy with goimports * Update beacon-chain/core/blocks/block.go Co-Authored-By: Preston Van Loon <preston@prysmaticlabs.com>
2019-07-20 00:16:10 +00:00
func (it *DepositContractDepositEventIterator) Error() error {
return it.fail
}
// Close terminates the iteration process, releasing any pending underlying
// resources.
Spec freeze updates (#2312) * Optimize Shuffled Indices Cache (#2728) * Refactor Deposit Contract Test Setup (#2731) * add new package * fix all tests * lint * change hash function (#2732) * Remove Deprecated Validator Protobuf (#2727) * Remove deprecated validator protos * Fix to comments * Fix most of skipped tests (#2735) * Cache Active Validator Indices, Count, and Balances (#2737) * Optimize Base Reward Calculation (#2753) * benchmark process epoch * revert prof.out * Add some optimizations * beware where we use ActiveValidatorIndices... * revert extra file * gaz * quick commit to get feedback * revert extra file * started fixing tests * fixed broken TestProcessCrosslink_NoUpdate * gaz * cache randao seed * fixed all the tests * fmt and lint * spacing * Added todo * lint * revert binary file * started regression test * basic tests done * using a fifo for active indices cache * using a fifo for active count cache * using a fifo for total balance cache * using a fifo for active balance cache * using a fifo for start shard cache * using a fifo for seed cache * gaz * clean up * fixing tests * fixed all the core tests * fixed all the tests!!! * lint * comment * rm'ed commented code * cache size to 1000 should be good enough * optimized base reward * revert binary file * Added comments to calculate adjusted quotient outside * removed deprecated configs (#2755) * Optimize Process Eth1 Data Vote (#2754) * Cleanup and Docs update (#2756) * Add graffiti and update generate seed (#2759) * Benchmark Process Block with Attestations (#2758) * Tidying up Godoc for Core Package (#2762) * Clean up Old RPC Endpoints (#2763) * Update RPC end point for Proposer (#2767) * add RequestBlock * run mockgen * implemented RequestBlock * updated proto definitions * updated tests * updated validator attest tests * done * comment * todo issue * removed unused proto * Update attesting indices v0.6 (#2449) * sort participants slice * add bitfield functions and tests * added BitfieldBit test * add AttestationParticipantsNew * revert AttestationParticipants to its previous change * add tests * remove verifybitfieldnew * fix tests and remove multiple tests * remove duplicate test * change magic number into ceildiv8 * Implement Justification and finalization Processing (#2448) * Add convert to indexed (#2519) * sort participants slice * add bitfield functions and tests * added BitfieldBit test * add AttestationParticipantsNew * revert AttestationParticipants to its previous change * add tests * remove verifybitfieldnew * fix tests and remove multiple tests * remove duplicate test * start work * convert attestation to indexed attestations * fix test for convert index * remove calling getter * add more tests * remove underscore * changes name to signature (#2535) * update registry updates func (#2521) * update registry updates func * added tests and moved to epoch processing * fixed naming issues * Update Committee Helpers to v0.6.0 (#2398) * Update Committee Helper Part 2 (#2592) * Implement Process Slashings for 0.6 (#2523) * Update Proposer/Attester Slashings and Slashing Helpers (#2603) * Implement Final Updates 0.6 (#2562) * ValidatorStatus Estimating Activation RPC Server (#2469) * fix spacing * working on position in queue * fmt * spacing * feedback * tests * rename * Only Perform Initial Sync With a Single Peer (#2471) * fix spacing * use send instead of broadcast in initial sync * 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> * SSZ web api for decoding input data (#2473) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * standardize slot numbers (#2475) * Add CORS for ssz api (#2476) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * needed CORS * 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 * Update Prysm README (#2477) * README updated * readme updates * no err throw (#2479) * Fix Status Nil Pointer Error (#2480) * no err throw * nil errors * 3.175 (#2482) * Better Error Message if Failing to Exit Initial Sync (#2483) * no err throw * nil errors * better error on init sync * Only Log Active Balances (#2485) * only log active balance * dont need () * change logging (#2487) * fix chainstart waiting on rpc server (#2488) * shift ticker to after activation (#2489) * Add drain script (#2418) * Add drain script * Fix script to drain contracts from newest to oldest * Add README * remove comments * Only after block 400k, look up by deposit event * issue warn log on disconnecting peer instead of error (#2491) * Display Only Active Validator Data (#2490) * Fix Validator Status Field in RPC Server (#2492) * fix status of key * status test fix * fmt * 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 * add production config for testnet release (#2493) * Lookup Validator Index in State in Status Check (#2494) * state lookup * refactor duplicate code * refactor with mapping * fix broken tests * finish refactor * merged master * updated EpochCommitteeCount and fixed tests * implemented ShardDelta * test for ShardDelta * implemented EpochStartShard * added epoch out of bound test * test for accurate start shard * lint * implemented process_final_updates * move to the top of the file * add comment back * gaz * Test for process final updates * fixed tests * fixed all the tests * Update Reward Helper v0.6 (#2470) * added BaseReward * added rewards helper * added test for BaseReward * extra space * move exported function above * update to new spec (#2614) * Update Block Processing Voluntary Exits (#2609) * Update processEth1Data for v0.6 (#2516) * Clean up Helper Functions Part 1 (#2612) * Finalize helper functions for 0.6 (#2632) * Process Beacon Chain Transfers v0.6 (#2642) * add transfers * beacon transfer operations complete * full cov * transfer testing * finished tests * Update beacon-chain/core/blocks/block_operations_test.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * Update beacon-chain/core/blocks/block_operations.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * Implement Process Crosslink From 0.6 (#2460) * Process Block Eth1 Data v0.6 (#2645) * Get attestation data slot v0.6 (#2593) * attestation.go is ready, tests not * ready for review * fixing linter issues * modified Crosslink and AttestationData proto fields to spec 2.0,marked deprecated fields * gazelle * fixed tests * fixed error * error msg * Process Block Deposits v0.6 (#2647) * imports fixes * deposits tests pass * wrapped up gazelle * spacing * Implement Crosslink Delta Rewards for 0.6 (#2517) * update process crosslink and update existing tests * added a test case to cover no crosslink changes * more test * preston's feedback * spellings * ValidatorStatus Estimating Activation RPC Server (#2469) * fix spacing * working on position in queue * fmt * spacing * feedback * tests * rename * Only Perform Initial Sync With a Single Peer (#2471) * fix spacing * use send instead of broadcast in initial sync * 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> * SSZ web api for decoding input data (#2473) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * standardize slot numbers (#2475) * Add CORS for ssz api (#2476) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * needed CORS * 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 * Update Prysm README (#2477) * README updated * readme updates * no err throw (#2479) * Fix Status Nil Pointer Error (#2480) * no err throw * nil errors * 3.175 (#2482) * Better Error Message if Failing to Exit Initial Sync (#2483) * no err throw * nil errors * better error on init sync * Only Log Active Balances (#2485) * only log active balance * dont need () * change logging (#2487) * fix chainstart waiting on rpc server (#2488) * shift ticker to after activation (#2489) * Add drain script (#2418) * Add drain script * Fix script to drain contracts from newest to oldest * Add README * remove comments * Only after block 400k, look up by deposit event * issue warn log on disconnecting peer instead of error (#2491) * Display Only Active Validator Data (#2490) * Fix Validator Status Field in RPC Server (#2492) * fix status of key * status test fix * fmt * 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 * add production config for testnet release (#2493) * Lookup Validator Index in State in Status Check (#2494) * state lookup * refactor duplicate code * refactor with mapping * fix broken tests * finish refactor * merged master * Starting, I need get_epoch_start_shard * updated EpochCommitteeCount and fixed tests * implemented ShardDelta * test for ShardDelta * implemented EpochStartShard * added epoch out of bound test * test for accurate start shard * lint * need to use changes from latest crosslinks * added BaseReward and totalActiveBalance * added test for base reward * merged master * all tests passing * start testing * done * add ProcessBlockHeader v0.6 (#2534) * add ProcessBlockHeader * function has all its dependancies in place * arange the basic ok test * gazzele and skip test update * skip wrong sig test * fmt imports and change requests * goimports fmt * map for struct fields to be location independent * reorder protobuf fields * added tests * gazzle fix * few change requests fixes * revert changes in types.proto * revert changes in types * fix tests * fix lint * fmt imports * fix gazelle * fix var naming * pb update * var naming * tarance change request fixes * fix test * Add Process Registry for Epoch Processing (#2668) * update update-process-registry * added back the old tests * fmt * gaz * Follow up on process block header v0.6 (#2666) * Putting Crosslink Delta Back (#2654) * update process crosslink and update existing tests * added a test case to cover no crosslink changes * more test * preston's feedback * spellings * ValidatorStatus Estimating Activation RPC Server (#2469) * fix spacing * working on position in queue * fmt * spacing * feedback * tests * rename * Only Perform Initial Sync With a Single Peer (#2471) * fix spacing * use send instead of broadcast in initial sync * 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> * SSZ web api for decoding input data (#2473) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * standardize slot numbers (#2475) * Add CORS for ssz api (#2476) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * needed CORS * 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 * Update Prysm README (#2477) * README updated * readme updates * no err throw (#2479) * Fix Status Nil Pointer Error (#2480) * no err throw * nil errors * 3.175 (#2482) * Better Error Message if Failing to Exit Initial Sync (#2483) * no err throw * nil errors * better error on init sync * Only Log Active Balances (#2485) * only log active balance * dont need () * change logging (#2487) * fix chainstart waiting on rpc server (#2488) * shift ticker to after activation (#2489) * Add drain script (#2418) * Add drain script * Fix script to drain contracts from newest to oldest * Add README * remove comments * Only after block 400k, look up by deposit event * issue warn log on disconnecting peer instead of error (#2491) * Display Only Active Validator Data (#2490) * Fix Validator Status Field in RPC Server (#2492) * fix status of key * status test fix * fmt * 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 * add production config for testnet release (#2493) * Lookup Validator Index in State in Status Check (#2494) * state lookup * refactor duplicate code * refactor with mapping * fix broken tests * finish refactor * merged master * Starting, I need get_epoch_start_shard * updated EpochCommitteeCount and fixed tests * implemented ShardDelta * test for ShardDelta * implemented EpochStartShard * added epoch out of bound test * test for accurate start shard * lint * need to use changes from latest crosslinks * added BaseReward and totalActiveBalance * added test for base reward * merged master * all tests passing * start testing * done * fixed tests * addressed shay's feedback * Implement Attestation Delta for v0.6 (#2646) * update process crosslink and update existing tests * added a test case to cover no crosslink changes * more test * preston's feedback * spellings * ValidatorStatus Estimating Activation RPC Server (#2469) * fix spacing * working on position in queue * fmt * spacing * feedback * tests * rename * Only Perform Initial Sync With a Single Peer (#2471) * fix spacing * use send instead of broadcast in initial sync * 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> * SSZ web api for decoding input data (#2473) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * standardize slot numbers (#2475) * Add CORS for ssz api (#2476) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * needed CORS * 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 * Update Prysm README (#2477) * README updated * readme updates * no err throw (#2479) * Fix Status Nil Pointer Error (#2480) * no err throw * nil errors * 3.175 (#2482) * Better Error Message if Failing to Exit Initial Sync (#2483) * no err throw * nil errors * better error on init sync * Only Log Active Balances (#2485) * only log active balance * dont need () * change logging (#2487) * fix chainstart waiting on rpc server (#2488) * shift ticker to after activation (#2489) * Add drain script (#2418) * Add drain script * Fix script to drain contracts from newest to oldest * Add README * remove comments * Only after block 400k, look up by deposit event * issue warn log on disconnecting peer instead of error (#2491) * Display Only Active Validator Data (#2490) * Fix Validator Status Field in RPC Server (#2492) * fix status of key * status test fix * fmt * 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 * add production config for testnet release (#2493) * Lookup Validator Index in State in Status Check (#2494) * state lookup * refactor duplicate code * refactor with mapping * fix broken tests * finish refactor * merged master * Starting, I need get_epoch_start_shard * updated EpochCommitteeCount and fixed tests * implemented ShardDelta * test for ShardDelta * implemented EpochStartShard * added epoch out of bound test * test for accurate start shard * lint * need to use changes from latest crosslinks * added BaseReward and totalActiveBalance * added test for base reward * implemented process_attestation_delta * comments * comments * merged master * all tests passing * start testing * done * merged master * fixed tests * tests, more to come * tests done * lint * spaces over tabs * addressed shay's feedback * merged master * Implement process_rewards_and_penalties for 0.6 (#2665) * update process crosslink and update existing tests * added a test case to cover no crosslink changes * more test * preston's feedback * spellings * ValidatorStatus Estimating Activation RPC Server (#2469) * fix spacing * working on position in queue * fmt * spacing * feedback * tests * rename * Only Perform Initial Sync With a Single Peer (#2471) * fix spacing * use send instead of broadcast in initial sync * 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> * SSZ web api for decoding input data (#2473) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * standardize slot numbers (#2475) * Add CORS for ssz api (#2476) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * needed CORS * 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 * Update Prysm README (#2477) * README updated * readme updates * no err throw (#2479) * Fix Status Nil Pointer Error (#2480) * no err throw * nil errors * 3.175 (#2482) * Better Error Message if Failing to Exit Initial Sync (#2483) * no err throw * nil errors * better error on init sync * Only Log Active Balances (#2485) * only log active balance * dont need () * change logging (#2487) * fix chainstart waiting on rpc server (#2488) * shift ticker to after activation (#2489) * Add drain script (#2418) * Add drain script * Fix script to drain contracts from newest to oldest * Add README * remove comments * Only after block 400k, look up by deposit event * issue warn log on disconnecting peer instead of error (#2491) * Display Only Active Validator Data (#2490) * Fix Validator Status Field in RPC Server (#2492) * fix status of key * status test fix * fmt * 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 * add production config for testnet release (#2493) * Lookup Validator Index in State in Status Check (#2494) * state lookup * refactor duplicate code * refactor with mapping * fix broken tests * finish refactor * merged master * Starting, I need get_epoch_start_shard * updated EpochCommitteeCount and fixed tests * implemented ShardDelta * test for ShardDelta * implemented EpochStartShard * added epoch out of bound test * test for accurate start shard * lint * need to use changes from latest crosslinks * added BaseReward and totalActiveBalance * added test for base reward * implemented process_attestation_delta * comments * comments * merged master * all tests passing * start testing * done * merged master * fixed tests * tests, more to come * tests done * lint * spaces over tabs * addressed shay's feedback * starting but need to merge a few things... * tests * fmt * Update Slot Processing and State Transition v0.6 (#2664) * edit state transition to add slot processing logic, reorder logic * fix build * lint * tests passing * spacing * tests pass * imports * passing tests * Implement Process Epoch for 0.6 (#2675) * can't find process j f functons * implemented process_epoch * tests done * lint * nishant's feedback * stupid goland replace * goimports * Update CommitteeAssignment (#2693) * cleaned up skipped tests for core processing (#2697) * Process Block Attestations v0.6 (#2650) * attestation.go is ready, tests not * ready for review * fixing linter issues * modified Crosslink and AttestationData proto fields to spec 2.0,marked deprecated fields * gazelle * fixed tests * fixed error * add att processing: * process atts * error msg * finish process attestations logic * spacing * ssz move * inclusion delay failure passing * more attestation tests * more att tests passing * more tests * ffg data mismatching test * ffg tests complete * gofmt * fix testing to match attestation updates * ssz * lint * Fixed Skipped Tests for RPC Server (#2712) * Remove Obsolete Deposit Proto Objects (#2673) * remove deposit data * remove deposit input * fix references * remove deposit helpers * fix all refs * gaz * rgene proto * fix all tests * remove deposit data deprecated field * fix remaining references * fix all tests * fix lint * regen proto * fix test * Remove Deprecated Protobuf State Fields (#2713) * Remove Deprecated Protobuf Crosslink/Slashing/Block Fields (#2714) * Remove Deprecated Beacon Block Proto Fields (#2717) * Remove Deprecated Attestation Proto Fields (#2723) * Cache Shuffled Validator Indices (#2682) * YAML shuffle tests for v0.6 (#2667) * new shuffle tests * added comment for exported function * fix format and print * added config files handling * gazelle fix * shuffle test debugging * added shuffle list and benchmark * hash function addition from nishant code * gazelle fix * remove unused function * few minor changes * add test to test protos optimization * test a bigger list * remove commented code * small changes * fix spec test and test indices to pass * remove empty line * abstraction of repeated code and comment arrangement * terence change requests * fix new test * add small comment for better readability * change from unshuflle to shuffle * comment * better comment * fix all tests * Remove Latest Block (#2721) * lint * remove latest block * lint * add proto * fix build * Fix Deposit Trie (#2686) * remove deposit data * remove deposit input * fix references * remove deposit helpers * fix all refs * gaz * rgene proto * fix all tests * remove deposit data deprecated field * fix remaining references * fix all tests * fix lint * new tests with contract * gaz * more tests * fixed bugs * new test * finally fixed it * gaz * fix test * Remove Committee Cache (#2729) * Benchmark Compute Committee (#2698) * Fixed Skipped Attestation Tests (#2730) * Optimize Shuffled Indices Cache (#2728) * Refactor Deposit Contract Test Setup (#2731) * add new package * fix all tests * lint * change hash function (#2732) * Remove Deprecated Validator Protobuf (#2727) * Remove deprecated validator protos * Fix to comments * Fix most of skipped tests (#2735) * Optimize Base Reward Calculation (#2753) * benchmark process epoch * revert prof.out * Add some optimizations * beware where we use ActiveValidatorIndices... * revert extra file * gaz * quick commit to get feedback * revert extra file * started fixing tests * fixed broken TestProcessCrosslink_NoUpdate * gaz * cache randao seed * fixed all the tests * fmt and lint * spacing * Added todo * lint * revert binary file * started regression test * basic tests done * using a fifo for active indices cache * using a fifo for active count cache * using a fifo for total balance cache * using a fifo for active balance cache * using a fifo for start shard cache * using a fifo for seed cache * gaz * clean up * fixing tests * fixed all the core tests * fixed all the tests!!! * lint * comment * rm'ed commented code * cache size to 1000 should be good enough * optimized base reward * revert binary file * Added comments to calculate adjusted quotient outside * removed deprecated configs (#2755) * Optimize Process Eth1 Data Vote (#2754) * Cleanup and Docs update (#2756) * Add graffiti and update generate seed (#2759) * Benchmark Process Block with Attestations (#2758) * Tidying up Godoc for Core Package (#2762) * Clean up Old RPC Endpoints (#2763) * Update RPC end point for Proposer (#2767) * add RequestBlock * run mockgen * implemented RequestBlock * updated proto definitions * updated tests * updated validator attest tests * done * comment * todo issue * removed unused proto * Cache Active Validator Indices, Count, and Balances (#2737) * Update Deposit Contract (#2648) * lint * add new contract * change version * remove log * generating abi and binary files * fix tests * update to current version * new changes * add new hash function * save hashed nodes * add more things * new method * add update to trie * new stuff * gaz * more stuff * finally fixed build * remove deposit data * Revert "remove deposit data" This reverts commit 9085409e91be0c94550af10290eaad72ad40a6de. * more changes * lint and gaz * lint * Update Shard Helpers for 0.6 (#2497) * ValidatorStatus Estimating Activation RPC Server (#2469) * fix spacing * working on position in queue * fmt * spacing * feedback * tests * rename * Only Perform Initial Sync With a Single Peer (#2471) * fix spacing * use send instead of broadcast in initial sync * 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> * SSZ web api for decoding input data (#2473) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * standardize slot numbers (#2475) * Add CORS for ssz api (#2476) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * needed CORS * 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 * Update Prysm README (#2477) * README updated * readme updates * no err throw (#2479) * Fix Status Nil Pointer Error (#2480) * no err throw * nil errors * 3.175 (#2482) * Better Error Message if Failing to Exit Initial Sync (#2483) * no err throw * nil errors * better error on init sync * Only Log Active Balances (#2485) * only log active balance * dont need () * change logging (#2487) * fix chainstart waiting on rpc server (#2488) * shift ticker to after activation (#2489) * Add drain script (#2418) * Add drain script * Fix script to drain contracts from newest to oldest * Add README * remove comments * Only after block 400k, look up by deposit event * issue warn log on disconnecting peer instead of error (#2491) * Display Only Active Validator Data (#2490) * Fix Validator Status Field in RPC Server (#2492) * fix status of key * status test fix * fmt * 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 * add production config for testnet release (#2493) * Lookup Validator Index in State in Status Check (#2494) * state lookup * refactor duplicate code * refactor with mapping * fix broken tests * finish refactor * merged master * updated EpochCommitteeCount and fixed tests * implemented ShardDelta * test for ShardDelta * implemented EpochStartShard * added epoch out of bound test * test for accurate start shard * lint * Update Genesis State Function to v0.6 (#2465) * add pseudocode * make changes * fix all tests * fix tests * lint * regen protos and mocks * regenerated protos * started fixing core * all core tests passing! * removed shared/forkutils * started fixing blockchain package * lint * updating rpc package * add back deleted stuff * add back deleted stuff that was deleted accidentally * add back protos and mocks * fix errors * fix genesis issue * fix genesis issue for slot ticker * fix all genesis errors * fix build files * temp change for go-ssz * fix test * Revert "temp change for go-ssz" This reverts commit 3411cb9d6d519cb521181486debc3b21603c8873. * update to latest go-ssz * unstaged changes * Update Attester Server RPC Calls (#2773) * Update config and function parameters to v0.7 (#2791) * Minor Updates to 0.7 (#2795) * Refactor Deposit Flow and Cleanup Tests (#2788) * More WIP on cleaning deposit flow * Fix tests * Cleanup and imports * run gazelle * Move deposit to block_operations * gazelle * Update beacon-chain/core/blocks/block_operations.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * Fix docs * Remove unneeded calculations * Fix tests * Fix tests finally (?) * Optimize Committee Assignment RPC (#2787) * Update BlockRoot to BlockHash (#2816) * Fix Final Missing Items in Block Processing v0.6 (#2710) * override config successfully * passes processing * add signing root helper * blockchain tests pass * tests blocked by signing root * lint * fix references * fix protos * proper use of signing root * only few failing tests now * fix final test * tests passing * lint and imports * rem unused * Update beacon-chain/core/blocks/block_operations.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * lint * Update beacon-chain/attestation/service_test.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * Update beacon-chain/db/block_test.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * rename to hash tree root * rename decode to unmarshal * fix * use latest ssz * all tests passing * lint * fmt * Add Config YAML for Spec Tests (#2818) * Align Protobuf Type Names (#2825) * gofmt * Revert "Align Protobuf Type Names (#2825)" (#2827) This reverts commit 882d067144c674bbf4eeee00404acaa0a9b1fd33. * Update Domain Related Functions (#2832) * Add Functions for Compressed and Uncompressed HashG2 With Domain (#2833) * add tests * gaz * lint * Revert "Add Functions for Compressed and Uncompressed HashG2 With Domain (#2833)" (#2835) This reverts commit 7fb2ebf3f12f043d7bd12f43500dc2bd133df573. * Add ConvertToPb to package testutil (#2838) * Block Processing Bug Fixes (#2836) * Update types PB with Size Tags (#2840) * Epoch processing spec tests (#2814) * Remove Deposit Index (#2851) * Shuffle tests revisited (#2829) * first commit * remove old files, add log * remove duplicate yaml testing code * reduce visability * nishant feedback changes * skip TestFromYaml_Pass * added tags to bazel build * gazelle fix * remove unused vars * adda back config * remove config handling * remove unused var * gazelle fix * SSZ compatibility test for protobufs (#2839) * update workspace spec sha * remove yamls from branch * BLS spec tests (#2826) (#2856) * bls spec tests * add more bls tests * use ioutil instead of bazel runfiles * dont read bytes * skip tests that overflow uint64 * manually fix input data * add tests * lint and gaz * add all new changes * some refactoring, cleanup, remove new API methods that only exist for tests * gaz * Remove yamls, skip test * Slot processing spec test (#2813) * eth1data rpc endpoint (#2733) * eth1data rpc endpoint * first version * comment added * gazelle fix * new function to go once over the deposit array * fix tests * export DepositContainer * terence feedback * move structure decleration * binary search * fix block into Block * preston feedback * keep slice sorted to remove overhead in retrival * merge changes * feedback * update to the latest go-ssz * revert change * chnages to fit new ssz * revert merge reversion * go fmt goimprts duplicate string * exception for lint unused doesParentExist * feedback changes * latesteth1data to eth1data * goimports and stop exposing Eth1Data * revert unneeded change * remove exposure of DepositContainer * feedback and fixes * fix workspace duplicate dependancy * greatest number of deposits at current height * add count votes function * change method name * revert back to latesteth1data * latesteth1data * preston feedback * seperate function add tests fix bug * stop exposing voteCountMap * eth1data comment fix * preston feedback * fix tests * new proto files * workspace to default version of ssz * new ssz * chnage test size * marshalled marshaled * Attesting Indices Fix (#2862) * add change * fix one test * fix all tests * add test * clear cache * removed old chaintest, simulated backend and state generator (#2863) * Block Processing Sanity Spec Tests (#2817) * update PrevEpoch * add new changes * shift to blocks package * add more changes * new changes * updated pb with size tags * add new changes * fix errors * uncomment code * more changes * add new changes * rename and lint * gaz * more changes * proccess slot SigningRoot instead of HashTreeRoot * ensure yaml generated structs work * block sanity all passing * minimal and mainnet all pass * remove commented code * fix one test * fix all tests * fix again * no state comparison * matching spec * change target viz * comments gazelle * clear caches before test cases * latest attempts * clean up test format * remove debugging log, remove yaml * unskip attestation * remove skip, check post state, diff state diffs * handle err * add bug fixes * fixed one more bug * fixed churn limit bug * change hashProto to HashTreeRoot * all tests pass :) * fix all tests * gaz * add regression tests * fix test bug * Mutation testing fixes for beacon-chain/core/helpers/attestation.go (#2868) * mutation testing for attestation.go * new line * lint * revert fmt.Errorf deletion * gofmt * Add some fixes for mutation testing on blocks.go (#2869) * Fix sizes * gaz * Spec freeze release candidate spectests * Align Protobuf Type Names (#2872) * Removes some deprecated fields from protobuf (#2877) * search and replace checkpoints * fix tests, except spec tests * Update Configs for Freeze (#2876) * update configs * updated minimal configs * almost there * all tests passing except for spec tests * better comment for MinGenesisTime * done, ready for review * rm seconds per day * feedback * Mutation testing fixes for beacon-chain/core/helpers/committee.go (#2870) * Add some fixes for mutation testing on blocks.go * working on mutation testing fo committee.go * gofmt * goimports * update readme target * update latest sha for spec tests * fix build * Update State Transition Function (#2867) * Change Base Reward Factor (#2888) * Update Freeze Spec Simplification Section - part 1 (#2893) * finished changes to attesting_indices * removed index_count <= 2**40 requirement * lint * reverted index_count <= 2**40 check * added short cut len(a) > len(b) * Update justification bits (#2894) * updated all the helper pseudocodes (#2895) * Make Constants Explicit and Minor Cleanups (#2898) * Rename outdated configs, make constants explicitly delcared * Remove activate_validator, not needed * Remove GenesisSlot and GenesisEpoch * Remove unused import * Move Block Operation Length Checks to ProcessOperations (#2900) * Move block operation length checks to ProcessOperations * Write tests for each length check in ProcessOperations * Remove unneeded test * Move checks to a new function * Move duplicate check back into ProcessOperations * reorder proto fields (#2902) * Slashing Penalty Calculation Change (#2889) * lint * change config val * add max helper * changes to slashing and process slashing, add a min function for integers * gaz * fix failing tests * fix test * fixed all tests * Change Yaml tag * lint * remove gc hack * fix test * gaz * preston's comments * change failing field * fix and regen proto * lint * Implement Compact Committee Root (#2897) * add tags * add function * add new code * add function * add all new changes * lint * add tests * fix tests * fix more tests * fix all outstanding tests * gaz * Update beacon-chain/core/helpers/committee.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * comment * Remove deprecated fields from attestation data (#2892) * fix broken tests * remove comment * fixes * Update Deposit Contract (#2903) * update to new contract * fix references * fix tests * fix some more tests * fix local deposit trie * gaz * shays review * more changes * update WORKSPACE to use 0.8 spec tests * Perform Mutesting in Helpers Package (#2912) * Perform mutesting on validator * Mutesting in helpers package * Mutested eth1data * s/volundary/voluntary (#2914) * Update BLS Domain (#2916) * change from integer to byte slice * add test * fix func for bytes4 * Fix Spec tests (#2907) * fix panics * handle failed transitions * remove log * fix to protos * new changes * remove i * change ssz commit * new changes * update epoch tests * fix epoch testing * fix shuffle tests * fix test * Perform Mutesting in Epoch and State Packages (#2913) * done with updates (#2890) * Add Max Size Tag for Protobuf Fields (#2908) * No more space between ssz-size numbers * Regen pb.go * Fixed a few incorrect proto fields (#2926) * Update Validator Workflow (#2906) * Justification spec tests (#2896) * update go-ssz * Fix SSZ Compatibility Test (#2924) * figuring out how to seqeeze in multiple fields in a tag for pb * Added max tags and regenerated pb.go * updated to new standard * New bitfield types in proto (#2915) * Cast bytes to correct bitfield, failing tests now though * Add forked gogo/protobuf until https://github.com/gogo/protobuf/pull/582 * remove newline * use proper override for gogo-protobuf * fix a few tags * forgot to include custody bits and Slashable not used * Update yaml struct to use pb * Update workspace to use latest ssz * All tests fail * Use the latest go-ssz commit * All pass except for state (too long to taste) * Update test.proto * Added rest of the tests * use 1 justification bits * fix tag test, apply @rauljordan's suggestion * add IsEmpty and use ssz struct * delete unused file * Update zero hash to sha256().digest() (#2932) * update zero hash * change zero hash to conform with spec * goimports * add test for zero hash * Revert "Update zero hash to sha256().digest() (#2932)" (#2933) This reverts commit b926ae0667b18aef3f7e0e8ec8a9b3e98b3d2ccc. * Fix compress validator (#2936) * fix compress validator * update go-ssz * build without the bytes test * try minimal * Block operations spec tests (#2828) * update PrevEpoch * debugging proposer slashing tests * fmt * add deposit tests * Added skeleton for attestation minimal test * remove bazel runfiles thing * add deposits * proposer slashing test is done * comment * complete test, some failing cases * sig verify on * refactor slightly to support mainnet and minimal * included mainnet stuff * Add block header tests * volunary exit done * transfer done * new changes * fix all tests * update domain functions * fmt * fixed lint * fixed all the tests * fixed a transfer bug * finished attester slashing tests and fixed a few bugs * started fixing... * cleaned up exit and proposr slashing tests * attester slashing passing * refactored deposit tests * remove yamls, update ssz * Added todo for invalid sig * gazelle * deposits test done! * transfer tests done and pass! * fix attesting indices bug * temporarily disabled signature verification * cleaned up most of the block ops, except for att * update committee AttestingIndices * oops, i dont know how or why i changed this file * fixed all the rpc tests * 6 more failing packages * test max transfer in state package * replace hashproto with treehash in package blockchain * gazelle * fix test * fix test again * fixed transition test, 2 more left * expect an error in attestation tests * Handle panic when no votes in aggregate attestation * clear cache * Add differ, add logging, tests pass yay * remove todo, add tag * fixed TestReceiveBlock_RemovesPendingDeposits * TestAttestationMinimal/success_since_max_epochs_per_crosslink fails now... * handle panics * Transfer tests were disabled in https://github.com/ethereum/eth2.0-specs/pull/1238 * more fixes after merge, updating block_operations.yaml.go to match yaml * figuring out how to seqeeze in multiple fields in a tag for pb * Added max tags and regenerated pb.go * updated to new standard * New bitfield types in proto (#2915) * Cast bytes to correct bitfield, failing tests now though * Add forked gogo/protobuf until https://github.com/gogo/protobuf/pull/582 * remove newline * fix references and test panic * change to proto objects from custom types * fix panics in tests * use proper override for gogo-protobuf * fix a few tags * fix tests * forgot to include custody bits and Slashable not used * fix tests * sort again * Update yaml struct to use pb * Update workspace to use latest ssz * All tests fail * Use the latest go-ssz commit * All pass except for state (too long to taste) * Update test.proto * Added rest of the tests * use 1 justification bits * minor fixes * wrong proto.Equal * fix tag test, apply @rauljordan's suggestion * add IsEmpty and use ssz struct * inverted logic * update zero hash * change zero hash to conform with spec * goimports * add test for zero hash * Revert "Update zero hash to sha256().digest() (#2932)" This reverts commit b926ae0667b18aef3f7e0e8ec8a9b3e98b3d2ccc. * update ssz, fix import, shard big test * checkpoint * fix compress validator * update go-ssz * missing import * missing import * tests now pass * been a good day * update test size * fix lint * imports and remove unused const * update bazel jobs flag * update bazel jobs flag * satisfy deprecation warning * Add ssz regression tests for investigation of test failures in PR #2828 (#2935) * Adding regression tests for investigation * add another example * goimports * add quick comment about test case 0 * Epoch Process Slashings Spec Tests (#2930) * updated justification bits, tests passing OK * regen pb.go, clarify bit operations * justification and finalization tests; failing * Add wrapper, so we call the correct method * checkpoint * Update tar ref * TestSlashingsMinimal/small_penalty still failing * Use bigint instead of () and float * Revert a bad merge from workspace * Fmt * add note about https://github.com/ethereum/eth2.0-specs/issues/1284 * improve tests * gaz * Perform Mutesting In core/state Package (#2923) * Perform mutesting on validator * Mutesting in helpers package * Mutested eth1data * Perform mutesting in epoch and state packages * Fix voluntary exits test * Fix typo * Fix comments * Fix formatting * Fix error message * Handle missing errors * Handle all errors * Perform Mutesting In State Package * Fix block roots size * Remove comment * Fix error * add backend service * Add ssz compatibility tests for signing root (#2931) * Added tests for signing root * imports * fix lint on travis * fix bes flag * Final updates spec tests (#2901) * set up tests * need to reorder pbs * figuring out how to seqeeze in multiple fields in a tag for pb * Added max tags and regenerated pb.go * updated to new standard * New bitfield types in proto (#2915) * Cast bytes to correct bitfield, failing tests now though * Add forked gogo/protobuf until https://github.com/gogo/protobuf/pull/582 * remove newline * use proper override for gogo-protobuf * fix a few tags * forgot to include custody bits and Slashable not used * playing with tags idea, can revert this commit later * fixes after merge * reset caches before test * all epoch tests pass * gazelle * Genesis trigger (#2905) * genesis change * integrate changes * bodyroot * remove unused code * HasChainStarted * added isValidGenesisState to ProcessLog * state fix * fix gazelle * uint64 timestamp * SetupInitialDeposits adds proof * remove unneeded parts of test * deposithash * merkleproof from spec utils * Revert "merkleproof from spec utils" This reverts commit 1b0a124352e7b62e3c3220fb0d64e295b474b430. * fix test failures * chain started and hashtree root in tests * simple eth2genesistime * eth2 genesis time * fix zero time * add comment * remove eth1data and feedback * fix build issues * main changes: add fields and methods to track active validator count * gaz * fix test * fix more tests * improve test utils * shift spec method to state package, improve test setup * fixed log processing tests * remove log * gaz * fix invalid metric * use better tag names, not latest * Remove Block Signing Root (#2945) * replace with hash tree root * Revert "replace with hash tree root" This reverts commit 77d8f16a160e42f3c3d598df66c30a66657de1bf. * replace with signing root instead * remove one more ref * Create Test Runner for Genesis State Spec Tests (#2940) * genesis change * integrate changes * bodyroot * remove unused code * HasChainStarted * added isValidGenesisState to ProcessLog * state fix * fix gazelle * uint64 timestamp * SetupInitialDeposits adds proof * remove unneeded parts of test * deposithash * merkleproof from spec utils * Revert "merkleproof from spec utils" This reverts commit 1b0a124352e7b62e3c3220fb0d64e295b474b430. * fix test failures * chain started and hashtree root in tests * simple eth2genesistime * eth2 genesis time * fix zero time * add comment * remove eth1data and feedback * fix build issues * main changes: add fields and methods to track active validator count * gaz * fix test * fix more tests * improve test utils * Start genesis spec tests * shift spec method to state package, improve test setup * Add Genesis validity spec test * Bazel * fixed log processing tests * remove log * gaz * fix invalid metric * use json tags * fix up latest changes * Fix most of test errors * Attempts to see whats wrong with genesis validity * Fix merge * skip minimal * fix state test * new commit * fix nishant comment * gaz * Static check on branch spec-v0.6 (#2946) * Ran staticcheck and fixed the important complains * commit * commit * Create Test Runner for Genesis State Spec Tests (#2940) * genesis change * integrate changes * bodyroot * remove unused code * HasChainStarted * added isValidGenesisState to ProcessLog * state fix * fix gazelle * uint64 timestamp * SetupInitialDeposits adds proof * remove unneeded parts of test * deposithash * merkleproof from spec utils * Revert "merkleproof from spec utils" This reverts commit 1b0a124352e7b62e3c3220fb0d64e295b474b430. * fix test failures * chain started and hashtree root in tests * simple eth2genesistime * eth2 genesis time * fix zero time * add comment * remove eth1data and feedback * fix build issues * main changes: add fields and methods to track active validator count * gaz * fix test * fix more tests * improve test utils * Start genesis spec tests * shift spec method to state package, improve test setup * Add Genesis validity spec test * Bazel * fixed log processing tests * remove log * gaz * fix invalid metric * use json tags * fix up latest changes * Fix most of test errors * Attempts to see whats wrong with genesis validity * Fix merge * skip minimal * fix state test * new commit * fix nishant comment * gaz * Add Back Eth1Data After Bad Merge (#2953) * eth1data rpc endpoint * first version * comment added * gazelle fix * new function to go once over the deposit array * fix tests * export DepositContainer * terence feedback * move structure decleration * binary search * fix block into Block * preston feedback * keep slice sorted to remove overhead in retrival * merge changes * feedback * update to the latest go-ssz * revert change * chnages to fit new ssz * revert merge reversion * go fmt goimprts duplicate string * exception for lint unused doesParentExist * feedback changes * latesteth1data to eth1data * goimports and stop exposing Eth1Data * revert unneeded change * remove exposure of DepositContainer * feedback and fixes * fix workspace duplicate dependancy * greatest number of deposits at current height * add count votes function * change method name * revert back to latesteth1data * latesteth1data * preston feedback * seperate function add tests fix bug * stop exposing voteCountMap * eth1data comment fix * preston feedback * fix tests * new proto files * workspace to default version of ssz * new ssz * chnage test size * marshalled marshaled * everything passing again * add skip reason * cleanup deposit contract slightly * remove unused chainstart param (#2957) * fix breakages from #2957 (#2958) * fix breakages from #2957 * oops * Fix deposit input data (#2956) * fix deposit input data * fix deposit input data * gaz and build fix * Add Tests for Genesis Deposits Caching (#2952) * remove old method and replace with an improved one * add new files * gaz * add test * added all these tests * gaz * Apply suggestions from code review Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * fix merkle proof error * fix config * Minor fixes for runtime (#2960) * Minor fixes for runtime * use comments * goimports * revert beacon-chain/core/state/state.go and fix comment for lint * fix test too * Minor runtime fixes (#2961) * Add support for bundling binaries and fix ARM64 builds (#2970) * Add support for bundling binaries and fix ARM64 builds * Fix exports * ignore manual targets wrt vis check * fix graknlabs * update spec tests (#2979) * hotfix until https://github.com/graknlabs/bazel-distribution/pull/169 * Overflow slashing calculation fix (#2977) * Runtime Fixes (#2736) * first batch of fixes * add log * more fixes * another bug fixed * update deposit contract and other fixes * remove logs * new changes * fixes * fix build * remove config * more fixes * add more changes * add back todo * make compute state root work * remove commented out and fix condition * fix commented code * fix config * gaz * remove flag * remove init * new fixes * fix test * one more fix * fix all tests * change back config * fix one more bug * remove logging bool * Only build test targets when running bazel test //... * Align prysm to spec v0.8.1 (#2978) * Bazel problem * Update zero hash representation to be clear (cosmetic) * Update minor cosmetic fixes * Fixed lookahead off by 1 * Update randao.go * update ssz * test failures fixed * test fixes * fix up workspace * lint * fixed errs * Updated pubkey loggings (#2983) * Fix proposer assignment (#2984) * add jvm limits * add jvm limits * Removed logging from state transition functions (#2980) * Match spec on proposer index division (#2985) * Match spec on proposer index division * gaz * fixes * Fix Default Eth1Data (#2982) * fix bug * Update beacon-chain/core/state/transition.go Co-Authored-By: Raul Jordan <raul@prysmaticlabs.com> * more fixes * reg test * Set ejection balance to 1.6 (#2987) * improve block processing log (#2990) * Fix HistoricalRootsLimit (#2989) * fix historical lenght * fix genesis state initialization and test * fix genesis state initialization and test * fix genesis state initialization and test * fix genesis state initialization and test * hack config until https://github.com/prysmaticlabs/prysm/issues/2993 * More Runtime Fixes (#2986) * local changes * add val sig * attester fix * one more fix * fixed all tests * rem validator issue * fix finality issue (#2994) * Fix validator prev balance calculation (#2992) * attester fix * one more fix * fixed all tests * Fix validator prev balances calculation * go fmt * 48 bytes * Fix Querier to handle Deposit Logs Race (#2999) * fix sync issue * fix build * add regression test * add var for magic number * Fix eth1data and deposits (#2996) * Work in progress, eth1data works, deposits are included at the appropriate time, and activation happens at the correct time * revert blockInfo being public * git tests to build, not yet pass though * add tests * some commentary * fix comment * goimports * fmt and remove unused method * Update rules go (#2975) * update rules_go * Fix some cross compile builds stuff * add missing deps * update to 0.19.1 * Update Protobufs to Match Ethereum APIs (#2998) * add beacon block and attestation files * add all types * include all new proto type definitions * add add all proto definitions * fix all comments to say 48 bytes * include latest changes * readd common * no swag * add build file * deps issue * right package names * address feedback, maintain parity between upstream ethereumapis * delete pb * bad gens * Update "Testing Prysm" readme section (#3000) Resolves invalid url link to golangci-lint. * Update badge to version 0.8.1 * elaborate on test skip * revert shared/p2p/options.go * make travis happy with goimports * Update beacon-chain/core/blocks/block.go Co-Authored-By: Preston Van Loon <preston@prysmaticlabs.com>
2019-07-20 00:16:10 +00:00
func (it *DepositContractDepositEventIterator) Close() error {
it.sub.Unsubscribe()
return nil
}
Spec freeze updates (#2312) * Optimize Shuffled Indices Cache (#2728) * Refactor Deposit Contract Test Setup (#2731) * add new package * fix all tests * lint * change hash function (#2732) * Remove Deprecated Validator Protobuf (#2727) * Remove deprecated validator protos * Fix to comments * Fix most of skipped tests (#2735) * Cache Active Validator Indices, Count, and Balances (#2737) * Optimize Base Reward Calculation (#2753) * benchmark process epoch * revert prof.out * Add some optimizations * beware where we use ActiveValidatorIndices... * revert extra file * gaz * quick commit to get feedback * revert extra file * started fixing tests * fixed broken TestProcessCrosslink_NoUpdate * gaz * cache randao seed * fixed all the tests * fmt and lint * spacing * Added todo * lint * revert binary file * started regression test * basic tests done * using a fifo for active indices cache * using a fifo for active count cache * using a fifo for total balance cache * using a fifo for active balance cache * using a fifo for start shard cache * using a fifo for seed cache * gaz * clean up * fixing tests * fixed all the core tests * fixed all the tests!!! * lint * comment * rm'ed commented code * cache size to 1000 should be good enough * optimized base reward * revert binary file * Added comments to calculate adjusted quotient outside * removed deprecated configs (#2755) * Optimize Process Eth1 Data Vote (#2754) * Cleanup and Docs update (#2756) * Add graffiti and update generate seed (#2759) * Benchmark Process Block with Attestations (#2758) * Tidying up Godoc for Core Package (#2762) * Clean up Old RPC Endpoints (#2763) * Update RPC end point for Proposer (#2767) * add RequestBlock * run mockgen * implemented RequestBlock * updated proto definitions * updated tests * updated validator attest tests * done * comment * todo issue * removed unused proto * Update attesting indices v0.6 (#2449) * sort participants slice * add bitfield functions and tests * added BitfieldBit test * add AttestationParticipantsNew * revert AttestationParticipants to its previous change * add tests * remove verifybitfieldnew * fix tests and remove multiple tests * remove duplicate test * change magic number into ceildiv8 * Implement Justification and finalization Processing (#2448) * Add convert to indexed (#2519) * sort participants slice * add bitfield functions and tests * added BitfieldBit test * add AttestationParticipantsNew * revert AttestationParticipants to its previous change * add tests * remove verifybitfieldnew * fix tests and remove multiple tests * remove duplicate test * start work * convert attestation to indexed attestations * fix test for convert index * remove calling getter * add more tests * remove underscore * changes name to signature (#2535) * update registry updates func (#2521) * update registry updates func * added tests and moved to epoch processing * fixed naming issues * Update Committee Helpers to v0.6.0 (#2398) * Update Committee Helper Part 2 (#2592) * Implement Process Slashings for 0.6 (#2523) * Update Proposer/Attester Slashings and Slashing Helpers (#2603) * Implement Final Updates 0.6 (#2562) * ValidatorStatus Estimating Activation RPC Server (#2469) * fix spacing * working on position in queue * fmt * spacing * feedback * tests * rename * Only Perform Initial Sync With a Single Peer (#2471) * fix spacing * use send instead of broadcast in initial sync * 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> * SSZ web api for decoding input data (#2473) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * standardize slot numbers (#2475) * Add CORS for ssz api (#2476) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * needed CORS * 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 * Update Prysm README (#2477) * README updated * readme updates * no err throw (#2479) * Fix Status Nil Pointer Error (#2480) * no err throw * nil errors * 3.175 (#2482) * Better Error Message if Failing to Exit Initial Sync (#2483) * no err throw * nil errors * better error on init sync * Only Log Active Balances (#2485) * only log active balance * dont need () * change logging (#2487) * fix chainstart waiting on rpc server (#2488) * shift ticker to after activation (#2489) * Add drain script (#2418) * Add drain script * Fix script to drain contracts from newest to oldest * Add README * remove comments * Only after block 400k, look up by deposit event * issue warn log on disconnecting peer instead of error (#2491) * Display Only Active Validator Data (#2490) * Fix Validator Status Field in RPC Server (#2492) * fix status of key * status test fix * fmt * 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 * add production config for testnet release (#2493) * Lookup Validator Index in State in Status Check (#2494) * state lookup * refactor duplicate code * refactor with mapping * fix broken tests * finish refactor * merged master * updated EpochCommitteeCount and fixed tests * implemented ShardDelta * test for ShardDelta * implemented EpochStartShard * added epoch out of bound test * test for accurate start shard * lint * implemented process_final_updates * move to the top of the file * add comment back * gaz * Test for process final updates * fixed tests * fixed all the tests * Update Reward Helper v0.6 (#2470) * added BaseReward * added rewards helper * added test for BaseReward * extra space * move exported function above * update to new spec (#2614) * Update Block Processing Voluntary Exits (#2609) * Update processEth1Data for v0.6 (#2516) * Clean up Helper Functions Part 1 (#2612) * Finalize helper functions for 0.6 (#2632) * Process Beacon Chain Transfers v0.6 (#2642) * add transfers * beacon transfer operations complete * full cov * transfer testing * finished tests * Update beacon-chain/core/blocks/block_operations_test.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * Update beacon-chain/core/blocks/block_operations.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * Implement Process Crosslink From 0.6 (#2460) * Process Block Eth1 Data v0.6 (#2645) * Get attestation data slot v0.6 (#2593) * attestation.go is ready, tests not * ready for review * fixing linter issues * modified Crosslink and AttestationData proto fields to spec 2.0,marked deprecated fields * gazelle * fixed tests * fixed error * error msg * Process Block Deposits v0.6 (#2647) * imports fixes * deposits tests pass * wrapped up gazelle * spacing * Implement Crosslink Delta Rewards for 0.6 (#2517) * update process crosslink and update existing tests * added a test case to cover no crosslink changes * more test * preston's feedback * spellings * ValidatorStatus Estimating Activation RPC Server (#2469) * fix spacing * working on position in queue * fmt * spacing * feedback * tests * rename * Only Perform Initial Sync With a Single Peer (#2471) * fix spacing * use send instead of broadcast in initial sync * 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> * SSZ web api for decoding input data (#2473) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * standardize slot numbers (#2475) * Add CORS for ssz api (#2476) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * needed CORS * 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 * Update Prysm README (#2477) * README updated * readme updates * no err throw (#2479) * Fix Status Nil Pointer Error (#2480) * no err throw * nil errors * 3.175 (#2482) * Better Error Message if Failing to Exit Initial Sync (#2483) * no err throw * nil errors * better error on init sync * Only Log Active Balances (#2485) * only log active balance * dont need () * change logging (#2487) * fix chainstart waiting on rpc server (#2488) * shift ticker to after activation (#2489) * Add drain script (#2418) * Add drain script * Fix script to drain contracts from newest to oldest * Add README * remove comments * Only after block 400k, look up by deposit event * issue warn log on disconnecting peer instead of error (#2491) * Display Only Active Validator Data (#2490) * Fix Validator Status Field in RPC Server (#2492) * fix status of key * status test fix * fmt * 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 * add production config for testnet release (#2493) * Lookup Validator Index in State in Status Check (#2494) * state lookup * refactor duplicate code * refactor with mapping * fix broken tests * finish refactor * merged master * Starting, I need get_epoch_start_shard * updated EpochCommitteeCount and fixed tests * implemented ShardDelta * test for ShardDelta * implemented EpochStartShard * added epoch out of bound test * test for accurate start shard * lint * need to use changes from latest crosslinks * added BaseReward and totalActiveBalance * added test for base reward * merged master * all tests passing * start testing * done * add ProcessBlockHeader v0.6 (#2534) * add ProcessBlockHeader * function has all its dependancies in place * arange the basic ok test * gazzele and skip test update * skip wrong sig test * fmt imports and change requests * goimports fmt * map for struct fields to be location independent * reorder protobuf fields * added tests * gazzle fix * few change requests fixes * revert changes in types.proto * revert changes in types * fix tests * fix lint * fmt imports * fix gazelle * fix var naming * pb update * var naming * tarance change request fixes * fix test * Add Process Registry for Epoch Processing (#2668) * update update-process-registry * added back the old tests * fmt * gaz * Follow up on process block header v0.6 (#2666) * Putting Crosslink Delta Back (#2654) * update process crosslink and update existing tests * added a test case to cover no crosslink changes * more test * preston's feedback * spellings * ValidatorStatus Estimating Activation RPC Server (#2469) * fix spacing * working on position in queue * fmt * spacing * feedback * tests * rename * Only Perform Initial Sync With a Single Peer (#2471) * fix spacing * use send instead of broadcast in initial sync * 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> * SSZ web api for decoding input data (#2473) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * standardize slot numbers (#2475) * Add CORS for ssz api (#2476) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * needed CORS * 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 * Update Prysm README (#2477) * README updated * readme updates * no err throw (#2479) * Fix Status Nil Pointer Error (#2480) * no err throw * nil errors * 3.175 (#2482) * Better Error Message if Failing to Exit Initial Sync (#2483) * no err throw * nil errors * better error on init sync * Only Log Active Balances (#2485) * only log active balance * dont need () * change logging (#2487) * fix chainstart waiting on rpc server (#2488) * shift ticker to after activation (#2489) * Add drain script (#2418) * Add drain script * Fix script to drain contracts from newest to oldest * Add README * remove comments * Only after block 400k, look up by deposit event * issue warn log on disconnecting peer instead of error (#2491) * Display Only Active Validator Data (#2490) * Fix Validator Status Field in RPC Server (#2492) * fix status of key * status test fix * fmt * 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 * add production config for testnet release (#2493) * Lookup Validator Index in State in Status Check (#2494) * state lookup * refactor duplicate code * refactor with mapping * fix broken tests * finish refactor * merged master * Starting, I need get_epoch_start_shard * updated EpochCommitteeCount and fixed tests * implemented ShardDelta * test for ShardDelta * implemented EpochStartShard * added epoch out of bound test * test for accurate start shard * lint * need to use changes from latest crosslinks * added BaseReward and totalActiveBalance * added test for base reward * merged master * all tests passing * start testing * done * fixed tests * addressed shay's feedback * Implement Attestation Delta for v0.6 (#2646) * update process crosslink and update existing tests * added a test case to cover no crosslink changes * more test * preston's feedback * spellings * ValidatorStatus Estimating Activation RPC Server (#2469) * fix spacing * working on position in queue * fmt * spacing * feedback * tests * rename * Only Perform Initial Sync With a Single Peer (#2471) * fix spacing * use send instead of broadcast in initial sync * 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> * SSZ web api for decoding input data (#2473) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * standardize slot numbers (#2475) * Add CORS for ssz api (#2476) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * needed CORS * 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 * Update Prysm README (#2477) * README updated * readme updates * no err throw (#2479) * Fix Status Nil Pointer Error (#2480) * no err throw * nil errors * 3.175 (#2482) * Better Error Message if Failing to Exit Initial Sync (#2483) * no err throw * nil errors * better error on init sync * Only Log Active Balances (#2485) * only log active balance * dont need () * change logging (#2487) * fix chainstart waiting on rpc server (#2488) * shift ticker to after activation (#2489) * Add drain script (#2418) * Add drain script * Fix script to drain contracts from newest to oldest * Add README * remove comments * Only after block 400k, look up by deposit event * issue warn log on disconnecting peer instead of error (#2491) * Display Only Active Validator Data (#2490) * Fix Validator Status Field in RPC Server (#2492) * fix status of key * status test fix * fmt * 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 * add production config for testnet release (#2493) * Lookup Validator Index in State in Status Check (#2494) * state lookup * refactor duplicate code * refactor with mapping * fix broken tests * finish refactor * merged master * Starting, I need get_epoch_start_shard * updated EpochCommitteeCount and fixed tests * implemented ShardDelta * test for ShardDelta * implemented EpochStartShard * added epoch out of bound test * test for accurate start shard * lint * need to use changes from latest crosslinks * added BaseReward and totalActiveBalance * added test for base reward * implemented process_attestation_delta * comments * comments * merged master * all tests passing * start testing * done * merged master * fixed tests * tests, more to come * tests done * lint * spaces over tabs * addressed shay's feedback * merged master * Implement process_rewards_and_penalties for 0.6 (#2665) * update process crosslink and update existing tests * added a test case to cover no crosslink changes * more test * preston's feedback * spellings * ValidatorStatus Estimating Activation RPC Server (#2469) * fix spacing * working on position in queue * fmt * spacing * feedback * tests * rename * Only Perform Initial Sync With a Single Peer (#2471) * fix spacing * use send instead of broadcast in initial sync * 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> * SSZ web api for decoding input data (#2473) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * standardize slot numbers (#2475) * Add CORS for ssz api (#2476) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * needed CORS * 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 * Update Prysm README (#2477) * README updated * readme updates * no err throw (#2479) * Fix Status Nil Pointer Error (#2480) * no err throw * nil errors * 3.175 (#2482) * Better Error Message if Failing to Exit Initial Sync (#2483) * no err throw * nil errors * better error on init sync * Only Log Active Balances (#2485) * only log active balance * dont need () * change logging (#2487) * fix chainstart waiting on rpc server (#2488) * shift ticker to after activation (#2489) * Add drain script (#2418) * Add drain script * Fix script to drain contracts from newest to oldest * Add README * remove comments * Only after block 400k, look up by deposit event * issue warn log on disconnecting peer instead of error (#2491) * Display Only Active Validator Data (#2490) * Fix Validator Status Field in RPC Server (#2492) * fix status of key * status test fix * fmt * 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 * add production config for testnet release (#2493) * Lookup Validator Index in State in Status Check (#2494) * state lookup * refactor duplicate code * refactor with mapping * fix broken tests * finish refactor * merged master * Starting, I need get_epoch_start_shard * updated EpochCommitteeCount and fixed tests * implemented ShardDelta * test for ShardDelta * implemented EpochStartShard * added epoch out of bound test * test for accurate start shard * lint * need to use changes from latest crosslinks * added BaseReward and totalActiveBalance * added test for base reward * implemented process_attestation_delta * comments * comments * merged master * all tests passing * start testing * done * merged master * fixed tests * tests, more to come * tests done * lint * spaces over tabs * addressed shay's feedback * starting but need to merge a few things... * tests * fmt * Update Slot Processing and State Transition v0.6 (#2664) * edit state transition to add slot processing logic, reorder logic * fix build * lint * tests passing * spacing * tests pass * imports * passing tests * Implement Process Epoch for 0.6 (#2675) * can't find process j f functons * implemented process_epoch * tests done * lint * nishant's feedback * stupid goland replace * goimports * Update CommitteeAssignment (#2693) * cleaned up skipped tests for core processing (#2697) * Process Block Attestations v0.6 (#2650) * attestation.go is ready, tests not * ready for review * fixing linter issues * modified Crosslink and AttestationData proto fields to spec 2.0,marked deprecated fields * gazelle * fixed tests * fixed error * add att processing: * process atts * error msg * finish process attestations logic * spacing * ssz move * inclusion delay failure passing * more attestation tests * more att tests passing * more tests * ffg data mismatching test * ffg tests complete * gofmt * fix testing to match attestation updates * ssz * lint * Fixed Skipped Tests for RPC Server (#2712) * Remove Obsolete Deposit Proto Objects (#2673) * remove deposit data * remove deposit input * fix references * remove deposit helpers * fix all refs * gaz * rgene proto * fix all tests * remove deposit data deprecated field * fix remaining references * fix all tests * fix lint * regen proto * fix test * Remove Deprecated Protobuf State Fields (#2713) * Remove Deprecated Protobuf Crosslink/Slashing/Block Fields (#2714) * Remove Deprecated Beacon Block Proto Fields (#2717) * Remove Deprecated Attestation Proto Fields (#2723) * Cache Shuffled Validator Indices (#2682) * YAML shuffle tests for v0.6 (#2667) * new shuffle tests * added comment for exported function * fix format and print * added config files handling * gazelle fix * shuffle test debugging * added shuffle list and benchmark * hash function addition from nishant code * gazelle fix * remove unused function * few minor changes * add test to test protos optimization * test a bigger list * remove commented code * small changes * fix spec test and test indices to pass * remove empty line * abstraction of repeated code and comment arrangement * terence change requests * fix new test * add small comment for better readability * change from unshuflle to shuffle * comment * better comment * fix all tests * Remove Latest Block (#2721) * lint * remove latest block * lint * add proto * fix build * Fix Deposit Trie (#2686) * remove deposit data * remove deposit input * fix references * remove deposit helpers * fix all refs * gaz * rgene proto * fix all tests * remove deposit data deprecated field * fix remaining references * fix all tests * fix lint * new tests with contract * gaz * more tests * fixed bugs * new test * finally fixed it * gaz * fix test * Remove Committee Cache (#2729) * Benchmark Compute Committee (#2698) * Fixed Skipped Attestation Tests (#2730) * Optimize Shuffled Indices Cache (#2728) * Refactor Deposit Contract Test Setup (#2731) * add new package * fix all tests * lint * change hash function (#2732) * Remove Deprecated Validator Protobuf (#2727) * Remove deprecated validator protos * Fix to comments * Fix most of skipped tests (#2735) * Optimize Base Reward Calculation (#2753) * benchmark process epoch * revert prof.out * Add some optimizations * beware where we use ActiveValidatorIndices... * revert extra file * gaz * quick commit to get feedback * revert extra file * started fixing tests * fixed broken TestProcessCrosslink_NoUpdate * gaz * cache randao seed * fixed all the tests * fmt and lint * spacing * Added todo * lint * revert binary file * started regression test * basic tests done * using a fifo for active indices cache * using a fifo for active count cache * using a fifo for total balance cache * using a fifo for active balance cache * using a fifo for start shard cache * using a fifo for seed cache * gaz * clean up * fixing tests * fixed all the core tests * fixed all the tests!!! * lint * comment * rm'ed commented code * cache size to 1000 should be good enough * optimized base reward * revert binary file * Added comments to calculate adjusted quotient outside * removed deprecated configs (#2755) * Optimize Process Eth1 Data Vote (#2754) * Cleanup and Docs update (#2756) * Add graffiti and update generate seed (#2759) * Benchmark Process Block with Attestations (#2758) * Tidying up Godoc for Core Package (#2762) * Clean up Old RPC Endpoints (#2763) * Update RPC end point for Proposer (#2767) * add RequestBlock * run mockgen * implemented RequestBlock * updated proto definitions * updated tests * updated validator attest tests * done * comment * todo issue * removed unused proto * Cache Active Validator Indices, Count, and Balances (#2737) * Update Deposit Contract (#2648) * lint * add new contract * change version * remove log * generating abi and binary files * fix tests * update to current version * new changes * add new hash function * save hashed nodes * add more things * new method * add update to trie * new stuff * gaz * more stuff * finally fixed build * remove deposit data * Revert "remove deposit data" This reverts commit 9085409e91be0c94550af10290eaad72ad40a6de. * more changes * lint and gaz * lint * Update Shard Helpers for 0.6 (#2497) * ValidatorStatus Estimating Activation RPC Server (#2469) * fix spacing * working on position in queue * fmt * spacing * feedback * tests * rename * Only Perform Initial Sync With a Single Peer (#2471) * fix spacing * use send instead of broadcast in initial sync * 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> * SSZ web api for decoding input data (#2473) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * standardize slot numbers (#2475) * Add CORS for ssz api (#2476) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * needed CORS * 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 * Update Prysm README (#2477) * README updated * readme updates * no err throw (#2479) * Fix Status Nil Pointer Error (#2480) * no err throw * nil errors * 3.175 (#2482) * Better Error Message if Failing to Exit Initial Sync (#2483) * no err throw * nil errors * better error on init sync * Only Log Active Balances (#2485) * only log active balance * dont need () * change logging (#2487) * fix chainstart waiting on rpc server (#2488) * shift ticker to after activation (#2489) * Add drain script (#2418) * Add drain script * Fix script to drain contracts from newest to oldest * Add README * remove comments * Only after block 400k, look up by deposit event * issue warn log on disconnecting peer instead of error (#2491) * Display Only Active Validator Data (#2490) * Fix Validator Status Field in RPC Server (#2492) * fix status of key * status test fix * fmt * 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 * add production config for testnet release (#2493) * Lookup Validator Index in State in Status Check (#2494) * state lookup * refactor duplicate code * refactor with mapping * fix broken tests * finish refactor * merged master * updated EpochCommitteeCount and fixed tests * implemented ShardDelta * test for ShardDelta * implemented EpochStartShard * added epoch out of bound test * test for accurate start shard * lint * Update Genesis State Function to v0.6 (#2465) * add pseudocode * make changes * fix all tests * fix tests * lint * regen protos and mocks * regenerated protos * started fixing core * all core tests passing! * removed shared/forkutils * started fixing blockchain package * lint * updating rpc package * add back deleted stuff * add back deleted stuff that was deleted accidentally * add back protos and mocks * fix errors * fix genesis issue * fix genesis issue for slot ticker * fix all genesis errors * fix build files * temp change for go-ssz * fix test * Revert "temp change for go-ssz" This reverts commit 3411cb9d6d519cb521181486debc3b21603c8873. * update to latest go-ssz * unstaged changes * Update Attester Server RPC Calls (#2773) * Update config and function parameters to v0.7 (#2791) * Minor Updates to 0.7 (#2795) * Refactor Deposit Flow and Cleanup Tests (#2788) * More WIP on cleaning deposit flow * Fix tests * Cleanup and imports * run gazelle * Move deposit to block_operations * gazelle * Update beacon-chain/core/blocks/block_operations.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * Fix docs * Remove unneeded calculations * Fix tests * Fix tests finally (?) * Optimize Committee Assignment RPC (#2787) * Update BlockRoot to BlockHash (#2816) * Fix Final Missing Items in Block Processing v0.6 (#2710) * override config successfully * passes processing * add signing root helper * blockchain tests pass * tests blocked by signing root * lint * fix references * fix protos * proper use of signing root * only few failing tests now * fix final test * tests passing * lint and imports * rem unused * Update beacon-chain/core/blocks/block_operations.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * lint * Update beacon-chain/attestation/service_test.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * Update beacon-chain/db/block_test.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * rename to hash tree root * rename decode to unmarshal * fix * use latest ssz * all tests passing * lint * fmt * Add Config YAML for Spec Tests (#2818) * Align Protobuf Type Names (#2825) * gofmt * Revert "Align Protobuf Type Names (#2825)" (#2827) This reverts commit 882d067144c674bbf4eeee00404acaa0a9b1fd33. * Update Domain Related Functions (#2832) * Add Functions for Compressed and Uncompressed HashG2 With Domain (#2833) * add tests * gaz * lint * Revert "Add Functions for Compressed and Uncompressed HashG2 With Domain (#2833)" (#2835) This reverts commit 7fb2ebf3f12f043d7bd12f43500dc2bd133df573. * Add ConvertToPb to package testutil (#2838) * Block Processing Bug Fixes (#2836) * Update types PB with Size Tags (#2840) * Epoch processing spec tests (#2814) * Remove Deposit Index (#2851) * Shuffle tests revisited (#2829) * first commit * remove old files, add log * remove duplicate yaml testing code * reduce visability * nishant feedback changes * skip TestFromYaml_Pass * added tags to bazel build * gazelle fix * remove unused vars * adda back config * remove config handling * remove unused var * gazelle fix * SSZ compatibility test for protobufs (#2839) * update workspace spec sha * remove yamls from branch * BLS spec tests (#2826) (#2856) * bls spec tests * add more bls tests * use ioutil instead of bazel runfiles * dont read bytes * skip tests that overflow uint64 * manually fix input data * add tests * lint and gaz * add all new changes * some refactoring, cleanup, remove new API methods that only exist for tests * gaz * Remove yamls, skip test * Slot processing spec test (#2813) * eth1data rpc endpoint (#2733) * eth1data rpc endpoint * first version * comment added * gazelle fix * new function to go once over the deposit array * fix tests * export DepositContainer * terence feedback * move structure decleration * binary search * fix block into Block * preston feedback * keep slice sorted to remove overhead in retrival * merge changes * feedback * update to the latest go-ssz * revert change * chnages to fit new ssz * revert merge reversion * go fmt goimprts duplicate string * exception for lint unused doesParentExist * feedback changes * latesteth1data to eth1data * goimports and stop exposing Eth1Data * revert unneeded change * remove exposure of DepositContainer * feedback and fixes * fix workspace duplicate dependancy * greatest number of deposits at current height * add count votes function * change method name * revert back to latesteth1data * latesteth1data * preston feedback * seperate function add tests fix bug * stop exposing voteCountMap * eth1data comment fix * preston feedback * fix tests * new proto files * workspace to default version of ssz * new ssz * chnage test size * marshalled marshaled * Attesting Indices Fix (#2862) * add change * fix one test * fix all tests * add test * clear cache * removed old chaintest, simulated backend and state generator (#2863) * Block Processing Sanity Spec Tests (#2817) * update PrevEpoch * add new changes * shift to blocks package * add more changes * new changes * updated pb with size tags * add new changes * fix errors * uncomment code * more changes * add new changes * rename and lint * gaz * more changes * proccess slot SigningRoot instead of HashTreeRoot * ensure yaml generated structs work * block sanity all passing * minimal and mainnet all pass * remove commented code * fix one test * fix all tests * fix again * no state comparison * matching spec * change target viz * comments gazelle * clear caches before test cases * latest attempts * clean up test format * remove debugging log, remove yaml * unskip attestation * remove skip, check post state, diff state diffs * handle err * add bug fixes * fixed one more bug * fixed churn limit bug * change hashProto to HashTreeRoot * all tests pass :) * fix all tests * gaz * add regression tests * fix test bug * Mutation testing fixes for beacon-chain/core/helpers/attestation.go (#2868) * mutation testing for attestation.go * new line * lint * revert fmt.Errorf deletion * gofmt * Add some fixes for mutation testing on blocks.go (#2869) * Fix sizes * gaz * Spec freeze release candidate spectests * Align Protobuf Type Names (#2872) * Removes some deprecated fields from protobuf (#2877) * search and replace checkpoints * fix tests, except spec tests * Update Configs for Freeze (#2876) * update configs * updated minimal configs * almost there * all tests passing except for spec tests * better comment for MinGenesisTime * done, ready for review * rm seconds per day * feedback * Mutation testing fixes for beacon-chain/core/helpers/committee.go (#2870) * Add some fixes for mutation testing on blocks.go * working on mutation testing fo committee.go * gofmt * goimports * update readme target * update latest sha for spec tests * fix build * Update State Transition Function (#2867) * Change Base Reward Factor (#2888) * Update Freeze Spec Simplification Section - part 1 (#2893) * finished changes to attesting_indices * removed index_count <= 2**40 requirement * lint * reverted index_count <= 2**40 check * added short cut len(a) > len(b) * Update justification bits (#2894) * updated all the helper pseudocodes (#2895) * Make Constants Explicit and Minor Cleanups (#2898) * Rename outdated configs, make constants explicitly delcared * Remove activate_validator, not needed * Remove GenesisSlot and GenesisEpoch * Remove unused import * Move Block Operation Length Checks to ProcessOperations (#2900) * Move block operation length checks to ProcessOperations * Write tests for each length check in ProcessOperations * Remove unneeded test * Move checks to a new function * Move duplicate check back into ProcessOperations * reorder proto fields (#2902) * Slashing Penalty Calculation Change (#2889) * lint * change config val * add max helper * changes to slashing and process slashing, add a min function for integers * gaz * fix failing tests * fix test * fixed all tests * Change Yaml tag * lint * remove gc hack * fix test * gaz * preston's comments * change failing field * fix and regen proto * lint * Implement Compact Committee Root (#2897) * add tags * add function * add new code * add function * add all new changes * lint * add tests * fix tests * fix more tests * fix all outstanding tests * gaz * Update beacon-chain/core/helpers/committee.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * comment * Remove deprecated fields from attestation data (#2892) * fix broken tests * remove comment * fixes * Update Deposit Contract (#2903) * update to new contract * fix references * fix tests * fix some more tests * fix local deposit trie * gaz * shays review * more changes * update WORKSPACE to use 0.8 spec tests * Perform Mutesting in Helpers Package (#2912) * Perform mutesting on validator * Mutesting in helpers package * Mutested eth1data * s/volundary/voluntary (#2914) * Update BLS Domain (#2916) * change from integer to byte slice * add test * fix func for bytes4 * Fix Spec tests (#2907) * fix panics * handle failed transitions * remove log * fix to protos * new changes * remove i * change ssz commit * new changes * update epoch tests * fix epoch testing * fix shuffle tests * fix test * Perform Mutesting in Epoch and State Packages (#2913) * done with updates (#2890) * Add Max Size Tag for Protobuf Fields (#2908) * No more space between ssz-size numbers * Regen pb.go * Fixed a few incorrect proto fields (#2926) * Update Validator Workflow (#2906) * Justification spec tests (#2896) * update go-ssz * Fix SSZ Compatibility Test (#2924) * figuring out how to seqeeze in multiple fields in a tag for pb * Added max tags and regenerated pb.go * updated to new standard * New bitfield types in proto (#2915) * Cast bytes to correct bitfield, failing tests now though * Add forked gogo/protobuf until https://github.com/gogo/protobuf/pull/582 * remove newline * use proper override for gogo-protobuf * fix a few tags * forgot to include custody bits and Slashable not used * Update yaml struct to use pb * Update workspace to use latest ssz * All tests fail * Use the latest go-ssz commit * All pass except for state (too long to taste) * Update test.proto * Added rest of the tests * use 1 justification bits * fix tag test, apply @rauljordan's suggestion * add IsEmpty and use ssz struct * delete unused file * Update zero hash to sha256().digest() (#2932) * update zero hash * change zero hash to conform with spec * goimports * add test for zero hash * Revert "Update zero hash to sha256().digest() (#2932)" (#2933) This reverts commit b926ae0667b18aef3f7e0e8ec8a9b3e98b3d2ccc. * Fix compress validator (#2936) * fix compress validator * update go-ssz * build without the bytes test * try minimal * Block operations spec tests (#2828) * update PrevEpoch * debugging proposer slashing tests * fmt * add deposit tests * Added skeleton for attestation minimal test * remove bazel runfiles thing * add deposits * proposer slashing test is done * comment * complete test, some failing cases * sig verify on * refactor slightly to support mainnet and minimal * included mainnet stuff * Add block header tests * volunary exit done * transfer done * new changes * fix all tests * update domain functions * fmt * fixed lint * fixed all the tests * fixed a transfer bug * finished attester slashing tests and fixed a few bugs * started fixing... * cleaned up exit and proposr slashing tests * attester slashing passing * refactored deposit tests * remove yamls, update ssz * Added todo for invalid sig * gazelle * deposits test done! * transfer tests done and pass! * fix attesting indices bug * temporarily disabled signature verification * cleaned up most of the block ops, except for att * update committee AttestingIndices * oops, i dont know how or why i changed this file * fixed all the rpc tests * 6 more failing packages * test max transfer in state package * replace hashproto with treehash in package blockchain * gazelle * fix test * fix test again * fixed transition test, 2 more left * expect an error in attestation tests * Handle panic when no votes in aggregate attestation * clear cache * Add differ, add logging, tests pass yay * remove todo, add tag * fixed TestReceiveBlock_RemovesPendingDeposits * TestAttestationMinimal/success_since_max_epochs_per_crosslink fails now... * handle panics * Transfer tests were disabled in https://github.com/ethereum/eth2.0-specs/pull/1238 * more fixes after merge, updating block_operations.yaml.go to match yaml * figuring out how to seqeeze in multiple fields in a tag for pb * Added max tags and regenerated pb.go * updated to new standard * New bitfield types in proto (#2915) * Cast bytes to correct bitfield, failing tests now though * Add forked gogo/protobuf until https://github.com/gogo/protobuf/pull/582 * remove newline * fix references and test panic * change to proto objects from custom types * fix panics in tests * use proper override for gogo-protobuf * fix a few tags * fix tests * forgot to include custody bits and Slashable not used * fix tests * sort again * Update yaml struct to use pb * Update workspace to use latest ssz * All tests fail * Use the latest go-ssz commit * All pass except for state (too long to taste) * Update test.proto * Added rest of the tests * use 1 justification bits * minor fixes * wrong proto.Equal * fix tag test, apply @rauljordan's suggestion * add IsEmpty and use ssz struct * inverted logic * update zero hash * change zero hash to conform with spec * goimports * add test for zero hash * Revert "Update zero hash to sha256().digest() (#2932)" This reverts commit b926ae0667b18aef3f7e0e8ec8a9b3e98b3d2ccc. * update ssz, fix import, shard big test * checkpoint * fix compress validator * update go-ssz * missing import * missing import * tests now pass * been a good day * update test size * fix lint * imports and remove unused const * update bazel jobs flag * update bazel jobs flag * satisfy deprecation warning * Add ssz regression tests for investigation of test failures in PR #2828 (#2935) * Adding regression tests for investigation * add another example * goimports * add quick comment about test case 0 * Epoch Process Slashings Spec Tests (#2930) * updated justification bits, tests passing OK * regen pb.go, clarify bit operations * justification and finalization tests; failing * Add wrapper, so we call the correct method * checkpoint * Update tar ref * TestSlashingsMinimal/small_penalty still failing * Use bigint instead of () and float * Revert a bad merge from workspace * Fmt * add note about https://github.com/ethereum/eth2.0-specs/issues/1284 * improve tests * gaz * Perform Mutesting In core/state Package (#2923) * Perform mutesting on validator * Mutesting in helpers package * Mutested eth1data * Perform mutesting in epoch and state packages * Fix voluntary exits test * Fix typo * Fix comments * Fix formatting * Fix error message * Handle missing errors * Handle all errors * Perform Mutesting In State Package * Fix block roots size * Remove comment * Fix error * add backend service * Add ssz compatibility tests for signing root (#2931) * Added tests for signing root * imports * fix lint on travis * fix bes flag * Final updates spec tests (#2901) * set up tests * need to reorder pbs * figuring out how to seqeeze in multiple fields in a tag for pb * Added max tags and regenerated pb.go * updated to new standard * New bitfield types in proto (#2915) * Cast bytes to correct bitfield, failing tests now though * Add forked gogo/protobuf until https://github.com/gogo/protobuf/pull/582 * remove newline * use proper override for gogo-protobuf * fix a few tags * forgot to include custody bits and Slashable not used * playing with tags idea, can revert this commit later * fixes after merge * reset caches before test * all epoch tests pass * gazelle * Genesis trigger (#2905) * genesis change * integrate changes * bodyroot * remove unused code * HasChainStarted * added isValidGenesisState to ProcessLog * state fix * fix gazelle * uint64 timestamp * SetupInitialDeposits adds proof * remove unneeded parts of test * deposithash * merkleproof from spec utils * Revert "merkleproof from spec utils" This reverts commit 1b0a124352e7b62e3c3220fb0d64e295b474b430. * fix test failures * chain started and hashtree root in tests * simple eth2genesistime * eth2 genesis time * fix zero time * add comment * remove eth1data and feedback * fix build issues * main changes: add fields and methods to track active validator count * gaz * fix test * fix more tests * improve test utils * shift spec method to state package, improve test setup * fixed log processing tests * remove log * gaz * fix invalid metric * use better tag names, not latest * Remove Block Signing Root (#2945) * replace with hash tree root * Revert "replace with hash tree root" This reverts commit 77d8f16a160e42f3c3d598df66c30a66657de1bf. * replace with signing root instead * remove one more ref * Create Test Runner for Genesis State Spec Tests (#2940) * genesis change * integrate changes * bodyroot * remove unused code * HasChainStarted * added isValidGenesisState to ProcessLog * state fix * fix gazelle * uint64 timestamp * SetupInitialDeposits adds proof * remove unneeded parts of test * deposithash * merkleproof from spec utils * Revert "merkleproof from spec utils" This reverts commit 1b0a124352e7b62e3c3220fb0d64e295b474b430. * fix test failures * chain started and hashtree root in tests * simple eth2genesistime * eth2 genesis time * fix zero time * add comment * remove eth1data and feedback * fix build issues * main changes: add fields and methods to track active validator count * gaz * fix test * fix more tests * improve test utils * Start genesis spec tests * shift spec method to state package, improve test setup * Add Genesis validity spec test * Bazel * fixed log processing tests * remove log * gaz * fix invalid metric * use json tags * fix up latest changes * Fix most of test errors * Attempts to see whats wrong with genesis validity * Fix merge * skip minimal * fix state test * new commit * fix nishant comment * gaz * Static check on branch spec-v0.6 (#2946) * Ran staticcheck and fixed the important complains * commit * commit * Create Test Runner for Genesis State Spec Tests (#2940) * genesis change * integrate changes * bodyroot * remove unused code * HasChainStarted * added isValidGenesisState to ProcessLog * state fix * fix gazelle * uint64 timestamp * SetupInitialDeposits adds proof * remove unneeded parts of test * deposithash * merkleproof from spec utils * Revert "merkleproof from spec utils" This reverts commit 1b0a124352e7b62e3c3220fb0d64e295b474b430. * fix test failures * chain started and hashtree root in tests * simple eth2genesistime * eth2 genesis time * fix zero time * add comment * remove eth1data and feedback * fix build issues * main changes: add fields and methods to track active validator count * gaz * fix test * fix more tests * improve test utils * Start genesis spec tests * shift spec method to state package, improve test setup * Add Genesis validity spec test * Bazel * fixed log processing tests * remove log * gaz * fix invalid metric * use json tags * fix up latest changes * Fix most of test errors * Attempts to see whats wrong with genesis validity * Fix merge * skip minimal * fix state test * new commit * fix nishant comment * gaz * Add Back Eth1Data After Bad Merge (#2953) * eth1data rpc endpoint * first version * comment added * gazelle fix * new function to go once over the deposit array * fix tests * export DepositContainer * terence feedback * move structure decleration * binary search * fix block into Block * preston feedback * keep slice sorted to remove overhead in retrival * merge changes * feedback * update to the latest go-ssz * revert change * chnages to fit new ssz * revert merge reversion * go fmt goimprts duplicate string * exception for lint unused doesParentExist * feedback changes * latesteth1data to eth1data * goimports and stop exposing Eth1Data * revert unneeded change * remove exposure of DepositContainer * feedback and fixes * fix workspace duplicate dependancy * greatest number of deposits at current height * add count votes function * change method name * revert back to latesteth1data * latesteth1data * preston feedback * seperate function add tests fix bug * stop exposing voteCountMap * eth1data comment fix * preston feedback * fix tests * new proto files * workspace to default version of ssz * new ssz * chnage test size * marshalled marshaled * everything passing again * add skip reason * cleanup deposit contract slightly * remove unused chainstart param (#2957) * fix breakages from #2957 (#2958) * fix breakages from #2957 * oops * Fix deposit input data (#2956) * fix deposit input data * fix deposit input data * gaz and build fix * Add Tests for Genesis Deposits Caching (#2952) * remove old method and replace with an improved one * add new files * gaz * add test * added all these tests * gaz * Apply suggestions from code review Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * fix merkle proof error * fix config * Minor fixes for runtime (#2960) * Minor fixes for runtime * use comments * goimports * revert beacon-chain/core/state/state.go and fix comment for lint * fix test too * Minor runtime fixes (#2961) * Add support for bundling binaries and fix ARM64 builds (#2970) * Add support for bundling binaries and fix ARM64 builds * Fix exports * ignore manual targets wrt vis check * fix graknlabs * update spec tests (#2979) * hotfix until https://github.com/graknlabs/bazel-distribution/pull/169 * Overflow slashing calculation fix (#2977) * Runtime Fixes (#2736) * first batch of fixes * add log * more fixes * another bug fixed * update deposit contract and other fixes * remove logs * new changes * fixes * fix build * remove config * more fixes * add more changes * add back todo * make compute state root work * remove commented out and fix condition * fix commented code * fix config * gaz * remove flag * remove init * new fixes * fix test * one more fix * fix all tests * change back config * fix one more bug * remove logging bool * Only build test targets when running bazel test //... * Align prysm to spec v0.8.1 (#2978) * Bazel problem * Update zero hash representation to be clear (cosmetic) * Update minor cosmetic fixes * Fixed lookahead off by 1 * Update randao.go * update ssz * test failures fixed * test fixes * fix up workspace * lint * fixed errs * Updated pubkey loggings (#2983) * Fix proposer assignment (#2984) * add jvm limits * add jvm limits * Removed logging from state transition functions (#2980) * Match spec on proposer index division (#2985) * Match spec on proposer index division * gaz * fixes * Fix Default Eth1Data (#2982) * fix bug * Update beacon-chain/core/state/transition.go Co-Authored-By: Raul Jordan <raul@prysmaticlabs.com> * more fixes * reg test * Set ejection balance to 1.6 (#2987) * improve block processing log (#2990) * Fix HistoricalRootsLimit (#2989) * fix historical lenght * fix genesis state initialization and test * fix genesis state initialization and test * fix genesis state initialization and test * fix genesis state initialization and test * hack config until https://github.com/prysmaticlabs/prysm/issues/2993 * More Runtime Fixes (#2986) * local changes * add val sig * attester fix * one more fix * fixed all tests * rem validator issue * fix finality issue (#2994) * Fix validator prev balance calculation (#2992) * attester fix * one more fix * fixed all tests * Fix validator prev balances calculation * go fmt * 48 bytes * Fix Querier to handle Deposit Logs Race (#2999) * fix sync issue * fix build * add regression test * add var for magic number * Fix eth1data and deposits (#2996) * Work in progress, eth1data works, deposits are included at the appropriate time, and activation happens at the correct time * revert blockInfo being public * git tests to build, not yet pass though * add tests * some commentary * fix comment * goimports * fmt and remove unused method * Update rules go (#2975) * update rules_go * Fix some cross compile builds stuff * add missing deps * update to 0.19.1 * Update Protobufs to Match Ethereum APIs (#2998) * add beacon block and attestation files * add all types * include all new proto type definitions * add add all proto definitions * fix all comments to say 48 bytes * include latest changes * readd common * no swag * add build file * deps issue * right package names * address feedback, maintain parity between upstream ethereumapis * delete pb * bad gens * Update "Testing Prysm" readme section (#3000) Resolves invalid url link to golangci-lint. * Update badge to version 0.8.1 * elaborate on test skip * revert shared/p2p/options.go * make travis happy with goimports * Update beacon-chain/core/blocks/block.go Co-Authored-By: Preston Van Loon <preston@prysmaticlabs.com>
2019-07-20 00:16:10 +00:00
// DepositContractDepositEvent represents a DepositEvent event raised by the DepositContract contract.
type DepositContractDepositEvent struct {
Pubkey []byte
WithdrawalCredentials []byte
Amount []byte
Signature []byte
Index []byte
Raw types.Log // Blockchain specific contextual infos
}
Spec freeze updates (#2312) * Optimize Shuffled Indices Cache (#2728) * Refactor Deposit Contract Test Setup (#2731) * add new package * fix all tests * lint * change hash function (#2732) * Remove Deprecated Validator Protobuf (#2727) * Remove deprecated validator protos * Fix to comments * Fix most of skipped tests (#2735) * Cache Active Validator Indices, Count, and Balances (#2737) * Optimize Base Reward Calculation (#2753) * benchmark process epoch * revert prof.out * Add some optimizations * beware where we use ActiveValidatorIndices... * revert extra file * gaz * quick commit to get feedback * revert extra file * started fixing tests * fixed broken TestProcessCrosslink_NoUpdate * gaz * cache randao seed * fixed all the tests * fmt and lint * spacing * Added todo * lint * revert binary file * started regression test * basic tests done * using a fifo for active indices cache * using a fifo for active count cache * using a fifo for total balance cache * using a fifo for active balance cache * using a fifo for start shard cache * using a fifo for seed cache * gaz * clean up * fixing tests * fixed all the core tests * fixed all the tests!!! * lint * comment * rm'ed commented code * cache size to 1000 should be good enough * optimized base reward * revert binary file * Added comments to calculate adjusted quotient outside * removed deprecated configs (#2755) * Optimize Process Eth1 Data Vote (#2754) * Cleanup and Docs update (#2756) * Add graffiti and update generate seed (#2759) * Benchmark Process Block with Attestations (#2758) * Tidying up Godoc for Core Package (#2762) * Clean up Old RPC Endpoints (#2763) * Update RPC end point for Proposer (#2767) * add RequestBlock * run mockgen * implemented RequestBlock * updated proto definitions * updated tests * updated validator attest tests * done * comment * todo issue * removed unused proto * Update attesting indices v0.6 (#2449) * sort participants slice * add bitfield functions and tests * added BitfieldBit test * add AttestationParticipantsNew * revert AttestationParticipants to its previous change * add tests * remove verifybitfieldnew * fix tests and remove multiple tests * remove duplicate test * change magic number into ceildiv8 * Implement Justification and finalization Processing (#2448) * Add convert to indexed (#2519) * sort participants slice * add bitfield functions and tests * added BitfieldBit test * add AttestationParticipantsNew * revert AttestationParticipants to its previous change * add tests * remove verifybitfieldnew * fix tests and remove multiple tests * remove duplicate test * start work * convert attestation to indexed attestations * fix test for convert index * remove calling getter * add more tests * remove underscore * changes name to signature (#2535) * update registry updates func (#2521) * update registry updates func * added tests and moved to epoch processing * fixed naming issues * Update Committee Helpers to v0.6.0 (#2398) * Update Committee Helper Part 2 (#2592) * Implement Process Slashings for 0.6 (#2523) * Update Proposer/Attester Slashings and Slashing Helpers (#2603) * Implement Final Updates 0.6 (#2562) * ValidatorStatus Estimating Activation RPC Server (#2469) * fix spacing * working on position in queue * fmt * spacing * feedback * tests * rename * Only Perform Initial Sync With a Single Peer (#2471) * fix spacing * use send instead of broadcast in initial sync * 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> * SSZ web api for decoding input data (#2473) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * standardize slot numbers (#2475) * Add CORS for ssz api (#2476) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * needed CORS * 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 * Update Prysm README (#2477) * README updated * readme updates * no err throw (#2479) * Fix Status Nil Pointer Error (#2480) * no err throw * nil errors * 3.175 (#2482) * Better Error Message if Failing to Exit Initial Sync (#2483) * no err throw * nil errors * better error on init sync * Only Log Active Balances (#2485) * only log active balance * dont need () * change logging (#2487) * fix chainstart waiting on rpc server (#2488) * shift ticker to after activation (#2489) * Add drain script (#2418) * Add drain script * Fix script to drain contracts from newest to oldest * Add README * remove comments * Only after block 400k, look up by deposit event * issue warn log on disconnecting peer instead of error (#2491) * Display Only Active Validator Data (#2490) * Fix Validator Status Field in RPC Server (#2492) * fix status of key * status test fix * fmt * 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 * add production config for testnet release (#2493) * Lookup Validator Index in State in Status Check (#2494) * state lookup * refactor duplicate code * refactor with mapping * fix broken tests * finish refactor * merged master * updated EpochCommitteeCount and fixed tests * implemented ShardDelta * test for ShardDelta * implemented EpochStartShard * added epoch out of bound test * test for accurate start shard * lint * implemented process_final_updates * move to the top of the file * add comment back * gaz * Test for process final updates * fixed tests * fixed all the tests * Update Reward Helper v0.6 (#2470) * added BaseReward * added rewards helper * added test for BaseReward * extra space * move exported function above * update to new spec (#2614) * Update Block Processing Voluntary Exits (#2609) * Update processEth1Data for v0.6 (#2516) * Clean up Helper Functions Part 1 (#2612) * Finalize helper functions for 0.6 (#2632) * Process Beacon Chain Transfers v0.6 (#2642) * add transfers * beacon transfer operations complete * full cov * transfer testing * finished tests * Update beacon-chain/core/blocks/block_operations_test.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * Update beacon-chain/core/blocks/block_operations.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * Implement Process Crosslink From 0.6 (#2460) * Process Block Eth1 Data v0.6 (#2645) * Get attestation data slot v0.6 (#2593) * attestation.go is ready, tests not * ready for review * fixing linter issues * modified Crosslink and AttestationData proto fields to spec 2.0,marked deprecated fields * gazelle * fixed tests * fixed error * error msg * Process Block Deposits v0.6 (#2647) * imports fixes * deposits tests pass * wrapped up gazelle * spacing * Implement Crosslink Delta Rewards for 0.6 (#2517) * update process crosslink and update existing tests * added a test case to cover no crosslink changes * more test * preston's feedback * spellings * ValidatorStatus Estimating Activation RPC Server (#2469) * fix spacing * working on position in queue * fmt * spacing * feedback * tests * rename * Only Perform Initial Sync With a Single Peer (#2471) * fix spacing * use send instead of broadcast in initial sync * 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> * SSZ web api for decoding input data (#2473) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * standardize slot numbers (#2475) * Add CORS for ssz api (#2476) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * needed CORS * 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 * Update Prysm README (#2477) * README updated * readme updates * no err throw (#2479) * Fix Status Nil Pointer Error (#2480) * no err throw * nil errors * 3.175 (#2482) * Better Error Message if Failing to Exit Initial Sync (#2483) * no err throw * nil errors * better error on init sync * Only Log Active Balances (#2485) * only log active balance * dont need () * change logging (#2487) * fix chainstart waiting on rpc server (#2488) * shift ticker to after activation (#2489) * Add drain script (#2418) * Add drain script * Fix script to drain contracts from newest to oldest * Add README * remove comments * Only after block 400k, look up by deposit event * issue warn log on disconnecting peer instead of error (#2491) * Display Only Active Validator Data (#2490) * Fix Validator Status Field in RPC Server (#2492) * fix status of key * status test fix * fmt * 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 * add production config for testnet release (#2493) * Lookup Validator Index in State in Status Check (#2494) * state lookup * refactor duplicate code * refactor with mapping * fix broken tests * finish refactor * merged master * Starting, I need get_epoch_start_shard * updated EpochCommitteeCount and fixed tests * implemented ShardDelta * test for ShardDelta * implemented EpochStartShard * added epoch out of bound test * test for accurate start shard * lint * need to use changes from latest crosslinks * added BaseReward and totalActiveBalance * added test for base reward * merged master * all tests passing * start testing * done * add ProcessBlockHeader v0.6 (#2534) * add ProcessBlockHeader * function has all its dependancies in place * arange the basic ok test * gazzele and skip test update * skip wrong sig test * fmt imports and change requests * goimports fmt * map for struct fields to be location independent * reorder protobuf fields * added tests * gazzle fix * few change requests fixes * revert changes in types.proto * revert changes in types * fix tests * fix lint * fmt imports * fix gazelle * fix var naming * pb update * var naming * tarance change request fixes * fix test * Add Process Registry for Epoch Processing (#2668) * update update-process-registry * added back the old tests * fmt * gaz * Follow up on process block header v0.6 (#2666) * Putting Crosslink Delta Back (#2654) * update process crosslink and update existing tests * added a test case to cover no crosslink changes * more test * preston's feedback * spellings * ValidatorStatus Estimating Activation RPC Server (#2469) * fix spacing * working on position in queue * fmt * spacing * feedback * tests * rename * Only Perform Initial Sync With a Single Peer (#2471) * fix spacing * use send instead of broadcast in initial sync * 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> * SSZ web api for decoding input data (#2473) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * standardize slot numbers (#2475) * Add CORS for ssz api (#2476) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * needed CORS * 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 * Update Prysm README (#2477) * README updated * readme updates * no err throw (#2479) * Fix Status Nil Pointer Error (#2480) * no err throw * nil errors * 3.175 (#2482) * Better Error Message if Failing to Exit Initial Sync (#2483) * no err throw * nil errors * better error on init sync * Only Log Active Balances (#2485) * only log active balance * dont need () * change logging (#2487) * fix chainstart waiting on rpc server (#2488) * shift ticker to after activation (#2489) * Add drain script (#2418) * Add drain script * Fix script to drain contracts from newest to oldest * Add README * remove comments * Only after block 400k, look up by deposit event * issue warn log on disconnecting peer instead of error (#2491) * Display Only Active Validator Data (#2490) * Fix Validator Status Field in RPC Server (#2492) * fix status of key * status test fix * fmt * 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 * add production config for testnet release (#2493) * Lookup Validator Index in State in Status Check (#2494) * state lookup * refactor duplicate code * refactor with mapping * fix broken tests * finish refactor * merged master * Starting, I need get_epoch_start_shard * updated EpochCommitteeCount and fixed tests * implemented ShardDelta * test for ShardDelta * implemented EpochStartShard * added epoch out of bound test * test for accurate start shard * lint * need to use changes from latest crosslinks * added BaseReward and totalActiveBalance * added test for base reward * merged master * all tests passing * start testing * done * fixed tests * addressed shay's feedback * Implement Attestation Delta for v0.6 (#2646) * update process crosslink and update existing tests * added a test case to cover no crosslink changes * more test * preston's feedback * spellings * ValidatorStatus Estimating Activation RPC Server (#2469) * fix spacing * working on position in queue * fmt * spacing * feedback * tests * rename * Only Perform Initial Sync With a Single Peer (#2471) * fix spacing * use send instead of broadcast in initial sync * 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> * SSZ web api for decoding input data (#2473) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * standardize slot numbers (#2475) * Add CORS for ssz api (#2476) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * needed CORS * 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 * Update Prysm README (#2477) * README updated * readme updates * no err throw (#2479) * Fix Status Nil Pointer Error (#2480) * no err throw * nil errors * 3.175 (#2482) * Better Error Message if Failing to Exit Initial Sync (#2483) * no err throw * nil errors * better error on init sync * Only Log Active Balances (#2485) * only log active balance * dont need () * change logging (#2487) * fix chainstart waiting on rpc server (#2488) * shift ticker to after activation (#2489) * Add drain script (#2418) * Add drain script * Fix script to drain contracts from newest to oldest * Add README * remove comments * Only after block 400k, look up by deposit event * issue warn log on disconnecting peer instead of error (#2491) * Display Only Active Validator Data (#2490) * Fix Validator Status Field in RPC Server (#2492) * fix status of key * status test fix * fmt * 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 * add production config for testnet release (#2493) * Lookup Validator Index in State in Status Check (#2494) * state lookup * refactor duplicate code * refactor with mapping * fix broken tests * finish refactor * merged master * Starting, I need get_epoch_start_shard * updated EpochCommitteeCount and fixed tests * implemented ShardDelta * test for ShardDelta * implemented EpochStartShard * added epoch out of bound test * test for accurate start shard * lint * need to use changes from latest crosslinks * added BaseReward and totalActiveBalance * added test for base reward * implemented process_attestation_delta * comments * comments * merged master * all tests passing * start testing * done * merged master * fixed tests * tests, more to come * tests done * lint * spaces over tabs * addressed shay's feedback * merged master * Implement process_rewards_and_penalties for 0.6 (#2665) * update process crosslink and update existing tests * added a test case to cover no crosslink changes * more test * preston's feedback * spellings * ValidatorStatus Estimating Activation RPC Server (#2469) * fix spacing * working on position in queue * fmt * spacing * feedback * tests * rename * Only Perform Initial Sync With a Single Peer (#2471) * fix spacing * use send instead of broadcast in initial sync * 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> * SSZ web api for decoding input data (#2473) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * standardize slot numbers (#2475) * Add CORS for ssz api (#2476) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * needed CORS * 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 * Update Prysm README (#2477) * README updated * readme updates * no err throw (#2479) * Fix Status Nil Pointer Error (#2480) * no err throw * nil errors * 3.175 (#2482) * Better Error Message if Failing to Exit Initial Sync (#2483) * no err throw * nil errors * better error on init sync * Only Log Active Balances (#2485) * only log active balance * dont need () * change logging (#2487) * fix chainstart waiting on rpc server (#2488) * shift ticker to after activation (#2489) * Add drain script (#2418) * Add drain script * Fix script to drain contracts from newest to oldest * Add README * remove comments * Only after block 400k, look up by deposit event * issue warn log on disconnecting peer instead of error (#2491) * Display Only Active Validator Data (#2490) * Fix Validator Status Field in RPC Server (#2492) * fix status of key * status test fix * fmt * 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 * add production config for testnet release (#2493) * Lookup Validator Index in State in Status Check (#2494) * state lookup * refactor duplicate code * refactor with mapping * fix broken tests * finish refactor * merged master * Starting, I need get_epoch_start_shard * updated EpochCommitteeCount and fixed tests * implemented ShardDelta * test for ShardDelta * implemented EpochStartShard * added epoch out of bound test * test for accurate start shard * lint * need to use changes from latest crosslinks * added BaseReward and totalActiveBalance * added test for base reward * implemented process_attestation_delta * comments * comments * merged master * all tests passing * start testing * done * merged master * fixed tests * tests, more to come * tests done * lint * spaces over tabs * addressed shay's feedback * starting but need to merge a few things... * tests * fmt * Update Slot Processing and State Transition v0.6 (#2664) * edit state transition to add slot processing logic, reorder logic * fix build * lint * tests passing * spacing * tests pass * imports * passing tests * Implement Process Epoch for 0.6 (#2675) * can't find process j f functons * implemented process_epoch * tests done * lint * nishant's feedback * stupid goland replace * goimports * Update CommitteeAssignment (#2693) * cleaned up skipped tests for core processing (#2697) * Process Block Attestations v0.6 (#2650) * attestation.go is ready, tests not * ready for review * fixing linter issues * modified Crosslink and AttestationData proto fields to spec 2.0,marked deprecated fields * gazelle * fixed tests * fixed error * add att processing: * process atts * error msg * finish process attestations logic * spacing * ssz move * inclusion delay failure passing * more attestation tests * more att tests passing * more tests * ffg data mismatching test * ffg tests complete * gofmt * fix testing to match attestation updates * ssz * lint * Fixed Skipped Tests for RPC Server (#2712) * Remove Obsolete Deposit Proto Objects (#2673) * remove deposit data * remove deposit input * fix references * remove deposit helpers * fix all refs * gaz * rgene proto * fix all tests * remove deposit data deprecated field * fix remaining references * fix all tests * fix lint * regen proto * fix test * Remove Deprecated Protobuf State Fields (#2713) * Remove Deprecated Protobuf Crosslink/Slashing/Block Fields (#2714) * Remove Deprecated Beacon Block Proto Fields (#2717) * Remove Deprecated Attestation Proto Fields (#2723) * Cache Shuffled Validator Indices (#2682) * YAML shuffle tests for v0.6 (#2667) * new shuffle tests * added comment for exported function * fix format and print * added config files handling * gazelle fix * shuffle test debugging * added shuffle list and benchmark * hash function addition from nishant code * gazelle fix * remove unused function * few minor changes * add test to test protos optimization * test a bigger list * remove commented code * small changes * fix spec test and test indices to pass * remove empty line * abstraction of repeated code and comment arrangement * terence change requests * fix new test * add small comment for better readability * change from unshuflle to shuffle * comment * better comment * fix all tests * Remove Latest Block (#2721) * lint * remove latest block * lint * add proto * fix build * Fix Deposit Trie (#2686) * remove deposit data * remove deposit input * fix references * remove deposit helpers * fix all refs * gaz * rgene proto * fix all tests * remove deposit data deprecated field * fix remaining references * fix all tests * fix lint * new tests with contract * gaz * more tests * fixed bugs * new test * finally fixed it * gaz * fix test * Remove Committee Cache (#2729) * Benchmark Compute Committee (#2698) * Fixed Skipped Attestation Tests (#2730) * Optimize Shuffled Indices Cache (#2728) * Refactor Deposit Contract Test Setup (#2731) * add new package * fix all tests * lint * change hash function (#2732) * Remove Deprecated Validator Protobuf (#2727) * Remove deprecated validator protos * Fix to comments * Fix most of skipped tests (#2735) * Optimize Base Reward Calculation (#2753) * benchmark process epoch * revert prof.out * Add some optimizations * beware where we use ActiveValidatorIndices... * revert extra file * gaz * quick commit to get feedback * revert extra file * started fixing tests * fixed broken TestProcessCrosslink_NoUpdate * gaz * cache randao seed * fixed all the tests * fmt and lint * spacing * Added todo * lint * revert binary file * started regression test * basic tests done * using a fifo for active indices cache * using a fifo for active count cache * using a fifo for total balance cache * using a fifo for active balance cache * using a fifo for start shard cache * using a fifo for seed cache * gaz * clean up * fixing tests * fixed all the core tests * fixed all the tests!!! * lint * comment * rm'ed commented code * cache size to 1000 should be good enough * optimized base reward * revert binary file * Added comments to calculate adjusted quotient outside * removed deprecated configs (#2755) * Optimize Process Eth1 Data Vote (#2754) * Cleanup and Docs update (#2756) * Add graffiti and update generate seed (#2759) * Benchmark Process Block with Attestations (#2758) * Tidying up Godoc for Core Package (#2762) * Clean up Old RPC Endpoints (#2763) * Update RPC end point for Proposer (#2767) * add RequestBlock * run mockgen * implemented RequestBlock * updated proto definitions * updated tests * updated validator attest tests * done * comment * todo issue * removed unused proto * Cache Active Validator Indices, Count, and Balances (#2737) * Update Deposit Contract (#2648) * lint * add new contract * change version * remove log * generating abi and binary files * fix tests * update to current version * new changes * add new hash function * save hashed nodes * add more things * new method * add update to trie * new stuff * gaz * more stuff * finally fixed build * remove deposit data * Revert "remove deposit data" This reverts commit 9085409e91be0c94550af10290eaad72ad40a6de. * more changes * lint and gaz * lint * Update Shard Helpers for 0.6 (#2497) * ValidatorStatus Estimating Activation RPC Server (#2469) * fix spacing * working on position in queue * fmt * spacing * feedback * tests * rename * Only Perform Initial Sync With a Single Peer (#2471) * fix spacing * use send instead of broadcast in initial sync * 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> * SSZ web api for decoding input data (#2473) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * standardize slot numbers (#2475) * Add CORS for ssz api (#2476) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * needed CORS * 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 * Update Prysm README (#2477) * README updated * readme updates * no err throw (#2479) * Fix Status Nil Pointer Error (#2480) * no err throw * nil errors * 3.175 (#2482) * Better Error Message if Failing to Exit Initial Sync (#2483) * no err throw * nil errors * better error on init sync * Only Log Active Balances (#2485) * only log active balance * dont need () * change logging (#2487) * fix chainstart waiting on rpc server (#2488) * shift ticker to after activation (#2489) * Add drain script (#2418) * Add drain script * Fix script to drain contracts from newest to oldest * Add README * remove comments * Only after block 400k, look up by deposit event * issue warn log on disconnecting peer instead of error (#2491) * Display Only Active Validator Data (#2490) * Fix Validator Status Field in RPC Server (#2492) * fix status of key * status test fix * fmt * 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 * add production config for testnet release (#2493) * Lookup Validator Index in State in Status Check (#2494) * state lookup * refactor duplicate code * refactor with mapping * fix broken tests * finish refactor * merged master * updated EpochCommitteeCount and fixed tests * implemented ShardDelta * test for ShardDelta * implemented EpochStartShard * added epoch out of bound test * test for accurate start shard * lint * Update Genesis State Function to v0.6 (#2465) * add pseudocode * make changes * fix all tests * fix tests * lint * regen protos and mocks * regenerated protos * started fixing core * all core tests passing! * removed shared/forkutils * started fixing blockchain package * lint * updating rpc package * add back deleted stuff * add back deleted stuff that was deleted accidentally * add back protos and mocks * fix errors * fix genesis issue * fix genesis issue for slot ticker * fix all genesis errors * fix build files * temp change for go-ssz * fix test * Revert "temp change for go-ssz" This reverts commit 3411cb9d6d519cb521181486debc3b21603c8873. * update to latest go-ssz * unstaged changes * Update Attester Server RPC Calls (#2773) * Update config and function parameters to v0.7 (#2791) * Minor Updates to 0.7 (#2795) * Refactor Deposit Flow and Cleanup Tests (#2788) * More WIP on cleaning deposit flow * Fix tests * Cleanup and imports * run gazelle * Move deposit to block_operations * gazelle * Update beacon-chain/core/blocks/block_operations.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * Fix docs * Remove unneeded calculations * Fix tests * Fix tests finally (?) * Optimize Committee Assignment RPC (#2787) * Update BlockRoot to BlockHash (#2816) * Fix Final Missing Items in Block Processing v0.6 (#2710) * override config successfully * passes processing * add signing root helper * blockchain tests pass * tests blocked by signing root * lint * fix references * fix protos * proper use of signing root * only few failing tests now * fix final test * tests passing * lint and imports * rem unused * Update beacon-chain/core/blocks/block_operations.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * lint * Update beacon-chain/attestation/service_test.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * Update beacon-chain/db/block_test.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * rename to hash tree root * rename decode to unmarshal * fix * use latest ssz * all tests passing * lint * fmt * Add Config YAML for Spec Tests (#2818) * Align Protobuf Type Names (#2825) * gofmt * Revert "Align Protobuf Type Names (#2825)" (#2827) This reverts commit 882d067144c674bbf4eeee00404acaa0a9b1fd33. * Update Domain Related Functions (#2832) * Add Functions for Compressed and Uncompressed HashG2 With Domain (#2833) * add tests * gaz * lint * Revert "Add Functions for Compressed and Uncompressed HashG2 With Domain (#2833)" (#2835) This reverts commit 7fb2ebf3f12f043d7bd12f43500dc2bd133df573. * Add ConvertToPb to package testutil (#2838) * Block Processing Bug Fixes (#2836) * Update types PB with Size Tags (#2840) * Epoch processing spec tests (#2814) * Remove Deposit Index (#2851) * Shuffle tests revisited (#2829) * first commit * remove old files, add log * remove duplicate yaml testing code * reduce visability * nishant feedback changes * skip TestFromYaml_Pass * added tags to bazel build * gazelle fix * remove unused vars * adda back config * remove config handling * remove unused var * gazelle fix * SSZ compatibility test for protobufs (#2839) * update workspace spec sha * remove yamls from branch * BLS spec tests (#2826) (#2856) * bls spec tests * add more bls tests * use ioutil instead of bazel runfiles * dont read bytes * skip tests that overflow uint64 * manually fix input data * add tests * lint and gaz * add all new changes * some refactoring, cleanup, remove new API methods that only exist for tests * gaz * Remove yamls, skip test * Slot processing spec test (#2813) * eth1data rpc endpoint (#2733) * eth1data rpc endpoint * first version * comment added * gazelle fix * new function to go once over the deposit array * fix tests * export DepositContainer * terence feedback * move structure decleration * binary search * fix block into Block * preston feedback * keep slice sorted to remove overhead in retrival * merge changes * feedback * update to the latest go-ssz * revert change * chnages to fit new ssz * revert merge reversion * go fmt goimprts duplicate string * exception for lint unused doesParentExist * feedback changes * latesteth1data to eth1data * goimports and stop exposing Eth1Data * revert unneeded change * remove exposure of DepositContainer * feedback and fixes * fix workspace duplicate dependancy * greatest number of deposits at current height * add count votes function * change method name * revert back to latesteth1data * latesteth1data * preston feedback * seperate function add tests fix bug * stop exposing voteCountMap * eth1data comment fix * preston feedback * fix tests * new proto files * workspace to default version of ssz * new ssz * chnage test size * marshalled marshaled * Attesting Indices Fix (#2862) * add change * fix one test * fix all tests * add test * clear cache * removed old chaintest, simulated backend and state generator (#2863) * Block Processing Sanity Spec Tests (#2817) * update PrevEpoch * add new changes * shift to blocks package * add more changes * new changes * updated pb with size tags * add new changes * fix errors * uncomment code * more changes * add new changes * rename and lint * gaz * more changes * proccess slot SigningRoot instead of HashTreeRoot * ensure yaml generated structs work * block sanity all passing * minimal and mainnet all pass * remove commented code * fix one test * fix all tests * fix again * no state comparison * matching spec * change target viz * comments gazelle * clear caches before test cases * latest attempts * clean up test format * remove debugging log, remove yaml * unskip attestation * remove skip, check post state, diff state diffs * handle err * add bug fixes * fixed one more bug * fixed churn limit bug * change hashProto to HashTreeRoot * all tests pass :) * fix all tests * gaz * add regression tests * fix test bug * Mutation testing fixes for beacon-chain/core/helpers/attestation.go (#2868) * mutation testing for attestation.go * new line * lint * revert fmt.Errorf deletion * gofmt * Add some fixes for mutation testing on blocks.go (#2869) * Fix sizes * gaz * Spec freeze release candidate spectests * Align Protobuf Type Names (#2872) * Removes some deprecated fields from protobuf (#2877) * search and replace checkpoints * fix tests, except spec tests * Update Configs for Freeze (#2876) * update configs * updated minimal configs * almost there * all tests passing except for spec tests * better comment for MinGenesisTime * done, ready for review * rm seconds per day * feedback * Mutation testing fixes for beacon-chain/core/helpers/committee.go (#2870) * Add some fixes for mutation testing on blocks.go * working on mutation testing fo committee.go * gofmt * goimports * update readme target * update latest sha for spec tests * fix build * Update State Transition Function (#2867) * Change Base Reward Factor (#2888) * Update Freeze Spec Simplification Section - part 1 (#2893) * finished changes to attesting_indices * removed index_count <= 2**40 requirement * lint * reverted index_count <= 2**40 check * added short cut len(a) > len(b) * Update justification bits (#2894) * updated all the helper pseudocodes (#2895) * Make Constants Explicit and Minor Cleanups (#2898) * Rename outdated configs, make constants explicitly delcared * Remove activate_validator, not needed * Remove GenesisSlot and GenesisEpoch * Remove unused import * Move Block Operation Length Checks to ProcessOperations (#2900) * Move block operation length checks to ProcessOperations * Write tests for each length check in ProcessOperations * Remove unneeded test * Move checks to a new function * Move duplicate check back into ProcessOperations * reorder proto fields (#2902) * Slashing Penalty Calculation Change (#2889) * lint * change config val * add max helper * changes to slashing and process slashing, add a min function for integers * gaz * fix failing tests * fix test * fixed all tests * Change Yaml tag * lint * remove gc hack * fix test * gaz * preston's comments * change failing field * fix and regen proto * lint * Implement Compact Committee Root (#2897) * add tags * add function * add new code * add function * add all new changes * lint * add tests * fix tests * fix more tests * fix all outstanding tests * gaz * Update beacon-chain/core/helpers/committee.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * comment * Remove deprecated fields from attestation data (#2892) * fix broken tests * remove comment * fixes * Update Deposit Contract (#2903) * update to new contract * fix references * fix tests * fix some more tests * fix local deposit trie * gaz * shays review * more changes * update WORKSPACE to use 0.8 spec tests * Perform Mutesting in Helpers Package (#2912) * Perform mutesting on validator * Mutesting in helpers package * Mutested eth1data * s/volundary/voluntary (#2914) * Update BLS Domain (#2916) * change from integer to byte slice * add test * fix func for bytes4 * Fix Spec tests (#2907) * fix panics * handle failed transitions * remove log * fix to protos * new changes * remove i * change ssz commit * new changes * update epoch tests * fix epoch testing * fix shuffle tests * fix test * Perform Mutesting in Epoch and State Packages (#2913) * done with updates (#2890) * Add Max Size Tag for Protobuf Fields (#2908) * No more space between ssz-size numbers * Regen pb.go * Fixed a few incorrect proto fields (#2926) * Update Validator Workflow (#2906) * Justification spec tests (#2896) * update go-ssz * Fix SSZ Compatibility Test (#2924) * figuring out how to seqeeze in multiple fields in a tag for pb * Added max tags and regenerated pb.go * updated to new standard * New bitfield types in proto (#2915) * Cast bytes to correct bitfield, failing tests now though * Add forked gogo/protobuf until https://github.com/gogo/protobuf/pull/582 * remove newline * use proper override for gogo-protobuf * fix a few tags * forgot to include custody bits and Slashable not used * Update yaml struct to use pb * Update workspace to use latest ssz * All tests fail * Use the latest go-ssz commit * All pass except for state (too long to taste) * Update test.proto * Added rest of the tests * use 1 justification bits * fix tag test, apply @rauljordan's suggestion * add IsEmpty and use ssz struct * delete unused file * Update zero hash to sha256().digest() (#2932) * update zero hash * change zero hash to conform with spec * goimports * add test for zero hash * Revert "Update zero hash to sha256().digest() (#2932)" (#2933) This reverts commit b926ae0667b18aef3f7e0e8ec8a9b3e98b3d2ccc. * Fix compress validator (#2936) * fix compress validator * update go-ssz * build without the bytes test * try minimal * Block operations spec tests (#2828) * update PrevEpoch * debugging proposer slashing tests * fmt * add deposit tests * Added skeleton for attestation minimal test * remove bazel runfiles thing * add deposits * proposer slashing test is done * comment * complete test, some failing cases * sig verify on * refactor slightly to support mainnet and minimal * included mainnet stuff * Add block header tests * volunary exit done * transfer done * new changes * fix all tests * update domain functions * fmt * fixed lint * fixed all the tests * fixed a transfer bug * finished attester slashing tests and fixed a few bugs * started fixing... * cleaned up exit and proposr slashing tests * attester slashing passing * refactored deposit tests * remove yamls, update ssz * Added todo for invalid sig * gazelle * deposits test done! * transfer tests done and pass! * fix attesting indices bug * temporarily disabled signature verification * cleaned up most of the block ops, except for att * update committee AttestingIndices * oops, i dont know how or why i changed this file * fixed all the rpc tests * 6 more failing packages * test max transfer in state package * replace hashproto with treehash in package blockchain * gazelle * fix test * fix test again * fixed transition test, 2 more left * expect an error in attestation tests * Handle panic when no votes in aggregate attestation * clear cache * Add differ, add logging, tests pass yay * remove todo, add tag * fixed TestReceiveBlock_RemovesPendingDeposits * TestAttestationMinimal/success_since_max_epochs_per_crosslink fails now... * handle panics * Transfer tests were disabled in https://github.com/ethereum/eth2.0-specs/pull/1238 * more fixes after merge, updating block_operations.yaml.go to match yaml * figuring out how to seqeeze in multiple fields in a tag for pb * Added max tags and regenerated pb.go * updated to new standard * New bitfield types in proto (#2915) * Cast bytes to correct bitfield, failing tests now though * Add forked gogo/protobuf until https://github.com/gogo/protobuf/pull/582 * remove newline * fix references and test panic * change to proto objects from custom types * fix panics in tests * use proper override for gogo-protobuf * fix a few tags * fix tests * forgot to include custody bits and Slashable not used * fix tests * sort again * Update yaml struct to use pb * Update workspace to use latest ssz * All tests fail * Use the latest go-ssz commit * All pass except for state (too long to taste) * Update test.proto * Added rest of the tests * use 1 justification bits * minor fixes * wrong proto.Equal * fix tag test, apply @rauljordan's suggestion * add IsEmpty and use ssz struct * inverted logic * update zero hash * change zero hash to conform with spec * goimports * add test for zero hash * Revert "Update zero hash to sha256().digest() (#2932)" This reverts commit b926ae0667b18aef3f7e0e8ec8a9b3e98b3d2ccc. * update ssz, fix import, shard big test * checkpoint * fix compress validator * update go-ssz * missing import * missing import * tests now pass * been a good day * update test size * fix lint * imports and remove unused const * update bazel jobs flag * update bazel jobs flag * satisfy deprecation warning * Add ssz regression tests for investigation of test failures in PR #2828 (#2935) * Adding regression tests for investigation * add another example * goimports * add quick comment about test case 0 * Epoch Process Slashings Spec Tests (#2930) * updated justification bits, tests passing OK * regen pb.go, clarify bit operations * justification and finalization tests; failing * Add wrapper, so we call the correct method * checkpoint * Update tar ref * TestSlashingsMinimal/small_penalty still failing * Use bigint instead of () and float * Revert a bad merge from workspace * Fmt * add note about https://github.com/ethereum/eth2.0-specs/issues/1284 * improve tests * gaz * Perform Mutesting In core/state Package (#2923) * Perform mutesting on validator * Mutesting in helpers package * Mutested eth1data * Perform mutesting in epoch and state packages * Fix voluntary exits test * Fix typo * Fix comments * Fix formatting * Fix error message * Handle missing errors * Handle all errors * Perform Mutesting In State Package * Fix block roots size * Remove comment * Fix error * add backend service * Add ssz compatibility tests for signing root (#2931) * Added tests for signing root * imports * fix lint on travis * fix bes flag * Final updates spec tests (#2901) * set up tests * need to reorder pbs * figuring out how to seqeeze in multiple fields in a tag for pb * Added max tags and regenerated pb.go * updated to new standard * New bitfield types in proto (#2915) * Cast bytes to correct bitfield, failing tests now though * Add forked gogo/protobuf until https://github.com/gogo/protobuf/pull/582 * remove newline * use proper override for gogo-protobuf * fix a few tags * forgot to include custody bits and Slashable not used * playing with tags idea, can revert this commit later * fixes after merge * reset caches before test * all epoch tests pass * gazelle * Genesis trigger (#2905) * genesis change * integrate changes * bodyroot * remove unused code * HasChainStarted * added isValidGenesisState to ProcessLog * state fix * fix gazelle * uint64 timestamp * SetupInitialDeposits adds proof * remove unneeded parts of test * deposithash * merkleproof from spec utils * Revert "merkleproof from spec utils" This reverts commit 1b0a124352e7b62e3c3220fb0d64e295b474b430. * fix test failures * chain started and hashtree root in tests * simple eth2genesistime * eth2 genesis time * fix zero time * add comment * remove eth1data and feedback * fix build issues * main changes: add fields and methods to track active validator count * gaz * fix test * fix more tests * improve test utils * shift spec method to state package, improve test setup * fixed log processing tests * remove log * gaz * fix invalid metric * use better tag names, not latest * Remove Block Signing Root (#2945) * replace with hash tree root * Revert "replace with hash tree root" This reverts commit 77d8f16a160e42f3c3d598df66c30a66657de1bf. * replace with signing root instead * remove one more ref * Create Test Runner for Genesis State Spec Tests (#2940) * genesis change * integrate changes * bodyroot * remove unused code * HasChainStarted * added isValidGenesisState to ProcessLog * state fix * fix gazelle * uint64 timestamp * SetupInitialDeposits adds proof * remove unneeded parts of test * deposithash * merkleproof from spec utils * Revert "merkleproof from spec utils" This reverts commit 1b0a124352e7b62e3c3220fb0d64e295b474b430. * fix test failures * chain started and hashtree root in tests * simple eth2genesistime * eth2 genesis time * fix zero time * add comment * remove eth1data and feedback * fix build issues * main changes: add fields and methods to track active validator count * gaz * fix test * fix more tests * improve test utils * Start genesis spec tests * shift spec method to state package, improve test setup * Add Genesis validity spec test * Bazel * fixed log processing tests * remove log * gaz * fix invalid metric * use json tags * fix up latest changes * Fix most of test errors * Attempts to see whats wrong with genesis validity * Fix merge * skip minimal * fix state test * new commit * fix nishant comment * gaz * Static check on branch spec-v0.6 (#2946) * Ran staticcheck and fixed the important complains * commit * commit * Create Test Runner for Genesis State Spec Tests (#2940) * genesis change * integrate changes * bodyroot * remove unused code * HasChainStarted * added isValidGenesisState to ProcessLog * state fix * fix gazelle * uint64 timestamp * SetupInitialDeposits adds proof * remove unneeded parts of test * deposithash * merkleproof from spec utils * Revert "merkleproof from spec utils" This reverts commit 1b0a124352e7b62e3c3220fb0d64e295b474b430. * fix test failures * chain started and hashtree root in tests * simple eth2genesistime * eth2 genesis time * fix zero time * add comment * remove eth1data and feedback * fix build issues * main changes: add fields and methods to track active validator count * gaz * fix test * fix more tests * improve test utils * Start genesis spec tests * shift spec method to state package, improve test setup * Add Genesis validity spec test * Bazel * fixed log processing tests * remove log * gaz * fix invalid metric * use json tags * fix up latest changes * Fix most of test errors * Attempts to see whats wrong with genesis validity * Fix merge * skip minimal * fix state test * new commit * fix nishant comment * gaz * Add Back Eth1Data After Bad Merge (#2953) * eth1data rpc endpoint * first version * comment added * gazelle fix * new function to go once over the deposit array * fix tests * export DepositContainer * terence feedback * move structure decleration * binary search * fix block into Block * preston feedback * keep slice sorted to remove overhead in retrival * merge changes * feedback * update to the latest go-ssz * revert change * chnages to fit new ssz * revert merge reversion * go fmt goimprts duplicate string * exception for lint unused doesParentExist * feedback changes * latesteth1data to eth1data * goimports and stop exposing Eth1Data * revert unneeded change * remove exposure of DepositContainer * feedback and fixes * fix workspace duplicate dependancy * greatest number of deposits at current height * add count votes function * change method name * revert back to latesteth1data * latesteth1data * preston feedback * seperate function add tests fix bug * stop exposing voteCountMap * eth1data comment fix * preston feedback * fix tests * new proto files * workspace to default version of ssz * new ssz * chnage test size * marshalled marshaled * everything passing again * add skip reason * cleanup deposit contract slightly * remove unused chainstart param (#2957) * fix breakages from #2957 (#2958) * fix breakages from #2957 * oops * Fix deposit input data (#2956) * fix deposit input data * fix deposit input data * gaz and build fix * Add Tests for Genesis Deposits Caching (#2952) * remove old method and replace with an improved one * add new files * gaz * add test * added all these tests * gaz * Apply suggestions from code review Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * fix merkle proof error * fix config * Minor fixes for runtime (#2960) * Minor fixes for runtime * use comments * goimports * revert beacon-chain/core/state/state.go and fix comment for lint * fix test too * Minor runtime fixes (#2961) * Add support for bundling binaries and fix ARM64 builds (#2970) * Add support for bundling binaries and fix ARM64 builds * Fix exports * ignore manual targets wrt vis check * fix graknlabs * update spec tests (#2979) * hotfix until https://github.com/graknlabs/bazel-distribution/pull/169 * Overflow slashing calculation fix (#2977) * Runtime Fixes (#2736) * first batch of fixes * add log * more fixes * another bug fixed * update deposit contract and other fixes * remove logs * new changes * fixes * fix build * remove config * more fixes * add more changes * add back todo * make compute state root work * remove commented out and fix condition * fix commented code * fix config * gaz * remove flag * remove init * new fixes * fix test * one more fix * fix all tests * change back config * fix one more bug * remove logging bool * Only build test targets when running bazel test //... * Align prysm to spec v0.8.1 (#2978) * Bazel problem * Update zero hash representation to be clear (cosmetic) * Update minor cosmetic fixes * Fixed lookahead off by 1 * Update randao.go * update ssz * test failures fixed * test fixes * fix up workspace * lint * fixed errs * Updated pubkey loggings (#2983) * Fix proposer assignment (#2984) * add jvm limits * add jvm limits * Removed logging from state transition functions (#2980) * Match spec on proposer index division (#2985) * Match spec on proposer index division * gaz * fixes * Fix Default Eth1Data (#2982) * fix bug * Update beacon-chain/core/state/transition.go Co-Authored-By: Raul Jordan <raul@prysmaticlabs.com> * more fixes * reg test * Set ejection balance to 1.6 (#2987) * improve block processing log (#2990) * Fix HistoricalRootsLimit (#2989) * fix historical lenght * fix genesis state initialization and test * fix genesis state initialization and test * fix genesis state initialization and test * fix genesis state initialization and test * hack config until https://github.com/prysmaticlabs/prysm/issues/2993 * More Runtime Fixes (#2986) * local changes * add val sig * attester fix * one more fix * fixed all tests * rem validator issue * fix finality issue (#2994) * Fix validator prev balance calculation (#2992) * attester fix * one more fix * fixed all tests * Fix validator prev balances calculation * go fmt * 48 bytes * Fix Querier to handle Deposit Logs Race (#2999) * fix sync issue * fix build * add regression test * add var for magic number * Fix eth1data and deposits (#2996) * Work in progress, eth1data works, deposits are included at the appropriate time, and activation happens at the correct time * revert blockInfo being public * git tests to build, not yet pass though * add tests * some commentary * fix comment * goimports * fmt and remove unused method * Update rules go (#2975) * update rules_go * Fix some cross compile builds stuff * add missing deps * update to 0.19.1 * Update Protobufs to Match Ethereum APIs (#2998) * add beacon block and attestation files * add all types * include all new proto type definitions * add add all proto definitions * fix all comments to say 48 bytes * include latest changes * readd common * no swag * add build file * deps issue * right package names * address feedback, maintain parity between upstream ethereumapis * delete pb * bad gens * Update "Testing Prysm" readme section (#3000) Resolves invalid url link to golangci-lint. * Update badge to version 0.8.1 * elaborate on test skip * revert shared/p2p/options.go * make travis happy with goimports * Update beacon-chain/core/blocks/block.go Co-Authored-By: Preston Van Loon <preston@prysmaticlabs.com>
2019-07-20 00:16:10 +00:00
// FilterDepositEvent is a free log retrieval operation binding the contract event 0x649bbc62d0e31342afea4e5cd82d4049e7e1ee912fc0889aa790803be39038c5.
//
Spec freeze updates (#2312) * Optimize Shuffled Indices Cache (#2728) * Refactor Deposit Contract Test Setup (#2731) * add new package * fix all tests * lint * change hash function (#2732) * Remove Deprecated Validator Protobuf (#2727) * Remove deprecated validator protos * Fix to comments * Fix most of skipped tests (#2735) * Cache Active Validator Indices, Count, and Balances (#2737) * Optimize Base Reward Calculation (#2753) * benchmark process epoch * revert prof.out * Add some optimizations * beware where we use ActiveValidatorIndices... * revert extra file * gaz * quick commit to get feedback * revert extra file * started fixing tests * fixed broken TestProcessCrosslink_NoUpdate * gaz * cache randao seed * fixed all the tests * fmt and lint * spacing * Added todo * lint * revert binary file * started regression test * basic tests done * using a fifo for active indices cache * using a fifo for active count cache * using a fifo for total balance cache * using a fifo for active balance cache * using a fifo for start shard cache * using a fifo for seed cache * gaz * clean up * fixing tests * fixed all the core tests * fixed all the tests!!! * lint * comment * rm'ed commented code * cache size to 1000 should be good enough * optimized base reward * revert binary file * Added comments to calculate adjusted quotient outside * removed deprecated configs (#2755) * Optimize Process Eth1 Data Vote (#2754) * Cleanup and Docs update (#2756) * Add graffiti and update generate seed (#2759) * Benchmark Process Block with Attestations (#2758) * Tidying up Godoc for Core Package (#2762) * Clean up Old RPC Endpoints (#2763) * Update RPC end point for Proposer (#2767) * add RequestBlock * run mockgen * implemented RequestBlock * updated proto definitions * updated tests * updated validator attest tests * done * comment * todo issue * removed unused proto * Update attesting indices v0.6 (#2449) * sort participants slice * add bitfield functions and tests * added BitfieldBit test * add AttestationParticipantsNew * revert AttestationParticipants to its previous change * add tests * remove verifybitfieldnew * fix tests and remove multiple tests * remove duplicate test * change magic number into ceildiv8 * Implement Justification and finalization Processing (#2448) * Add convert to indexed (#2519) * sort participants slice * add bitfield functions and tests * added BitfieldBit test * add AttestationParticipantsNew * revert AttestationParticipants to its previous change * add tests * remove verifybitfieldnew * fix tests and remove multiple tests * remove duplicate test * start work * convert attestation to indexed attestations * fix test for convert index * remove calling getter * add more tests * remove underscore * changes name to signature (#2535) * update registry updates func (#2521) * update registry updates func * added tests and moved to epoch processing * fixed naming issues * Update Committee Helpers to v0.6.0 (#2398) * Update Committee Helper Part 2 (#2592) * Implement Process Slashings for 0.6 (#2523) * Update Proposer/Attester Slashings and Slashing Helpers (#2603) * Implement Final Updates 0.6 (#2562) * ValidatorStatus Estimating Activation RPC Server (#2469) * fix spacing * working on position in queue * fmt * spacing * feedback * tests * rename * Only Perform Initial Sync With a Single Peer (#2471) * fix spacing * use send instead of broadcast in initial sync * 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> * SSZ web api for decoding input data (#2473) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * standardize slot numbers (#2475) * Add CORS for ssz api (#2476) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * needed CORS * 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 * Update Prysm README (#2477) * README updated * readme updates * no err throw (#2479) * Fix Status Nil Pointer Error (#2480) * no err throw * nil errors * 3.175 (#2482) * Better Error Message if Failing to Exit Initial Sync (#2483) * no err throw * nil errors * better error on init sync * Only Log Active Balances (#2485) * only log active balance * dont need () * change logging (#2487) * fix chainstart waiting on rpc server (#2488) * shift ticker to after activation (#2489) * Add drain script (#2418) * Add drain script * Fix script to drain contracts from newest to oldest * Add README * remove comments * Only after block 400k, look up by deposit event * issue warn log on disconnecting peer instead of error (#2491) * Display Only Active Validator Data (#2490) * Fix Validator Status Field in RPC Server (#2492) * fix status of key * status test fix * fmt * 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 * add production config for testnet release (#2493) * Lookup Validator Index in State in Status Check (#2494) * state lookup * refactor duplicate code * refactor with mapping * fix broken tests * finish refactor * merged master * updated EpochCommitteeCount and fixed tests * implemented ShardDelta * test for ShardDelta * implemented EpochStartShard * added epoch out of bound test * test for accurate start shard * lint * implemented process_final_updates * move to the top of the file * add comment back * gaz * Test for process final updates * fixed tests * fixed all the tests * Update Reward Helper v0.6 (#2470) * added BaseReward * added rewards helper * added test for BaseReward * extra space * move exported function above * update to new spec (#2614) * Update Block Processing Voluntary Exits (#2609) * Update processEth1Data for v0.6 (#2516) * Clean up Helper Functions Part 1 (#2612) * Finalize helper functions for 0.6 (#2632) * Process Beacon Chain Transfers v0.6 (#2642) * add transfers * beacon transfer operations complete * full cov * transfer testing * finished tests * Update beacon-chain/core/blocks/block_operations_test.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * Update beacon-chain/core/blocks/block_operations.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * Implement Process Crosslink From 0.6 (#2460) * Process Block Eth1 Data v0.6 (#2645) * Get attestation data slot v0.6 (#2593) * attestation.go is ready, tests not * ready for review * fixing linter issues * modified Crosslink and AttestationData proto fields to spec 2.0,marked deprecated fields * gazelle * fixed tests * fixed error * error msg * Process Block Deposits v0.6 (#2647) * imports fixes * deposits tests pass * wrapped up gazelle * spacing * Implement Crosslink Delta Rewards for 0.6 (#2517) * update process crosslink and update existing tests * added a test case to cover no crosslink changes * more test * preston's feedback * spellings * ValidatorStatus Estimating Activation RPC Server (#2469) * fix spacing * working on position in queue * fmt * spacing * feedback * tests * rename * Only Perform Initial Sync With a Single Peer (#2471) * fix spacing * use send instead of broadcast in initial sync * 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> * SSZ web api for decoding input data (#2473) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * standardize slot numbers (#2475) * Add CORS for ssz api (#2476) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * needed CORS * 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 * Update Prysm README (#2477) * README updated * readme updates * no err throw (#2479) * Fix Status Nil Pointer Error (#2480) * no err throw * nil errors * 3.175 (#2482) * Better Error Message if Failing to Exit Initial Sync (#2483) * no err throw * nil errors * better error on init sync * Only Log Active Balances (#2485) * only log active balance * dont need () * change logging (#2487) * fix chainstart waiting on rpc server (#2488) * shift ticker to after activation (#2489) * Add drain script (#2418) * Add drain script * Fix script to drain contracts from newest to oldest * Add README * remove comments * Only after block 400k, look up by deposit event * issue warn log on disconnecting peer instead of error (#2491) * Display Only Active Validator Data (#2490) * Fix Validator Status Field in RPC Server (#2492) * fix status of key * status test fix * fmt * 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 * add production config for testnet release (#2493) * Lookup Validator Index in State in Status Check (#2494) * state lookup * refactor duplicate code * refactor with mapping * fix broken tests * finish refactor * merged master * Starting, I need get_epoch_start_shard * updated EpochCommitteeCount and fixed tests * implemented ShardDelta * test for ShardDelta * implemented EpochStartShard * added epoch out of bound test * test for accurate start shard * lint * need to use changes from latest crosslinks * added BaseReward and totalActiveBalance * added test for base reward * merged master * all tests passing * start testing * done * add ProcessBlockHeader v0.6 (#2534) * add ProcessBlockHeader * function has all its dependancies in place * arange the basic ok test * gazzele and skip test update * skip wrong sig test * fmt imports and change requests * goimports fmt * map for struct fields to be location independent * reorder protobuf fields * added tests * gazzle fix * few change requests fixes * revert changes in types.proto * revert changes in types * fix tests * fix lint * fmt imports * fix gazelle * fix var naming * pb update * var naming * tarance change request fixes * fix test * Add Process Registry for Epoch Processing (#2668) * update update-process-registry * added back the old tests * fmt * gaz * Follow up on process block header v0.6 (#2666) * Putting Crosslink Delta Back (#2654) * update process crosslink and update existing tests * added a test case to cover no crosslink changes * more test * preston's feedback * spellings * ValidatorStatus Estimating Activation RPC Server (#2469) * fix spacing * working on position in queue * fmt * spacing * feedback * tests * rename * Only Perform Initial Sync With a Single Peer (#2471) * fix spacing * use send instead of broadcast in initial sync * 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> * SSZ web api for decoding input data (#2473) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * standardize slot numbers (#2475) * Add CORS for ssz api (#2476) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * needed CORS * 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 * Update Prysm README (#2477) * README updated * readme updates * no err throw (#2479) * Fix Status Nil Pointer Error (#2480) * no err throw * nil errors * 3.175 (#2482) * Better Error Message if Failing to Exit Initial Sync (#2483) * no err throw * nil errors * better error on init sync * Only Log Active Balances (#2485) * only log active balance * dont need () * change logging (#2487) * fix chainstart waiting on rpc server (#2488) * shift ticker to after activation (#2489) * Add drain script (#2418) * Add drain script * Fix script to drain contracts from newest to oldest * Add README * remove comments * Only after block 400k, look up by deposit event * issue warn log on disconnecting peer instead of error (#2491) * Display Only Active Validator Data (#2490) * Fix Validator Status Field in RPC Server (#2492) * fix status of key * status test fix * fmt * 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 * add production config for testnet release (#2493) * Lookup Validator Index in State in Status Check (#2494) * state lookup * refactor duplicate code * refactor with mapping * fix broken tests * finish refactor * merged master * Starting, I need get_epoch_start_shard * updated EpochCommitteeCount and fixed tests * implemented ShardDelta * test for ShardDelta * implemented EpochStartShard * added epoch out of bound test * test for accurate start shard * lint * need to use changes from latest crosslinks * added BaseReward and totalActiveBalance * added test for base reward * merged master * all tests passing * start testing * done * fixed tests * addressed shay's feedback * Implement Attestation Delta for v0.6 (#2646) * update process crosslink and update existing tests * added a test case to cover no crosslink changes * more test * preston's feedback * spellings * ValidatorStatus Estimating Activation RPC Server (#2469) * fix spacing * working on position in queue * fmt * spacing * feedback * tests * rename * Only Perform Initial Sync With a Single Peer (#2471) * fix spacing * use send instead of broadcast in initial sync * 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> * SSZ web api for decoding input data (#2473) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * standardize slot numbers (#2475) * Add CORS for ssz api (#2476) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * needed CORS * 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 * Update Prysm README (#2477) * README updated * readme updates * no err throw (#2479) * Fix Status Nil Pointer Error (#2480) * no err throw * nil errors * 3.175 (#2482) * Better Error Message if Failing to Exit Initial Sync (#2483) * no err throw * nil errors * better error on init sync * Only Log Active Balances (#2485) * only log active balance * dont need () * change logging (#2487) * fix chainstart waiting on rpc server (#2488) * shift ticker to after activation (#2489) * Add drain script (#2418) * Add drain script * Fix script to drain contracts from newest to oldest * Add README * remove comments * Only after block 400k, look up by deposit event * issue warn log on disconnecting peer instead of error (#2491) * Display Only Active Validator Data (#2490) * Fix Validator Status Field in RPC Server (#2492) * fix status of key * status test fix * fmt * 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 * add production config for testnet release (#2493) * Lookup Validator Index in State in Status Check (#2494) * state lookup * refactor duplicate code * refactor with mapping * fix broken tests * finish refactor * merged master * Starting, I need get_epoch_start_shard * updated EpochCommitteeCount and fixed tests * implemented ShardDelta * test for ShardDelta * implemented EpochStartShard * added epoch out of bound test * test for accurate start shard * lint * need to use changes from latest crosslinks * added BaseReward and totalActiveBalance * added test for base reward * implemented process_attestation_delta * comments * comments * merged master * all tests passing * start testing * done * merged master * fixed tests * tests, more to come * tests done * lint * spaces over tabs * addressed shay's feedback * merged master * Implement process_rewards_and_penalties for 0.6 (#2665) * update process crosslink and update existing tests * added a test case to cover no crosslink changes * more test * preston's feedback * spellings * ValidatorStatus Estimating Activation RPC Server (#2469) * fix spacing * working on position in queue * fmt * spacing * feedback * tests * rename * Only Perform Initial Sync With a Single Peer (#2471) * fix spacing * use send instead of broadcast in initial sync * 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> * SSZ web api for decoding input data (#2473) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * standardize slot numbers (#2475) * Add CORS for ssz api (#2476) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * needed CORS * 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 * Update Prysm README (#2477) * README updated * readme updates * no err throw (#2479) * Fix Status Nil Pointer Error (#2480) * no err throw * nil errors * 3.175 (#2482) * Better Error Message if Failing to Exit Initial Sync (#2483) * no err throw * nil errors * better error on init sync * Only Log Active Balances (#2485) * only log active balance * dont need () * change logging (#2487) * fix chainstart waiting on rpc server (#2488) * shift ticker to after activation (#2489) * Add drain script (#2418) * Add drain script * Fix script to drain contracts from newest to oldest * Add README * remove comments * Only after block 400k, look up by deposit event * issue warn log on disconnecting peer instead of error (#2491) * Display Only Active Validator Data (#2490) * Fix Validator Status Field in RPC Server (#2492) * fix status of key * status test fix * fmt * 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 * add production config for testnet release (#2493) * Lookup Validator Index in State in Status Check (#2494) * state lookup * refactor duplicate code * refactor with mapping * fix broken tests * finish refactor * merged master * Starting, I need get_epoch_start_shard * updated EpochCommitteeCount and fixed tests * implemented ShardDelta * test for ShardDelta * implemented EpochStartShard * added epoch out of bound test * test for accurate start shard * lint * need to use changes from latest crosslinks * added BaseReward and totalActiveBalance * added test for base reward * implemented process_attestation_delta * comments * comments * merged master * all tests passing * start testing * done * merged master * fixed tests * tests, more to come * tests done * lint * spaces over tabs * addressed shay's feedback * starting but need to merge a few things... * tests * fmt * Update Slot Processing and State Transition v0.6 (#2664) * edit state transition to add slot processing logic, reorder logic * fix build * lint * tests passing * spacing * tests pass * imports * passing tests * Implement Process Epoch for 0.6 (#2675) * can't find process j f functons * implemented process_epoch * tests done * lint * nishant's feedback * stupid goland replace * goimports * Update CommitteeAssignment (#2693) * cleaned up skipped tests for core processing (#2697) * Process Block Attestations v0.6 (#2650) * attestation.go is ready, tests not * ready for review * fixing linter issues * modified Crosslink and AttestationData proto fields to spec 2.0,marked deprecated fields * gazelle * fixed tests * fixed error * add att processing: * process atts * error msg * finish process attestations logic * spacing * ssz move * inclusion delay failure passing * more attestation tests * more att tests passing * more tests * ffg data mismatching test * ffg tests complete * gofmt * fix testing to match attestation updates * ssz * lint * Fixed Skipped Tests for RPC Server (#2712) * Remove Obsolete Deposit Proto Objects (#2673) * remove deposit data * remove deposit input * fix references * remove deposit helpers * fix all refs * gaz * rgene proto * fix all tests * remove deposit data deprecated field * fix remaining references * fix all tests * fix lint * regen proto * fix test * Remove Deprecated Protobuf State Fields (#2713) * Remove Deprecated Protobuf Crosslink/Slashing/Block Fields (#2714) * Remove Deprecated Beacon Block Proto Fields (#2717) * Remove Deprecated Attestation Proto Fields (#2723) * Cache Shuffled Validator Indices (#2682) * YAML shuffle tests for v0.6 (#2667) * new shuffle tests * added comment for exported function * fix format and print * added config files handling * gazelle fix * shuffle test debugging * added shuffle list and benchmark * hash function addition from nishant code * gazelle fix * remove unused function * few minor changes * add test to test protos optimization * test a bigger list * remove commented code * small changes * fix spec test and test indices to pass * remove empty line * abstraction of repeated code and comment arrangement * terence change requests * fix new test * add small comment for better readability * change from unshuflle to shuffle * comment * better comment * fix all tests * Remove Latest Block (#2721) * lint * remove latest block * lint * add proto * fix build * Fix Deposit Trie (#2686) * remove deposit data * remove deposit input * fix references * remove deposit helpers * fix all refs * gaz * rgene proto * fix all tests * remove deposit data deprecated field * fix remaining references * fix all tests * fix lint * new tests with contract * gaz * more tests * fixed bugs * new test * finally fixed it * gaz * fix test * Remove Committee Cache (#2729) * Benchmark Compute Committee (#2698) * Fixed Skipped Attestation Tests (#2730) * Optimize Shuffled Indices Cache (#2728) * Refactor Deposit Contract Test Setup (#2731) * add new package * fix all tests * lint * change hash function (#2732) * Remove Deprecated Validator Protobuf (#2727) * Remove deprecated validator protos * Fix to comments * Fix most of skipped tests (#2735) * Optimize Base Reward Calculation (#2753) * benchmark process epoch * revert prof.out * Add some optimizations * beware where we use ActiveValidatorIndices... * revert extra file * gaz * quick commit to get feedback * revert extra file * started fixing tests * fixed broken TestProcessCrosslink_NoUpdate * gaz * cache randao seed * fixed all the tests * fmt and lint * spacing * Added todo * lint * revert binary file * started regression test * basic tests done * using a fifo for active indices cache * using a fifo for active count cache * using a fifo for total balance cache * using a fifo for active balance cache * using a fifo for start shard cache * using a fifo for seed cache * gaz * clean up * fixing tests * fixed all the core tests * fixed all the tests!!! * lint * comment * rm'ed commented code * cache size to 1000 should be good enough * optimized base reward * revert binary file * Added comments to calculate adjusted quotient outside * removed deprecated configs (#2755) * Optimize Process Eth1 Data Vote (#2754) * Cleanup and Docs update (#2756) * Add graffiti and update generate seed (#2759) * Benchmark Process Block with Attestations (#2758) * Tidying up Godoc for Core Package (#2762) * Clean up Old RPC Endpoints (#2763) * Update RPC end point for Proposer (#2767) * add RequestBlock * run mockgen * implemented RequestBlock * updated proto definitions * updated tests * updated validator attest tests * done * comment * todo issue * removed unused proto * Cache Active Validator Indices, Count, and Balances (#2737) * Update Deposit Contract (#2648) * lint * add new contract * change version * remove log * generating abi and binary files * fix tests * update to current version * new changes * add new hash function * save hashed nodes * add more things * new method * add update to trie * new stuff * gaz * more stuff * finally fixed build * remove deposit data * Revert "remove deposit data" This reverts commit 9085409e91be0c94550af10290eaad72ad40a6de. * more changes * lint and gaz * lint * Update Shard Helpers for 0.6 (#2497) * ValidatorStatus Estimating Activation RPC Server (#2469) * fix spacing * working on position in queue * fmt * spacing * feedback * tests * rename * Only Perform Initial Sync With a Single Peer (#2471) * fix spacing * use send instead of broadcast in initial sync * 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> * SSZ web api for decoding input data (#2473) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * standardize slot numbers (#2475) * Add CORS for ssz api (#2476) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * needed CORS * 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 * Update Prysm README (#2477) * README updated * readme updates * no err throw (#2479) * Fix Status Nil Pointer Error (#2480) * no err throw * nil errors * 3.175 (#2482) * Better Error Message if Failing to Exit Initial Sync (#2483) * no err throw * nil errors * better error on init sync * Only Log Active Balances (#2485) * only log active balance * dont need () * change logging (#2487) * fix chainstart waiting on rpc server (#2488) * shift ticker to after activation (#2489) * Add drain script (#2418) * Add drain script * Fix script to drain contracts from newest to oldest * Add README * remove comments * Only after block 400k, look up by deposit event * issue warn log on disconnecting peer instead of error (#2491) * Display Only Active Validator Data (#2490) * Fix Validator Status Field in RPC Server (#2492) * fix status of key * status test fix * fmt * 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 * add production config for testnet release (#2493) * Lookup Validator Index in State in Status Check (#2494) * state lookup * refactor duplicate code * refactor with mapping * fix broken tests * finish refactor * merged master * updated EpochCommitteeCount and fixed tests * implemented ShardDelta * test for ShardDelta * implemented EpochStartShard * added epoch out of bound test * test for accurate start shard * lint * Update Genesis State Function to v0.6 (#2465) * add pseudocode * make changes * fix all tests * fix tests * lint * regen protos and mocks * regenerated protos * started fixing core * all core tests passing! * removed shared/forkutils * started fixing blockchain package * lint * updating rpc package * add back deleted stuff * add back deleted stuff that was deleted accidentally * add back protos and mocks * fix errors * fix genesis issue * fix genesis issue for slot ticker * fix all genesis errors * fix build files * temp change for go-ssz * fix test * Revert "temp change for go-ssz" This reverts commit 3411cb9d6d519cb521181486debc3b21603c8873. * update to latest go-ssz * unstaged changes * Update Attester Server RPC Calls (#2773) * Update config and function parameters to v0.7 (#2791) * Minor Updates to 0.7 (#2795) * Refactor Deposit Flow and Cleanup Tests (#2788) * More WIP on cleaning deposit flow * Fix tests * Cleanup and imports * run gazelle * Move deposit to block_operations * gazelle * Update beacon-chain/core/blocks/block_operations.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * Fix docs * Remove unneeded calculations * Fix tests * Fix tests finally (?) * Optimize Committee Assignment RPC (#2787) * Update BlockRoot to BlockHash (#2816) * Fix Final Missing Items in Block Processing v0.6 (#2710) * override config successfully * passes processing * add signing root helper * blockchain tests pass * tests blocked by signing root * lint * fix references * fix protos * proper use of signing root * only few failing tests now * fix final test * tests passing * lint and imports * rem unused * Update beacon-chain/core/blocks/block_operations.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * lint * Update beacon-chain/attestation/service_test.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * Update beacon-chain/db/block_test.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * rename to hash tree root * rename decode to unmarshal * fix * use latest ssz * all tests passing * lint * fmt * Add Config YAML for Spec Tests (#2818) * Align Protobuf Type Names (#2825) * gofmt * Revert "Align Protobuf Type Names (#2825)" (#2827) This reverts commit 882d067144c674bbf4eeee00404acaa0a9b1fd33. * Update Domain Related Functions (#2832) * Add Functions for Compressed and Uncompressed HashG2 With Domain (#2833) * add tests * gaz * lint * Revert "Add Functions for Compressed and Uncompressed HashG2 With Domain (#2833)" (#2835) This reverts commit 7fb2ebf3f12f043d7bd12f43500dc2bd133df573. * Add ConvertToPb to package testutil (#2838) * Block Processing Bug Fixes (#2836) * Update types PB with Size Tags (#2840) * Epoch processing spec tests (#2814) * Remove Deposit Index (#2851) * Shuffle tests revisited (#2829) * first commit * remove old files, add log * remove duplicate yaml testing code * reduce visability * nishant feedback changes * skip TestFromYaml_Pass * added tags to bazel build * gazelle fix * remove unused vars * adda back config * remove config handling * remove unused var * gazelle fix * SSZ compatibility test for protobufs (#2839) * update workspace spec sha * remove yamls from branch * BLS spec tests (#2826) (#2856) * bls spec tests * add more bls tests * use ioutil instead of bazel runfiles * dont read bytes * skip tests that overflow uint64 * manually fix input data * add tests * lint and gaz * add all new changes * some refactoring, cleanup, remove new API methods that only exist for tests * gaz * Remove yamls, skip test * Slot processing spec test (#2813) * eth1data rpc endpoint (#2733) * eth1data rpc endpoint * first version * comment added * gazelle fix * new function to go once over the deposit array * fix tests * export DepositContainer * terence feedback * move structure decleration * binary search * fix block into Block * preston feedback * keep slice sorted to remove overhead in retrival * merge changes * feedback * update to the latest go-ssz * revert change * chnages to fit new ssz * revert merge reversion * go fmt goimprts duplicate string * exception for lint unused doesParentExist * feedback changes * latesteth1data to eth1data * goimports and stop exposing Eth1Data * revert unneeded change * remove exposure of DepositContainer * feedback and fixes * fix workspace duplicate dependancy * greatest number of deposits at current height * add count votes function * change method name * revert back to latesteth1data * latesteth1data * preston feedback * seperate function add tests fix bug * stop exposing voteCountMap * eth1data comment fix * preston feedback * fix tests * new proto files * workspace to default version of ssz * new ssz * chnage test size * marshalled marshaled * Attesting Indices Fix (#2862) * add change * fix one test * fix all tests * add test * clear cache * removed old chaintest, simulated backend and state generator (#2863) * Block Processing Sanity Spec Tests (#2817) * update PrevEpoch * add new changes * shift to blocks package * add more changes * new changes * updated pb with size tags * add new changes * fix errors * uncomment code * more changes * add new changes * rename and lint * gaz * more changes * proccess slot SigningRoot instead of HashTreeRoot * ensure yaml generated structs work * block sanity all passing * minimal and mainnet all pass * remove commented code * fix one test * fix all tests * fix again * no state comparison * matching spec * change target viz * comments gazelle * clear caches before test cases * latest attempts * clean up test format * remove debugging log, remove yaml * unskip attestation * remove skip, check post state, diff state diffs * handle err * add bug fixes * fixed one more bug * fixed churn limit bug * change hashProto to HashTreeRoot * all tests pass :) * fix all tests * gaz * add regression tests * fix test bug * Mutation testing fixes for beacon-chain/core/helpers/attestation.go (#2868) * mutation testing for attestation.go * new line * lint * revert fmt.Errorf deletion * gofmt * Add some fixes for mutation testing on blocks.go (#2869) * Fix sizes * gaz * Spec freeze release candidate spectests * Align Protobuf Type Names (#2872) * Removes some deprecated fields from protobuf (#2877) * search and replace checkpoints * fix tests, except spec tests * Update Configs for Freeze (#2876) * update configs * updated minimal configs * almost there * all tests passing except for spec tests * better comment for MinGenesisTime * done, ready for review * rm seconds per day * feedback * Mutation testing fixes for beacon-chain/core/helpers/committee.go (#2870) * Add some fixes for mutation testing on blocks.go * working on mutation testing fo committee.go * gofmt * goimports * update readme target * update latest sha for spec tests * fix build * Update State Transition Function (#2867) * Change Base Reward Factor (#2888) * Update Freeze Spec Simplification Section - part 1 (#2893) * finished changes to attesting_indices * removed index_count <= 2**40 requirement * lint * reverted index_count <= 2**40 check * added short cut len(a) > len(b) * Update justification bits (#2894) * updated all the helper pseudocodes (#2895) * Make Constants Explicit and Minor Cleanups (#2898) * Rename outdated configs, make constants explicitly delcared * Remove activate_validator, not needed * Remove GenesisSlot and GenesisEpoch * Remove unused import * Move Block Operation Length Checks to ProcessOperations (#2900) * Move block operation length checks to ProcessOperations * Write tests for each length check in ProcessOperations * Remove unneeded test * Move checks to a new function * Move duplicate check back into ProcessOperations * reorder proto fields (#2902) * Slashing Penalty Calculation Change (#2889) * lint * change config val * add max helper * changes to slashing and process slashing, add a min function for integers * gaz * fix failing tests * fix test * fixed all tests * Change Yaml tag * lint * remove gc hack * fix test * gaz * preston's comments * change failing field * fix and regen proto * lint * Implement Compact Committee Root (#2897) * add tags * add function * add new code * add function * add all new changes * lint * add tests * fix tests * fix more tests * fix all outstanding tests * gaz * Update beacon-chain/core/helpers/committee.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * comment * Remove deprecated fields from attestation data (#2892) * fix broken tests * remove comment * fixes * Update Deposit Contract (#2903) * update to new contract * fix references * fix tests * fix some more tests * fix local deposit trie * gaz * shays review * more changes * update WORKSPACE to use 0.8 spec tests * Perform Mutesting in Helpers Package (#2912) * Perform mutesting on validator * Mutesting in helpers package * Mutested eth1data * s/volundary/voluntary (#2914) * Update BLS Domain (#2916) * change from integer to byte slice * add test * fix func for bytes4 * Fix Spec tests (#2907) * fix panics * handle failed transitions * remove log * fix to protos * new changes * remove i * change ssz commit * new changes * update epoch tests * fix epoch testing * fix shuffle tests * fix test * Perform Mutesting in Epoch and State Packages (#2913) * done with updates (#2890) * Add Max Size Tag for Protobuf Fields (#2908) * No more space between ssz-size numbers * Regen pb.go * Fixed a few incorrect proto fields (#2926) * Update Validator Workflow (#2906) * Justification spec tests (#2896) * update go-ssz * Fix SSZ Compatibility Test (#2924) * figuring out how to seqeeze in multiple fields in a tag for pb * Added max tags and regenerated pb.go * updated to new standard * New bitfield types in proto (#2915) * Cast bytes to correct bitfield, failing tests now though * Add forked gogo/protobuf until https://github.com/gogo/protobuf/pull/582 * remove newline * use proper override for gogo-protobuf * fix a few tags * forgot to include custody bits and Slashable not used * Update yaml struct to use pb * Update workspace to use latest ssz * All tests fail * Use the latest go-ssz commit * All pass except for state (too long to taste) * Update test.proto * Added rest of the tests * use 1 justification bits * fix tag test, apply @rauljordan's suggestion * add IsEmpty and use ssz struct * delete unused file * Update zero hash to sha256().digest() (#2932) * update zero hash * change zero hash to conform with spec * goimports * add test for zero hash * Revert "Update zero hash to sha256().digest() (#2932)" (#2933) This reverts commit b926ae0667b18aef3f7e0e8ec8a9b3e98b3d2ccc. * Fix compress validator (#2936) * fix compress validator * update go-ssz * build without the bytes test * try minimal * Block operations spec tests (#2828) * update PrevEpoch * debugging proposer slashing tests * fmt * add deposit tests * Added skeleton for attestation minimal test * remove bazel runfiles thing * add deposits * proposer slashing test is done * comment * complete test, some failing cases * sig verify on * refactor slightly to support mainnet and minimal * included mainnet stuff * Add block header tests * volunary exit done * transfer done * new changes * fix all tests * update domain functions * fmt * fixed lint * fixed all the tests * fixed a transfer bug * finished attester slashing tests and fixed a few bugs * started fixing... * cleaned up exit and proposr slashing tests * attester slashing passing * refactored deposit tests * remove yamls, update ssz * Added todo for invalid sig * gazelle * deposits test done! * transfer tests done and pass! * fix attesting indices bug * temporarily disabled signature verification * cleaned up most of the block ops, except for att * update committee AttestingIndices * oops, i dont know how or why i changed this file * fixed all the rpc tests * 6 more failing packages * test max transfer in state package * replace hashproto with treehash in package blockchain * gazelle * fix test * fix test again * fixed transition test, 2 more left * expect an error in attestation tests * Handle panic when no votes in aggregate attestation * clear cache * Add differ, add logging, tests pass yay * remove todo, add tag * fixed TestReceiveBlock_RemovesPendingDeposits * TestAttestationMinimal/success_since_max_epochs_per_crosslink fails now... * handle panics * Transfer tests were disabled in https://github.com/ethereum/eth2.0-specs/pull/1238 * more fixes after merge, updating block_operations.yaml.go to match yaml * figuring out how to seqeeze in multiple fields in a tag for pb * Added max tags and regenerated pb.go * updated to new standard * New bitfield types in proto (#2915) * Cast bytes to correct bitfield, failing tests now though * Add forked gogo/protobuf until https://github.com/gogo/protobuf/pull/582 * remove newline * fix references and test panic * change to proto objects from custom types * fix panics in tests * use proper override for gogo-protobuf * fix a few tags * fix tests * forgot to include custody bits and Slashable not used * fix tests * sort again * Update yaml struct to use pb * Update workspace to use latest ssz * All tests fail * Use the latest go-ssz commit * All pass except for state (too long to taste) * Update test.proto * Added rest of the tests * use 1 justification bits * minor fixes * wrong proto.Equal * fix tag test, apply @rauljordan's suggestion * add IsEmpty and use ssz struct * inverted logic * update zero hash * change zero hash to conform with spec * goimports * add test for zero hash * Revert "Update zero hash to sha256().digest() (#2932)" This reverts commit b926ae0667b18aef3f7e0e8ec8a9b3e98b3d2ccc. * update ssz, fix import, shard big test * checkpoint * fix compress validator * update go-ssz * missing import * missing import * tests now pass * been a good day * update test size * fix lint * imports and remove unused const * update bazel jobs flag * update bazel jobs flag * satisfy deprecation warning * Add ssz regression tests for investigation of test failures in PR #2828 (#2935) * Adding regression tests for investigation * add another example * goimports * add quick comment about test case 0 * Epoch Process Slashings Spec Tests (#2930) * updated justification bits, tests passing OK * regen pb.go, clarify bit operations * justification and finalization tests; failing * Add wrapper, so we call the correct method * checkpoint * Update tar ref * TestSlashingsMinimal/small_penalty still failing * Use bigint instead of () and float * Revert a bad merge from workspace * Fmt * add note about https://github.com/ethereum/eth2.0-specs/issues/1284 * improve tests * gaz * Perform Mutesting In core/state Package (#2923) * Perform mutesting on validator * Mutesting in helpers package * Mutested eth1data * Perform mutesting in epoch and state packages * Fix voluntary exits test * Fix typo * Fix comments * Fix formatting * Fix error message * Handle missing errors * Handle all errors * Perform Mutesting In State Package * Fix block roots size * Remove comment * Fix error * add backend service * Add ssz compatibility tests for signing root (#2931) * Added tests for signing root * imports * fix lint on travis * fix bes flag * Final updates spec tests (#2901) * set up tests * need to reorder pbs * figuring out how to seqeeze in multiple fields in a tag for pb * Added max tags and regenerated pb.go * updated to new standard * New bitfield types in proto (#2915) * Cast bytes to correct bitfield, failing tests now though * Add forked gogo/protobuf until https://github.com/gogo/protobuf/pull/582 * remove newline * use proper override for gogo-protobuf * fix a few tags * forgot to include custody bits and Slashable not used * playing with tags idea, can revert this commit later * fixes after merge * reset caches before test * all epoch tests pass * gazelle * Genesis trigger (#2905) * genesis change * integrate changes * bodyroot * remove unused code * HasChainStarted * added isValidGenesisState to ProcessLog * state fix * fix gazelle * uint64 timestamp * SetupInitialDeposits adds proof * remove unneeded parts of test * deposithash * merkleproof from spec utils * Revert "merkleproof from spec utils" This reverts commit 1b0a124352e7b62e3c3220fb0d64e295b474b430. * fix test failures * chain started and hashtree root in tests * simple eth2genesistime * eth2 genesis time * fix zero time * add comment * remove eth1data and feedback * fix build issues * main changes: add fields and methods to track active validator count * gaz * fix test * fix more tests * improve test utils * shift spec method to state package, improve test setup * fixed log processing tests * remove log * gaz * fix invalid metric * use better tag names, not latest * Remove Block Signing Root (#2945) * replace with hash tree root * Revert "replace with hash tree root" This reverts commit 77d8f16a160e42f3c3d598df66c30a66657de1bf. * replace with signing root instead * remove one more ref * Create Test Runner for Genesis State Spec Tests (#2940) * genesis change * integrate changes * bodyroot * remove unused code * HasChainStarted * added isValidGenesisState to ProcessLog * state fix * fix gazelle * uint64 timestamp * SetupInitialDeposits adds proof * remove unneeded parts of test * deposithash * merkleproof from spec utils * Revert "merkleproof from spec utils" This reverts commit 1b0a124352e7b62e3c3220fb0d64e295b474b430. * fix test failures * chain started and hashtree root in tests * simple eth2genesistime * eth2 genesis time * fix zero time * add comment * remove eth1data and feedback * fix build issues * main changes: add fields and methods to track active validator count * gaz * fix test * fix more tests * improve test utils * Start genesis spec tests * shift spec method to state package, improve test setup * Add Genesis validity spec test * Bazel * fixed log processing tests * remove log * gaz * fix invalid metric * use json tags * fix up latest changes * Fix most of test errors * Attempts to see whats wrong with genesis validity * Fix merge * skip minimal * fix state test * new commit * fix nishant comment * gaz * Static check on branch spec-v0.6 (#2946) * Ran staticcheck and fixed the important complains * commit * commit * Create Test Runner for Genesis State Spec Tests (#2940) * genesis change * integrate changes * bodyroot * remove unused code * HasChainStarted * added isValidGenesisState to ProcessLog * state fix * fix gazelle * uint64 timestamp * SetupInitialDeposits adds proof * remove unneeded parts of test * deposithash * merkleproof from spec utils * Revert "merkleproof from spec utils" This reverts commit 1b0a124352e7b62e3c3220fb0d64e295b474b430. * fix test failures * chain started and hashtree root in tests * simple eth2genesistime * eth2 genesis time * fix zero time * add comment * remove eth1data and feedback * fix build issues * main changes: add fields and methods to track active validator count * gaz * fix test * fix more tests * improve test utils * Start genesis spec tests * shift spec method to state package, improve test setup * Add Genesis validity spec test * Bazel * fixed log processing tests * remove log * gaz * fix invalid metric * use json tags * fix up latest changes * Fix most of test errors * Attempts to see whats wrong with genesis validity * Fix merge * skip minimal * fix state test * new commit * fix nishant comment * gaz * Add Back Eth1Data After Bad Merge (#2953) * eth1data rpc endpoint * first version * comment added * gazelle fix * new function to go once over the deposit array * fix tests * export DepositContainer * terence feedback * move structure decleration * binary search * fix block into Block * preston feedback * keep slice sorted to remove overhead in retrival * merge changes * feedback * update to the latest go-ssz * revert change * chnages to fit new ssz * revert merge reversion * go fmt goimprts duplicate string * exception for lint unused doesParentExist * feedback changes * latesteth1data to eth1data * goimports and stop exposing Eth1Data * revert unneeded change * remove exposure of DepositContainer * feedback and fixes * fix workspace duplicate dependancy * greatest number of deposits at current height * add count votes function * change method name * revert back to latesteth1data * latesteth1data * preston feedback * seperate function add tests fix bug * stop exposing voteCountMap * eth1data comment fix * preston feedback * fix tests * new proto files * workspace to default version of ssz * new ssz * chnage test size * marshalled marshaled * everything passing again * add skip reason * cleanup deposit contract slightly * remove unused chainstart param (#2957) * fix breakages from #2957 (#2958) * fix breakages from #2957 * oops * Fix deposit input data (#2956) * fix deposit input data * fix deposit input data * gaz and build fix * Add Tests for Genesis Deposits Caching (#2952) * remove old method and replace with an improved one * add new files * gaz * add test * added all these tests * gaz * Apply suggestions from code review Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * fix merkle proof error * fix config * Minor fixes for runtime (#2960) * Minor fixes for runtime * use comments * goimports * revert beacon-chain/core/state/state.go and fix comment for lint * fix test too * Minor runtime fixes (#2961) * Add support for bundling binaries and fix ARM64 builds (#2970) * Add support for bundling binaries and fix ARM64 builds * Fix exports * ignore manual targets wrt vis check * fix graknlabs * update spec tests (#2979) * hotfix until https://github.com/graknlabs/bazel-distribution/pull/169 * Overflow slashing calculation fix (#2977) * Runtime Fixes (#2736) * first batch of fixes * add log * more fixes * another bug fixed * update deposit contract and other fixes * remove logs * new changes * fixes * fix build * remove config * more fixes * add more changes * add back todo * make compute state root work * remove commented out and fix condition * fix commented code * fix config * gaz * remove flag * remove init * new fixes * fix test * one more fix * fix all tests * change back config * fix one more bug * remove logging bool * Only build test targets when running bazel test //... * Align prysm to spec v0.8.1 (#2978) * Bazel problem * Update zero hash representation to be clear (cosmetic) * Update minor cosmetic fixes * Fixed lookahead off by 1 * Update randao.go * update ssz * test failures fixed * test fixes * fix up workspace * lint * fixed errs * Updated pubkey loggings (#2983) * Fix proposer assignment (#2984) * add jvm limits * add jvm limits * Removed logging from state transition functions (#2980) * Match spec on proposer index division (#2985) * Match spec on proposer index division * gaz * fixes * Fix Default Eth1Data (#2982) * fix bug * Update beacon-chain/core/state/transition.go Co-Authored-By: Raul Jordan <raul@prysmaticlabs.com> * more fixes * reg test * Set ejection balance to 1.6 (#2987) * improve block processing log (#2990) * Fix HistoricalRootsLimit (#2989) * fix historical lenght * fix genesis state initialization and test * fix genesis state initialization and test * fix genesis state initialization and test * fix genesis state initialization and test * hack config until https://github.com/prysmaticlabs/prysm/issues/2993 * More Runtime Fixes (#2986) * local changes * add val sig * attester fix * one more fix * fixed all tests * rem validator issue * fix finality issue (#2994) * Fix validator prev balance calculation (#2992) * attester fix * one more fix * fixed all tests * Fix validator prev balances calculation * go fmt * 48 bytes * Fix Querier to handle Deposit Logs Race (#2999) * fix sync issue * fix build * add regression test * add var for magic number * Fix eth1data and deposits (#2996) * Work in progress, eth1data works, deposits are included at the appropriate time, and activation happens at the correct time * revert blockInfo being public * git tests to build, not yet pass though * add tests * some commentary * fix comment * goimports * fmt and remove unused method * Update rules go (#2975) * update rules_go * Fix some cross compile builds stuff * add missing deps * update to 0.19.1 * Update Protobufs to Match Ethereum APIs (#2998) * add beacon block and attestation files * add all types * include all new proto type definitions * add add all proto definitions * fix all comments to say 48 bytes * include latest changes * readd common * no swag * add build file * deps issue * right package names * address feedback, maintain parity between upstream ethereumapis * delete pb * bad gens * Update "Testing Prysm" readme section (#3000) Resolves invalid url link to golangci-lint. * Update badge to version 0.8.1 * elaborate on test skip * revert shared/p2p/options.go * make travis happy with goimports * Update beacon-chain/core/blocks/block.go Co-Authored-By: Preston Van Loon <preston@prysmaticlabs.com>
2019-07-20 00:16:10 +00:00
// Solidity: event DepositEvent(bytes pubkey, bytes withdrawal_credentials, bytes amount, bytes signature, bytes index)
func (_DepositContract *DepositContractFilterer) FilterDepositEvent(opts *bind.FilterOpts) (*DepositContractDepositEventIterator, error) {
Spec freeze updates (#2312) * Optimize Shuffled Indices Cache (#2728) * Refactor Deposit Contract Test Setup (#2731) * add new package * fix all tests * lint * change hash function (#2732) * Remove Deprecated Validator Protobuf (#2727) * Remove deprecated validator protos * Fix to comments * Fix most of skipped tests (#2735) * Cache Active Validator Indices, Count, and Balances (#2737) * Optimize Base Reward Calculation (#2753) * benchmark process epoch * revert prof.out * Add some optimizations * beware where we use ActiveValidatorIndices... * revert extra file * gaz * quick commit to get feedback * revert extra file * started fixing tests * fixed broken TestProcessCrosslink_NoUpdate * gaz * cache randao seed * fixed all the tests * fmt and lint * spacing * Added todo * lint * revert binary file * started regression test * basic tests done * using a fifo for active indices cache * using a fifo for active count cache * using a fifo for total balance cache * using a fifo for active balance cache * using a fifo for start shard cache * using a fifo for seed cache * gaz * clean up * fixing tests * fixed all the core tests * fixed all the tests!!! * lint * comment * rm'ed commented code * cache size to 1000 should be good enough * optimized base reward * revert binary file * Added comments to calculate adjusted quotient outside * removed deprecated configs (#2755) * Optimize Process Eth1 Data Vote (#2754) * Cleanup and Docs update (#2756) * Add graffiti and update generate seed (#2759) * Benchmark Process Block with Attestations (#2758) * Tidying up Godoc for Core Package (#2762) * Clean up Old RPC Endpoints (#2763) * Update RPC end point for Proposer (#2767) * add RequestBlock * run mockgen * implemented RequestBlock * updated proto definitions * updated tests * updated validator attest tests * done * comment * todo issue * removed unused proto * Update attesting indices v0.6 (#2449) * sort participants slice * add bitfield functions and tests * added BitfieldBit test * add AttestationParticipantsNew * revert AttestationParticipants to its previous change * add tests * remove verifybitfieldnew * fix tests and remove multiple tests * remove duplicate test * change magic number into ceildiv8 * Implement Justification and finalization Processing (#2448) * Add convert to indexed (#2519) * sort participants slice * add bitfield functions and tests * added BitfieldBit test * add AttestationParticipantsNew * revert AttestationParticipants to its previous change * add tests * remove verifybitfieldnew * fix tests and remove multiple tests * remove duplicate test * start work * convert attestation to indexed attestations * fix test for convert index * remove calling getter * add more tests * remove underscore * changes name to signature (#2535) * update registry updates func (#2521) * update registry updates func * added tests and moved to epoch processing * fixed naming issues * Update Committee Helpers to v0.6.0 (#2398) * Update Committee Helper Part 2 (#2592) * Implement Process Slashings for 0.6 (#2523) * Update Proposer/Attester Slashings and Slashing Helpers (#2603) * Implement Final Updates 0.6 (#2562) * ValidatorStatus Estimating Activation RPC Server (#2469) * fix spacing * working on position in queue * fmt * spacing * feedback * tests * rename * Only Perform Initial Sync With a Single Peer (#2471) * fix spacing * use send instead of broadcast in initial sync * 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> * SSZ web api for decoding input data (#2473) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * standardize slot numbers (#2475) * Add CORS for ssz api (#2476) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * needed CORS * 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 * Update Prysm README (#2477) * README updated * readme updates * no err throw (#2479) * Fix Status Nil Pointer Error (#2480) * no err throw * nil errors * 3.175 (#2482) * Better Error Message if Failing to Exit Initial Sync (#2483) * no err throw * nil errors * better error on init sync * Only Log Active Balances (#2485) * only log active balance * dont need () * change logging (#2487) * fix chainstart waiting on rpc server (#2488) * shift ticker to after activation (#2489) * Add drain script (#2418) * Add drain script * Fix script to drain contracts from newest to oldest * Add README * remove comments * Only after block 400k, look up by deposit event * issue warn log on disconnecting peer instead of error (#2491) * Display Only Active Validator Data (#2490) * Fix Validator Status Field in RPC Server (#2492) * fix status of key * status test fix * fmt * 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 * add production config for testnet release (#2493) * Lookup Validator Index in State in Status Check (#2494) * state lookup * refactor duplicate code * refactor with mapping * fix broken tests * finish refactor * merged master * updated EpochCommitteeCount and fixed tests * implemented ShardDelta * test for ShardDelta * implemented EpochStartShard * added epoch out of bound test * test for accurate start shard * lint * implemented process_final_updates * move to the top of the file * add comment back * gaz * Test for process final updates * fixed tests * fixed all the tests * Update Reward Helper v0.6 (#2470) * added BaseReward * added rewards helper * added test for BaseReward * extra space * move exported function above * update to new spec (#2614) * Update Block Processing Voluntary Exits (#2609) * Update processEth1Data for v0.6 (#2516) * Clean up Helper Functions Part 1 (#2612) * Finalize helper functions for 0.6 (#2632) * Process Beacon Chain Transfers v0.6 (#2642) * add transfers * beacon transfer operations complete * full cov * transfer testing * finished tests * Update beacon-chain/core/blocks/block_operations_test.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * Update beacon-chain/core/blocks/block_operations.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * Implement Process Crosslink From 0.6 (#2460) * Process Block Eth1 Data v0.6 (#2645) * Get attestation data slot v0.6 (#2593) * attestation.go is ready, tests not * ready for review * fixing linter issues * modified Crosslink and AttestationData proto fields to spec 2.0,marked deprecated fields * gazelle * fixed tests * fixed error * error msg * Process Block Deposits v0.6 (#2647) * imports fixes * deposits tests pass * wrapped up gazelle * spacing * Implement Crosslink Delta Rewards for 0.6 (#2517) * update process crosslink and update existing tests * added a test case to cover no crosslink changes * more test * preston's feedback * spellings * ValidatorStatus Estimating Activation RPC Server (#2469) * fix spacing * working on position in queue * fmt * spacing * feedback * tests * rename * Only Perform Initial Sync With a Single Peer (#2471) * fix spacing * use send instead of broadcast in initial sync * 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> * SSZ web api for decoding input data (#2473) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * standardize slot numbers (#2475) * Add CORS for ssz api (#2476) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * needed CORS * 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 * Update Prysm README (#2477) * README updated * readme updates * no err throw (#2479) * Fix Status Nil Pointer Error (#2480) * no err throw * nil errors * 3.175 (#2482) * Better Error Message if Failing to Exit Initial Sync (#2483) * no err throw * nil errors * better error on init sync * Only Log Active Balances (#2485) * only log active balance * dont need () * change logging (#2487) * fix chainstart waiting on rpc server (#2488) * shift ticker to after activation (#2489) * Add drain script (#2418) * Add drain script * Fix script to drain contracts from newest to oldest * Add README * remove comments * Only after block 400k, look up by deposit event * issue warn log on disconnecting peer instead of error (#2491) * Display Only Active Validator Data (#2490) * Fix Validator Status Field in RPC Server (#2492) * fix status of key * status test fix * fmt * 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 * add production config for testnet release (#2493) * Lookup Validator Index in State in Status Check (#2494) * state lookup * refactor duplicate code * refactor with mapping * fix broken tests * finish refactor * merged master * Starting, I need get_epoch_start_shard * updated EpochCommitteeCount and fixed tests * implemented ShardDelta * test for ShardDelta * implemented EpochStartShard * added epoch out of bound test * test for accurate start shard * lint * need to use changes from latest crosslinks * added BaseReward and totalActiveBalance * added test for base reward * merged master * all tests passing * start testing * done * add ProcessBlockHeader v0.6 (#2534) * add ProcessBlockHeader * function has all its dependancies in place * arange the basic ok test * gazzele and skip test update * skip wrong sig test * fmt imports and change requests * goimports fmt * map for struct fields to be location independent * reorder protobuf fields * added tests * gazzle fix * few change requests fixes * revert changes in types.proto * revert changes in types * fix tests * fix lint * fmt imports * fix gazelle * fix var naming * pb update * var naming * tarance change request fixes * fix test * Add Process Registry for Epoch Processing (#2668) * update update-process-registry * added back the old tests * fmt * gaz * Follow up on process block header v0.6 (#2666) * Putting Crosslink Delta Back (#2654) * update process crosslink and update existing tests * added a test case to cover no crosslink changes * more test * preston's feedback * spellings * ValidatorStatus Estimating Activation RPC Server (#2469) * fix spacing * working on position in queue * fmt * spacing * feedback * tests * rename * Only Perform Initial Sync With a Single Peer (#2471) * fix spacing * use send instead of broadcast in initial sync * 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> * SSZ web api for decoding input data (#2473) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * standardize slot numbers (#2475) * Add CORS for ssz api (#2476) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * needed CORS * 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 * Update Prysm README (#2477) * README updated * readme updates * no err throw (#2479) * Fix Status Nil Pointer Error (#2480) * no err throw * nil errors * 3.175 (#2482) * Better Error Message if Failing to Exit Initial Sync (#2483) * no err throw * nil errors * better error on init sync * Only Log Active Balances (#2485) * only log active balance * dont need () * change logging (#2487) * fix chainstart waiting on rpc server (#2488) * shift ticker to after activation (#2489) * Add drain script (#2418) * Add drain script * Fix script to drain contracts from newest to oldest * Add README * remove comments * Only after block 400k, look up by deposit event * issue warn log on disconnecting peer instead of error (#2491) * Display Only Active Validator Data (#2490) * Fix Validator Status Field in RPC Server (#2492) * fix status of key * status test fix * fmt * 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 * add production config for testnet release (#2493) * Lookup Validator Index in State in Status Check (#2494) * state lookup * refactor duplicate code * refactor with mapping * fix broken tests * finish refactor * merged master * Starting, I need get_epoch_start_shard * updated EpochCommitteeCount and fixed tests * implemented ShardDelta * test for ShardDelta * implemented EpochStartShard * added epoch out of bound test * test for accurate start shard * lint * need to use changes from latest crosslinks * added BaseReward and totalActiveBalance * added test for base reward * merged master * all tests passing * start testing * done * fixed tests * addressed shay's feedback * Implement Attestation Delta for v0.6 (#2646) * update process crosslink and update existing tests * added a test case to cover no crosslink changes * more test * preston's feedback * spellings * ValidatorStatus Estimating Activation RPC Server (#2469) * fix spacing * working on position in queue * fmt * spacing * feedback * tests * rename * Only Perform Initial Sync With a Single Peer (#2471) * fix spacing * use send instead of broadcast in initial sync * 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> * SSZ web api for decoding input data (#2473) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * standardize slot numbers (#2475) * Add CORS for ssz api (#2476) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * needed CORS * 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 * Update Prysm README (#2477) * README updated * readme updates * no err throw (#2479) * Fix Status Nil Pointer Error (#2480) * no err throw * nil errors * 3.175 (#2482) * Better Error Message if Failing to Exit Initial Sync (#2483) * no err throw * nil errors * better error on init sync * Only Log Active Balances (#2485) * only log active balance * dont need () * change logging (#2487) * fix chainstart waiting on rpc server (#2488) * shift ticker to after activation (#2489) * Add drain script (#2418) * Add drain script * Fix script to drain contracts from newest to oldest * Add README * remove comments * Only after block 400k, look up by deposit event * issue warn log on disconnecting peer instead of error (#2491) * Display Only Active Validator Data (#2490) * Fix Validator Status Field in RPC Server (#2492) * fix status of key * status test fix * fmt * 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 * add production config for testnet release (#2493) * Lookup Validator Index in State in Status Check (#2494) * state lookup * refactor duplicate code * refactor with mapping * fix broken tests * finish refactor * merged master * Starting, I need get_epoch_start_shard * updated EpochCommitteeCount and fixed tests * implemented ShardDelta * test for ShardDelta * implemented EpochStartShard * added epoch out of bound test * test for accurate start shard * lint * need to use changes from latest crosslinks * added BaseReward and totalActiveBalance * added test for base reward * implemented process_attestation_delta * comments * comments * merged master * all tests passing * start testing * done * merged master * fixed tests * tests, more to come * tests done * lint * spaces over tabs * addressed shay's feedback * merged master * Implement process_rewards_and_penalties for 0.6 (#2665) * update process crosslink and update existing tests * added a test case to cover no crosslink changes * more test * preston's feedback * spellings * ValidatorStatus Estimating Activation RPC Server (#2469) * fix spacing * working on position in queue * fmt * spacing * feedback * tests * rename * Only Perform Initial Sync With a Single Peer (#2471) * fix spacing * use send instead of broadcast in initial sync * 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> * SSZ web api for decoding input data (#2473) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * standardize slot numbers (#2475) * Add CORS for ssz api (#2476) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * needed CORS * 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 * Update Prysm README (#2477) * README updated * readme updates * no err throw (#2479) * Fix Status Nil Pointer Error (#2480) * no err throw * nil errors * 3.175 (#2482) * Better Error Message if Failing to Exit Initial Sync (#2483) * no err throw * nil errors * better error on init sync * Only Log Active Balances (#2485) * only log active balance * dont need () * change logging (#2487) * fix chainstart waiting on rpc server (#2488) * shift ticker to after activation (#2489) * Add drain script (#2418) * Add drain script * Fix script to drain contracts from newest to oldest * Add README * remove comments * Only after block 400k, look up by deposit event * issue warn log on disconnecting peer instead of error (#2491) * Display Only Active Validator Data (#2490) * Fix Validator Status Field in RPC Server (#2492) * fix status of key * status test fix * fmt * 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 * add production config for testnet release (#2493) * Lookup Validator Index in State in Status Check (#2494) * state lookup * refactor duplicate code * refactor with mapping * fix broken tests * finish refactor * merged master * Starting, I need get_epoch_start_shard * updated EpochCommitteeCount and fixed tests * implemented ShardDelta * test for ShardDelta * implemented EpochStartShard * added epoch out of bound test * test for accurate start shard * lint * need to use changes from latest crosslinks * added BaseReward and totalActiveBalance * added test for base reward * implemented process_attestation_delta * comments * comments * merged master * all tests passing * start testing * done * merged master * fixed tests * tests, more to come * tests done * lint * spaces over tabs * addressed shay's feedback * starting but need to merge a few things... * tests * fmt * Update Slot Processing and State Transition v0.6 (#2664) * edit state transition to add slot processing logic, reorder logic * fix build * lint * tests passing * spacing * tests pass * imports * passing tests * Implement Process Epoch for 0.6 (#2675) * can't find process j f functons * implemented process_epoch * tests done * lint * nishant's feedback * stupid goland replace * goimports * Update CommitteeAssignment (#2693) * cleaned up skipped tests for core processing (#2697) * Process Block Attestations v0.6 (#2650) * attestation.go is ready, tests not * ready for review * fixing linter issues * modified Crosslink and AttestationData proto fields to spec 2.0,marked deprecated fields * gazelle * fixed tests * fixed error * add att processing: * process atts * error msg * finish process attestations logic * spacing * ssz move * inclusion delay failure passing * more attestation tests * more att tests passing * more tests * ffg data mismatching test * ffg tests complete * gofmt * fix testing to match attestation updates * ssz * lint * Fixed Skipped Tests for RPC Server (#2712) * Remove Obsolete Deposit Proto Objects (#2673) * remove deposit data * remove deposit input * fix references * remove deposit helpers * fix all refs * gaz * rgene proto * fix all tests * remove deposit data deprecated field * fix remaining references * fix all tests * fix lint * regen proto * fix test * Remove Deprecated Protobuf State Fields (#2713) * Remove Deprecated Protobuf Crosslink/Slashing/Block Fields (#2714) * Remove Deprecated Beacon Block Proto Fields (#2717) * Remove Deprecated Attestation Proto Fields (#2723) * Cache Shuffled Validator Indices (#2682) * YAML shuffle tests for v0.6 (#2667) * new shuffle tests * added comment for exported function * fix format and print * added config files handling * gazelle fix * shuffle test debugging * added shuffle list and benchmark * hash function addition from nishant code * gazelle fix * remove unused function * few minor changes * add test to test protos optimization * test a bigger list * remove commented code * small changes * fix spec test and test indices to pass * remove empty line * abstraction of repeated code and comment arrangement * terence change requests * fix new test * add small comment for better readability * change from unshuflle to shuffle * comment * better comment * fix all tests * Remove Latest Block (#2721) * lint * remove latest block * lint * add proto * fix build * Fix Deposit Trie (#2686) * remove deposit data * remove deposit input * fix references * remove deposit helpers * fix all refs * gaz * rgene proto * fix all tests * remove deposit data deprecated field * fix remaining references * fix all tests * fix lint * new tests with contract * gaz * more tests * fixed bugs * new test * finally fixed it * gaz * fix test * Remove Committee Cache (#2729) * Benchmark Compute Committee (#2698) * Fixed Skipped Attestation Tests (#2730) * Optimize Shuffled Indices Cache (#2728) * Refactor Deposit Contract Test Setup (#2731) * add new package * fix all tests * lint * change hash function (#2732) * Remove Deprecated Validator Protobuf (#2727) * Remove deprecated validator protos * Fix to comments * Fix most of skipped tests (#2735) * Optimize Base Reward Calculation (#2753) * benchmark process epoch * revert prof.out * Add some optimizations * beware where we use ActiveValidatorIndices... * revert extra file * gaz * quick commit to get feedback * revert extra file * started fixing tests * fixed broken TestProcessCrosslink_NoUpdate * gaz * cache randao seed * fixed all the tests * fmt and lint * spacing * Added todo * lint * revert binary file * started regression test * basic tests done * using a fifo for active indices cache * using a fifo for active count cache * using a fifo for total balance cache * using a fifo for active balance cache * using a fifo for start shard cache * using a fifo for seed cache * gaz * clean up * fixing tests * fixed all the core tests * fixed all the tests!!! * lint * comment * rm'ed commented code * cache size to 1000 should be good enough * optimized base reward * revert binary file * Added comments to calculate adjusted quotient outside * removed deprecated configs (#2755) * Optimize Process Eth1 Data Vote (#2754) * Cleanup and Docs update (#2756) * Add graffiti and update generate seed (#2759) * Benchmark Process Block with Attestations (#2758) * Tidying up Godoc for Core Package (#2762) * Clean up Old RPC Endpoints (#2763) * Update RPC end point for Proposer (#2767) * add RequestBlock * run mockgen * implemented RequestBlock * updated proto definitions * updated tests * updated validator attest tests * done * comment * todo issue * removed unused proto * Cache Active Validator Indices, Count, and Balances (#2737) * Update Deposit Contract (#2648) * lint * add new contract * change version * remove log * generating abi and binary files * fix tests * update to current version * new changes * add new hash function * save hashed nodes * add more things * new method * add update to trie * new stuff * gaz * more stuff * finally fixed build * remove deposit data * Revert "remove deposit data" This reverts commit 9085409e91be0c94550af10290eaad72ad40a6de. * more changes * lint and gaz * lint * Update Shard Helpers for 0.6 (#2497) * ValidatorStatus Estimating Activation RPC Server (#2469) * fix spacing * working on position in queue * fmt * spacing * feedback * tests * rename * Only Perform Initial Sync With a Single Peer (#2471) * fix spacing * use send instead of broadcast in initial sync * 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> * SSZ web api for decoding input data (#2473) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * standardize slot numbers (#2475) * Add CORS for ssz api (#2476) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * needed CORS * 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 * Update Prysm README (#2477) * README updated * readme updates * no err throw (#2479) * Fix Status Nil Pointer Error (#2480) * no err throw * nil errors * 3.175 (#2482) * Better Error Message if Failing to Exit Initial Sync (#2483) * no err throw * nil errors * better error on init sync * Only Log Active Balances (#2485) * only log active balance * dont need () * change logging (#2487) * fix chainstart waiting on rpc server (#2488) * shift ticker to after activation (#2489) * Add drain script (#2418) * Add drain script * Fix script to drain contracts from newest to oldest * Add README * remove comments * Only after block 400k, look up by deposit event * issue warn log on disconnecting peer instead of error (#2491) * Display Only Active Validator Data (#2490) * Fix Validator Status Field in RPC Server (#2492) * fix status of key * status test fix * fmt * 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 * add production config for testnet release (#2493) * Lookup Validator Index in State in Status Check (#2494) * state lookup * refactor duplicate code * refactor with mapping * fix broken tests * finish refactor * merged master * updated EpochCommitteeCount and fixed tests * implemented ShardDelta * test for ShardDelta * implemented EpochStartShard * added epoch out of bound test * test for accurate start shard * lint * Update Genesis State Function to v0.6 (#2465) * add pseudocode * make changes * fix all tests * fix tests * lint * regen protos and mocks * regenerated protos * started fixing core * all core tests passing! * removed shared/forkutils * started fixing blockchain package * lint * updating rpc package * add back deleted stuff * add back deleted stuff that was deleted accidentally * add back protos and mocks * fix errors * fix genesis issue * fix genesis issue for slot ticker * fix all genesis errors * fix build files * temp change for go-ssz * fix test * Revert "temp change for go-ssz" This reverts commit 3411cb9d6d519cb521181486debc3b21603c8873. * update to latest go-ssz * unstaged changes * Update Attester Server RPC Calls (#2773) * Update config and function parameters to v0.7 (#2791) * Minor Updates to 0.7 (#2795) * Refactor Deposit Flow and Cleanup Tests (#2788) * More WIP on cleaning deposit flow * Fix tests * Cleanup and imports * run gazelle * Move deposit to block_operations * gazelle * Update beacon-chain/core/blocks/block_operations.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * Fix docs * Remove unneeded calculations * Fix tests * Fix tests finally (?) * Optimize Committee Assignment RPC (#2787) * Update BlockRoot to BlockHash (#2816) * Fix Final Missing Items in Block Processing v0.6 (#2710) * override config successfully * passes processing * add signing root helper * blockchain tests pass * tests blocked by signing root * lint * fix references * fix protos * proper use of signing root * only few failing tests now * fix final test * tests passing * lint and imports * rem unused * Update beacon-chain/core/blocks/block_operations.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * lint * Update beacon-chain/attestation/service_test.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * Update beacon-chain/db/block_test.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * rename to hash tree root * rename decode to unmarshal * fix * use latest ssz * all tests passing * lint * fmt * Add Config YAML for Spec Tests (#2818) * Align Protobuf Type Names (#2825) * gofmt * Revert "Align Protobuf Type Names (#2825)" (#2827) This reverts commit 882d067144c674bbf4eeee00404acaa0a9b1fd33. * Update Domain Related Functions (#2832) * Add Functions for Compressed and Uncompressed HashG2 With Domain (#2833) * add tests * gaz * lint * Revert "Add Functions for Compressed and Uncompressed HashG2 With Domain (#2833)" (#2835) This reverts commit 7fb2ebf3f12f043d7bd12f43500dc2bd133df573. * Add ConvertToPb to package testutil (#2838) * Block Processing Bug Fixes (#2836) * Update types PB with Size Tags (#2840) * Epoch processing spec tests (#2814) * Remove Deposit Index (#2851) * Shuffle tests revisited (#2829) * first commit * remove old files, add log * remove duplicate yaml testing code * reduce visability * nishant feedback changes * skip TestFromYaml_Pass * added tags to bazel build * gazelle fix * remove unused vars * adda back config * remove config handling * remove unused var * gazelle fix * SSZ compatibility test for protobufs (#2839) * update workspace spec sha * remove yamls from branch * BLS spec tests (#2826) (#2856) * bls spec tests * add more bls tests * use ioutil instead of bazel runfiles * dont read bytes * skip tests that overflow uint64 * manually fix input data * add tests * lint and gaz * add all new changes * some refactoring, cleanup, remove new API methods that only exist for tests * gaz * Remove yamls, skip test * Slot processing spec test (#2813) * eth1data rpc endpoint (#2733) * eth1data rpc endpoint * first version * comment added * gazelle fix * new function to go once over the deposit array * fix tests * export DepositContainer * terence feedback * move structure decleration * binary search * fix block into Block * preston feedback * keep slice sorted to remove overhead in retrival * merge changes * feedback * update to the latest go-ssz * revert change * chnages to fit new ssz * revert merge reversion * go fmt goimprts duplicate string * exception for lint unused doesParentExist * feedback changes * latesteth1data to eth1data * goimports and stop exposing Eth1Data * revert unneeded change * remove exposure of DepositContainer * feedback and fixes * fix workspace duplicate dependancy * greatest number of deposits at current height * add count votes function * change method name * revert back to latesteth1data * latesteth1data * preston feedback * seperate function add tests fix bug * stop exposing voteCountMap * eth1data comment fix * preston feedback * fix tests * new proto files * workspace to default version of ssz * new ssz * chnage test size * marshalled marshaled * Attesting Indices Fix (#2862) * add change * fix one test * fix all tests * add test * clear cache * removed old chaintest, simulated backend and state generator (#2863) * Block Processing Sanity Spec Tests (#2817) * update PrevEpoch * add new changes * shift to blocks package * add more changes * new changes * updated pb with size tags * add new changes * fix errors * uncomment code * more changes * add new changes * rename and lint * gaz * more changes * proccess slot SigningRoot instead of HashTreeRoot * ensure yaml generated structs work * block sanity all passing * minimal and mainnet all pass * remove commented code * fix one test * fix all tests * fix again * no state comparison * matching spec * change target viz * comments gazelle * clear caches before test cases * latest attempts * clean up test format * remove debugging log, remove yaml * unskip attestation * remove skip, check post state, diff state diffs * handle err * add bug fixes * fixed one more bug * fixed churn limit bug * change hashProto to HashTreeRoot * all tests pass :) * fix all tests * gaz * add regression tests * fix test bug * Mutation testing fixes for beacon-chain/core/helpers/attestation.go (#2868) * mutation testing for attestation.go * new line * lint * revert fmt.Errorf deletion * gofmt * Add some fixes for mutation testing on blocks.go (#2869) * Fix sizes * gaz * Spec freeze release candidate spectests * Align Protobuf Type Names (#2872) * Removes some deprecated fields from protobuf (#2877) * search and replace checkpoints * fix tests, except spec tests * Update Configs for Freeze (#2876) * update configs * updated minimal configs * almost there * all tests passing except for spec tests * better comment for MinGenesisTime * done, ready for review * rm seconds per day * feedback * Mutation testing fixes for beacon-chain/core/helpers/committee.go (#2870) * Add some fixes for mutation testing on blocks.go * working on mutation testing fo committee.go * gofmt * goimports * update readme target * update latest sha for spec tests * fix build * Update State Transition Function (#2867) * Change Base Reward Factor (#2888) * Update Freeze Spec Simplification Section - part 1 (#2893) * finished changes to attesting_indices * removed index_count <= 2**40 requirement * lint * reverted index_count <= 2**40 check * added short cut len(a) > len(b) * Update justification bits (#2894) * updated all the helper pseudocodes (#2895) * Make Constants Explicit and Minor Cleanups (#2898) * Rename outdated configs, make constants explicitly delcared * Remove activate_validator, not needed * Remove GenesisSlot and GenesisEpoch * Remove unused import * Move Block Operation Length Checks to ProcessOperations (#2900) * Move block operation length checks to ProcessOperations * Write tests for each length check in ProcessOperations * Remove unneeded test * Move checks to a new function * Move duplicate check back into ProcessOperations * reorder proto fields (#2902) * Slashing Penalty Calculation Change (#2889) * lint * change config val * add max helper * changes to slashing and process slashing, add a min function for integers * gaz * fix failing tests * fix test * fixed all tests * Change Yaml tag * lint * remove gc hack * fix test * gaz * preston's comments * change failing field * fix and regen proto * lint * Implement Compact Committee Root (#2897) * add tags * add function * add new code * add function * add all new changes * lint * add tests * fix tests * fix more tests * fix all outstanding tests * gaz * Update beacon-chain/core/helpers/committee.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * comment * Remove deprecated fields from attestation data (#2892) * fix broken tests * remove comment * fixes * Update Deposit Contract (#2903) * update to new contract * fix references * fix tests * fix some more tests * fix local deposit trie * gaz * shays review * more changes * update WORKSPACE to use 0.8 spec tests * Perform Mutesting in Helpers Package (#2912) * Perform mutesting on validator * Mutesting in helpers package * Mutested eth1data * s/volundary/voluntary (#2914) * Update BLS Domain (#2916) * change from integer to byte slice * add test * fix func for bytes4 * Fix Spec tests (#2907) * fix panics * handle failed transitions * remove log * fix to protos * new changes * remove i * change ssz commit * new changes * update epoch tests * fix epoch testing * fix shuffle tests * fix test * Perform Mutesting in Epoch and State Packages (#2913) * done with updates (#2890) * Add Max Size Tag for Protobuf Fields (#2908) * No more space between ssz-size numbers * Regen pb.go * Fixed a few incorrect proto fields (#2926) * Update Validator Workflow (#2906) * Justification spec tests (#2896) * update go-ssz * Fix SSZ Compatibility Test (#2924) * figuring out how to seqeeze in multiple fields in a tag for pb * Added max tags and regenerated pb.go * updated to new standard * New bitfield types in proto (#2915) * Cast bytes to correct bitfield, failing tests now though * Add forked gogo/protobuf until https://github.com/gogo/protobuf/pull/582 * remove newline * use proper override for gogo-protobuf * fix a few tags * forgot to include custody bits and Slashable not used * Update yaml struct to use pb * Update workspace to use latest ssz * All tests fail * Use the latest go-ssz commit * All pass except for state (too long to taste) * Update test.proto * Added rest of the tests * use 1 justification bits * fix tag test, apply @rauljordan's suggestion * add IsEmpty and use ssz struct * delete unused file * Update zero hash to sha256().digest() (#2932) * update zero hash * change zero hash to conform with spec * goimports * add test for zero hash * Revert "Update zero hash to sha256().digest() (#2932)" (#2933) This reverts commit b926ae0667b18aef3f7e0e8ec8a9b3e98b3d2ccc. * Fix compress validator (#2936) * fix compress validator * update go-ssz * build without the bytes test * try minimal * Block operations spec tests (#2828) * update PrevEpoch * debugging proposer slashing tests * fmt * add deposit tests * Added skeleton for attestation minimal test * remove bazel runfiles thing * add deposits * proposer slashing test is done * comment * complete test, some failing cases * sig verify on * refactor slightly to support mainnet and minimal * included mainnet stuff * Add block header tests * volunary exit done * transfer done * new changes * fix all tests * update domain functions * fmt * fixed lint * fixed all the tests * fixed a transfer bug * finished attester slashing tests and fixed a few bugs * started fixing... * cleaned up exit and proposr slashing tests * attester slashing passing * refactored deposit tests * remove yamls, update ssz * Added todo for invalid sig * gazelle * deposits test done! * transfer tests done and pass! * fix attesting indices bug * temporarily disabled signature verification * cleaned up most of the block ops, except for att * update committee AttestingIndices * oops, i dont know how or why i changed this file * fixed all the rpc tests * 6 more failing packages * test max transfer in state package * replace hashproto with treehash in package blockchain * gazelle * fix test * fix test again * fixed transition test, 2 more left * expect an error in attestation tests * Handle panic when no votes in aggregate attestation * clear cache * Add differ, add logging, tests pass yay * remove todo, add tag * fixed TestReceiveBlock_RemovesPendingDeposits * TestAttestationMinimal/success_since_max_epochs_per_crosslink fails now... * handle panics * Transfer tests were disabled in https://github.com/ethereum/eth2.0-specs/pull/1238 * more fixes after merge, updating block_operations.yaml.go to match yaml * figuring out how to seqeeze in multiple fields in a tag for pb * Added max tags and regenerated pb.go * updated to new standard * New bitfield types in proto (#2915) * Cast bytes to correct bitfield, failing tests now though * Add forked gogo/protobuf until https://github.com/gogo/protobuf/pull/582 * remove newline * fix references and test panic * change to proto objects from custom types * fix panics in tests * use proper override for gogo-protobuf * fix a few tags * fix tests * forgot to include custody bits and Slashable not used * fix tests * sort again * Update yaml struct to use pb * Update workspace to use latest ssz * All tests fail * Use the latest go-ssz commit * All pass except for state (too long to taste) * Update test.proto * Added rest of the tests * use 1 justification bits * minor fixes * wrong proto.Equal * fix tag test, apply @rauljordan's suggestion * add IsEmpty and use ssz struct * inverted logic * update zero hash * change zero hash to conform with spec * goimports * add test for zero hash * Revert "Update zero hash to sha256().digest() (#2932)" This reverts commit b926ae0667b18aef3f7e0e8ec8a9b3e98b3d2ccc. * update ssz, fix import, shard big test * checkpoint * fix compress validator * update go-ssz * missing import * missing import * tests now pass * been a good day * update test size * fix lint * imports and remove unused const * update bazel jobs flag * update bazel jobs flag * satisfy deprecation warning * Add ssz regression tests for investigation of test failures in PR #2828 (#2935) * Adding regression tests for investigation * add another example * goimports * add quick comment about test case 0 * Epoch Process Slashings Spec Tests (#2930) * updated justification bits, tests passing OK * regen pb.go, clarify bit operations * justification and finalization tests; failing * Add wrapper, so we call the correct method * checkpoint * Update tar ref * TestSlashingsMinimal/small_penalty still failing * Use bigint instead of () and float * Revert a bad merge from workspace * Fmt * add note about https://github.com/ethereum/eth2.0-specs/issues/1284 * improve tests * gaz * Perform Mutesting In core/state Package (#2923) * Perform mutesting on validator * Mutesting in helpers package * Mutested eth1data * Perform mutesting in epoch and state packages * Fix voluntary exits test * Fix typo * Fix comments * Fix formatting * Fix error message * Handle missing errors * Handle all errors * Perform Mutesting In State Package * Fix block roots size * Remove comment * Fix error * add backend service * Add ssz compatibility tests for signing root (#2931) * Added tests for signing root * imports * fix lint on travis * fix bes flag * Final updates spec tests (#2901) * set up tests * need to reorder pbs * figuring out how to seqeeze in multiple fields in a tag for pb * Added max tags and regenerated pb.go * updated to new standard * New bitfield types in proto (#2915) * Cast bytes to correct bitfield, failing tests now though * Add forked gogo/protobuf until https://github.com/gogo/protobuf/pull/582 * remove newline * use proper override for gogo-protobuf * fix a few tags * forgot to include custody bits and Slashable not used * playing with tags idea, can revert this commit later * fixes after merge * reset caches before test * all epoch tests pass * gazelle * Genesis trigger (#2905) * genesis change * integrate changes * bodyroot * remove unused code * HasChainStarted * added isValidGenesisState to ProcessLog * state fix * fix gazelle * uint64 timestamp * SetupInitialDeposits adds proof * remove unneeded parts of test * deposithash * merkleproof from spec utils * Revert "merkleproof from spec utils" This reverts commit 1b0a124352e7b62e3c3220fb0d64e295b474b430. * fix test failures * chain started and hashtree root in tests * simple eth2genesistime * eth2 genesis time * fix zero time * add comment * remove eth1data and feedback * fix build issues * main changes: add fields and methods to track active validator count * gaz * fix test * fix more tests * improve test utils * shift spec method to state package, improve test setup * fixed log processing tests * remove log * gaz * fix invalid metric * use better tag names, not latest * Remove Block Signing Root (#2945) * replace with hash tree root * Revert "replace with hash tree root" This reverts commit 77d8f16a160e42f3c3d598df66c30a66657de1bf. * replace with signing root instead * remove one more ref * Create Test Runner for Genesis State Spec Tests (#2940) * genesis change * integrate changes * bodyroot * remove unused code * HasChainStarted * added isValidGenesisState to ProcessLog * state fix * fix gazelle * uint64 timestamp * SetupInitialDeposits adds proof * remove unneeded parts of test * deposithash * merkleproof from spec utils * Revert "merkleproof from spec utils" This reverts commit 1b0a124352e7b62e3c3220fb0d64e295b474b430. * fix test failures * chain started and hashtree root in tests * simple eth2genesistime * eth2 genesis time * fix zero time * add comment * remove eth1data and feedback * fix build issues * main changes: add fields and methods to track active validator count * gaz * fix test * fix more tests * improve test utils * Start genesis spec tests * shift spec method to state package, improve test setup * Add Genesis validity spec test * Bazel * fixed log processing tests * remove log * gaz * fix invalid metric * use json tags * fix up latest changes * Fix most of test errors * Attempts to see whats wrong with genesis validity * Fix merge * skip minimal * fix state test * new commit * fix nishant comment * gaz * Static check on branch spec-v0.6 (#2946) * Ran staticcheck and fixed the important complains * commit * commit * Create Test Runner for Genesis State Spec Tests (#2940) * genesis change * integrate changes * bodyroot * remove unused code * HasChainStarted * added isValidGenesisState to ProcessLog * state fix * fix gazelle * uint64 timestamp * SetupInitialDeposits adds proof * remove unneeded parts of test * deposithash * merkleproof from spec utils * Revert "merkleproof from spec utils" This reverts commit 1b0a124352e7b62e3c3220fb0d64e295b474b430. * fix test failures * chain started and hashtree root in tests * simple eth2genesistime * eth2 genesis time * fix zero time * add comment * remove eth1data and feedback * fix build issues * main changes: add fields and methods to track active validator count * gaz * fix test * fix more tests * improve test utils * Start genesis spec tests * shift spec method to state package, improve test setup * Add Genesis validity spec test * Bazel * fixed log processing tests * remove log * gaz * fix invalid metric * use json tags * fix up latest changes * Fix most of test errors * Attempts to see whats wrong with genesis validity * Fix merge * skip minimal * fix state test * new commit * fix nishant comment * gaz * Add Back Eth1Data After Bad Merge (#2953) * eth1data rpc endpoint * first version * comment added * gazelle fix * new function to go once over the deposit array * fix tests * export DepositContainer * terence feedback * move structure decleration * binary search * fix block into Block * preston feedback * keep slice sorted to remove overhead in retrival * merge changes * feedback * update to the latest go-ssz * revert change * chnages to fit new ssz * revert merge reversion * go fmt goimprts duplicate string * exception for lint unused doesParentExist * feedback changes * latesteth1data to eth1data * goimports and stop exposing Eth1Data * revert unneeded change * remove exposure of DepositContainer * feedback and fixes * fix workspace duplicate dependancy * greatest number of deposits at current height * add count votes function * change method name * revert back to latesteth1data * latesteth1data * preston feedback * seperate function add tests fix bug * stop exposing voteCountMap * eth1data comment fix * preston feedback * fix tests * new proto files * workspace to default version of ssz * new ssz * chnage test size * marshalled marshaled * everything passing again * add skip reason * cleanup deposit contract slightly * remove unused chainstart param (#2957) * fix breakages from #2957 (#2958) * fix breakages from #2957 * oops * Fix deposit input data (#2956) * fix deposit input data * fix deposit input data * gaz and build fix * Add Tests for Genesis Deposits Caching (#2952) * remove old method and replace with an improved one * add new files * gaz * add test * added all these tests * gaz * Apply suggestions from code review Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * fix merkle proof error * fix config * Minor fixes for runtime (#2960) * Minor fixes for runtime * use comments * goimports * revert beacon-chain/core/state/state.go and fix comment for lint * fix test too * Minor runtime fixes (#2961) * Add support for bundling binaries and fix ARM64 builds (#2970) * Add support for bundling binaries and fix ARM64 builds * Fix exports * ignore manual targets wrt vis check * fix graknlabs * update spec tests (#2979) * hotfix until https://github.com/graknlabs/bazel-distribution/pull/169 * Overflow slashing calculation fix (#2977) * Runtime Fixes (#2736) * first batch of fixes * add log * more fixes * another bug fixed * update deposit contract and other fixes * remove logs * new changes * fixes * fix build * remove config * more fixes * add more changes * add back todo * make compute state root work * remove commented out and fix condition * fix commented code * fix config * gaz * remove flag * remove init * new fixes * fix test * one more fix * fix all tests * change back config * fix one more bug * remove logging bool * Only build test targets when running bazel test //... * Align prysm to spec v0.8.1 (#2978) * Bazel problem * Update zero hash representation to be clear (cosmetic) * Update minor cosmetic fixes * Fixed lookahead off by 1 * Update randao.go * update ssz * test failures fixed * test fixes * fix up workspace * lint * fixed errs * Updated pubkey loggings (#2983) * Fix proposer assignment (#2984) * add jvm limits * add jvm limits * Removed logging from state transition functions (#2980) * Match spec on proposer index division (#2985) * Match spec on proposer index division * gaz * fixes * Fix Default Eth1Data (#2982) * fix bug * Update beacon-chain/core/state/transition.go Co-Authored-By: Raul Jordan <raul@prysmaticlabs.com> * more fixes * reg test * Set ejection balance to 1.6 (#2987) * improve block processing log (#2990) * Fix HistoricalRootsLimit (#2989) * fix historical lenght * fix genesis state initialization and test * fix genesis state initialization and test * fix genesis state initialization and test * fix genesis state initialization and test * hack config until https://github.com/prysmaticlabs/prysm/issues/2993 * More Runtime Fixes (#2986) * local changes * add val sig * attester fix * one more fix * fixed all tests * rem validator issue * fix finality issue (#2994) * Fix validator prev balance calculation (#2992) * attester fix * one more fix * fixed all tests * Fix validator prev balances calculation * go fmt * 48 bytes * Fix Querier to handle Deposit Logs Race (#2999) * fix sync issue * fix build * add regression test * add var for magic number * Fix eth1data and deposits (#2996) * Work in progress, eth1data works, deposits are included at the appropriate time, and activation happens at the correct time * revert blockInfo being public * git tests to build, not yet pass though * add tests * some commentary * fix comment * goimports * fmt and remove unused method * Update rules go (#2975) * update rules_go * Fix some cross compile builds stuff * add missing deps * update to 0.19.1 * Update Protobufs to Match Ethereum APIs (#2998) * add beacon block and attestation files * add all types * include all new proto type definitions * add add all proto definitions * fix all comments to say 48 bytes * include latest changes * readd common * no swag * add build file * deps issue * right package names * address feedback, maintain parity between upstream ethereumapis * delete pb * bad gens * Update "Testing Prysm" readme section (#3000) Resolves invalid url link to golangci-lint. * Update badge to version 0.8.1 * elaborate on test skip * revert shared/p2p/options.go * make travis happy with goimports * Update beacon-chain/core/blocks/block.go Co-Authored-By: Preston Van Loon <preston@prysmaticlabs.com>
2019-07-20 00:16:10 +00:00
logs, sub, err := _DepositContract.contract.FilterLogs(opts, "DepositEvent")
if err != nil {
return nil, err
}
Spec freeze updates (#2312) * Optimize Shuffled Indices Cache (#2728) * Refactor Deposit Contract Test Setup (#2731) * add new package * fix all tests * lint * change hash function (#2732) * Remove Deprecated Validator Protobuf (#2727) * Remove deprecated validator protos * Fix to comments * Fix most of skipped tests (#2735) * Cache Active Validator Indices, Count, and Balances (#2737) * Optimize Base Reward Calculation (#2753) * benchmark process epoch * revert prof.out * Add some optimizations * beware where we use ActiveValidatorIndices... * revert extra file * gaz * quick commit to get feedback * revert extra file * started fixing tests * fixed broken TestProcessCrosslink_NoUpdate * gaz * cache randao seed * fixed all the tests * fmt and lint * spacing * Added todo * lint * revert binary file * started regression test * basic tests done * using a fifo for active indices cache * using a fifo for active count cache * using a fifo for total balance cache * using a fifo for active balance cache * using a fifo for start shard cache * using a fifo for seed cache * gaz * clean up * fixing tests * fixed all the core tests * fixed all the tests!!! * lint * comment * rm'ed commented code * cache size to 1000 should be good enough * optimized base reward * revert binary file * Added comments to calculate adjusted quotient outside * removed deprecated configs (#2755) * Optimize Process Eth1 Data Vote (#2754) * Cleanup and Docs update (#2756) * Add graffiti and update generate seed (#2759) * Benchmark Process Block with Attestations (#2758) * Tidying up Godoc for Core Package (#2762) * Clean up Old RPC Endpoints (#2763) * Update RPC end point for Proposer (#2767) * add RequestBlock * run mockgen * implemented RequestBlock * updated proto definitions * updated tests * updated validator attest tests * done * comment * todo issue * removed unused proto * Update attesting indices v0.6 (#2449) * sort participants slice * add bitfield functions and tests * added BitfieldBit test * add AttestationParticipantsNew * revert AttestationParticipants to its previous change * add tests * remove verifybitfieldnew * fix tests and remove multiple tests * remove duplicate test * change magic number into ceildiv8 * Implement Justification and finalization Processing (#2448) * Add convert to indexed (#2519) * sort participants slice * add bitfield functions and tests * added BitfieldBit test * add AttestationParticipantsNew * revert AttestationParticipants to its previous change * add tests * remove verifybitfieldnew * fix tests and remove multiple tests * remove duplicate test * start work * convert attestation to indexed attestations * fix test for convert index * remove calling getter * add more tests * remove underscore * changes name to signature (#2535) * update registry updates func (#2521) * update registry updates func * added tests and moved to epoch processing * fixed naming issues * Update Committee Helpers to v0.6.0 (#2398) * Update Committee Helper Part 2 (#2592) * Implement Process Slashings for 0.6 (#2523) * Update Proposer/Attester Slashings and Slashing Helpers (#2603) * Implement Final Updates 0.6 (#2562) * ValidatorStatus Estimating Activation RPC Server (#2469) * fix spacing * working on position in queue * fmt * spacing * feedback * tests * rename * Only Perform Initial Sync With a Single Peer (#2471) * fix spacing * use send instead of broadcast in initial sync * 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> * SSZ web api for decoding input data (#2473) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * standardize slot numbers (#2475) * Add CORS for ssz api (#2476) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * needed CORS * 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 * Update Prysm README (#2477) * README updated * readme updates * no err throw (#2479) * Fix Status Nil Pointer Error (#2480) * no err throw * nil errors * 3.175 (#2482) * Better Error Message if Failing to Exit Initial Sync (#2483) * no err throw * nil errors * better error on init sync * Only Log Active Balances (#2485) * only log active balance * dont need () * change logging (#2487) * fix chainstart waiting on rpc server (#2488) * shift ticker to after activation (#2489) * Add drain script (#2418) * Add drain script * Fix script to drain contracts from newest to oldest * Add README * remove comments * Only after block 400k, look up by deposit event * issue warn log on disconnecting peer instead of error (#2491) * Display Only Active Validator Data (#2490) * Fix Validator Status Field in RPC Server (#2492) * fix status of key * status test fix * fmt * 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 * add production config for testnet release (#2493) * Lookup Validator Index in State in Status Check (#2494) * state lookup * refactor duplicate code * refactor with mapping * fix broken tests * finish refactor * merged master * updated EpochCommitteeCount and fixed tests * implemented ShardDelta * test for ShardDelta * implemented EpochStartShard * added epoch out of bound test * test for accurate start shard * lint * implemented process_final_updates * move to the top of the file * add comment back * gaz * Test for process final updates * fixed tests * fixed all the tests * Update Reward Helper v0.6 (#2470) * added BaseReward * added rewards helper * added test for BaseReward * extra space * move exported function above * update to new spec (#2614) * Update Block Processing Voluntary Exits (#2609) * Update processEth1Data for v0.6 (#2516) * Clean up Helper Functions Part 1 (#2612) * Finalize helper functions for 0.6 (#2632) * Process Beacon Chain Transfers v0.6 (#2642) * add transfers * beacon transfer operations complete * full cov * transfer testing * finished tests * Update beacon-chain/core/blocks/block_operations_test.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * Update beacon-chain/core/blocks/block_operations.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * Implement Process Crosslink From 0.6 (#2460) * Process Block Eth1 Data v0.6 (#2645) * Get attestation data slot v0.6 (#2593) * attestation.go is ready, tests not * ready for review * fixing linter issues * modified Crosslink and AttestationData proto fields to spec 2.0,marked deprecated fields * gazelle * fixed tests * fixed error * error msg * Process Block Deposits v0.6 (#2647) * imports fixes * deposits tests pass * wrapped up gazelle * spacing * Implement Crosslink Delta Rewards for 0.6 (#2517) * update process crosslink and update existing tests * added a test case to cover no crosslink changes * more test * preston's feedback * spellings * ValidatorStatus Estimating Activation RPC Server (#2469) * fix spacing * working on position in queue * fmt * spacing * feedback * tests * rename * Only Perform Initial Sync With a Single Peer (#2471) * fix spacing * use send instead of broadcast in initial sync * 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> * SSZ web api for decoding input data (#2473) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * standardize slot numbers (#2475) * Add CORS for ssz api (#2476) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * needed CORS * 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 * Update Prysm README (#2477) * README updated * readme updates * no err throw (#2479) * Fix Status Nil Pointer Error (#2480) * no err throw * nil errors * 3.175 (#2482) * Better Error Message if Failing to Exit Initial Sync (#2483) * no err throw * nil errors * better error on init sync * Only Log Active Balances (#2485) * only log active balance * dont need () * change logging (#2487) * fix chainstart waiting on rpc server (#2488) * shift ticker to after activation (#2489) * Add drain script (#2418) * Add drain script * Fix script to drain contracts from newest to oldest * Add README * remove comments * Only after block 400k, look up by deposit event * issue warn log on disconnecting peer instead of error (#2491) * Display Only Active Validator Data (#2490) * Fix Validator Status Field in RPC Server (#2492) * fix status of key * status test fix * fmt * 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 * add production config for testnet release (#2493) * Lookup Validator Index in State in Status Check (#2494) * state lookup * refactor duplicate code * refactor with mapping * fix broken tests * finish refactor * merged master * Starting, I need get_epoch_start_shard * updated EpochCommitteeCount and fixed tests * implemented ShardDelta * test for ShardDelta * implemented EpochStartShard * added epoch out of bound test * test for accurate start shard * lint * need to use changes from latest crosslinks * added BaseReward and totalActiveBalance * added test for base reward * merged master * all tests passing * start testing * done * add ProcessBlockHeader v0.6 (#2534) * add ProcessBlockHeader * function has all its dependancies in place * arange the basic ok test * gazzele and skip test update * skip wrong sig test * fmt imports and change requests * goimports fmt * map for struct fields to be location independent * reorder protobuf fields * added tests * gazzle fix * few change requests fixes * revert changes in types.proto * revert changes in types * fix tests * fix lint * fmt imports * fix gazelle * fix var naming * pb update * var naming * tarance change request fixes * fix test * Add Process Registry for Epoch Processing (#2668) * update update-process-registry * added back the old tests * fmt * gaz * Follow up on process block header v0.6 (#2666) * Putting Crosslink Delta Back (#2654) * update process crosslink and update existing tests * added a test case to cover no crosslink changes * more test * preston's feedback * spellings * ValidatorStatus Estimating Activation RPC Server (#2469) * fix spacing * working on position in queue * fmt * spacing * feedback * tests * rename * Only Perform Initial Sync With a Single Peer (#2471) * fix spacing * use send instead of broadcast in initial sync * 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> * SSZ web api for decoding input data (#2473) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * standardize slot numbers (#2475) * Add CORS for ssz api (#2476) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * needed CORS * 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 * Update Prysm README (#2477) * README updated * readme updates * no err throw (#2479) * Fix Status Nil Pointer Error (#2480) * no err throw * nil errors * 3.175 (#2482) * Better Error Message if Failing to Exit Initial Sync (#2483) * no err throw * nil errors * better error on init sync * Only Log Active Balances (#2485) * only log active balance * dont need () * change logging (#2487) * fix chainstart waiting on rpc server (#2488) * shift ticker to after activation (#2489) * Add drain script (#2418) * Add drain script * Fix script to drain contracts from newest to oldest * Add README * remove comments * Only after block 400k, look up by deposit event * issue warn log on disconnecting peer instead of error (#2491) * Display Only Active Validator Data (#2490) * Fix Validator Status Field in RPC Server (#2492) * fix status of key * status test fix * fmt * 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 * add production config for testnet release (#2493) * Lookup Validator Index in State in Status Check (#2494) * state lookup * refactor duplicate code * refactor with mapping * fix broken tests * finish refactor * merged master * Starting, I need get_epoch_start_shard * updated EpochCommitteeCount and fixed tests * implemented ShardDelta * test for ShardDelta * implemented EpochStartShard * added epoch out of bound test * test for accurate start shard * lint * need to use changes from latest crosslinks * added BaseReward and totalActiveBalance * added test for base reward * merged master * all tests passing * start testing * done * fixed tests * addressed shay's feedback * Implement Attestation Delta for v0.6 (#2646) * update process crosslink and update existing tests * added a test case to cover no crosslink changes * more test * preston's feedback * spellings * ValidatorStatus Estimating Activation RPC Server (#2469) * fix spacing * working on position in queue * fmt * spacing * feedback * tests * rename * Only Perform Initial Sync With a Single Peer (#2471) * fix spacing * use send instead of broadcast in initial sync * 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> * SSZ web api for decoding input data (#2473) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * standardize slot numbers (#2475) * Add CORS for ssz api (#2476) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * needed CORS * 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 * Update Prysm README (#2477) * README updated * readme updates * no err throw (#2479) * Fix Status Nil Pointer Error (#2480) * no err throw * nil errors * 3.175 (#2482) * Better Error Message if Failing to Exit Initial Sync (#2483) * no err throw * nil errors * better error on init sync * Only Log Active Balances (#2485) * only log active balance * dont need () * change logging (#2487) * fix chainstart waiting on rpc server (#2488) * shift ticker to after activation (#2489) * Add drain script (#2418) * Add drain script * Fix script to drain contracts from newest to oldest * Add README * remove comments * Only after block 400k, look up by deposit event * issue warn log on disconnecting peer instead of error (#2491) * Display Only Active Validator Data (#2490) * Fix Validator Status Field in RPC Server (#2492) * fix status of key * status test fix * fmt * 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 * add production config for testnet release (#2493) * Lookup Validator Index in State in Status Check (#2494) * state lookup * refactor duplicate code * refactor with mapping * fix broken tests * finish refactor * merged master * Starting, I need get_epoch_start_shard * updated EpochCommitteeCount and fixed tests * implemented ShardDelta * test for ShardDelta * implemented EpochStartShard * added epoch out of bound test * test for accurate start shard * lint * need to use changes from latest crosslinks * added BaseReward and totalActiveBalance * added test for base reward * implemented process_attestation_delta * comments * comments * merged master * all tests passing * start testing * done * merged master * fixed tests * tests, more to come * tests done * lint * spaces over tabs * addressed shay's feedback * merged master * Implement process_rewards_and_penalties for 0.6 (#2665) * update process crosslink and update existing tests * added a test case to cover no crosslink changes * more test * preston's feedback * spellings * ValidatorStatus Estimating Activation RPC Server (#2469) * fix spacing * working on position in queue * fmt * spacing * feedback * tests * rename * Only Perform Initial Sync With a Single Peer (#2471) * fix spacing * use send instead of broadcast in initial sync * 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> * SSZ web api for decoding input data (#2473) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * standardize slot numbers (#2475) * Add CORS for ssz api (#2476) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * needed CORS * 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 * Update Prysm README (#2477) * README updated * readme updates * no err throw (#2479) * Fix Status Nil Pointer Error (#2480) * no err throw * nil errors * 3.175 (#2482) * Better Error Message if Failing to Exit Initial Sync (#2483) * no err throw * nil errors * better error on init sync * Only Log Active Balances (#2485) * only log active balance * dont need () * change logging (#2487) * fix chainstart waiting on rpc server (#2488) * shift ticker to after activation (#2489) * Add drain script (#2418) * Add drain script * Fix script to drain contracts from newest to oldest * Add README * remove comments * Only after block 400k, look up by deposit event * issue warn log on disconnecting peer instead of error (#2491) * Display Only Active Validator Data (#2490) * Fix Validator Status Field in RPC Server (#2492) * fix status of key * status test fix * fmt * 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 * add production config for testnet release (#2493) * Lookup Validator Index in State in Status Check (#2494) * state lookup * refactor duplicate code * refactor with mapping * fix broken tests * finish refactor * merged master * Starting, I need get_epoch_start_shard * updated EpochCommitteeCount and fixed tests * implemented ShardDelta * test for ShardDelta * implemented EpochStartShard * added epoch out of bound test * test for accurate start shard * lint * need to use changes from latest crosslinks * added BaseReward and totalActiveBalance * added test for base reward * implemented process_attestation_delta * comments * comments * merged master * all tests passing * start testing * done * merged master * fixed tests * tests, more to come * tests done * lint * spaces over tabs * addressed shay's feedback * starting but need to merge a few things... * tests * fmt * Update Slot Processing and State Transition v0.6 (#2664) * edit state transition to add slot processing logic, reorder logic * fix build * lint * tests passing * spacing * tests pass * imports * passing tests * Implement Process Epoch for 0.6 (#2675) * can't find process j f functons * implemented process_epoch * tests done * lint * nishant's feedback * stupid goland replace * goimports * Update CommitteeAssignment (#2693) * cleaned up skipped tests for core processing (#2697) * Process Block Attestations v0.6 (#2650) * attestation.go is ready, tests not * ready for review * fixing linter issues * modified Crosslink and AttestationData proto fields to spec 2.0,marked deprecated fields * gazelle * fixed tests * fixed error * add att processing: * process atts * error msg * finish process attestations logic * spacing * ssz move * inclusion delay failure passing * more attestation tests * more att tests passing * more tests * ffg data mismatching test * ffg tests complete * gofmt * fix testing to match attestation updates * ssz * lint * Fixed Skipped Tests for RPC Server (#2712) * Remove Obsolete Deposit Proto Objects (#2673) * remove deposit data * remove deposit input * fix references * remove deposit helpers * fix all refs * gaz * rgene proto * fix all tests * remove deposit data deprecated field * fix remaining references * fix all tests * fix lint * regen proto * fix test * Remove Deprecated Protobuf State Fields (#2713) * Remove Deprecated Protobuf Crosslink/Slashing/Block Fields (#2714) * Remove Deprecated Beacon Block Proto Fields (#2717) * Remove Deprecated Attestation Proto Fields (#2723) * Cache Shuffled Validator Indices (#2682) * YAML shuffle tests for v0.6 (#2667) * new shuffle tests * added comment for exported function * fix format and print * added config files handling * gazelle fix * shuffle test debugging * added shuffle list and benchmark * hash function addition from nishant code * gazelle fix * remove unused function * few minor changes * add test to test protos optimization * test a bigger list * remove commented code * small changes * fix spec test and test indices to pass * remove empty line * abstraction of repeated code and comment arrangement * terence change requests * fix new test * add small comment for better readability * change from unshuflle to shuffle * comment * better comment * fix all tests * Remove Latest Block (#2721) * lint * remove latest block * lint * add proto * fix build * Fix Deposit Trie (#2686) * remove deposit data * remove deposit input * fix references * remove deposit helpers * fix all refs * gaz * rgene proto * fix all tests * remove deposit data deprecated field * fix remaining references * fix all tests * fix lint * new tests with contract * gaz * more tests * fixed bugs * new test * finally fixed it * gaz * fix test * Remove Committee Cache (#2729) * Benchmark Compute Committee (#2698) * Fixed Skipped Attestation Tests (#2730) * Optimize Shuffled Indices Cache (#2728) * Refactor Deposit Contract Test Setup (#2731) * add new package * fix all tests * lint * change hash function (#2732) * Remove Deprecated Validator Protobuf (#2727) * Remove deprecated validator protos * Fix to comments * Fix most of skipped tests (#2735) * Optimize Base Reward Calculation (#2753) * benchmark process epoch * revert prof.out * Add some optimizations * beware where we use ActiveValidatorIndices... * revert extra file * gaz * quick commit to get feedback * revert extra file * started fixing tests * fixed broken TestProcessCrosslink_NoUpdate * gaz * cache randao seed * fixed all the tests * fmt and lint * spacing * Added todo * lint * revert binary file * started regression test * basic tests done * using a fifo for active indices cache * using a fifo for active count cache * using a fifo for total balance cache * using a fifo for active balance cache * using a fifo for start shard cache * using a fifo for seed cache * gaz * clean up * fixing tests * fixed all the core tests * fixed all the tests!!! * lint * comment * rm'ed commented code * cache size to 1000 should be good enough * optimized base reward * revert binary file * Added comments to calculate adjusted quotient outside * removed deprecated configs (#2755) * Optimize Process Eth1 Data Vote (#2754) * Cleanup and Docs update (#2756) * Add graffiti and update generate seed (#2759) * Benchmark Process Block with Attestations (#2758) * Tidying up Godoc for Core Package (#2762) * Clean up Old RPC Endpoints (#2763) * Update RPC end point for Proposer (#2767) * add RequestBlock * run mockgen * implemented RequestBlock * updated proto definitions * updated tests * updated validator attest tests * done * comment * todo issue * removed unused proto * Cache Active Validator Indices, Count, and Balances (#2737) * Update Deposit Contract (#2648) * lint * add new contract * change version * remove log * generating abi and binary files * fix tests * update to current version * new changes * add new hash function * save hashed nodes * add more things * new method * add update to trie * new stuff * gaz * more stuff * finally fixed build * remove deposit data * Revert "remove deposit data" This reverts commit 9085409e91be0c94550af10290eaad72ad40a6de. * more changes * lint and gaz * lint * Update Shard Helpers for 0.6 (#2497) * ValidatorStatus Estimating Activation RPC Server (#2469) * fix spacing * working on position in queue * fmt * spacing * feedback * tests * rename * Only Perform Initial Sync With a Single Peer (#2471) * fix spacing * use send instead of broadcast in initial sync * 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> * SSZ web api for decoding input data (#2473) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * standardize slot numbers (#2475) * Add CORS for ssz api (#2476) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * needed CORS * 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 * Update Prysm README (#2477) * README updated * readme updates * no err throw (#2479) * Fix Status Nil Pointer Error (#2480) * no err throw * nil errors * 3.175 (#2482) * Better Error Message if Failing to Exit Initial Sync (#2483) * no err throw * nil errors * better error on init sync * Only Log Active Balances (#2485) * only log active balance * dont need () * change logging (#2487) * fix chainstart waiting on rpc server (#2488) * shift ticker to after activation (#2489) * Add drain script (#2418) * Add drain script * Fix script to drain contracts from newest to oldest * Add README * remove comments * Only after block 400k, look up by deposit event * issue warn log on disconnecting peer instead of error (#2491) * Display Only Active Validator Data (#2490) * Fix Validator Status Field in RPC Server (#2492) * fix status of key * status test fix * fmt * 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 * add production config for testnet release (#2493) * Lookup Validator Index in State in Status Check (#2494) * state lookup * refactor duplicate code * refactor with mapping * fix broken tests * finish refactor * merged master * updated EpochCommitteeCount and fixed tests * implemented ShardDelta * test for ShardDelta * implemented EpochStartShard * added epoch out of bound test * test for accurate start shard * lint * Update Genesis State Function to v0.6 (#2465) * add pseudocode * make changes * fix all tests * fix tests * lint * regen protos and mocks * regenerated protos * started fixing core * all core tests passing! * removed shared/forkutils * started fixing blockchain package * lint * updating rpc package * add back deleted stuff * add back deleted stuff that was deleted accidentally * add back protos and mocks * fix errors * fix genesis issue * fix genesis issue for slot ticker * fix all genesis errors * fix build files * temp change for go-ssz * fix test * Revert "temp change for go-ssz" This reverts commit 3411cb9d6d519cb521181486debc3b21603c8873. * update to latest go-ssz * unstaged changes * Update Attester Server RPC Calls (#2773) * Update config and function parameters to v0.7 (#2791) * Minor Updates to 0.7 (#2795) * Refactor Deposit Flow and Cleanup Tests (#2788) * More WIP on cleaning deposit flow * Fix tests * Cleanup and imports * run gazelle * Move deposit to block_operations * gazelle * Update beacon-chain/core/blocks/block_operations.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * Fix docs * Remove unneeded calculations * Fix tests * Fix tests finally (?) * Optimize Committee Assignment RPC (#2787) * Update BlockRoot to BlockHash (#2816) * Fix Final Missing Items in Block Processing v0.6 (#2710) * override config successfully * passes processing * add signing root helper * blockchain tests pass * tests blocked by signing root * lint * fix references * fix protos * proper use of signing root * only few failing tests now * fix final test * tests passing * lint and imports * rem unused * Update beacon-chain/core/blocks/block_operations.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * lint * Update beacon-chain/attestation/service_test.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * Update beacon-chain/db/block_test.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * rename to hash tree root * rename decode to unmarshal * fix * use latest ssz * all tests passing * lint * fmt * Add Config YAML for Spec Tests (#2818) * Align Protobuf Type Names (#2825) * gofmt * Revert "Align Protobuf Type Names (#2825)" (#2827) This reverts commit 882d067144c674bbf4eeee00404acaa0a9b1fd33. * Update Domain Related Functions (#2832) * Add Functions for Compressed and Uncompressed HashG2 With Domain (#2833) * add tests * gaz * lint * Revert "Add Functions for Compressed and Uncompressed HashG2 With Domain (#2833)" (#2835) This reverts commit 7fb2ebf3f12f043d7bd12f43500dc2bd133df573. * Add ConvertToPb to package testutil (#2838) * Block Processing Bug Fixes (#2836) * Update types PB with Size Tags (#2840) * Epoch processing spec tests (#2814) * Remove Deposit Index (#2851) * Shuffle tests revisited (#2829) * first commit * remove old files, add log * remove duplicate yaml testing code * reduce visability * nishant feedback changes * skip TestFromYaml_Pass * added tags to bazel build * gazelle fix * remove unused vars * adda back config * remove config handling * remove unused var * gazelle fix * SSZ compatibility test for protobufs (#2839) * update workspace spec sha * remove yamls from branch * BLS spec tests (#2826) (#2856) * bls spec tests * add more bls tests * use ioutil instead of bazel runfiles * dont read bytes * skip tests that overflow uint64 * manually fix input data * add tests * lint and gaz * add all new changes * some refactoring, cleanup, remove new API methods that only exist for tests * gaz * Remove yamls, skip test * Slot processing spec test (#2813) * eth1data rpc endpoint (#2733) * eth1data rpc endpoint * first version * comment added * gazelle fix * new function to go once over the deposit array * fix tests * export DepositContainer * terence feedback * move structure decleration * binary search * fix block into Block * preston feedback * keep slice sorted to remove overhead in retrival * merge changes * feedback * update to the latest go-ssz * revert change * chnages to fit new ssz * revert merge reversion * go fmt goimprts duplicate string * exception for lint unused doesParentExist * feedback changes * latesteth1data to eth1data * goimports and stop exposing Eth1Data * revert unneeded change * remove exposure of DepositContainer * feedback and fixes * fix workspace duplicate dependancy * greatest number of deposits at current height * add count votes function * change method name * revert back to latesteth1data * latesteth1data * preston feedback * seperate function add tests fix bug * stop exposing voteCountMap * eth1data comment fix * preston feedback * fix tests * new proto files * workspace to default version of ssz * new ssz * chnage test size * marshalled marshaled * Attesting Indices Fix (#2862) * add change * fix one test * fix all tests * add test * clear cache * removed old chaintest, simulated backend and state generator (#2863) * Block Processing Sanity Spec Tests (#2817) * update PrevEpoch * add new changes * shift to blocks package * add more changes * new changes * updated pb with size tags * add new changes * fix errors * uncomment code * more changes * add new changes * rename and lint * gaz * more changes * proccess slot SigningRoot instead of HashTreeRoot * ensure yaml generated structs work * block sanity all passing * minimal and mainnet all pass * remove commented code * fix one test * fix all tests * fix again * no state comparison * matching spec * change target viz * comments gazelle * clear caches before test cases * latest attempts * clean up test format * remove debugging log, remove yaml * unskip attestation * remove skip, check post state, diff state diffs * handle err * add bug fixes * fixed one more bug * fixed churn limit bug * change hashProto to HashTreeRoot * all tests pass :) * fix all tests * gaz * add regression tests * fix test bug * Mutation testing fixes for beacon-chain/core/helpers/attestation.go (#2868) * mutation testing for attestation.go * new line * lint * revert fmt.Errorf deletion * gofmt * Add some fixes for mutation testing on blocks.go (#2869) * Fix sizes * gaz * Spec freeze release candidate spectests * Align Protobuf Type Names (#2872) * Removes some deprecated fields from protobuf (#2877) * search and replace checkpoints * fix tests, except spec tests * Update Configs for Freeze (#2876) * update configs * updated minimal configs * almost there * all tests passing except for spec tests * better comment for MinGenesisTime * done, ready for review * rm seconds per day * feedback * Mutation testing fixes for beacon-chain/core/helpers/committee.go (#2870) * Add some fixes for mutation testing on blocks.go * working on mutation testing fo committee.go * gofmt * goimports * update readme target * update latest sha for spec tests * fix build * Update State Transition Function (#2867) * Change Base Reward Factor (#2888) * Update Freeze Spec Simplification Section - part 1 (#2893) * finished changes to attesting_indices * removed index_count <= 2**40 requirement * lint * reverted index_count <= 2**40 check * added short cut len(a) > len(b) * Update justification bits (#2894) * updated all the helper pseudocodes (#2895) * Make Constants Explicit and Minor Cleanups (#2898) * Rename outdated configs, make constants explicitly delcared * Remove activate_validator, not needed * Remove GenesisSlot and GenesisEpoch * Remove unused import * Move Block Operation Length Checks to ProcessOperations (#2900) * Move block operation length checks to ProcessOperations * Write tests for each length check in ProcessOperations * Remove unneeded test * Move checks to a new function * Move duplicate check back into ProcessOperations * reorder proto fields (#2902) * Slashing Penalty Calculation Change (#2889) * lint * change config val * add max helper * changes to slashing and process slashing, add a min function for integers * gaz * fix failing tests * fix test * fixed all tests * Change Yaml tag * lint * remove gc hack * fix test * gaz * preston's comments * change failing field * fix and regen proto * lint * Implement Compact Committee Root (#2897) * add tags * add function * add new code * add function * add all new changes * lint * add tests * fix tests * fix more tests * fix all outstanding tests * gaz * Update beacon-chain/core/helpers/committee.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * comment * Remove deprecated fields from attestation data (#2892) * fix broken tests * remove comment * fixes * Update Deposit Contract (#2903) * update to new contract * fix references * fix tests * fix some more tests * fix local deposit trie * gaz * shays review * more changes * update WORKSPACE to use 0.8 spec tests * Perform Mutesting in Helpers Package (#2912) * Perform mutesting on validator * Mutesting in helpers package * Mutested eth1data * s/volundary/voluntary (#2914) * Update BLS Domain (#2916) * change from integer to byte slice * add test * fix func for bytes4 * Fix Spec tests (#2907) * fix panics * handle failed transitions * remove log * fix to protos * new changes * remove i * change ssz commit * new changes * update epoch tests * fix epoch testing * fix shuffle tests * fix test * Perform Mutesting in Epoch and State Packages (#2913) * done with updates (#2890) * Add Max Size Tag for Protobuf Fields (#2908) * No more space between ssz-size numbers * Regen pb.go * Fixed a few incorrect proto fields (#2926) * Update Validator Workflow (#2906) * Justification spec tests (#2896) * update go-ssz * Fix SSZ Compatibility Test (#2924) * figuring out how to seqeeze in multiple fields in a tag for pb * Added max tags and regenerated pb.go * updated to new standard * New bitfield types in proto (#2915) * Cast bytes to correct bitfield, failing tests now though * Add forked gogo/protobuf until https://github.com/gogo/protobuf/pull/582 * remove newline * use proper override for gogo-protobuf * fix a few tags * forgot to include custody bits and Slashable not used * Update yaml struct to use pb * Update workspace to use latest ssz * All tests fail * Use the latest go-ssz commit * All pass except for state (too long to taste) * Update test.proto * Added rest of the tests * use 1 justification bits * fix tag test, apply @rauljordan's suggestion * add IsEmpty and use ssz struct * delete unused file * Update zero hash to sha256().digest() (#2932) * update zero hash * change zero hash to conform with spec * goimports * add test for zero hash * Revert "Update zero hash to sha256().digest() (#2932)" (#2933) This reverts commit b926ae0667b18aef3f7e0e8ec8a9b3e98b3d2ccc. * Fix compress validator (#2936) * fix compress validator * update go-ssz * build without the bytes test * try minimal * Block operations spec tests (#2828) * update PrevEpoch * debugging proposer slashing tests * fmt * add deposit tests * Added skeleton for attestation minimal test * remove bazel runfiles thing * add deposits * proposer slashing test is done * comment * complete test, some failing cases * sig verify on * refactor slightly to support mainnet and minimal * included mainnet stuff * Add block header tests * volunary exit done * transfer done * new changes * fix all tests * update domain functions * fmt * fixed lint * fixed all the tests * fixed a transfer bug * finished attester slashing tests and fixed a few bugs * started fixing... * cleaned up exit and proposr slashing tests * attester slashing passing * refactored deposit tests * remove yamls, update ssz * Added todo for invalid sig * gazelle * deposits test done! * transfer tests done and pass! * fix attesting indices bug * temporarily disabled signature verification * cleaned up most of the block ops, except for att * update committee AttestingIndices * oops, i dont know how or why i changed this file * fixed all the rpc tests * 6 more failing packages * test max transfer in state package * replace hashproto with treehash in package blockchain * gazelle * fix test * fix test again * fixed transition test, 2 more left * expect an error in attestation tests * Handle panic when no votes in aggregate attestation * clear cache * Add differ, add logging, tests pass yay * remove todo, add tag * fixed TestReceiveBlock_RemovesPendingDeposits * TestAttestationMinimal/success_since_max_epochs_per_crosslink fails now... * handle panics * Transfer tests were disabled in https://github.com/ethereum/eth2.0-specs/pull/1238 * more fixes after merge, updating block_operations.yaml.go to match yaml * figuring out how to seqeeze in multiple fields in a tag for pb * Added max tags and regenerated pb.go * updated to new standard * New bitfield types in proto (#2915) * Cast bytes to correct bitfield, failing tests now though * Add forked gogo/protobuf until https://github.com/gogo/protobuf/pull/582 * remove newline * fix references and test panic * change to proto objects from custom types * fix panics in tests * use proper override for gogo-protobuf * fix a few tags * fix tests * forgot to include custody bits and Slashable not used * fix tests * sort again * Update yaml struct to use pb * Update workspace to use latest ssz * All tests fail * Use the latest go-ssz commit * All pass except for state (too long to taste) * Update test.proto * Added rest of the tests * use 1 justification bits * minor fixes * wrong proto.Equal * fix tag test, apply @rauljordan's suggestion * add IsEmpty and use ssz struct * inverted logic * update zero hash * change zero hash to conform with spec * goimports * add test for zero hash * Revert "Update zero hash to sha256().digest() (#2932)" This reverts commit b926ae0667b18aef3f7e0e8ec8a9b3e98b3d2ccc. * update ssz, fix import, shard big test * checkpoint * fix compress validator * update go-ssz * missing import * missing import * tests now pass * been a good day * update test size * fix lint * imports and remove unused const * update bazel jobs flag * update bazel jobs flag * satisfy deprecation warning * Add ssz regression tests for investigation of test failures in PR #2828 (#2935) * Adding regression tests for investigation * add another example * goimports * add quick comment about test case 0 * Epoch Process Slashings Spec Tests (#2930) * updated justification bits, tests passing OK * regen pb.go, clarify bit operations * justification and finalization tests; failing * Add wrapper, so we call the correct method * checkpoint * Update tar ref * TestSlashingsMinimal/small_penalty still failing * Use bigint instead of () and float * Revert a bad merge from workspace * Fmt * add note about https://github.com/ethereum/eth2.0-specs/issues/1284 * improve tests * gaz * Perform Mutesting In core/state Package (#2923) * Perform mutesting on validator * Mutesting in helpers package * Mutested eth1data * Perform mutesting in epoch and state packages * Fix voluntary exits test * Fix typo * Fix comments * Fix formatting * Fix error message * Handle missing errors * Handle all errors * Perform Mutesting In State Package * Fix block roots size * Remove comment * Fix error * add backend service * Add ssz compatibility tests for signing root (#2931) * Added tests for signing root * imports * fix lint on travis * fix bes flag * Final updates spec tests (#2901) * set up tests * need to reorder pbs * figuring out how to seqeeze in multiple fields in a tag for pb * Added max tags and regenerated pb.go * updated to new standard * New bitfield types in proto (#2915) * Cast bytes to correct bitfield, failing tests now though * Add forked gogo/protobuf until https://github.com/gogo/protobuf/pull/582 * remove newline * use proper override for gogo-protobuf * fix a few tags * forgot to include custody bits and Slashable not used * playing with tags idea, can revert this commit later * fixes after merge * reset caches before test * all epoch tests pass * gazelle * Genesis trigger (#2905) * genesis change * integrate changes * bodyroot * remove unused code * HasChainStarted * added isValidGenesisState to ProcessLog * state fix * fix gazelle * uint64 timestamp * SetupInitialDeposits adds proof * remove unneeded parts of test * deposithash * merkleproof from spec utils * Revert "merkleproof from spec utils" This reverts commit 1b0a124352e7b62e3c3220fb0d64e295b474b430. * fix test failures * chain started and hashtree root in tests * simple eth2genesistime * eth2 genesis time * fix zero time * add comment * remove eth1data and feedback * fix build issues * main changes: add fields and methods to track active validator count * gaz * fix test * fix more tests * improve test utils * shift spec method to state package, improve test setup * fixed log processing tests * remove log * gaz * fix invalid metric * use better tag names, not latest * Remove Block Signing Root (#2945) * replace with hash tree root * Revert "replace with hash tree root" This reverts commit 77d8f16a160e42f3c3d598df66c30a66657de1bf. * replace with signing root instead * remove one more ref * Create Test Runner for Genesis State Spec Tests (#2940) * genesis change * integrate changes * bodyroot * remove unused code * HasChainStarted * added isValidGenesisState to ProcessLog * state fix * fix gazelle * uint64 timestamp * SetupInitialDeposits adds proof * remove unneeded parts of test * deposithash * merkleproof from spec utils * Revert "merkleproof from spec utils" This reverts commit 1b0a124352e7b62e3c3220fb0d64e295b474b430. * fix test failures * chain started and hashtree root in tests * simple eth2genesistime * eth2 genesis time * fix zero time * add comment * remove eth1data and feedback * fix build issues * main changes: add fields and methods to track active validator count * gaz * fix test * fix more tests * improve test utils * Start genesis spec tests * shift spec method to state package, improve test setup * Add Genesis validity spec test * Bazel * fixed log processing tests * remove log * gaz * fix invalid metric * use json tags * fix up latest changes * Fix most of test errors * Attempts to see whats wrong with genesis validity * Fix merge * skip minimal * fix state test * new commit * fix nishant comment * gaz * Static check on branch spec-v0.6 (#2946) * Ran staticcheck and fixed the important complains * commit * commit * Create Test Runner for Genesis State Spec Tests (#2940) * genesis change * integrate changes * bodyroot * remove unused code * HasChainStarted * added isValidGenesisState to ProcessLog * state fix * fix gazelle * uint64 timestamp * SetupInitialDeposits adds proof * remove unneeded parts of test * deposithash * merkleproof from spec utils * Revert "merkleproof from spec utils" This reverts commit 1b0a124352e7b62e3c3220fb0d64e295b474b430. * fix test failures * chain started and hashtree root in tests * simple eth2genesistime * eth2 genesis time * fix zero time * add comment * remove eth1data and feedback * fix build issues * main changes: add fields and methods to track active validator count * gaz * fix test * fix more tests * improve test utils * Start genesis spec tests * shift spec method to state package, improve test setup * Add Genesis validity spec test * Bazel * fixed log processing tests * remove log * gaz * fix invalid metric * use json tags * fix up latest changes * Fix most of test errors * Attempts to see whats wrong with genesis validity * Fix merge * skip minimal * fix state test * new commit * fix nishant comment * gaz * Add Back Eth1Data After Bad Merge (#2953) * eth1data rpc endpoint * first version * comment added * gazelle fix * new function to go once over the deposit array * fix tests * export DepositContainer * terence feedback * move structure decleration * binary search * fix block into Block * preston feedback * keep slice sorted to remove overhead in retrival * merge changes * feedback * update to the latest go-ssz * revert change * chnages to fit new ssz * revert merge reversion * go fmt goimprts duplicate string * exception for lint unused doesParentExist * feedback changes * latesteth1data to eth1data * goimports and stop exposing Eth1Data * revert unneeded change * remove exposure of DepositContainer * feedback and fixes * fix workspace duplicate dependancy * greatest number of deposits at current height * add count votes function * change method name * revert back to latesteth1data * latesteth1data * preston feedback * seperate function add tests fix bug * stop exposing voteCountMap * eth1data comment fix * preston feedback * fix tests * new proto files * workspace to default version of ssz * new ssz * chnage test size * marshalled marshaled * everything passing again * add skip reason * cleanup deposit contract slightly * remove unused chainstart param (#2957) * fix breakages from #2957 (#2958) * fix breakages from #2957 * oops * Fix deposit input data (#2956) * fix deposit input data * fix deposit input data * gaz and build fix * Add Tests for Genesis Deposits Caching (#2952) * remove old method and replace with an improved one * add new files * gaz * add test * added all these tests * gaz * Apply suggestions from code review Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * fix merkle proof error * fix config * Minor fixes for runtime (#2960) * Minor fixes for runtime * use comments * goimports * revert beacon-chain/core/state/state.go and fix comment for lint * fix test too * Minor runtime fixes (#2961) * Add support for bundling binaries and fix ARM64 builds (#2970) * Add support for bundling binaries and fix ARM64 builds * Fix exports * ignore manual targets wrt vis check * fix graknlabs * update spec tests (#2979) * hotfix until https://github.com/graknlabs/bazel-distribution/pull/169 * Overflow slashing calculation fix (#2977) * Runtime Fixes (#2736) * first batch of fixes * add log * more fixes * another bug fixed * update deposit contract and other fixes * remove logs * new changes * fixes * fix build * remove config * more fixes * add more changes * add back todo * make compute state root work * remove commented out and fix condition * fix commented code * fix config * gaz * remove flag * remove init * new fixes * fix test * one more fix * fix all tests * change back config * fix one more bug * remove logging bool * Only build test targets when running bazel test //... * Align prysm to spec v0.8.1 (#2978) * Bazel problem * Update zero hash representation to be clear (cosmetic) * Update minor cosmetic fixes * Fixed lookahead off by 1 * Update randao.go * update ssz * test failures fixed * test fixes * fix up workspace * lint * fixed errs * Updated pubkey loggings (#2983) * Fix proposer assignment (#2984) * add jvm limits * add jvm limits * Removed logging from state transition functions (#2980) * Match spec on proposer index division (#2985) * Match spec on proposer index division * gaz * fixes * Fix Default Eth1Data (#2982) * fix bug * Update beacon-chain/core/state/transition.go Co-Authored-By: Raul Jordan <raul@prysmaticlabs.com> * more fixes * reg test * Set ejection balance to 1.6 (#2987) * improve block processing log (#2990) * Fix HistoricalRootsLimit (#2989) * fix historical lenght * fix genesis state initialization and test * fix genesis state initialization and test * fix genesis state initialization and test * fix genesis state initialization and test * hack config until https://github.com/prysmaticlabs/prysm/issues/2993 * More Runtime Fixes (#2986) * local changes * add val sig * attester fix * one more fix * fixed all tests * rem validator issue * fix finality issue (#2994) * Fix validator prev balance calculation (#2992) * attester fix * one more fix * fixed all tests * Fix validator prev balances calculation * go fmt * 48 bytes * Fix Querier to handle Deposit Logs Race (#2999) * fix sync issue * fix build * add regression test * add var for magic number * Fix eth1data and deposits (#2996) * Work in progress, eth1data works, deposits are included at the appropriate time, and activation happens at the correct time * revert blockInfo being public * git tests to build, not yet pass though * add tests * some commentary * fix comment * goimports * fmt and remove unused method * Update rules go (#2975) * update rules_go * Fix some cross compile builds stuff * add missing deps * update to 0.19.1 * Update Protobufs to Match Ethereum APIs (#2998) * add beacon block and attestation files * add all types * include all new proto type definitions * add add all proto definitions * fix all comments to say 48 bytes * include latest changes * readd common * no swag * add build file * deps issue * right package names * address feedback, maintain parity between upstream ethereumapis * delete pb * bad gens * Update "Testing Prysm" readme section (#3000) Resolves invalid url link to golangci-lint. * Update badge to version 0.8.1 * elaborate on test skip * revert shared/p2p/options.go * make travis happy with goimports * Update beacon-chain/core/blocks/block.go Co-Authored-By: Preston Van Loon <preston@prysmaticlabs.com>
2019-07-20 00:16:10 +00:00
return &DepositContractDepositEventIterator{contract: _DepositContract.contract, event: "DepositEvent", logs: logs, sub: sub}, nil
}
Spec freeze updates (#2312) * Optimize Shuffled Indices Cache (#2728) * Refactor Deposit Contract Test Setup (#2731) * add new package * fix all tests * lint * change hash function (#2732) * Remove Deprecated Validator Protobuf (#2727) * Remove deprecated validator protos * Fix to comments * Fix most of skipped tests (#2735) * Cache Active Validator Indices, Count, and Balances (#2737) * Optimize Base Reward Calculation (#2753) * benchmark process epoch * revert prof.out * Add some optimizations * beware where we use ActiveValidatorIndices... * revert extra file * gaz * quick commit to get feedback * revert extra file * started fixing tests * fixed broken TestProcessCrosslink_NoUpdate * gaz * cache randao seed * fixed all the tests * fmt and lint * spacing * Added todo * lint * revert binary file * started regression test * basic tests done * using a fifo for active indices cache * using a fifo for active count cache * using a fifo for total balance cache * using a fifo for active balance cache * using a fifo for start shard cache * using a fifo for seed cache * gaz * clean up * fixing tests * fixed all the core tests * fixed all the tests!!! * lint * comment * rm'ed commented code * cache size to 1000 should be good enough * optimized base reward * revert binary file * Added comments to calculate adjusted quotient outside * removed deprecated configs (#2755) * Optimize Process Eth1 Data Vote (#2754) * Cleanup and Docs update (#2756) * Add graffiti and update generate seed (#2759) * Benchmark Process Block with Attestations (#2758) * Tidying up Godoc for Core Package (#2762) * Clean up Old RPC Endpoints (#2763) * Update RPC end point for Proposer (#2767) * add RequestBlock * run mockgen * implemented RequestBlock * updated proto definitions * updated tests * updated validator attest tests * done * comment * todo issue * removed unused proto * Update attesting indices v0.6 (#2449) * sort participants slice * add bitfield functions and tests * added BitfieldBit test * add AttestationParticipantsNew * revert AttestationParticipants to its previous change * add tests * remove verifybitfieldnew * fix tests and remove multiple tests * remove duplicate test * change magic number into ceildiv8 * Implement Justification and finalization Processing (#2448) * Add convert to indexed (#2519) * sort participants slice * add bitfield functions and tests * added BitfieldBit test * add AttestationParticipantsNew * revert AttestationParticipants to its previous change * add tests * remove verifybitfieldnew * fix tests and remove multiple tests * remove duplicate test * start work * convert attestation to indexed attestations * fix test for convert index * remove calling getter * add more tests * remove underscore * changes name to signature (#2535) * update registry updates func (#2521) * update registry updates func * added tests and moved to epoch processing * fixed naming issues * Update Committee Helpers to v0.6.0 (#2398) * Update Committee Helper Part 2 (#2592) * Implement Process Slashings for 0.6 (#2523) * Update Proposer/Attester Slashings and Slashing Helpers (#2603) * Implement Final Updates 0.6 (#2562) * ValidatorStatus Estimating Activation RPC Server (#2469) * fix spacing * working on position in queue * fmt * spacing * feedback * tests * rename * Only Perform Initial Sync With a Single Peer (#2471) * fix spacing * use send instead of broadcast in initial sync * 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> * SSZ web api for decoding input data (#2473) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * standardize slot numbers (#2475) * Add CORS for ssz api (#2476) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * needed CORS * 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 * Update Prysm README (#2477) * README updated * readme updates * no err throw (#2479) * Fix Status Nil Pointer Error (#2480) * no err throw * nil errors * 3.175 (#2482) * Better Error Message if Failing to Exit Initial Sync (#2483) * no err throw * nil errors * better error on init sync * Only Log Active Balances (#2485) * only log active balance * dont need () * change logging (#2487) * fix chainstart waiting on rpc server (#2488) * shift ticker to after activation (#2489) * Add drain script (#2418) * Add drain script * Fix script to drain contracts from newest to oldest * Add README * remove comments * Only after block 400k, look up by deposit event * issue warn log on disconnecting peer instead of error (#2491) * Display Only Active Validator Data (#2490) * Fix Validator Status Field in RPC Server (#2492) * fix status of key * status test fix * fmt * 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 * add production config for testnet release (#2493) * Lookup Validator Index in State in Status Check (#2494) * state lookup * refactor duplicate code * refactor with mapping * fix broken tests * finish refactor * merged master * updated EpochCommitteeCount and fixed tests * implemented ShardDelta * test for ShardDelta * implemented EpochStartShard * added epoch out of bound test * test for accurate start shard * lint * implemented process_final_updates * move to the top of the file * add comment back * gaz * Test for process final updates * fixed tests * fixed all the tests * Update Reward Helper v0.6 (#2470) * added BaseReward * added rewards helper * added test for BaseReward * extra space * move exported function above * update to new spec (#2614) * Update Block Processing Voluntary Exits (#2609) * Update processEth1Data for v0.6 (#2516) * Clean up Helper Functions Part 1 (#2612) * Finalize helper functions for 0.6 (#2632) * Process Beacon Chain Transfers v0.6 (#2642) * add transfers * beacon transfer operations complete * full cov * transfer testing * finished tests * Update beacon-chain/core/blocks/block_operations_test.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * Update beacon-chain/core/blocks/block_operations.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * Implement Process Crosslink From 0.6 (#2460) * Process Block Eth1 Data v0.6 (#2645) * Get attestation data slot v0.6 (#2593) * attestation.go is ready, tests not * ready for review * fixing linter issues * modified Crosslink and AttestationData proto fields to spec 2.0,marked deprecated fields * gazelle * fixed tests * fixed error * error msg * Process Block Deposits v0.6 (#2647) * imports fixes * deposits tests pass * wrapped up gazelle * spacing * Implement Crosslink Delta Rewards for 0.6 (#2517) * update process crosslink and update existing tests * added a test case to cover no crosslink changes * more test * preston's feedback * spellings * ValidatorStatus Estimating Activation RPC Server (#2469) * fix spacing * working on position in queue * fmt * spacing * feedback * tests * rename * Only Perform Initial Sync With a Single Peer (#2471) * fix spacing * use send instead of broadcast in initial sync * 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> * SSZ web api for decoding input data (#2473) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * standardize slot numbers (#2475) * Add CORS for ssz api (#2476) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * needed CORS * 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 * Update Prysm README (#2477) * README updated * readme updates * no err throw (#2479) * Fix Status Nil Pointer Error (#2480) * no err throw * nil errors * 3.175 (#2482) * Better Error Message if Failing to Exit Initial Sync (#2483) * no err throw * nil errors * better error on init sync * Only Log Active Balances (#2485) * only log active balance * dont need () * change logging (#2487) * fix chainstart waiting on rpc server (#2488) * shift ticker to after activation (#2489) * Add drain script (#2418) * Add drain script * Fix script to drain contracts from newest to oldest * Add README * remove comments * Only after block 400k, look up by deposit event * issue warn log on disconnecting peer instead of error (#2491) * Display Only Active Validator Data (#2490) * Fix Validator Status Field in RPC Server (#2492) * fix status of key * status test fix * fmt * 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 * add production config for testnet release (#2493) * Lookup Validator Index in State in Status Check (#2494) * state lookup * refactor duplicate code * refactor with mapping * fix broken tests * finish refactor * merged master * Starting, I need get_epoch_start_shard * updated EpochCommitteeCount and fixed tests * implemented ShardDelta * test for ShardDelta * implemented EpochStartShard * added epoch out of bound test * test for accurate start shard * lint * need to use changes from latest crosslinks * added BaseReward and totalActiveBalance * added test for base reward * merged master * all tests passing * start testing * done * add ProcessBlockHeader v0.6 (#2534) * add ProcessBlockHeader * function has all its dependancies in place * arange the basic ok test * gazzele and skip test update * skip wrong sig test * fmt imports and change requests * goimports fmt * map for struct fields to be location independent * reorder protobuf fields * added tests * gazzle fix * few change requests fixes * revert changes in types.proto * revert changes in types * fix tests * fix lint * fmt imports * fix gazelle * fix var naming * pb update * var naming * tarance change request fixes * fix test * Add Process Registry for Epoch Processing (#2668) * update update-process-registry * added back the old tests * fmt * gaz * Follow up on process block header v0.6 (#2666) * Putting Crosslink Delta Back (#2654) * update process crosslink and update existing tests * added a test case to cover no crosslink changes * more test * preston's feedback * spellings * ValidatorStatus Estimating Activation RPC Server (#2469) * fix spacing * working on position in queue * fmt * spacing * feedback * tests * rename * Only Perform Initial Sync With a Single Peer (#2471) * fix spacing * use send instead of broadcast in initial sync * 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> * SSZ web api for decoding input data (#2473) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * standardize slot numbers (#2475) * Add CORS for ssz api (#2476) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * needed CORS * 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 * Update Prysm README (#2477) * README updated * readme updates * no err throw (#2479) * Fix Status Nil Pointer Error (#2480) * no err throw * nil errors * 3.175 (#2482) * Better Error Message if Failing to Exit Initial Sync (#2483) * no err throw * nil errors * better error on init sync * Only Log Active Balances (#2485) * only log active balance * dont need () * change logging (#2487) * fix chainstart waiting on rpc server (#2488) * shift ticker to after activation (#2489) * Add drain script (#2418) * Add drain script * Fix script to drain contracts from newest to oldest * Add README * remove comments * Only after block 400k, look up by deposit event * issue warn log on disconnecting peer instead of error (#2491) * Display Only Active Validator Data (#2490) * Fix Validator Status Field in RPC Server (#2492) * fix status of key * status test fix * fmt * 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 * add production config for testnet release (#2493) * Lookup Validator Index in State in Status Check (#2494) * state lookup * refactor duplicate code * refactor with mapping * fix broken tests * finish refactor * merged master * Starting, I need get_epoch_start_shard * updated EpochCommitteeCount and fixed tests * implemented ShardDelta * test for ShardDelta * implemented EpochStartShard * added epoch out of bound test * test for accurate start shard * lint * need to use changes from latest crosslinks * added BaseReward and totalActiveBalance * added test for base reward * merged master * all tests passing * start testing * done * fixed tests * addressed shay's feedback * Implement Attestation Delta for v0.6 (#2646) * update process crosslink and update existing tests * added a test case to cover no crosslink changes * more test * preston's feedback * spellings * ValidatorStatus Estimating Activation RPC Server (#2469) * fix spacing * working on position in queue * fmt * spacing * feedback * tests * rename * Only Perform Initial Sync With a Single Peer (#2471) * fix spacing * use send instead of broadcast in initial sync * 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> * SSZ web api for decoding input data (#2473) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * standardize slot numbers (#2475) * Add CORS for ssz api (#2476) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * needed CORS * 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 * Update Prysm README (#2477) * README updated * readme updates * no err throw (#2479) * Fix Status Nil Pointer Error (#2480) * no err throw * nil errors * 3.175 (#2482) * Better Error Message if Failing to Exit Initial Sync (#2483) * no err throw * nil errors * better error on init sync * Only Log Active Balances (#2485) * only log active balance * dont need () * change logging (#2487) * fix chainstart waiting on rpc server (#2488) * shift ticker to after activation (#2489) * Add drain script (#2418) * Add drain script * Fix script to drain contracts from newest to oldest * Add README * remove comments * Only after block 400k, look up by deposit event * issue warn log on disconnecting peer instead of error (#2491) * Display Only Active Validator Data (#2490) * Fix Validator Status Field in RPC Server (#2492) * fix status of key * status test fix * fmt * 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 * add production config for testnet release (#2493) * Lookup Validator Index in State in Status Check (#2494) * state lookup * refactor duplicate code * refactor with mapping * fix broken tests * finish refactor * merged master * Starting, I need get_epoch_start_shard * updated EpochCommitteeCount and fixed tests * implemented ShardDelta * test for ShardDelta * implemented EpochStartShard * added epoch out of bound test * test for accurate start shard * lint * need to use changes from latest crosslinks * added BaseReward and totalActiveBalance * added test for base reward * implemented process_attestation_delta * comments * comments * merged master * all tests passing * start testing * done * merged master * fixed tests * tests, more to come * tests done * lint * spaces over tabs * addressed shay's feedback * merged master * Implement process_rewards_and_penalties for 0.6 (#2665) * update process crosslink and update existing tests * added a test case to cover no crosslink changes * more test * preston's feedback * spellings * ValidatorStatus Estimating Activation RPC Server (#2469) * fix spacing * working on position in queue * fmt * spacing * feedback * tests * rename * Only Perform Initial Sync With a Single Peer (#2471) * fix spacing * use send instead of broadcast in initial sync * 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> * SSZ web api for decoding input data (#2473) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * standardize slot numbers (#2475) * Add CORS for ssz api (#2476) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * needed CORS * 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 * Update Prysm README (#2477) * README updated * readme updates * no err throw (#2479) * Fix Status Nil Pointer Error (#2480) * no err throw * nil errors * 3.175 (#2482) * Better Error Message if Failing to Exit Initial Sync (#2483) * no err throw * nil errors * better error on init sync * Only Log Active Balances (#2485) * only log active balance * dont need () * change logging (#2487) * fix chainstart waiting on rpc server (#2488) * shift ticker to after activation (#2489) * Add drain script (#2418) * Add drain script * Fix script to drain contracts from newest to oldest * Add README * remove comments * Only after block 400k, look up by deposit event * issue warn log on disconnecting peer instead of error (#2491) * Display Only Active Validator Data (#2490) * Fix Validator Status Field in RPC Server (#2492) * fix status of key * status test fix * fmt * 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 * add production config for testnet release (#2493) * Lookup Validator Index in State in Status Check (#2494) * state lookup * refactor duplicate code * refactor with mapping * fix broken tests * finish refactor * merged master * Starting, I need get_epoch_start_shard * updated EpochCommitteeCount and fixed tests * implemented ShardDelta * test for ShardDelta * implemented EpochStartShard * added epoch out of bound test * test for accurate start shard * lint * need to use changes from latest crosslinks * added BaseReward and totalActiveBalance * added test for base reward * implemented process_attestation_delta * comments * comments * merged master * all tests passing * start testing * done * merged master * fixed tests * tests, more to come * tests done * lint * spaces over tabs * addressed shay's feedback * starting but need to merge a few things... * tests * fmt * Update Slot Processing and State Transition v0.6 (#2664) * edit state transition to add slot processing logic, reorder logic * fix build * lint * tests passing * spacing * tests pass * imports * passing tests * Implement Process Epoch for 0.6 (#2675) * can't find process j f functons * implemented process_epoch * tests done * lint * nishant's feedback * stupid goland replace * goimports * Update CommitteeAssignment (#2693) * cleaned up skipped tests for core processing (#2697) * Process Block Attestations v0.6 (#2650) * attestation.go is ready, tests not * ready for review * fixing linter issues * modified Crosslink and AttestationData proto fields to spec 2.0,marked deprecated fields * gazelle * fixed tests * fixed error * add att processing: * process atts * error msg * finish process attestations logic * spacing * ssz move * inclusion delay failure passing * more attestation tests * more att tests passing * more tests * ffg data mismatching test * ffg tests complete * gofmt * fix testing to match attestation updates * ssz * lint * Fixed Skipped Tests for RPC Server (#2712) * Remove Obsolete Deposit Proto Objects (#2673) * remove deposit data * remove deposit input * fix references * remove deposit helpers * fix all refs * gaz * rgene proto * fix all tests * remove deposit data deprecated field * fix remaining references * fix all tests * fix lint * regen proto * fix test * Remove Deprecated Protobuf State Fields (#2713) * Remove Deprecated Protobuf Crosslink/Slashing/Block Fields (#2714) * Remove Deprecated Beacon Block Proto Fields (#2717) * Remove Deprecated Attestation Proto Fields (#2723) * Cache Shuffled Validator Indices (#2682) * YAML shuffle tests for v0.6 (#2667) * new shuffle tests * added comment for exported function * fix format and print * added config files handling * gazelle fix * shuffle test debugging * added shuffle list and benchmark * hash function addition from nishant code * gazelle fix * remove unused function * few minor changes * add test to test protos optimization * test a bigger list * remove commented code * small changes * fix spec test and test indices to pass * remove empty line * abstraction of repeated code and comment arrangement * terence change requests * fix new test * add small comment for better readability * change from unshuflle to shuffle * comment * better comment * fix all tests * Remove Latest Block (#2721) * lint * remove latest block * lint * add proto * fix build * Fix Deposit Trie (#2686) * remove deposit data * remove deposit input * fix references * remove deposit helpers * fix all refs * gaz * rgene proto * fix all tests * remove deposit data deprecated field * fix remaining references * fix all tests * fix lint * new tests with contract * gaz * more tests * fixed bugs * new test * finally fixed it * gaz * fix test * Remove Committee Cache (#2729) * Benchmark Compute Committee (#2698) * Fixed Skipped Attestation Tests (#2730) * Optimize Shuffled Indices Cache (#2728) * Refactor Deposit Contract Test Setup (#2731) * add new package * fix all tests * lint * change hash function (#2732) * Remove Deprecated Validator Protobuf (#2727) * Remove deprecated validator protos * Fix to comments * Fix most of skipped tests (#2735) * Optimize Base Reward Calculation (#2753) * benchmark process epoch * revert prof.out * Add some optimizations * beware where we use ActiveValidatorIndices... * revert extra file * gaz * quick commit to get feedback * revert extra file * started fixing tests * fixed broken TestProcessCrosslink_NoUpdate * gaz * cache randao seed * fixed all the tests * fmt and lint * spacing * Added todo * lint * revert binary file * started regression test * basic tests done * using a fifo for active indices cache * using a fifo for active count cache * using a fifo for total balance cache * using a fifo for active balance cache * using a fifo for start shard cache * using a fifo for seed cache * gaz * clean up * fixing tests * fixed all the core tests * fixed all the tests!!! * lint * comment * rm'ed commented code * cache size to 1000 should be good enough * optimized base reward * revert binary file * Added comments to calculate adjusted quotient outside * removed deprecated configs (#2755) * Optimize Process Eth1 Data Vote (#2754) * Cleanup and Docs update (#2756) * Add graffiti and update generate seed (#2759) * Benchmark Process Block with Attestations (#2758) * Tidying up Godoc for Core Package (#2762) * Clean up Old RPC Endpoints (#2763) * Update RPC end point for Proposer (#2767) * add RequestBlock * run mockgen * implemented RequestBlock * updated proto definitions * updated tests * updated validator attest tests * done * comment * todo issue * removed unused proto * Cache Active Validator Indices, Count, and Balances (#2737) * Update Deposit Contract (#2648) * lint * add new contract * change version * remove log * generating abi and binary files * fix tests * update to current version * new changes * add new hash function * save hashed nodes * add more things * new method * add update to trie * new stuff * gaz * more stuff * finally fixed build * remove deposit data * Revert "remove deposit data" This reverts commit 9085409e91be0c94550af10290eaad72ad40a6de. * more changes * lint and gaz * lint * Update Shard Helpers for 0.6 (#2497) * ValidatorStatus Estimating Activation RPC Server (#2469) * fix spacing * working on position in queue * fmt * spacing * feedback * tests * rename * Only Perform Initial Sync With a Single Peer (#2471) * fix spacing * use send instead of broadcast in initial sync * 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> * SSZ web api for decoding input data (#2473) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * standardize slot numbers (#2475) * Add CORS for ssz api (#2476) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * needed CORS * 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 * Update Prysm README (#2477) * README updated * readme updates * no err throw (#2479) * Fix Status Nil Pointer Error (#2480) * no err throw * nil errors * 3.175 (#2482) * Better Error Message if Failing to Exit Initial Sync (#2483) * no err throw * nil errors * better error on init sync * Only Log Active Balances (#2485) * only log active balance * dont need () * change logging (#2487) * fix chainstart waiting on rpc server (#2488) * shift ticker to after activation (#2489) * Add drain script (#2418) * Add drain script * Fix script to drain contracts from newest to oldest * Add README * remove comments * Only after block 400k, look up by deposit event * issue warn log on disconnecting peer instead of error (#2491) * Display Only Active Validator Data (#2490) * Fix Validator Status Field in RPC Server (#2492) * fix status of key * status test fix * fmt * 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 * add production config for testnet release (#2493) * Lookup Validator Index in State in Status Check (#2494) * state lookup * refactor duplicate code * refactor with mapping * fix broken tests * finish refactor * merged master * updated EpochCommitteeCount and fixed tests * implemented ShardDelta * test for ShardDelta * implemented EpochStartShard * added epoch out of bound test * test for accurate start shard * lint * Update Genesis State Function to v0.6 (#2465) * add pseudocode * make changes * fix all tests * fix tests * lint * regen protos and mocks * regenerated protos * started fixing core * all core tests passing! * removed shared/forkutils * started fixing blockchain package * lint * updating rpc package * add back deleted stuff * add back deleted stuff that was deleted accidentally * add back protos and mocks * fix errors * fix genesis issue * fix genesis issue for slot ticker * fix all genesis errors * fix build files * temp change for go-ssz * fix test * Revert "temp change for go-ssz" This reverts commit 3411cb9d6d519cb521181486debc3b21603c8873. * update to latest go-ssz * unstaged changes * Update Attester Server RPC Calls (#2773) * Update config and function parameters to v0.7 (#2791) * Minor Updates to 0.7 (#2795) * Refactor Deposit Flow and Cleanup Tests (#2788) * More WIP on cleaning deposit flow * Fix tests * Cleanup and imports * run gazelle * Move deposit to block_operations * gazelle * Update beacon-chain/core/blocks/block_operations.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * Fix docs * Remove unneeded calculations * Fix tests * Fix tests finally (?) * Optimize Committee Assignment RPC (#2787) * Update BlockRoot to BlockHash (#2816) * Fix Final Missing Items in Block Processing v0.6 (#2710) * override config successfully * passes processing * add signing root helper * blockchain tests pass * tests blocked by signing root * lint * fix references * fix protos * proper use of signing root * only few failing tests now * fix final test * tests passing * lint and imports * rem unused * Update beacon-chain/core/blocks/block_operations.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * lint * Update beacon-chain/attestation/service_test.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * Update beacon-chain/db/block_test.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * rename to hash tree root * rename decode to unmarshal * fix * use latest ssz * all tests passing * lint * fmt * Add Config YAML for Spec Tests (#2818) * Align Protobuf Type Names (#2825) * gofmt * Revert "Align Protobuf Type Names (#2825)" (#2827) This reverts commit 882d067144c674bbf4eeee00404acaa0a9b1fd33. * Update Domain Related Functions (#2832) * Add Functions for Compressed and Uncompressed HashG2 With Domain (#2833) * add tests * gaz * lint * Revert "Add Functions for Compressed and Uncompressed HashG2 With Domain (#2833)" (#2835) This reverts commit 7fb2ebf3f12f043d7bd12f43500dc2bd133df573. * Add ConvertToPb to package testutil (#2838) * Block Processing Bug Fixes (#2836) * Update types PB with Size Tags (#2840) * Epoch processing spec tests (#2814) * Remove Deposit Index (#2851) * Shuffle tests revisited (#2829) * first commit * remove old files, add log * remove duplicate yaml testing code * reduce visability * nishant feedback changes * skip TestFromYaml_Pass * added tags to bazel build * gazelle fix * remove unused vars * adda back config * remove config handling * remove unused var * gazelle fix * SSZ compatibility test for protobufs (#2839) * update workspace spec sha * remove yamls from branch * BLS spec tests (#2826) (#2856) * bls spec tests * add more bls tests * use ioutil instead of bazel runfiles * dont read bytes * skip tests that overflow uint64 * manually fix input data * add tests * lint and gaz * add all new changes * some refactoring, cleanup, remove new API methods that only exist for tests * gaz * Remove yamls, skip test * Slot processing spec test (#2813) * eth1data rpc endpoint (#2733) * eth1data rpc endpoint * first version * comment added * gazelle fix * new function to go once over the deposit array * fix tests * export DepositContainer * terence feedback * move structure decleration * binary search * fix block into Block * preston feedback * keep slice sorted to remove overhead in retrival * merge changes * feedback * update to the latest go-ssz * revert change * chnages to fit new ssz * revert merge reversion * go fmt goimprts duplicate string * exception for lint unused doesParentExist * feedback changes * latesteth1data to eth1data * goimports and stop exposing Eth1Data * revert unneeded change * remove exposure of DepositContainer * feedback and fixes * fix workspace duplicate dependancy * greatest number of deposits at current height * add count votes function * change method name * revert back to latesteth1data * latesteth1data * preston feedback * seperate function add tests fix bug * stop exposing voteCountMap * eth1data comment fix * preston feedback * fix tests * new proto files * workspace to default version of ssz * new ssz * chnage test size * marshalled marshaled * Attesting Indices Fix (#2862) * add change * fix one test * fix all tests * add test * clear cache * removed old chaintest, simulated backend and state generator (#2863) * Block Processing Sanity Spec Tests (#2817) * update PrevEpoch * add new changes * shift to blocks package * add more changes * new changes * updated pb with size tags * add new changes * fix errors * uncomment code * more changes * add new changes * rename and lint * gaz * more changes * proccess slot SigningRoot instead of HashTreeRoot * ensure yaml generated structs work * block sanity all passing * minimal and mainnet all pass * remove commented code * fix one test * fix all tests * fix again * no state comparison * matching spec * change target viz * comments gazelle * clear caches before test cases * latest attempts * clean up test format * remove debugging log, remove yaml * unskip attestation * remove skip, check post state, diff state diffs * handle err * add bug fixes * fixed one more bug * fixed churn limit bug * change hashProto to HashTreeRoot * all tests pass :) * fix all tests * gaz * add regression tests * fix test bug * Mutation testing fixes for beacon-chain/core/helpers/attestation.go (#2868) * mutation testing for attestation.go * new line * lint * revert fmt.Errorf deletion * gofmt * Add some fixes for mutation testing on blocks.go (#2869) * Fix sizes * gaz * Spec freeze release candidate spectests * Align Protobuf Type Names (#2872) * Removes some deprecated fields from protobuf (#2877) * search and replace checkpoints * fix tests, except spec tests * Update Configs for Freeze (#2876) * update configs * updated minimal configs * almost there * all tests passing except for spec tests * better comment for MinGenesisTime * done, ready for review * rm seconds per day * feedback * Mutation testing fixes for beacon-chain/core/helpers/committee.go (#2870) * Add some fixes for mutation testing on blocks.go * working on mutation testing fo committee.go * gofmt * goimports * update readme target * update latest sha for spec tests * fix build * Update State Transition Function (#2867) * Change Base Reward Factor (#2888) * Update Freeze Spec Simplification Section - part 1 (#2893) * finished changes to attesting_indices * removed index_count <= 2**40 requirement * lint * reverted index_count <= 2**40 check * added short cut len(a) > len(b) * Update justification bits (#2894) * updated all the helper pseudocodes (#2895) * Make Constants Explicit and Minor Cleanups (#2898) * Rename outdated configs, make constants explicitly delcared * Remove activate_validator, not needed * Remove GenesisSlot and GenesisEpoch * Remove unused import * Move Block Operation Length Checks to ProcessOperations (#2900) * Move block operation length checks to ProcessOperations * Write tests for each length check in ProcessOperations * Remove unneeded test * Move checks to a new function * Move duplicate check back into ProcessOperations * reorder proto fields (#2902) * Slashing Penalty Calculation Change (#2889) * lint * change config val * add max helper * changes to slashing and process slashing, add a min function for integers * gaz * fix failing tests * fix test * fixed all tests * Change Yaml tag * lint * remove gc hack * fix test * gaz * preston's comments * change failing field * fix and regen proto * lint * Implement Compact Committee Root (#2897) * add tags * add function * add new code * add function * add all new changes * lint * add tests * fix tests * fix more tests * fix all outstanding tests * gaz * Update beacon-chain/core/helpers/committee.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * comment * Remove deprecated fields from attestation data (#2892) * fix broken tests * remove comment * fixes * Update Deposit Contract (#2903) * update to new contract * fix references * fix tests * fix some more tests * fix local deposit trie * gaz * shays review * more changes * update WORKSPACE to use 0.8 spec tests * Perform Mutesting in Helpers Package (#2912) * Perform mutesting on validator * Mutesting in helpers package * Mutested eth1data * s/volundary/voluntary (#2914) * Update BLS Domain (#2916) * change from integer to byte slice * add test * fix func for bytes4 * Fix Spec tests (#2907) * fix panics * handle failed transitions * remove log * fix to protos * new changes * remove i * change ssz commit * new changes * update epoch tests * fix epoch testing * fix shuffle tests * fix test * Perform Mutesting in Epoch and State Packages (#2913) * done with updates (#2890) * Add Max Size Tag for Protobuf Fields (#2908) * No more space between ssz-size numbers * Regen pb.go * Fixed a few incorrect proto fields (#2926) * Update Validator Workflow (#2906) * Justification spec tests (#2896) * update go-ssz * Fix SSZ Compatibility Test (#2924) * figuring out how to seqeeze in multiple fields in a tag for pb * Added max tags and regenerated pb.go * updated to new standard * New bitfield types in proto (#2915) * Cast bytes to correct bitfield, failing tests now though * Add forked gogo/protobuf until https://github.com/gogo/protobuf/pull/582 * remove newline * use proper override for gogo-protobuf * fix a few tags * forgot to include custody bits and Slashable not used * Update yaml struct to use pb * Update workspace to use latest ssz * All tests fail * Use the latest go-ssz commit * All pass except for state (too long to taste) * Update test.proto * Added rest of the tests * use 1 justification bits * fix tag test, apply @rauljordan's suggestion * add IsEmpty and use ssz struct * delete unused file * Update zero hash to sha256().digest() (#2932) * update zero hash * change zero hash to conform with spec * goimports * add test for zero hash * Revert "Update zero hash to sha256().digest() (#2932)" (#2933) This reverts commit b926ae0667b18aef3f7e0e8ec8a9b3e98b3d2ccc. * Fix compress validator (#2936) * fix compress validator * update go-ssz * build without the bytes test * try minimal * Block operations spec tests (#2828) * update PrevEpoch * debugging proposer slashing tests * fmt * add deposit tests * Added skeleton for attestation minimal test * remove bazel runfiles thing * add deposits * proposer slashing test is done * comment * complete test, some failing cases * sig verify on * refactor slightly to support mainnet and minimal * included mainnet stuff * Add block header tests * volunary exit done * transfer done * new changes * fix all tests * update domain functions * fmt * fixed lint * fixed all the tests * fixed a transfer bug * finished attester slashing tests and fixed a few bugs * started fixing... * cleaned up exit and proposr slashing tests * attester slashing passing * refactored deposit tests * remove yamls, update ssz * Added todo for invalid sig * gazelle * deposits test done! * transfer tests done and pass! * fix attesting indices bug * temporarily disabled signature verification * cleaned up most of the block ops, except for att * update committee AttestingIndices * oops, i dont know how or why i changed this file * fixed all the rpc tests * 6 more failing packages * test max transfer in state package * replace hashproto with treehash in package blockchain * gazelle * fix test * fix test again * fixed transition test, 2 more left * expect an error in attestation tests * Handle panic when no votes in aggregate attestation * clear cache * Add differ, add logging, tests pass yay * remove todo, add tag * fixed TestReceiveBlock_RemovesPendingDeposits * TestAttestationMinimal/success_since_max_epochs_per_crosslink fails now... * handle panics * Transfer tests were disabled in https://github.com/ethereum/eth2.0-specs/pull/1238 * more fixes after merge, updating block_operations.yaml.go to match yaml * figuring out how to seqeeze in multiple fields in a tag for pb * Added max tags and regenerated pb.go * updated to new standard * New bitfield types in proto (#2915) * Cast bytes to correct bitfield, failing tests now though * Add forked gogo/protobuf until https://github.com/gogo/protobuf/pull/582 * remove newline * fix references and test panic * change to proto objects from custom types * fix panics in tests * use proper override for gogo-protobuf * fix a few tags * fix tests * forgot to include custody bits and Slashable not used * fix tests * sort again * Update yaml struct to use pb * Update workspace to use latest ssz * All tests fail * Use the latest go-ssz commit * All pass except for state (too long to taste) * Update test.proto * Added rest of the tests * use 1 justification bits * minor fixes * wrong proto.Equal * fix tag test, apply @rauljordan's suggestion * add IsEmpty and use ssz struct * inverted logic * update zero hash * change zero hash to conform with spec * goimports * add test for zero hash * Revert "Update zero hash to sha256().digest() (#2932)" This reverts commit b926ae0667b18aef3f7e0e8ec8a9b3e98b3d2ccc. * update ssz, fix import, shard big test * checkpoint * fix compress validator * update go-ssz * missing import * missing import * tests now pass * been a good day * update test size * fix lint * imports and remove unused const * update bazel jobs flag * update bazel jobs flag * satisfy deprecation warning * Add ssz regression tests for investigation of test failures in PR #2828 (#2935) * Adding regression tests for investigation * add another example * goimports * add quick comment about test case 0 * Epoch Process Slashings Spec Tests (#2930) * updated justification bits, tests passing OK * regen pb.go, clarify bit operations * justification and finalization tests; failing * Add wrapper, so we call the correct method * checkpoint * Update tar ref * TestSlashingsMinimal/small_penalty still failing * Use bigint instead of () and float * Revert a bad merge from workspace * Fmt * add note about https://github.com/ethereum/eth2.0-specs/issues/1284 * improve tests * gaz * Perform Mutesting In core/state Package (#2923) * Perform mutesting on validator * Mutesting in helpers package * Mutested eth1data * Perform mutesting in epoch and state packages * Fix voluntary exits test * Fix typo * Fix comments * Fix formatting * Fix error message * Handle missing errors * Handle all errors * Perform Mutesting In State Package * Fix block roots size * Remove comment * Fix error * add backend service * Add ssz compatibility tests for signing root (#2931) * Added tests for signing root * imports * fix lint on travis * fix bes flag * Final updates spec tests (#2901) * set up tests * need to reorder pbs * figuring out how to seqeeze in multiple fields in a tag for pb * Added max tags and regenerated pb.go * updated to new standard * New bitfield types in proto (#2915) * Cast bytes to correct bitfield, failing tests now though * Add forked gogo/protobuf until https://github.com/gogo/protobuf/pull/582 * remove newline * use proper override for gogo-protobuf * fix a few tags * forgot to include custody bits and Slashable not used * playing with tags idea, can revert this commit later * fixes after merge * reset caches before test * all epoch tests pass * gazelle * Genesis trigger (#2905) * genesis change * integrate changes * bodyroot * remove unused code * HasChainStarted * added isValidGenesisState to ProcessLog * state fix * fix gazelle * uint64 timestamp * SetupInitialDeposits adds proof * remove unneeded parts of test * deposithash * merkleproof from spec utils * Revert "merkleproof from spec utils" This reverts commit 1b0a124352e7b62e3c3220fb0d64e295b474b430. * fix test failures * chain started and hashtree root in tests * simple eth2genesistime * eth2 genesis time * fix zero time * add comment * remove eth1data and feedback * fix build issues * main changes: add fields and methods to track active validator count * gaz * fix test * fix more tests * improve test utils * shift spec method to state package, improve test setup * fixed log processing tests * remove log * gaz * fix invalid metric * use better tag names, not latest * Remove Block Signing Root (#2945) * replace with hash tree root * Revert "replace with hash tree root" This reverts commit 77d8f16a160e42f3c3d598df66c30a66657de1bf. * replace with signing root instead * remove one more ref * Create Test Runner for Genesis State Spec Tests (#2940) * genesis change * integrate changes * bodyroot * remove unused code * HasChainStarted * added isValidGenesisState to ProcessLog * state fix * fix gazelle * uint64 timestamp * SetupInitialDeposits adds proof * remove unneeded parts of test * deposithash * merkleproof from spec utils * Revert "merkleproof from spec utils" This reverts commit 1b0a124352e7b62e3c3220fb0d64e295b474b430. * fix test failures * chain started and hashtree root in tests * simple eth2genesistime * eth2 genesis time * fix zero time * add comment * remove eth1data and feedback * fix build issues * main changes: add fields and methods to track active validator count * gaz * fix test * fix more tests * improve test utils * Start genesis spec tests * shift spec method to state package, improve test setup * Add Genesis validity spec test * Bazel * fixed log processing tests * remove log * gaz * fix invalid metric * use json tags * fix up latest changes * Fix most of test errors * Attempts to see whats wrong with genesis validity * Fix merge * skip minimal * fix state test * new commit * fix nishant comment * gaz * Static check on branch spec-v0.6 (#2946) * Ran staticcheck and fixed the important complains * commit * commit * Create Test Runner for Genesis State Spec Tests (#2940) * genesis change * integrate changes * bodyroot * remove unused code * HasChainStarted * added isValidGenesisState to ProcessLog * state fix * fix gazelle * uint64 timestamp * SetupInitialDeposits adds proof * remove unneeded parts of test * deposithash * merkleproof from spec utils * Revert "merkleproof from spec utils" This reverts commit 1b0a124352e7b62e3c3220fb0d64e295b474b430. * fix test failures * chain started and hashtree root in tests * simple eth2genesistime * eth2 genesis time * fix zero time * add comment * remove eth1data and feedback * fix build issues * main changes: add fields and methods to track active validator count * gaz * fix test * fix more tests * improve test utils * Start genesis spec tests * shift spec method to state package, improve test setup * Add Genesis validity spec test * Bazel * fixed log processing tests * remove log * gaz * fix invalid metric * use json tags * fix up latest changes * Fix most of test errors * Attempts to see whats wrong with genesis validity * Fix merge * skip minimal * fix state test * new commit * fix nishant comment * gaz * Add Back Eth1Data After Bad Merge (#2953) * eth1data rpc endpoint * first version * comment added * gazelle fix * new function to go once over the deposit array * fix tests * export DepositContainer * terence feedback * move structure decleration * binary search * fix block into Block * preston feedback * keep slice sorted to remove overhead in retrival * merge changes * feedback * update to the latest go-ssz * revert change * chnages to fit new ssz * revert merge reversion * go fmt goimprts duplicate string * exception for lint unused doesParentExist * feedback changes * latesteth1data to eth1data * goimports and stop exposing Eth1Data * revert unneeded change * remove exposure of DepositContainer * feedback and fixes * fix workspace duplicate dependancy * greatest number of deposits at current height * add count votes function * change method name * revert back to latesteth1data * latesteth1data * preston feedback * seperate function add tests fix bug * stop exposing voteCountMap * eth1data comment fix * preston feedback * fix tests * new proto files * workspace to default version of ssz * new ssz * chnage test size * marshalled marshaled * everything passing again * add skip reason * cleanup deposit contract slightly * remove unused chainstart param (#2957) * fix breakages from #2957 (#2958) * fix breakages from #2957 * oops * Fix deposit input data (#2956) * fix deposit input data * fix deposit input data * gaz and build fix * Add Tests for Genesis Deposits Caching (#2952) * remove old method and replace with an improved one * add new files * gaz * add test * added all these tests * gaz * Apply suggestions from code review Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * fix merkle proof error * fix config * Minor fixes for runtime (#2960) * Minor fixes for runtime * use comments * goimports * revert beacon-chain/core/state/state.go and fix comment for lint * fix test too * Minor runtime fixes (#2961) * Add support for bundling binaries and fix ARM64 builds (#2970) * Add support for bundling binaries and fix ARM64 builds * Fix exports * ignore manual targets wrt vis check * fix graknlabs * update spec tests (#2979) * hotfix until https://github.com/graknlabs/bazel-distribution/pull/169 * Overflow slashing calculation fix (#2977) * Runtime Fixes (#2736) * first batch of fixes * add log * more fixes * another bug fixed * update deposit contract and other fixes * remove logs * new changes * fixes * fix build * remove config * more fixes * add more changes * add back todo * make compute state root work * remove commented out and fix condition * fix commented code * fix config * gaz * remove flag * remove init * new fixes * fix test * one more fix * fix all tests * change back config * fix one more bug * remove logging bool * Only build test targets when running bazel test //... * Align prysm to spec v0.8.1 (#2978) * Bazel problem * Update zero hash representation to be clear (cosmetic) * Update minor cosmetic fixes * Fixed lookahead off by 1 * Update randao.go * update ssz * test failures fixed * test fixes * fix up workspace * lint * fixed errs * Updated pubkey loggings (#2983) * Fix proposer assignment (#2984) * add jvm limits * add jvm limits * Removed logging from state transition functions (#2980) * Match spec on proposer index division (#2985) * Match spec on proposer index division * gaz * fixes * Fix Default Eth1Data (#2982) * fix bug * Update beacon-chain/core/state/transition.go Co-Authored-By: Raul Jordan <raul@prysmaticlabs.com> * more fixes * reg test * Set ejection balance to 1.6 (#2987) * improve block processing log (#2990) * Fix HistoricalRootsLimit (#2989) * fix historical lenght * fix genesis state initialization and test * fix genesis state initialization and test * fix genesis state initialization and test * fix genesis state initialization and test * hack config until https://github.com/prysmaticlabs/prysm/issues/2993 * More Runtime Fixes (#2986) * local changes * add val sig * attester fix * one more fix * fixed all tests * rem validator issue * fix finality issue (#2994) * Fix validator prev balance calculation (#2992) * attester fix * one more fix * fixed all tests * Fix validator prev balances calculation * go fmt * 48 bytes * Fix Querier to handle Deposit Logs Race (#2999) * fix sync issue * fix build * add regression test * add var for magic number * Fix eth1data and deposits (#2996) * Work in progress, eth1data works, deposits are included at the appropriate time, and activation happens at the correct time * revert blockInfo being public * git tests to build, not yet pass though * add tests * some commentary * fix comment * goimports * fmt and remove unused method * Update rules go (#2975) * update rules_go * Fix some cross compile builds stuff * add missing deps * update to 0.19.1 * Update Protobufs to Match Ethereum APIs (#2998) * add beacon block and attestation files * add all types * include all new proto type definitions * add add all proto definitions * fix all comments to say 48 bytes * include latest changes * readd common * no swag * add build file * deps issue * right package names * address feedback, maintain parity between upstream ethereumapis * delete pb * bad gens * Update "Testing Prysm" readme section (#3000) Resolves invalid url link to golangci-lint. * Update badge to version 0.8.1 * elaborate on test skip * revert shared/p2p/options.go * make travis happy with goimports * Update beacon-chain/core/blocks/block.go Co-Authored-By: Preston Van Loon <preston@prysmaticlabs.com>
2019-07-20 00:16:10 +00:00
// WatchDepositEvent is a free log subscription operation binding the contract event 0x649bbc62d0e31342afea4e5cd82d4049e7e1ee912fc0889aa790803be39038c5.
//
Spec freeze updates (#2312) * Optimize Shuffled Indices Cache (#2728) * Refactor Deposit Contract Test Setup (#2731) * add new package * fix all tests * lint * change hash function (#2732) * Remove Deprecated Validator Protobuf (#2727) * Remove deprecated validator protos * Fix to comments * Fix most of skipped tests (#2735) * Cache Active Validator Indices, Count, and Balances (#2737) * Optimize Base Reward Calculation (#2753) * benchmark process epoch * revert prof.out * Add some optimizations * beware where we use ActiveValidatorIndices... * revert extra file * gaz * quick commit to get feedback * revert extra file * started fixing tests * fixed broken TestProcessCrosslink_NoUpdate * gaz * cache randao seed * fixed all the tests * fmt and lint * spacing * Added todo * lint * revert binary file * started regression test * basic tests done * using a fifo for active indices cache * using a fifo for active count cache * using a fifo for total balance cache * using a fifo for active balance cache * using a fifo for start shard cache * using a fifo for seed cache * gaz * clean up * fixing tests * fixed all the core tests * fixed all the tests!!! * lint * comment * rm'ed commented code * cache size to 1000 should be good enough * optimized base reward * revert binary file * Added comments to calculate adjusted quotient outside * removed deprecated configs (#2755) * Optimize Process Eth1 Data Vote (#2754) * Cleanup and Docs update (#2756) * Add graffiti and update generate seed (#2759) * Benchmark Process Block with Attestations (#2758) * Tidying up Godoc for Core Package (#2762) * Clean up Old RPC Endpoints (#2763) * Update RPC end point for Proposer (#2767) * add RequestBlock * run mockgen * implemented RequestBlock * updated proto definitions * updated tests * updated validator attest tests * done * comment * todo issue * removed unused proto * Update attesting indices v0.6 (#2449) * sort participants slice * add bitfield functions and tests * added BitfieldBit test * add AttestationParticipantsNew * revert AttestationParticipants to its previous change * add tests * remove verifybitfieldnew * fix tests and remove multiple tests * remove duplicate test * change magic number into ceildiv8 * Implement Justification and finalization Processing (#2448) * Add convert to indexed (#2519) * sort participants slice * add bitfield functions and tests * added BitfieldBit test * add AttestationParticipantsNew * revert AttestationParticipants to its previous change * add tests * remove verifybitfieldnew * fix tests and remove multiple tests * remove duplicate test * start work * convert attestation to indexed attestations * fix test for convert index * remove calling getter * add more tests * remove underscore * changes name to signature (#2535) * update registry updates func (#2521) * update registry updates func * added tests and moved to epoch processing * fixed naming issues * Update Committee Helpers to v0.6.0 (#2398) * Update Committee Helper Part 2 (#2592) * Implement Process Slashings for 0.6 (#2523) * Update Proposer/Attester Slashings and Slashing Helpers (#2603) * Implement Final Updates 0.6 (#2562) * ValidatorStatus Estimating Activation RPC Server (#2469) * fix spacing * working on position in queue * fmt * spacing * feedback * tests * rename * Only Perform Initial Sync With a Single Peer (#2471) * fix spacing * use send instead of broadcast in initial sync * 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> * SSZ web api for decoding input data (#2473) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * standardize slot numbers (#2475) * Add CORS for ssz api (#2476) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * needed CORS * 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 * Update Prysm README (#2477) * README updated * readme updates * no err throw (#2479) * Fix Status Nil Pointer Error (#2480) * no err throw * nil errors * 3.175 (#2482) * Better Error Message if Failing to Exit Initial Sync (#2483) * no err throw * nil errors * better error on init sync * Only Log Active Balances (#2485) * only log active balance * dont need () * change logging (#2487) * fix chainstart waiting on rpc server (#2488) * shift ticker to after activation (#2489) * Add drain script (#2418) * Add drain script * Fix script to drain contracts from newest to oldest * Add README * remove comments * Only after block 400k, look up by deposit event * issue warn log on disconnecting peer instead of error (#2491) * Display Only Active Validator Data (#2490) * Fix Validator Status Field in RPC Server (#2492) * fix status of key * status test fix * fmt * 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 * add production config for testnet release (#2493) * Lookup Validator Index in State in Status Check (#2494) * state lookup * refactor duplicate code * refactor with mapping * fix broken tests * finish refactor * merged master * updated EpochCommitteeCount and fixed tests * implemented ShardDelta * test for ShardDelta * implemented EpochStartShard * added epoch out of bound test * test for accurate start shard * lint * implemented process_final_updates * move to the top of the file * add comment back * gaz * Test for process final updates * fixed tests * fixed all the tests * Update Reward Helper v0.6 (#2470) * added BaseReward * added rewards helper * added test for BaseReward * extra space * move exported function above * update to new spec (#2614) * Update Block Processing Voluntary Exits (#2609) * Update processEth1Data for v0.6 (#2516) * Clean up Helper Functions Part 1 (#2612) * Finalize helper functions for 0.6 (#2632) * Process Beacon Chain Transfers v0.6 (#2642) * add transfers * beacon transfer operations complete * full cov * transfer testing * finished tests * Update beacon-chain/core/blocks/block_operations_test.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * Update beacon-chain/core/blocks/block_operations.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * Implement Process Crosslink From 0.6 (#2460) * Process Block Eth1 Data v0.6 (#2645) * Get attestation data slot v0.6 (#2593) * attestation.go is ready, tests not * ready for review * fixing linter issues * modified Crosslink and AttestationData proto fields to spec 2.0,marked deprecated fields * gazelle * fixed tests * fixed error * error msg * Process Block Deposits v0.6 (#2647) * imports fixes * deposits tests pass * wrapped up gazelle * spacing * Implement Crosslink Delta Rewards for 0.6 (#2517) * update process crosslink and update existing tests * added a test case to cover no crosslink changes * more test * preston's feedback * spellings * ValidatorStatus Estimating Activation RPC Server (#2469) * fix spacing * working on position in queue * fmt * spacing * feedback * tests * rename * Only Perform Initial Sync With a Single Peer (#2471) * fix spacing * use send instead of broadcast in initial sync * 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> * SSZ web api for decoding input data (#2473) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * standardize slot numbers (#2475) * Add CORS for ssz api (#2476) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * needed CORS * 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 * Update Prysm README (#2477) * README updated * readme updates * no err throw (#2479) * Fix Status Nil Pointer Error (#2480) * no err throw * nil errors * 3.175 (#2482) * Better Error Message if Failing to Exit Initial Sync (#2483) * no err throw * nil errors * better error on init sync * Only Log Active Balances (#2485) * only log active balance * dont need () * change logging (#2487) * fix chainstart waiting on rpc server (#2488) * shift ticker to after activation (#2489) * Add drain script (#2418) * Add drain script * Fix script to drain contracts from newest to oldest * Add README * remove comments * Only after block 400k, look up by deposit event * issue warn log on disconnecting peer instead of error (#2491) * Display Only Active Validator Data (#2490) * Fix Validator Status Field in RPC Server (#2492) * fix status of key * status test fix * fmt * 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 * add production config for testnet release (#2493) * Lookup Validator Index in State in Status Check (#2494) * state lookup * refactor duplicate code * refactor with mapping * fix broken tests * finish refactor * merged master * Starting, I need get_epoch_start_shard * updated EpochCommitteeCount and fixed tests * implemented ShardDelta * test for ShardDelta * implemented EpochStartShard * added epoch out of bound test * test for accurate start shard * lint * need to use changes from latest crosslinks * added BaseReward and totalActiveBalance * added test for base reward * merged master * all tests passing * start testing * done * add ProcessBlockHeader v0.6 (#2534) * add ProcessBlockHeader * function has all its dependancies in place * arange the basic ok test * gazzele and skip test update * skip wrong sig test * fmt imports and change requests * goimports fmt * map for struct fields to be location independent * reorder protobuf fields * added tests * gazzle fix * few change requests fixes * revert changes in types.proto * revert changes in types * fix tests * fix lint * fmt imports * fix gazelle * fix var naming * pb update * var naming * tarance change request fixes * fix test * Add Process Registry for Epoch Processing (#2668) * update update-process-registry * added back the old tests * fmt * gaz * Follow up on process block header v0.6 (#2666) * Putting Crosslink Delta Back (#2654) * update process crosslink and update existing tests * added a test case to cover no crosslink changes * more test * preston's feedback * spellings * ValidatorStatus Estimating Activation RPC Server (#2469) * fix spacing * working on position in queue * fmt * spacing * feedback * tests * rename * Only Perform Initial Sync With a Single Peer (#2471) * fix spacing * use send instead of broadcast in initial sync * 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> * SSZ web api for decoding input data (#2473) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * standardize slot numbers (#2475) * Add CORS for ssz api (#2476) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * needed CORS * 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 * Update Prysm README (#2477) * README updated * readme updates * no err throw (#2479) * Fix Status Nil Pointer Error (#2480) * no err throw * nil errors * 3.175 (#2482) * Better Error Message if Failing to Exit Initial Sync (#2483) * no err throw * nil errors * better error on init sync * Only Log Active Balances (#2485) * only log active balance * dont need () * change logging (#2487) * fix chainstart waiting on rpc server (#2488) * shift ticker to after activation (#2489) * Add drain script (#2418) * Add drain script * Fix script to drain contracts from newest to oldest * Add README * remove comments * Only after block 400k, look up by deposit event * issue warn log on disconnecting peer instead of error (#2491) * Display Only Active Validator Data (#2490) * Fix Validator Status Field in RPC Server (#2492) * fix status of key * status test fix * fmt * 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 * add production config for testnet release (#2493) * Lookup Validator Index in State in Status Check (#2494) * state lookup * refactor duplicate code * refactor with mapping * fix broken tests * finish refactor * merged master * Starting, I need get_epoch_start_shard * updated EpochCommitteeCount and fixed tests * implemented ShardDelta * test for ShardDelta * implemented EpochStartShard * added epoch out of bound test * test for accurate start shard * lint * need to use changes from latest crosslinks * added BaseReward and totalActiveBalance * added test for base reward * merged master * all tests passing * start testing * done * fixed tests * addressed shay's feedback * Implement Attestation Delta for v0.6 (#2646) * update process crosslink and update existing tests * added a test case to cover no crosslink changes * more test * preston's feedback * spellings * ValidatorStatus Estimating Activation RPC Server (#2469) * fix spacing * working on position in queue * fmt * spacing * feedback * tests * rename * Only Perform Initial Sync With a Single Peer (#2471) * fix spacing * use send instead of broadcast in initial sync * 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> * SSZ web api for decoding input data (#2473) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * standardize slot numbers (#2475) * Add CORS for ssz api (#2476) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * needed CORS * 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 * Update Prysm README (#2477) * README updated * readme updates * no err throw (#2479) * Fix Status Nil Pointer Error (#2480) * no err throw * nil errors * 3.175 (#2482) * Better Error Message if Failing to Exit Initial Sync (#2483) * no err throw * nil errors * better error on init sync * Only Log Active Balances (#2485) * only log active balance * dont need () * change logging (#2487) * fix chainstart waiting on rpc server (#2488) * shift ticker to after activation (#2489) * Add drain script (#2418) * Add drain script * Fix script to drain contracts from newest to oldest * Add README * remove comments * Only after block 400k, look up by deposit event * issue warn log on disconnecting peer instead of error (#2491) * Display Only Active Validator Data (#2490) * Fix Validator Status Field in RPC Server (#2492) * fix status of key * status test fix * fmt * 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 * add production config for testnet release (#2493) * Lookup Validator Index in State in Status Check (#2494) * state lookup * refactor duplicate code * refactor with mapping * fix broken tests * finish refactor * merged master * Starting, I need get_epoch_start_shard * updated EpochCommitteeCount and fixed tests * implemented ShardDelta * test for ShardDelta * implemented EpochStartShard * added epoch out of bound test * test for accurate start shard * lint * need to use changes from latest crosslinks * added BaseReward and totalActiveBalance * added test for base reward * implemented process_attestation_delta * comments * comments * merged master * all tests passing * start testing * done * merged master * fixed tests * tests, more to come * tests done * lint * spaces over tabs * addressed shay's feedback * merged master * Implement process_rewards_and_penalties for 0.6 (#2665) * update process crosslink and update existing tests * added a test case to cover no crosslink changes * more test * preston's feedback * spellings * ValidatorStatus Estimating Activation RPC Server (#2469) * fix spacing * working on position in queue * fmt * spacing * feedback * tests * rename * Only Perform Initial Sync With a Single Peer (#2471) * fix spacing * use send instead of broadcast in initial sync * 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> * SSZ web api for decoding input data (#2473) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * standardize slot numbers (#2475) * Add CORS for ssz api (#2476) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * needed CORS * 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 * Update Prysm README (#2477) * README updated * readme updates * no err throw (#2479) * Fix Status Nil Pointer Error (#2480) * no err throw * nil errors * 3.175 (#2482) * Better Error Message if Failing to Exit Initial Sync (#2483) * no err throw * nil errors * better error on init sync * Only Log Active Balances (#2485) * only log active balance * dont need () * change logging (#2487) * fix chainstart waiting on rpc server (#2488) * shift ticker to after activation (#2489) * Add drain script (#2418) * Add drain script * Fix script to drain contracts from newest to oldest * Add README * remove comments * Only after block 400k, look up by deposit event * issue warn log on disconnecting peer instead of error (#2491) * Display Only Active Validator Data (#2490) * Fix Validator Status Field in RPC Server (#2492) * fix status of key * status test fix * fmt * 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 * add production config for testnet release (#2493) * Lookup Validator Index in State in Status Check (#2494) * state lookup * refactor duplicate code * refactor with mapping * fix broken tests * finish refactor * merged master * Starting, I need get_epoch_start_shard * updated EpochCommitteeCount and fixed tests * implemented ShardDelta * test for ShardDelta * implemented EpochStartShard * added epoch out of bound test * test for accurate start shard * lint * need to use changes from latest crosslinks * added BaseReward and totalActiveBalance * added test for base reward * implemented process_attestation_delta * comments * comments * merged master * all tests passing * start testing * done * merged master * fixed tests * tests, more to come * tests done * lint * spaces over tabs * addressed shay's feedback * starting but need to merge a few things... * tests * fmt * Update Slot Processing and State Transition v0.6 (#2664) * edit state transition to add slot processing logic, reorder logic * fix build * lint * tests passing * spacing * tests pass * imports * passing tests * Implement Process Epoch for 0.6 (#2675) * can't find process j f functons * implemented process_epoch * tests done * lint * nishant's feedback * stupid goland replace * goimports * Update CommitteeAssignment (#2693) * cleaned up skipped tests for core processing (#2697) * Process Block Attestations v0.6 (#2650) * attestation.go is ready, tests not * ready for review * fixing linter issues * modified Crosslink and AttestationData proto fields to spec 2.0,marked deprecated fields * gazelle * fixed tests * fixed error * add att processing: * process atts * error msg * finish process attestations logic * spacing * ssz move * inclusion delay failure passing * more attestation tests * more att tests passing * more tests * ffg data mismatching test * ffg tests complete * gofmt * fix testing to match attestation updates * ssz * lint * Fixed Skipped Tests for RPC Server (#2712) * Remove Obsolete Deposit Proto Objects (#2673) * remove deposit data * remove deposit input * fix references * remove deposit helpers * fix all refs * gaz * rgene proto * fix all tests * remove deposit data deprecated field * fix remaining references * fix all tests * fix lint * regen proto * fix test * Remove Deprecated Protobuf State Fields (#2713) * Remove Deprecated Protobuf Crosslink/Slashing/Block Fields (#2714) * Remove Deprecated Beacon Block Proto Fields (#2717) * Remove Deprecated Attestation Proto Fields (#2723) * Cache Shuffled Validator Indices (#2682) * YAML shuffle tests for v0.6 (#2667) * new shuffle tests * added comment for exported function * fix format and print * added config files handling * gazelle fix * shuffle test debugging * added shuffle list and benchmark * hash function addition from nishant code * gazelle fix * remove unused function * few minor changes * add test to test protos optimization * test a bigger list * remove commented code * small changes * fix spec test and test indices to pass * remove empty line * abstraction of repeated code and comment arrangement * terence change requests * fix new test * add small comment for better readability * change from unshuflle to shuffle * comment * better comment * fix all tests * Remove Latest Block (#2721) * lint * remove latest block * lint * add proto * fix build * Fix Deposit Trie (#2686) * remove deposit data * remove deposit input * fix references * remove deposit helpers * fix all refs * gaz * rgene proto * fix all tests * remove deposit data deprecated field * fix remaining references * fix all tests * fix lint * new tests with contract * gaz * more tests * fixed bugs * new test * finally fixed it * gaz * fix test * Remove Committee Cache (#2729) * Benchmark Compute Committee (#2698) * Fixed Skipped Attestation Tests (#2730) * Optimize Shuffled Indices Cache (#2728) * Refactor Deposit Contract Test Setup (#2731) * add new package * fix all tests * lint * change hash function (#2732) * Remove Deprecated Validator Protobuf (#2727) * Remove deprecated validator protos * Fix to comments * Fix most of skipped tests (#2735) * Optimize Base Reward Calculation (#2753) * benchmark process epoch * revert prof.out * Add some optimizations * beware where we use ActiveValidatorIndices... * revert extra file * gaz * quick commit to get feedback * revert extra file * started fixing tests * fixed broken TestProcessCrosslink_NoUpdate * gaz * cache randao seed * fixed all the tests * fmt and lint * spacing * Added todo * lint * revert binary file * started regression test * basic tests done * using a fifo for active indices cache * using a fifo for active count cache * using a fifo for total balance cache * using a fifo for active balance cache * using a fifo for start shard cache * using a fifo for seed cache * gaz * clean up * fixing tests * fixed all the core tests * fixed all the tests!!! * lint * comment * rm'ed commented code * cache size to 1000 should be good enough * optimized base reward * revert binary file * Added comments to calculate adjusted quotient outside * removed deprecated configs (#2755) * Optimize Process Eth1 Data Vote (#2754) * Cleanup and Docs update (#2756) * Add graffiti and update generate seed (#2759) * Benchmark Process Block with Attestations (#2758) * Tidying up Godoc for Core Package (#2762) * Clean up Old RPC Endpoints (#2763) * Update RPC end point for Proposer (#2767) * add RequestBlock * run mockgen * implemented RequestBlock * updated proto definitions * updated tests * updated validator attest tests * done * comment * todo issue * removed unused proto * Cache Active Validator Indices, Count, and Balances (#2737) * Update Deposit Contract (#2648) * lint * add new contract * change version * remove log * generating abi and binary files * fix tests * update to current version * new changes * add new hash function * save hashed nodes * add more things * new method * add update to trie * new stuff * gaz * more stuff * finally fixed build * remove deposit data * Revert "remove deposit data" This reverts commit 9085409e91be0c94550af10290eaad72ad40a6de. * more changes * lint and gaz * lint * Update Shard Helpers for 0.6 (#2497) * ValidatorStatus Estimating Activation RPC Server (#2469) * fix spacing * working on position in queue * fmt * spacing * feedback * tests * rename * Only Perform Initial Sync With a Single Peer (#2471) * fix spacing * use send instead of broadcast in initial sync * 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> * SSZ web api for decoding input data (#2473) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * standardize slot numbers (#2475) * Add CORS for ssz api (#2476) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * needed CORS * 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 * Update Prysm README (#2477) * README updated * readme updates * no err throw (#2479) * Fix Status Nil Pointer Error (#2480) * no err throw * nil errors * 3.175 (#2482) * Better Error Message if Failing to Exit Initial Sync (#2483) * no err throw * nil errors * better error on init sync * Only Log Active Balances (#2485) * only log active balance * dont need () * change logging (#2487) * fix chainstart waiting on rpc server (#2488) * shift ticker to after activation (#2489) * Add drain script (#2418) * Add drain script * Fix script to drain contracts from newest to oldest * Add README * remove comments * Only after block 400k, look up by deposit event * issue warn log on disconnecting peer instead of error (#2491) * Display Only Active Validator Data (#2490) * Fix Validator Status Field in RPC Server (#2492) * fix status of key * status test fix * fmt * 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 * add production config for testnet release (#2493) * Lookup Validator Index in State in Status Check (#2494) * state lookup * refactor duplicate code * refactor with mapping * fix broken tests * finish refactor * merged master * updated EpochCommitteeCount and fixed tests * implemented ShardDelta * test for ShardDelta * implemented EpochStartShard * added epoch out of bound test * test for accurate start shard * lint * Update Genesis State Function to v0.6 (#2465) * add pseudocode * make changes * fix all tests * fix tests * lint * regen protos and mocks * regenerated protos * started fixing core * all core tests passing! * removed shared/forkutils * started fixing blockchain package * lint * updating rpc package * add back deleted stuff * add back deleted stuff that was deleted accidentally * add back protos and mocks * fix errors * fix genesis issue * fix genesis issue for slot ticker * fix all genesis errors * fix build files * temp change for go-ssz * fix test * Revert "temp change for go-ssz" This reverts commit 3411cb9d6d519cb521181486debc3b21603c8873. * update to latest go-ssz * unstaged changes * Update Attester Server RPC Calls (#2773) * Update config and function parameters to v0.7 (#2791) * Minor Updates to 0.7 (#2795) * Refactor Deposit Flow and Cleanup Tests (#2788) * More WIP on cleaning deposit flow * Fix tests * Cleanup and imports * run gazelle * Move deposit to block_operations * gazelle * Update beacon-chain/core/blocks/block_operations.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * Fix docs * Remove unneeded calculations * Fix tests * Fix tests finally (?) * Optimize Committee Assignment RPC (#2787) * Update BlockRoot to BlockHash (#2816) * Fix Final Missing Items in Block Processing v0.6 (#2710) * override config successfully * passes processing * add signing root helper * blockchain tests pass * tests blocked by signing root * lint * fix references * fix protos * proper use of signing root * only few failing tests now * fix final test * tests passing * lint and imports * rem unused * Update beacon-chain/core/blocks/block_operations.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * lint * Update beacon-chain/attestation/service_test.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * Update beacon-chain/db/block_test.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * rename to hash tree root * rename decode to unmarshal * fix * use latest ssz * all tests passing * lint * fmt * Add Config YAML for Spec Tests (#2818) * Align Protobuf Type Names (#2825) * gofmt * Revert "Align Protobuf Type Names (#2825)" (#2827) This reverts commit 882d067144c674bbf4eeee00404acaa0a9b1fd33. * Update Domain Related Functions (#2832) * Add Functions for Compressed and Uncompressed HashG2 With Domain (#2833) * add tests * gaz * lint * Revert "Add Functions for Compressed and Uncompressed HashG2 With Domain (#2833)" (#2835) This reverts commit 7fb2ebf3f12f043d7bd12f43500dc2bd133df573. * Add ConvertToPb to package testutil (#2838) * Block Processing Bug Fixes (#2836) * Update types PB with Size Tags (#2840) * Epoch processing spec tests (#2814) * Remove Deposit Index (#2851) * Shuffle tests revisited (#2829) * first commit * remove old files, add log * remove duplicate yaml testing code * reduce visability * nishant feedback changes * skip TestFromYaml_Pass * added tags to bazel build * gazelle fix * remove unused vars * adda back config * remove config handling * remove unused var * gazelle fix * SSZ compatibility test for protobufs (#2839) * update workspace spec sha * remove yamls from branch * BLS spec tests (#2826) (#2856) * bls spec tests * add more bls tests * use ioutil instead of bazel runfiles * dont read bytes * skip tests that overflow uint64 * manually fix input data * add tests * lint and gaz * add all new changes * some refactoring, cleanup, remove new API methods that only exist for tests * gaz * Remove yamls, skip test * Slot processing spec test (#2813) * eth1data rpc endpoint (#2733) * eth1data rpc endpoint * first version * comment added * gazelle fix * new function to go once over the deposit array * fix tests * export DepositContainer * terence feedback * move structure decleration * binary search * fix block into Block * preston feedback * keep slice sorted to remove overhead in retrival * merge changes * feedback * update to the latest go-ssz * revert change * chnages to fit new ssz * revert merge reversion * go fmt goimprts duplicate string * exception for lint unused doesParentExist * feedback changes * latesteth1data to eth1data * goimports and stop exposing Eth1Data * revert unneeded change * remove exposure of DepositContainer * feedback and fixes * fix workspace duplicate dependancy * greatest number of deposits at current height * add count votes function * change method name * revert back to latesteth1data * latesteth1data * preston feedback * seperate function add tests fix bug * stop exposing voteCountMap * eth1data comment fix * preston feedback * fix tests * new proto files * workspace to default version of ssz * new ssz * chnage test size * marshalled marshaled * Attesting Indices Fix (#2862) * add change * fix one test * fix all tests * add test * clear cache * removed old chaintest, simulated backend and state generator (#2863) * Block Processing Sanity Spec Tests (#2817) * update PrevEpoch * add new changes * shift to blocks package * add more changes * new changes * updated pb with size tags * add new changes * fix errors * uncomment code * more changes * add new changes * rename and lint * gaz * more changes * proccess slot SigningRoot instead of HashTreeRoot * ensure yaml generated structs work * block sanity all passing * minimal and mainnet all pass * remove commented code * fix one test * fix all tests * fix again * no state comparison * matching spec * change target viz * comments gazelle * clear caches before test cases * latest attempts * clean up test format * remove debugging log, remove yaml * unskip attestation * remove skip, check post state, diff state diffs * handle err * add bug fixes * fixed one more bug * fixed churn limit bug * change hashProto to HashTreeRoot * all tests pass :) * fix all tests * gaz * add regression tests * fix test bug * Mutation testing fixes for beacon-chain/core/helpers/attestation.go (#2868) * mutation testing for attestation.go * new line * lint * revert fmt.Errorf deletion * gofmt * Add some fixes for mutation testing on blocks.go (#2869) * Fix sizes * gaz * Spec freeze release candidate spectests * Align Protobuf Type Names (#2872) * Removes some deprecated fields from protobuf (#2877) * search and replace checkpoints * fix tests, except spec tests * Update Configs for Freeze (#2876) * update configs * updated minimal configs * almost there * all tests passing except for spec tests * better comment for MinGenesisTime * done, ready for review * rm seconds per day * feedback * Mutation testing fixes for beacon-chain/core/helpers/committee.go (#2870) * Add some fixes for mutation testing on blocks.go * working on mutation testing fo committee.go * gofmt * goimports * update readme target * update latest sha for spec tests * fix build * Update State Transition Function (#2867) * Change Base Reward Factor (#2888) * Update Freeze Spec Simplification Section - part 1 (#2893) * finished changes to attesting_indices * removed index_count <= 2**40 requirement * lint * reverted index_count <= 2**40 check * added short cut len(a) > len(b) * Update justification bits (#2894) * updated all the helper pseudocodes (#2895) * Make Constants Explicit and Minor Cleanups (#2898) * Rename outdated configs, make constants explicitly delcared * Remove activate_validator, not needed * Remove GenesisSlot and GenesisEpoch * Remove unused import * Move Block Operation Length Checks to ProcessOperations (#2900) * Move block operation length checks to ProcessOperations * Write tests for each length check in ProcessOperations * Remove unneeded test * Move checks to a new function * Move duplicate check back into ProcessOperations * reorder proto fields (#2902) * Slashing Penalty Calculation Change (#2889) * lint * change config val * add max helper * changes to slashing and process slashing, add a min function for integers * gaz * fix failing tests * fix test * fixed all tests * Change Yaml tag * lint * remove gc hack * fix test * gaz * preston's comments * change failing field * fix and regen proto * lint * Implement Compact Committee Root (#2897) * add tags * add function * add new code * add function * add all new changes * lint * add tests * fix tests * fix more tests * fix all outstanding tests * gaz * Update beacon-chain/core/helpers/committee.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * comment * Remove deprecated fields from attestation data (#2892) * fix broken tests * remove comment * fixes * Update Deposit Contract (#2903) * update to new contract * fix references * fix tests * fix some more tests * fix local deposit trie * gaz * shays review * more changes * update WORKSPACE to use 0.8 spec tests * Perform Mutesting in Helpers Package (#2912) * Perform mutesting on validator * Mutesting in helpers package * Mutested eth1data * s/volundary/voluntary (#2914) * Update BLS Domain (#2916) * change from integer to byte slice * add test * fix func for bytes4 * Fix Spec tests (#2907) * fix panics * handle failed transitions * remove log * fix to protos * new changes * remove i * change ssz commit * new changes * update epoch tests * fix epoch testing * fix shuffle tests * fix test * Perform Mutesting in Epoch and State Packages (#2913) * done with updates (#2890) * Add Max Size Tag for Protobuf Fields (#2908) * No more space between ssz-size numbers * Regen pb.go * Fixed a few incorrect proto fields (#2926) * Update Validator Workflow (#2906) * Justification spec tests (#2896) * update go-ssz * Fix SSZ Compatibility Test (#2924) * figuring out how to seqeeze in multiple fields in a tag for pb * Added max tags and regenerated pb.go * updated to new standard * New bitfield types in proto (#2915) * Cast bytes to correct bitfield, failing tests now though * Add forked gogo/protobuf until https://github.com/gogo/protobuf/pull/582 * remove newline * use proper override for gogo-protobuf * fix a few tags * forgot to include custody bits and Slashable not used * Update yaml struct to use pb * Update workspace to use latest ssz * All tests fail * Use the latest go-ssz commit * All pass except for state (too long to taste) * Update test.proto * Added rest of the tests * use 1 justification bits * fix tag test, apply @rauljordan's suggestion * add IsEmpty and use ssz struct * delete unused file * Update zero hash to sha256().digest() (#2932) * update zero hash * change zero hash to conform with spec * goimports * add test for zero hash * Revert "Update zero hash to sha256().digest() (#2932)" (#2933) This reverts commit b926ae0667b18aef3f7e0e8ec8a9b3e98b3d2ccc. * Fix compress validator (#2936) * fix compress validator * update go-ssz * build without the bytes test * try minimal * Block operations spec tests (#2828) * update PrevEpoch * debugging proposer slashing tests * fmt * add deposit tests * Added skeleton for attestation minimal test * remove bazel runfiles thing * add deposits * proposer slashing test is done * comment * complete test, some failing cases * sig verify on * refactor slightly to support mainnet and minimal * included mainnet stuff * Add block header tests * volunary exit done * transfer done * new changes * fix all tests * update domain functions * fmt * fixed lint * fixed all the tests * fixed a transfer bug * finished attester slashing tests and fixed a few bugs * started fixing... * cleaned up exit and proposr slashing tests * attester slashing passing * refactored deposit tests * remove yamls, update ssz * Added todo for invalid sig * gazelle * deposits test done! * transfer tests done and pass! * fix attesting indices bug * temporarily disabled signature verification * cleaned up most of the block ops, except for att * update committee AttestingIndices * oops, i dont know how or why i changed this file * fixed all the rpc tests * 6 more failing packages * test max transfer in state package * replace hashproto with treehash in package blockchain * gazelle * fix test * fix test again * fixed transition test, 2 more left * expect an error in attestation tests * Handle panic when no votes in aggregate attestation * clear cache * Add differ, add logging, tests pass yay * remove todo, add tag * fixed TestReceiveBlock_RemovesPendingDeposits * TestAttestationMinimal/success_since_max_epochs_per_crosslink fails now... * handle panics * Transfer tests were disabled in https://github.com/ethereum/eth2.0-specs/pull/1238 * more fixes after merge, updating block_operations.yaml.go to match yaml * figuring out how to seqeeze in multiple fields in a tag for pb * Added max tags and regenerated pb.go * updated to new standard * New bitfield types in proto (#2915) * Cast bytes to correct bitfield, failing tests now though * Add forked gogo/protobuf until https://github.com/gogo/protobuf/pull/582 * remove newline * fix references and test panic * change to proto objects from custom types * fix panics in tests * use proper override for gogo-protobuf * fix a few tags * fix tests * forgot to include custody bits and Slashable not used * fix tests * sort again * Update yaml struct to use pb * Update workspace to use latest ssz * All tests fail * Use the latest go-ssz commit * All pass except for state (too long to taste) * Update test.proto * Added rest of the tests * use 1 justification bits * minor fixes * wrong proto.Equal * fix tag test, apply @rauljordan's suggestion * add IsEmpty and use ssz struct * inverted logic * update zero hash * change zero hash to conform with spec * goimports * add test for zero hash * Revert "Update zero hash to sha256().digest() (#2932)" This reverts commit b926ae0667b18aef3f7e0e8ec8a9b3e98b3d2ccc. * update ssz, fix import, shard big test * checkpoint * fix compress validator * update go-ssz * missing import * missing import * tests now pass * been a good day * update test size * fix lint * imports and remove unused const * update bazel jobs flag * update bazel jobs flag * satisfy deprecation warning * Add ssz regression tests for investigation of test failures in PR #2828 (#2935) * Adding regression tests for investigation * add another example * goimports * add quick comment about test case 0 * Epoch Process Slashings Spec Tests (#2930) * updated justification bits, tests passing OK * regen pb.go, clarify bit operations * justification and finalization tests; failing * Add wrapper, so we call the correct method * checkpoint * Update tar ref * TestSlashingsMinimal/small_penalty still failing * Use bigint instead of () and float * Revert a bad merge from workspace * Fmt * add note about https://github.com/ethereum/eth2.0-specs/issues/1284 * improve tests * gaz * Perform Mutesting In core/state Package (#2923) * Perform mutesting on validator * Mutesting in helpers package * Mutested eth1data * Perform mutesting in epoch and state packages * Fix voluntary exits test * Fix typo * Fix comments * Fix formatting * Fix error message * Handle missing errors * Handle all errors * Perform Mutesting In State Package * Fix block roots size * Remove comment * Fix error * add backend service * Add ssz compatibility tests for signing root (#2931) * Added tests for signing root * imports * fix lint on travis * fix bes flag * Final updates spec tests (#2901) * set up tests * need to reorder pbs * figuring out how to seqeeze in multiple fields in a tag for pb * Added max tags and regenerated pb.go * updated to new standard * New bitfield types in proto (#2915) * Cast bytes to correct bitfield, failing tests now though * Add forked gogo/protobuf until https://github.com/gogo/protobuf/pull/582 * remove newline * use proper override for gogo-protobuf * fix a few tags * forgot to include custody bits and Slashable not used * playing with tags idea, can revert this commit later * fixes after merge * reset caches before test * all epoch tests pass * gazelle * Genesis trigger (#2905) * genesis change * integrate changes * bodyroot * remove unused code * HasChainStarted * added isValidGenesisState to ProcessLog * state fix * fix gazelle * uint64 timestamp * SetupInitialDeposits adds proof * remove unneeded parts of test * deposithash * merkleproof from spec utils * Revert "merkleproof from spec utils" This reverts commit 1b0a124352e7b62e3c3220fb0d64e295b474b430. * fix test failures * chain started and hashtree root in tests * simple eth2genesistime * eth2 genesis time * fix zero time * add comment * remove eth1data and feedback * fix build issues * main changes: add fields and methods to track active validator count * gaz * fix test * fix more tests * improve test utils * shift spec method to state package, improve test setup * fixed log processing tests * remove log * gaz * fix invalid metric * use better tag names, not latest * Remove Block Signing Root (#2945) * replace with hash tree root * Revert "replace with hash tree root" This reverts commit 77d8f16a160e42f3c3d598df66c30a66657de1bf. * replace with signing root instead * remove one more ref * Create Test Runner for Genesis State Spec Tests (#2940) * genesis change * integrate changes * bodyroot * remove unused code * HasChainStarted * added isValidGenesisState to ProcessLog * state fix * fix gazelle * uint64 timestamp * SetupInitialDeposits adds proof * remove unneeded parts of test * deposithash * merkleproof from spec utils * Revert "merkleproof from spec utils" This reverts commit 1b0a124352e7b62e3c3220fb0d64e295b474b430. * fix test failures * chain started and hashtree root in tests * simple eth2genesistime * eth2 genesis time * fix zero time * add comment * remove eth1data and feedback * fix build issues * main changes: add fields and methods to track active validator count * gaz * fix test * fix more tests * improve test utils * Start genesis spec tests * shift spec method to state package, improve test setup * Add Genesis validity spec test * Bazel * fixed log processing tests * remove log * gaz * fix invalid metric * use json tags * fix up latest changes * Fix most of test errors * Attempts to see whats wrong with genesis validity * Fix merge * skip minimal * fix state test * new commit * fix nishant comment * gaz * Static check on branch spec-v0.6 (#2946) * Ran staticcheck and fixed the important complains * commit * commit * Create Test Runner for Genesis State Spec Tests (#2940) * genesis change * integrate changes * bodyroot * remove unused code * HasChainStarted * added isValidGenesisState to ProcessLog * state fix * fix gazelle * uint64 timestamp * SetupInitialDeposits adds proof * remove unneeded parts of test * deposithash * merkleproof from spec utils * Revert "merkleproof from spec utils" This reverts commit 1b0a124352e7b62e3c3220fb0d64e295b474b430. * fix test failures * chain started and hashtree root in tests * simple eth2genesistime * eth2 genesis time * fix zero time * add comment * remove eth1data and feedback * fix build issues * main changes: add fields and methods to track active validator count * gaz * fix test * fix more tests * improve test utils * Start genesis spec tests * shift spec method to state package, improve test setup * Add Genesis validity spec test * Bazel * fixed log processing tests * remove log * gaz * fix invalid metric * use json tags * fix up latest changes * Fix most of test errors * Attempts to see whats wrong with genesis validity * Fix merge * skip minimal * fix state test * new commit * fix nishant comment * gaz * Add Back Eth1Data After Bad Merge (#2953) * eth1data rpc endpoint * first version * comment added * gazelle fix * new function to go once over the deposit array * fix tests * export DepositContainer * terence feedback * move structure decleration * binary search * fix block into Block * preston feedback * keep slice sorted to remove overhead in retrival * merge changes * feedback * update to the latest go-ssz * revert change * chnages to fit new ssz * revert merge reversion * go fmt goimprts duplicate string * exception for lint unused doesParentExist * feedback changes * latesteth1data to eth1data * goimports and stop exposing Eth1Data * revert unneeded change * remove exposure of DepositContainer * feedback and fixes * fix workspace duplicate dependancy * greatest number of deposits at current height * add count votes function * change method name * revert back to latesteth1data * latesteth1data * preston feedback * seperate function add tests fix bug * stop exposing voteCountMap * eth1data comment fix * preston feedback * fix tests * new proto files * workspace to default version of ssz * new ssz * chnage test size * marshalled marshaled * everything passing again * add skip reason * cleanup deposit contract slightly * remove unused chainstart param (#2957) * fix breakages from #2957 (#2958) * fix breakages from #2957 * oops * Fix deposit input data (#2956) * fix deposit input data * fix deposit input data * gaz and build fix * Add Tests for Genesis Deposits Caching (#2952) * remove old method and replace with an improved one * add new files * gaz * add test * added all these tests * gaz * Apply suggestions from code review Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * fix merkle proof error * fix config * Minor fixes for runtime (#2960) * Minor fixes for runtime * use comments * goimports * revert beacon-chain/core/state/state.go and fix comment for lint * fix test too * Minor runtime fixes (#2961) * Add support for bundling binaries and fix ARM64 builds (#2970) * Add support for bundling binaries and fix ARM64 builds * Fix exports * ignore manual targets wrt vis check * fix graknlabs * update spec tests (#2979) * hotfix until https://github.com/graknlabs/bazel-distribution/pull/169 * Overflow slashing calculation fix (#2977) * Runtime Fixes (#2736) * first batch of fixes * add log * more fixes * another bug fixed * update deposit contract and other fixes * remove logs * new changes * fixes * fix build * remove config * more fixes * add more changes * add back todo * make compute state root work * remove commented out and fix condition * fix commented code * fix config * gaz * remove flag * remove init * new fixes * fix test * one more fix * fix all tests * change back config * fix one more bug * remove logging bool * Only build test targets when running bazel test //... * Align prysm to spec v0.8.1 (#2978) * Bazel problem * Update zero hash representation to be clear (cosmetic) * Update minor cosmetic fixes * Fixed lookahead off by 1 * Update randao.go * update ssz * test failures fixed * test fixes * fix up workspace * lint * fixed errs * Updated pubkey loggings (#2983) * Fix proposer assignment (#2984) * add jvm limits * add jvm limits * Removed logging from state transition functions (#2980) * Match spec on proposer index division (#2985) * Match spec on proposer index division * gaz * fixes * Fix Default Eth1Data (#2982) * fix bug * Update beacon-chain/core/state/transition.go Co-Authored-By: Raul Jordan <raul@prysmaticlabs.com> * more fixes * reg test * Set ejection balance to 1.6 (#2987) * improve block processing log (#2990) * Fix HistoricalRootsLimit (#2989) * fix historical lenght * fix genesis state initialization and test * fix genesis state initialization and test * fix genesis state initialization and test * fix genesis state initialization and test * hack config until https://github.com/prysmaticlabs/prysm/issues/2993 * More Runtime Fixes (#2986) * local changes * add val sig * attester fix * one more fix * fixed all tests * rem validator issue * fix finality issue (#2994) * Fix validator prev balance calculation (#2992) * attester fix * one more fix * fixed all tests * Fix validator prev balances calculation * go fmt * 48 bytes * Fix Querier to handle Deposit Logs Race (#2999) * fix sync issue * fix build * add regression test * add var for magic number * Fix eth1data and deposits (#2996) * Work in progress, eth1data works, deposits are included at the appropriate time, and activation happens at the correct time * revert blockInfo being public * git tests to build, not yet pass though * add tests * some commentary * fix comment * goimports * fmt and remove unused method * Update rules go (#2975) * update rules_go * Fix some cross compile builds stuff * add missing deps * update to 0.19.1 * Update Protobufs to Match Ethereum APIs (#2998) * add beacon block and attestation files * add all types * include all new proto type definitions * add add all proto definitions * fix all comments to say 48 bytes * include latest changes * readd common * no swag * add build file * deps issue * right package names * address feedback, maintain parity between upstream ethereumapis * delete pb * bad gens * Update "Testing Prysm" readme section (#3000) Resolves invalid url link to golangci-lint. * Update badge to version 0.8.1 * elaborate on test skip * revert shared/p2p/options.go * make travis happy with goimports * Update beacon-chain/core/blocks/block.go Co-Authored-By: Preston Van Loon <preston@prysmaticlabs.com>
2019-07-20 00:16:10 +00:00
// Solidity: event DepositEvent(bytes pubkey, bytes withdrawal_credentials, bytes amount, bytes signature, bytes index)
func (_DepositContract *DepositContractFilterer) WatchDepositEvent(opts *bind.WatchOpts, sink chan<- *DepositContractDepositEvent) (event.Subscription, error) {
Spec freeze updates (#2312) * Optimize Shuffled Indices Cache (#2728) * Refactor Deposit Contract Test Setup (#2731) * add new package * fix all tests * lint * change hash function (#2732) * Remove Deprecated Validator Protobuf (#2727) * Remove deprecated validator protos * Fix to comments * Fix most of skipped tests (#2735) * Cache Active Validator Indices, Count, and Balances (#2737) * Optimize Base Reward Calculation (#2753) * benchmark process epoch * revert prof.out * Add some optimizations * beware where we use ActiveValidatorIndices... * revert extra file * gaz * quick commit to get feedback * revert extra file * started fixing tests * fixed broken TestProcessCrosslink_NoUpdate * gaz * cache randao seed * fixed all the tests * fmt and lint * spacing * Added todo * lint * revert binary file * started regression test * basic tests done * using a fifo for active indices cache * using a fifo for active count cache * using a fifo for total balance cache * using a fifo for active balance cache * using a fifo for start shard cache * using a fifo for seed cache * gaz * clean up * fixing tests * fixed all the core tests * fixed all the tests!!! * lint * comment * rm'ed commented code * cache size to 1000 should be good enough * optimized base reward * revert binary file * Added comments to calculate adjusted quotient outside * removed deprecated configs (#2755) * Optimize Process Eth1 Data Vote (#2754) * Cleanup and Docs update (#2756) * Add graffiti and update generate seed (#2759) * Benchmark Process Block with Attestations (#2758) * Tidying up Godoc for Core Package (#2762) * Clean up Old RPC Endpoints (#2763) * Update RPC end point for Proposer (#2767) * add RequestBlock * run mockgen * implemented RequestBlock * updated proto definitions * updated tests * updated validator attest tests * done * comment * todo issue * removed unused proto * Update attesting indices v0.6 (#2449) * sort participants slice * add bitfield functions and tests * added BitfieldBit test * add AttestationParticipantsNew * revert AttestationParticipants to its previous change * add tests * remove verifybitfieldnew * fix tests and remove multiple tests * remove duplicate test * change magic number into ceildiv8 * Implement Justification and finalization Processing (#2448) * Add convert to indexed (#2519) * sort participants slice * add bitfield functions and tests * added BitfieldBit test * add AttestationParticipantsNew * revert AttestationParticipants to its previous change * add tests * remove verifybitfieldnew * fix tests and remove multiple tests * remove duplicate test * start work * convert attestation to indexed attestations * fix test for convert index * remove calling getter * add more tests * remove underscore * changes name to signature (#2535) * update registry updates func (#2521) * update registry updates func * added tests and moved to epoch processing * fixed naming issues * Update Committee Helpers to v0.6.0 (#2398) * Update Committee Helper Part 2 (#2592) * Implement Process Slashings for 0.6 (#2523) * Update Proposer/Attester Slashings and Slashing Helpers (#2603) * Implement Final Updates 0.6 (#2562) * ValidatorStatus Estimating Activation RPC Server (#2469) * fix spacing * working on position in queue * fmt * spacing * feedback * tests * rename * Only Perform Initial Sync With a Single Peer (#2471) * fix spacing * use send instead of broadcast in initial sync * 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> * SSZ web api for decoding input data (#2473) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * standardize slot numbers (#2475) * Add CORS for ssz api (#2476) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * needed CORS * 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 * Update Prysm README (#2477) * README updated * readme updates * no err throw (#2479) * Fix Status Nil Pointer Error (#2480) * no err throw * nil errors * 3.175 (#2482) * Better Error Message if Failing to Exit Initial Sync (#2483) * no err throw * nil errors * better error on init sync * Only Log Active Balances (#2485) * only log active balance * dont need () * change logging (#2487) * fix chainstart waiting on rpc server (#2488) * shift ticker to after activation (#2489) * Add drain script (#2418) * Add drain script * Fix script to drain contracts from newest to oldest * Add README * remove comments * Only after block 400k, look up by deposit event * issue warn log on disconnecting peer instead of error (#2491) * Display Only Active Validator Data (#2490) * Fix Validator Status Field in RPC Server (#2492) * fix status of key * status test fix * fmt * 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 * add production config for testnet release (#2493) * Lookup Validator Index in State in Status Check (#2494) * state lookup * refactor duplicate code * refactor with mapping * fix broken tests * finish refactor * merged master * updated EpochCommitteeCount and fixed tests * implemented ShardDelta * test for ShardDelta * implemented EpochStartShard * added epoch out of bound test * test for accurate start shard * lint * implemented process_final_updates * move to the top of the file * add comment back * gaz * Test for process final updates * fixed tests * fixed all the tests * Update Reward Helper v0.6 (#2470) * added BaseReward * added rewards helper * added test for BaseReward * extra space * move exported function above * update to new spec (#2614) * Update Block Processing Voluntary Exits (#2609) * Update processEth1Data for v0.6 (#2516) * Clean up Helper Functions Part 1 (#2612) * Finalize helper functions for 0.6 (#2632) * Process Beacon Chain Transfers v0.6 (#2642) * add transfers * beacon transfer operations complete * full cov * transfer testing * finished tests * Update beacon-chain/core/blocks/block_operations_test.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * Update beacon-chain/core/blocks/block_operations.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * Implement Process Crosslink From 0.6 (#2460) * Process Block Eth1 Data v0.6 (#2645) * Get attestation data slot v0.6 (#2593) * attestation.go is ready, tests not * ready for review * fixing linter issues * modified Crosslink and AttestationData proto fields to spec 2.0,marked deprecated fields * gazelle * fixed tests * fixed error * error msg * Process Block Deposits v0.6 (#2647) * imports fixes * deposits tests pass * wrapped up gazelle * spacing * Implement Crosslink Delta Rewards for 0.6 (#2517) * update process crosslink and update existing tests * added a test case to cover no crosslink changes * more test * preston's feedback * spellings * ValidatorStatus Estimating Activation RPC Server (#2469) * fix spacing * working on position in queue * fmt * spacing * feedback * tests * rename * Only Perform Initial Sync With a Single Peer (#2471) * fix spacing * use send instead of broadcast in initial sync * 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> * SSZ web api for decoding input data (#2473) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * standardize slot numbers (#2475) * Add CORS for ssz api (#2476) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * needed CORS * 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 * Update Prysm README (#2477) * README updated * readme updates * no err throw (#2479) * Fix Status Nil Pointer Error (#2480) * no err throw * nil errors * 3.175 (#2482) * Better Error Message if Failing to Exit Initial Sync (#2483) * no err throw * nil errors * better error on init sync * Only Log Active Balances (#2485) * only log active balance * dont need () * change logging (#2487) * fix chainstart waiting on rpc server (#2488) * shift ticker to after activation (#2489) * Add drain script (#2418) * Add drain script * Fix script to drain contracts from newest to oldest * Add README * remove comments * Only after block 400k, look up by deposit event * issue warn log on disconnecting peer instead of error (#2491) * Display Only Active Validator Data (#2490) * Fix Validator Status Field in RPC Server (#2492) * fix status of key * status test fix * fmt * 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 * add production config for testnet release (#2493) * Lookup Validator Index in State in Status Check (#2494) * state lookup * refactor duplicate code * refactor with mapping * fix broken tests * finish refactor * merged master * Starting, I need get_epoch_start_shard * updated EpochCommitteeCount and fixed tests * implemented ShardDelta * test for ShardDelta * implemented EpochStartShard * added epoch out of bound test * test for accurate start shard * lint * need to use changes from latest crosslinks * added BaseReward and totalActiveBalance * added test for base reward * merged master * all tests passing * start testing * done * add ProcessBlockHeader v0.6 (#2534) * add ProcessBlockHeader * function has all its dependancies in place * arange the basic ok test * gazzele and skip test update * skip wrong sig test * fmt imports and change requests * goimports fmt * map for struct fields to be location independent * reorder protobuf fields * added tests * gazzle fix * few change requests fixes * revert changes in types.proto * revert changes in types * fix tests * fix lint * fmt imports * fix gazelle * fix var naming * pb update * var naming * tarance change request fixes * fix test * Add Process Registry for Epoch Processing (#2668) * update update-process-registry * added back the old tests * fmt * gaz * Follow up on process block header v0.6 (#2666) * Putting Crosslink Delta Back (#2654) * update process crosslink and update existing tests * added a test case to cover no crosslink changes * more test * preston's feedback * spellings * ValidatorStatus Estimating Activation RPC Server (#2469) * fix spacing * working on position in queue * fmt * spacing * feedback * tests * rename * Only Perform Initial Sync With a Single Peer (#2471) * fix spacing * use send instead of broadcast in initial sync * 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> * SSZ web api for decoding input data (#2473) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * standardize slot numbers (#2475) * Add CORS for ssz api (#2476) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * needed CORS * 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 * Update Prysm README (#2477) * README updated * readme updates * no err throw (#2479) * Fix Status Nil Pointer Error (#2480) * no err throw * nil errors * 3.175 (#2482) * Better Error Message if Failing to Exit Initial Sync (#2483) * no err throw * nil errors * better error on init sync * Only Log Active Balances (#2485) * only log active balance * dont need () * change logging (#2487) * fix chainstart waiting on rpc server (#2488) * shift ticker to after activation (#2489) * Add drain script (#2418) * Add drain script * Fix script to drain contracts from newest to oldest * Add README * remove comments * Only after block 400k, look up by deposit event * issue warn log on disconnecting peer instead of error (#2491) * Display Only Active Validator Data (#2490) * Fix Validator Status Field in RPC Server (#2492) * fix status of key * status test fix * fmt * 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 * add production config for testnet release (#2493) * Lookup Validator Index in State in Status Check (#2494) * state lookup * refactor duplicate code * refactor with mapping * fix broken tests * finish refactor * merged master * Starting, I need get_epoch_start_shard * updated EpochCommitteeCount and fixed tests * implemented ShardDelta * test for ShardDelta * implemented EpochStartShard * added epoch out of bound test * test for accurate start shard * lint * need to use changes from latest crosslinks * added BaseReward and totalActiveBalance * added test for base reward * merged master * all tests passing * start testing * done * fixed tests * addressed shay's feedback * Implement Attestation Delta for v0.6 (#2646) * update process crosslink and update existing tests * added a test case to cover no crosslink changes * more test * preston's feedback * spellings * ValidatorStatus Estimating Activation RPC Server (#2469) * fix spacing * working on position in queue * fmt * spacing * feedback * tests * rename * Only Perform Initial Sync With a Single Peer (#2471) * fix spacing * use send instead of broadcast in initial sync * 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> * SSZ web api for decoding input data (#2473) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * standardize slot numbers (#2475) * Add CORS for ssz api (#2476) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * needed CORS * 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 * Update Prysm README (#2477) * README updated * readme updates * no err throw (#2479) * Fix Status Nil Pointer Error (#2480) * no err throw * nil errors * 3.175 (#2482) * Better Error Message if Failing to Exit Initial Sync (#2483) * no err throw * nil errors * better error on init sync * Only Log Active Balances (#2485) * only log active balance * dont need () * change logging (#2487) * fix chainstart waiting on rpc server (#2488) * shift ticker to after activation (#2489) * Add drain script (#2418) * Add drain script * Fix script to drain contracts from newest to oldest * Add README * remove comments * Only after block 400k, look up by deposit event * issue warn log on disconnecting peer instead of error (#2491) * Display Only Active Validator Data (#2490) * Fix Validator Status Field in RPC Server (#2492) * fix status of key * status test fix * fmt * 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 * add production config for testnet release (#2493) * Lookup Validator Index in State in Status Check (#2494) * state lookup * refactor duplicate code * refactor with mapping * fix broken tests * finish refactor * merged master * Starting, I need get_epoch_start_shard * updated EpochCommitteeCount and fixed tests * implemented ShardDelta * test for ShardDelta * implemented EpochStartShard * added epoch out of bound test * test for accurate start shard * lint * need to use changes from latest crosslinks * added BaseReward and totalActiveBalance * added test for base reward * implemented process_attestation_delta * comments * comments * merged master * all tests passing * start testing * done * merged master * fixed tests * tests, more to come * tests done * lint * spaces over tabs * addressed shay's feedback * merged master * Implement process_rewards_and_penalties for 0.6 (#2665) * update process crosslink and update existing tests * added a test case to cover no crosslink changes * more test * preston's feedback * spellings * ValidatorStatus Estimating Activation RPC Server (#2469) * fix spacing * working on position in queue * fmt * spacing * feedback * tests * rename * Only Perform Initial Sync With a Single Peer (#2471) * fix spacing * use send instead of broadcast in initial sync * 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> * SSZ web api for decoding input data (#2473) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * standardize slot numbers (#2475) * Add CORS for ssz api (#2476) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * needed CORS * 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 * Update Prysm README (#2477) * README updated * readme updates * no err throw (#2479) * Fix Status Nil Pointer Error (#2480) * no err throw * nil errors * 3.175 (#2482) * Better Error Message if Failing to Exit Initial Sync (#2483) * no err throw * nil errors * better error on init sync * Only Log Active Balances (#2485) * only log active balance * dont need () * change logging (#2487) * fix chainstart waiting on rpc server (#2488) * shift ticker to after activation (#2489) * Add drain script (#2418) * Add drain script * Fix script to drain contracts from newest to oldest * Add README * remove comments * Only after block 400k, look up by deposit event * issue warn log on disconnecting peer instead of error (#2491) * Display Only Active Validator Data (#2490) * Fix Validator Status Field in RPC Server (#2492) * fix status of key * status test fix * fmt * 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 * add production config for testnet release (#2493) * Lookup Validator Index in State in Status Check (#2494) * state lookup * refactor duplicate code * refactor with mapping * fix broken tests * finish refactor * merged master * Starting, I need get_epoch_start_shard * updated EpochCommitteeCount and fixed tests * implemented ShardDelta * test for ShardDelta * implemented EpochStartShard * added epoch out of bound test * test for accurate start shard * lint * need to use changes from latest crosslinks * added BaseReward and totalActiveBalance * added test for base reward * implemented process_attestation_delta * comments * comments * merged master * all tests passing * start testing * done * merged master * fixed tests * tests, more to come * tests done * lint * spaces over tabs * addressed shay's feedback * starting but need to merge a few things... * tests * fmt * Update Slot Processing and State Transition v0.6 (#2664) * edit state transition to add slot processing logic, reorder logic * fix build * lint * tests passing * spacing * tests pass * imports * passing tests * Implement Process Epoch for 0.6 (#2675) * can't find process j f functons * implemented process_epoch * tests done * lint * nishant's feedback * stupid goland replace * goimports * Update CommitteeAssignment (#2693) * cleaned up skipped tests for core processing (#2697) * Process Block Attestations v0.6 (#2650) * attestation.go is ready, tests not * ready for review * fixing linter issues * modified Crosslink and AttestationData proto fields to spec 2.0,marked deprecated fields * gazelle * fixed tests * fixed error * add att processing: * process atts * error msg * finish process attestations logic * spacing * ssz move * inclusion delay failure passing * more attestation tests * more att tests passing * more tests * ffg data mismatching test * ffg tests complete * gofmt * fix testing to match attestation updates * ssz * lint * Fixed Skipped Tests for RPC Server (#2712) * Remove Obsolete Deposit Proto Objects (#2673) * remove deposit data * remove deposit input * fix references * remove deposit helpers * fix all refs * gaz * rgene proto * fix all tests * remove deposit data deprecated field * fix remaining references * fix all tests * fix lint * regen proto * fix test * Remove Deprecated Protobuf State Fields (#2713) * Remove Deprecated Protobuf Crosslink/Slashing/Block Fields (#2714) * Remove Deprecated Beacon Block Proto Fields (#2717) * Remove Deprecated Attestation Proto Fields (#2723) * Cache Shuffled Validator Indices (#2682) * YAML shuffle tests for v0.6 (#2667) * new shuffle tests * added comment for exported function * fix format and print * added config files handling * gazelle fix * shuffle test debugging * added shuffle list and benchmark * hash function addition from nishant code * gazelle fix * remove unused function * few minor changes * add test to test protos optimization * test a bigger list * remove commented code * small changes * fix spec test and test indices to pass * remove empty line * abstraction of repeated code and comment arrangement * terence change requests * fix new test * add small comment for better readability * change from unshuflle to shuffle * comment * better comment * fix all tests * Remove Latest Block (#2721) * lint * remove latest block * lint * add proto * fix build * Fix Deposit Trie (#2686) * remove deposit data * remove deposit input * fix references * remove deposit helpers * fix all refs * gaz * rgene proto * fix all tests * remove deposit data deprecated field * fix remaining references * fix all tests * fix lint * new tests with contract * gaz * more tests * fixed bugs * new test * finally fixed it * gaz * fix test * Remove Committee Cache (#2729) * Benchmark Compute Committee (#2698) * Fixed Skipped Attestation Tests (#2730) * Optimize Shuffled Indices Cache (#2728) * Refactor Deposit Contract Test Setup (#2731) * add new package * fix all tests * lint * change hash function (#2732) * Remove Deprecated Validator Protobuf (#2727) * Remove deprecated validator protos * Fix to comments * Fix most of skipped tests (#2735) * Optimize Base Reward Calculation (#2753) * benchmark process epoch * revert prof.out * Add some optimizations * beware where we use ActiveValidatorIndices... * revert extra file * gaz * quick commit to get feedback * revert extra file * started fixing tests * fixed broken TestProcessCrosslink_NoUpdate * gaz * cache randao seed * fixed all the tests * fmt and lint * spacing * Added todo * lint * revert binary file * started regression test * basic tests done * using a fifo for active indices cache * using a fifo for active count cache * using a fifo for total balance cache * using a fifo for active balance cache * using a fifo for start shard cache * using a fifo for seed cache * gaz * clean up * fixing tests * fixed all the core tests * fixed all the tests!!! * lint * comment * rm'ed commented code * cache size to 1000 should be good enough * optimized base reward * revert binary file * Added comments to calculate adjusted quotient outside * removed deprecated configs (#2755) * Optimize Process Eth1 Data Vote (#2754) * Cleanup and Docs update (#2756) * Add graffiti and update generate seed (#2759) * Benchmark Process Block with Attestations (#2758) * Tidying up Godoc for Core Package (#2762) * Clean up Old RPC Endpoints (#2763) * Update RPC end point for Proposer (#2767) * add RequestBlock * run mockgen * implemented RequestBlock * updated proto definitions * updated tests * updated validator attest tests * done * comment * todo issue * removed unused proto * Cache Active Validator Indices, Count, and Balances (#2737) * Update Deposit Contract (#2648) * lint * add new contract * change version * remove log * generating abi and binary files * fix tests * update to current version * new changes * add new hash function * save hashed nodes * add more things * new method * add update to trie * new stuff * gaz * more stuff * finally fixed build * remove deposit data * Revert "remove deposit data" This reverts commit 9085409e91be0c94550af10290eaad72ad40a6de. * more changes * lint and gaz * lint * Update Shard Helpers for 0.6 (#2497) * ValidatorStatus Estimating Activation RPC Server (#2469) * fix spacing * working on position in queue * fmt * spacing * feedback * tests * rename * Only Perform Initial Sync With a Single Peer (#2471) * fix spacing * use send instead of broadcast in initial sync * 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> * SSZ web api for decoding input data (#2473) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * standardize slot numbers (#2475) * Add CORS for ssz api (#2476) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * needed CORS * 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 * Update Prysm README (#2477) * README updated * readme updates * no err throw (#2479) * Fix Status Nil Pointer Error (#2480) * no err throw * nil errors * 3.175 (#2482) * Better Error Message if Failing to Exit Initial Sync (#2483) * no err throw * nil errors * better error on init sync * Only Log Active Balances (#2485) * only log active balance * dont need () * change logging (#2487) * fix chainstart waiting on rpc server (#2488) * shift ticker to after activation (#2489) * Add drain script (#2418) * Add drain script * Fix script to drain contracts from newest to oldest * Add README * remove comments * Only after block 400k, look up by deposit event * issue warn log on disconnecting peer instead of error (#2491) * Display Only Active Validator Data (#2490) * Fix Validator Status Field in RPC Server (#2492) * fix status of key * status test fix * fmt * 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 * add production config for testnet release (#2493) * Lookup Validator Index in State in Status Check (#2494) * state lookup * refactor duplicate code * refactor with mapping * fix broken tests * finish refactor * merged master * updated EpochCommitteeCount and fixed tests * implemented ShardDelta * test for ShardDelta * implemented EpochStartShard * added epoch out of bound test * test for accurate start shard * lint * Update Genesis State Function to v0.6 (#2465) * add pseudocode * make changes * fix all tests * fix tests * lint * regen protos and mocks * regenerated protos * started fixing core * all core tests passing! * removed shared/forkutils * started fixing blockchain package * lint * updating rpc package * add back deleted stuff * add back deleted stuff that was deleted accidentally * add back protos and mocks * fix errors * fix genesis issue * fix genesis issue for slot ticker * fix all genesis errors * fix build files * temp change for go-ssz * fix test * Revert "temp change for go-ssz" This reverts commit 3411cb9d6d519cb521181486debc3b21603c8873. * update to latest go-ssz * unstaged changes * Update Attester Server RPC Calls (#2773) * Update config and function parameters to v0.7 (#2791) * Minor Updates to 0.7 (#2795) * Refactor Deposit Flow and Cleanup Tests (#2788) * More WIP on cleaning deposit flow * Fix tests * Cleanup and imports * run gazelle * Move deposit to block_operations * gazelle * Update beacon-chain/core/blocks/block_operations.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * Fix docs * Remove unneeded calculations * Fix tests * Fix tests finally (?) * Optimize Committee Assignment RPC (#2787) * Update BlockRoot to BlockHash (#2816) * Fix Final Missing Items in Block Processing v0.6 (#2710) * override config successfully * passes processing * add signing root helper * blockchain tests pass * tests blocked by signing root * lint * fix references * fix protos * proper use of signing root * only few failing tests now * fix final test * tests passing * lint and imports * rem unused * Update beacon-chain/core/blocks/block_operations.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * lint * Update beacon-chain/attestation/service_test.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * Update beacon-chain/db/block_test.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * rename to hash tree root * rename decode to unmarshal * fix * use latest ssz * all tests passing * lint * fmt * Add Config YAML for Spec Tests (#2818) * Align Protobuf Type Names (#2825) * gofmt * Revert "Align Protobuf Type Names (#2825)" (#2827) This reverts commit 882d067144c674bbf4eeee00404acaa0a9b1fd33. * Update Domain Related Functions (#2832) * Add Functions for Compressed and Uncompressed HashG2 With Domain (#2833) * add tests * gaz * lint * Revert "Add Functions for Compressed and Uncompressed HashG2 With Domain (#2833)" (#2835) This reverts commit 7fb2ebf3f12f043d7bd12f43500dc2bd133df573. * Add ConvertToPb to package testutil (#2838) * Block Processing Bug Fixes (#2836) * Update types PB with Size Tags (#2840) * Epoch processing spec tests (#2814) * Remove Deposit Index (#2851) * Shuffle tests revisited (#2829) * first commit * remove old files, add log * remove duplicate yaml testing code * reduce visability * nishant feedback changes * skip TestFromYaml_Pass * added tags to bazel build * gazelle fix * remove unused vars * adda back config * remove config handling * remove unused var * gazelle fix * SSZ compatibility test for protobufs (#2839) * update workspace spec sha * remove yamls from branch * BLS spec tests (#2826) (#2856) * bls spec tests * add more bls tests * use ioutil instead of bazel runfiles * dont read bytes * skip tests that overflow uint64 * manually fix input data * add tests * lint and gaz * add all new changes * some refactoring, cleanup, remove new API methods that only exist for tests * gaz * Remove yamls, skip test * Slot processing spec test (#2813) * eth1data rpc endpoint (#2733) * eth1data rpc endpoint * first version * comment added * gazelle fix * new function to go once over the deposit array * fix tests * export DepositContainer * terence feedback * move structure decleration * binary search * fix block into Block * preston feedback * keep slice sorted to remove overhead in retrival * merge changes * feedback * update to the latest go-ssz * revert change * chnages to fit new ssz * revert merge reversion * go fmt goimprts duplicate string * exception for lint unused doesParentExist * feedback changes * latesteth1data to eth1data * goimports and stop exposing Eth1Data * revert unneeded change * remove exposure of DepositContainer * feedback and fixes * fix workspace duplicate dependancy * greatest number of deposits at current height * add count votes function * change method name * revert back to latesteth1data * latesteth1data * preston feedback * seperate function add tests fix bug * stop exposing voteCountMap * eth1data comment fix * preston feedback * fix tests * new proto files * workspace to default version of ssz * new ssz * chnage test size * marshalled marshaled * Attesting Indices Fix (#2862) * add change * fix one test * fix all tests * add test * clear cache * removed old chaintest, simulated backend and state generator (#2863) * Block Processing Sanity Spec Tests (#2817) * update PrevEpoch * add new changes * shift to blocks package * add more changes * new changes * updated pb with size tags * add new changes * fix errors * uncomment code * more changes * add new changes * rename and lint * gaz * more changes * proccess slot SigningRoot instead of HashTreeRoot * ensure yaml generated structs work * block sanity all passing * minimal and mainnet all pass * remove commented code * fix one test * fix all tests * fix again * no state comparison * matching spec * change target viz * comments gazelle * clear caches before test cases * latest attempts * clean up test format * remove debugging log, remove yaml * unskip attestation * remove skip, check post state, diff state diffs * handle err * add bug fixes * fixed one more bug * fixed churn limit bug * change hashProto to HashTreeRoot * all tests pass :) * fix all tests * gaz * add regression tests * fix test bug * Mutation testing fixes for beacon-chain/core/helpers/attestation.go (#2868) * mutation testing for attestation.go * new line * lint * revert fmt.Errorf deletion * gofmt * Add some fixes for mutation testing on blocks.go (#2869) * Fix sizes * gaz * Spec freeze release candidate spectests * Align Protobuf Type Names (#2872) * Removes some deprecated fields from protobuf (#2877) * search and replace checkpoints * fix tests, except spec tests * Update Configs for Freeze (#2876) * update configs * updated minimal configs * almost there * all tests passing except for spec tests * better comment for MinGenesisTime * done, ready for review * rm seconds per day * feedback * Mutation testing fixes for beacon-chain/core/helpers/committee.go (#2870) * Add some fixes for mutation testing on blocks.go * working on mutation testing fo committee.go * gofmt * goimports * update readme target * update latest sha for spec tests * fix build * Update State Transition Function (#2867) * Change Base Reward Factor (#2888) * Update Freeze Spec Simplification Section - part 1 (#2893) * finished changes to attesting_indices * removed index_count <= 2**40 requirement * lint * reverted index_count <= 2**40 check * added short cut len(a) > len(b) * Update justification bits (#2894) * updated all the helper pseudocodes (#2895) * Make Constants Explicit and Minor Cleanups (#2898) * Rename outdated configs, make constants explicitly delcared * Remove activate_validator, not needed * Remove GenesisSlot and GenesisEpoch * Remove unused import * Move Block Operation Length Checks to ProcessOperations (#2900) * Move block operation length checks to ProcessOperations * Write tests for each length check in ProcessOperations * Remove unneeded test * Move checks to a new function * Move duplicate check back into ProcessOperations * reorder proto fields (#2902) * Slashing Penalty Calculation Change (#2889) * lint * change config val * add max helper * changes to slashing and process slashing, add a min function for integers * gaz * fix failing tests * fix test * fixed all tests * Change Yaml tag * lint * remove gc hack * fix test * gaz * preston's comments * change failing field * fix and regen proto * lint * Implement Compact Committee Root (#2897) * add tags * add function * add new code * add function * add all new changes * lint * add tests * fix tests * fix more tests * fix all outstanding tests * gaz * Update beacon-chain/core/helpers/committee.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * comment * Remove deprecated fields from attestation data (#2892) * fix broken tests * remove comment * fixes * Update Deposit Contract (#2903) * update to new contract * fix references * fix tests * fix some more tests * fix local deposit trie * gaz * shays review * more changes * update WORKSPACE to use 0.8 spec tests * Perform Mutesting in Helpers Package (#2912) * Perform mutesting on validator * Mutesting in helpers package * Mutested eth1data * s/volundary/voluntary (#2914) * Update BLS Domain (#2916) * change from integer to byte slice * add test * fix func for bytes4 * Fix Spec tests (#2907) * fix panics * handle failed transitions * remove log * fix to protos * new changes * remove i * change ssz commit * new changes * update epoch tests * fix epoch testing * fix shuffle tests * fix test * Perform Mutesting in Epoch and State Packages (#2913) * done with updates (#2890) * Add Max Size Tag for Protobuf Fields (#2908) * No more space between ssz-size numbers * Regen pb.go * Fixed a few incorrect proto fields (#2926) * Update Validator Workflow (#2906) * Justification spec tests (#2896) * update go-ssz * Fix SSZ Compatibility Test (#2924) * figuring out how to seqeeze in multiple fields in a tag for pb * Added max tags and regenerated pb.go * updated to new standard * New bitfield types in proto (#2915) * Cast bytes to correct bitfield, failing tests now though * Add forked gogo/protobuf until https://github.com/gogo/protobuf/pull/582 * remove newline * use proper override for gogo-protobuf * fix a few tags * forgot to include custody bits and Slashable not used * Update yaml struct to use pb * Update workspace to use latest ssz * All tests fail * Use the latest go-ssz commit * All pass except for state (too long to taste) * Update test.proto * Added rest of the tests * use 1 justification bits * fix tag test, apply @rauljordan's suggestion * add IsEmpty and use ssz struct * delete unused file * Update zero hash to sha256().digest() (#2932) * update zero hash * change zero hash to conform with spec * goimports * add test for zero hash * Revert "Update zero hash to sha256().digest() (#2932)" (#2933) This reverts commit b926ae0667b18aef3f7e0e8ec8a9b3e98b3d2ccc. * Fix compress validator (#2936) * fix compress validator * update go-ssz * build without the bytes test * try minimal * Block operations spec tests (#2828) * update PrevEpoch * debugging proposer slashing tests * fmt * add deposit tests * Added skeleton for attestation minimal test * remove bazel runfiles thing * add deposits * proposer slashing test is done * comment * complete test, some failing cases * sig verify on * refactor slightly to support mainnet and minimal * included mainnet stuff * Add block header tests * volunary exit done * transfer done * new changes * fix all tests * update domain functions * fmt * fixed lint * fixed all the tests * fixed a transfer bug * finished attester slashing tests and fixed a few bugs * started fixing... * cleaned up exit and proposr slashing tests * attester slashing passing * refactored deposit tests * remove yamls, update ssz * Added todo for invalid sig * gazelle * deposits test done! * transfer tests done and pass! * fix attesting indices bug * temporarily disabled signature verification * cleaned up most of the block ops, except for att * update committee AttestingIndices * oops, i dont know how or why i changed this file * fixed all the rpc tests * 6 more failing packages * test max transfer in state package * replace hashproto with treehash in package blockchain * gazelle * fix test * fix test again * fixed transition test, 2 more left * expect an error in attestation tests * Handle panic when no votes in aggregate attestation * clear cache * Add differ, add logging, tests pass yay * remove todo, add tag * fixed TestReceiveBlock_RemovesPendingDeposits * TestAttestationMinimal/success_since_max_epochs_per_crosslink fails now... * handle panics * Transfer tests were disabled in https://github.com/ethereum/eth2.0-specs/pull/1238 * more fixes after merge, updating block_operations.yaml.go to match yaml * figuring out how to seqeeze in multiple fields in a tag for pb * Added max tags and regenerated pb.go * updated to new standard * New bitfield types in proto (#2915) * Cast bytes to correct bitfield, failing tests now though * Add forked gogo/protobuf until https://github.com/gogo/protobuf/pull/582 * remove newline * fix references and test panic * change to proto objects from custom types * fix panics in tests * use proper override for gogo-protobuf * fix a few tags * fix tests * forgot to include custody bits and Slashable not used * fix tests * sort again * Update yaml struct to use pb * Update workspace to use latest ssz * All tests fail * Use the latest go-ssz commit * All pass except for state (too long to taste) * Update test.proto * Added rest of the tests * use 1 justification bits * minor fixes * wrong proto.Equal * fix tag test, apply @rauljordan's suggestion * add IsEmpty and use ssz struct * inverted logic * update zero hash * change zero hash to conform with spec * goimports * add test for zero hash * Revert "Update zero hash to sha256().digest() (#2932)" This reverts commit b926ae0667b18aef3f7e0e8ec8a9b3e98b3d2ccc. * update ssz, fix import, shard big test * checkpoint * fix compress validator * update go-ssz * missing import * missing import * tests now pass * been a good day * update test size * fix lint * imports and remove unused const * update bazel jobs flag * update bazel jobs flag * satisfy deprecation warning * Add ssz regression tests for investigation of test failures in PR #2828 (#2935) * Adding regression tests for investigation * add another example * goimports * add quick comment about test case 0 * Epoch Process Slashings Spec Tests (#2930) * updated justification bits, tests passing OK * regen pb.go, clarify bit operations * justification and finalization tests; failing * Add wrapper, so we call the correct method * checkpoint * Update tar ref * TestSlashingsMinimal/small_penalty still failing * Use bigint instead of () and float * Revert a bad merge from workspace * Fmt * add note about https://github.com/ethereum/eth2.0-specs/issues/1284 * improve tests * gaz * Perform Mutesting In core/state Package (#2923) * Perform mutesting on validator * Mutesting in helpers package * Mutested eth1data * Perform mutesting in epoch and state packages * Fix voluntary exits test * Fix typo * Fix comments * Fix formatting * Fix error message * Handle missing errors * Handle all errors * Perform Mutesting In State Package * Fix block roots size * Remove comment * Fix error * add backend service * Add ssz compatibility tests for signing root (#2931) * Added tests for signing root * imports * fix lint on travis * fix bes flag * Final updates spec tests (#2901) * set up tests * need to reorder pbs * figuring out how to seqeeze in multiple fields in a tag for pb * Added max tags and regenerated pb.go * updated to new standard * New bitfield types in proto (#2915) * Cast bytes to correct bitfield, failing tests now though * Add forked gogo/protobuf until https://github.com/gogo/protobuf/pull/582 * remove newline * use proper override for gogo-protobuf * fix a few tags * forgot to include custody bits and Slashable not used * playing with tags idea, can revert this commit later * fixes after merge * reset caches before test * all epoch tests pass * gazelle * Genesis trigger (#2905) * genesis change * integrate changes * bodyroot * remove unused code * HasChainStarted * added isValidGenesisState to ProcessLog * state fix * fix gazelle * uint64 timestamp * SetupInitialDeposits adds proof * remove unneeded parts of test * deposithash * merkleproof from spec utils * Revert "merkleproof from spec utils" This reverts commit 1b0a124352e7b62e3c3220fb0d64e295b474b430. * fix test failures * chain started and hashtree root in tests * simple eth2genesistime * eth2 genesis time * fix zero time * add comment * remove eth1data and feedback * fix build issues * main changes: add fields and methods to track active validator count * gaz * fix test * fix more tests * improve test utils * shift spec method to state package, improve test setup * fixed log processing tests * remove log * gaz * fix invalid metric * use better tag names, not latest * Remove Block Signing Root (#2945) * replace with hash tree root * Revert "replace with hash tree root" This reverts commit 77d8f16a160e42f3c3d598df66c30a66657de1bf. * replace with signing root instead * remove one more ref * Create Test Runner for Genesis State Spec Tests (#2940) * genesis change * integrate changes * bodyroot * remove unused code * HasChainStarted * added isValidGenesisState to ProcessLog * state fix * fix gazelle * uint64 timestamp * SetupInitialDeposits adds proof * remove unneeded parts of test * deposithash * merkleproof from spec utils * Revert "merkleproof from spec utils" This reverts commit 1b0a124352e7b62e3c3220fb0d64e295b474b430. * fix test failures * chain started and hashtree root in tests * simple eth2genesistime * eth2 genesis time * fix zero time * add comment * remove eth1data and feedback * fix build issues * main changes: add fields and methods to track active validator count * gaz * fix test * fix more tests * improve test utils * Start genesis spec tests * shift spec method to state package, improve test setup * Add Genesis validity spec test * Bazel * fixed log processing tests * remove log * gaz * fix invalid metric * use json tags * fix up latest changes * Fix most of test errors * Attempts to see whats wrong with genesis validity * Fix merge * skip minimal * fix state test * new commit * fix nishant comment * gaz * Static check on branch spec-v0.6 (#2946) * Ran staticcheck and fixed the important complains * commit * commit * Create Test Runner for Genesis State Spec Tests (#2940) * genesis change * integrate changes * bodyroot * remove unused code * HasChainStarted * added isValidGenesisState to ProcessLog * state fix * fix gazelle * uint64 timestamp * SetupInitialDeposits adds proof * remove unneeded parts of test * deposithash * merkleproof from spec utils * Revert "merkleproof from spec utils" This reverts commit 1b0a124352e7b62e3c3220fb0d64e295b474b430. * fix test failures * chain started and hashtree root in tests * simple eth2genesistime * eth2 genesis time * fix zero time * add comment * remove eth1data and feedback * fix build issues * main changes: add fields and methods to track active validator count * gaz * fix test * fix more tests * improve test utils * Start genesis spec tests * shift spec method to state package, improve test setup * Add Genesis validity spec test * Bazel * fixed log processing tests * remove log * gaz * fix invalid metric * use json tags * fix up latest changes * Fix most of test errors * Attempts to see whats wrong with genesis validity * Fix merge * skip minimal * fix state test * new commit * fix nishant comment * gaz * Add Back Eth1Data After Bad Merge (#2953) * eth1data rpc endpoint * first version * comment added * gazelle fix * new function to go once over the deposit array * fix tests * export DepositContainer * terence feedback * move structure decleration * binary search * fix block into Block * preston feedback * keep slice sorted to remove overhead in retrival * merge changes * feedback * update to the latest go-ssz * revert change * chnages to fit new ssz * revert merge reversion * go fmt goimprts duplicate string * exception for lint unused doesParentExist * feedback changes * latesteth1data to eth1data * goimports and stop exposing Eth1Data * revert unneeded change * remove exposure of DepositContainer * feedback and fixes * fix workspace duplicate dependancy * greatest number of deposits at current height * add count votes function * change method name * revert back to latesteth1data * latesteth1data * preston feedback * seperate function add tests fix bug * stop exposing voteCountMap * eth1data comment fix * preston feedback * fix tests * new proto files * workspace to default version of ssz * new ssz * chnage test size * marshalled marshaled * everything passing again * add skip reason * cleanup deposit contract slightly * remove unused chainstart param (#2957) * fix breakages from #2957 (#2958) * fix breakages from #2957 * oops * Fix deposit input data (#2956) * fix deposit input data * fix deposit input data * gaz and build fix * Add Tests for Genesis Deposits Caching (#2952) * remove old method and replace with an improved one * add new files * gaz * add test * added all these tests * gaz * Apply suggestions from code review Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * fix merkle proof error * fix config * Minor fixes for runtime (#2960) * Minor fixes for runtime * use comments * goimports * revert beacon-chain/core/state/state.go and fix comment for lint * fix test too * Minor runtime fixes (#2961) * Add support for bundling binaries and fix ARM64 builds (#2970) * Add support for bundling binaries and fix ARM64 builds * Fix exports * ignore manual targets wrt vis check * fix graknlabs * update spec tests (#2979) * hotfix until https://github.com/graknlabs/bazel-distribution/pull/169 * Overflow slashing calculation fix (#2977) * Runtime Fixes (#2736) * first batch of fixes * add log * more fixes * another bug fixed * update deposit contract and other fixes * remove logs * new changes * fixes * fix build * remove config * more fixes * add more changes * add back todo * make compute state root work * remove commented out and fix condition * fix commented code * fix config * gaz * remove flag * remove init * new fixes * fix test * one more fix * fix all tests * change back config * fix one more bug * remove logging bool * Only build test targets when running bazel test //... * Align prysm to spec v0.8.1 (#2978) * Bazel problem * Update zero hash representation to be clear (cosmetic) * Update minor cosmetic fixes * Fixed lookahead off by 1 * Update randao.go * update ssz * test failures fixed * test fixes * fix up workspace * lint * fixed errs * Updated pubkey loggings (#2983) * Fix proposer assignment (#2984) * add jvm limits * add jvm limits * Removed logging from state transition functions (#2980) * Match spec on proposer index division (#2985) * Match spec on proposer index division * gaz * fixes * Fix Default Eth1Data (#2982) * fix bug * Update beacon-chain/core/state/transition.go Co-Authored-By: Raul Jordan <raul@prysmaticlabs.com> * more fixes * reg test * Set ejection balance to 1.6 (#2987) * improve block processing log (#2990) * Fix HistoricalRootsLimit (#2989) * fix historical lenght * fix genesis state initialization and test * fix genesis state initialization and test * fix genesis state initialization and test * fix genesis state initialization and test * hack config until https://github.com/prysmaticlabs/prysm/issues/2993 * More Runtime Fixes (#2986) * local changes * add val sig * attester fix * one more fix * fixed all tests * rem validator issue * fix finality issue (#2994) * Fix validator prev balance calculation (#2992) * attester fix * one more fix * fixed all tests * Fix validator prev balances calculation * go fmt * 48 bytes * Fix Querier to handle Deposit Logs Race (#2999) * fix sync issue * fix build * add regression test * add var for magic number * Fix eth1data and deposits (#2996) * Work in progress, eth1data works, deposits are included at the appropriate time, and activation happens at the correct time * revert blockInfo being public * git tests to build, not yet pass though * add tests * some commentary * fix comment * goimports * fmt and remove unused method * Update rules go (#2975) * update rules_go * Fix some cross compile builds stuff * add missing deps * update to 0.19.1 * Update Protobufs to Match Ethereum APIs (#2998) * add beacon block and attestation files * add all types * include all new proto type definitions * add add all proto definitions * fix all comments to say 48 bytes * include latest changes * readd common * no swag * add build file * deps issue * right package names * address feedback, maintain parity between upstream ethereumapis * delete pb * bad gens * Update "Testing Prysm" readme section (#3000) Resolves invalid url link to golangci-lint. * Update badge to version 0.8.1 * elaborate on test skip * revert shared/p2p/options.go * make travis happy with goimports * Update beacon-chain/core/blocks/block.go Co-Authored-By: Preston Van Loon <preston@prysmaticlabs.com>
2019-07-20 00:16:10 +00:00
logs, sub, err := _DepositContract.contract.WatchLogs(opts, "DepositEvent")
if err != nil {
return nil, err
}
return event.NewSubscription(func(quit <-chan struct{}) error {
defer sub.Unsubscribe()
for {
select {
case log := <-logs:
// New log arrived, parse the event and forward to the user
Spec freeze updates (#2312) * Optimize Shuffled Indices Cache (#2728) * Refactor Deposit Contract Test Setup (#2731) * add new package * fix all tests * lint * change hash function (#2732) * Remove Deprecated Validator Protobuf (#2727) * Remove deprecated validator protos * Fix to comments * Fix most of skipped tests (#2735) * Cache Active Validator Indices, Count, and Balances (#2737) * Optimize Base Reward Calculation (#2753) * benchmark process epoch * revert prof.out * Add some optimizations * beware where we use ActiveValidatorIndices... * revert extra file * gaz * quick commit to get feedback * revert extra file * started fixing tests * fixed broken TestProcessCrosslink_NoUpdate * gaz * cache randao seed * fixed all the tests * fmt and lint * spacing * Added todo * lint * revert binary file * started regression test * basic tests done * using a fifo for active indices cache * using a fifo for active count cache * using a fifo for total balance cache * using a fifo for active balance cache * using a fifo for start shard cache * using a fifo for seed cache * gaz * clean up * fixing tests * fixed all the core tests * fixed all the tests!!! * lint * comment * rm'ed commented code * cache size to 1000 should be good enough * optimized base reward * revert binary file * Added comments to calculate adjusted quotient outside * removed deprecated configs (#2755) * Optimize Process Eth1 Data Vote (#2754) * Cleanup and Docs update (#2756) * Add graffiti and update generate seed (#2759) * Benchmark Process Block with Attestations (#2758) * Tidying up Godoc for Core Package (#2762) * Clean up Old RPC Endpoints (#2763) * Update RPC end point for Proposer (#2767) * add RequestBlock * run mockgen * implemented RequestBlock * updated proto definitions * updated tests * updated validator attest tests * done * comment * todo issue * removed unused proto * Update attesting indices v0.6 (#2449) * sort participants slice * add bitfield functions and tests * added BitfieldBit test * add AttestationParticipantsNew * revert AttestationParticipants to its previous change * add tests * remove verifybitfieldnew * fix tests and remove multiple tests * remove duplicate test * change magic number into ceildiv8 * Implement Justification and finalization Processing (#2448) * Add convert to indexed (#2519) * sort participants slice * add bitfield functions and tests * added BitfieldBit test * add AttestationParticipantsNew * revert AttestationParticipants to its previous change * add tests * remove verifybitfieldnew * fix tests and remove multiple tests * remove duplicate test * start work * convert attestation to indexed attestations * fix test for convert index * remove calling getter * add more tests * remove underscore * changes name to signature (#2535) * update registry updates func (#2521) * update registry updates func * added tests and moved to epoch processing * fixed naming issues * Update Committee Helpers to v0.6.0 (#2398) * Update Committee Helper Part 2 (#2592) * Implement Process Slashings for 0.6 (#2523) * Update Proposer/Attester Slashings and Slashing Helpers (#2603) * Implement Final Updates 0.6 (#2562) * ValidatorStatus Estimating Activation RPC Server (#2469) * fix spacing * working on position in queue * fmt * spacing * feedback * tests * rename * Only Perform Initial Sync With a Single Peer (#2471) * fix spacing * use send instead of broadcast in initial sync * 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> * SSZ web api for decoding input data (#2473) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * standardize slot numbers (#2475) * Add CORS for ssz api (#2476) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * needed CORS * 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 * Update Prysm README (#2477) * README updated * readme updates * no err throw (#2479) * Fix Status Nil Pointer Error (#2480) * no err throw * nil errors * 3.175 (#2482) * Better Error Message if Failing to Exit Initial Sync (#2483) * no err throw * nil errors * better error on init sync * Only Log Active Balances (#2485) * only log active balance * dont need () * change logging (#2487) * fix chainstart waiting on rpc server (#2488) * shift ticker to after activation (#2489) * Add drain script (#2418) * Add drain script * Fix script to drain contracts from newest to oldest * Add README * remove comments * Only after block 400k, look up by deposit event * issue warn log on disconnecting peer instead of error (#2491) * Display Only Active Validator Data (#2490) * Fix Validator Status Field in RPC Server (#2492) * fix status of key * status test fix * fmt * 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 * add production config for testnet release (#2493) * Lookup Validator Index in State in Status Check (#2494) * state lookup * refactor duplicate code * refactor with mapping * fix broken tests * finish refactor * merged master * updated EpochCommitteeCount and fixed tests * implemented ShardDelta * test for ShardDelta * implemented EpochStartShard * added epoch out of bound test * test for accurate start shard * lint * implemented process_final_updates * move to the top of the file * add comment back * gaz * Test for process final updates * fixed tests * fixed all the tests * Update Reward Helper v0.6 (#2470) * added BaseReward * added rewards helper * added test for BaseReward * extra space * move exported function above * update to new spec (#2614) * Update Block Processing Voluntary Exits (#2609) * Update processEth1Data for v0.6 (#2516) * Clean up Helper Functions Part 1 (#2612) * Finalize helper functions for 0.6 (#2632) * Process Beacon Chain Transfers v0.6 (#2642) * add transfers * beacon transfer operations complete * full cov * transfer testing * finished tests * Update beacon-chain/core/blocks/block_operations_test.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * Update beacon-chain/core/blocks/block_operations.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * Implement Process Crosslink From 0.6 (#2460) * Process Block Eth1 Data v0.6 (#2645) * Get attestation data slot v0.6 (#2593) * attestation.go is ready, tests not * ready for review * fixing linter issues * modified Crosslink and AttestationData proto fields to spec 2.0,marked deprecated fields * gazelle * fixed tests * fixed error * error msg * Process Block Deposits v0.6 (#2647) * imports fixes * deposits tests pass * wrapped up gazelle * spacing * Implement Crosslink Delta Rewards for 0.6 (#2517) * update process crosslink and update existing tests * added a test case to cover no crosslink changes * more test * preston's feedback * spellings * ValidatorStatus Estimating Activation RPC Server (#2469) * fix spacing * working on position in queue * fmt * spacing * feedback * tests * rename * Only Perform Initial Sync With a Single Peer (#2471) * fix spacing * use send instead of broadcast in initial sync * 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> * SSZ web api for decoding input data (#2473) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * standardize slot numbers (#2475) * Add CORS for ssz api (#2476) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * needed CORS * 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 * Update Prysm README (#2477) * README updated * readme updates * no err throw (#2479) * Fix Status Nil Pointer Error (#2480) * no err throw * nil errors * 3.175 (#2482) * Better Error Message if Failing to Exit Initial Sync (#2483) * no err throw * nil errors * better error on init sync * Only Log Active Balances (#2485) * only log active balance * dont need () * change logging (#2487) * fix chainstart waiting on rpc server (#2488) * shift ticker to after activation (#2489) * Add drain script (#2418) * Add drain script * Fix script to drain contracts from newest to oldest * Add README * remove comments * Only after block 400k, look up by deposit event * issue warn log on disconnecting peer instead of error (#2491) * Display Only Active Validator Data (#2490) * Fix Validator Status Field in RPC Server (#2492) * fix status of key * status test fix * fmt * 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 * add production config for testnet release (#2493) * Lookup Validator Index in State in Status Check (#2494) * state lookup * refactor duplicate code * refactor with mapping * fix broken tests * finish refactor * merged master * Starting, I need get_epoch_start_shard * updated EpochCommitteeCount and fixed tests * implemented ShardDelta * test for ShardDelta * implemented EpochStartShard * added epoch out of bound test * test for accurate start shard * lint * need to use changes from latest crosslinks * added BaseReward and totalActiveBalance * added test for base reward * merged master * all tests passing * start testing * done * add ProcessBlockHeader v0.6 (#2534) * add ProcessBlockHeader * function has all its dependancies in place * arange the basic ok test * gazzele and skip test update * skip wrong sig test * fmt imports and change requests * goimports fmt * map for struct fields to be location independent * reorder protobuf fields * added tests * gazzle fix * few change requests fixes * revert changes in types.proto * revert changes in types * fix tests * fix lint * fmt imports * fix gazelle * fix var naming * pb update * var naming * tarance change request fixes * fix test * Add Process Registry for Epoch Processing (#2668) * update update-process-registry * added back the old tests * fmt * gaz * Follow up on process block header v0.6 (#2666) * Putting Crosslink Delta Back (#2654) * update process crosslink and update existing tests * added a test case to cover no crosslink changes * more test * preston's feedback * spellings * ValidatorStatus Estimating Activation RPC Server (#2469) * fix spacing * working on position in queue * fmt * spacing * feedback * tests * rename * Only Perform Initial Sync With a Single Peer (#2471) * fix spacing * use send instead of broadcast in initial sync * 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> * SSZ web api for decoding input data (#2473) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * standardize slot numbers (#2475) * Add CORS for ssz api (#2476) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * needed CORS * 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 * Update Prysm README (#2477) * README updated * readme updates * no err throw (#2479) * Fix Status Nil Pointer Error (#2480) * no err throw * nil errors * 3.175 (#2482) * Better Error Message if Failing to Exit Initial Sync (#2483) * no err throw * nil errors * better error on init sync * Only Log Active Balances (#2485) * only log active balance * dont need () * change logging (#2487) * fix chainstart waiting on rpc server (#2488) * shift ticker to after activation (#2489) * Add drain script (#2418) * Add drain script * Fix script to drain contracts from newest to oldest * Add README * remove comments * Only after block 400k, look up by deposit event * issue warn log on disconnecting peer instead of error (#2491) * Display Only Active Validator Data (#2490) * Fix Validator Status Field in RPC Server (#2492) * fix status of key * status test fix * fmt * 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 * add production config for testnet release (#2493) * Lookup Validator Index in State in Status Check (#2494) * state lookup * refactor duplicate code * refactor with mapping * fix broken tests * finish refactor * merged master * Starting, I need get_epoch_start_shard * updated EpochCommitteeCount and fixed tests * implemented ShardDelta * test for ShardDelta * implemented EpochStartShard * added epoch out of bound test * test for accurate start shard * lint * need to use changes from latest crosslinks * added BaseReward and totalActiveBalance * added test for base reward * merged master * all tests passing * start testing * done * fixed tests * addressed shay's feedback * Implement Attestation Delta for v0.6 (#2646) * update process crosslink and update existing tests * added a test case to cover no crosslink changes * more test * preston's feedback * spellings * ValidatorStatus Estimating Activation RPC Server (#2469) * fix spacing * working on position in queue * fmt * spacing * feedback * tests * rename * Only Perform Initial Sync With a Single Peer (#2471) * fix spacing * use send instead of broadcast in initial sync * 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> * SSZ web api for decoding input data (#2473) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * standardize slot numbers (#2475) * Add CORS for ssz api (#2476) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * needed CORS * 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 * Update Prysm README (#2477) * README updated * readme updates * no err throw (#2479) * Fix Status Nil Pointer Error (#2480) * no err throw * nil errors * 3.175 (#2482) * Better Error Message if Failing to Exit Initial Sync (#2483) * no err throw * nil errors * better error on init sync * Only Log Active Balances (#2485) * only log active balance * dont need () * change logging (#2487) * fix chainstart waiting on rpc server (#2488) * shift ticker to after activation (#2489) * Add drain script (#2418) * Add drain script * Fix script to drain contracts from newest to oldest * Add README * remove comments * Only after block 400k, look up by deposit event * issue warn log on disconnecting peer instead of error (#2491) * Display Only Active Validator Data (#2490) * Fix Validator Status Field in RPC Server (#2492) * fix status of key * status test fix * fmt * 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 * add production config for testnet release (#2493) * Lookup Validator Index in State in Status Check (#2494) * state lookup * refactor duplicate code * refactor with mapping * fix broken tests * finish refactor * merged master * Starting, I need get_epoch_start_shard * updated EpochCommitteeCount and fixed tests * implemented ShardDelta * test for ShardDelta * implemented EpochStartShard * added epoch out of bound test * test for accurate start shard * lint * need to use changes from latest crosslinks * added BaseReward and totalActiveBalance * added test for base reward * implemented process_attestation_delta * comments * comments * merged master * all tests passing * start testing * done * merged master * fixed tests * tests, more to come * tests done * lint * spaces over tabs * addressed shay's feedback * merged master * Implement process_rewards_and_penalties for 0.6 (#2665) * update process crosslink and update existing tests * added a test case to cover no crosslink changes * more test * preston's feedback * spellings * ValidatorStatus Estimating Activation RPC Server (#2469) * fix spacing * working on position in queue * fmt * spacing * feedback * tests * rename * Only Perform Initial Sync With a Single Peer (#2471) * fix spacing * use send instead of broadcast in initial sync * 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> * SSZ web api for decoding input data (#2473) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * standardize slot numbers (#2475) * Add CORS for ssz api (#2476) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * needed CORS * 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 * Update Prysm README (#2477) * README updated * readme updates * no err throw (#2479) * Fix Status Nil Pointer Error (#2480) * no err throw * nil errors * 3.175 (#2482) * Better Error Message if Failing to Exit Initial Sync (#2483) * no err throw * nil errors * better error on init sync * Only Log Active Balances (#2485) * only log active balance * dont need () * change logging (#2487) * fix chainstart waiting on rpc server (#2488) * shift ticker to after activation (#2489) * Add drain script (#2418) * Add drain script * Fix script to drain contracts from newest to oldest * Add README * remove comments * Only after block 400k, look up by deposit event * issue warn log on disconnecting peer instead of error (#2491) * Display Only Active Validator Data (#2490) * Fix Validator Status Field in RPC Server (#2492) * fix status of key * status test fix * fmt * 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 * add production config for testnet release (#2493) * Lookup Validator Index in State in Status Check (#2494) * state lookup * refactor duplicate code * refactor with mapping * fix broken tests * finish refactor * merged master * Starting, I need get_epoch_start_shard * updated EpochCommitteeCount and fixed tests * implemented ShardDelta * test for ShardDelta * implemented EpochStartShard * added epoch out of bound test * test for accurate start shard * lint * need to use changes from latest crosslinks * added BaseReward and totalActiveBalance * added test for base reward * implemented process_attestation_delta * comments * comments * merged master * all tests passing * start testing * done * merged master * fixed tests * tests, more to come * tests done * lint * spaces over tabs * addressed shay's feedback * starting but need to merge a few things... * tests * fmt * Update Slot Processing and State Transition v0.6 (#2664) * edit state transition to add slot processing logic, reorder logic * fix build * lint * tests passing * spacing * tests pass * imports * passing tests * Implement Process Epoch for 0.6 (#2675) * can't find process j f functons * implemented process_epoch * tests done * lint * nishant's feedback * stupid goland replace * goimports * Update CommitteeAssignment (#2693) * cleaned up skipped tests for core processing (#2697) * Process Block Attestations v0.6 (#2650) * attestation.go is ready, tests not * ready for review * fixing linter issues * modified Crosslink and AttestationData proto fields to spec 2.0,marked deprecated fields * gazelle * fixed tests * fixed error * add att processing: * process atts * error msg * finish process attestations logic * spacing * ssz move * inclusion delay failure passing * more attestation tests * more att tests passing * more tests * ffg data mismatching test * ffg tests complete * gofmt * fix testing to match attestation updates * ssz * lint * Fixed Skipped Tests for RPC Server (#2712) * Remove Obsolete Deposit Proto Objects (#2673) * remove deposit data * remove deposit input * fix references * remove deposit helpers * fix all refs * gaz * rgene proto * fix all tests * remove deposit data deprecated field * fix remaining references * fix all tests * fix lint * regen proto * fix test * Remove Deprecated Protobuf State Fields (#2713) * Remove Deprecated Protobuf Crosslink/Slashing/Block Fields (#2714) * Remove Deprecated Beacon Block Proto Fields (#2717) * Remove Deprecated Attestation Proto Fields (#2723) * Cache Shuffled Validator Indices (#2682) * YAML shuffle tests for v0.6 (#2667) * new shuffle tests * added comment for exported function * fix format and print * added config files handling * gazelle fix * shuffle test debugging * added shuffle list and benchmark * hash function addition from nishant code * gazelle fix * remove unused function * few minor changes * add test to test protos optimization * test a bigger list * remove commented code * small changes * fix spec test and test indices to pass * remove empty line * abstraction of repeated code and comment arrangement * terence change requests * fix new test * add small comment for better readability * change from unshuflle to shuffle * comment * better comment * fix all tests * Remove Latest Block (#2721) * lint * remove latest block * lint * add proto * fix build * Fix Deposit Trie (#2686) * remove deposit data * remove deposit input * fix references * remove deposit helpers * fix all refs * gaz * rgene proto * fix all tests * remove deposit data deprecated field * fix remaining references * fix all tests * fix lint * new tests with contract * gaz * more tests * fixed bugs * new test * finally fixed it * gaz * fix test * Remove Committee Cache (#2729) * Benchmark Compute Committee (#2698) * Fixed Skipped Attestation Tests (#2730) * Optimize Shuffled Indices Cache (#2728) * Refactor Deposit Contract Test Setup (#2731) * add new package * fix all tests * lint * change hash function (#2732) * Remove Deprecated Validator Protobuf (#2727) * Remove deprecated validator protos * Fix to comments * Fix most of skipped tests (#2735) * Optimize Base Reward Calculation (#2753) * benchmark process epoch * revert prof.out * Add some optimizations * beware where we use ActiveValidatorIndices... * revert extra file * gaz * quick commit to get feedback * revert extra file * started fixing tests * fixed broken TestProcessCrosslink_NoUpdate * gaz * cache randao seed * fixed all the tests * fmt and lint * spacing * Added todo * lint * revert binary file * started regression test * basic tests done * using a fifo for active indices cache * using a fifo for active count cache * using a fifo for total balance cache * using a fifo for active balance cache * using a fifo for start shard cache * using a fifo for seed cache * gaz * clean up * fixing tests * fixed all the core tests * fixed all the tests!!! * lint * comment * rm'ed commented code * cache size to 1000 should be good enough * optimized base reward * revert binary file * Added comments to calculate adjusted quotient outside * removed deprecated configs (#2755) * Optimize Process Eth1 Data Vote (#2754) * Cleanup and Docs update (#2756) * Add graffiti and update generate seed (#2759) * Benchmark Process Block with Attestations (#2758) * Tidying up Godoc for Core Package (#2762) * Clean up Old RPC Endpoints (#2763) * Update RPC end point for Proposer (#2767) * add RequestBlock * run mockgen * implemented RequestBlock * updated proto definitions * updated tests * updated validator attest tests * done * comment * todo issue * removed unused proto * Cache Active Validator Indices, Count, and Balances (#2737) * Update Deposit Contract (#2648) * lint * add new contract * change version * remove log * generating abi and binary files * fix tests * update to current version * new changes * add new hash function * save hashed nodes * add more things * new method * add update to trie * new stuff * gaz * more stuff * finally fixed build * remove deposit data * Revert "remove deposit data" This reverts commit 9085409e91be0c94550af10290eaad72ad40a6de. * more changes * lint and gaz * lint * Update Shard Helpers for 0.6 (#2497) * ValidatorStatus Estimating Activation RPC Server (#2469) * fix spacing * working on position in queue * fmt * spacing * feedback * tests * rename * Only Perform Initial Sync With a Single Peer (#2471) * fix spacing * use send instead of broadcast in initial sync * 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> * SSZ web api for decoding input data (#2473) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * standardize slot numbers (#2475) * Add CORS for ssz api (#2476) * first pass ssz server for decoding deposit input data * fix decoding * revert viz change on helper * add image target * use /api prefix, add deployment for cluster * fix lint * needed CORS * 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 * Update Prysm README (#2477) * README updated * readme updates * no err throw (#2479) * Fix Status Nil Pointer Error (#2480) * no err throw * nil errors * 3.175 (#2482) * Better Error Message if Failing to Exit Initial Sync (#2483) * no err throw * nil errors * better error on init sync * Only Log Active Balances (#2485) * only log active balance * dont need () * change logging (#2487) * fix chainstart waiting on rpc server (#2488) * shift ticker to after activation (#2489) * Add drain script (#2418) * Add drain script * Fix script to drain contracts from newest to oldest * Add README * remove comments * Only after block 400k, look up by deposit event * issue warn log on disconnecting peer instead of error (#2491) * Display Only Active Validator Data (#2490) * Fix Validator Status Field in RPC Server (#2492) * fix status of key * status test fix * fmt * 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 * add production config for testnet release (#2493) * Lookup Validator Index in State in Status Check (#2494) * state lookup * refactor duplicate code * refactor with mapping * fix broken tests * finish refactor * merged master * updated EpochCommitteeCount and fixed tests * implemented ShardDelta * test for ShardDelta * implemented EpochStartShard * added epoch out of bound test * test for accurate start shard * lint * Update Genesis State Function to v0.6 (#2465) * add pseudocode * make changes * fix all tests * fix tests * lint * regen protos and mocks * regenerated protos * started fixing core * all core tests passing! * removed shared/forkutils * started fixing blockchain package * lint * updating rpc package * add back deleted stuff * add back deleted stuff that was deleted accidentally * add back protos and mocks * fix errors * fix genesis issue * fix genesis issue for slot ticker * fix all genesis errors * fix build files * temp change for go-ssz * fix test * Revert "temp change for go-ssz" This reverts commit 3411cb9d6d519cb521181486debc3b21603c8873. * update to latest go-ssz * unstaged changes * Update Attester Server RPC Calls (#2773) * Update config and function parameters to v0.7 (#2791) * Minor Updates to 0.7 (#2795) * Refactor Deposit Flow and Cleanup Tests (#2788) * More WIP on cleaning deposit flow * Fix tests * Cleanup and imports * run gazelle * Move deposit to block_operations * gazelle * Update beacon-chain/core/blocks/block_operations.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * Fix docs * Remove unneeded calculations * Fix tests * Fix tests finally (?) * Optimize Committee Assignment RPC (#2787) * Update BlockRoot to BlockHash (#2816) * Fix Final Missing Items in Block Processing v0.6 (#2710) * override config successfully * passes processing * add signing root helper * blockchain tests pass * tests blocked by signing root * lint * fix references * fix protos * proper use of signing root * only few failing tests now * fix final test * tests passing * lint and imports * rem unused * Update beacon-chain/core/blocks/block_operations.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * lint * Update beacon-chain/attestation/service_test.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * Update beacon-chain/db/block_test.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * rename to hash tree root * rename decode to unmarshal * fix * use latest ssz * all tests passing * lint * fmt * Add Config YAML for Spec Tests (#2818) * Align Protobuf Type Names (#2825) * gofmt * Revert "Align Protobuf Type Names (#2825)" (#2827) This reverts commit 882d067144c674bbf4eeee00404acaa0a9b1fd33. * Update Domain Related Functions (#2832) * Add Functions for Compressed and Uncompressed HashG2 With Domain (#2833) * add tests * gaz * lint * Revert "Add Functions for Compressed and Uncompressed HashG2 With Domain (#2833)" (#2835) This reverts commit 7fb2ebf3f12f043d7bd12f43500dc2bd133df573. * Add ConvertToPb to package testutil (#2838) * Block Processing Bug Fixes (#2836) * Update types PB with Size Tags (#2840) * Epoch processing spec tests (#2814) * Remove Deposit Index (#2851) * Shuffle tests revisited (#2829) * first commit * remove old files, add log * remove duplicate yaml testing code * reduce visability * nishant feedback changes * skip TestFromYaml_Pass * added tags to bazel build * gazelle fix * remove unused vars * adda back config * remove config handling * remove unused var * gazelle fix * SSZ compatibility test for protobufs (#2839) * update workspace spec sha * remove yamls from branch * BLS spec tests (#2826) (#2856) * bls spec tests * add more bls tests * use ioutil instead of bazel runfiles * dont read bytes * skip tests that overflow uint64 * manually fix input data * add tests * lint and gaz * add all new changes * some refactoring, cleanup, remove new API methods that only exist for tests * gaz * Remove yamls, skip test * Slot processing spec test (#2813) * eth1data rpc endpoint (#2733) * eth1data rpc endpoint * first version * comment added * gazelle fix * new function to go once over the deposit array * fix tests * export DepositContainer * terence feedback * move structure decleration * binary search * fix block into Block * preston feedback * keep slice sorted to remove overhead in retrival * merge changes * feedback * update to the latest go-ssz * revert change * chnages to fit new ssz * revert merge reversion * go fmt goimprts duplicate string * exception for lint unused doesParentExist * feedback changes * latesteth1data to eth1data * goimports and stop exposing Eth1Data * revert unneeded change * remove exposure of DepositContainer * feedback and fixes * fix workspace duplicate dependancy * greatest number of deposits at current height * add count votes function * change method name * revert back to latesteth1data * latesteth1data * preston feedback * seperate function add tests fix bug * stop exposing voteCountMap * eth1data comment fix * preston feedback * fix tests * new proto files * workspace to default version of ssz * new ssz * chnage test size * marshalled marshaled * Attesting Indices Fix (#2862) * add change * fix one test * fix all tests * add test * clear cache * removed old chaintest, simulated backend and state generator (#2863) * Block Processing Sanity Spec Tests (#2817) * update PrevEpoch * add new changes * shift to blocks package * add more changes * new changes * updated pb with size tags * add new changes * fix errors * uncomment code * more changes * add new changes * rename and lint * gaz * more changes * proccess slot SigningRoot instead of HashTreeRoot * ensure yaml generated structs work * block sanity all passing * minimal and mainnet all pass * remove commented code * fix one test * fix all tests * fix again * no state comparison * matching spec * change target viz * comments gazelle * clear caches before test cases * latest attempts * clean up test format * remove debugging log, remove yaml * unskip attestation * remove skip, check post state, diff state diffs * handle err * add bug fixes * fixed one more bug * fixed churn limit bug * change hashProto to HashTreeRoot * all tests pass :) * fix all tests * gaz * add regression tests * fix test bug * Mutation testing fixes for beacon-chain/core/helpers/attestation.go (#2868) * mutation testing for attestation.go * new line * lint * revert fmt.Errorf deletion * gofmt * Add some fixes for mutation testing on blocks.go (#2869) * Fix sizes * gaz * Spec freeze release candidate spectests * Align Protobuf Type Names (#2872) * Removes some deprecated fields from protobuf (#2877) * search and replace checkpoints * fix tests, except spec tests * Update Configs for Freeze (#2876) * update configs * updated minimal configs * almost there * all tests passing except for spec tests * better comment for MinGenesisTime * done, ready for review * rm seconds per day * feedback * Mutation testing fixes for beacon-chain/core/helpers/committee.go (#2870) * Add some fixes for mutation testing on blocks.go * working on mutation testing fo committee.go * gofmt * goimports * update readme target * update latest sha for spec tests * fix build * Update State Transition Function (#2867) * Change Base Reward Factor (#2888) * Update Freeze Spec Simplification Section - part 1 (#2893) * finished changes to attesting_indices * removed index_count <= 2**40 requirement * lint * reverted index_count <= 2**40 check * added short cut len(a) > len(b) * Update justification bits (#2894) * updated all the helper pseudocodes (#2895) * Make Constants Explicit and Minor Cleanups (#2898) * Rename outdated configs, make constants explicitly delcared * Remove activate_validator, not needed * Remove GenesisSlot and GenesisEpoch * Remove unused import * Move Block Operation Length Checks to ProcessOperations (#2900) * Move block operation length checks to ProcessOperations * Write tests for each length check in ProcessOperations * Remove unneeded test * Move checks to a new function * Move duplicate check back into ProcessOperations * reorder proto fields (#2902) * Slashing Penalty Calculation Change (#2889) * lint * change config val * add max helper * changes to slashing and process slashing, add a min function for integers * gaz * fix failing tests * fix test * fixed all tests * Change Yaml tag * lint * remove gc hack * fix test * gaz * preston's comments * change failing field * fix and regen proto * lint * Implement Compact Committee Root (#2897) * add tags * add function * add new code * add function * add all new changes * lint * add tests * fix tests * fix more tests * fix all outstanding tests * gaz * Update beacon-chain/core/helpers/committee.go Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * comment * Remove deprecated fields from attestation data (#2892) * fix broken tests * remove comment * fixes * Update Deposit Contract (#2903) * update to new contract * fix references * fix tests * fix some more tests * fix local deposit trie * gaz * shays review * more changes * update WORKSPACE to use 0.8 spec tests * Perform Mutesting in Helpers Package (#2912) * Perform mutesting on validator * Mutesting in helpers package * Mutested eth1data * s/volundary/voluntary (#2914) * Update BLS Domain (#2916) * change from integer to byte slice * add test * fix func for bytes4 * Fix Spec tests (#2907) * fix panics * handle failed transitions * remove log * fix to protos * new changes * remove i * change ssz commit * new changes * update epoch tests * fix epoch testing * fix shuffle tests * fix test * Perform Mutesting in Epoch and State Packages (#2913) * done with updates (#2890) * Add Max Size Tag for Protobuf Fields (#2908) * No more space between ssz-size numbers * Regen pb.go * Fixed a few incorrect proto fields (#2926) * Update Validator Workflow (#2906) * Justification spec tests (#2896) * update go-ssz * Fix SSZ Compatibility Test (#2924) * figuring out how to seqeeze in multiple fields in a tag for pb * Added max tags and regenerated pb.go * updated to new standard * New bitfield types in proto (#2915) * Cast bytes to correct bitfield, failing tests now though * Add forked gogo/protobuf until https://github.com/gogo/protobuf/pull/582 * remove newline * use proper override for gogo-protobuf * fix a few tags * forgot to include custody bits and Slashable not used * Update yaml struct to use pb * Update workspace to use latest ssz * All tests fail * Use the latest go-ssz commit * All pass except for state (too long to taste) * Update test.proto * Added rest of the tests * use 1 justification bits * fix tag test, apply @rauljordan's suggestion * add IsEmpty and use ssz struct * delete unused file * Update zero hash to sha256().digest() (#2932) * update zero hash * change zero hash to conform with spec * goimports * add test for zero hash * Revert "Update zero hash to sha256().digest() (#2932)" (#2933) This reverts commit b926ae0667b18aef3f7e0e8ec8a9b3e98b3d2ccc. * Fix compress validator (#2936) * fix compress validator * update go-ssz * build without the bytes test * try minimal * Block operations spec tests (#2828) * update PrevEpoch * debugging proposer slashing tests * fmt * add deposit tests * Added skeleton for attestation minimal test * remove bazel runfiles thing * add deposits * proposer slashing test is done * comment * complete test, some failing cases * sig verify on * refactor slightly to support mainnet and minimal * included mainnet stuff * Add block header tests * volunary exit done * transfer done * new changes * fix all tests * update domain functions * fmt * fixed lint * fixed all the tests * fixed a transfer bug * finished attester slashing tests and fixed a few bugs * started fixing... * cleaned up exit and proposr slashing tests * attester slashing passing * refactored deposit tests * remove yamls, update ssz * Added todo for invalid sig * gazelle * deposits test done! * transfer tests done and pass! * fix attesting indices bug * temporarily disabled signature verification * cleaned up most of the block ops, except for att * update committee AttestingIndices * oops, i dont know how or why i changed this file * fixed all the rpc tests * 6 more failing packages * test max transfer in state package * replace hashproto with treehash in package blockchain * gazelle * fix test * fix test again * fixed transition test, 2 more left * expect an error in attestation tests * Handle panic when no votes in aggregate attestation * clear cache * Add differ, add logging, tests pass yay * remove todo, add tag * fixed TestReceiveBlock_RemovesPendingDeposits * TestAttestationMinimal/success_since_max_epochs_per_crosslink fails now... * handle panics * Transfer tests were disabled in https://github.com/ethereum/eth2.0-specs/pull/1238 * more fixes after merge, updating block_operations.yaml.go to match yaml * figuring out how to seqeeze in multiple fields in a tag for pb * Added max tags and regenerated pb.go * updated to new standard * New bitfield types in proto (#2915) * Cast bytes to correct bitfield, failing tests now though * Add forked gogo/protobuf until https://github.com/gogo/protobuf/pull/582 * remove newline * fix references and test panic * change to proto objects from custom types * fix panics in tests * use proper override for gogo-protobuf * fix a few tags * fix tests * forgot to include custody bits and Slashable not used * fix tests * sort again * Update yaml struct to use pb * Update workspace to use latest ssz * All tests fail * Use the latest go-ssz commit * All pass except for state (too long to taste) * Update test.proto * Added rest of the tests * use 1 justification bits * minor fixes * wrong proto.Equal * fix tag test, apply @rauljordan's suggestion * add IsEmpty and use ssz struct * inverted logic * update zero hash * change zero hash to conform with spec * goimports * add test for zero hash * Revert "Update zero hash to sha256().digest() (#2932)" This reverts commit b926ae0667b18aef3f7e0e8ec8a9b3e98b3d2ccc. * update ssz, fix import, shard big test * checkpoint * fix compress validator * update go-ssz * missing import * missing import * tests now pass * been a good day * update test size * fix lint * imports and remove unused const * update bazel jobs flag * update bazel jobs flag * satisfy deprecation warning * Add ssz regression tests for investigation of test failures in PR #2828 (#2935) * Adding regression tests for investigation * add another example * goimports * add quick comment about test case 0 * Epoch Process Slashings Spec Tests (#2930) * updated justification bits, tests passing OK * regen pb.go, clarify bit operations * justification and finalization tests; failing * Add wrapper, so we call the correct method * checkpoint * Update tar ref * TestSlashingsMinimal/small_penalty still failing * Use bigint instead of () and float * Revert a bad merge from workspace * Fmt * add note about https://github.com/ethereum/eth2.0-specs/issues/1284 * improve tests * gaz * Perform Mutesting In core/state Package (#2923) * Perform mutesting on validator * Mutesting in helpers package * Mutested eth1data * Perform mutesting in epoch and state packages * Fix voluntary exits test * Fix typo * Fix comments * Fix formatting * Fix error message * Handle missing errors * Handle all errors * Perform Mutesting In State Package * Fix block roots size * Remove comment * Fix error * add backend service * Add ssz compatibility tests for signing root (#2931) * Added tests for signing root * imports * fix lint on travis * fix bes flag * Final updates spec tests (#2901) * set up tests * need to reorder pbs * figuring out how to seqeeze in multiple fields in a tag for pb * Added max tags and regenerated pb.go * updated to new standard * New bitfield types in proto (#2915) * Cast bytes to correct bitfield, failing tests now though * Add forked gogo/protobuf until https://github.com/gogo/protobuf/pull/582 * remove newline * use proper override for gogo-protobuf * fix a few tags * forgot to include custody bits and Slashable not used * playing with tags idea, can revert this commit later * fixes after merge * reset caches before test * all epoch tests pass * gazelle * Genesis trigger (#2905) * genesis change * integrate changes * bodyroot * remove unused code * HasChainStarted * added isValidGenesisState to ProcessLog * state fix * fix gazelle * uint64 timestamp * SetupInitialDeposits adds proof * remove unneeded parts of test * deposithash * merkleproof from spec utils * Revert "merkleproof from spec utils" This reverts commit 1b0a124352e7b62e3c3220fb0d64e295b474b430. * fix test failures * chain started and hashtree root in tests * simple eth2genesistime * eth2 genesis time * fix zero time * add comment * remove eth1data and feedback * fix build issues * main changes: add fields and methods to track active validator count * gaz * fix test * fix more tests * improve test utils * shift spec method to state package, improve test setup * fixed log processing tests * remove log * gaz * fix invalid metric * use better tag names, not latest * Remove Block Signing Root (#2945) * replace with hash tree root * Revert "replace with hash tree root" This reverts commit 77d8f16a160e42f3c3d598df66c30a66657de1bf. * replace with signing root instead * remove one more ref * Create Test Runner for Genesis State Spec Tests (#2940) * genesis change * integrate changes * bodyroot * remove unused code * HasChainStarted * added isValidGenesisState to ProcessLog * state fix * fix gazelle * uint64 timestamp * SetupInitialDeposits adds proof * remove unneeded parts of test * deposithash * merkleproof from spec utils * Revert "merkleproof from spec utils" This reverts commit 1b0a124352e7b62e3c3220fb0d64e295b474b430. * fix test failures * chain started and hashtree root in tests * simple eth2genesistime * eth2 genesis time * fix zero time * add comment * remove eth1data and feedback * fix build issues * main changes: add fields and methods to track active validator count * gaz * fix test * fix more tests * improve test utils * Start genesis spec tests * shift spec method to state package, improve test setup * Add Genesis validity spec test * Bazel * fixed log processing tests * remove log * gaz * fix invalid metric * use json tags * fix up latest changes * Fix most of test errors * Attempts to see whats wrong with genesis validity * Fix merge * skip minimal * fix state test * new commit * fix nishant comment * gaz * Static check on branch spec-v0.6 (#2946) * Ran staticcheck and fixed the important complains * commit * commit * Create Test Runner for Genesis State Spec Tests (#2940) * genesis change * integrate changes * bodyroot * remove unused code * HasChainStarted * added isValidGenesisState to ProcessLog * state fix * fix gazelle * uint64 timestamp * SetupInitialDeposits adds proof * remove unneeded parts of test * deposithash * merkleproof from spec utils * Revert "merkleproof from spec utils" This reverts commit 1b0a124352e7b62e3c3220fb0d64e295b474b430. * fix test failures * chain started and hashtree root in tests * simple eth2genesistime * eth2 genesis time * fix zero time * add comment * remove eth1data and feedback * fix build issues * main changes: add fields and methods to track active validator count * gaz * fix test * fix more tests * improve test utils * Start genesis spec tests * shift spec method to state package, improve test setup * Add Genesis validity spec test * Bazel * fixed log processing tests * remove log * gaz * fix invalid metric * use json tags * fix up latest changes * Fix most of test errors * Attempts to see whats wrong with genesis validity * Fix merge * skip minimal * fix state test * new commit * fix nishant comment * gaz * Add Back Eth1Data After Bad Merge (#2953) * eth1data rpc endpoint * first version * comment added * gazelle fix * new function to go once over the deposit array * fix tests * export DepositContainer * terence feedback * move structure decleration * binary search * fix block into Block * preston feedback * keep slice sorted to remove overhead in retrival * merge changes * feedback * update to the latest go-ssz * revert change * chnages to fit new ssz * revert merge reversion * go fmt goimprts duplicate string * exception for lint unused doesParentExist * feedback changes * latesteth1data to eth1data * goimports and stop exposing Eth1Data * revert unneeded change * remove exposure of DepositContainer * feedback and fixes * fix workspace duplicate dependancy * greatest number of deposits at current height * add count votes function * change method name * revert back to latesteth1data * latesteth1data * preston feedback * seperate function add tests fix bug * stop exposing voteCountMap * eth1data comment fix * preston feedback * fix tests * new proto files * workspace to default version of ssz * new ssz * chnage test size * marshalled marshaled * everything passing again * add skip reason * cleanup deposit contract slightly * remove unused chainstart param (#2957) * fix breakages from #2957 (#2958) * fix breakages from #2957 * oops * Fix deposit input data (#2956) * fix deposit input data * fix deposit input data * gaz and build fix * Add Tests for Genesis Deposits Caching (#2952) * remove old method and replace with an improved one * add new files * gaz * add test * added all these tests * gaz * Apply suggestions from code review Co-Authored-By: terence tsao <terence@prysmaticlabs.com> * fix merkle proof error * fix config * Minor fixes for runtime (#2960) * Minor fixes for runtime * use comments * goimports * revert beacon-chain/core/state/state.go and fix comment for lint * fix test too * Minor runtime fixes (#2961) * Add support for bundling binaries and fix ARM64 builds (#2970) * Add support for bundling binaries and fix ARM64 builds * Fix exports * ignore manual targets wrt vis check * fix graknlabs * update spec tests (#2979) * hotfix until https://github.com/graknlabs/bazel-distribution/pull/169 * Overflow slashing calculation fix (#2977) * Runtime Fixes (#2736) * first batch of fixes * add log * more fixes * another bug fixed * update deposit contract and other fixes * remove logs * new changes * fixes * fix build * remove config * more fixes * add more changes * add back todo * make compute state root work * remove commented out and fix condition * fix commented code * fix config * gaz * remove flag * remove init * new fixes * fix test * one more fix * fix all tests * change back config * fix one more bug * remove logging bool * Only build test targets when running bazel test //... * Align prysm to spec v0.8.1 (#2978) * Bazel problem * Update zero hash representation to be clear (cosmetic) * Update minor cosmetic fixes * Fixed lookahead off by 1 * Update randao.go * update ssz * test failures fixed * test fixes * fix up workspace * lint * fixed errs * Updated pubkey loggings (#2983) * Fix proposer assignment (#2984) * add jvm limits * add jvm limits * Removed logging from state transition functions (#2980) * Match spec on proposer index division (#2985) * Match spec on proposer index division * gaz * fixes * Fix Default Eth1Data (#2982) * fix bug * Update beacon-chain/core/state/transition.go Co-Authored-By: Raul Jordan <raul@prysmaticlabs.com> * more fixes * reg test * Set ejection balance to 1.6 (#2987) * improve block processing log (#2990) * Fix HistoricalRootsLimit (#2989) * fix historical lenght * fix genesis state initialization and test * fix genesis state initialization and test * fix genesis state initialization and test * fix genesis state initialization and test * hack config until https://github.com/prysmaticlabs/prysm/issues/2993 * More Runtime Fixes (#2986) * local changes * add val sig * attester fix * one more fix * fixed all tests * rem validator issue * fix finality issue (#2994) * Fix validator prev balance calculation (#2992) * attester fix * one more fix * fixed all tests * Fix validator prev balances calculation * go fmt * 48 bytes * Fix Querier to handle Deposit Logs Race (#2999) * fix sync issue * fix build * add regression test * add var for magic number * Fix eth1data and deposits (#2996) * Work in progress, eth1data works, deposits are included at the appropriate time, and activation happens at the correct time * revert blockInfo being public * git tests to build, not yet pass though * add tests * some commentary * fix comment * goimports * fmt and remove unused method * Update rules go (#2975) * update rules_go * Fix some cross compile builds stuff * add missing deps * update to 0.19.1 * Update Protobufs to Match Ethereum APIs (#2998) * add beacon block and attestation files * add all types * include all new proto type definitions * add add all proto definitions * fix all comments to say 48 bytes * include latest changes * readd common * no swag * add build file * deps issue * right package names * address feedback, maintain parity between upstream ethereumapis * delete pb * bad gens * Update "Testing Prysm" readme section (#3000) Resolves invalid url link to golangci-lint. * Update badge to version 0.8.1 * elaborate on test skip * revert shared/p2p/options.go * make travis happy with goimports * Update beacon-chain/core/blocks/block.go Co-Authored-By: Preston Van Loon <preston@prysmaticlabs.com>
2019-07-20 00:16:10 +00:00
event := new(DepositContractDepositEvent)
if err := _DepositContract.contract.UnpackLog(event, "DepositEvent", log); err != nil {
return err
}
event.Raw = log
select {
case sink <- event:
case err := <-sub.Err():
return err
case <-quit:
return nil
}
case err := <-sub.Err():
return err
case <-quit:
return nil
}
}
}), nil
}
Update run time to v0.9 (#3935) * Update seed domains (#3872) * Remove Transfers (#3870) * Remove active index roots and compact committee roots (#3869) * Update inclusion reward (#3886) * Alter proposer selection logic (#3884) * Fix early committee bias (#3888) * Remove shards and committees (#3896) * Epoch spec tests v0.9 (#3907) * Block spec test v0.9 (#3905) * rm'ed in protobuf * build proto * build proto * build proto * fix core package * Gazelle * Fixed all the tests * Fixed static test * Comment out spec test for now * One more skip * fix-roundRobinSync (#3862) * Starting but need new seed function * Revert initial sync * Updated Proposer Slashing * Fixed all tests * Lint * Update inclusion reward * Fill randao mixes with eth1 data hash * Test * Fixing test part1 * All tests passing * One last test * Updated config * Build proto * Proper skip message * Conflict and fmt * Removed crosslinks and shards. Built * Format and gazelle * Fixed all the block package tests * Fixed all the helper tests * All epoch package tests pass * All core package tests pass * Fixed operation tests * Started fixing rpc test * RPC tests passed! * Fixed all init sync tests * All tests pass * Fixed blockchain tests * Lint * Lint * Preston's feedback * Starting * Remove container * Fixed block spec tests * All passing except for block_processing test * Failing block processing test * Starting * Add AggregateAndProof * All mainnet test passes * Update deposit contract (#3906) * Proto spec tests v0.9 (#3908) * Starting * Add AggregateAndProof * Unskip block util tests (#3910) * rm'ed in protobuf * build proto * build proto * build proto * fix core package * Gazelle * Fixed all the tests * Fixed static test * Comment out spec test for now * One more skip * fix-roundRobinSync (#3862) * Starting but need new seed function * Revert initial sync * Updated Proposer Slashing * Fixed all tests * Lint * Update inclusion reward * Fill randao mixes with eth1 data hash * Test * Fixing test part1 * All tests passing * One last test * Updated config * Build proto * Proper skip message * Conflict and fmt * Removed crosslinks and shards. Built * Format and gazelle * Fixed all the block package tests * Fixed all the helper tests * All epoch package tests pass * All core package tests pass * Fixed operation tests * Started fixing rpc test * RPC tests passed! * Fixed all init sync tests * All tests pass * Fixed blockchain tests * Lint * Lint * Preston's feedback * Starting * Remove container * Fixed block spec tests * All passing except for block_processing test * Failing block processing test * Starting * Add AggregateAndProof * All mainnet test passes * Unskip block util tests * Slot processing spec test V0.9 (#3912) * Starting * Add AggregateAndProof * Unskip slot processing mainnet test * Unskip minimal spec test for finalization (#3920) * Remove outdated interop tests (#3922) * Rm outdated interop tests * Rm test runner * Gazelle * Update validator to use proposer slot (#3919) * Fix committee assignment (#3931) * Replace shard with committee index (#3930) * Conflict * Clean up (#3933) * Remove shard filter in db (#3936) * Remove lightouse compatibility test (#3939) * Update Committee Cache for v0.9 (#3948) * Updated committee cache * Removed shuffled indices cache * Started testing run time * Lint * Fixed test * Safeguard against nil head state * address edge case * add test * Fixed TestRoundRobinSync by doubling the epochs * Unskip TestProtoCompatability (#3958) * Unskip TestProtoCompatability * Update WORKSPACE * Fix minimal config (#3959) * fix minimal configs * fix hardcoded value in test * Simplify verify att time (#3961) * update readme for deposit contract, regen bindings for vyper 0.1.0b12 (#3963) * update readme for deposit contract, regen bindings * medium * Check nil base state (#3964) * Copy Block When Receiving it From Sync (#3966) * copy block * clone for other service methods too * Change logging of Bitfield (#3956) * change logging of bits * preston's review * Unskip Beacon Server Test (#3962) * run test till the end * fix up proto message types * fmt * resolve broken tests * better error handling * fixing new logic to use archived proposer info * fix up logic * clip using the max effective balance * broken build fix with num arg mismatch * amend archive * archival logic changed * rename test * archive both proposer and attester seeds * page size 100 * further experiments * further experimentation, archivedProposerIndex seems wrong * test passes * rem log * fix broken test * fix test * gaz * fix imports * ethapis
2019-11-11 22:03:44 +00:00
// ParseDepositEvent is a log parse operation binding the contract event 0x649bbc62d0e31342afea4e5cd82d4049e7e1ee912fc0889aa790803be39038c5.
//
// Solidity: event DepositEvent(bytes pubkey, bytes withdrawal_credentials, bytes amount, bytes signature, bytes index)
func (_DepositContract *DepositContractFilterer) ParseDepositEvent(log types.Log) (*DepositContractDepositEvent, error) {
event := new(DepositContractDepositEvent)
if err := _DepositContract.contract.UnpackLog(event, "DepositEvent", log); err != nil {
return nil, err
}
event.Raw = log
Update run time to v0.9 (#3935) * Update seed domains (#3872) * Remove Transfers (#3870) * Remove active index roots and compact committee roots (#3869) * Update inclusion reward (#3886) * Alter proposer selection logic (#3884) * Fix early committee bias (#3888) * Remove shards and committees (#3896) * Epoch spec tests v0.9 (#3907) * Block spec test v0.9 (#3905) * rm'ed in protobuf * build proto * build proto * build proto * fix core package * Gazelle * Fixed all the tests * Fixed static test * Comment out spec test for now * One more skip * fix-roundRobinSync (#3862) * Starting but need new seed function * Revert initial sync * Updated Proposer Slashing * Fixed all tests * Lint * Update inclusion reward * Fill randao mixes with eth1 data hash * Test * Fixing test part1 * All tests passing * One last test * Updated config * Build proto * Proper skip message * Conflict and fmt * Removed crosslinks and shards. Built * Format and gazelle * Fixed all the block package tests * Fixed all the helper tests * All epoch package tests pass * All core package tests pass * Fixed operation tests * Started fixing rpc test * RPC tests passed! * Fixed all init sync tests * All tests pass * Fixed blockchain tests * Lint * Lint * Preston's feedback * Starting * Remove container * Fixed block spec tests * All passing except for block_processing test * Failing block processing test * Starting * Add AggregateAndProof * All mainnet test passes * Update deposit contract (#3906) * Proto spec tests v0.9 (#3908) * Starting * Add AggregateAndProof * Unskip block util tests (#3910) * rm'ed in protobuf * build proto * build proto * build proto * fix core package * Gazelle * Fixed all the tests * Fixed static test * Comment out spec test for now * One more skip * fix-roundRobinSync (#3862) * Starting but need new seed function * Revert initial sync * Updated Proposer Slashing * Fixed all tests * Lint * Update inclusion reward * Fill randao mixes with eth1 data hash * Test * Fixing test part1 * All tests passing * One last test * Updated config * Build proto * Proper skip message * Conflict and fmt * Removed crosslinks and shards. Built * Format and gazelle * Fixed all the block package tests * Fixed all the helper tests * All epoch package tests pass * All core package tests pass * Fixed operation tests * Started fixing rpc test * RPC tests passed! * Fixed all init sync tests * All tests pass * Fixed blockchain tests * Lint * Lint * Preston's feedback * Starting * Remove container * Fixed block spec tests * All passing except for block_processing test * Failing block processing test * Starting * Add AggregateAndProof * All mainnet test passes * Unskip block util tests * Slot processing spec test V0.9 (#3912) * Starting * Add AggregateAndProof * Unskip slot processing mainnet test * Unskip minimal spec test for finalization (#3920) * Remove outdated interop tests (#3922) * Rm outdated interop tests * Rm test runner * Gazelle * Update validator to use proposer slot (#3919) * Fix committee assignment (#3931) * Replace shard with committee index (#3930) * Conflict * Clean up (#3933) * Remove shard filter in db (#3936) * Remove lightouse compatibility test (#3939) * Update Committee Cache for v0.9 (#3948) * Updated committee cache * Removed shuffled indices cache * Started testing run time * Lint * Fixed test * Safeguard against nil head state * address edge case * add test * Fixed TestRoundRobinSync by doubling the epochs * Unskip TestProtoCompatability (#3958) * Unskip TestProtoCompatability * Update WORKSPACE * Fix minimal config (#3959) * fix minimal configs * fix hardcoded value in test * Simplify verify att time (#3961) * update readme for deposit contract, regen bindings for vyper 0.1.0b12 (#3963) * update readme for deposit contract, regen bindings * medium * Check nil base state (#3964) * Copy Block When Receiving it From Sync (#3966) * copy block * clone for other service methods too * Change logging of Bitfield (#3956) * change logging of bits * preston's review * Unskip Beacon Server Test (#3962) * run test till the end * fix up proto message types * fmt * resolve broken tests * better error handling * fixing new logic to use archived proposer info * fix up logic * clip using the max effective balance * broken build fix with num arg mismatch * amend archive * archival logic changed * rename test * archive both proposer and attester seeds * page size 100 * further experiments * further experimentation, archivedProposerIndex seems wrong * test passes * rem log * fix broken test * fix test * gaz * fix imports * ethapis
2019-11-11 22:03:44 +00:00
return event, nil
}