diff --git a/src/discof/restore/utils/fd_ssmanifest_parser.c b/src/discof/restore/utils/fd_ssmanifest_parser.c index c4a4c87fe7..e3e65d8eac 100644 --- a/src/discof/restore/utils/fd_ssmanifest_parser.c +++ b/src/discof/restore/utils/fd_ssmanifest_parser.c @@ -16,307 +16,308 @@ #define STATE_BLOCKHASH_QUEUE_AGES_TIMESTAMP ( 7) #define STATE_BLOCKHASH_QUEUE_MAX_AGE ( 8) #define STATE_ANCESTORS_LENGTH ( 9) -#define STATE_ANCESTORS ( 10) -#define STATE_HASH ( 11) -#define STATE_PARENT_HASH ( 12) -#define STATE_PARENT_SLOT ( 13) -#define STATE_HARD_FORKS_LENGTH ( 14) -#define STATE_HARD_FORKS_SLOT ( 15) -#define STATE_HARD_FORKS_VAL ( 16) -#define STATE_TRANSACTION_COUNT ( 17) -#define STATE_TICK_HEIGHT ( 18) -#define STATE_SIGNATURE_COUNT ( 19) -#define STATE_CAPITALIZATION ( 20) -#define STATE_MAX_TICK_HEIGHT ( 21) -#define STATE_HASHES_PER_TICK_OPTION ( 22) -#define STATE_HASHES_PER_TICK ( 23) -#define STATE_TICKS_PER_SLOT ( 24) -#define STATE_NS_PER_SLOT ( 25) -#define STATE_GENSIS_CREATION_TIME ( 26) -#define STATE_SLOTS_PER_YEAR ( 27) -#define STATE_ACCOUNTS_DATA_LEN ( 28) -#define STATE_SLOT ( 29) -#define STATE_EPOCH ( 30) -#define STATE_BLOCK_HEIGHT ( 31) -#define STATE_COLLECTOR_ID ( 32) -#define STATE_COLLECTOR_FEES ( 33) -#define STATE_FEE_COLLECTOR_LAMPORTS_PER_SIGNATURE ( 34) -#define STATE_FEE_RATE_GOVERNOR_TARGET_LAMPORTS_PER_SIGNATURE ( 35) -#define STATE_FEE_RATE_GOVERNOR_TARGET_SIGNATURES_PER_SLOT ( 36) -#define STATE_FEE_RATE_GOVERNOR_MIN_LAMPORTS_PER_SIGNATURE ( 37) -#define STATE_FEE_RATE_GOVERNOR_MAX_LAMPORTS_PER_SIGNATURE ( 38) -#define STATE_FEE_RATE_GOVERNOR_BURN_PERCENT ( 39) -#define STATE_COLLECTED_RENT ( 40) -#define STATE_RENT_COLLECTOR_EPOCH ( 41) -#define STATE_RENT_COLLECTOR_EPOCH_SCHEDULE_SLOTS_PER_EPOCH ( 42) -#define STATE_RENT_COLLECTOR_EPOCH_SCHEDULE_LEADER_SCHEDULE_SLOT_OFFSET ( 43) -#define STATE_RENT_COLLECTOR_EPOCH_SCHEDULE_WARMUP ( 44) -#define STATE_RENT_COLLECTOR_EPOCH_SCHEDULE_FIRST_NORMAL_EPOCH ( 45) -#define STATE_RENT_COLLECTOR_EPOCH_SCHEDULE_FIRST_NORMAL_SLOT ( 46) -#define STATE_RENT_COLLECTOR_SLOTS_PER_YEAR ( 47) -#define STATE_RENT_COLLECTOR_RENT_LAMPORTS_PER_UINT8_YEAR ( 48) -#define STATE_RENT_COLLECTOR_RENT_EXEMPTION_THRESHOLD ( 49) -#define STATE_RENT_COLLECTOR_RENT_BURN_PERCENT ( 50) -#define STATE_EPOCH_SCHEDULE_SLOTS_PER_EPOCH ( 51) -#define STATE_EPOCH_SCHEDULE_LEADER_SCHEDULE_SLOT_OFFSET ( 52) -#define STATE_EPOCH_SCHEDULE_WARMUP ( 53) -#define STATE_EPOCH_SCHEDULE_FIRST_NORMAL_EPOCH ( 54) -#define STATE_EPOCH_SCHEDULE_FIRST_NORMAL_SLOT ( 55) -#define STATE_INFLATION_INITIAL ( 56) -#define STATE_INFLATION_TERMINAL ( 57) -#define STATE_INFLATION_TAPER ( 58) -#define STATE_INFLATION_FOUNDATION ( 59) -#define STATE_INFLATION_FOUNDATION_TERM ( 60) -#define STATE_INFLATION_UNUSED ( 61) -#define STATE_STAKES_VOTE_ACCOUNTS_LENGTH ( 62) -#define STATE_STAKES_VOTE_ACCOUNTS_KEY ( 63) -#define STATE_STAKES_VOTE_ACCOUNTS_STAKE ( 64) -#define STATE_STAKES_VOTE_ACCOUNTS_VALUE_LAMPORTS ( 65) -#define STATE_STAKES_VOTE_ACCOUNTS_VALUE_DATA_LENGTH ( 66) -#define STATE_STAKES_VOTE_ACCOUNTS_VALUE_DATA_VARIANT ( 67) -#define STATE_STAKES_VOTE_ACCOUNTS_VALUE_DATA_CURRENT_NODE_PUBKEY ( 68) -#define STATE_STAKES_VOTE_ACCOUNTS_VALUE_DATA_CURRENT_AUTHORIZED_WITHDRAWER ( 69) -#define STATE_STAKES_VOTE_ACCOUNTS_VALUE_DATA_CURRENT_COMMISSION ( 70) -#define STATE_STAKES_VOTE_ACCOUNTS_VALUE_DATA_CURRENT_VOTES_LENGTH ( 71) -#define STATE_STAKES_VOTE_ACCOUNTS_VALUE_DATA_CURRENT_VOTES ( 72) -#define STATE_STAKES_VOTE_ACCOUNTS_VALUE_DATA_CURRENT_ROOT_SLOT_OPTION ( 73) -#define STATE_STAKES_VOTE_ACCOUNTS_VALUE_DATA_CURRENT_ROOT_SLOT ( 74) -#define STATE_STAKES_VOTE_ACCOUNTS_VALUE_DATA_CURRENT_AUTHORIZED_VOTERS_LENGTH ( 75) -#define STATE_STAKES_VOTE_ACCOUNTS_VALUE_DATA_CURRENT_AUTHORIZED_VOTERS ( 76) -#define STATE_STAKES_VOTE_ACCOUNTS_VALUE_DATA_CURRENT_PRIOR_VOTERS ( 77) -#define STATE_STAKES_VOTE_ACCOUNTS_VALUE_DATA_CURRENT_EPOCH_CREDITS_LENGTH ( 78) -#define STATE_STAKES_VOTE_ACCOUNTS_VALUE_DATA_CURRENT_EPOCH_CREDITS ( 79) -#define STATE_STAKES_VOTE_ACCOUNTS_VALUE_DATA_CURRENT_LAST_TIMESTAMP_SLOT ( 80) -#define STATE_STAKES_VOTE_ACCOUNTS_VALUE_DATA_CURRENT_LAST_TIMESTAMP_TIMESTAMP ( 81) -#define STATE_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V11411_NODE_PUBKEY ( 82) -#define STATE_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V11411_AUTHORIZED_WITHDRAWER ( 83) -#define STATE_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V11411_COMMISSION ( 84) -#define STATE_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V11411_VOTES_LENGTH ( 85) -#define STATE_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V11411_VOTES ( 86) -#define STATE_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V11411_ROOT_SLOT_OPTION ( 87) -#define STATE_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V11411_ROOT_SLOT ( 88) -#define STATE_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V11411_AUTHORIZED_VOTERS_LENGTH ( 89) -#define STATE_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V11411_AUTHORIZED_VOTERS ( 90) -#define STATE_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V11411_PRIOR_VOTERS ( 91) -#define STATE_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V11411_EPOCH_CREDITS_LENGTH ( 92) -#define STATE_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V11411_EPOCH_CREDITS ( 93) -#define STATE_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V11411_LAST_TIMESTAMP_SLOT ( 94) -#define STATE_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V11411_LAST_TIMESTAMP_TIMESTAMP ( 95) -#define STATE_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V0235_NODE_PUBKEY ( 96) -#define STATE_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V0235_AUTHORIZED_VOTER ( 97) -#define STATE_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V0235_AUTHORIZED_VOTER_EPOCH ( 98) -#define STATE_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V0235_PRIOR_VOTERS ( 99) -#define STATE_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V0235_AUTHORIZED_WITHDRAWER (100) -#define STATE_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V0235_COMMISSION (101) -#define STATE_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V0235_VOTES_LENGTH (102) -#define STATE_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V0235_VOTES (103) -#define STATE_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V0235_ROOT_SLOT_OPTION (104) -#define STATE_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V0235_ROOT_SLOT (105) -#define STATE_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V0235_EPOCH_CREDITS_LENGTH (106) -#define STATE_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V0235_EPOCH_CREDITS (107) -#define STATE_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V0235_LAST_TIMESTAMP_SLOT (108) -#define STATE_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V0235_LAST_TIMESTAMP_TIMESTAMP (109) -#define STATE_STAKES_VOTE_ACCOUNTS_VALUE_DATA_DUMMY (110) -#define STATE_STAKES_VOTE_ACCOUNTS_VALUE_OWNER (111) -#define STATE_STAKES_VOTE_ACCOUNTS_VALUE_EXECUTABLE (112) -#define STATE_STAKES_VOTE_ACCOUNTS_VALUE_RENT_EPOCH (113) -#define STATE_STAKES_STAKE_DELEGATIONS_LENGTH (114) -#define STATE_STAKES_STAKE_DELEGATIONS_KEY (115) -#define STATE_STAKES_STAKE_DELEGATIONS_VOTER_PUBKEY (116) -#define STATE_STAKES_STAKE_DELEGATIONS_STAKE (117) -#define STATE_STAKES_STAKE_DELEGATIONS_ACTIVATION_EPOCH (118) -#define STATE_STAKES_STAKE_DELEGATIONS_DEACTIVATION_EPOCH (119) -#define STATE_STAKES_STAKE_DELEGATIONS_WARMUP_COOLDOWN_RATE (120) -#define STATE_STAKES_UNUSED (121) -#define STATE_STAKES_EPOCH (122) -#define STATE_STAKES_STAKE_HISTORY_LENGTH (123) -#define STATE_STAKES_STAKE_HISTORY (124) -#define STATE_UNUSED_ACCOUNTS1_LENGTH (125) -#define STATE_UNUSED_ACCOUNTS1_UNUSED (126) -#define STATE_UNUSED_ACCOUNTS2_LENGTH (127) -#define STATE_UNUSED_ACCOUNTS2_UNUSED (128) -#define STATE_UNUSED_ACCOUNTS3_LENGTH (129) -#define STATE_UNUSED_ACCOUNTS3_UNUSED (130) -#define STATE_EPOCH_STAKES_LENGTH (131) -#define STATE_EPOCH_STAKES_KEY (132) -#define STATE_EPOCH_STAKES_VOTE_ACCOUNTS_LENGTH (133) -#define STATE_EPOCH_STAKES_VOTE_ACCOUNTS_KEY (134) -#define STATE_EPOCH_STAKES_VOTE_ACCOUNTS_STAKE (135) -#define STATE_EPOCH_STAKES_VOTE_ACCOUNTS_VALUE_LAMPORTS (136) -#define STATE_EPOCH_STAKES_VOTE_ACCOUNTS_VALUE_DATA_LENGTH (137) -#define STATE_EPOCH_STAKES_VOTE_ACCOUNTS_VALUE_DATA_VARIANT (138) -#define STATE_EPOCH_STAKES_VOTE_ACCOUNTS_VALUE_DATA_CURRENT_NODE_PUBKEY (139) -#define STATE_EPOCH_STAKES_VOTE_ACCOUNTS_VALUE_DATA_CURRENT_AUTHORIZED_WITHDRAWER (140) -#define STATE_EPOCH_STAKES_VOTE_ACCOUNTS_VALUE_DATA_CURRENT_COMMISSION (141) -#define STATE_EPOCH_STAKES_VOTE_ACCOUNTS_VALUE_DATA_CURRENT_VOTES_LENGTH (142) -#define STATE_EPOCH_STAKES_VOTE_ACCOUNTS_VALUE_DATA_CURRENT_VOTES (143) -#define STATE_EPOCH_STAKES_VOTE_ACCOUNTS_VALUE_DATA_CURRENT_ROOT_SLOT_OPTION (144) -#define STATE_EPOCH_STAKES_VOTE_ACCOUNTS_VALUE_DATA_CURRENT_ROOT_SLOT (145) -#define STATE_EPOCH_STAKES_VOTE_ACCOUNTS_VALUE_DATA_CURRENT_AUTHORIZED_VOTERS_LENGTH (146) -#define STATE_EPOCH_STAKES_VOTE_ACCOUNTS_VALUE_DATA_CURRENT_AUTHORIZED_VOTERS (147) -#define STATE_EPOCH_STAKES_VOTE_ACCOUNTS_VALUE_DATA_CURRENT_PRIOR_VOTERS (148) -#define STATE_EPOCH_STAKES_VOTE_ACCOUNTS_VALUE_DATA_CURRENT_EPOCH_CREDITS_LENGTH (149) -#define STATE_EPOCH_STAKES_VOTE_ACCOUNTS_VALUE_DATA_CURRENT_EPOCH_CREDITS (150) -#define STATE_EPOCH_STAKES_VOTE_ACCOUNTS_VALUE_DATA_CURRENT_LAST_TIMESTAMP_SLOT (151) -#define STATE_EPOCH_STAKES_VOTE_ACCOUNTS_VALUE_DATA_CURRENT_LAST_TIMESTAMP_TIMESTAMP (152) -#define STATE_EPOCH_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V11411_NODE_PUBKEY (153) -#define STATE_EPOCH_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V11411_AUTHORIZED_WITHDRAWER (154) -#define STATE_EPOCH_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V11411_COMMISSION (155) -#define STATE_EPOCH_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V11411_VOTES_LENGTH (156) -#define STATE_EPOCH_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V11411_VOTES (157) -#define STATE_EPOCH_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V11411_ROOT_SLOT_OPTION (158) -#define STATE_EPOCH_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V11411_ROOT_SLOT (159) -#define STATE_EPOCH_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V11411_AUTHORIZED_VOTERS_LENGTH (160) -#define STATE_EPOCH_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V11411_AUTHORIZED_VOTERS (161) -#define STATE_EPOCH_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V11411_PRIOR_VOTERS (162) -#define STATE_EPOCH_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V11411_EPOCH_CREDITS_LENGTH (163) -#define STATE_EPOCH_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V11411_EPOCH_CREDITS (164) -#define STATE_EPOCH_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V11411_LAST_TIMESTAMP_SLOT (165) -#define STATE_EPOCH_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V11411_LAST_TIMESTAMP_TIMESTAMP (166) -#define STATE_EPOCH_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V0235_NODE_PUBKEY (167) -#define STATE_EPOCH_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V0235_AUTHORIZED_VOTER (168) -#define STATE_EPOCH_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V0235_AUTHORIZED_VOTER_EPOCH (169) -#define STATE_EPOCH_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V0235_PRIOR_VOTERS (170) -#define STATE_EPOCH_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V0235_AUTHORIZED_WITHDRAWER (171) -#define STATE_EPOCH_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V0235_COMMISSION (172) -#define STATE_EPOCH_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V0235_VOTES_LENGTH (173) -#define STATE_EPOCH_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V0235_VOTES (174) -#define STATE_EPOCH_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V0235_ROOT_SLOT_OPTION (175) -#define STATE_EPOCH_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V0235_ROOT_SLOT (176) -#define STATE_EPOCH_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V0235_EPOCH_CREDITS_LENGTH (177) -#define STATE_EPOCH_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V0235_EPOCH_CREDITS (178) -#define STATE_EPOCH_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V0235_LAST_TIMESTAMP_SLOT (179) -#define STATE_EPOCH_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V0235_LAST_TIMESTAMP_TIMESTAMP (180) -#define STATE_EPOCH_STAKES_VOTE_ACCOUNTS_VALUE_DATA_DUMMY (181) -#define STATE_EPOCH_STAKES_VOTE_ACCOUNTS_VALUE_OWNER (182) -#define STATE_EPOCH_STAKES_VOTE_ACCOUNTS_VALUE_EXECUTABLE (183) -#define STATE_EPOCH_STAKES_VOTE_ACCOUNTS_VALUE_RENT_EPOCH (184) -#define STATE_EPOCH_STAKES_STAKE_DELEGATIONS_LENGTH (185) -#define STATE_EPOCH_STAKES_STAKE_DELEGATIONS_KEY (186) -#define STATE_EPOCH_STAKES_STAKE_DELEGATIONS_VOTER_PUBKEY (187) -#define STATE_EPOCH_STAKES_STAKE_DELEGATIONS_STAKE (188) -#define STATE_EPOCH_STAKES_STAKE_DELEGATIONS_ACTIVATION_EPOCH (189) -#define STATE_EPOCH_STAKES_STAKE_DELEGATIONS_DEACTIVATION_EPOCH (190) -#define STATE_EPOCH_STAKES_STAKE_DELEGATIONS_WARMUP_COOLDOWN_RATE (191) -#define STATE_EPOCH_STAKES_UNUSED (192) -#define STATE_EPOCH_STAKES_EPOCH (193) -#define STATE_EPOCH_STAKES_STAKE_HISTORY_LENGTH (194) -#define STATE_EPOCH_STAKES_STAKE_HISTORY (195) -#define STATE_EPOCH_STAKES_TOTAL_STAKE (196) -#define STATE_EPOCH_STAKES_NODE_ID_TO_VOTE_ACCOUNTS_LENGTH (197) -#define STATE_EPOCH_STAKES_NODE_ID_TO_VOTE_ACCOUNTS_KEY (198) -#define STATE_EPOCH_STAKES_NODE_ID_TO_VOTE_ACCOUNTS_VOTE_ACCOUNTS_LENGTH (199) -#define STATE_EPOCH_STAKES_NODE_ID_TO_VOTE_ACCOUNTS_VOTE_ACCOUNTS (200) -#define STATE_EPOCH_STAKES_NODE_ID_TO_VOTE_ACCOUNTS_TOTAL_STAKE (201) -#define STATE_EPOCH_STAKES_EPOCH_AUTHORIZED_VOTERS_LENGTH (202) -#define STATE_EPOCH_STAKES_EPOCH_AUTHORIZED_VOTERS (203) -#define STATE_IS_DELTA (204) -#define STATE_ACCOUNTS_DB_STORAGES_LENGTH (205) -#define STATE_ACCOUNTS_DB_STORAGES_SLOT (206) -#define STATE_ACCOUNTS_DB_STORAGES_ACCOUNT_VECS_LENGTH (207) -#define STATE_ACCOUNTS_DB_STORAGES_ACCOUNT_VECS_ID (208) -#define STATE_ACCOUNTS_DB_STORAGES_ACCOUNT_VECS_FILE_SZ (209) -#define STATE_ACCOUNTS_DB_STORAGES_DUMMY (210) -#define STATE_ACCOUNTS_DB_VERSION (211) -#define STATE_ACCOUNTS_DB_SLOT (212) -#define STATE_ACCOUNTS_DB_BANK_HASH_INFO_ACCOUNTS_DELTA_HASH (213) -#define STATE_ACCOUNTS_DB_BANK_HASH_INFO_ACCOUNTS_HASH (214) -#define STATE_ACCOUNTS_DB_BANK_HASH_INFO_STATS_NUM_UPDATED_ACCOUNTS (215) -#define STATE_ACCOUNTS_DB_BANK_HASH_INFO_STATS_NUM_REMOVED_ACCOUNTS (216) -#define STATE_ACCOUNTS_DB_BANK_HASH_INFO_STATS_NUM_LAMPORTS_STORED (217) -#define STATE_ACCOUNTS_DB_BANK_HASH_INFO_STATS_TOTAL_DATA_LEN (218) -#define STATE_ACCOUNTS_DB_BANK_HASH_INFO_STATS_NUM_EXECUTABLE_ACCOUNTS (219) -#define STATE_ACCOUNTS_DB_HISTORICAL_ROOTS_LENGTH (220) -#define STATE_ACCOUNTS_DB_HISTORICAL_ROOTS (221) -#define STATE_ACCOUNTS_DB_HISTORICAL_WITH_HASH_LENGTH (222) -#define STATE_ACCOUNTS_DB_HISTORICAL_WITH_HASH (223) -#define STATE_LAMPORTS_PER_SIGNATURE (224) -#define STATE_BANK_INCREMENTAL_SNAPSHOT_PERSISTENCE_OPTION (225) -#define STATE_BANK_INCREMENTAL_SNAPSHOT_PERSISTENCE_FULL_SLOT (226) -#define STATE_BANK_INCREMENTAL_SNAPSHOT_PERSISTENCE_FULL_HASH (227) -#define STATE_BANK_INCREMENTAL_SNAPSHOT_PERSISTENCE_FULL_CAPITALIZATION (228) -#define STATE_BANK_INCREMENTAL_SNAPSHOT_PERSISTENCE_INCREMENTAL_HASH (229) -#define STATE_BANK_INCREMENTAL_SNAPSHOT_PERSISTENCE_INCREMENTAL_CAPITALIZATION (230) -#define STATE_EPOCH_ACCOUNT_HASH_OPTION (231) -#define STATE_EPOCH_ACCOUNT_HASH (232) -#define STATE_VERSIONED_EPOCH_STAKES_LENGTH (233) -#define STATE_VERSIONED_EPOCH_STAKES_EPOCH (234) -#define STATE_VERSIONED_EPOCH_STAKES_VARIANT (235) -#define STATE_VERSIONED_EPOCH_STAKES_STAKES_VOTE_ACCOUNTS_LENGTH (236) -#define STATE_VERSIONED_EPOCH_STAKES_STAKES_VOTE_ACCOUNTS_KEY (237) -#define STATE_VERSIONED_EPOCH_STAKES_STAKES_VOTE_ACCOUNTS_STAKE (238) -#define STATE_VERSIONED_EPOCH_STAKES_STAKES_VOTE_ACCOUNTS_VALUE_LAMPORTS (239) -#define STATE_VERSIONED_EPOCH_STAKES_STAKES_VOTE_ACCOUNTS_VALUE_DATA_LENGTH (240) -#define STATE_VERSIONED_EPOCH_STAKES_STAKES_VOTE_ACCOUNTS_VALUE_DATA_VARIANT (241) -#define STATE_VERSIONED_EPOCH_STAKES_STAKES_VOTE_ACCOUNTS_VALUE_DATA_CURRENT_NODE_PUBKEY (242) -#define STATE_VERSIONED_EPOCH_STAKES_STAKES_VOTE_ACCOUNTS_VALUE_DATA_CURRENT_AUTHORIZED_WITHDRAWER (243) -#define STATE_VERSIONED_EPOCH_STAKES_STAKES_VOTE_ACCOUNTS_VALUE_DATA_CURRENT_COMMISSION (244) -#define STATE_VERSIONED_EPOCH_STAKES_STAKES_VOTE_ACCOUNTS_VALUE_DATA_CURRENT_VOTES_LENGTH (245) -#define STATE_VERSIONED_EPOCH_STAKES_STAKES_VOTE_ACCOUNTS_VALUE_DATA_CURRENT_VOTES (246) -#define STATE_VERSIONED_EPOCH_STAKES_STAKES_VOTE_ACCOUNTS_VALUE_DATA_CURRENT_ROOT_SLOT_OPTION (247) -#define STATE_VERSIONED_EPOCH_STAKES_STAKES_VOTE_ACCOUNTS_VALUE_DATA_CURRENT_ROOT_SLOT (248) -#define STATE_VERSIONED_EPOCH_STAKES_STAKES_VOTE_ACCOUNTS_VALUE_DATA_CURRENT_AUTHORIZED_VOTERS_LENGTH (249) -#define STATE_VERSIONED_EPOCH_STAKES_STAKES_VOTE_ACCOUNTS_VALUE_DATA_CURRENT_AUTHORIZED_VOTERS (250) -#define STATE_VERSIONED_EPOCH_STAKES_STAKES_VOTE_ACCOUNTS_VALUE_DATA_CURRENT_PRIOR_VOTERS (251) -#define STATE_VERSIONED_EPOCH_STAKES_STAKES_VOTE_ACCOUNTS_VALUE_DATA_CURRENT_EPOCH_CREDITS_LENGTH (252) -#define STATE_VERSIONED_EPOCH_STAKES_STAKES_VOTE_ACCOUNTS_VALUE_DATA_CURRENT_EPOCH_CREDITS (253) -#define STATE_VERSIONED_EPOCH_STAKES_STAKES_VOTE_ACCOUNTS_VALUE_DATA_CURRENT_LAST_TIMESTAMP_SLOT (254) -#define STATE_VERSIONED_EPOCH_STAKES_STAKES_VOTE_ACCOUNTS_VALUE_DATA_CURRENT_LAST_TIMESTAMP_TIMESTAMP (255) -#define STATE_VERSIONED_EPOCH_STAKES_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V11411_NODE_PUBKEY (256) -#define STATE_VERSIONED_EPOCH_STAKES_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V11411_AUTHORIZED_WITHDRAWER (257) -#define STATE_VERSIONED_EPOCH_STAKES_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V11411_COMMISSION (258) -#define STATE_VERSIONED_EPOCH_STAKES_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V11411_VOTES_LENGTH (259) -#define STATE_VERSIONED_EPOCH_STAKES_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V11411_VOTES (260) -#define STATE_VERSIONED_EPOCH_STAKES_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V11411_ROOT_SLOT_OPTION (261) -#define STATE_VERSIONED_EPOCH_STAKES_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V11411_ROOT_SLOT (262) -#define STATE_VERSIONED_EPOCH_STAKES_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V11411_AUTHORIZED_VOTERS_LENGTH (263) -#define STATE_VERSIONED_EPOCH_STAKES_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V11411_AUTHORIZED_VOTERS (264) -#define STATE_VERSIONED_EPOCH_STAKES_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V11411_PRIOR_VOTERS (265) -#define STATE_VERSIONED_EPOCH_STAKES_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V11411_EPOCH_CREDITS_LENGTH (266) -#define STATE_VERSIONED_EPOCH_STAKES_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V11411_EPOCH_CREDITS (267) -#define STATE_VERSIONED_EPOCH_STAKES_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V11411_LAST_TIMESTAMP_SLOT (268) -#define STATE_VERSIONED_EPOCH_STAKES_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V11411_LAST_TIMESTAMP_TIMESTAMP (269) -#define STATE_VERSIONED_EPOCH_STAKES_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V0235_NODE_PUBKEY (270) -#define STATE_VERSIONED_EPOCH_STAKES_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V0235_AUTHORIZED_VOTER (271) -#define STATE_VERSIONED_EPOCH_STAKES_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V0235_AUTHORIZED_VOTER_EPOCH (272) -#define STATE_VERSIONED_EPOCH_STAKES_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V0235_PRIOR_VOTERS (273) -#define STATE_VERSIONED_EPOCH_STAKES_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V0235_AUTHORIZED_WITHDRAWER (274) -#define STATE_VERSIONED_EPOCH_STAKES_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V0235_COMMISSION (275) -#define STATE_VERSIONED_EPOCH_STAKES_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V0235_VOTES_LENGTH (276) -#define STATE_VERSIONED_EPOCH_STAKES_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V0235_VOTES (277) -#define STATE_VERSIONED_EPOCH_STAKES_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V0235_ROOT_SLOT_OPTION (278) -#define STATE_VERSIONED_EPOCH_STAKES_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V0235_ROOT_SLOT (279) -#define STATE_VERSIONED_EPOCH_STAKES_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V0235_EPOCH_CREDITS_LENGTH (280) -#define STATE_VERSIONED_EPOCH_STAKES_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V0235_EPOCH_CREDITS (281) -#define STATE_VERSIONED_EPOCH_STAKES_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V0235_LAST_TIMESTAMP_SLOT (282) -#define STATE_VERSIONED_EPOCH_STAKES_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V0235_LAST_TIMESTAMP_TIMESTAMP (283) -#define STATE_VERSIONED_EPOCH_STAKES_STAKES_VOTE_ACCOUNTS_VALUE_DATA_DUMMY (284) -#define STATE_VERSIONED_EPOCH_STAKES_STAKES_VOTE_ACCOUNTS_VALUE_OWNER (285) -#define STATE_VERSIONED_EPOCH_STAKES_STAKES_VOTE_ACCOUNTS_VALUE_EXECUTABLE (286) -#define STATE_VERSIONED_EPOCH_STAKES_STAKES_VOTE_ACCOUNTS_VALUE_RENT_EPOCH (287) -#define STATE_VERSIONED_EPOCH_STAKES_STAKES_STAKE_DELEGATIONS_LENGTH (288) -#define STATE_VERSIONED_EPOCH_STAKES_STAKES_STAKE_DELEGATIONS_KEY (289) -#define STATE_VERSIONED_EPOCH_STAKES_STAKES_STAKE_DELEGATIONS_VOTER_PUBKEY (290) -#define STATE_VERSIONED_EPOCH_STAKES_STAKES_STAKE_DELEGATIONS_STAKE (291) -#define STATE_VERSIONED_EPOCH_STAKES_STAKES_STAKE_DELEGATIONS_ACTIVATION_EPOCH (292) -#define STATE_VERSIONED_EPOCH_STAKES_STAKES_STAKE_DELEGATIONS_DEACTIVATION_EPOCH (293) -#define STATE_VERSIONED_EPOCH_STAKES_STAKES_STAKE_DELEGATIONS_WARMUP_COOLDOWN_RATE (294) -#define STATE_VERSIONED_EPOCH_STAKES_STAKES_STAKE_DELEGATIONS_CREDITS_OBSERVED (295) -#define STATE_VERSIONED_EPOCH_STAKES_STAKES_UNUSED (296) -#define STATE_VERSIONED_EPOCH_STAKES_STAKES_EPOCH (297) -#define STATE_VERSIONED_EPOCH_STAKES_STAKES_STAKE_HISTORY_LENGTH (298) -#define STATE_VERSIONED_EPOCH_STAKES_STAKES_STAKE_HISTORY (299) -#define STATE_VERSIONED_EPOCH_STAKES_TOTAL_STAKE (300) -#define STATE_VERSIONED_EPOCH_STAKES_NODE_ID_TO_VOTE_ACCOUNTS_LENGTH (301) -#define STATE_VERSIONED_EPOCH_STAKES_NODE_ID_TO_VOTE_ACCOUNTS_KEY (302) -#define STATE_VERSIONED_EPOCH_STAKES_NODE_ID_TO_VOTE_ACCOUNTS_VOTE_ACCOUNTS_LENGTH (303) -#define STATE_VERSIONED_EPOCH_STAKES_NODE_ID_TO_VOTE_ACCOUNTS_VOTE_ACCOUNTS (304) -#define STATE_VERSIONED_EPOCH_STAKES_NODE_ID_TO_VOTE_ACCOUNTS_TOTAL_STAKE (305) -#define STATE_VERSIONED_EPOCH_STAKES_EPOCH_AUTHORIZED_VOTERS_LENGTH (306) -#define STATE_VERSIONED_EPOCH_STAKES_EPOCH_AUTHORIZED_VOTERS (307) -#define STATE_LTHASH_OPTION (308) -#define STATE_LTHASH (309) -#define STATE_DONE (310) +#define STATE_ANCESTORS_SLOT ( 10) +#define STATE_ANCESTORS_VAL ( 11) +#define STATE_HASH ( 12) +#define STATE_PARENT_HASH ( 13) +#define STATE_PARENT_SLOT ( 14) +#define STATE_HARD_FORKS_LENGTH ( 15) +#define STATE_HARD_FORKS_SLOT ( 16) +#define STATE_HARD_FORKS_VAL ( 17) +#define STATE_TRANSACTION_COUNT ( 18) +#define STATE_TICK_HEIGHT ( 19) +#define STATE_SIGNATURE_COUNT ( 20) +#define STATE_CAPITALIZATION ( 21) +#define STATE_MAX_TICK_HEIGHT ( 22) +#define STATE_HASHES_PER_TICK_OPTION ( 23) +#define STATE_HASHES_PER_TICK ( 24) +#define STATE_TICKS_PER_SLOT ( 25) +#define STATE_NS_PER_SLOT ( 26) +#define STATE_GENSIS_CREATION_TIME ( 27) +#define STATE_SLOTS_PER_YEAR ( 28) +#define STATE_ACCOUNTS_DATA_LEN ( 29) +#define STATE_SLOT ( 30) +#define STATE_EPOCH ( 31) +#define STATE_BLOCK_HEIGHT ( 32) +#define STATE_COLLECTOR_ID ( 33) +#define STATE_COLLECTOR_FEES ( 34) +#define STATE_FEE_COLLECTOR_LAMPORTS_PER_SIGNATURE ( 35) +#define STATE_FEE_RATE_GOVERNOR_TARGET_LAMPORTS_PER_SIGNATURE ( 36) +#define STATE_FEE_RATE_GOVERNOR_TARGET_SIGNATURES_PER_SLOT ( 37) +#define STATE_FEE_RATE_GOVERNOR_MIN_LAMPORTS_PER_SIGNATURE ( 38) +#define STATE_FEE_RATE_GOVERNOR_MAX_LAMPORTS_PER_SIGNATURE ( 39) +#define STATE_FEE_RATE_GOVERNOR_BURN_PERCENT ( 40) +#define STATE_COLLECTED_RENT ( 41) +#define STATE_RENT_COLLECTOR_EPOCH ( 42) +#define STATE_RENT_COLLECTOR_EPOCH_SCHEDULE_SLOTS_PER_EPOCH ( 43) +#define STATE_RENT_COLLECTOR_EPOCH_SCHEDULE_LEADER_SCHEDULE_SLOT_OFFSET ( 44) +#define STATE_RENT_COLLECTOR_EPOCH_SCHEDULE_WARMUP ( 45) +#define STATE_RENT_COLLECTOR_EPOCH_SCHEDULE_FIRST_NORMAL_EPOCH ( 46) +#define STATE_RENT_COLLECTOR_EPOCH_SCHEDULE_FIRST_NORMAL_SLOT ( 47) +#define STATE_RENT_COLLECTOR_SLOTS_PER_YEAR ( 48) +#define STATE_RENT_COLLECTOR_RENT_LAMPORTS_PER_UINT8_YEAR ( 49) +#define STATE_RENT_COLLECTOR_RENT_EXEMPTION_THRESHOLD ( 50) +#define STATE_RENT_COLLECTOR_RENT_BURN_PERCENT ( 51) +#define STATE_EPOCH_SCHEDULE_SLOTS_PER_EPOCH ( 52) +#define STATE_EPOCH_SCHEDULE_LEADER_SCHEDULE_SLOT_OFFSET ( 53) +#define STATE_EPOCH_SCHEDULE_WARMUP ( 54) +#define STATE_EPOCH_SCHEDULE_FIRST_NORMAL_EPOCH ( 55) +#define STATE_EPOCH_SCHEDULE_FIRST_NORMAL_SLOT ( 56) +#define STATE_INFLATION_INITIAL ( 57) +#define STATE_INFLATION_TERMINAL ( 58) +#define STATE_INFLATION_TAPER ( 59) +#define STATE_INFLATION_FOUNDATION ( 60) +#define STATE_INFLATION_FOUNDATION_TERM ( 61) +#define STATE_INFLATION_UNUSED ( 62) +#define STATE_STAKES_VOTE_ACCOUNTS_LENGTH ( 63) +#define STATE_STAKES_VOTE_ACCOUNTS_KEY ( 64) +#define STATE_STAKES_VOTE_ACCOUNTS_STAKE ( 65) +#define STATE_STAKES_VOTE_ACCOUNTS_VALUE_LAMPORTS ( 66) +#define STATE_STAKES_VOTE_ACCOUNTS_VALUE_DATA_LENGTH ( 67) +#define STATE_STAKES_VOTE_ACCOUNTS_VALUE_DATA_VARIANT ( 68) +#define STATE_STAKES_VOTE_ACCOUNTS_VALUE_DATA_CURRENT_NODE_PUBKEY ( 69) +#define STATE_STAKES_VOTE_ACCOUNTS_VALUE_DATA_CURRENT_AUTHORIZED_WITHDRAWER ( 70) +#define STATE_STAKES_VOTE_ACCOUNTS_VALUE_DATA_CURRENT_COMMISSION ( 71) +#define STATE_STAKES_VOTE_ACCOUNTS_VALUE_DATA_CURRENT_VOTES_LENGTH ( 72) +#define STATE_STAKES_VOTE_ACCOUNTS_VALUE_DATA_CURRENT_VOTES ( 73) +#define STATE_STAKES_VOTE_ACCOUNTS_VALUE_DATA_CURRENT_ROOT_SLOT_OPTION ( 74) +#define STATE_STAKES_VOTE_ACCOUNTS_VALUE_DATA_CURRENT_ROOT_SLOT ( 75) +#define STATE_STAKES_VOTE_ACCOUNTS_VALUE_DATA_CURRENT_AUTHORIZED_VOTERS_LENGTH ( 76) +#define STATE_STAKES_VOTE_ACCOUNTS_VALUE_DATA_CURRENT_AUTHORIZED_VOTERS ( 77) +#define STATE_STAKES_VOTE_ACCOUNTS_VALUE_DATA_CURRENT_PRIOR_VOTERS ( 78) +#define STATE_STAKES_VOTE_ACCOUNTS_VALUE_DATA_CURRENT_EPOCH_CREDITS_LENGTH ( 79) +#define STATE_STAKES_VOTE_ACCOUNTS_VALUE_DATA_CURRENT_EPOCH_CREDITS ( 80) +#define STATE_STAKES_VOTE_ACCOUNTS_VALUE_DATA_CURRENT_LAST_TIMESTAMP_SLOT ( 81) +#define STATE_STAKES_VOTE_ACCOUNTS_VALUE_DATA_CURRENT_LAST_TIMESTAMP_TIMESTAMP ( 82) +#define STATE_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V11411_NODE_PUBKEY ( 83) +#define STATE_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V11411_AUTHORIZED_WITHDRAWER ( 84) +#define STATE_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V11411_COMMISSION ( 85) +#define STATE_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V11411_VOTES_LENGTH ( 86) +#define STATE_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V11411_VOTES ( 87) +#define STATE_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V11411_ROOT_SLOT_OPTION ( 88) +#define STATE_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V11411_ROOT_SLOT ( 89) +#define STATE_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V11411_AUTHORIZED_VOTERS_LENGTH ( 90) +#define STATE_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V11411_AUTHORIZED_VOTERS ( 91) +#define STATE_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V11411_PRIOR_VOTERS ( 92) +#define STATE_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V11411_EPOCH_CREDITS_LENGTH ( 93) +#define STATE_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V11411_EPOCH_CREDITS ( 94) +#define STATE_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V11411_LAST_TIMESTAMP_SLOT ( 95) +#define STATE_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V11411_LAST_TIMESTAMP_TIMESTAMP ( 96) +#define STATE_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V0235_NODE_PUBKEY ( 97) +#define STATE_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V0235_AUTHORIZED_VOTER ( 98) +#define STATE_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V0235_AUTHORIZED_VOTER_EPOCH ( 99) +#define STATE_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V0235_PRIOR_VOTERS (100) +#define STATE_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V0235_AUTHORIZED_WITHDRAWER (101) +#define STATE_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V0235_COMMISSION (102) +#define STATE_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V0235_VOTES_LENGTH (103) +#define STATE_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V0235_VOTES (104) +#define STATE_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V0235_ROOT_SLOT_OPTION (105) +#define STATE_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V0235_ROOT_SLOT (106) +#define STATE_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V0235_EPOCH_CREDITS_LENGTH (107) +#define STATE_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V0235_EPOCH_CREDITS (108) +#define STATE_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V0235_LAST_TIMESTAMP_SLOT (109) +#define STATE_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V0235_LAST_TIMESTAMP_TIMESTAMP (110) +#define STATE_STAKES_VOTE_ACCOUNTS_VALUE_DATA_DUMMY (111) +#define STATE_STAKES_VOTE_ACCOUNTS_VALUE_OWNER (112) +#define STATE_STAKES_VOTE_ACCOUNTS_VALUE_EXECUTABLE (113) +#define STATE_STAKES_VOTE_ACCOUNTS_VALUE_RENT_EPOCH (114) +#define STATE_STAKES_STAKE_DELEGATIONS_LENGTH (115) +#define STATE_STAKES_STAKE_DELEGATIONS_KEY (116) +#define STATE_STAKES_STAKE_DELEGATIONS_VOTER_PUBKEY (117) +#define STATE_STAKES_STAKE_DELEGATIONS_STAKE (118) +#define STATE_STAKES_STAKE_DELEGATIONS_ACTIVATION_EPOCH (119) +#define STATE_STAKES_STAKE_DELEGATIONS_DEACTIVATION_EPOCH (120) +#define STATE_STAKES_STAKE_DELEGATIONS_WARMUP_COOLDOWN_RATE (121) +#define STATE_STAKES_UNUSED (122) +#define STATE_STAKES_EPOCH (123) +#define STATE_STAKES_STAKE_HISTORY_LENGTH (124) +#define STATE_STAKES_STAKE_HISTORY (125) +#define STATE_UNUSED_ACCOUNTS1_LENGTH (126) +#define STATE_UNUSED_ACCOUNTS1_UNUSED (127) +#define STATE_UNUSED_ACCOUNTS2_LENGTH (128) +#define STATE_UNUSED_ACCOUNTS2_UNUSED (129) +#define STATE_UNUSED_ACCOUNTS3_LENGTH (130) +#define STATE_UNUSED_ACCOUNTS3_UNUSED (131) +#define STATE_EPOCH_STAKES_LENGTH (132) +#define STATE_EPOCH_STAKES_KEY (133) +#define STATE_EPOCH_STAKES_VOTE_ACCOUNTS_LENGTH (134) +#define STATE_EPOCH_STAKES_VOTE_ACCOUNTS_KEY (135) +#define STATE_EPOCH_STAKES_VOTE_ACCOUNTS_STAKE (136) +#define STATE_EPOCH_STAKES_VOTE_ACCOUNTS_VALUE_LAMPORTS (137) +#define STATE_EPOCH_STAKES_VOTE_ACCOUNTS_VALUE_DATA_LENGTH (138) +#define STATE_EPOCH_STAKES_VOTE_ACCOUNTS_VALUE_DATA_VARIANT (139) +#define STATE_EPOCH_STAKES_VOTE_ACCOUNTS_VALUE_DATA_CURRENT_NODE_PUBKEY (140) +#define STATE_EPOCH_STAKES_VOTE_ACCOUNTS_VALUE_DATA_CURRENT_AUTHORIZED_WITHDRAWER (141) +#define STATE_EPOCH_STAKES_VOTE_ACCOUNTS_VALUE_DATA_CURRENT_COMMISSION (142) +#define STATE_EPOCH_STAKES_VOTE_ACCOUNTS_VALUE_DATA_CURRENT_VOTES_LENGTH (143) +#define STATE_EPOCH_STAKES_VOTE_ACCOUNTS_VALUE_DATA_CURRENT_VOTES (144) +#define STATE_EPOCH_STAKES_VOTE_ACCOUNTS_VALUE_DATA_CURRENT_ROOT_SLOT_OPTION (145) +#define STATE_EPOCH_STAKES_VOTE_ACCOUNTS_VALUE_DATA_CURRENT_ROOT_SLOT (146) +#define STATE_EPOCH_STAKES_VOTE_ACCOUNTS_VALUE_DATA_CURRENT_AUTHORIZED_VOTERS_LENGTH (147) +#define STATE_EPOCH_STAKES_VOTE_ACCOUNTS_VALUE_DATA_CURRENT_AUTHORIZED_VOTERS (148) +#define STATE_EPOCH_STAKES_VOTE_ACCOUNTS_VALUE_DATA_CURRENT_PRIOR_VOTERS (149) +#define STATE_EPOCH_STAKES_VOTE_ACCOUNTS_VALUE_DATA_CURRENT_EPOCH_CREDITS_LENGTH (150) +#define STATE_EPOCH_STAKES_VOTE_ACCOUNTS_VALUE_DATA_CURRENT_EPOCH_CREDITS (151) +#define STATE_EPOCH_STAKES_VOTE_ACCOUNTS_VALUE_DATA_CURRENT_LAST_TIMESTAMP_SLOT (152) +#define STATE_EPOCH_STAKES_VOTE_ACCOUNTS_VALUE_DATA_CURRENT_LAST_TIMESTAMP_TIMESTAMP (153) +#define STATE_EPOCH_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V11411_NODE_PUBKEY (154) +#define STATE_EPOCH_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V11411_AUTHORIZED_WITHDRAWER (155) +#define STATE_EPOCH_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V11411_COMMISSION (156) +#define STATE_EPOCH_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V11411_VOTES_LENGTH (157) +#define STATE_EPOCH_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V11411_VOTES (158) +#define STATE_EPOCH_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V11411_ROOT_SLOT_OPTION (159) +#define STATE_EPOCH_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V11411_ROOT_SLOT (160) +#define STATE_EPOCH_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V11411_AUTHORIZED_VOTERS_LENGTH (161) +#define STATE_EPOCH_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V11411_AUTHORIZED_VOTERS (162) +#define STATE_EPOCH_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V11411_PRIOR_VOTERS (163) +#define STATE_EPOCH_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V11411_EPOCH_CREDITS_LENGTH (164) +#define STATE_EPOCH_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V11411_EPOCH_CREDITS (165) +#define STATE_EPOCH_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V11411_LAST_TIMESTAMP_SLOT (166) +#define STATE_EPOCH_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V11411_LAST_TIMESTAMP_TIMESTAMP (167) +#define STATE_EPOCH_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V0235_NODE_PUBKEY (168) +#define STATE_EPOCH_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V0235_AUTHORIZED_VOTER (169) +#define STATE_EPOCH_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V0235_AUTHORIZED_VOTER_EPOCH (170) +#define STATE_EPOCH_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V0235_PRIOR_VOTERS (171) +#define STATE_EPOCH_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V0235_AUTHORIZED_WITHDRAWER (172) +#define STATE_EPOCH_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V0235_COMMISSION (173) +#define STATE_EPOCH_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V0235_VOTES_LENGTH (174) +#define STATE_EPOCH_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V0235_VOTES (175) +#define STATE_EPOCH_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V0235_ROOT_SLOT_OPTION (176) +#define STATE_EPOCH_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V0235_ROOT_SLOT (177) +#define STATE_EPOCH_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V0235_EPOCH_CREDITS_LENGTH (178) +#define STATE_EPOCH_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V0235_EPOCH_CREDITS (179) +#define STATE_EPOCH_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V0235_LAST_TIMESTAMP_SLOT (180) +#define STATE_EPOCH_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V0235_LAST_TIMESTAMP_TIMESTAMP (181) +#define STATE_EPOCH_STAKES_VOTE_ACCOUNTS_VALUE_DATA_DUMMY (182) +#define STATE_EPOCH_STAKES_VOTE_ACCOUNTS_VALUE_OWNER (183) +#define STATE_EPOCH_STAKES_VOTE_ACCOUNTS_VALUE_EXECUTABLE (184) +#define STATE_EPOCH_STAKES_VOTE_ACCOUNTS_VALUE_RENT_EPOCH (185) +#define STATE_EPOCH_STAKES_STAKE_DELEGATIONS_LENGTH (186) +#define STATE_EPOCH_STAKES_STAKE_DELEGATIONS_KEY (187) +#define STATE_EPOCH_STAKES_STAKE_DELEGATIONS_VOTER_PUBKEY (188) +#define STATE_EPOCH_STAKES_STAKE_DELEGATIONS_STAKE (189) +#define STATE_EPOCH_STAKES_STAKE_DELEGATIONS_ACTIVATION_EPOCH (190) +#define STATE_EPOCH_STAKES_STAKE_DELEGATIONS_DEACTIVATION_EPOCH (191) +#define STATE_EPOCH_STAKES_STAKE_DELEGATIONS_WARMUP_COOLDOWN_RATE (192) +#define STATE_EPOCH_STAKES_UNUSED (193) +#define STATE_EPOCH_STAKES_EPOCH (194) +#define STATE_EPOCH_STAKES_STAKE_HISTORY_LENGTH (195) +#define STATE_EPOCH_STAKES_STAKE_HISTORY (196) +#define STATE_EPOCH_STAKES_TOTAL_STAKE (197) +#define STATE_EPOCH_STAKES_NODE_ID_TO_VOTE_ACCOUNTS_LENGTH (198) +#define STATE_EPOCH_STAKES_NODE_ID_TO_VOTE_ACCOUNTS_KEY (199) +#define STATE_EPOCH_STAKES_NODE_ID_TO_VOTE_ACCOUNTS_VOTE_ACCOUNTS_LENGTH (200) +#define STATE_EPOCH_STAKES_NODE_ID_TO_VOTE_ACCOUNTS_VOTE_ACCOUNTS (201) +#define STATE_EPOCH_STAKES_NODE_ID_TO_VOTE_ACCOUNTS_TOTAL_STAKE (202) +#define STATE_EPOCH_STAKES_EPOCH_AUTHORIZED_VOTERS_LENGTH (203) +#define STATE_EPOCH_STAKES_EPOCH_AUTHORIZED_VOTERS (204) +#define STATE_IS_DELTA (205) +#define STATE_ACCOUNTS_DB_STORAGES_LENGTH (206) +#define STATE_ACCOUNTS_DB_STORAGES_SLOT (207) +#define STATE_ACCOUNTS_DB_STORAGES_ACCOUNT_VECS_LENGTH (208) +#define STATE_ACCOUNTS_DB_STORAGES_ACCOUNT_VECS_ID (209) +#define STATE_ACCOUNTS_DB_STORAGES_ACCOUNT_VECS_FILE_SZ (210) +#define STATE_ACCOUNTS_DB_STORAGES_DUMMY (211) +#define STATE_ACCOUNTS_DB_VERSION (212) +#define STATE_ACCOUNTS_DB_SLOT (213) +#define STATE_ACCOUNTS_DB_BANK_HASH_INFO_ACCOUNTS_DELTA_HASH (214) +#define STATE_ACCOUNTS_DB_BANK_HASH_INFO_ACCOUNTS_HASH (215) +#define STATE_ACCOUNTS_DB_BANK_HASH_INFO_STATS_NUM_UPDATED_ACCOUNTS (216) +#define STATE_ACCOUNTS_DB_BANK_HASH_INFO_STATS_NUM_REMOVED_ACCOUNTS (217) +#define STATE_ACCOUNTS_DB_BANK_HASH_INFO_STATS_NUM_LAMPORTS_STORED (218) +#define STATE_ACCOUNTS_DB_BANK_HASH_INFO_STATS_TOTAL_DATA_LEN (219) +#define STATE_ACCOUNTS_DB_BANK_HASH_INFO_STATS_NUM_EXECUTABLE_ACCOUNTS (220) +#define STATE_ACCOUNTS_DB_HISTORICAL_ROOTS_LENGTH (221) +#define STATE_ACCOUNTS_DB_HISTORICAL_ROOTS (222) +#define STATE_ACCOUNTS_DB_HISTORICAL_WITH_HASH_LENGTH (223) +#define STATE_ACCOUNTS_DB_HISTORICAL_WITH_HASH (224) +#define STATE_LAMPORTS_PER_SIGNATURE (225) +#define STATE_BANK_INCREMENTAL_SNAPSHOT_PERSISTENCE_OPTION (226) +#define STATE_BANK_INCREMENTAL_SNAPSHOT_PERSISTENCE_FULL_SLOT (227) +#define STATE_BANK_INCREMENTAL_SNAPSHOT_PERSISTENCE_FULL_HASH (228) +#define STATE_BANK_INCREMENTAL_SNAPSHOT_PERSISTENCE_FULL_CAPITALIZATION (229) +#define STATE_BANK_INCREMENTAL_SNAPSHOT_PERSISTENCE_INCREMENTAL_HASH (230) +#define STATE_BANK_INCREMENTAL_SNAPSHOT_PERSISTENCE_INCREMENTAL_CAPITALIZATION (231) +#define STATE_EPOCH_ACCOUNT_HASH_OPTION (232) +#define STATE_EPOCH_ACCOUNT_HASH (233) +#define STATE_VERSIONED_EPOCH_STAKES_LENGTH (234) +#define STATE_VERSIONED_EPOCH_STAKES_EPOCH (235) +#define STATE_VERSIONED_EPOCH_STAKES_VARIANT (236) +#define STATE_VERSIONED_EPOCH_STAKES_STAKES_VOTE_ACCOUNTS_LENGTH (237) +#define STATE_VERSIONED_EPOCH_STAKES_STAKES_VOTE_ACCOUNTS_KEY (238) +#define STATE_VERSIONED_EPOCH_STAKES_STAKES_VOTE_ACCOUNTS_STAKE (239) +#define STATE_VERSIONED_EPOCH_STAKES_STAKES_VOTE_ACCOUNTS_VALUE_LAMPORTS (240) +#define STATE_VERSIONED_EPOCH_STAKES_STAKES_VOTE_ACCOUNTS_VALUE_DATA_LENGTH (241) +#define STATE_VERSIONED_EPOCH_STAKES_STAKES_VOTE_ACCOUNTS_VALUE_DATA_VARIANT (242) +#define STATE_VERSIONED_EPOCH_STAKES_STAKES_VOTE_ACCOUNTS_VALUE_DATA_CURRENT_NODE_PUBKEY (243) +#define STATE_VERSIONED_EPOCH_STAKES_STAKES_VOTE_ACCOUNTS_VALUE_DATA_CURRENT_AUTHORIZED_WITHDRAWER (244) +#define STATE_VERSIONED_EPOCH_STAKES_STAKES_VOTE_ACCOUNTS_VALUE_DATA_CURRENT_COMMISSION (245) +#define STATE_VERSIONED_EPOCH_STAKES_STAKES_VOTE_ACCOUNTS_VALUE_DATA_CURRENT_VOTES_LENGTH (246) +#define STATE_VERSIONED_EPOCH_STAKES_STAKES_VOTE_ACCOUNTS_VALUE_DATA_CURRENT_VOTES (247) +#define STATE_VERSIONED_EPOCH_STAKES_STAKES_VOTE_ACCOUNTS_VALUE_DATA_CURRENT_ROOT_SLOT_OPTION (248) +#define STATE_VERSIONED_EPOCH_STAKES_STAKES_VOTE_ACCOUNTS_VALUE_DATA_CURRENT_ROOT_SLOT (249) +#define STATE_VERSIONED_EPOCH_STAKES_STAKES_VOTE_ACCOUNTS_VALUE_DATA_CURRENT_AUTHORIZED_VOTERS_LENGTH (250) +#define STATE_VERSIONED_EPOCH_STAKES_STAKES_VOTE_ACCOUNTS_VALUE_DATA_CURRENT_AUTHORIZED_VOTERS (251) +#define STATE_VERSIONED_EPOCH_STAKES_STAKES_VOTE_ACCOUNTS_VALUE_DATA_CURRENT_PRIOR_VOTERS (252) +#define STATE_VERSIONED_EPOCH_STAKES_STAKES_VOTE_ACCOUNTS_VALUE_DATA_CURRENT_EPOCH_CREDITS_LENGTH (253) +#define STATE_VERSIONED_EPOCH_STAKES_STAKES_VOTE_ACCOUNTS_VALUE_DATA_CURRENT_EPOCH_CREDITS (254) +#define STATE_VERSIONED_EPOCH_STAKES_STAKES_VOTE_ACCOUNTS_VALUE_DATA_CURRENT_LAST_TIMESTAMP_SLOT (255) +#define STATE_VERSIONED_EPOCH_STAKES_STAKES_VOTE_ACCOUNTS_VALUE_DATA_CURRENT_LAST_TIMESTAMP_TIMESTAMP (256) +#define STATE_VERSIONED_EPOCH_STAKES_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V11411_NODE_PUBKEY (257) +#define STATE_VERSIONED_EPOCH_STAKES_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V11411_AUTHORIZED_WITHDRAWER (258) +#define STATE_VERSIONED_EPOCH_STAKES_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V11411_COMMISSION (259) +#define STATE_VERSIONED_EPOCH_STAKES_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V11411_VOTES_LENGTH (260) +#define STATE_VERSIONED_EPOCH_STAKES_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V11411_VOTES (261) +#define STATE_VERSIONED_EPOCH_STAKES_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V11411_ROOT_SLOT_OPTION (262) +#define STATE_VERSIONED_EPOCH_STAKES_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V11411_ROOT_SLOT (263) +#define STATE_VERSIONED_EPOCH_STAKES_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V11411_AUTHORIZED_VOTERS_LENGTH (264) +#define STATE_VERSIONED_EPOCH_STAKES_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V11411_AUTHORIZED_VOTERS (265) +#define STATE_VERSIONED_EPOCH_STAKES_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V11411_PRIOR_VOTERS (266) +#define STATE_VERSIONED_EPOCH_STAKES_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V11411_EPOCH_CREDITS_LENGTH (267) +#define STATE_VERSIONED_EPOCH_STAKES_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V11411_EPOCH_CREDITS (268) +#define STATE_VERSIONED_EPOCH_STAKES_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V11411_LAST_TIMESTAMP_SLOT (269) +#define STATE_VERSIONED_EPOCH_STAKES_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V11411_LAST_TIMESTAMP_TIMESTAMP (270) +#define STATE_VERSIONED_EPOCH_STAKES_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V0235_NODE_PUBKEY (271) +#define STATE_VERSIONED_EPOCH_STAKES_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V0235_AUTHORIZED_VOTER (272) +#define STATE_VERSIONED_EPOCH_STAKES_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V0235_AUTHORIZED_VOTER_EPOCH (273) +#define STATE_VERSIONED_EPOCH_STAKES_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V0235_PRIOR_VOTERS (274) +#define STATE_VERSIONED_EPOCH_STAKES_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V0235_AUTHORIZED_WITHDRAWER (275) +#define STATE_VERSIONED_EPOCH_STAKES_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V0235_COMMISSION (276) +#define STATE_VERSIONED_EPOCH_STAKES_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V0235_VOTES_LENGTH (277) +#define STATE_VERSIONED_EPOCH_STAKES_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V0235_VOTES (278) +#define STATE_VERSIONED_EPOCH_STAKES_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V0235_ROOT_SLOT_OPTION (279) +#define STATE_VERSIONED_EPOCH_STAKES_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V0235_ROOT_SLOT (280) +#define STATE_VERSIONED_EPOCH_STAKES_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V0235_EPOCH_CREDITS_LENGTH (281) +#define STATE_VERSIONED_EPOCH_STAKES_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V0235_EPOCH_CREDITS (282) +#define STATE_VERSIONED_EPOCH_STAKES_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V0235_LAST_TIMESTAMP_SLOT (283) +#define STATE_VERSIONED_EPOCH_STAKES_STAKES_VOTE_ACCOUNTS_VALUE_DATA_V0235_LAST_TIMESTAMP_TIMESTAMP (284) +#define STATE_VERSIONED_EPOCH_STAKES_STAKES_VOTE_ACCOUNTS_VALUE_DATA_DUMMY (285) +#define STATE_VERSIONED_EPOCH_STAKES_STAKES_VOTE_ACCOUNTS_VALUE_OWNER (286) +#define STATE_VERSIONED_EPOCH_STAKES_STAKES_VOTE_ACCOUNTS_VALUE_EXECUTABLE (287) +#define STATE_VERSIONED_EPOCH_STAKES_STAKES_VOTE_ACCOUNTS_VALUE_RENT_EPOCH (288) +#define STATE_VERSIONED_EPOCH_STAKES_STAKES_STAKE_DELEGATIONS_LENGTH (289) +#define STATE_VERSIONED_EPOCH_STAKES_STAKES_STAKE_DELEGATIONS_KEY (290) +#define STATE_VERSIONED_EPOCH_STAKES_STAKES_STAKE_DELEGATIONS_VOTER_PUBKEY (291) +#define STATE_VERSIONED_EPOCH_STAKES_STAKES_STAKE_DELEGATIONS_STAKE (292) +#define STATE_VERSIONED_EPOCH_STAKES_STAKES_STAKE_DELEGATIONS_ACTIVATION_EPOCH (293) +#define STATE_VERSIONED_EPOCH_STAKES_STAKES_STAKE_DELEGATIONS_DEACTIVATION_EPOCH (294) +#define STATE_VERSIONED_EPOCH_STAKES_STAKES_STAKE_DELEGATIONS_WARMUP_COOLDOWN_RATE (295) +#define STATE_VERSIONED_EPOCH_STAKES_STAKES_STAKE_DELEGATIONS_CREDITS_OBSERVED (296) +#define STATE_VERSIONED_EPOCH_STAKES_STAKES_UNUSED (297) +#define STATE_VERSIONED_EPOCH_STAKES_STAKES_EPOCH (298) +#define STATE_VERSIONED_EPOCH_STAKES_STAKES_STAKE_HISTORY_LENGTH (299) +#define STATE_VERSIONED_EPOCH_STAKES_STAKES_STAKE_HISTORY (300) +#define STATE_VERSIONED_EPOCH_STAKES_TOTAL_STAKE (301) +#define STATE_VERSIONED_EPOCH_STAKES_NODE_ID_TO_VOTE_ACCOUNTS_LENGTH (302) +#define STATE_VERSIONED_EPOCH_STAKES_NODE_ID_TO_VOTE_ACCOUNTS_KEY (303) +#define STATE_VERSIONED_EPOCH_STAKES_NODE_ID_TO_VOTE_ACCOUNTS_VOTE_ACCOUNTS_LENGTH (304) +#define STATE_VERSIONED_EPOCH_STAKES_NODE_ID_TO_VOTE_ACCOUNTS_VOTE_ACCOUNTS (305) +#define STATE_VERSIONED_EPOCH_STAKES_NODE_ID_TO_VOTE_ACCOUNTS_TOTAL_STAKE (306) +#define STATE_VERSIONED_EPOCH_STAKES_EPOCH_AUTHORIZED_VOTERS_LENGTH (307) +#define STATE_VERSIONED_EPOCH_STAKES_EPOCH_AUTHORIZED_VOTERS (308) +#define STATE_LTHASH_OPTION (309) +#define STATE_LTHASH (310) +#define STATE_DONE (311) struct fd_ssmanifest_parser_private { int state; @@ -369,7 +370,8 @@ state_size( fd_ssmanifest_parser_t * parser ) { case STATE_BLOCKHASH_QUEUE_AGES_TIMESTAMP: return 8UL ; case STATE_BLOCKHASH_QUEUE_MAX_AGE: return 8UL ; case STATE_ANCESTORS_LENGTH: return 8UL ; - case STATE_ANCESTORS: return 16UL*length1; + case STATE_ANCESTORS_SLOT: return 8UL ; + case STATE_ANCESTORS_VAL: return 8UL ; case STATE_HASH: return 32UL ; case STATE_PARENT_HASH: return 32UL ; case STATE_PARENT_SLOT: return 8UL ; @@ -690,8 +692,9 @@ state_dst( fd_ssmanifest_parser_t * parser ) { case STATE_BLOCKHASH_QUEUE_AGES_HASH_INDEX: return (uchar*)&manifest->blockhashes[ idx1 ].hash_index; case STATE_BLOCKHASH_QUEUE_AGES_TIMESTAMP: return (uchar*)&manifest->blockhashes[ idx1 ].timestamp; case STATE_BLOCKHASH_QUEUE_MAX_AGE: return NULL; - case STATE_ANCESTORS_LENGTH: return (uchar*)&parser->length1; - case STATE_ANCESTORS: return NULL; + case STATE_ANCESTORS_LENGTH: return (uchar*)&manifest->ancestors_len; + case STATE_ANCESTORS_SLOT: return (uchar*)&manifest->ancestors[ idx1 ]; + case STATE_ANCESTORS_VAL: return NULL; case STATE_HASH: return manifest->bank_hash; case STATE_PARENT_HASH: return manifest->parent_bank_hash; case STATE_PARENT_SLOT: return (uchar*)&manifest->parent_slot; @@ -1177,6 +1180,13 @@ state_validate( fd_ssmanifest_parser_t * parser ) { } break; } + case STATE_ANCESTORS_LENGTH: { + if( FD_UNLIKELY( !manifest->ancestors_len || manifest->ancestors_len>sizeof(manifest->ancestors)/sizeof(manifest->ancestors[0]) ) ) { + FD_LOG_WARNING(( "invalid ancestors length %lu", manifest->ancestors_len )); + return -1; + } + break; + } case STATE_HARD_FORKS_LENGTH: { if( FD_UNLIKELY( manifest->hard_forks_len>sizeof(manifest->hard_forks)/sizeof(manifest->hard_forks[0]) ) ) { FD_LOG_WARNING(( "invalid hard_forks length %lu", manifest->hard_forks_len )); @@ -1500,6 +1510,7 @@ state_process( fd_ssmanifest_parser_t * parser, int next_target = INT_MAX; switch( parser->state ) { case STATE_BLOCKHASH_QUEUE_AGES_LENGTH: length = manifest->blockhashes_len; idx = &parser->idx1; next_target = STATE_BLOCKHASH_QUEUE_MAX_AGE; break; + case STATE_ANCESTORS_LENGTH: length = manifest->ancestors_len; idx = &parser->idx1; next_target = STATE_HASH; break; case STATE_HARD_FORKS_LENGTH: length = manifest->hard_forks_len; idx = &parser->idx1; next_target = STATE_TRANSACTION_COUNT; break; case STATE_STAKES_VOTE_ACCOUNTS_LENGTH: length = manifest->vote_accounts_len; idx = &parser->idx1; next_target = STATE_STAKES_STAKE_DELEGATIONS_LENGTH; break; case STATE_STAKES_STAKE_DELEGATIONS_LENGTH: length = manifest->stake_delegations_len; idx = &parser->idx1; next_target = STATE_STAKES_UNUSED; break; @@ -1527,6 +1538,7 @@ state_process( fd_ssmanifest_parser_t * parser, int iter_target = INT_MAX; switch( parser->state ) { case STATE_BLOCKHASH_QUEUE_AGES_TIMESTAMP: length = manifest->blockhashes_len; idx = &parser->idx1; next_target = STATE_BLOCKHASH_QUEUE_MAX_AGE; iter_target = STATE_BLOCKHASH_QUEUE_AGES_LENGTH+1UL; break; + case STATE_ANCESTORS_VAL: length = manifest->ancestors_len; idx = &parser->idx1; next_target = STATE_HASH; iter_target = STATE_ANCESTORS_LENGTH+1UL; break; case STATE_HARD_FORKS_VAL: length = manifest->hard_forks_len; idx = &parser->idx1; next_target = STATE_TRANSACTION_COUNT; iter_target = STATE_HARD_FORKS_LENGTH+1UL; break; case STATE_STAKES_VOTE_ACCOUNTS_VALUE_RENT_EPOCH: length = manifest->vote_accounts_len; idx = &parser->idx1; next_target = STATE_STAKES_STAKE_DELEGATIONS_LENGTH; iter_target = STATE_STAKES_VOTE_ACCOUNTS_LENGTH+1UL; break; case STATE_STAKES_STAKE_DELEGATIONS_WARMUP_COOLDOWN_RATE: length = manifest->stake_delegations_len; idx = &parser->idx1; next_target = STATE_STAKES_UNUSED; iter_target = STATE_STAKES_STAKE_DELEGATIONS_LENGTH+1UL; break; diff --git a/src/discof/restore/utils/fd_ssmsg.h b/src/discof/restore/utils/fd_ssmsg.h index 2419c2ae24..227a86655d 100644 --- a/src/discof/restore/utils/fd_ssmsg.h +++ b/src/discof/restore/utils/fd_ssmsg.h @@ -368,6 +368,15 @@ struct fd_snapshot_manifest { /* The fork_id in the status cache for the root slot. */ ushort txncache_fork_id; + /* A list of ancestor slots. The bound comes from + https://github.com/anza-xyz/agave/blob/v3.0.6/accounts-db/src/ancestors.rs#L24 + However in extreme conditons, the bound may be exceeded because + the ancestors data structure in agave contains an unbounded excess + field. If the bound is exceeded, the snapshot is considered + malformed. */ + ulong ancestors_len; + ulong ancestors[ 8192UL ]; + ulong hard_forks_len; ulong hard_forks[ 64UL ];