Skip to content

Commit

Permalink
update ADR
Browse files Browse the repository at this point in the history
  • Loading branch information
thomas-nguy committed Jan 16, 2023
1 parent da7f3b6 commit 987d4ef
Showing 1 changed file with 17 additions and 16 deletions.
33 changes: 17 additions & 16 deletions docs/architecture/adr-009.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,21 +24,7 @@ An address in Cronos that is allowed to perform a type of operation (message).

### Non-permissioned addresses

An address in Cronos that carry no permissions.


## Decision

The work-in-progress circuit breaker module from the Cosmos-SDK team (https://github.com/cosmos/cosmos-sdk/issues/14226) could potentially resolve our issue. However it does not have the ability to disable logics from the abci
(end blocker) which is necessary to completely bring the gravity bridge to a stop. While there was a positive feedback that something like this could be implemented in the future, the decision is to develop our own solution.

The solution is to implement our own admin system in cronos for certain message type.

After the circuit breaker is made available, and IF it can fit in our requirements. The proposed solution could be either:
- completely remove (rollback) and be replaced by the circuit breaker
(PR to rollback: https://github.com/crypto-org-chain/cronos/pull/795 and https://github.com/crypto-org-chain/gravity-bridge/pull/96)
- partially removed and be partially replaced by the circuit breaker (in case it cannot totally fit our requirements)
- work along with the circuit breaker (in case it does not fit our requirements)
An address in Cronos that carry no permissions.


### Option 1 : Create a permission system within cronos module for messages.
Expand Down Expand Up @@ -92,9 +78,24 @@ In Cronos module, we need to restrict ``MsgUpdateTokenMapping`` and ``MsgTurnBri
- Admin of the group cannot be changed through governance.


## Decision

The work-in-progress circuit breaker module from the Cosmos-SDK team (https://github.com/cosmos/cosmos-sdk/issues/14226) could potentially resolve our issue. However, it does not have the ability to disable logics from the abci
(end blocker) which is necessary to completely bring the gravity bridge to a stop. While there was a positive feedback that something like this could be implemented in the future, the decision is to develop our own solution.

Option 1 is the solution chosen as it involves minimal changes and operations cost. It can also be removed more easily if we decide to switch to the circuit breaker module as a long term solution.

After the circuit breaker is made available, and IF it can fit in our requirements. The proposed solution could be either:
- completely remove (rollback) and be replaced by the circuit breaker
(PR to rollback: https://github.com/crypto-org-chain/cronos/pull/795 and https://github.com/crypto-org-chain/gravity-bridge/pull/96)
- partially removed and be partially replaced by the circuit breaker (in case it cannot totally fit our requirements)
- work along with the circuit breaker (in case it does not fit our requirements)


## Status

Proposed
Accepted


## References

Expand Down

0 comments on commit 987d4ef

Please sign in to comment.