diff --git a/docs/docs/adrs/adr-018-permissionless-ics.md b/docs/docs/adrs/adr-018-permissionless-ics.md new file mode 100644 index 0000000000..8cce4e15e5 --- /dev/null +++ b/docs/docs/adrs/adr-018-permissionless-ics.md @@ -0,0 +1,348 @@ +--- +sidebar_position: 19 +title: Permissionless ICS +--- +# ADR 18: Permissionless Interchain Security + +## Changelog +* 27th of June, 2024: Initial draft + +## Status + +Proposed + +## Context +Currently, a consumer chain can join _Interchain Security_ (ICS) only through a [governance proposal](../features/proposals.md). +A governance proposal was needed before the introduction of [Partial Set Security](../features/partial-set-security.md) (PSS) +because validators were required to validate a consumer chain. However, after the introduction of PSS, a consumer chain can +be either _Top N_ or _Opt In_. If a chain is an Opt In chain, then no validator is required to validate this chain unless they choose to. +Because of this, we can launch an Opt In consumer chain without going through a governance proposal. + +This ADR presents _Permissionless_ ICS, a way in which an [_Opt In_](adr-015-partial-set-security.md) consumer chain can join +ICS without needing a governance proposal but by simply issuing a transaction. + +## Decision +In Permissionless ICS, launching an Opt In chain is **only** possible through a transaction and not through a [`MsgConsumerAddition`](https://github.com/cosmos/interchain-security/blob/v5.1.0/proto/interchain_security/ccv/provider/v1/tx.proto#L111) +proposal. Naturally, Permissionless ICS does not eliminate governance proposals, as proposals are still necessary for Top N chains. +Because of this, this ADR outlines a solution that also refactors governance proposals (i.e., `MsgConsumerAddition`, `MsgConsumerModification`, and `MsgConsumerRemoval`) +so that Top N and Opt In chains can share as much functionality as possible. +Note, that to make the distinction between governance-proposed versus transaction-launched chains clearer, in Permissionless ICS, +we can only launch, update, or stop Top N chains with governance proposals, and we can only launch, update, or stop Opt In chains with transactions. +Additionally, a Top N chain can transform to an Opt In chain through a gov proposal, but for simplicity, in this first +iteration of Permissionless, an Opt In chain cannot transform to a Top N chain. + +### The Phases of a Consumer Chain + +We first present the notion of an _owner_ of a consumer chain before showing the specific phases of a consumer chain. + +**Owner.** A consumer chain has an _owner_, which is simply an address. Only the owner can interact (i.e., launch, update, or stop) +with the chain. The owner of an Opt In chain is the one who signed the initial transaction to register a consumer chain (more on this later). +Naturally, an Opt In chain can change its owner at any point. The owner of a Top N chain is the account of the governance module. +Therefore, any changes on a Top N chain have to go through governance proposals. + +A consumer chain can reside in four phases: i) _registered_, ii) _initialized_, iii) _launched_, and iv) _stopped_ phase as seen +in the diagram below: +![Phases of a consumer chain](./adr18_phases_of_a_consumer_chain.png) + +**Registered phase.** In the _registered phase_, a consumer chain is assigned a unique identifier that identifies a consumer chain +that can later be used to interact with the specific consumer chain (e.g., when a validator opts in on a chain). +After a chain has been registered, it can later be initialized and then launched. Specifically, Permissionless ICS introduces +a `MsgRegisterConsumer` message that can be used to register **both** Top N and Opt In consumer chains. +In the registered phase, it is not yet known if the consumer chain would end up being a Top N or an Opt In chain and hence +the owner of the consumer chain at this phase is the one that signed the `MsgRegisterConsumer`. +Note that currently, a consumer chain is registered when first proposed through a `MsgConsumerAddition` proposal +message but with Permissionless ICS, the `MsgConsumerAddition` is deprecated and chains have to issue a `MsgRegisterConsumer` message instead. +A consumer chain in the registered phase might not launch, e.g., a later governance proposal might not pass or +the Opt In chain might never be initialized. + +**Initialized phase.** The _initialized phase_ means that the chain has set all the needed parameters to launch but has +not yet launched. To initialize an Opt In chain, the owner of the chain has to issue a `MsgInitializeConsumer` message +and potentially a `MsgUpdateConsumer` if they want to set up specific parameters (e.g., [power-shaping features](https://cosmos.github.io/interchain-security/features/power-shaping)). +Similarly, a Top N chain has to issue the same two messages (i.e, `MsgInitializeConsumer`, `MsgUpdateConsumer`) as part of a +governance proposal and if the governance proposal passes, the consumer chain is considered to be initialized. The moment +a governance proposal is proposed for a Top N chain, the owner changes to be the account of the governance module. +While in the initialized phase, an Opt In chain can choose to change the consumer chain parameters, such as `spawnTime`, etc. +by issuing a new `MsgInitializeConsumer` or `MsgUpdateConsumer` messages. +This is not the case for Top N chains, where a `MsgUpdateConsumer` can only be issued after a consumer +chain [has launched](https://github.com/cosmos/interchain-security/blob/v5.1.0/x/ccv/provider/keeper/legacy_proposal.go#L89). + +**Launched phase.** In the _launched phase_ the consumer chain is running and is consuming a subset of the validator set +of the provider. When the [`spawnTime`](https://github.com/cosmos/interchain-security/blob/v5.1.0/proto/interchain_security/ccv/provider/v1/provider.proto#L57) +passes and [at least one validator has opted in](https://github.com/cosmos/interchain-security/blob/v5.1.0/x/ccv/provider/keeper/proposal.go#L430) +the chain can launch and moves to the launched phase. Note that a Top N chain can launch if and only if the `spawnTime` has passed and +the initialization proposal has successfully passed. While in launched phase, a consumer chain can choose to modify +its parameters through `MsgUpdateConsumer`. Naturally, only the owner of the chain can issue `MsgUpdateConsumer`, thus +for Top N chains, the chain can be updated only through a governance proposal that contains a `MsgUpdateConsumer`. + +**Stopped phase.** Lastly, the owner of a chain can choose to exit ICS by executing a `MsgRemoveConsumer`. +After some period of time (e.g., provider's unbonding period), all state related to the stopped consumer chain can be removed. +We keep track of the state of the consumer chain for some period, so that we are able to punish validators for misbehaviours +that occurred before the consumer chain stopped. + +Note that everything described so far and everything that follows applies to consumer chains that transition from standalone chains as well. + +### From `chainId` to `consumerId` +A hindrance in moving to Permissionless ICS is [chain-id squatting](https://forum.cosmos.network/t/pss-permissionless-vs-premissioned-lite-opt-in-consumer-chains/12984/17). +In a permissionless setting, anyone could issue a transaction to launch a consumer chain with a `chainId` that might already be used by some other consumer chain. This is a problem +because in the current design the majority of stored state for a consumer chain is indexed using the `chainId` as the key (e.g., +see [key used to store client ids](https://github.com/cosmos/interchain-security/blob/v5.1.0/x/ccv/provider/types/keys.go#L245)). +To tackle this problem, in Permissionless ICS, we introduce the `consumerId` that defines a consumer chain and is simply +an increasing counter (i.e., `counter`), thus we can support multiple consumer chains with the same `chainId`. +Another way to understand this is with an analogy between consumer chains and IBC clients: Imagine having multiple IBC clients +that each point to different consumer chains, but all share the exact same `chainId`. It is then up to the user to select the +appropriate client (i.e., `clientId`) based on the actual chain they want to communicate with. Similarly, there can be multiple +consumer chains with the exact same `chainId`, and it is the responsibility of the validators to choose the one they wish +to interact with by providing the right `consumerId`. + +Note that with Permissionless ICS, all interactions on a consumer chain have to use the `consumerId` instead of the `chainId`. +For example, if a validator opts in on a chain using `MsgOptIn`, the validator has to provide the `consumerId`. To also +provide the `consumerId` for Top N consumers chains, we store a mapping between `proposalID` to `consumerId`. This storing +takes place in the [`AfterProposalSubmission`](https://github.com/cosmos/cosmos-sdk/blob/v0.50.8/x/gov/types/hooks.go#L19) hook. +Specifically, for the equivocation evidence, we update the `MsgSubmitConsumerMisbehaviour` and `MsgSubmitConsumerDoubleVoting` messages to include the `consumerId`, +and change [Hermes](https://github.com/informalsystems/hermes) to include `consumerId` in those constructed messages as well. +Hermes can find out the `consumerId` by querying the provider's `clientId` for some consumer chain (i.e., `query ccvconsumer provider-info`) +and then asking the provider chain for the `consumerId` that corresponds to this `clientId`. To do this, we need to store +the `clientId` to `consumerId` association on the provider and introduce a query to retrieve the `clientId` +given the `consumerId`. + +#### State +As a result of using `consumerId`, we have to migrate a substantial chunk of state to re-index it using `consumerId` as the key. +Currently, in ICS we have state that is indexed by a multitude of [keys](https://github.com/cosmos/interchain-security/blob/v5.1.0/x/ccv/provider/types/keys.go#L40). +In the table below, we see the ones that are associated with a `chainId` and how often state under those keys gets updated. +Additionally, for each key, the table shows whose action can lead to the setting or deletion of the state associated with that key. +An action can stem either from: i) a consumer chain (e.g., through a `MsgUpdateConsumer` message, an IBC packet sent over to the provider, etc.), +ii) a provider chain (e.g., at the end of a block some action is taken), or by iii) a validator (e.g., through a `MsgAssignConsumerKey` message) +or a combination of them. + +| Key | Description | Who can set this? | Who can delete this? | How often are `chainId`-associated keys updated? | +|-----------------------------------------|------------------------------------------------------------------------------------------------------------------------------|:--------------------------------:|:--------------------------------:|----------------------------------------------------------------------------------------------------------| +| `ChainToChannelBytePrefix` | Stores the CCV `channelID` for a specific chain | consumer chain | consumer chain | Only once (during set up) | +| `ChannelToChainBytePrefix` | Stores `chainId` for a specific channel | consumer chain | consumer chain | Only once (during set up) | +| `ChainToClientBytePrefix` | Stores the `clientID` for a specific chain | consumer chain | consumer chain | Only once (during set up) | +| `PendingCAPBytePrefix` | Stores pending consumer addition proposals | consumer chain | provider chain | Only once (for successful proposal) | +| `PendingCRPBytePrefix` | Stores pending consumer removal proposals | consumer chain | provider chain | Only once (for successful proposal) | +| `ConsumerGenesisBytePrefix` | Stores the consumer genesis for a specific chain | consumer chain | consumer chain | Only once (during set up) | +| `SlashAcksBytePrefix` | Stores slash acks for a specific consumer chain | consumer chain | provider chain | Every time we receive a Slash packet | +| `PendingVSCsBytePrefix` | Stores `VSCPacket`s for a specific consumer chain | provider chain | provider chain | Every [epoch](https://github.com/cosmos/interchain-security/blob/v5.1.0/docs/docs/adrs/adr-014-epochs.md) | +| `ConsumerValidatorsBytePrefix` | Stores consumer key per validator per consumer chain | validator | consumer chain | Every `MsgAssignConsumerKey` or `MsgOptIn` | +| `ValidatorsByConsumerAddrBytePrefix` | Stores consumer to provider validator address | validator | consumer or provider chain | Every `MsgAssignConsumerKey` or `MsgOptIn` | +| `EquivocationEvidenceMinHeightBytePrefix`| Stores min height for a consumer chain | consumer chain | consumer chain | Only once (during set up) | +| `ProposedConsumerChainByteKey` | Stores `proposalID`s for consumer chains with proposals in the voting period | not applicable for Opt In chains | not applicable for Opt In chains | Created when the proposal is submitted and deleted when the proposal's voting period ends | +| `ConsumerValidatorBytePrefix` | Stores consumer validators for a specific chain | validator | validator or consumer chain | Potentially at every epoch | +| `OptedInBytePrefix` | Stores opted-in validators for a specific chain | validator | validator or consumer chain | Potentially at every block | +| `TopNBytePrefix` | Stores whether a consumer chain is Top N or not | not applicable for Opt In chains | not applicable for Opt In chains | Every parameter update | +| `ValidatorsPowerCapPrefix` | Stores the power cap of a chain | consumer chain | consumer chain | Every parameter update | +| `ValidatorSetCapPrefix` | Stores the set cap of a chain | consumer chain | consumer chain | Every parameter update | +| `AllowlistPrefix` | Stores the allowlist of a chain | consumer chain | consumer chain | Every parameter update | +| `DenylistPrefix` | Stores the denylist of a chain | consumer chain | consumer chain | Every parameter update | +| `ConsumerRewardsAllocationBytePrefix` | Stores the ICS rewards per chain | consumer or provider chain | provider chain | Every IBC transfer packet that sends rewards to the provider | +| `ConsumerCommissionRatePrefix` | Commission rate per chain per validator | validator | consumer chain | Every `MsgSetConsumerCommissionRate` message | +| `MinimumPowerInTopNBytePrefix` | Stores the minimum power needed to opt in for a chain | not applicable for Opt In chains | not applicable for Opt In chains | Every epoch | +| `ConsumerAddrsToPruneV2BytePrefix` | Stores consumer addresses to be pruned (as part of `VSCMaturedPacket`s deprecation) | validator or provider chain | provider chain | Every `MsgAssignConsumerKey` or `MsgOptIn` and later during actual pruning | + +Everything stored under one of the above keys is associated with a `chainId` and has to be migrated to new state under a `consumerId`. + +### New Messages +In this section, we describe the new messages (i.e., `MsgRegisterConsumer`, `MsgInitializeConsumer`, `MsgUpdateConsumer` and `MsgRemoveConsumer`) +that Permissionless ICS introduces. +Then, we describe how to utilize these messages with our existing codebase. + +#### Register a Consumer Chain +We first have to register a chain before launching it, irrespectively of whether it is Top N or Opt In. +This is done through the following message: +```protobuf +message MsgRegisterConsumer { + // the registration record that contains information for the registered chain + ConsumerRegistrationRecord registration_record; +} +``` + +where `ConsumerRegistrationRecord` contains information about the to-be-launched consumer chain before it launches. + +```protobuf +message ConsumerRegistrationRecord { + // the title of the chain to-be-launched + string title; + // the description of the chain to-be-launched + string description; + // the chain id of the new consumer chain + string chain_id; +} +``` + +This response of this message contains a single `string`, that is the `consumerId` for this registered consumer chain and sets +a consumer chain in its registered phase. With the returned `consumerId`, validators can already opt in on the consumer +chain to show their potential interest on the chain. + +The owner of the consumer chain is the one that signed the `MsgRegisterConsumer` message. + +To prevent an attacker spamming the system by creating bogus consumer chains, we set a fixed cost for sending a `MsgRegisterConsumer` (configurable via a parameter). + +#### Initialize a Consumer Chain +To move an Opt In consumer chain to its initialized phase, we issue a `MsgInitializeConsumer` message that is as follows: + +```protobuf +message MsgInitializeConsumer { + // consumer id of the to-be-updated consumer chain + string consumer_id; + // the initialization record that contains initialization parameters for the upcoming chain + ConsumerInitializationRecord initialization_record; +} +``` +where `ConsumerInitializationRecord` contains the following: +```protobuf +message ConsumerInitializationRecord { + // ---------- ---------- ---------- + // Following fields are used when the consumer chain launches and are not needed by the provider afterwards. + // ---------- ---------- ---------- + + // the proposed initial height of new consumer chain. + // For a completely new chain, this will be {0,1}. However, it may be + // different if this is a chain that is converting to a consumer chain. + ibc.core.client.v1.Height initial_height; + // The hash of the consumer chain genesis state without the consumer CCV + // module genesis params. It is used for off-chain confirmation of + // genesis.json validity by validators and other parties. + bytes genesis_hash; + // The hash of the consumer chain binary that should be run by validators on + // chain initialization. It is used for off-chain confirmation of binary + // validity by validators and other parties. + bytes binary_hash; + // spawn time is the time on the provider chain at which the consumer chain + // genesis is finalized and all validators will be responsible for starting + // their consumer chain validator node. + google.protobuf.Timestamp spawn_time; + // Unbonding period for the consumer, + // which should be smaller than that of the provider in general. + google.protobuf.Duration unbonding_period; + + + // ---------- ---------- ---------- + // Following fields are used to construct the consumer genesis of the to-be-launched consumer chain + // and are set up as params on the consumer chain. Those params can then be directly modified by the consumer chain. + // ---------- ---------- ---------- + + // Sent CCV related IBC packets will timeout after this duration + google.protobuf.Duration ccv_timeout_period; + // Sent transfer related IBC packets will timeout after this duration + google.protobuf.Duration transfer_timeout_period; + // The fraction of tokens allocated to the consumer redistribution address + // during distribution events. The fraction is a string representing a + // decimal number. For example "0.75" would represent 75%. + string consumer_redistribution_fraction; + // BlocksPerDistributionTransmission is the number of blocks between + // ibc-token-transfers from the consumer chain to the provider chain. On + // sending transmission event, `consumer_redistribution_fraction` of the + // accumulated tokens are sent to the consumer redistribution address. + int64 blocks_per_distribution_transmission; + // The number of historical info entries to persist in store. + // This param is a part of the cosmos sdk staking module. In the case of + // a ccv enabled consumer chain, the ccv module acts as the staking module. + int64 historical_entries; + // The ID of a token transfer channel used for the Reward Distribution + // sub-protocol. If DistributionTransmissionChannel == "", a new transfer + // channel is created on top of the same connection as the CCV channel. + // Note that transfer_channel_id is the ID of the channel end on the consumer + // chain. it is most relevant for chains performing a sovereign to consumer + // changeover in order to maintain the existing ibc transfer channel + string distribution_transmission_channel; +} +``` + +`ConsumerInitializationRecord` contains _almost_ everything that is contained in [`MsgConsumerAddition`](https://github.com/cosmos/interchain-security/blob/v5.1.0/proto/interchain_security/ccv/provider/v1/tx.proto#L111). +Note that as part of this work, we deprecate [`ConsumerAdditionProposal`](https://github.com/cosmos/interchain-security/blob/v5.1.0/proto/interchain_security/ccv/provider/v1/provider.proto#L30). + +For each `consumerId`, we store its corresponding `ConsumerInitializationRecord`. For Top N chains, we can perform this +store by using the [`AfterProposalVotingPeriodEnded`](https://github.com/cosmos/cosmos-sdk/blob/v0.50.8/x/gov/types/hooks.go#L52). + +Note that we need to extensively check the fields of the provided `ConsumerInitializationRecord` to guarantee that no consumer +chain launches with problematic parameters (e.g., we need to have maximum length for the `chainId`, etc.). +As a starter we look into the [usual validity conditions](https://github.com/cosmos/interchain-security/blob/v5.1.0/x/ccv/provider/types/msg.go#L244). + +For all chains in the initialized phase, we keep a mapping between `consumerId` and the underlying `ConsumerInitializationRecord`. +This way, we can respond to queries that ask for all the consumer chain's parameters. For example, retrieving the +`spawn_time` of consumer chain with a given `consumerId`. + +`MsgInitializeConsumer` can be executed multiple times for the same Opt In consumer chain during its initialized phase +to potentially change its to-be-launched parameters (e.g., `spawnTime`). + +A Top N can move to the initialized phase only if the owner of the registered chain issues a governance proposal +with two messages, `MsgInitializeConsumer` and `MsgUpdateConsumer`, and the proposal passes. + +#### Modify a Consumer Chain +We reuse the [MsgConsumerModification](https://github.com/cosmos/interchain-security/blob/v5.1.0/proto/interchain_security/ccv/provider/v1/tx.proto#L294) +message to update parameters of an Opt In chain that is in its initialized or launched phase, but rename the message +to `MsgUpdateConsumer`. This message can only be executed by the owner of a consumer +chain and hence only the owner can change the parameters (e.g., `validators_power_cap`, `allowlist`, etc.) +of the consumer chain. Recall that if the consumer chain is a Top N chain, then the owner is the address of the +governance account. + +We refactor `MsgUpdateConsumer` to be as follows: +```protobuf +message MsgUpdateConsumer { + // consumer id of the to-be-updated consumer chain + string consumer_id; + ConsumerUpdateRecord update_record; +} +``` + +where `ConsumerUpdateRecord` contains the following: +``` +message ConsumerUpdateRecord { + // `owner_address` cannot be modified by a Top N chain, unless it moves to an Opt In chain (i.e., `top_N == 0`) + string owner_address; + uint32 top_N; + uint32 validators_power_cap; + uint32 validator_set_cap; + repeated string allowlist; + repeated string denylist; +} +``` + +Note, that even though a consumer chain is initialized with all the arguments in `ConsumerUpdateRecord`, +the `MsgUpdateConsumer` updates only the `owner_address` and the `consumer_update_record`. This is because +all the other arguments are either useless (e.g., `spawnTime`) after a chain has started, or can be updated directly +by the consumer chain params (e.g., `consumer_redistribution_fraction`). + +#### Remove (Stop) a Consumer Chain +We reuse the `MsgConsumerRemoval` (renamed to `MsgRemoveConsumer`) so we can stop any Opt In chain at any point in time. +Note that all relevant state for this consumer chain remains on the provider's state before getting removed after the time +of an unbonding period (of the provider) has passed. This is to enable potential slashing for any infraction that might have been incurred until now. +Note however that we never recycle previously-used `consumerId`s. Naturally, this message can only be issued by the owner of the consumer chain. + +```protobuf +message MsgRemoveConsumer { + // the consumerId as returned by `MsgRegisterConsumer` + string consumer_id; + // the time on the provider chain at which all validators are responsible to + // stop their consumer chain validator node + google.protobuf.Timestamp stop_time; +} +``` + +#### Examples of Launching a Consumer Chain +The figures below depict some examples of some of the phases a consumer chain resides in to launch. + +![Examples of a launching consumer chain](./adr18_flows_of_launching_a_consumer_chain.png) + + +### Additional Modifications +We need to perform multiple migrations. All state needs to be reindex based on a `consumerId` instead of the `chainId`. +Because we only have two consumer chains at the moment, this is not going to be an expensive migration even if we have some live +consumer chains that are being voted upon. Similarly, all the messages, queries, etc. would need to be changed to operate on a `consumerId` +instead of a `chainId`. + +It is **important** to migrate any ongoing `ConsumerAdditionProposal`s when we upgrade before we actually deprecate `ConsumerAdditionProposal`s. + +## Consequences + +### Positive +- Easier to launch an Opt In consumer chain because no governance is required. + +### Negative +- Extensive migration and overhaul of existing code base (as part of API-breaking changes) that could lead to bugs and more work in auditing this. + + +## References +[CHIPs Discussion phase: Permissionless ICS](https://forum.cosmos.network/t/chips-discussion-phase-permissionless-ics/13955) +[Chain-id squatting](https://forum.cosmos.network/t/pss-permissionless-vs-premissioned-lite-opt-in-consumer-chains/12984/17) \ No newline at end of file diff --git a/docs/docs/adrs/adr18_flows_of_launching_a_consumer_chain.excalidraw b/docs/docs/adrs/adr18_flows_of_launching_a_consumer_chain.excalidraw new file mode 100644 index 0000000000..4e9c57cce0 --- /dev/null +++ b/docs/docs/adrs/adr18_flows_of_launching_a_consumer_chain.excalidraw @@ -0,0 +1,3277 @@ +{ + "type": "excalidraw", + "version": 2, + "source": "https://excalidraw.com", + "elements": [ + { + "type": "ellipse", + "version": 432, + "versionNonce": 656013628, + "index": "a1", + "isDeleted": false, + "id": "SI0HtgaAMGQsMr1Y7bXrA", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 512.4765625, + "y": 248.29980468749991, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 143.13281250000014, + "height": 137.65234375000014, + "seed": 1039402003, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [ + { + "type": "text", + "id": "A97toxLGgigcGTMSLzFRE" + }, + { + "id": "zeENeKW4p1ce_DWzf-29f", + "type": "arrow" + }, + { + "id": "qIMMSItT6zGcYO5ZUPcar", + "type": "arrow" + } + ], + "updated": 1721898441262, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 772, + "versionNonce": 276787644, + "index": "a1V", + "isDeleted": false, + "id": "A97toxLGgigcGTMSLzFRE", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 547.7299002905518, + "y": 306.9585237065766, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 72.41595458984375, + "height": 20, + "seed": 262978077, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1721898441262, + "link": null, + "locked": false, + "fontSize": 16, + "fontFamily": 1, + "text": "initialized", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "SI0HtgaAMGQsMr1Y7bXrA", + "originalText": "initialized", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "ellipse", + "version": 225, + "versionNonce": 1063465660, + "index": "a2", + "isDeleted": false, + "id": "y5DOCeanki7NLMac-YZU_", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 963.30078125, + "y": 252.48730468749994, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 113.27734375, + "height": 113.27734375, + "seed": 303821331, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [ + { + "id": "zeENeKW4p1ce_DWzf-29f", + "type": "arrow" + }, + { + "type": "text", + "id": "_lR4nCPdco_VXP-hHHxFx" + }, + { + "id": "hoUATc742qsSXGtb3zXhk", + "type": "arrow" + }, + { + "id": "6m4pEWBrlMrOpXdR2qMdd", + "type": "arrow" + } + ], + "updated": 1721898441262, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 69, + "versionNonce": 241531708, + "index": "a2G", + "isDeleted": false, + "id": "_lR4nCPdco_VXP-hHHxFx", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 987.2738821091236, + "y": 299.07638760228764, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 65.23196411132812, + "height": 20, + "seed": 2116710579, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1721898441262, + "link": null, + "locked": false, + "fontSize": 16, + "fontFamily": 1, + "text": "launched", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "y5DOCeanki7NLMac-YZU_", + "originalText": "launched", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "text", + "version": 818, + "versionNonce": 352917936, + "index": "a4", + "isDeleted": false, + "id": "-Ezkh_kc6H-iZ8_N1SUwz", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 728.4853515625, + "y": 18.888671874999943, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 462.22369116544724, + "height": 40, + "seed": 176740147, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [ + { + "id": "JQNfOufG1Sc3Ln1iHc6v8", + "type": "arrow" + } + ], + "updated": 1721977797787, + "link": null, + "locked": false, + "fontSize": 16, + "fontFamily": 1, + "text": "proposal with MsgInitializeConsumer & MsgUpdateConsumer\nto start a Top N chain", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "proposal with MsgInitializeConsumer & MsgUpdateConsumer\nto start a Top N chain", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "arrow", + "version": 3380, + "versionNonce": 1334694320, + "index": "a5", + "isDeleted": false, + "id": "JQNfOufG1Sc3Ln1iHc6v8", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 863.2801567822762, + "y": 66.26969410176584, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 208.7131111905685, + "height": 55.219229040456455, + "seed": 428750077, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1721977807991, + "link": null, + "locked": false, + "startBinding": { + "elementId": "-Ezkh_kc6H-iZ8_N1SUwz", + "focus": 0.14349370214591656, + "gap": 7.381022226765893 + }, + "endBinding": { + "elementId": "_VXIQppCSNb6MIFQLmDdy", + "focus": 0.1824872496377905, + "gap": 2.2713741813428783 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + -106.6058242763097, + 51.06445336557442 + ], + [ + -208.7131111905685, + 55.219229040456455 + ] + ] + }, + { + "type": "text", + "version": 1068, + "versionNonce": 1922126672, + "index": "a6", + "isDeleted": false, + "id": "9NwhWEx9olM4fARFt5hZe", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 189.74827575683594, + "y": -17.066406250000057, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 308.01581835746765, + "height": 80, + "seed": 304812115, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [ + { + "id": "NAUT1CeeaW6ntAtOKbXGS", + "type": "arrow" + } + ], + "updated": 1721977650326, + "link": null, + "locked": false, + "fontSize": 16, + "fontFamily": 1, + "text": "tx to register\nan Opt In or Top N consumer chain\n(MsgRegisterConsumer)\nowner = signer of MsgRegisterConsumer", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "tx to register\nan Opt In or Top N consumer chain\n(MsgRegisterConsumer)\nowner = signer of MsgRegisterConsumer", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "arrow", + "version": 331, + "versionNonce": 1834637060, + "index": "a7", + "isDeleted": false, + "id": "zeENeKW4p1ce_DWzf-29f", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 663.2551165518071, + "y": 319.75738423211857, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 299.31331302963645, + "height": 5.083241028410356, + "seed": 783684445, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1721898441294, + "link": null, + "locked": false, + "startBinding": { + "elementId": "9VJjnsFNvss8g8B_wchEr", + "focus": -1.1953607235764194, + "gap": 6.181092330381375 + }, + "endBinding": { + "elementId": "y5DOCeanki7NLMac-YZU_", + "focus": -0.08074296871041202, + "gap": 1.0000000000000995 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 299.31331302963645, + -5.083241028410356 + ] + ] + }, + { + "type": "text", + "version": 418, + "versionNonce": 1250834364, + "index": "a8", + "isDeleted": false, + "id": "9VJjnsFNvss8g8B_wchEr", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 669.0216369628906, + "y": 325.93847656249994, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 252.0958709716797, + "height": 60, + "seed": 1053753011, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [ + { + "id": "zeENeKW4p1ce_DWzf-29f", + "type": "arrow" + } + ], + "updated": 1721898441262, + "link": null, + "locked": false, + "fontSize": 16, + "fontFamily": 1, + "text": "chain's spawnTime passed\nAND\nat least one validator opted in", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "chain's spawnTime passed\nAND\nat least one validator opted in", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "text", + "version": 417, + "versionNonce": 7026096, + "index": "aF", + "isDeleted": false, + "id": "FgsFB8OrGtx1-nlYRY0Uz", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1100.889877319336, + "y": 155.14941406249994, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 229.75984984636307, + "height": 40, + "seed": 51301117, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [ + { + "id": "hoUATc742qsSXGtb3zXhk", + "type": "arrow" + } + ], + "updated": 1721979486389, + "link": null, + "locked": false, + "fontSize": 16, + "fontFamily": 1, + "text": "MsgUpdateConsumer for both\nTop N and Opt In chains", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "MsgUpdateConsumer for both\nTop N and Opt In chains", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "arrow", + "version": 936, + "versionNonce": 1806394884, + "index": "aG", + "isDeleted": false, + "id": "hoUATc742qsSXGtb3zXhk", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1043.1909748738744, + "y": 254.20084659464027, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 81.51926732005495, + "height": 77.65472732322138, + "seed": 684481907, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1721898441295, + "link": null, + "locked": false, + "startBinding": { + "elementId": "y5DOCeanki7NLMac-YZU_", + "focus": -0.6276577497929622, + "gap": 3.005298194275724 + }, + "endBinding": { + "elementId": "y5DOCeanki7NLMac-YZU_", + "focus": 0.6500438788511836, + "gap": 6.714013400352123 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 81.51926732005495, + -47.95974594543503 + ], + [ + 34.8604592337133, + 29.69498137778635 + ] + ] + }, + { + "type": "ellipse", + "version": 356, + "versionNonce": 411466172, + "index": "aK", + "isDeleted": false, + "id": "U2EhanfFFSg1GNh4uQ9Xo", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 973.2587890625, + "y": 528.0859375, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 113.27734375, + "height": 113.27734375, + "seed": 420095965, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [ + { + "type": "text", + "id": "RfEXevpkB5rowEFa4mHDD" + }, + { + "id": "6m4pEWBrlMrOpXdR2qMdd", + "type": "arrow" + } + ], + "updated": 1721898441262, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 209, + "versionNonce": 294117948, + "index": "aL", + "isDeleted": false, + "id": "RfEXevpkB5rowEFa4mHDD", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 999.7359029831471, + "y": 574.6750204147877, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 60.22393798828125, + "height": 20, + "seed": 1217602621, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1721898441262, + "link": null, + "locked": false, + "fontSize": 16, + "fontFamily": 1, + "text": "stopped", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "U2EhanfFFSg1GNh4uQ9Xo", + "originalText": "stopped", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "arrow", + "version": 518, + "versionNonce": 1178907908, + "index": "aM", + "isDeleted": false, + "id": "6m4pEWBrlMrOpXdR2qMdd", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1027.530607098985, + "y": 367.313746063125, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 1.0811756614666592, + "height": 152.58658700381386, + "seed": 354868061, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1721898441295, + "link": null, + "locked": false, + "startBinding": { + "elementId": "y5DOCeanki7NLMac-YZU_", + "focus": -0.1267451224869414, + "gap": 2.042177966448442 + }, + "endBinding": { + "elementId": "U2EhanfFFSg1GNh4uQ9Xo", + "focus": -0.014589591451189068, + "gap": 8.198352788681127 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 1.0811756614666592, + 152.58658700381386 + ] + ] + }, + { + "type": "ellipse", + "version": 1043, + "versionNonce": 1743463856, + "index": "aP", + "isDeleted": false, + "id": "_VXIQppCSNb6MIFQLmDdy", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 527.1933593750001, + "y": 49.049845487915945, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 125.71093750000004, + "height": 126.94419050538774, + "seed": 1424716579, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [ + { + "type": "text", + "id": "ND9wpVssAkaXAtA1CWR-j" + }, + { + "id": "qIMMSItT6zGcYO5ZUPcar", + "type": "arrow" + }, + { + "id": "JQNfOufG1Sc3Ln1iHc6v8", + "type": "arrow" + }, + { + "id": "NAUT1CeeaW6ntAtOKbXGS", + "type": "arrow" + }, + { + "id": "SP-m3QTzlcLoU-_bmfZeN", + "type": "arrow" + } + ], + "updated": 1721977737205, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 1438, + "versionNonce": 303490108, + "index": "aQ", + "isDeleted": false, + "id": "ND9wpVssAkaXAtA1CWR-j", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 550.919332346884, + "y": 102.6403917713115, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 78.36793518066406, + "height": 20, + "seed": 704059075, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1721898441262, + "link": null, + "locked": false, + "fontSize": 16, + "fontFamily": 1, + "text": "registered", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "_VXIQppCSNb6MIFQLmDdy", + "originalText": "registered", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "arrow", + "version": 2498, + "versionNonce": 1811695536, + "index": "aR", + "isDeleted": false, + "id": "qIMMSItT6zGcYO5ZUPcar", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 598.616944950635, + "y": 175.68190954353736, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 95.2174182195338, + "height": 71.14063431860131, + "seed": 711212803, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1721977823250, + "link": null, + "locked": false, + "startBinding": { + "elementId": "_VXIQppCSNb6MIFQLmDdy", + "focus": 0.7831196417981204, + "gap": 1 + }, + "endBinding": { + "elementId": "SI0HtgaAMGQsMr1Y7bXrA", + "focus": -0.9808503194655256, + "gap": 2.5866858268130386 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 93.66378808277591, + 56.75434794509022 + ], + [ + -1.5536301367578846, + 71.14063431860131 + ] + ] + }, + { + "type": "text", + "version": 894, + "versionNonce": 1163437392, + "index": "aS", + "isDeleted": false, + "id": "tONaGSodwA-i1Tr_ZvpZf", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 703.2325744628906, + "y": 211.6659109933036, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 63.951934814453125, + "height": 40, + "seed": 1173975117, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1721977821204, + "link": null, + "locked": false, + "fontSize": 16, + "fontFamily": 1, + "text": "proposal\npasses", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "proposal\npasses", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "arrow", + "version": 2698, + "versionNonce": 1501320528, + "index": "aW", + "isDeleted": false, + "id": "NAUT1CeeaW6ntAtOKbXGS", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 295.2339916085824, + "y": 72.54770775067982, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 219.9931787394372, + "height": 44.86816430307441, + "seed": 713565901, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1721977650641, + "link": null, + "locked": false, + "startBinding": { + "elementId": "9NwhWEx9olM4fARFt5hZe", + "focus": 0.5220455825778929, + "gap": 9.614114000679876 + }, + "endBinding": { + "elementId": "_VXIQppCSNb6MIFQLmDdy", + "focus": -0.040896091175469475, + "gap": 12.037638560264035 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 49.778852818030145, + 44.86816430307441 + ], + [ + 219.9931787394372, + 43.27181702781314 + ] + ] + }, + { + "type": "arrow", + "version": 2638, + "versionNonce": 2034843580, + "index": "aX", + "isDeleted": false, + "id": "QJHjyYDxam9jq3ifrE6rE", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 553.4126684100163, + "y": 172.7898695168439, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 88.24899059693328, + "height": 80.70767694042144, + "seed": 901908284, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1721898441262, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + -87.03045455607186, + 30.651422159720436 + ], + [ + 1.218536040861423, + 80.70767694042144 + ] + ] + }, + { + "type": "text", + "version": 954, + "versionNonce": 1840703408, + "index": "aY", + "isDeleted": false, + "id": "OSTXsQ9rLudhM8FpW1Tmi", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 237.52793884277344, + "y": 181.43050856817348, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 220.76788437366486, + "height": 60, + "seed": 1590512260, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1721981417956, + "link": null, + "locked": false, + "fontSize": 16, + "fontFamily": 1, + "text": "tx to initialize a registered\nOpt In chain\n(MsgInitializeConsumer)", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "tx to initialize a registered\nOpt In chain\n(MsgInitializeConsumer)", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "text", + "version": 618, + "versionNonce": 1408338864, + "index": "aZ", + "isDeleted": false, + "id": "YfLjGiz8pwcgaeYLbqk17", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1046.5860595703125, + "y": 407.42009190150674, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 198.86389088630676, + "height": 40, + "seed": 200186756, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1721977871422, + "link": null, + "locked": false, + "fontSize": 16, + "fontFamily": 1, + "text": "MsgRemoveConsumer for\nTop N and Opt In chains", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "MsgRemoveConsumer for\nTop N and Opt In chains", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "text", + "version": 1258, + "versionNonce": 1493934000, + "index": "aa", + "isDeleted": false, + "id": "NssF2iYfl_Bnw_ExbSTN9", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 5.903783783236146, + "x": 738.4366388875179, + "y": 102.0454511378703, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 188.03873574733734, + "height": 38.94856770833333, + "seed": 1513132976, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1721979493173, + "link": null, + "locked": false, + "fontSize": 15.579427083333332, + "fontFamily": 1, + "text": "If proposal submitted,\nthen owner = gov module", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "If proposal submitted,\nthen owner = gov module", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "arrow", + "version": 3860, + "versionNonce": 1375313744, + "index": "ab", + "isDeleted": false, + "id": "SP-m3QTzlcLoU-_bmfZeN", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 542.8449540584817, + "y": 65.3169816199927, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 107.2195285426966, + "height": 95.35691573040356, + "seed": 1371342672, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1721979518514, + "link": null, + "locked": false, + "startBinding": { + "elementId": "_VXIQppCSNb6MIFQLmDdy", + "focus": -1.0544694371314034, + "gap": 3.5954323396749857 + }, + "endBinding": { + "elementId": "_VXIQppCSNb6MIFQLmDdy", + "focus": 0.31663537700287836, + "gap": 1.9911615284421913 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 107.2195285426966, + -95.35691573040356 + ], + [ + 82.94381595386449, + -7.418196168042471 + ] + ] + }, + { + "type": "text", + "version": 1314, + "versionNonce": 863552848, + "index": "ac", + "isDeleted": false, + "id": "apwBA2F8OsZLAT7p6l1JS", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 609.4229227304459, + "y": -79.25318690708701, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 569.839707493782, + "height": 40, + "seed": 1979332528, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1721979490056, + "link": null, + "locked": false, + "fontSize": 16, + "fontFamily": 1, + "text": "If proposal fails,\nthen owner = previous owner (the one that signed MsgRegisterConsumer)", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "If proposal fails,\nthen owner = previous owner (the one that signed MsgRegisterConsumer)", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "line", + "version": 772, + "versionNonce": 266696112, + "index": "ae", + "isDeleted": false, + "id": "pwlxDMNk9SimSRoZRuyV3", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 256.2591145833333, + "y": 1317.2654695056733, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 1658.3805338541667, + "height": 0.078125, + "seed": 1129032624, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1721980422671, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 1658.3805338541667, + 0.078125 + ] + ] + }, + { + "type": "line", + "version": 379, + "versionNonce": 957038512, + "index": "af", + "isDeleted": false, + "id": "-xwyxjAJM89xAkUi-pWLB", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 269.35481770833337, + "y": 1261.0252351306735, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 0, + "height": 124.8681640625, + "seed": 659246416, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1721980422671, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 124.8681640625 + ] + ] + }, + { + "type": "line", + "version": 552, + "versionNonce": 250071472, + "index": "ag", + "isDeleted": false, + "id": "AFDJ07skaLW7VCALYMDj4", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 760.7334914470289, + "y": 1257.3100290018028, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 0, + "height": 124.8681640625, + "seed": 1945500592, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1721980422671, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 124.8681640625 + ] + ] + }, + { + "type": "line", + "version": 835, + "versionNonce": 1285755824, + "index": "ah", + "isDeleted": false, + "id": "hDPzA0-vpS0ilSkphkeAA", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1002.3254193314633, + "y": 1269.644565149432, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 0, + "height": 124.8681640625, + "seed": 1257497936, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1721980422671, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 124.8681640625 + ] + ] + }, + { + "type": "arrow", + "version": 627, + "versionNonce": 140844464, + "index": "ai", + "isDeleted": false, + "id": "5RtUeYj4dxxweAu88pxEc", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1824.390625, + "y": 1297.1385163806735, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 88.623046875, + "height": 0, + "seed": 557184848, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1721980422671, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 88.623046875, + 0 + ] + ] + }, + { + "type": "text", + "version": 694, + "versionNonce": 1398138800, + "index": "aj", + "isDeleted": false, + "id": "TCPMJfrcd92gSR4Q6cE6S", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1845.7822265625, + "y": 1273.2810945056735, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 40.63996636867523, + "height": 25, + "seed": 1234376112, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1721980422671, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "time", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "time", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "text", + "version": 653, + "versionNonce": 1503490480, + "index": "ak", + "isDeleted": false, + "id": "cJmAKusziodsDR6vwTHJd", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 213.76562500000006, + "y": 1198.4617585681735, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 227.99981439113617, + "height": 50, + "seed": 844025168, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1721980422671, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "MsgRegisterConsumer\nto get the consumer id", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "MsgRegisterConsumer\nto get the consumer id", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "text", + "version": 717, + "versionNonce": 40090544, + "index": "al", + "isDeleted": false, + "id": "GastODl-l38mFb5oaAEbj", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 665.4558410644531, + "y": 1198.011929466611, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 210.61980283260345, + "height": 50, + "seed": 44005200, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1721980422671, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "MsgInitializeConsumer\nwith spawnTime, etc.", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "MsgInitializeConsumer\nwith spawnTime, etc.", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "text", + "version": 801, + "versionNonce": 265340336, + "index": "am", + "isDeleted": false, + "id": "kXfBgGvtmnfZCVwG1uG9V", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 935.2071304321289, + "y": 1199.574429466611, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 224.29981744289398, + "height": 50, + "seed": 2087774640, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1721980422671, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "MsgUpdateConsumer\nto set power cap, etc.", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "MsgUpdateConsumer\nto set power cap, etc.", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "text", + "version": 966, + "versionNonce": 1057787824, + "index": "an", + "isDeleted": false, + "id": "E1QM7dtsigeuyGX9zwvE0", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1220.2525985836983, + "y": 1202.250210716611, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 242.3997710943222, + "height": 50, + "seed": 608854864, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1721980422671, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "MsgInitializeConsumer to\nmodify spawnTime", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "MsgInitializeConsumer to\nmodify spawnTime", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "line", + "version": 688, + "versionNonce": 1748965808, + "index": "ao", + "isDeleted": false, + "id": "Wm2pyI04tXykKntCeM85W", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1307.6379193314638, + "y": 1266.2113376103696, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 0, + "height": 124.8681640625, + "seed": 1967873456, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1721980422671, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 124.8681640625 + ] + ] + }, + { + "type": "rectangle", + "version": 657, + "versionNonce": 512779184, + "index": "ap", + "isDeleted": false, + "id": "pfUxn633PL7PLmo5UBP83", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 60, + "angle": 0, + "x": 273.84472656250006, + "y": 1317.1248851957778, + "strokeColor": "#1e1e1e", + "backgroundColor": "#e7f5ff", + "width": 480.92285156250006, + "height": 81.1279296875, + "seed": 394410832, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "type": "text", + "id": "ZxRHa3OTec0AyDpAifqQw" + } + ], + "updated": 1721980422671, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 421, + "versionNonce": 1344826800, + "index": "aq", + "isDeleted": false, + "id": "ZxRHa3OTec0AyDpAifqQw", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 60, + "angle": 0, + "x": 429.95622801780706, + "y": 1345.1888500395278, + "strokeColor": "#1e1e1e", + "backgroundColor": "#a5d8ff", + "width": 168.699848651886, + "height": 25, + "seed": 1250610096, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1721980422671, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "Registered phase", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "pfUxn633PL7PLmo5UBP83", + "originalText": "Registered phase", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "rectangle", + "version": 1004, + "versionNonce": 1714370480, + "index": "ar", + "isDeleted": false, + "id": "uVblxWqL6Msu5umb9eTvZ", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 60, + "angle": 0, + "x": 758.35302734375, + "y": 1318.302456810361, + "strokeColor": "#1e1e1e", + "backgroundColor": "#ffec99", + "width": 660.1660156250001, + "height": 81.1279296875, + "seed": 229232464, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "type": "text", + "id": "s-LIv7Mo1IvDb89Gr0uSQ" + } + ], + "updated": 1721980422671, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 782, + "versionNonce": 1691140528, + "index": "as", + "isDeleted": false, + "id": "s-LIv7Mo1IvDb89Gr0uSQ", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 60, + "angle": 0, + "x": 1007.056105658412, + "y": 1346.366421654111, + "strokeColor": "#1e1e1e", + "backgroundColor": "#a5d8ff", + "width": 162.75985899567604, + "height": 25, + "seed": 1548969296, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1721980422671, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "Initialized phase", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "uVblxWqL6Msu5umb9eTvZ", + "originalText": "Initialized phase", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "line", + "version": 863, + "versionNonce": 2067805008, + "index": "at", + "isDeleted": false, + "id": "zXqjQ2rE_UbSjEHOyMDw3", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1422.1748893529827, + "y": 1318.9168052711786, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 0, + "height": 124.8681640625, + "seed": 618764720, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1721980681550, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 124.8681640625 + ] + ] + }, + { + "type": "text", + "version": 1091, + "versionNonce": 1936463280, + "index": "au", + "isDeleted": false, + "id": "aVp4yECj00-fGLMn7sHnD", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1309.797184765339, + "y": 1450.599820091611, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 177.4198455810547, + "height": 75, + "seed": 1447447888, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1721980422672, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "spawnTime passed\nand at least one\nvalidator opted in", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "spawnTime passed\nand at least one\nvalidator opted in", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "text", + "version": 1091, + "versionNonce": 851304368, + "index": "ax", + "isDeleted": false, + "id": "s6qt0UIRPRSbMwetkDFg_", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1609.481927216053, + "y": 1212.733609154111, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 202.41985833644867, + "height": 50, + "seed": 1340941744, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1721980422672, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "MsgUpdateConsumer\nto change power cap", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "MsgUpdateConsumer\nto change power cap", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "line", + "version": 985, + "versionNonce": 2034657712, + "index": "ay", + "isDeleted": false, + "id": "RRDK6Jp-NdnWMWtYGDDli", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1745.1088831870024, + "y": 1272.6322796427069, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 0, + "height": 124.8681640625, + "seed": 154253232, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1721980422672, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 124.8681640625 + ] + ] + }, + { + "type": "rectangle", + "version": 1016, + "versionNonce": 841855920, + "index": "az", + "isDeleted": false, + "id": "4ZMVPnrnF1Dfj8ono67tv", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 60, + "angle": 0, + "x": 1425.8107096354167, + "y": 1320.40939512673, + "strokeColor": "#1e1e1e", + "backgroundColor": "#b2f2bb", + "width": 475.03417968750034, + "height": 79.30663117976157, + "seed": 66445648, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "type": "text", + "id": "KC5zECj3By5dDU8JFhAep" + } + ], + "updated": 1721980422672, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 810, + "versionNonce": 597409200, + "index": "b00", + "isDeleted": false, + "id": "KC5zECj3By5dDU8JFhAep", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 60, + "angle": 0, + "x": 1587.763779918353, + "y": 1347.7777356509237, + "strokeColor": "#1e1e1e", + "backgroundColor": "#a5d8ff", + "width": 151.1280391216278, + "height": 24.569950131374355, + "seed": 323827536, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1721980422672, + "link": null, + "locked": false, + "fontSize": 19.655960105099485, + "fontFamily": 1, + "text": "Launched phase", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "4ZMVPnrnF1Dfj8ono67tv", + "originalText": "Launched phase", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "line", + "version": 771, + "versionNonce": 1263014832, + "index": "b01", + "isDeleted": false, + "id": "7Bq_OzmNwUc0GxjMxTYNY", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 265.25883719345677, + "y": 1666.5525788806733, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 1658.3805338541667, + "height": 0.078125, + "seed": 255347024, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1721980676778, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 1658.3805338541667, + 0.078125 + ] + ] + }, + { + "type": "line", + "version": 400, + "versionNonce": 1785339312, + "index": "b02", + "isDeleted": false, + "id": "OvebgcABs_rLQivf-TBk2", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 278.3545403184568, + "y": 1610.3123445056733, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 0, + "height": 124.8681640625, + "seed": 1510121296, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1721980676778, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 124.8681640625 + ] + ] + }, + { + "type": "line", + "version": 573, + "versionNonce": 750446512, + "index": "b03", + "isDeleted": false, + "id": "4C8GcmxoE4N2CEFpbetdn", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 769.7332140571524, + "y": 1606.5971383768026, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 0, + "height": 124.8681640625, + "seed": 1158821200, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1721980676778, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 124.8681640625 + ] + ] + }, + { + "type": "line", + "version": 856, + "versionNonce": 1046639024, + "index": "b04", + "isDeleted": false, + "id": "nHS8CykAzRlhhatMaNhMu", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1011.3251419415867, + "y": 1618.931674524432, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 0, + "height": 124.8681640625, + "seed": 364841808, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1721980676778, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 124.8681640625 + ] + ] + }, + { + "type": "arrow", + "version": 626, + "versionNonce": 109624240, + "index": "b05", + "isDeleted": false, + "id": "Fs9vTDdorvwlcYw_ubAa_", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1833.3903476101234, + "y": 1646.4256257556733, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 88.623046875, + "height": 0, + "seed": 643899728, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1721980676778, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 88.623046875, + 0 + ] + ] + }, + { + "type": "text", + "version": 715, + "versionNonce": 1196803504, + "index": "b06", + "isDeleted": false, + "id": "l3WpHc1Tm8DmkYOar2yuc", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1854.7819491726234, + "y": 1622.5682038806733, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 40.63996636867523, + "height": 25, + "seed": 1179678544, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1721980676778, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "time", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "time", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "text", + "version": 674, + "versionNonce": 1039241136, + "index": "b07", + "isDeleted": false, + "id": "HVWEVkdCna3gjxJRN-dCZ", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 222.7653476101235, + "y": 1547.7488679431735, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 227.99981439113617, + "height": 50, + "seed": 434441552, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1721980676778, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "MsgRegisterConsumer\nto get the consumer id", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "MsgRegisterConsumer\nto get the consumer id", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "text", + "version": 877, + "versionNonce": 1115953584, + "index": "b08", + "isDeleted": false, + "id": "jpeMZ5SS2jgAqO9FZB17B", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 672.7954074245766, + "y": 1496.999559674944, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 237.25982177257538, + "height": 100, + "seed": 2054611792, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1721980676778, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "issue governance\nproposal with\nMsgInitializeConsumer\nand MsgUpdateconsumer", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "issue governance\nproposal with\nMsgInitializeConsumer\nand MsgUpdateconsumer", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "text", + "version": 907, + "versionNonce": 1748329392, + "index": "b09", + "isDeleted": false, + "id": "zmw1PyM5vZzw3eZp9f19w", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 936.9607592922523, + "y": 1583.112840924944, + "strokeColor": "#e03131", + "backgroundColor": "transparent", + "width": 170.7798352241516, + "height": 25, + "seed": 1448999248, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1721980676778, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "proposal rejected", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "proposal rejected", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "rectangle", + "version": 1152, + "versionNonce": 489516464, + "index": "b0C", + "isDeleted": false, + "id": "ajHAAKi9tSoXcIkv3aA4L", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 60, + "angle": 0, + "x": 277.09965750595677, + "y": 1665.9562654041108, + "strokeColor": "#1e1e1e", + "backgroundColor": "#e7f5ff", + "width": 1646.6975911458337, + "height": 81.1279296875, + "seed": 948091728, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "type": "text", + "id": "2HQsEKAeWiKi5szJa8Io6" + } + ], + "updated": 1721980676778, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 916, + "versionNonce": 1251227568, + "index": "b0D", + "isDeleted": false, + "id": "2HQsEKAeWiKi5szJa8Io6", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 60, + "angle": 0, + "x": 1016.0985287529306, + "y": 1694.0202302478608, + "strokeColor": "#1e1e1e", + "backgroundColor": "#a5d8ff", + "width": 168.699848651886, + "height": 25, + "seed": 355389776, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1721980676778, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "Registered phase", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "ajHAAKi9tSoXcIkv3aA4L", + "originalText": "Registered phase", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "rectangle", + "version": 1323, + "versionNonce": 515241808, + "index": "b0E", + "isDeleted": false, + "id": "o16fHdthOp80uqAN-KkL2", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 60, + "angle": 0, + "x": 1015.8097812038734, + "y": 2025.532274518694, + "strokeColor": "#1e1e1e", + "backgroundColor": "#ffec99", + "width": 415.0227864583335, + "height": 81.1279296875, + "seed": 1877485392, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "type": "text", + "id": "348R4_XQcWAs6CAl4OV_w" + } + ], + "updated": 1721980415621, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 1102, + "versionNonce": 1234865488, + "index": "b0F", + "isDeleted": false, + "id": "348R4_XQcWAs6CAl4OV_w", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 60, + "angle": 0, + "x": 1141.9412449352021, + "y": 2053.596239362444, + "strokeColor": "#1e1e1e", + "backgroundColor": "#a5d8ff", + "width": 162.75985899567604, + "height": 25, + "seed": 352763216, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1721980415621, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "Initialized phase", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "o16fHdthOp80uqAN-KkL2", + "originalText": "Initialized phase", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "line", + "version": 897, + "versionNonce": 394027856, + "index": "b0M", + "isDeleted": false, + "id": "jAITNaSlDtSPpvQwpBfRJ", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 267.98783052464313, + "y": 2020.76074945359, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 1658.3805338541667, + "height": 0.078125, + "seed": 124954448, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1721980415621, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 1658.3805338541667, + 0.078125 + ] + ] + }, + { + "type": "line", + "version": 504, + "versionNonce": 917731664, + "index": "b0N", + "isDeleted": false, + "id": "akYH8jPOSYYHRJ0kHn6SF", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 281.08353364964324, + "y": 1964.52051507859, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 0, + "height": 124.8681640625, + "seed": 1463893328, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1721980415621, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 124.8681640625 + ] + ] + }, + { + "type": "line", + "version": 677, + "versionNonce": 1251462992, + "index": "b0O", + "isDeleted": false, + "id": "Qds67yg8nIFlUKrTZNb8v", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 772.4622073883388, + "y": 1960.8053089497193, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 0, + "height": 124.8681640625, + "seed": 483201872, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1721980415621, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 124.8681640625 + ] + ] + }, + { + "type": "line", + "version": 960, + "versionNonce": 1266771280, + "index": "b0P", + "isDeleted": false, + "id": "jtzT1eH8RZn8QwNepmt_H", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1014.054135272773, + "y": 1973.1398450973488, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 0, + "height": 124.8681640625, + "seed": 778971472, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1721980415621, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 124.8681640625 + ] + ] + }, + { + "type": "arrow", + "version": 752, + "versionNonce": 1724398416, + "index": "b0Q", + "isDeleted": false, + "id": "8lhkFCwtbNTRFlmWeRE4n", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1836.1193409413095, + "y": 2000.63379632859, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 88.623046875, + "height": 0, + "seed": 1467776848, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1721980415621, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 88.623046875, + 0 + ] + ] + }, + { + "type": "text", + "version": 819, + "versionNonce": 1589924176, + "index": "b0R", + "isDeleted": false, + "id": "CsZ965_KJ8mkVhd3JJHe6", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1857.5109425038095, + "y": 1976.77637445359, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 40.63996636867523, + "height": 25, + "seed": 944772432, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1721980415621, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "time", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "time", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "text", + "version": 778, + "versionNonce": 1791862608, + "index": "b0S", + "isDeleted": false, + "id": "VptrXV13wo5wjJkN_HnlZ", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 225.49434094130987, + "y": 1901.9570385160905, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 227.99981439113617, + "height": 50, + "seed": 641788752, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1721980415621, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "MsgRegisterConsumer\nto get the consumer id", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "MsgRegisterConsumer\nto get the consumer id", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "text", + "version": 1003, + "versionNonce": 389823824, + "index": "b0T", + "isDeleted": false, + "id": "i7B5C0pGmcgSuCqx5vRQP", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 675.524400755763, + "y": 1851.207730247861, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 237.25982177257538, + "height": 100, + "seed": 195494224, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1721980415621, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "issue governance\nproposal with\nMsgInitializeConsumer\nand MsgUpdateconsumer", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "issue governance\nproposal with\nMsgInitializeConsumer\nand MsgUpdateconsumer", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "text", + "version": 1017, + "versionNonce": 623782224, + "index": "b0U", + "isDeleted": false, + "id": "KtxOQmQoRm5cuPDQBNvU5", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 939.6897526234386, + "y": 1937.321011497861, + "strokeColor": "#2f9e44", + "backgroundColor": "transparent", + "width": 156.959858417511, + "height": 25, + "seed": 1205491536, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1721980635662, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "proposal passes", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "proposal passes", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "rectangle", + "version": 1270, + "versionNonce": 1806248272, + "index": "b0X", + "isDeleted": false, + "id": "aqECH_oHGd4F7Pq9jBCpa", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 60, + "angle": 0, + "x": 279.82865083714313, + "y": 2020.1644359770276, + "strokeColor": "#1e1e1e", + "backgroundColor": "#e7f5ff", + "width": 731.2353515625001, + "height": 81.1279296875, + "seed": 2041829712, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "type": "text", + "id": "J8GsOJGu4wkpH9e3dq06b" + } + ], + "updated": 1721980415621, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 1034, + "versionNonce": 894926672, + "index": "b0Y", + "isDeleted": false, + "id": "J8GsOJGu4wkpH9e3dq06b", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 60, + "angle": 0, + "x": 561.0964022924502, + "y": 2048.2284008207776, + "strokeColor": "#1e1e1e", + "backgroundColor": "#a5d8ff", + "width": 168.699848651886, + "height": 25, + "seed": 244068176, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1721980415621, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "Registered phase", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "aqECH_oHGd4F7Pq9jBCpa", + "originalText": "Registered phase", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "line", + "version": 991, + "versionNonce": 2012467536, + "index": "b0Z", + "isDeleted": false, + "id": "jepmnNxu-8rBXJjZKYZKQ", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1434.8150636276262, + "y": 2021.9498456357614, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 0, + "height": 124.8681640625, + "seed": 1374274896, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1721980684670, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 124.8681640625 + ] + ] + }, + { + "type": "text", + "version": 1229, + "versionNonce": 57883811, + "index": "b0a", + "isDeleted": false, + "id": "prbzcGXJPRqkOVsHpdbs4", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1321.581890289982, + "y": 2150.859422956194, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 176.8798370361328, + "height": 25, + "seed": 1092918096, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1721986800613, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "spawnTime passed", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "spawnTime passed", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "text", + "version": 1327, + "versionNonce": 1288511920, + "index": "b0b", + "isDeleted": false, + "id": "4_i6jup_6Cze3xommPSgL", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1494.9671535740297, + "y": 1916.495816185361, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 231.69981133937836, + "height": 50, + "seed": 1855238480, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1721980692762, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "MsgUpdateConsumer\nto change denylist, etc.", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "MsgUpdateConsumer\nto change denylist, etc.", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "line", + "version": 1250, + "versionNonce": 1557995440, + "index": "b0c", + "isDeleted": false, + "id": "G9GGcs9_A9FENDJhK85f5", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1581.264682461645, + "y": 1974.519486673957, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 0, + "height": 124.8681640625, + "seed": 1636960080, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1721980691478, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 124.8681640625 + ] + ] + }, + { + "type": "rectangle", + "version": 1141, + "versionNonce": 1680731472, + "index": "b0d", + "isDeleted": false, + "id": "TuSGExogIwVLdWKpZuLEE", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 60, + "angle": 0, + "x": 1437.5394255767267, + "y": 2023.904675074647, + "strokeColor": "#1e1e1e", + "backgroundColor": "#b2f2bb", + "width": 475.03417968750034, + "height": 79.30663117976157, + "seed": 1987353936, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "type": "text", + "id": "Kha-a5kyL8kweb2LvlPtp" + } + ], + "updated": 1721980415621, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 936, + "versionNonce": 1218691920, + "index": "b0e", + "isDeleted": false, + "id": "Kha-a5kyL8kweb2LvlPtp", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 60, + "angle": 0, + "x": 1599.492495859663, + "y": 2051.2730155988406, + "strokeColor": "#1e1e1e", + "backgroundColor": "#a5d8ff", + "width": 151.1280391216278, + "height": 24.569950131374355, + "seed": 1049916240, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1721980415621, + "link": null, + "locked": false, + "fontSize": 19.655960105099485, + "fontFamily": 1, + "text": "Launched phase", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "TuSGExogIwVLdWKpZuLEE", + "originalText": "Launched phase", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "text", + "version": 408, + "versionNonce": 396094800, + "index": "b0f", + "isDeleted": false, + "id": "UyHfZ2VJGqV1pDsuTD9cV", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 60, + "angle": 0, + "x": -108.94270833333303, + "y": 1338.8350902739019, + "strokeColor": "#1e1e1e", + "backgroundColor": "#b2f2bb", + "width": 341.5998840332031, + "height": 70, + "seed": 723455312, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1721981143713, + "link": null, + "locked": false, + "fontSize": 28, + "fontFamily": 1, + "text": "successful launch of an \nOpt In chain", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "successful launch of an \nOpt In chain", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "text", + "version": 510, + "versionNonce": 1955709360, + "index": "b0g", + "isDeleted": false, + "id": "4n5NjjKLCJsk7c-7uAWhd", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 60, + "angle": 0, + "x": -50.64974466959666, + "y": 1661.4197256905686, + "strokeColor": "#1e1e1e", + "backgroundColor": "#b2f2bb", + "width": 263.73187255859375, + "height": 70, + "seed": 1223292336, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1721980676778, + "link": null, + "locked": false, + "fontSize": 28, + "fontFamily": 1, + "text": "failed launch of a \nTop N chain", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "failed launch of a \nTop N chain", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "text", + "version": 577, + "versionNonce": 2112613712, + "index": "b0h", + "isDeleted": false, + "id": "vr9GdN-bw_UUQefiVts9a", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 60, + "angle": 0, + "x": -83.6536966959635, + "y": 2032.7738923572358, + "strokeColor": "#1e1e1e", + "backgroundColor": "#b2f2bb", + "width": 328.5238952636719, + "height": 70, + "seed": 1698232144, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1721980468104, + "link": null, + "locked": false, + "fontSize": 28, + "fontFamily": 1, + "text": "successful launch of a \nTop N chain", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "successful launch of a \nTop N chain", + "autoResize": true, + "lineHeight": 1.25 + } + ], + "appState": { + "gridSize": null, + "viewBackgroundColor": "#ffffff" + }, + "files": {} +} \ No newline at end of file diff --git a/docs/docs/adrs/adr18_flows_of_launching_a_consumer_chain.png b/docs/docs/adrs/adr18_flows_of_launching_a_consumer_chain.png new file mode 100644 index 0000000000..72dffb2d67 Binary files /dev/null and b/docs/docs/adrs/adr18_flows_of_launching_a_consumer_chain.png differ diff --git a/docs/docs/adrs/adr18_phases_of_a_consumer_chain.excalidraw b/docs/docs/adrs/adr18_phases_of_a_consumer_chain.excalidraw new file mode 100644 index 0000000000..4c4802ae69 --- /dev/null +++ b/docs/docs/adrs/adr18_phases_of_a_consumer_chain.excalidraw @@ -0,0 +1,3404 @@ +{ + "type": "excalidraw", + "version": 2, + "source": "https://excalidraw.com", + "elements": [ + { + "type": "ellipse", + "version": 432, + "versionNonce": 656013628, + "index": "a1", + "isDeleted": false, + "id": "SI0HtgaAMGQsMr1Y7bXrA", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 512.4765625, + "y": 248.29980468749991, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 143.13281250000014, + "height": 137.65234375000014, + "seed": 1039402003, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [ + { + "type": "text", + "id": "A97toxLGgigcGTMSLzFRE" + }, + { + "id": "zeENeKW4p1ce_DWzf-29f", + "type": "arrow" + }, + { + "id": "qIMMSItT6zGcYO5ZUPcar", + "type": "arrow" + } + ], + "updated": 1721898441262, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 772, + "versionNonce": 276787644, + "index": "a1V", + "isDeleted": false, + "id": "A97toxLGgigcGTMSLzFRE", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 547.7299002905518, + "y": 306.9585237065766, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 72.41595458984375, + "height": 20, + "seed": 262978077, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1721898441262, + "link": null, + "locked": false, + "fontSize": 16, + "fontFamily": 1, + "text": "initialized", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "SI0HtgaAMGQsMr1Y7bXrA", + "originalText": "initialized", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "ellipse", + "version": 225, + "versionNonce": 1063465660, + "index": "a2", + "isDeleted": false, + "id": "y5DOCeanki7NLMac-YZU_", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 963.30078125, + "y": 252.48730468749994, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 113.27734375, + "height": 113.27734375, + "seed": 303821331, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [ + { + "id": "zeENeKW4p1ce_DWzf-29f", + "type": "arrow" + }, + { + "type": "text", + "id": "_lR4nCPdco_VXP-hHHxFx" + }, + { + "id": "hoUATc742qsSXGtb3zXhk", + "type": "arrow" + }, + { + "id": "6m4pEWBrlMrOpXdR2qMdd", + "type": "arrow" + } + ], + "updated": 1721898441262, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 69, + "versionNonce": 241531708, + "index": "a2G", + "isDeleted": false, + "id": "_lR4nCPdco_VXP-hHHxFx", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 987.2738821091236, + "y": 299.07638760228764, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 65.23196411132812, + "height": 20, + "seed": 2116710579, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1721898441262, + "link": null, + "locked": false, + "fontSize": 16, + "fontFamily": 1, + "text": "launched", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "y5DOCeanki7NLMac-YZU_", + "originalText": "launched", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "text", + "version": 818, + "versionNonce": 352917936, + "index": "a4", + "isDeleted": false, + "id": "-Ezkh_kc6H-iZ8_N1SUwz", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 728.4853515625, + "y": 18.888671874999943, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 462.22369116544724, + "height": 40, + "seed": 176740147, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [ + { + "id": "JQNfOufG1Sc3Ln1iHc6v8", + "type": "arrow" + } + ], + "updated": 1721977797787, + "link": null, + "locked": false, + "fontSize": 16, + "fontFamily": 1, + "text": "proposal with MsgInitializeConsumer & MsgUpdateConsumer\nto start a Top N chain", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "proposal with MsgInitializeConsumer & MsgUpdateConsumer\nto start a Top N chain", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "arrow", + "version": 3380, + "versionNonce": 1334694320, + "index": "a5", + "isDeleted": false, + "id": "JQNfOufG1Sc3Ln1iHc6v8", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 863.2801567822762, + "y": 66.26969410176584, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 208.7131111905685, + "height": 55.219229040456455, + "seed": 428750077, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1721977807991, + "link": null, + "locked": false, + "startBinding": { + "elementId": "-Ezkh_kc6H-iZ8_N1SUwz", + "focus": 0.14349370214591656, + "gap": 7.381022226765893 + }, + "endBinding": { + "elementId": "_VXIQppCSNb6MIFQLmDdy", + "focus": 0.1824872496377905, + "gap": 2.2713741813428783 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + -106.6058242763097, + 51.06445336557442 + ], + [ + -208.7131111905685, + 55.219229040456455 + ] + ] + }, + { + "type": "text", + "version": 1068, + "versionNonce": 1922126672, + "index": "a6", + "isDeleted": false, + "id": "9NwhWEx9olM4fARFt5hZe", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 189.74827575683594, + "y": -17.066406250000057, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 308.01581835746765, + "height": 80, + "seed": 304812115, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [ + { + "id": "NAUT1CeeaW6ntAtOKbXGS", + "type": "arrow" + } + ], + "updated": 1721977650326, + "link": null, + "locked": false, + "fontSize": 16, + "fontFamily": 1, + "text": "tx to register\nan Opt In or Top N consumer chain\n(MsgRegisterConsumer)\nowner = signer of MsgRegisterConsumer", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "tx to register\nan Opt In or Top N consumer chain\n(MsgRegisterConsumer)\nowner = signer of MsgRegisterConsumer", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "arrow", + "version": 331, + "versionNonce": 1834637060, + "index": "a7", + "isDeleted": false, + "id": "zeENeKW4p1ce_DWzf-29f", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 663.2551165518071, + "y": 319.75738423211857, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 299.31331302963645, + "height": 5.083241028410356, + "seed": 783684445, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1721898441294, + "link": null, + "locked": false, + "startBinding": { + "elementId": "9VJjnsFNvss8g8B_wchEr", + "focus": -1.1953607235764194, + "gap": 6.181092330381375 + }, + "endBinding": { + "elementId": "y5DOCeanki7NLMac-YZU_", + "focus": -0.08074296871041202, + "gap": 1.0000000000000995 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 299.31331302963645, + -5.083241028410356 + ] + ] + }, + { + "type": "text", + "version": 418, + "versionNonce": 1250834364, + "index": "a8", + "isDeleted": false, + "id": "9VJjnsFNvss8g8B_wchEr", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 669.0216369628906, + "y": 325.93847656249994, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 252.0958709716797, + "height": 60, + "seed": 1053753011, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [ + { + "id": "zeENeKW4p1ce_DWzf-29f", + "type": "arrow" + } + ], + "updated": 1721898441262, + "link": null, + "locked": false, + "fontSize": 16, + "fontFamily": 1, + "text": "chain's spawnTime passed\nAND\nat least one validator opted in", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "chain's spawnTime passed\nAND\nat least one validator opted in", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "text", + "version": 417, + "versionNonce": 7026096, + "index": "aF", + "isDeleted": false, + "id": "FgsFB8OrGtx1-nlYRY0Uz", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1100.889877319336, + "y": 155.14941406249994, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 229.75984984636307, + "height": 40, + "seed": 51301117, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [ + { + "id": "hoUATc742qsSXGtb3zXhk", + "type": "arrow" + } + ], + "updated": 1721979486389, + "link": null, + "locked": false, + "fontSize": 16, + "fontFamily": 1, + "text": "MsgUpdateConsumer for both\nTop N and Opt In chains", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "MsgUpdateConsumer for both\nTop N and Opt In chains", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "arrow", + "version": 936, + "versionNonce": 1806394884, + "index": "aG", + "isDeleted": false, + "id": "hoUATc742qsSXGtb3zXhk", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1043.1909748738744, + "y": 254.20084659464027, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 81.51926732005495, + "height": 77.65472732322138, + "seed": 684481907, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1721898441295, + "link": null, + "locked": false, + "startBinding": { + "elementId": "y5DOCeanki7NLMac-YZU_", + "focus": -0.6276577497929622, + "gap": 3.005298194275724 + }, + "endBinding": { + "elementId": "y5DOCeanki7NLMac-YZU_", + "focus": 0.6500438788511836, + "gap": 6.714013400352123 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 81.51926732005495, + -47.95974594543503 + ], + [ + 34.8604592337133, + 29.69498137778635 + ] + ] + }, + { + "type": "ellipse", + "version": 356, + "versionNonce": 411466172, + "index": "aK", + "isDeleted": false, + "id": "U2EhanfFFSg1GNh4uQ9Xo", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 973.2587890625, + "y": 528.0859375, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 113.27734375, + "height": 113.27734375, + "seed": 420095965, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [ + { + "type": "text", + "id": "RfEXevpkB5rowEFa4mHDD" + }, + { + "id": "6m4pEWBrlMrOpXdR2qMdd", + "type": "arrow" + } + ], + "updated": 1721898441262, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 209, + "versionNonce": 294117948, + "index": "aL", + "isDeleted": false, + "id": "RfEXevpkB5rowEFa4mHDD", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 999.7359029831471, + "y": 574.6750204147877, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 60.22393798828125, + "height": 20, + "seed": 1217602621, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1721898441262, + "link": null, + "locked": false, + "fontSize": 16, + "fontFamily": 1, + "text": "stopped", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "U2EhanfFFSg1GNh4uQ9Xo", + "originalText": "stopped", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "arrow", + "version": 518, + "versionNonce": 1178907908, + "index": "aM", + "isDeleted": false, + "id": "6m4pEWBrlMrOpXdR2qMdd", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1027.530607098985, + "y": 367.313746063125, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 1.0811756614666592, + "height": 152.58658700381386, + "seed": 354868061, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1721898441295, + "link": null, + "locked": false, + "startBinding": { + "elementId": "y5DOCeanki7NLMac-YZU_", + "focus": -0.1267451224869414, + "gap": 2.042177966448442 + }, + "endBinding": { + "elementId": "U2EhanfFFSg1GNh4uQ9Xo", + "focus": -0.014589591451189068, + "gap": 8.198352788681127 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 1.0811756614666592, + 152.58658700381386 + ] + ] + }, + { + "type": "ellipse", + "version": 1043, + "versionNonce": 1743463856, + "index": "aP", + "isDeleted": false, + "id": "_VXIQppCSNb6MIFQLmDdy", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 527.1933593750001, + "y": 49.049845487915945, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 125.71093750000004, + "height": 126.94419050538774, + "seed": 1424716579, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [ + { + "type": "text", + "id": "ND9wpVssAkaXAtA1CWR-j" + }, + { + "id": "qIMMSItT6zGcYO5ZUPcar", + "type": "arrow" + }, + { + "id": "JQNfOufG1Sc3Ln1iHc6v8", + "type": "arrow" + }, + { + "id": "NAUT1CeeaW6ntAtOKbXGS", + "type": "arrow" + }, + { + "id": "SP-m3QTzlcLoU-_bmfZeN", + "type": "arrow" + } + ], + "updated": 1721977737205, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 1438, + "versionNonce": 303490108, + "index": "aQ", + "isDeleted": false, + "id": "ND9wpVssAkaXAtA1CWR-j", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 550.919332346884, + "y": 102.6403917713115, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 78.36793518066406, + "height": 20, + "seed": 704059075, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1721898441262, + "link": null, + "locked": false, + "fontSize": 16, + "fontFamily": 1, + "text": "registered", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "_VXIQppCSNb6MIFQLmDdy", + "originalText": "registered", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "arrow", + "version": 2498, + "versionNonce": 1811695536, + "index": "aR", + "isDeleted": false, + "id": "qIMMSItT6zGcYO5ZUPcar", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 598.616944950635, + "y": 175.68190954353736, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 95.2174182195338, + "height": 71.14063431860131, + "seed": 711212803, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1721977823250, + "link": null, + "locked": false, + "startBinding": { + "elementId": "_VXIQppCSNb6MIFQLmDdy", + "focus": 0.7831196417981204, + "gap": 1 + }, + "endBinding": { + "elementId": "SI0HtgaAMGQsMr1Y7bXrA", + "focus": -0.9808503194655256, + "gap": 2.5866858268130386 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 93.66378808277591, + 56.75434794509022 + ], + [ + -1.5536301367578846, + 71.14063431860131 + ] + ] + }, + { + "type": "text", + "version": 894, + "versionNonce": 1163437392, + "index": "aS", + "isDeleted": false, + "id": "tONaGSodwA-i1Tr_ZvpZf", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 703.2325744628906, + "y": 211.6659109933036, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 63.951934814453125, + "height": 40, + "seed": 1173975117, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1721977821204, + "link": null, + "locked": false, + "fontSize": 16, + "fontFamily": 1, + "text": "proposal\npasses", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "proposal\npasses", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "arrow", + "version": 2698, + "versionNonce": 1501320528, + "index": "aW", + "isDeleted": false, + "id": "NAUT1CeeaW6ntAtOKbXGS", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 295.2339916085824, + "y": 72.54770775067982, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 219.9931787394372, + "height": 44.86816430307441, + "seed": 713565901, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1721977650641, + "link": null, + "locked": false, + "startBinding": { + "elementId": "9NwhWEx9olM4fARFt5hZe", + "focus": 0.5220455825778929, + "gap": 9.614114000679876 + }, + "endBinding": { + "elementId": "_VXIQppCSNb6MIFQLmDdy", + "focus": -0.040896091175469475, + "gap": 12.037638560264035 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 49.778852818030145, + 44.86816430307441 + ], + [ + 219.9931787394372, + 43.27181702781314 + ] + ] + }, + { + "type": "arrow", + "version": 2638, + "versionNonce": 2034843580, + "index": "aX", + "isDeleted": false, + "id": "QJHjyYDxam9jq3ifrE6rE", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 553.4126684100163, + "y": 172.7898695168439, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 88.24899059693328, + "height": 80.70767694042144, + "seed": 901908284, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1721898441262, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + -87.03045455607186, + 30.651422159720436 + ], + [ + 1.218536040861423, + 80.70767694042144 + ] + ] + }, + { + "type": "text", + "version": 954, + "versionNonce": 1840703408, + "index": "aY", + "isDeleted": false, + "id": "OSTXsQ9rLudhM8FpW1Tmi", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 237.52793884277344, + "y": 181.43050856817348, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 220.76788437366486, + "height": 60, + "seed": 1590512260, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1721981417956, + "link": null, + "locked": false, + "fontSize": 16, + "fontFamily": 1, + "text": "tx to initialize a registered\nOpt In chain\n(MsgInitializeConsumer)", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "tx to initialize a registered\nOpt In chain\n(MsgInitializeConsumer)", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "text", + "version": 618, + "versionNonce": 1408338864, + "index": "aZ", + "isDeleted": false, + "id": "YfLjGiz8pwcgaeYLbqk17", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1046.5860595703125, + "y": 407.42009190150674, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 198.86389088630676, + "height": 40, + "seed": 200186756, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1721977871422, + "link": null, + "locked": false, + "fontSize": 16, + "fontFamily": 1, + "text": "MsgRemoveConsumer for\nTop N and Opt In chains", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "MsgRemoveConsumer for\nTop N and Opt In chains", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "text", + "version": 1258, + "versionNonce": 1493934000, + "index": "aa", + "isDeleted": false, + "id": "NssF2iYfl_Bnw_ExbSTN9", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 5.903783783236146, + "x": 738.4366388875179, + "y": 102.0454511378703, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 188.03873574733734, + "height": 38.94856770833333, + "seed": 1513132976, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1721979493173, + "link": null, + "locked": false, + "fontSize": 15.579427083333332, + "fontFamily": 1, + "text": "If proposal submitted,\nthen owner = gov module", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "If proposal submitted,\nthen owner = gov module", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "arrow", + "version": 3860, + "versionNonce": 1375313744, + "index": "ab", + "isDeleted": false, + "id": "SP-m3QTzlcLoU-_bmfZeN", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 542.8449540584817, + "y": 65.3169816199927, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 107.2195285426966, + "height": 95.35691573040356, + "seed": 1371342672, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1721979518514, + "link": null, + "locked": false, + "startBinding": { + "elementId": "_VXIQppCSNb6MIFQLmDdy", + "focus": -1.0544694371314034, + "gap": 3.5954323396749857 + }, + "endBinding": { + "elementId": "_VXIQppCSNb6MIFQLmDdy", + "focus": 0.31663537700287836, + "gap": 1.9911615284421913 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 107.2195285426966, + -95.35691573040356 + ], + [ + 82.94381595386449, + -7.418196168042471 + ] + ] + }, + { + "type": "text", + "version": 1314, + "versionNonce": 863552848, + "index": "ac", + "isDeleted": false, + "id": "apwBA2F8OsZLAT7p6l1JS", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 609.4229227304459, + "y": -79.25318690708701, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 569.839707493782, + "height": 40, + "seed": 1979332528, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1721979490056, + "link": null, + "locked": false, + "fontSize": 16, + "fontFamily": 1, + "text": "If proposal fails,\nthen owner = previous owner (the one that signed MsgRegisterConsumer)", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "If proposal fails,\nthen owner = previous owner (the one that signed MsgRegisterConsumer)", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "pwlxDMNk9SimSRoZRuyV3", + "type": "line", + "x": 256.2591145833333, + "y": 1317.2654695056733, + "width": 1658.3805338541667, + "height": 0.078125, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "ae", + "roundness": { + "type": 2 + }, + "seed": 1129032624, + "version": 772, + "versionNonce": 266696112, + "isDeleted": false, + "boundElements": null, + "updated": 1721980422671, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 1658.3805338541667, + 0.078125 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": null + }, + { + "id": "-xwyxjAJM89xAkUi-pWLB", + "type": "line", + "x": 269.35481770833337, + "y": 1261.0252351306735, + "width": 0, + "height": 124.8681640625, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "af", + "roundness": { + "type": 2 + }, + "seed": 659246416, + "version": 379, + "versionNonce": 957038512, + "isDeleted": false, + "boundElements": null, + "updated": 1721980422671, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 124.8681640625 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": null + }, + { + "type": "line", + "version": 552, + "versionNonce": 250071472, + "index": "ag", + "isDeleted": false, + "id": "AFDJ07skaLW7VCALYMDj4", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 760.7334914470289, + "y": 1257.3100290018028, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 0, + "height": 124.8681640625, + "seed": 1945500592, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1721980422671, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 124.8681640625 + ] + ] + }, + { + "type": "line", + "version": 835, + "versionNonce": 1285755824, + "index": "ah", + "isDeleted": false, + "id": "hDPzA0-vpS0ilSkphkeAA", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1002.3254193314633, + "y": 1269.644565149432, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 0, + "height": 124.8681640625, + "seed": 1257497936, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1721980422671, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 124.8681640625 + ] + ] + }, + { + "id": "5RtUeYj4dxxweAu88pxEc", + "type": "arrow", + "x": 1824.390625, + "y": 1297.1385163806735, + "width": 88.623046875, + "height": 0, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "ai", + "roundness": { + "type": 2 + }, + "seed": 557184848, + "version": 627, + "versionNonce": 140844464, + "isDeleted": false, + "boundElements": null, + "updated": 1721980422671, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 88.623046875, + 0 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": "arrow" + }, + { + "id": "TCPMJfrcd92gSR4Q6cE6S", + "type": "text", + "x": 1845.7822265625, + "y": 1273.2810945056735, + "width": 40.63996636867523, + "height": 25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "aj", + "roundness": null, + "seed": 1234376112, + "version": 694, + "versionNonce": 1398138800, + "isDeleted": false, + "boundElements": null, + "updated": 1721980422671, + "link": null, + "locked": false, + "text": "time", + "fontSize": 20, + "fontFamily": 1, + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "time", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "cJmAKusziodsDR6vwTHJd", + "type": "text", + "x": 213.76562500000006, + "y": 1198.4617585681735, + "width": 227.99981439113617, + "height": 50, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "ak", + "roundness": null, + "seed": 844025168, + "version": 653, + "versionNonce": 1503490480, + "isDeleted": false, + "boundElements": null, + "updated": 1721980422671, + "link": null, + "locked": false, + "text": "MsgRegisterConsumer\nto get the consumer id", + "fontSize": 20, + "fontFamily": 1, + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "MsgRegisterConsumer\nto get the consumer id", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "text", + "version": 717, + "versionNonce": 40090544, + "index": "al", + "isDeleted": false, + "id": "GastODl-l38mFb5oaAEbj", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 665.4558410644531, + "y": 1198.011929466611, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 210.61980283260345, + "height": 50, + "seed": 44005200, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1721980422671, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "MsgInitializeConsumer\nwith spawnTime, etc.", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "MsgInitializeConsumer\nwith spawnTime, etc.", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "text", + "version": 801, + "versionNonce": 265340336, + "index": "am", + "isDeleted": false, + "id": "kXfBgGvtmnfZCVwG1uG9V", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 935.2071304321289, + "y": 1199.574429466611, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 224.29981744289398, + "height": 50, + "seed": 2087774640, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1721980422671, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "MsgUpdateConsumer\nto set power cap, etc.", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "MsgUpdateConsumer\nto set power cap, etc.", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "text", + "version": 966, + "versionNonce": 1057787824, + "index": "an", + "isDeleted": false, + "id": "E1QM7dtsigeuyGX9zwvE0", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1220.2525985836983, + "y": 1202.250210716611, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 242.3997710943222, + "height": 50, + "seed": 608854864, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1721980422671, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "MsgInitializeConsumer to\nmodify spawnTime", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "MsgInitializeConsumer to\nmodify spawnTime", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "line", + "version": 688, + "versionNonce": 1748965808, + "index": "ao", + "isDeleted": false, + "id": "Wm2pyI04tXykKntCeM85W", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1307.6379193314638, + "y": 1266.2113376103696, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 0, + "height": 124.8681640625, + "seed": 1967873456, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1721980422671, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 124.8681640625 + ] + ] + }, + { + "id": "pfUxn633PL7PLmo5UBP83", + "type": "rectangle", + "x": 273.84472656250006, + "y": 1317.1248851957778, + "width": 480.92285156250006, + "height": 81.1279296875, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#e7f5ff", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 60, + "groupIds": [], + "frameId": null, + "index": "ap", + "roundness": { + "type": 3 + }, + "seed": 394410832, + "version": 657, + "versionNonce": 512779184, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "ZxRHa3OTec0AyDpAifqQw" + } + ], + "updated": 1721980422671, + "link": null, + "locked": false + }, + { + "id": "ZxRHa3OTec0AyDpAifqQw", + "type": "text", + "x": 429.95622801780706, + "y": 1345.1888500395278, + "width": 168.699848651886, + "height": 25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#a5d8ff", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 60, + "groupIds": [], + "frameId": null, + "index": "aq", + "roundness": null, + "seed": 1250610096, + "version": 421, + "versionNonce": 1344826800, + "isDeleted": false, + "boundElements": null, + "updated": 1721980422671, + "link": null, + "locked": false, + "text": "Registered phase", + "fontSize": 20, + "fontFamily": 1, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "pfUxn633PL7PLmo5UBP83", + "originalText": "Registered phase", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "rectangle", + "version": 1004, + "versionNonce": 1714370480, + "index": "ar", + "isDeleted": false, + "id": "uVblxWqL6Msu5umb9eTvZ", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 60, + "angle": 0, + "x": 758.35302734375, + "y": 1318.302456810361, + "strokeColor": "#1e1e1e", + "backgroundColor": "#ffec99", + "width": 660.1660156250001, + "height": 81.1279296875, + "seed": 229232464, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "type": "text", + "id": "s-LIv7Mo1IvDb89Gr0uSQ" + } + ], + "updated": 1721980422671, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 782, + "versionNonce": 1691140528, + "index": "as", + "isDeleted": false, + "id": "s-LIv7Mo1IvDb89Gr0uSQ", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 60, + "angle": 0, + "x": 1007.056105658412, + "y": 1346.366421654111, + "strokeColor": "#1e1e1e", + "backgroundColor": "#a5d8ff", + "width": 162.75985899567604, + "height": 25, + "seed": 1548969296, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1721980422671, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "Initialized phase", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "uVblxWqL6Msu5umb9eTvZ", + "originalText": "Initialized phase", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "line", + "version": 863, + "versionNonce": 2067805008, + "index": "at", + "isDeleted": false, + "id": "zXqjQ2rE_UbSjEHOyMDw3", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1422.1748893529827, + "y": 1318.9168052711786, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 0, + "height": 124.8681640625, + "seed": 618764720, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1721980681550, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 124.8681640625 + ] + ] + }, + { + "type": "text", + "version": 1091, + "versionNonce": 1936463280, + "index": "au", + "isDeleted": false, + "id": "aVp4yECj00-fGLMn7sHnD", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1309.797184765339, + "y": 1450.599820091611, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 177.4198455810547, + "height": 75, + "seed": 1447447888, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1721980422672, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "spawnTime passed\nand at least one\nvalidator opted in", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "spawnTime passed\nand at least one\nvalidator opted in", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "text", + "version": 1091, + "versionNonce": 851304368, + "index": "ax", + "isDeleted": false, + "id": "s6qt0UIRPRSbMwetkDFg_", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1609.481927216053, + "y": 1212.733609154111, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 202.41985833644867, + "height": 50, + "seed": 1340941744, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1721980422672, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "MsgUpdateConsumer\nto change power cap", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "MsgUpdateConsumer\nto change power cap", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "line", + "version": 985, + "versionNonce": 2034657712, + "index": "ay", + "isDeleted": false, + "id": "RRDK6Jp-NdnWMWtYGDDli", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1745.1088831870024, + "y": 1272.6322796427069, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 0, + "height": 124.8681640625, + "seed": 154253232, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1721980422672, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 124.8681640625 + ] + ] + }, + { + "type": "rectangle", + "version": 1016, + "versionNonce": 841855920, + "index": "az", + "isDeleted": false, + "id": "4ZMVPnrnF1Dfj8ono67tv", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 60, + "angle": 0, + "x": 1425.8107096354167, + "y": 1320.40939512673, + "strokeColor": "#1e1e1e", + "backgroundColor": "#b2f2bb", + "width": 475.03417968750034, + "height": 79.30663117976157, + "seed": 66445648, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "type": "text", + "id": "KC5zECj3By5dDU8JFhAep" + } + ], + "updated": 1721980422672, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 810, + "versionNonce": 597409200, + "index": "b00", + "isDeleted": false, + "id": "KC5zECj3By5dDU8JFhAep", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 60, + "angle": 0, + "x": 1587.763779918353, + "y": 1347.7777356509237, + "strokeColor": "#1e1e1e", + "backgroundColor": "#a5d8ff", + "width": 151.1280391216278, + "height": 24.569950131374355, + "seed": 323827536, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1721980422672, + "link": null, + "locked": false, + "fontSize": 19.655960105099485, + "fontFamily": 1, + "text": "Launched phase", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "4ZMVPnrnF1Dfj8ono67tv", + "originalText": "Launched phase", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "line", + "version": 771, + "versionNonce": 1263014832, + "index": "b01", + "isDeleted": false, + "id": "7Bq_OzmNwUc0GxjMxTYNY", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 265.25883719345677, + "y": 1666.5525788806733, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 1658.3805338541667, + "height": 0.078125, + "seed": 255347024, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1721980676778, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 1658.3805338541667, + 0.078125 + ] + ] + }, + { + "type": "line", + "version": 400, + "versionNonce": 1785339312, + "index": "b02", + "isDeleted": false, + "id": "OvebgcABs_rLQivf-TBk2", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 278.3545403184568, + "y": 1610.3123445056733, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 0, + "height": 124.8681640625, + "seed": 1510121296, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1721980676778, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 124.8681640625 + ] + ] + }, + { + "type": "line", + "version": 573, + "versionNonce": 750446512, + "index": "b03", + "isDeleted": false, + "id": "4C8GcmxoE4N2CEFpbetdn", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 769.7332140571524, + "y": 1606.5971383768026, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 0, + "height": 124.8681640625, + "seed": 1158821200, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1721980676778, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 124.8681640625 + ] + ] + }, + { + "type": "line", + "version": 856, + "versionNonce": 1046639024, + "index": "b04", + "isDeleted": false, + "id": "nHS8CykAzRlhhatMaNhMu", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1011.3251419415867, + "y": 1618.931674524432, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 0, + "height": 124.8681640625, + "seed": 364841808, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1721980676778, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 124.8681640625 + ] + ] + }, + { + "type": "arrow", + "version": 626, + "versionNonce": 109624240, + "index": "b05", + "isDeleted": false, + "id": "Fs9vTDdorvwlcYw_ubAa_", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1833.3903476101234, + "y": 1646.4256257556733, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 88.623046875, + "height": 0, + "seed": 643899728, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1721980676778, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 88.623046875, + 0 + ] + ] + }, + { + "type": "text", + "version": 715, + "versionNonce": 1196803504, + "index": "b06", + "isDeleted": false, + "id": "l3WpHc1Tm8DmkYOar2yuc", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1854.7819491726234, + "y": 1622.5682038806733, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 40.63996636867523, + "height": 25, + "seed": 1179678544, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1721980676778, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "time", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "time", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "text", + "version": 674, + "versionNonce": 1039241136, + "index": "b07", + "isDeleted": false, + "id": "HVWEVkdCna3gjxJRN-dCZ", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 222.7653476101235, + "y": 1547.7488679431735, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 227.99981439113617, + "height": 50, + "seed": 434441552, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1721980676778, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "MsgRegisterConsumer\nto get the consumer id", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "MsgRegisterConsumer\nto get the consumer id", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "text", + "version": 877, + "versionNonce": 1115953584, + "index": "b08", + "isDeleted": false, + "id": "jpeMZ5SS2jgAqO9FZB17B", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 672.7954074245766, + "y": 1496.999559674944, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 237.25982177257538, + "height": 100, + "seed": 2054611792, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1721980676778, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "issue governance\nproposal with\nMsgInitializeConsumer\nand MsgUpdateconsumer", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "issue governance\nproposal with\nMsgInitializeConsumer\nand MsgUpdateconsumer", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "text", + "version": 907, + "versionNonce": 1748329392, + "index": "b09", + "isDeleted": false, + "id": "zmw1PyM5vZzw3eZp9f19w", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 936.9607592922523, + "y": 1583.112840924944, + "strokeColor": "#e03131", + "backgroundColor": "transparent", + "width": 170.7798352241516, + "height": 25, + "seed": 1448999248, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1721980676778, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "proposal rejected", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "proposal rejected", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "rectangle", + "version": 1152, + "versionNonce": 489516464, + "index": "b0C", + "isDeleted": false, + "id": "ajHAAKi9tSoXcIkv3aA4L", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 60, + "angle": 0, + "x": 277.09965750595677, + "y": 1665.9562654041108, + "strokeColor": "#1e1e1e", + "backgroundColor": "#e7f5ff", + "width": 1646.6975911458337, + "height": 81.1279296875, + "seed": 948091728, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "type": "text", + "id": "2HQsEKAeWiKi5szJa8Io6" + } + ], + "updated": 1721980676778, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 916, + "versionNonce": 1251227568, + "index": "b0D", + "isDeleted": false, + "id": "2HQsEKAeWiKi5szJa8Io6", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 60, + "angle": 0, + "x": 1016.0985287529306, + "y": 1694.0202302478608, + "strokeColor": "#1e1e1e", + "backgroundColor": "#a5d8ff", + "width": 168.699848651886, + "height": 25, + "seed": 355389776, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1721980676778, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "Registered phase", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "ajHAAKi9tSoXcIkv3aA4L", + "originalText": "Registered phase", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "rectangle", + "version": 1323, + "versionNonce": 515241808, + "index": "b0E", + "isDeleted": false, + "id": "o16fHdthOp80uqAN-KkL2", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 60, + "angle": 0, + "x": 1015.8097812038734, + "y": 2025.532274518694, + "strokeColor": "#1e1e1e", + "backgroundColor": "#ffec99", + "width": 415.0227864583335, + "height": 81.1279296875, + "seed": 1877485392, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "type": "text", + "id": "348R4_XQcWAs6CAl4OV_w" + } + ], + "updated": 1721980415621, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 1102, + "versionNonce": 1234865488, + "index": "b0F", + "isDeleted": false, + "id": "348R4_XQcWAs6CAl4OV_w", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 60, + "angle": 0, + "x": 1141.9412449352021, + "y": 2053.596239362444, + "strokeColor": "#1e1e1e", + "backgroundColor": "#a5d8ff", + "width": 162.75985899567604, + "height": 25, + "seed": 352763216, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1721980415621, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "Initialized phase", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "o16fHdthOp80uqAN-KkL2", + "originalText": "Initialized phase", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "line", + "version": 897, + "versionNonce": 394027856, + "index": "b0M", + "isDeleted": false, + "id": "jAITNaSlDtSPpvQwpBfRJ", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 267.98783052464313, + "y": 2020.76074945359, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 1658.3805338541667, + "height": 0.078125, + "seed": 124954448, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1721980415621, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 1658.3805338541667, + 0.078125 + ] + ] + }, + { + "type": "line", + "version": 504, + "versionNonce": 917731664, + "index": "b0N", + "isDeleted": false, + "id": "akYH8jPOSYYHRJ0kHn6SF", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 281.08353364964324, + "y": 1964.52051507859, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 0, + "height": 124.8681640625, + "seed": 1463893328, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1721980415621, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 124.8681640625 + ] + ] + }, + { + "type": "line", + "version": 677, + "versionNonce": 1251462992, + "index": "b0O", + "isDeleted": false, + "id": "Qds67yg8nIFlUKrTZNb8v", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 772.4622073883388, + "y": 1960.8053089497193, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 0, + "height": 124.8681640625, + "seed": 483201872, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1721980415621, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 124.8681640625 + ] + ] + }, + { + "type": "line", + "version": 960, + "versionNonce": 1266771280, + "index": "b0P", + "isDeleted": false, + "id": "jtzT1eH8RZn8QwNepmt_H", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1014.054135272773, + "y": 1973.1398450973488, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 0, + "height": 124.8681640625, + "seed": 778971472, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1721980415621, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 124.8681640625 + ] + ] + }, + { + "type": "arrow", + "version": 752, + "versionNonce": 1724398416, + "index": "b0Q", + "isDeleted": false, + "id": "8lhkFCwtbNTRFlmWeRE4n", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1836.1193409413095, + "y": 2000.63379632859, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 88.623046875, + "height": 0, + "seed": 1467776848, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1721980415621, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 88.623046875, + 0 + ] + ] + }, + { + "type": "text", + "version": 819, + "versionNonce": 1589924176, + "index": "b0R", + "isDeleted": false, + "id": "CsZ965_KJ8mkVhd3JJHe6", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1857.5109425038095, + "y": 1976.77637445359, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 40.63996636867523, + "height": 25, + "seed": 944772432, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1721980415621, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "time", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "time", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "text", + "version": 778, + "versionNonce": 1791862608, + "index": "b0S", + "isDeleted": false, + "id": "VptrXV13wo5wjJkN_HnlZ", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 225.49434094130987, + "y": 1901.9570385160905, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 227.99981439113617, + "height": 50, + "seed": 641788752, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1721980415621, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "MsgRegisterConsumer\nto get the consumer id", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "MsgRegisterConsumer\nto get the consumer id", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "text", + "version": 1003, + "versionNonce": 389823824, + "index": "b0T", + "isDeleted": false, + "id": "i7B5C0pGmcgSuCqx5vRQP", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 675.524400755763, + "y": 1851.207730247861, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 237.25982177257538, + "height": 100, + "seed": 195494224, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1721980415621, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "issue governance\nproposal with\nMsgInitializeConsumer\nand MsgUpdateconsumer", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "issue governance\nproposal with\nMsgInitializeConsumer\nand MsgUpdateconsumer", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "text", + "version": 1017, + "versionNonce": 623782224, + "index": "b0U", + "isDeleted": false, + "id": "KtxOQmQoRm5cuPDQBNvU5", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 939.6897526234386, + "y": 1937.321011497861, + "strokeColor": "#2f9e44", + "backgroundColor": "transparent", + "width": 156.959858417511, + "height": 25, + "seed": 1205491536, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1721980635662, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "proposal passes", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "proposal passes", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "rectangle", + "version": 1270, + "versionNonce": 1806248272, + "index": "b0X", + "isDeleted": false, + "id": "aqECH_oHGd4F7Pq9jBCpa", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 60, + "angle": 0, + "x": 279.82865083714313, + "y": 2020.1644359770276, + "strokeColor": "#1e1e1e", + "backgroundColor": "#e7f5ff", + "width": 731.2353515625001, + "height": 81.1279296875, + "seed": 2041829712, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "type": "text", + "id": "J8GsOJGu4wkpH9e3dq06b" + } + ], + "updated": 1721980415621, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 1034, + "versionNonce": 894926672, + "index": "b0Y", + "isDeleted": false, + "id": "J8GsOJGu4wkpH9e3dq06b", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 60, + "angle": 0, + "x": 561.0964022924502, + "y": 2048.2284008207776, + "strokeColor": "#1e1e1e", + "backgroundColor": "#a5d8ff", + "width": 168.699848651886, + "height": 25, + "seed": 244068176, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1721980415621, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "Registered phase", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "aqECH_oHGd4F7Pq9jBCpa", + "originalText": "Registered phase", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "line", + "version": 991, + "versionNonce": 2012467536, + "index": "b0Z", + "isDeleted": false, + "id": "jepmnNxu-8rBXJjZKYZKQ", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1434.8150636276262, + "y": 2021.9498456357614, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 0, + "height": 124.8681640625, + "seed": 1374274896, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1721980684670, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 124.8681640625 + ] + ] + }, + { + "type": "text", + "version": 1224, + "versionNonce": 550960976, + "index": "b0a", + "isDeleted": false, + "id": "prbzcGXJPRqkOVsHpdbs4", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1320.214702789982, + "y": 2151.3216625395276, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 177.4198455810547, + "height": 75, + "seed": 1092918096, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1721980686051, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "spawnTime passed\nand at least one\nvalidator opted in", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "spawnTime passed\nand at least one\nvalidator opted in", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "text", + "version": 1327, + "versionNonce": 1288511920, + "index": "b0b", + "isDeleted": false, + "id": "4_i6jup_6Cze3xommPSgL", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1494.9671535740297, + "y": 1916.495816185361, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 231.69981133937836, + "height": 50, + "seed": 1855238480, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1721980692762, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "MsgUpdateConsumer\nto change denylist, etc.", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "MsgUpdateConsumer\nto change denylist, etc.", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "line", + "version": 1250, + "versionNonce": 1557995440, + "index": "b0c", + "isDeleted": false, + "id": "G9GGcs9_A9FENDJhK85f5", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1581.264682461645, + "y": 1974.519486673957, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 0, + "height": 124.8681640625, + "seed": 1636960080, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1721980691478, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 124.8681640625 + ] + ] + }, + { + "type": "rectangle", + "version": 1141, + "versionNonce": 1680731472, + "index": "b0d", + "isDeleted": false, + "id": "TuSGExogIwVLdWKpZuLEE", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 60, + "angle": 0, + "x": 1437.5394255767267, + "y": 2023.904675074647, + "strokeColor": "#1e1e1e", + "backgroundColor": "#b2f2bb", + "width": 475.03417968750034, + "height": 79.30663117976157, + "seed": 1987353936, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "type": "text", + "id": "Kha-a5kyL8kweb2LvlPtp" + } + ], + "updated": 1721980415621, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 936, + "versionNonce": 1218691920, + "index": "b0e", + "isDeleted": false, + "id": "Kha-a5kyL8kweb2LvlPtp", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 60, + "angle": 0, + "x": 1599.492495859663, + "y": 2051.2730155988406, + "strokeColor": "#1e1e1e", + "backgroundColor": "#a5d8ff", + "width": 151.1280391216278, + "height": 24.569950131374355, + "seed": 1049916240, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1721980415621, + "link": null, + "locked": false, + "fontSize": 19.655960105099485, + "fontFamily": 1, + "text": "Launched phase", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "TuSGExogIwVLdWKpZuLEE", + "originalText": "Launched phase", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "UyHfZ2VJGqV1pDsuTD9cV", + "type": "text", + "x": -108.94270833333303, + "y": 1338.8350902739019, + "width": 341.5998840332031, + "height": 70, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#b2f2bb", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 60, + "groupIds": [], + "frameId": null, + "index": "b0f", + "roundness": null, + "seed": 723455312, + "version": 408, + "versionNonce": 396094800, + "isDeleted": false, + "boundElements": null, + "updated": 1721981143713, + "link": null, + "locked": false, + "text": "successful launch of an \nOpt In chain", + "fontSize": 28, + "fontFamily": 1, + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "successful launch of an \nOpt In chain", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "text", + "version": 510, + "versionNonce": 1955709360, + "index": "b0g", + "isDeleted": false, + "id": "4n5NjjKLCJsk7c-7uAWhd", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 60, + "angle": 0, + "x": -50.64974466959666, + "y": 1661.4197256905686, + "strokeColor": "#1e1e1e", + "backgroundColor": "#b2f2bb", + "width": 263.73187255859375, + "height": 70, + "seed": 1223292336, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1721980676778, + "link": null, + "locked": false, + "fontSize": 28, + "fontFamily": 1, + "text": "failed launch of a \nTop N chain", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "failed launch of a \nTop N chain", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "text", + "version": 577, + "versionNonce": 2112613712, + "index": "b0h", + "isDeleted": false, + "id": "vr9GdN-bw_UUQefiVts9a", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 60, + "angle": 0, + "x": -83.6536966959635, + "y": 2032.7738923572358, + "strokeColor": "#1e1e1e", + "backgroundColor": "#b2f2bb", + "width": 328.5238952636719, + "height": 70, + "seed": 1698232144, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1721980468104, + "link": null, + "locked": false, + "fontSize": 28, + "fontFamily": 1, + "text": "successful launch of a \nTop N chain", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "successful launch of a \nTop N chain", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "udO72dQy2VH8wQm_dcFbx", + "type": "line", + "x": 290.74479166666686, + "y": 2111.0854564848396, + "width": 156.04817708333314, + "height": 104.58333333333394, + "angle": 0, + "strokeColor": "#e03131", + "backgroundColor": "#b2f2bb", + "fillStyle": "solid", + "strokeWidth": 4, + "strokeStyle": "dashed", + "roughness": 1, + "opacity": 60, + "groupIds": [], + "frameId": null, + "index": "b0l", + "roundness": { + "type": 2 + }, + "seed": 1863593392, + "version": 301, + "versionNonce": 1529007952, + "isDeleted": false, + "boundElements": null, + "updated": 1721981217963, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 156.04817708333314, + 104.58333333333394 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": null + }, + { + "type": "line", + "version": 598, + "versionNonce": 1734852016, + "index": "b0m", + "isDeleted": false, + "id": "zHhFHMZyTd9z3sepnFUy8", + "fillStyle": "solid", + "strokeWidth": 4, + "strokeStyle": "dashed", + "roughness": 1, + "opacity": 60, + "angle": 0, + "x": 1012.4072684983414, + "y": 2107.4292076232887, + "strokeColor": "#e03131", + "backgroundColor": "#b2f2bb", + "width": 205.91796875000023, + "height": 134.21875, + "seed": 1304021840, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1721981220095, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + -205.91796875000023, + 134.21875 + ] + ] + }, + { + "id": "0kk2QokOsQCRZigvw5I2z", + "type": "text", + "x": 460.60807291666663, + "y": 2199.17139398484, + "width": 395.6397705078125, + "height": 140, + "angle": 0, + "strokeColor": "#e03131", + "backgroundColor": "#b2f2bb", + "fillStyle": "solid", + "strokeWidth": 4, + "strokeStyle": "dashed", + "roughness": 1, + "opacity": 60, + "groupIds": [], + "frameId": null, + "index": "b0n", + "roundness": null, + "seed": 1799721904, + "version": 219, + "versionNonce": 205377456, + "isDeleted": false, + "boundElements": null, + "updated": 1721981246158, + "link": null, + "locked": false, + "text": "NO MsgInitializeConsumer\nor MsgUpdateConsumer\nshould be executed as \ntransactions during this time", + "fontSize": 28, + "fontFamily": 5, + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "NO MsgInitializeConsumer\nor MsgUpdateConsumer\nshould be executed as \ntransactions during this time", + "autoResize": true, + "lineHeight": 1.25 + } + ], + "appState": { + "gridSize": null, + "viewBackgroundColor": "#ffffff" + }, + "files": {} +} \ No newline at end of file diff --git a/docs/docs/adrs/adr18_phases_of_a_consumer_chain.png b/docs/docs/adrs/adr18_phases_of_a_consumer_chain.png new file mode 100644 index 0000000000..ce6eb8c451 Binary files /dev/null and b/docs/docs/adrs/adr18_phases_of_a_consumer_chain.png differ