29 for (
const auto&
event : events) {
31 uint256_t update_metadata_hi = update_metadata >> TIMESTAMP_OF_CHANGE_BIT_SIZE;
35 uint64_t timestamp_of_change =
static_cast<uint64_t
>(
static_cast<uint32_t
>(update_metadata & 0xffffffff));
37 bool hash_not_zero =
event.update_hash != 0;
38 bool timestamp_is_lt_timestamp_of_change =
event.current_timestamp < timestamp_of_change;
39 bool update_pre_class_id_is_zero =
event.update_preimage_pre_class_id == 0;
40 bool update_post_class_id_is_zero =
event.update_preimage_post_class_id == 0;
45 { C::update_check_sel, 1 },
46 { C::update_check_const_three, 3 },
47 { C::update_check_address,
event.address },
48 { C::update_check_current_class_id,
event.current_class_id },
49 { C::update_check_original_class_id,
event.original_class_id },
50 { C::update_check_public_data_tree_root,
event.public_data_tree_root },
51 { C::update_check_timestamp,
event.current_timestamp },
52 { C::update_check_timestamp_pi_offset, AVM_PUBLIC_INPUTS_GLOBAL_VARIABLES_TIMESTAMP_ROW_IDX },
53 { C::update_check_update_hash,
event.update_hash },
54 { C::update_check_update_hash_inv,
event.update_hash },
55 { C::update_check_hash_not_zero, hash_not_zero },
56 { C::update_check_update_preimage_metadata,
event.update_preimage_metadata },
57 { C::update_check_update_preimage_pre_class_id,
event.update_preimage_pre_class_id },
58 { C::update_check_update_preimage_post_class_id,
event.update_preimage_post_class_id },
59 { C::update_check_updated_class_ids_slot, UPDATED_CLASS_IDS_SLOT },
60 { C::update_check_dom_sep_public_storage_map_slot, DOM_SEP__PUBLIC_STORAGE_MAP_SLOT },
61 { C::update_check_delayed_public_mutable_slot,
event.delayed_public_mutable_slot },
62 { C::update_check_delayed_public_mutable_hash_slot,
63 event.delayed_public_mutable_slot + UPDATES_DELAYED_PUBLIC_MUTABLE_VALUES_LEN },
64 { C::update_check_contract_instance_registry_address, CONTRACT_INSTANCE_REGISTRY_CONTRACT_ADDRESS },
65 { C::update_check_timestamp_of_change, timestamp_of_change },
66 { C::update_check_update_hi_metadata, update_metadata_hi },
67 { C::update_check_update_hi_metadata_bit_size,
68 UPDATES_DELAYED_PUBLIC_MUTABLE_METADATA_BIT_SIZE - TIMESTAMP_OF_CHANGE_BIT_SIZE },
69 { C::update_check_timestamp_of_change_bit_size, TIMESTAMP_OF_CHANGE_BIT_SIZE },
70 { C::update_check_timestamp_is_lt_timestamp_of_change, timestamp_is_lt_timestamp_of_change },
71 { C::update_check_update_pre_class_id_is_zero, update_pre_class_id_is_zero },
72 { C::update_check_update_pre_class_inv,
73 event.update_preimage_pre_class_id },
74 { C::update_check_update_post_class_id_is_zero, update_post_class_id_is_zero },
75 { C::update_check_update_post_class_inv,
76 event.update_preimage_post_class_id },
82 trace.invert_columns({ {
83 C::update_check_update_hash_inv,
84 C::update_check_update_pre_class_inv,
85 C::update_check_update_post_class_inv,