cartesi / rollups

Cartesi Rollups
30 stars 12 forks source link

Adjust Rollups CLI to use `Authority` factories #85

Closed guidanoli closed 1 year ago

guidanoli commented 1 year ago

šŸ“š Context

Currently, the Rollups CLI allows anyone to deploy a new CartesiDApp contract subscribed to any consensus. If the address of the consensus contract is not provided, the Rollups CLI assigns the DApp to a default Authority, deployed by us.

This default behavior, however, poses a serious threat to our roadmap to decentralization, since the power of submitting claims is very much centralized in the hands of the Authority owner. Therefore, we intend to remove the deployment information of this contract for the next release of the @cartesi/rollups package.

With the absence of a single Authority contract, we are making the effort of creating factories so that anyone can deploy new Authority contracts for their own projects. We need to make this change be reflected in the Rollups CLI as well.

āœ”ļø Solution

There should be no default value for the initial consensus of a DApp deployed through the Rollups CLI.

We can add a command to the Rollups CLI that would allow the user to deploy a new Authority contract. This command should accept an optional salt to deterministically deploy contracts with the CREATE2 opcode. If such a salt is not provided, the Rollups CLI may deploy contracts in a non-deterministic way.

:chains: Requires

šŸ“ˆ Subtasks

guidanoli commented 1 year ago

FYI @tuler

guidanoli commented 1 year ago

This issue has been superseded by https://github.com/cartesi/rollups-contracts/issues/33.