Skip to content

Commit 6cb447b

Browse files
committed
feat: Include Aptos feature flags required for pre-l1-merge framework upgrade
1 parent 867b182 commit 6cb447b

File tree

1 file changed

+32
-0
lines changed

1 file changed

+32
-0
lines changed

types/src/on_chain_config/aptos_features.rs

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,8 +86,17 @@ pub enum FeatureFlag {
8686
DEFAULT_TO_CONCURRENT_FUNGIBLE_BALANCE = 68,
8787
LIMIT_VM_TYPE_SIZE = 69,
8888
ABORT_IF_MULTISIG_PAYLOAD_MISMATCH = 70,
89+
ALLOW_SERIALIZED_SCRIPT_ARGS = 72,
8990
GOVERNED_GAS_POOL = 73,
91+
ENABLE_ENUM_TYPES = 74,
92+
FEDERATED_KEYLESS = 77,
93+
TRANSACTION_SIMULATION_ENHANCEMENT = 78,
94+
COLLECTION_OWNER = 79,
9095
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,
91100
}
92101

93102
impl FeatureFlag {
@@ -98,6 +107,7 @@ impl FeatureFlag {
98107
FeatureFlag::SHA_512_AND_RIPEMD_160_NATIVES,
99108
FeatureFlag::APTOS_STD_CHAIN_ID_NATIVES,
100109
FeatureFlag::VM_BINARY_FORMAT_V6,
110+
FeatureFlag::VM_BINARY_FORMAT_V7,
101111
FeatureFlag::MULTI_ED25519_PK_VALIDATE_V2_NATIVES,
102112
FeatureFlag::BLAKE2B_256_NATIVE,
103113
FeatureFlag::RESOURCE_GROUPS,
@@ -107,9 +117,12 @@ impl FeatureFlag {
107117
FeatureFlag::BLS12_381_STRUCTURES,
108118
FeatureFlag::ED25519_PUBKEY_VALIDATE_RETURN_FALSE_WRONG_LENGTH,
109119
FeatureFlag::STRUCT_CONSTRUCTORS,
120+
FeatureFlag::PERIODICAL_REWARD_RATE_DECREASE,
121+
FeatureFlag::PARTIAL_GOVERNANCE_VOTING,
110122
FeatureFlag::SIGNATURE_CHECKER_V2,
111123
FeatureFlag::STORAGE_SLOT_METADATA,
112124
FeatureFlag::CHARGE_INVARIANT_VIOLATION,
125+
FeatureFlag::DELEGATION_POOL_PARTIAL_GOVERNANCE_VOTING,
113126
FeatureFlag::APTOS_UNIQUE_IDENTIFIERS,
114127
FeatureFlag::GAS_PAYER_ENABLED,
115128
FeatureFlag::BULLETPROOFS_NATIVES,
@@ -134,6 +147,7 @@ impl FeatureFlag {
134147
FeatureFlag::WEBAUTHN_SIGNATURE,
135148
// FeatureFlag::RECONFIGURE_WITH_DKG, //TODO: re-enable once randomness is ready.
136149
FeatureFlag::KEYLESS_ACCOUNTS,
150+
FeatureFlag::FEDERATED_KEYLESS,
137151
FeatureFlag::KEYLESS_BUT_ZKLESS_ACCOUNTS,
138152
FeatureFlag::JWK_CONSENSUS,
139153
FeatureFlag::REFUNDABLE_BYTES,
@@ -153,6 +167,12 @@ impl FeatureFlag {
153167
FeatureFlag::CONCURRENT_FUNGIBLE_BALANCE,
154168
FeatureFlag::LIMIT_VM_TYPE_SIZE,
155169
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,
156176
// FeatureFlag::GOVERNED_GAS_POOL, // governed gas pool should be voted in
157177
]
158178
}
@@ -230,6 +250,10 @@ impl Features {
230250
self.is_enabled(FeatureFlag::STORAGE_SLOT_METADATA)
231251
}
232252

253+
pub fn is_account_abstraction_enabled(&self) -> bool {
254+
self.is_enabled(FeatureFlag::ACCOUNT_ABSTRACTION)
255+
}
256+
233257
pub fn is_module_event_enabled(&self) -> bool {
234258
self.is_enabled(FeatureFlag::MODULE_EVENT)
235259
}
@@ -279,6 +303,10 @@ impl Features {
279303
self.is_enabled(FeatureFlag::KEYLESS_ACCOUNTS_WITH_PASSKEYS)
280304
}
281305

306+
pub fn is_federated_keyless_enabled(&self) -> bool {
307+
self.is_enabled(FeatureFlag::FEDERATED_KEYLESS)
308+
}
309+
282310
pub fn is_remove_detailed_error_from_hash_enabled(&self) -> bool {
283311
self.is_enabled(FeatureFlag::REMOVE_DETAILED_ERROR_FROM_HASH)
284312
}
@@ -295,6 +323,10 @@ impl Features {
295323
self.is_enabled(FeatureFlag::ABORT_IF_MULTISIG_PAYLOAD_MISMATCH)
296324
}
297325

326+
pub fn is_native_memory_operations_enabled(&self) -> bool {
327+
self.is_enabled(FeatureFlag::NATIVE_MEMORY_OPERATIONS)
328+
}
329+
298330
pub fn get_max_identifier_size(&self) -> u64 {
299331
if self.is_enabled(FeatureFlag::LIMIT_MAX_IDENTIFIER_LENGTH) {
300332
IDENTIFIER_SIZE_MAX

0 commit comments

Comments
 (0)