prysm-pulse/slasher
Radosław Kapka aaa3abf630
Shadowed Predeclared Indentifier analyzer (#7215)
* wip

* working for some ast nodes

* works for all but assignment

* works for all but mixed assignments

* change test name

* plug in the analyzer

* remove `copy` from predeclared list

* rename few shadowing names

* rename `len` to `length`

* add one more test case

* rename `panic` to `panicResult`

* replace `panic` with `panicResult` in error message

* remove test case not covered by the tool

* add `byte` to predeclared list

* additional test cases

* rename `copy` to `copyHandler`

* exclude functions with receivers

* revert to good names

Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
2020-09-14 12:49:15 +02:00
..
beaconclient Fix unclosed tickers/timers (#7190) 2020-09-08 18:05:38 +00:00
cache Historical detection fix (#6455) 2020-07-07 05:57:40 +03:00
db Shadowed Predeclared Indentifier analyzer (#7215) 2020-09-14 12:49:15 +02:00
detection Update fastssz: Attempt 2 (#7115) 2020-08-27 18:13:32 +00:00
flags Slasher improvements (#7061) 2020-08-20 10:31:16 +03:00
node Replace context.Background() with more appropriate context (#7136) 2020-09-09 09:48:52 +00:00
rpc Fix propose protect error handling (#7188) 2020-09-11 09:53:53 -05:00
BUILD.bazel Applies assertion funcs to slasher/* tests (#6998) 2020-08-18 12:41:25 +00:00
main.go Slasher span cache size flag (#7043) 2020-08-18 11:18:33 +00:00
README.md Update README for Slasher (#5106) 2020-03-15 18:46:21 +00:00
usage_test.go Applies assertion funcs to slasher/* tests (#6998) 2020-08-18 12:41:25 +00:00
usage.go Slasher span cache size flag (#7043) 2020-08-18 11:18:33 +00:00

Hash Slinging Slasher Server Implementation

This is the main project folder for a slasher server implementation for Ethereum Serenity in Golang by Prysmatic Labs. A slasher listens for all broadcasted messages using a running beacon node in order to detect slashable attestations and block proposals. It uses the min-max-surround method by Protolambda.

The slasher requires a connection to a synced beacon node in order to listen for attestations and block proposals. To run the slasher, type:

bazel run //slasher -- \
    --datadir PATH/FOR/DB \
    --span-map-cache \
    --beacon-rpc-provider localhost:4000

The beacon node entered in beacon-rpc-provider will then receive slashings from the slasher client and send them to any requesting proposer to be put into a block.