@@ -86,8 +86,17 @@ pub enum FeatureFlag {
86
86
DEFAULT_TO_CONCURRENT_FUNGIBLE_BALANCE = 68 ,
87
87
LIMIT_VM_TYPE_SIZE = 69 ,
88
88
ABORT_IF_MULTISIG_PAYLOAD_MISMATCH = 70 ,
89
+ ALLOW_SERIALIZED_SCRIPT_ARGS = 72 ,
89
90
GOVERNED_GAS_POOL = 73 ,
91
+ ENABLE_ENUM_TYPES = 74 ,
92
+ FEDERATED_KEYLESS = 77 ,
93
+ TRANSACTION_SIMULATION_ENHANCEMENT = 78 ,
94
+ COLLECTION_OWNER = 79 ,
90
95
DECOMMISSION_CORE_RESOURCES = 222 ,
96
+ /// covers mem::swap and vector::move_range
97
+ /// AIP-105 (https://github.com/aptos-foundation/AIPs/blob/main/aips/aip-105.md)
98
+ NATIVE_MEMORY_OPERATIONS = 80 ,
99
+ ACCOUNT_ABSTRACTION = 85 ,
91
100
}
92
101
93
102
impl FeatureFlag {
@@ -98,6 +107,7 @@ impl FeatureFlag {
98
107
FeatureFlag :: SHA_512_AND_RIPEMD_160_NATIVES ,
99
108
FeatureFlag :: APTOS_STD_CHAIN_ID_NATIVES ,
100
109
FeatureFlag :: VM_BINARY_FORMAT_V6 ,
110
+ FeatureFlag :: VM_BINARY_FORMAT_V7 ,
101
111
FeatureFlag :: MULTI_ED25519_PK_VALIDATE_V2_NATIVES ,
102
112
FeatureFlag :: BLAKE2B_256_NATIVE ,
103
113
FeatureFlag :: RESOURCE_GROUPS ,
@@ -107,9 +117,12 @@ impl FeatureFlag {
107
117
FeatureFlag :: BLS12_381_STRUCTURES ,
108
118
FeatureFlag :: ED25519_PUBKEY_VALIDATE_RETURN_FALSE_WRONG_LENGTH ,
109
119
FeatureFlag :: STRUCT_CONSTRUCTORS ,
120
+ FeatureFlag :: PERIODICAL_REWARD_RATE_DECREASE ,
121
+ FeatureFlag :: PARTIAL_GOVERNANCE_VOTING ,
110
122
FeatureFlag :: SIGNATURE_CHECKER_V2 ,
111
123
FeatureFlag :: STORAGE_SLOT_METADATA ,
112
124
FeatureFlag :: CHARGE_INVARIANT_VIOLATION ,
125
+ FeatureFlag :: DELEGATION_POOL_PARTIAL_GOVERNANCE_VOTING ,
113
126
FeatureFlag :: APTOS_UNIQUE_IDENTIFIERS ,
114
127
FeatureFlag :: GAS_PAYER_ENABLED ,
115
128
FeatureFlag :: BULLETPROOFS_NATIVES ,
@@ -134,6 +147,7 @@ impl FeatureFlag {
134
147
FeatureFlag :: WEBAUTHN_SIGNATURE ,
135
148
// FeatureFlag::RECONFIGURE_WITH_DKG, //TODO: re-enable once randomness is ready.
136
149
FeatureFlag :: KEYLESS_ACCOUNTS ,
150
+ FeatureFlag :: FEDERATED_KEYLESS ,
137
151
FeatureFlag :: KEYLESS_BUT_ZKLESS_ACCOUNTS ,
138
152
FeatureFlag :: JWK_CONSENSUS ,
139
153
FeatureFlag :: REFUNDABLE_BYTES ,
@@ -153,6 +167,12 @@ impl FeatureFlag {
153
167
FeatureFlag :: CONCURRENT_FUNGIBLE_BALANCE ,
154
168
FeatureFlag :: LIMIT_VM_TYPE_SIZE ,
155
169
FeatureFlag :: ABORT_IF_MULTISIG_PAYLOAD_MISMATCH ,
170
+ FeatureFlag :: ALLOW_SERIALIZED_SCRIPT_ARGS ,
171
+ FeatureFlag :: ENABLE_ENUM_TYPES ,
172
+ FeatureFlag :: TRANSACTION_SIMULATION_ENHANCEMENT ,
173
+ FeatureFlag :: NATIVE_MEMORY_OPERATIONS ,
174
+ FeatureFlag :: COLLECTION_OWNER ,
175
+ FeatureFlag :: ACCOUNT_ABSTRACTION ,
156
176
// FeatureFlag::GOVERNED_GAS_POOL, // governed gas pool should be voted in
157
177
]
158
178
}
@@ -230,6 +250,10 @@ impl Features {
230
250
self . is_enabled ( FeatureFlag :: STORAGE_SLOT_METADATA )
231
251
}
232
252
253
+ pub fn is_account_abstraction_enabled ( & self ) -> bool {
254
+ self . is_enabled ( FeatureFlag :: ACCOUNT_ABSTRACTION )
255
+ }
256
+
233
257
pub fn is_module_event_enabled ( & self ) -> bool {
234
258
self . is_enabled ( FeatureFlag :: MODULE_EVENT )
235
259
}
@@ -279,6 +303,10 @@ impl Features {
279
303
self . is_enabled ( FeatureFlag :: KEYLESS_ACCOUNTS_WITH_PASSKEYS )
280
304
}
281
305
306
+ pub fn is_federated_keyless_enabled ( & self ) -> bool {
307
+ self . is_enabled ( FeatureFlag :: FEDERATED_KEYLESS )
308
+ }
309
+
282
310
pub fn is_remove_detailed_error_from_hash_enabled ( & self ) -> bool {
283
311
self . is_enabled ( FeatureFlag :: REMOVE_DETAILED_ERROR_FROM_HASH )
284
312
}
@@ -295,6 +323,10 @@ impl Features {
295
323
self . is_enabled ( FeatureFlag :: ABORT_IF_MULTISIG_PAYLOAD_MISMATCH )
296
324
}
297
325
326
+ pub fn is_native_memory_operations_enabled ( & self ) -> bool {
327
+ self . is_enabled ( FeatureFlag :: NATIVE_MEMORY_OPERATIONS )
328
+ }
329
+
298
330
pub fn get_max_identifier_size ( & self ) -> u64 {
299
331
if self . is_enabled ( FeatureFlag :: LIMIT_MAX_IDENTIFIER_LENGTH ) {
300
332
IDENTIFIER_SIZE_MAX
0 commit comments