You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -51,12 +51,9 @@ The feature comparission between MVT Network and Aptos Network gives these featu
51
51
### 4 APTOS_STD_CHAIN_ID_NATIVES
52
52
Activate this function `native public fun get(): u8;` which allow to access the chain Id inside Move code.
53
53
54
-
Enable in Movement network and disable in Aptos. Value after migration ?
55
-
56
54
### 6 PERIODICAL_REWARD_RATE_DECREASE
57
55
Enables scheduled reductions in validator/staker reward rates over epochs.
58
56
59
-
Disable in Movement network and enable in Aptos. Value after migration ?
60
57
### 17 PARTIAL_GOVERNANCE_VOTING
61
58
Changes how governance proposals are resolved when not all validators vote
62
59
@@ -68,8 +65,6 @@ When this feature is enabled:
68
65
- The proposal outcome only considers the validators who actually voted.
69
66
- Abstention is no longer equivalent to a "no" vote.
70
67
71
-
Disable in Movement network and enable in Aptos. Value after migration ?
72
-
73
68
### 21 DELEGATION_POOL_PARTIAL_GOVERNANCE_VOTING
74
69
Allows partial vote counting for delegated stake within validator delegation pools
75
70
@@ -83,9 +78,6 @@ With this feature enabled:
83
78
84
79
Without this feature, if a validator has 100 delegated tokens but only 30 are used to vote, the system assumes the other 70 abstained — and still counts them against quorum or majority thresholds
85
80
86
-
Disable in Movement network and enable in Aptos. Value after migration ?
87
-
88
-
89
81
### 64 NEW_ACCOUNTS_DEFAULT_TO_FA_APT_STORE
90
82
Changes the default storage model for APT coins in new accounts.
91
83
When NEW_ACCOUNTS_DEFAULT_TO_FA_APT_STORE is enabled:
@@ -101,8 +93,6 @@ Without this feature :
101
93
- Less concurrency for transfers
102
94
- Less optimized for high-throughput workloads
103
95
104
-
Disable in Movement network and enable in Aptos. Value after migration ?
105
-
106
96
### 67 CONCURRENT_FUNGIBLE_BALANCE
107
97
Enables a new implementation of CoinStore optimized for concurrency and performance
108
98
@@ -113,13 +103,10 @@ When CONCURRENT_FUNGIBLE_BALANCE is enabled, Aptos switches the underlying CoinS
113
103
- Reduced gas costs for coin transfers
114
104
- Concurrent writes to many CoinStores
115
105
116
-
Enable in Movement network and disable in Aptos. Value after migration ?
117
-
118
106
### 71 DISALLOW_USER_NATIVES
119
107
`DISALLOW_USER_NATIVES` is a VM feature flag that forbids non-framework modules from defining Move “native” items (i.e., native fun and native struct).
120
108
When this flag is enabled, the Aptos VM will reject publishing or upgrading any module that contains user-defined natives unless it belongs to the core code addresses (e.g., 0x1 AptosFramework / AptosStd / MoveStdlib).
121
109
122
-
Disable in Movement network and enable in Aptos. Value after migration ?
123
110
124
111
### 72 ALLOW_SERIALIZED_SCRIPT_ARGS
125
112
The Aptos feature flag ALLOW_SERIALIZED_SCRIPT_ARGS controls whether Move script/function arguments can be passed in serialized (BCS) form instead of structured command-line input.
@@ -129,17 +116,17 @@ Use Cases
129
116
- Cross-language SDKs: Rust, Python, JavaScript SDKs can encode arguments once and submit them to the chain without decoding
130
117
- Batch transactions or replay systems can record + replay exact inputs
131
118
132
-
Disable in Movement network and enable in Aptos. Value after migration ?
133
-
134
119
### 74 ENABLE_ENUM_TYPES
135
120
Enables the enum type system in Move (akin to Rust-style enums or sum types)
136
121
137
-
Disable in Movement network and enable in Aptos. Value after migration ?
138
-
139
122
### 76 REJECT_UNSTABLE_BYTECODE_FOR_SCRIPT
140
123
Prevent scripts from using unstable VM bytecodes (e.g., Move 2 experimental opcodes).
141
124
142
-
Disable in Movement network and enable in Aptos. Value after migration ?
125
+
### 74 ENABLE_ENUM_TYPES
126
+
Enables the enum type system in Move (akin to Rust-style enums or sum types)
127
+
128
+
### 76 REJECT_UNSTABLE_BYTECODE_FOR_SCRIPT
129
+
Prevent scripts from using unstable VM bytecodes (e.g., Move 2 experimental opcodes).
143
130
144
131
### 77 FEDERATED_KEYLESS
145
132
Enables federated (off-chain) authentication and signing for special keyless Aptos accounts
@@ -149,16 +136,12 @@ Keyless accounts:
149
136
- Instead, rely on off-chain verifiable authentication protocols (e.g., WebAuthn, federated ID systems)
150
137
- Authentication and signature checks are delegated to a federated service (trusted by the network)
151
138
152
-
Disable in Movement network and enable in Aptos. Value after migration ?
153
-
154
139
### 78 TRANSACTION_SIMULATION_ENHANCEMENT
155
140
Improves consistency, safety, and reliability of transaction simulations
156
141
157
142
### 79 COLLECTION_OWNER
158
143
Enables collection ownership logic for NFTs (Token v2), giving collection creators ownership rights and management capabilities
159
144
160
-
Disable in Movement network and enable in Aptos. Value after migration ?
161
-
162
145
### 80 NATIVE_MEMORY_OPERATIONS
163
146
Enables native (Rust-implemented) Move functions for low-level memory access or manipulation.
164
147
It enable these functions:
@@ -167,8 +150,17 @@ It enable these functions:
167
150
native public fun memcpy(dst: &mut vector<u8>, src: &vector<u8>, len: u64);
168
151
native public fun memcmp(a: &vector<u8>, b: &vector<u8>): bool;
169
152
```
153
+
### ENABLE_LOADER_V2
154
+
Activates Loader v2, a new Move module loading engine with improved design and performance
170
155
171
-
Disable in Movement network and enable in Aptos. Value after migration ?
156
+
### 82 DISALLOW_INIT_MODULE_TO_PUBLISH_MODULES
157
+
Prevent modules from calling move_to or publish_module during their own initialization (init_module)
158
+
159
+
### 90 NEW_ACCOUNTS_DEFAULT_TO_FA_STORE
160
+
Makes all newly created accounts default to using FA (aggregator-based) CoinStores for any fungible token, not just APT
161
+
162
+
### 91 DEFAULT_ACCOUNT_RESOURCE
163
+
Enables the use of the new DefaultAccount resource layout for newly created accounts
172
164
173
165
### ENABLE_LOADER_V2
174
166
Activates Loader v2, a new Move module loading engine with improved design and performance
@@ -193,12 +185,9 @@ Disable in Movement network and enable in Aptos. Value after migration ?
193
185
### GOVERNED_GAS_POOL
194
186
Movement feature removed.
195
187
196
-
## Proposition
197
-
From my understanding of the feature I propose theses changes:
198
-
199
-
### Features that can be enable without risk
188
+
### Features that can be enabled without risk
200
189
201
-
CONCURRENT_FUNGIBLE_BALANCE
190
+
[ x ]CONCURRENT_FUNGIBLE_BALANCE
202
191
ALLOW_SERIALIZED_SCRIPT_ARGS
203
192
REJECT_UNSTABLE_BYTECODE_FOR_SCRIPT
204
193
TRANSACTION_SIMULATION_ENHANCEMENT
@@ -208,22 +197,5 @@ ENABLE_LOADER_V2
208
197
DISALLOW_INIT_MODULE_TO_PUBLISH_MODULES
209
198
DISALLOW_USER_NATIVES
210
199
211
-
### Features that can be disable without risk
212
-
None
213
-
214
-
### Feature that can cause an issue where we need to decide.
215
-
These feature can change the current movement network behavior is their state is changed.
216
-
217
-
APTOS_STD_CHAIN_ID_NATIVES: Disable in Aptos, some of our deployed smart contract can use it so it would break their execution.
218
-
219
-
PERIODICAL_REWARD_RATE_DECREASE: Depend on how we reward validators.
220
-
221
-
PARTIAL_GOVERNANCE_VOTING and DELEGATION_POOL_PARTIAL_GOVERNANCE_VOTING depends on own the new network governance should work.
222
-
223
-
NEW_ACCOUNTS_DEFAULT_TO_FA_APT_STORE: change how new account are created. Perhaps, it can create some incompatibilities with the current deployed smart contract.
224
-
225
-
ENABLE_ENUM_TYPES: I think it's related to move2 that won't be activated during the migration but after.
226
200
227
-
FEDERATED_KEYLESS: It's a new feature, do we support it?
228
201
229
-
NEW_ACCOUNTS_DEFAULT_TO_FA_STORE and DEFAULT_ACCOUNT_RESOURCE: change how account are created, it can affect existing application.
// Note: when testing into the future, you may have to use a different revision of [aptos_types] in this crate's Cargo.toml
58
-
// Or, I suppose you can keep and GOVERNED_GAS_POOL feature flag and a GOVERNED_GAS_POOL_V2 feature flag and just make sure you're disabling the former and enabling the latter. Thereafter, it won't matter what happens to the GOVERNED_GAS_POOL feature flag, i.e., it can be replaced.
0 commit comments