Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
49 commits
Select commit Hold shift + click to select a range
7effa8c
Add gossip fraud proof capability over p2p (#452)
Manav-Aggarwal Jul 5, 2022
267c1d5
Add types.proto for new tendermint version with abci methods
Manav-Aggarwal Aug 24, 2022
3f1b573
Trigger Fraud Proof WIP
Manav-Aggarwal Aug 24, 2022
49b43b4
Add new abci method in mocks all across tests
Manav-Aggarwal Aug 24, 2022
f231e9c
All tests work now
Manav-Aggarwal Aug 24, 2022
d213667
Add fraudproof trigger
Manav-Aggarwal Aug 24, 2022
1d9c389
Remove fraud trigger integration test
Manav-Aggarwal Aug 24, 2022
44822f0
Remove getAppHash from mock.on
Manav-Aggarwal Aug 24, 2022
f7969fe
Write a fraudproof integration test
Manav-Aggarwal Aug 24, 2022
9ca852c
Run golang linter
Manav-Aggarwal Aug 24, 2022
016b3a1
Replace Generate with trigger
Manav-Aggarwal Aug 24, 2022
656d4ee
Add skeleton to catch up and generate fraudproof after FPGM
Manav-Aggarwal Aug 24, 2022
d749e4c
Update TODOs
Manav-Aggarwal Aug 24, 2022
3e7c1d9
Remove triggerFraudProofGenerationMode and refactor
Manav-Aggarwal Aug 24, 2022
af2e8cd
Add generate fraud proof
Manav-Aggarwal Aug 24, 2022
cf43b3b
Wrap all fraudproof logic within a flag
Manav-Aggarwal Aug 24, 2022
08ae559
Update types.proto
Manav-Aggarwal Aug 26, 2022
8cfd7a7
Add fraud proof verification WIP
Manav-Aggarwal Aug 27, 2022
fce0c43
Merge branch 'origin/main' into manav/verify_fraud_proof
tzdybal Sep 28, 2022
c1555dd
Update state/executor.go
Manav-Aggarwal Oct 1, 2022
f9fd481
Resolve some comments
Manav-Aggarwal Oct 1, 2022
fbfee91
Clear more errors
Manav-Aggarwal Oct 1, 2022
2eba9c6
Refactor genAndGossipFraudProofIfNeeded
Manav-Aggarwal Oct 9, 2022
5ef7ab3
Revert fraudproof type to remove serialization errors
Manav-Aggarwal Oct 9, 2022
965aa73
Remove local dependencies from go mod file
Manav-Aggarwal Oct 10, 2022
1918c39
Update go.mod file to have specific commit sha hash of celestiaorg/te…
Manav-Aggarwal Oct 11, 2022
c08494d
Fix small test errors
Manav-Aggarwal Oct 11, 2022
78d7434
Fix sleep error
Manav-Aggarwal Oct 11, 2022
cac373e
Merge branch 'main' into manav/verify_fraud_proof
tzdybal Oct 13, 2022
d4f4050
deps: update protobuf scripts & files to use correct version
tzdybal Oct 13, 2022
043f59d
Merge branch 'main' into manav/verify_fraud_proof
tzdybal Oct 13, 2022
e1fce5b
Update node/integration_test.go
Manav-Aggarwal Oct 13, 2022
78b29d2
Call get_deps.sh and update abci types.proto
Manav-Aggarwal Oct 13, 2022
68a816d
Update spelling of comparison bc linter errors
Manav-Aggarwal Oct 13, 2022
2a8aabe
Change rollmint ethermint to optimint
Manav-Aggarwal Oct 17, 2022
599ead7
Merge branch main into manav/verify_fraud_proof
tzdybal Oct 18, 2022
0aee362
Delete version/types.proto file
Manav-Aggarwal Oct 20, 2022
5b001aa
Merge branch 'main' into manav/verify_fraud_proof
Manav-Aggarwal Oct 20, 2022
7bd10ac
Add inline comment explaining integration test check
Manav-Aggarwal Oct 20, 2022
b7359ab
Do not downgrade tendermint version
Manav-Aggarwal Oct 20, 2022
34f0a31
Update proto/get_deps.sh
Manav-Aggarwal Oct 20, 2022
00c5837
deps: celestiaorg/tendermint@abci_fraud_proofs
tzdybal Oct 20, 2022
76b5b36
Address nit picky comments
Manav-Aggarwal Oct 27, 2022
9c1bf08
Refactor code into createAndStartNodes
Manav-Aggarwal Oct 27, 2022
7e3fccc
Merge branch 'main' into manav/verify_fraud_proof
Manav-Aggarwal Oct 27, 2022
114264d
Merge branch 'main' into manav/verify_fraud_proof
Manav-Aggarwal Nov 1, 2022
306f639
refactor if statements
Manav-Aggarwal Nov 17, 2022
e4d9ec9
Merge branch 'main' into manav/verify_fraud_proof
Manav-Aggarwal Nov 17, 2022
5115fd9
Run go mod tidy
Manav-Aggarwal Nov 17, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 18 additions & 0 deletions block/manager.go
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,8 @@ type Manager struct {
CommitInCh chan *types.Commit
lastCommit atomic.Value

FraudProofCh chan *types.FraudProof

syncTarget uint64
blockInCh chan newBlockEvent
syncCache map[uint64]*types.Block
Expand Down Expand Up @@ -228,6 +230,22 @@ func (m *Manager) SyncLoop(ctx context.Context) {
if err != nil {
m.logger.Info("failed to sync next block", "error", err)
}
case fraudProof := <-m.FraudProofCh:
m.logger.Debug("fraud proof received", "Block Height", "dummy block height") // TODO: Insert real block height
_ = fraudProof
// TODO(light-client): Set up a new cosmos-sdk app
// How to get expected appHash here?

// success, err := m.executor.VerifyFraudProof(fraudProof, nil)
// if err != nil {
// m.logger.Error("failed to verify fraud proof", "error", err)
// continue
// }
// if success {
// // halt chain somehow
// defer context.WithCancel(ctx)
// }

case <-ctx.Done():
return
}
Expand Down
9 changes: 5 additions & 4 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@ require (
github.com/jmhodges/levigo v1.0.0 // indirect
github.com/jtolds/gls v4.20.0+incompatible // indirect
github.com/klauspost/compress v1.15.9 // indirect
github.com/klauspost/cpuid/v2 v2.1.1 // indirect
github.com/klauspost/cpuid/v2 v2.1.0 // indirect
github.com/koron/go-ssdp v0.0.3 // indirect
github.com/libp2p/go-buffer-pool v0.1.0 // indirect
github.com/libp2p/go-cidranger v1.1.0 // indirect
Expand Down Expand Up @@ -158,11 +158,11 @@ require (
go.etcd.io/bbolt v1.3.6 // indirect
go.opencensus.io v0.23.0 // indirect
go.uber.org/atomic v1.10.0 // indirect
go.uber.org/zap v1.23.0 // indirect
golang.org/x/crypto v0.0.0-20220829220503-c86fa9a7ed90 // indirect
go.uber.org/zap v1.22.0 // indirect
golang.org/x/crypto v0.0.0-20220525230936-793ad666bf5e // indirect
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4 // indirect
golang.org/x/sync v0.1.0 // indirect
golang.org/x/sys v0.0.0-20221010170243-090e33056c14 // indirect
golang.org/x/sys v0.0.0-20221013171732-95e765b1cc43 // indirect
golang.org/x/text v0.4.0 // indirect
golang.org/x/tools v0.1.12 // indirect
google.golang.org/genproto v0.0.0-20221024183307-1bc688fe9f3e // indirect
Expand All @@ -175,5 +175,6 @@ require (

replace (
github.com/gogo/protobuf => github.com/regen-network/protobuf v1.3.2-alpha.regen.4
github.com/tendermint/tendermint => github.com/celestiaorg/tendermint v0.34.22-0.20221013213714-8be9b54c8c21
google.golang.org/grpc => google.golang.org/grpc v1.33.2
)
19 changes: 10 additions & 9 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,8 @@ github.com/btcsuite/winsvc v1.0.0/go.mod h1:jsenWakMcC0zFBFurPLEAyrnc/teJEM1O46f
github.com/buger/jsonparser v0.0.0-20181115193947-bf1c66bbce23/go.mod h1:bbYlZJ7hK1yFx9hf58LP0zeX7UjIGs20ufpu3evjr+s=
github.com/celestiaorg/go-cnc v0.1.0 h1:u986OnTc7AtbUZ4reY+zRCiar4fDdR1KehyP78uwsXg=
github.com/celestiaorg/go-cnc v0.1.0/go.mod h1:Zf03bWWq6aldv5cYEaWvJ+I+z34bT/exrS0tO0y/jN8=
github.com/celestiaorg/tendermint v0.34.22-0.20221013213714-8be9b54c8c21 h1:M1fprJ+U7Z3SZzDBeiuJ/vx21QgguOu+Ld9ALVDyLuY=
github.com/celestiaorg/tendermint v0.34.22-0.20221013213714-8be9b54c8c21/go.mod h1:zoyyiiihvTW8DnOr63YLxhYn/WK/QmE74CeIpS++hBE=
github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko=
github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc=
Expand Down Expand Up @@ -368,8 +370,8 @@ github.com/klauspost/compress v1.15.9 h1:wKRjX6JRtDdrE9qwa4b/Cip7ACOshUI4smpCQan
github.com/klauspost/compress v1.15.9/go.mod h1:PhcZ0MbTNciWF3rruxRgKxI5NkcHHrHUDtV4Yw2GlzU=
github.com/klauspost/cpuid/v2 v2.0.4/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg=
github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg=
github.com/klauspost/cpuid/v2 v2.1.1 h1:t0wUqjowdm8ezddV5k0tLWVklVuvLJpoHeb4WBdydm0=
github.com/klauspost/cpuid/v2 v2.1.1/go.mod h1:RVVoqg1df56z8g3pUjL/3lE5UfnlrJX8tyFgg4nqhuY=
github.com/klauspost/cpuid/v2 v2.1.0 h1:eyi1Ad2aNJMW95zcSbmGg7Cg6cq3ADwLpMAP96d8rF0=
github.com/klauspost/cpuid/v2 v2.1.0/go.mod h1:RVVoqg1df56z8g3pUjL/3lE5UfnlrJX8tyFgg4nqhuY=
github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
github.com/koron/go-ssdp v0.0.0-20191105050749-2e1c40ed0b5d/go.mod h1:5Ky9EC2xfoUKUor0Hjgi2BJhCSXJfMOFlmyYrVKGQMk=
Expand Down Expand Up @@ -700,8 +702,6 @@ github.com/syndtr/goleveldb v1.0.1-0.20200815110645-5c35d600f0ca/go.mod h1:u2MKk
github.com/tarm/serial v0.0.0-20180830185346-98f6abe2eb07/go.mod h1:kDXzergiv9cbyO7IOYJZWg1U88JhDg3PB6klq9Hg2pA=
github.com/tecbot/gorocksdb v0.0.0-20191217155057-f0fad39f321c h1:g+WoO5jjkqGAzHWCjJB1zZfXPIAaDpzXIEJ0eS6B5Ok=
github.com/tecbot/gorocksdb v0.0.0-20191217155057-f0fad39f321c/go.mod h1:ahpPrc7HpcfEWDQRZEmnXMzHY03mLDYMCxeDzy46i+8=
github.com/tendermint/tendermint v0.34.21 h1:UiGGnBFHVrZhoQVQ7EfwSOLuCtarqCSsRf8VrklqB7s=
github.com/tendermint/tendermint v0.34.21/go.mod h1:XDvfg6U7grcFTDx7VkzxnhazQ/bspGJAn4DZ6DcLLjQ=
github.com/tendermint/tm-db v0.6.6 h1:EzhaOfR0bdKyATqcd5PNeyeq8r+V4bRPHBfyFdD9kGM=
github.com/tendermint/tm-db v0.6.6/go.mod h1:wP8d49A85B7/erz/r4YbKssKw6ylsO/hKtFk7E1aWZI=
github.com/ugorji/go/codec v0.0.0-20181204163529-d75b2dcb6bc8/go.mod h1:VFNgLljTbGfSG7qAOspJ7OScBnGdDN/yBr0sguwnwf0=
Expand Down Expand Up @@ -749,8 +749,8 @@ go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q=
go.uber.org/zap v1.14.1/go.mod h1:Mb2vm2krFEG5DV0W9qcHBYFtp/Wku1cvYaqPsS/WYfc=
go.uber.org/zap v1.16.0/go.mod h1:MA8QOfq0BHJwdXa996Y4dYkAqRKB8/1K1QMMZVaNZjQ=
go.uber.org/zap v1.19.1/go.mod h1:j3DNczoxDZroyBnOT1L/Q79cfUMGZxlv/9dzN7SM1rI=
go.uber.org/zap v1.23.0 h1:OjGQ5KQDEUawVHxNwQgPpiypGHOxo2mNZsOqTak4fFY=
go.uber.org/zap v1.23.0/go.mod h1:D+nX8jyLsMHMYrln8A0rJjFt/T/9/bGgIhAqxv5URuY=
go.uber.org/zap v1.22.0 h1:Zcye5DUgBloQ9BaT4qc9BnjOFog5TvBSAGkJ3Nf70c0=
go.uber.org/zap v1.22.0/go.mod h1:H4siCOZOrAolnUPJEkfaSjDqyP+BDS0DdDWzwcgt3+U=
go4.org v0.0.0-20180809161055-417644f6feb5/go.mod h1:MkTOUMDaeVYJUOUsaDXIhWPZYa1yOyC1qaOBpL57BhE=
golang.org/x/build v0.0.0-20190111050920-041ab4dc3f9d/go.mod h1:OWs+y06UdEOHN4y+MfF/py+xQ/tYqIWW03b70/CG9Rw=
golang.org/x/crypto v0.0.0-20170930174604-9419663f5a44/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
Expand All @@ -770,8 +770,8 @@ golang.org/x/crypto v0.0.0-20200728195943-123391ffb6de/go.mod h1:LzIPMQfyMNhhGPh
golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4=
golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4=
golang.org/x/crypto v0.0.0-20211108221036-ceb1ce70b4fa/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
golang.org/x/crypto v0.0.0-20220829220503-c86fa9a7ed90 h1:Y/gsMcFOcR+6S6f3YeMKl5g+dZMEWqcz5Czj/GWYbkM=
golang.org/x/crypto v0.0.0-20220829220503-c86fa9a7ed90/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
golang.org/x/crypto v0.0.0-20220525230936-793ad666bf5e h1:T8NU3HyQ8ClP4SEE+KbFlg6n0NhuTsN4MyznaarGsZM=
golang.org/x/crypto v0.0.0-20220525230936-793ad666bf5e/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8=
Expand Down Expand Up @@ -959,8 +959,9 @@ golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBc
golang.org/x/sys v0.0.0-20220704084225-05e143d24a9e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20221010170243-090e33056c14 h1:k5II8e6QD8mITdi+okbbmR/cIyEbeXLBhy5Ha4nevyc=
golang.org/x/sys v0.0.0-20221010170243-090e33056c14/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20221013171732-95e765b1cc43 h1:OK7RB6t2WQX54srQQYSXMW8dF5C6/8+oA/s5QBmmto4=
golang.org/x/sys v0.0.0-20221013171732-95e765b1cc43/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
Expand Down
42 changes: 42 additions & 0 deletions mocks/Application.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading