From 987d4ef5fd9d308d031537392bdc50069179a647 Mon Sep 17 00:00:00 2001 From: Thomas Nguy Date: Mon, 16 Jan 2023 14:51:44 +0900 Subject: [PATCH] update ADR --- docs/architecture/adr-009.md | 33 +++++++++++++++++---------------- 1 file changed, 17 insertions(+), 16 deletions(-) diff --git a/docs/architecture/adr-009.md b/docs/architecture/adr-009.md index a1b3f22cdc..07e96f2c82 100644 --- a/docs/architecture/adr-009.md +++ b/docs/architecture/adr-009.md @@ -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. @@ -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