Skip to content

Commit fe48d1b

Browse files
committed
Updating features map and enable_loader_v4
1 parent 002ccc1 commit fe48d1b

File tree

6 files changed

+62
-13
lines changed

6 files changed

+62
-13
lines changed

src/app/shared_dev/commands/configure/genesis.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ default_enable_features( fd_features_t * features ) {
4747
features->update_hashes_per_tick3 = 0UL;
4848
features->update_hashes_per_tick4 = 0UL;
4949
features->enable_bpf_loader_extend_program_ix = 0UL;
50-
features->enable_program_runtime_v2_and_loader_v4 = 0UL;
50+
features->enable_loader_v4 = 0UL;
5151
features->increase_tx_account_lock_limit = 0UL;
5252
features->stake_raise_minimum_delegation_to_1_sol = 0UL;
5353
features->enable_alt_bn128_syscall = 0UL;

src/flamenco/features/fd_features_generated.c

+46-6
Original file line numberDiff line numberDiff line change
@@ -1150,10 +1150,10 @@ fd_feature_id_t const ids[] = {
11501150
.name = "remaining_compute_units_syscall_enabled",
11511151
.cleaned_up = {UINT_MAX, UINT_MAX, UINT_MAX} },
11521152

1153-
{ .index = offsetof(fd_features_t, enable_program_runtime_v2_and_loader_v4)>>3,
1154-
.id = {"\x73\xd6\xec\x04\xbe\x12\xf9\x97\x7c\x5b\x14\x23\xca\x21\x5f\x5c\xac\x7c\x41\xfa\xd1\xf8\xc7\x7f\x0d\x23\x00\xe1\xb4\xa6\xf1\xd8"},
1155-
/* 8oBxsYqnCvUTGzgEpxPcnVf7MLbWWPYddE33PftFeBBd */
1156-
.name = "enable_program_runtime_v2_and_loader_v4",
1153+
{ .index = offsetof(fd_features_t, enable_loader_v4)>>3,
1154+
.id = {"\x6a\xf9\xc2\xb7\xef\x03\x1f\xcd\x0f\x1a\x09\x23\x4e\x8a\x87\x4e\xa1\xf5\x78\x76\x05\xb9\x50\xa3\x0d\x93\x1f\xf6\x6a\x54\x99\xd6"},
1155+
/* 8Cb77yHjPWe9wuWUfXeh6iszFGCDGNCoFk3tprViYHNm */
1156+
.name = "enable_loader_v4",
11571157
.cleaned_up = {UINT_MAX, UINT_MAX, UINT_MAX} },
11581158

11591159
{ .index = offsetof(fd_features_t, require_rent_exempt_split_destination)>>3,
@@ -1560,6 +1560,36 @@ fd_feature_id_t const ids[] = {
15601560
.name = "disable_partitioned_rent_collection",
15611561
.cleaned_up = {UINT_MAX, UINT_MAX, UINT_MAX} },
15621562

1563+
{ .index = offsetof(fd_features_t, vote_only_full_fec_sets)>>3,
1564+
.id = {"\x09\xe7\xc5\x4a\x98\x6c\xb6\x68\x7d\xea\x99\x67\x65\x85\xc4\x3a\x6b\xac\x6d\x4c\x86\x10\x38\x21\xa6\x5c\x47\x63\x60\x46\x6a\x13"},
1565+
/* ffecLRhhakKSGhMuc6Fz2Lnfq4uT9q3iu9ZsNaPLxPc */
1566+
.name = "vote_only_full_fec_sets",
1567+
.cleaned_up = {UINT_MAX, UINT_MAX, UINT_MAX} },
1568+
1569+
{ .index = offsetof(fd_features_t, drop_unchained_merkle_shreds)>>3,
1570+
.id = {"\x20\x0f\x3a\xb8\x5d\x6c\x0b\x80\xe0\x5b\xbd\x7c\x65\x02\x11\xc5\x4c\xa1\x37\x3a\x74\xc9\x1a\xf1\xe7\x34\x0b\xf5\x27\x82\x0f\x8d"},
1571+
/* 3A9WtMU4aHuryD3VN7SFKdfXto8HStLb1Jj6HjkgfnGL */
1572+
.name = "drop_unchained_merkle_shreds",
1573+
.cleaned_up = {UINT_MAX, UINT_MAX, UINT_MAX} },
1574+
1575+
{ .index = offsetof(fd_features_t, verify_retransmitter_signature)>>3,
1576+
.id = {"\x9c\xcc\xbd\x50\xa2\xed\x41\xa8\x85\x34\x23\x68\x9b\xcd\xb3\x28\xd1\x52\xd5\xe6\xfa\xcd\x2d\x3d\x8e\xbc\x54\x90\xee\x43\x96\xa6"},
1577+
/* BZ5g4hRbu5hLQQBdPyo2z9icGyJ8Khiyj3QS6dhWijTb */
1578+
.name = "verify_retransmitter_signature",
1579+
.cleaned_up = {UINT_MAX, UINT_MAX, UINT_MAX} },
1580+
1581+
{ .index = offsetof(fd_features_t, enable_turbine_extended_fanout_experiments)>>3,
1582+
.id = {"\x9c\xfa\x56\x83\x27\xa3\x72\x02\xcc\xb2\x43\x58\x96\x7a\xd0\xb1\x15\x49\x12\xb3\x1e\xb1\x38\xb9\x5c\x09\x00\x03\xc2\x36\xd8\xbe"},
1583+
/* BZn14Liea52wtBwrXUxTv6vojuTTmfc7XGEDTXrvMD7b */
1584+
.name = "enable_turbine_extended_fanout_experiments",
1585+
.cleaned_up = {UINT_MAX, UINT_MAX, UINT_MAX} },
1586+
1587+
{ .index = offsetof(fd_features_t, vote_only_retransmitter_signed_fec_sets)>>3,
1588+
.id = {"\x06\x51\x2b\xe1\x3a\x96\x4f\x49\x50\xb7\xac\x06\xb0\x90\x4d\x04\xbb\xbf\x29\xc7\x0c\x01\xf6\x52\x11\x2b\x02\xfa\x13\x90\x98\x76"},
1589+
/* RfEcA95xnhuwooVAhUUksEJLZBF7xKCLuqrJoqk4Zph */
1590+
.name = "vote_only_retransmitter_signed_fec_sets",
1591+
.cleaned_up = {UINT_MAX, UINT_MAX, UINT_MAX} },
1592+
15631593
{ .index = ULONG_MAX }
15641594
};
15651595
/* TODO replace this with fd_map_perfect */
@@ -1732,7 +1762,7 @@ fd_feature_id_query( ulong prefix ) {
17321762
case 0x3cbf822ccb2eebd4: return &ids[ 163 ];
17331763
case 0xe9d32123513c4d0d: return &ids[ 164 ];
17341764
case 0x64205286d7935342: return &ids[ 165 ];
1735-
case 0x97f912be04ecd673: return &ids[ 166 ];
1765+
case 0xcd1f03efb7c2f96a: return &ids[ 166 ];
17361766
case 0x4b241cb4c6f3b3b2: return &ids[ 167 ];
17371767
case 0x21746beaa849f9d9: return &ids[ 168 ];
17381768
case 0x9bb55b5df1c396c5: return &ids[ 169 ];
@@ -1794,6 +1824,11 @@ fd_feature_id_query( ulong prefix ) {
17941824
case 0x8ef4f4fdbc3d6c85: return &ids[ 225 ];
17951825
case 0xd571e3dc9532c905: return &ids[ 226 ];
17961826
case 0x4d86ca23d81d6d11: return &ids[ 227 ];
1827+
case 0x68b66c984ac5e709: return &ids[ 228 ];
1828+
case 0x800b6c5db83a0f20: return &ids[ 229 ];
1829+
case 0xa841eda250bdcc9c: return &ids[ 230 ];
1830+
case 0x0272a3278356fa9c: return &ids[ 231 ];
1831+
case 0x494f963ae12b5106: return &ids[ 232 ];
17971832
default: break;
17981833
}
17991834
return NULL;
@@ -1965,7 +2000,7 @@ FD_STATIC_ASSERT( offsetof( fd_features_t, revise_turbine_epoch_stakes
19652000
FD_STATIC_ASSERT( offsetof( fd_features_t, enable_poseidon_syscall )>>3==163UL, layout );
19662001
FD_STATIC_ASSERT( offsetof( fd_features_t, timely_vote_credits )>>3==164UL, layout );
19672002
FD_STATIC_ASSERT( offsetof( fd_features_t, remaining_compute_units_syscall_enabled )>>3==165UL, layout );
1968-
FD_STATIC_ASSERT( offsetof( fd_features_t, enable_program_runtime_v2_and_loader_v4 )>>3==166UL, layout );
2003+
FD_STATIC_ASSERT( offsetof( fd_features_t, enable_loader_v4 )>>3==166UL, layout );
19692004
FD_STATIC_ASSERT( offsetof( fd_features_t, require_rent_exempt_split_destination )>>3==167UL, layout );
19702005
FD_STATIC_ASSERT( offsetof( fd_features_t, better_error_codes_for_tx_lamport_check )>>3==168UL, layout );
19712006
FD_STATIC_ASSERT( offsetof( fd_features_t, enable_alt_bn128_compression_syscall )>>3==169UL, layout );
@@ -2027,4 +2062,9 @@ FD_STATIC_ASSERT( offsetof( fd_features_t, raise_block_limits_to_50m
20272062
FD_STATIC_ASSERT( offsetof( fd_features_t, move_precompile_verification_to_svm )>>3==225UL, layout );
20282063
FD_STATIC_ASSERT( offsetof( fd_features_t, enable_transaction_loading_failure_fees )>>3==226UL, layout );
20292064
FD_STATIC_ASSERT( offsetof( fd_features_t, disable_partitioned_rent_collection )>>3==227UL, layout );
2065+
FD_STATIC_ASSERT( offsetof( fd_features_t, vote_only_full_fec_sets )>>3==228UL, layout );
2066+
FD_STATIC_ASSERT( offsetof( fd_features_t, drop_unchained_merkle_shreds )>>3==229UL, layout );
2067+
FD_STATIC_ASSERT( offsetof( fd_features_t, verify_retransmitter_signature )>>3==230UL, layout );
2068+
FD_STATIC_ASSERT( offsetof( fd_features_t, enable_turbine_extended_fanout_experiments )>>3==231UL, layout );
2069+
FD_STATIC_ASSERT( offsetof( fd_features_t, vote_only_retransmitter_signed_fec_sets )>>3==232UL, layout );
20302070
FD_STATIC_ASSERT( sizeof( fd_features_t )>>3==FD_FEATURE_ID_CNT, layout );

src/flamenco/features/fd_features_generated.h

+7-2
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
#error "Include fd_features.h instead of this file."
44
#endif
55
/* FEATURE_ID_CNT is the number of features in ids */
6-
#define FD_FEATURE_ID_CNT (228UL)
6+
#define FD_FEATURE_ID_CNT (233UL)
77
union fd_features {
88
ulong f[ FD_FEATURE_ID_CNT ];
99
struct {
@@ -173,7 +173,7 @@ union fd_features {
173173
/* 0x3cbf822ccb2eebd4 */ ulong enable_poseidon_syscall;
174174
/* 0xe9d32123513c4d0d */ ulong timely_vote_credits;
175175
/* 0x64205286d7935342 */ ulong remaining_compute_units_syscall_enabled;
176-
/* 0x97f912be04ecd673 */ ulong enable_program_runtime_v2_and_loader_v4;
176+
/* 0xcd1f03efb7c2f96a */ ulong enable_loader_v4;
177177
/* 0x4b241cb4c6f3b3b2 */ ulong require_rent_exempt_split_destination;
178178
/* 0x21746beaa849f9d9 */ ulong better_error_codes_for_tx_lamport_check;
179179
/* 0x9bb55b5df1c396c5 */ ulong enable_alt_bn128_compression_syscall;
@@ -235,5 +235,10 @@ union fd_features {
235235
/* 0x8ef4f4fdbc3d6c85 */ ulong move_precompile_verification_to_svm;
236236
/* 0xd571e3dc9532c905 */ ulong enable_transaction_loading_failure_fees;
237237
/* 0x4d86ca23d81d6d11 */ ulong disable_partitioned_rent_collection;
238+
/* 0x68b66c984ac5e709 */ ulong vote_only_full_fec_sets;
239+
/* 0x800b6c5db83a0f20 */ ulong drop_unchained_merkle_shreds;
240+
/* 0xa841eda250bdcc9c */ ulong verify_retransmitter_signature;
241+
/* 0x0272a3278356fa9c */ ulong enable_turbine_extended_fanout_experiments;
242+
/* 0x494f963ae12b5106 */ ulong vote_only_retransmitter_signed_fec_sets;
238243
};
239244
};

src/flamenco/features/feature_map.json

+6-2
Original file line numberDiff line numberDiff line change
@@ -165,7 +165,7 @@
165165
{"name":"enable_poseidon_syscall","pubkey": "FL9RsQA6TVUoh5xJQ9d936RHSebA1NLQqe3Zv9sXZRpr","activated_on_all_clusters":1},
166166
{"name":"timely_vote_credits","old": "2oXpeh141pPZCTCFHBsvCwG2BtaHZZAtrVhwaxSy6brS","pubkey":"tvcF6b1TRz353zKuhBjinZkKzjmihXmBAHJdjNYw1sQ","activated_on_all_clusters":1},
167167
{"name":"remaining_compute_units_syscall_enabled","pubkey": "5TuppMutoyzhUSfuYdhgzD47F92GL1g89KpCZQKqedxP"},
168-
{"name":"enable_program_runtime_v2_and_loader_v4","pubkey": "8oBxsYqnCvUTGzgEpxPcnVf7MLbWWPYddE33PftFeBBd"},
168+
{"name":"enable_loader_v4","pubkey": "8Cb77yHjPWe9wuWUfXeh6iszFGCDGNCoFk3tprViYHNm"},
169169
{"name":"require_rent_exempt_split_destination","pubkey": "D2aip4BBr8NPWtU9vLrwrBvbuaQ8w1zV38zFLxx4pfBV","cleaned_up":[2,0,0],"activated_on_all_clusters":1},
170170
{"name":"better_error_codes_for_tx_lamport_check","pubkey": "Ffswd3egL3tccB6Rv3XY6oqfdzn913vUcjCSnpvCKpfx","cleaned_up":[2,0,0],"activated_on_all_clusters":1},
171171
{"name":"enable_alt_bn128_compression_syscall","pubkey": "EJJewYSddEEtSZHiqugnvhQHiWyZKjkFDQASd7oKSagn","activated_on_all_clusters":1},
@@ -227,5 +227,9 @@
227227
{"name":"move_precompile_verification_to_svm","pubkey":"9ypxGLzkMxi89eDerRKXWDXe44UY2z4hBig4mDhNq5Dp"},
228228
{"name":"enable_transaction_loading_failure_fees","pubkey":"PaymEPK2oqwT9TXAVfadjztH2H6KfLEB9Hhd5Q5frvP","activated_on_all_clusters":1},
229229
{"name":"disable_partitioned_rent_collection","pubkey":"2B2SBNbUcr438LtGXNcJNBP2GBSxjx81F945SdSkUSfC"},
230-
{"name":"vote_only_full_fec_sets","pubkey":"ffecLRhhakKSGhMuc6Fz2Lnfq4uT9q3iu9ZsNaPLxPc"}
230+
{"name":"vote_only_full_fec_sets","pubkey":"ffecLRhhakKSGhMuc6Fz2Lnfq4uT9q3iu9ZsNaPLxPc"},
231+
{"name":"drop_unchained_merkle_shreds","pubkey":"3A9WtMU4aHuryD3VN7SFKdfXto8HStLb1Jj6HjkgfnGL"},
232+
{"name":"verify_retransmitter_signature","pubkey":"BZ5g4hRbu5hLQQBdPyo2z9icGyJ8Khiyj3QS6dhWijTb"},
233+
{"name":"enable_turbine_extended_fanout_experiments","pubkey":"BZn14Liea52wtBwrXUxTv6vojuTTmfc7XGEDTXrvMD7b"},
234+
{"name":"vote_only_retransmitter_signed_fec_sets","pubkey":"RfEcA95xnhuwooVAhUUksEJLZBF7xKCLuqrJoqk4Zph"}
231235
]

src/flamenco/runtime/program/fd_builtin_programs.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ DEFINE_CORE_BPF_MIGRATION_CONFIG(STATELESS_TO_CORE_BPF_FEATURE_GATE_PROGRAM_CONF
4646
#define VOTE_PROGRAM_BUILTIN BUILTIN_PROGRAM(&fd_solana_vote_program_id, "vote_program", NO_ENABLE_FEATURE_ID, NO_CORE_BPF_MIGRATION_CONFIG)
4747
#define STAKE_PROGRAM_BUILTIN BUILTIN_PROGRAM(&fd_solana_stake_program_id, "stake_program", NO_ENABLE_FEATURE_ID, MIGRATE_BUILTIN_TO_CORE_BPF_STAKE_PROGRAM_CONFIG)
4848
#define CONFIG_PROGRAM_BUILTIN BUILTIN_PROGRAM(&fd_solana_config_program_id, "config_program", NO_ENABLE_FEATURE_ID, MIGRATE_BUILTIN_TO_CORE_BPF_CONFIG_PROGRAM_CONFIG)
49-
#define LOADER_V4_BUILTIN BUILTIN_PROGRAM(&fd_solana_bpf_loader_v4_program_id, "loader_v4", offsetof(fd_features_t, enable_program_runtime_v2_and_loader_v4), NO_CORE_BPF_MIGRATION_CONFIG)
49+
#define LOADER_V4_BUILTIN BUILTIN_PROGRAM(&fd_solana_bpf_loader_v4_program_id, "loader_v4", offsetof(fd_features_t, enable_loader_v4), NO_CORE_BPF_MIGRATION_CONFIG)
5050
#define ADDRESS_LOOKUP_TABLE_PROGRAM_BUILTIN BUILTIN_PROGRAM(&fd_solana_address_lookup_table_program_id, "address_lookup_table_program", NO_ENABLE_FEATURE_ID, MIGRATE_BUILTIN_TO_CORE_BPF_ADDRESS_LOOKUP_TABLE_PROGRAM_CONFIG)
5151
#define BPF_LOADER_DEPRECATED_BUILTIN BUILTIN_PROGRAM(&fd_solana_bpf_loader_deprecated_program_id, "solana_bpf_loader_deprecated_program", NO_ENABLE_FEATURE_ID, NO_CORE_BPF_MIGRATION_CONFIG)
5252
#define BPF_LOADER_BUILTIN BUILTIN_PROGRAM(&fd_solana_bpf_loader_program_id, "solana_bpf_loader_program", NO_ENABLE_FEATURE_ID, NO_CORE_BPF_MIGRATION_CONFIG)

src/flamenco/runtime/program/fd_loader_v4_program.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -691,7 +691,7 @@ fd_loader_v4_program_instruction_finalize( fd_exec_instr_ctx_t * instr_ctx ) {
691691
https://github.com/anza-xyz/agave/blob/v2.1.4/programs/loader-v4/src/lib.rs#L463-L526 */
692692
int
693693
fd_loader_v4_program_execute( fd_exec_instr_ctx_t * instr_ctx ) {
694-
if( FD_UNLIKELY( !FD_FEATURE_ACTIVE( instr_ctx->txn_ctx->slot, instr_ctx->txn_ctx->features, enable_program_runtime_v2_and_loader_v4 ) ) ) {
694+
if( FD_UNLIKELY( !FD_FEATURE_ACTIVE( instr_ctx->txn_ctx->slot, instr_ctx->txn_ctx->features, enable_loader_v4 ) ) ) {
695695
return FD_EXECUTOR_INSTR_ERR_UNSUPPORTED_PROGRAM_ID;
696696
}
697697

0 commit comments

Comments
 (0)