Skip to content

Commit 70903f2

Browse files
applicative bootloader: load aggregator program hash func hint
1 parent 06e5ef3 commit 70903f2

4 files changed

Lines changed: 24 additions & 1 deletion

File tree

.github/workflows/upload_artifacts_workflow.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ name: Upload-Artifacts
33
on:
44
push:
55
branches:
6-
- main
6+
- noamp/app_prog_hash_func_hint
77

88
jobs:
99
artifacts-push:

crates/cairo-program-runner-lib/src/hints/applicative_bootloader_hints.rs

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,23 @@ pub fn prepare_aggregator_simple_bootloader_output_segment(
106106
Ok(())
107107
}
108108

109+
/// Implements
110+
/// %{ GET_AGGREGATOR_PROGRAM_HASH_FUNCTION %}
111+
pub fn get_aggregator_program_hash_function(
112+
exec_scopes: &mut ExecutionScopes,
113+
) -> Result<(), HintError> {
114+
let program_input: &String = exec_scopes.get_ref(vars::PROGRAM_INPUT)?;
115+
let applicative_bootloader_input: ApplicativeBootloaderInput =
116+
serde_json::from_str(program_input).unwrap();
117+
exec_scopes.insert_value(
118+
vars::PROGRAM_HASH_FUNCTION,
119+
applicative_bootloader_input
120+
.aggregator_task
121+
.program_hash_function,
122+
);
123+
Ok(())
124+
}
125+
109126
/// Implements
110127
///%{
111128
/// from starkware.cairo.bootloaders.bootloader.objects import BootloaderInput

crates/cairo-program-runner-lib/src/hints/codes.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -240,6 +240,8 @@ pub const VERIFIER_GET_INDEX_LAST_BIT: &str = "ids.bit = ids.current.index & 1";
240240
pub const VERIFIER_DIVIDE_QUERIES_IND_BY_COSET_SIZE_TO_FP_OFFSET: &str =
241241
"memory[fp + 1] = to_felt_or_relocatable(ids.queries.index // ids.params.coset_size)";
242242

243+
pub const APPLICATIVE_GET_PROGRAM_HASH_FUNCTION: &str = "APPLICATIVE_GET_PROGRAM_HASH_FUNCTION";
244+
243245
pub const APPLICATIVE_LOAD_INPUTS: &str =
244246
"from starkware.cairo.bootloaders.applicative_bootloader.objects import (
245247
ApplicativeBootloaderInput,

crates/cairo-program-runner-lib/src/hints/hint_processors.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ use cairo_vm::vm::errors::hint_errors::HintError;
1313
use cairo_vm::vm::runners::cairo_runner::ResourceTracker;
1414
use cairo_vm::vm::vm_core::VirtualMachine;
1515

16+
use crate::hints::applicative_bootloader_hints::get_aggregator_program_hash_function;
1617
use crate::hints::bootloader_hints::{
1718
assert_is_composite_packed_output, assert_program_address,
1819
compute_and_configure_fact_topologies, compute_and_configure_fact_topologies_simple,
@@ -190,6 +191,9 @@ impl HintProcessorLogic for MinimalBootloaderHintProcessor {
190191
ids_data,
191192
ap_tracking,
192193
),
194+
APPLICATIVE_GET_PROGRAM_HASH_FUNCTION => {
195+
get_aggregator_program_hash_function(exec_scopes)
196+
}
193197
APPLICATIVE_SET_UP_UNPACKER_INPUTS => {
194198
prepare_root_task_unpacker_bootloader_output_segment(
195199
vm,

0 commit comments

Comments
 (0)