-
Notifications
You must be signed in to change notification settings - Fork 17
Open
Description
Currently, we have two separate contract repositories: shutter-network/shop-contracts and shutter-network/gnosh-contracts. We should merge them into one (e.g. shutter-network/contracts
) and get rid of unused contracts. In particular:
shop-contracts
:KeyperSetManager
,KeyperSet
,KeyBroadcast
andEonKeyPublish
is used in both the SHOP and the GNOSH implementationInbox
is used in the SHOP implementation
gnosh-contracts
:KeyperSetManager
,KeyperSet
,KeyBroadcast
andEonKeyPublish
are unused and can be removedSequencer
andValidatorRegistry
are used in the GNOSH implementation- The interfaces
IKeyperSetManager
,IKeyperSet
,IKeybroadcast
,IValidatorRegistry
andISequencer
are references to the GNOSH spec and should be preserved
- We have tests and scripts in both repositories. There is a probably a lot of overlap that we only need to preserve once. For the scripts, we should especially have two separate deploy scripts for shop and gnosh as well as a script to add a new keyper set.
- The two repos have automatically generated go bindings that are used as dependencies in rolling-shutter and other repos. They get generated in slightly different ways (see
gen/gen.go
inshop-contracts
andgen_bindings.sh
ingnosh-contracts
). I personally prefer the latter, but others may disagree. We should end up with either a single or two separate packages. A single is probably preferable for simplicity. - In
shop-contracts
there's some predeploy code that probably should be preserved, but I'm not entirely sure if we still need it.
Metadata
Metadata
Assignees
Labels
No labels