Replies: 3 comments 2 replies
-
@andygolay Yes, I do think it has primarily to do with the genesis change setting parameters which cause core operations to take different branches. I will take a closer look in my early afternoon. |
Beta Was this translation helpful? Give feedback.
-
A clear procedure for how we add new validators with governance proposals should be described. |
Beta Was this translation helpful? Give feedback.
-
I am thinking that while we are in a pre-governance mainnet state, we use this state to run other upgrades, such as adding the GGP modules. Any number of changes can be passed through, before finally doing the last step. Upgrade to be at latest mainnet state (with governance) This way we wont have to battle with governance at the code level until the final change goes through. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
If I'm understanding the requirements correctly, we need to be able to upgrade the framework so it runs as part of a proper mainnet.
Feature Flag Analysis
First, I compared feature flags between Aptos testnet and Aptos mainnet, using the following script:
I found that the only difference was feature flag 85:
ACCOUNT_ABSTRACTION
is enabled on Aptos testnet but not on mainnet.Next, I compared Bardock testnet and Aptos testnet with a similar script.
I found quite a few differences between Bardock and Aptos testnet feature flags:
One thing I don't understand is why Aptos testnet is showing as "true" for eg feature flag 82, which doesn't appear to be listed in
features.move
.GenesisConfiguration
In
aptos-move/vm-genesis/src/lib.rs
there's a structGenesisConfiguration
with fieldis_test
.This is used in the
movement
repo in theexecution
protocol unit'sbootstrap.rs
in the functionencode_genesis_change_set
called ingenesis_change_set_and_validators
, which is called inExecutor::maybe_bootstrap_empty_db
, which is called inExecutor::boostrap
which is called inExecutor::try_from_config
.In https://github.com/movementlabsxyz/movement/blob/main/protocol-units/execution/maptos/framework/releases/README.md?plain=1#L4 we see the following:
So it looks like
encode_genesis_change_set
is the key to the configuration setup.Next step: dig into how
encode_genesis_change_set
is used in the genesis transaction. It looks likeis_test: true,
is currently hard coded in, and we have a todo to get the config from somewhere:Beta Was this translation helpful? Give feedback.
All reactions