From fb0bc1205005514a7fad9255fcaff37b49fa4618 Mon Sep 17 00:00:00 2001 From: Bartosz Nowak Date: Wed, 22 May 2024 18:21:53 +0200 Subject: [PATCH 01/19] testing contract --- cairo1/contract.json | 251 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 251 insertions(+) create mode 100644 cairo1/contract.json diff --git a/cairo1/contract.json b/cairo1/contract.json new file mode 100644 index 0000000..1acc529 --- /dev/null +++ b/cairo1/contract.json @@ -0,0 +1,251 @@ +{ + "prime": "0x800000000000011000000000000000000000000000000000000000000000001", + "compiler_version": "2.6.3", + "bytecode": [ + "0xa0680017fff8000", + "0x7", + "0x482680017ffa8000", + "0x100000000000000000000000000000000", + "0x400280007ff97fff", + "0x10780017fff7fff", + "0x49", + "0x4825800180007ffa", + "0x0", + "0x400280007ff97fff", + "0x482680017ff98000", + "0x1", + "0x48297ffc80007ffd", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x10", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x496e70757420746f6f206c6f6e6720666f7220617267756d656e7473", + "0x400080007ffe7fff", + "0x48127ffc7fff8000", + "0x48127ffa7fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x482480017ff98000", + "0x1", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x3e", + "0x482480017fff8000", + "0x3d", + "0x480080007fff8000", + "0xa0680017fff8000", + "0x9", + "0x4824800180007ff8", + "0x0", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080007ff77fff", + "0x10780017fff7fff", + "0x14", + "0x4824800180007ff8", + "0x0", + "0x400080007ff87fff", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0xfffffff0f", + "0x400080007ffe7fff", + "0x482480017ff68000", + "0x1", + "0x48127ffc7fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x0", + "0x48127ffa7fff8000", + "0x482480017ff98000", + "0x1", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x4f7574206f6620676173", + "0x400080007ffe7fff", + "0x482480017ff58000", + "0x1", + "0x48127ff37fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x482480017ff98000", + "0x1", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x4f7574206f6620676173", + "0x400080007ffe7fff", + "0x482680017ff98000", + "0x1", + "0x480a7ffa7fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x482480017ff98000", + "0x1", + "0x208b7fff7fff7ffe" + ], + "bytecode_segment_lengths": [ + 93 + ], + "hints": [ + [ + 0, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Immediate": "0x0" + }, + "rhs": { + "Deref": { + "register": "FP", + "offset": -6 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 17, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 36, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Immediate": "0x0" + }, + "rhs": { + "Deref": { + "register": "AP", + "offset": -7 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 48, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 63, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 78, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ] + ], + "pythonic_hints": [ + [ + 0, + [ + "memory[ap + 0] = 0 <= memory[fp + -6]" + ] + ], + [ + 17, + [ + "memory[ap + 0] = segments.add()" + ] + ], + [ + 36, + [ + "memory[ap + 0] = 0 <= memory[ap + -7]" + ] + ], + [ + 48, + [ + "memory[ap + 0] = segments.add()" + ] + ], + [ + 63, + [ + "memory[ap + 0] = segments.add()" + ] + ], + [ + 78, + [ + "memory[ap + 0] = segments.add()" + ] + ] + ], + "entry_points_by_type": { + "EXTERNAL": [ + { + "selector": "0x36fbc999025b89d36d31dc2f9c0a03b4377755e1f27e0e42a385aaba90f61a6", + "offset": 0, + "builtins": [ + "range_check" + ] + } + ], + "L1_HANDLER": [], + "CONSTRUCTOR": [] + } +} \ No newline at end of file From ccd0cdb784fcdb77e38d33888eb01886daa66e34 Mon Sep 17 00:00:00 2001 From: Bartosz Nowak Date: Wed, 22 May 2024 22:28:10 +0200 Subject: [PATCH 02/19] constract class decoded into cairo0 --- bootloader_input.json | 257 ++++++++++- cairo0-bootloader/bootloader/hash_program.py | 31 +- cairo0-bootloader/bootloader/objects.py | 181 +------- .../bootloader/recursive/builtins.py | 2 +- .../recursive_with_poseidon/builtins.py | 2 +- .../bootloader/starknet/builtins.py | 2 +- .../starknet/simple_bootloader.cairo | 69 ++- .../starknet_with_keccak/builtins.py | 2 +- cairo0-bootloader/bootloader/utils.py | 55 ++- cairo0-bootloader/contract_class/__init__.py | 0 .../contract_class/compiled_class.cairo | 416 ++++++++++++++++++ .../compiled_class_hash_utils.py | 110 +++++ .../contract_class/contract_class.cairo | 83 ++++ .../contract_class/contract_class.py | 390 ++++++++++++++++ cairo0-bootloader/contract_class/run.py | 5 + cairo0-bootloader/setup.py | 3 +- compile.py | 10 +- install.py | 10 +- run.py | 2 +- 19 files changed, 1383 insertions(+), 247 deletions(-) create mode 100644 cairo0-bootloader/contract_class/__init__.py create mode 100644 cairo0-bootloader/contract_class/compiled_class.cairo create mode 100644 cairo0-bootloader/contract_class/compiled_class_hash_utils.py create mode 100644 cairo0-bootloader/contract_class/contract_class.cairo create mode 100644 cairo0-bootloader/contract_class/contract_class.py create mode 100644 cairo0-bootloader/contract_class/run.py diff --git a/bootloader_input.json b/bootloader_input.json index 508f1ed..a8b7b48 100644 --- a/bootloader_input.json +++ b/bootloader_input.json @@ -1,10 +1,253 @@ { - "tasks": [ - { - "type": "CairoSierra", - "path": "cairo1/target/dev/example.sierra.json", - "use_poseidon": true + "compiled_class": { + "prime": "0x800000000000011000000000000000000000000000000000000000000000001", + "compiler_version": "2.6.3", + "bytecode": [ + "0xa0680017fff8000", + "0x7", + "0x482680017ffa8000", + "0x100000000000000000000000000000000", + "0x400280007ff97fff", + "0x10780017fff7fff", + "0x49", + "0x4825800180007ffa", + "0x0", + "0x400280007ff97fff", + "0x482680017ff98000", + "0x1", + "0x48297ffc80007ffd", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x10", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x496e70757420746f6f206c6f6e6720666f7220617267756d656e7473", + "0x400080007ffe7fff", + "0x48127ffc7fff8000", + "0x48127ffa7fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x482480017ff98000", + "0x1", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x3e", + "0x482480017fff8000", + "0x3d", + "0x480080007fff8000", + "0xa0680017fff8000", + "0x9", + "0x4824800180007ff8", + "0x0", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080007ff77fff", + "0x10780017fff7fff", + "0x14", + "0x4824800180007ff8", + "0x0", + "0x400080007ff87fff", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0xfffffff0f", + "0x400080007ffe7fff", + "0x482480017ff68000", + "0x1", + "0x48127ffc7fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x0", + "0x48127ffa7fff8000", + "0x482480017ff98000", + "0x1", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x4f7574206f6620676173", + "0x400080007ffe7fff", + "0x482480017ff58000", + "0x1", + "0x48127ff37fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x482480017ff98000", + "0x1", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x4f7574206f6620676173", + "0x400080007ffe7fff", + "0x482680017ff98000", + "0x1", + "0x480a7ffa7fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x482480017ff98000", + "0x1", + "0x208b7fff7fff7ffe" + ], + "bytecode_segment_lengths": [ + 93 + ], + "hints": [ + [ + 0, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Immediate": "0x0" + }, + "rhs": { + "Deref": { + "register": "FP", + "offset": -6 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 17, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 36, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Immediate": "0x0" + }, + "rhs": { + "Deref": { + "register": "AP", + "offset": -7 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 48, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 63, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 78, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ] + ], + "pythonic_hints": [ + [ + 0, + [ + "memory[ap + 0] = 0 <= memory[fp + -6]" + ] + ], + [ + 17, + [ + "memory[ap + 0] = segments.add()" + ] + ], + [ + 36, + [ + "memory[ap + 0] = 0 <= memory[ap + -7]" + ] + ], + [ + 48, + [ + "memory[ap + 0] = segments.add()" + ] + ], + [ + 63, + [ + "memory[ap + 0] = segments.add()" + ] + ], + [ + 78, + [ + "memory[ap + 0] = segments.add()" + ] + ] + ], + "entry_points_by_type": { + "EXTERNAL": [ + { + "selector": "0x36fbc999025b89d36d31dc2f9c0a03b4377755e1f27e0e42a385aaba90f61a6", + "offset": 0, + "builtins": [ + "range_check" + ] + } + ], + "L1_HANDLER": [], + "CONSTRUCTOR": [] } - ], - "single_page": true + } } \ No newline at end of file diff --git a/cairo0-bootloader/bootloader/hash_program.py b/cairo0-bootloader/bootloader/hash_program.py index de59519..40b34ed 100644 --- a/cairo0-bootloader/bootloader/hash_program.py +++ b/cairo0-bootloader/bootloader/hash_program.py @@ -4,17 +4,26 @@ from starkware.cairo.common.hash_chain import compute_hash_chain from starkware.cairo.lang.compiler.program import Program, ProgramBase from starkware.cairo.lang.version import __version__ -from starkware.cairo.lang.vm.crypto import get_crypto_lib_context_manager, poseidon_hash_many +from starkware.cairo.lang.vm.crypto import ( + get_crypto_lib_context_manager, + poseidon_hash_many, +) from starkware.python.utils import from_bytes -def compute_program_hash_chain(program: ProgramBase, use_poseidon: bool, bootloader_version=0): +def compute_program_hash_chain( + program: ProgramBase, use_poseidon: bool, bootloader_version=0 +): """ Computes a hash chain over a program, including the length of the data chain. """ builtin_list = [from_bytes(builtin.encode("ascii")) for builtin in program.builtins] # The program header below is missing the data length, which is later added to the data_chain. - program_header = [bootloader_version, program.main, len(program.builtins)] + builtin_list + program_header = [ + bootloader_version, + program.main, + len(program.builtins), + ] + builtin_list data_chain = program_header + program.data if use_poseidon: @@ -23,8 +32,12 @@ def compute_program_hash_chain(program: ProgramBase, use_poseidon: bool, bootloa def main(): - parser = argparse.ArgumentParser(description="A tool to compute the hash of a cairo program") - parser.add_argument("-v", "--version", action="version", version=f"%(prog)s {__version__}") + parser = argparse.ArgumentParser( + description="A tool to compute the hash of a cairo program" + ) + parser.add_argument( + "-v", "--version", action="version", version=f"%(prog)s {__version__}" + ) parser.add_argument( "--program", type=argparse.FileType("r"), @@ -48,7 +61,13 @@ def main(): with get_crypto_lib_context_manager(args.flavor): program = Program.Schema().load(json.load(args.program)) - print(hex(compute_program_hash_chain(program=program, use_poseidon=args.use_poseidon))) + print( + hex( + compute_program_hash_chain( + program=program, use_poseidon=args.use_poseidon + ) + ) + ) if __name__ == "__main__": diff --git a/cairo0-bootloader/bootloader/objects.py b/cairo0-bootloader/bootloader/objects.py index 71fc221..d69b265 100644 --- a/cairo0-bootloader/bootloader/objects.py +++ b/cairo0-bootloader/bootloader/objects.py @@ -1,177 +1,12 @@ -import os -import tempfile -import subprocess -import dataclasses -from abc import abstractmethod -from dataclasses import field -from typing import ClassVar, Dict, List, Optional, Type - -import marshmallow -import marshmallow.fields as mfields import marshmallow_dataclass -from marshmallow_oneofschema import OneOfSchema - -from starkware.cairo.lang.compiler.program import Program, ProgramBase, StrippedProgram -from starkware.cairo.lang.vm.cairo_pie import CairoPie -from starkware.starkware_utils.marshmallow_dataclass_fields import additional_metadata -from starkware.starkware_utils.validated_dataclass import ValidatedMarshmallowDataclass - - -class TaskSpec(ValidatedMarshmallowDataclass): - """ - Contains task's specification. - """ - - @abstractmethod - def load_task(self, memory=None, args_start=None, args_len=None) -> "Task": - """ - Returns the corresponding task. - """ - - -class Task: - @abstractmethod - def get_program(self) -> ProgramBase: - """ - Returns the task's Cairo program. - """ +from contract_class.contract_class import ( + CompiledClass, +) +from starkware.starkware_utils.validated_dataclass import ( + ValidatedMarshmallowDataclass, +) @marshmallow_dataclass.dataclass(frozen=True) -class RunProgramTask(TaskSpec, Task): - TYPE: ClassVar[str] = "RunProgramTask" - program: Program - program_input: dict - use_poseidon: bool - - def get_program(self) -> Program: - return self.program - - def load_task(self, memory=None, args_start=None, args_len=None) -> "Task": - return self - - -@marshmallow_dataclass.dataclass(frozen=True) -class CairoPiePath(TaskSpec): - TYPE: ClassVar[str] = "CairoPiePath" - path: str - use_poseidon: bool - - def load_task(self, memory=None, args_start=None, args_len=None) -> "CairoPieTask": - """ - Loads the PIE to memory. - """ - return CairoPieTask( - cairo_pie=CairoPie.from_file(self.path), use_poseidon=self.use_poseidon - ) - - -@marshmallow_dataclass.dataclass(frozen=True) -class Cairo1ProgramPath(TaskSpec): - TYPE: ClassVar[str] = "Cairo1ProgramPath" - path: str - use_poseidon: bool - - def load_task(self, memory=None, args_start=None, args_len=None) -> "CairoPieTask": - """ - Builds and Loads the PIE to memory. - """ - with tempfile.NamedTemporaryFile() as cairo_pie_file: - cairo_pie_file_path = cairo_pie_file.name - - args = [memory[args_start.address_ + i] for i in range(args_len)] - formatted_args = f'[{" ".join(map(str, args))}]' - - subprocess.run( - [ - "cairo1-run", - self.path, - "--layout", - "all_cairo", - "--args", - formatted_args, - "--cairo_pie_output", - cairo_pie_file_path, - "--append_return_values", - ], - check=True, - ) - - return CairoPieTask( - cairo_pie=CairoPie.from_file(cairo_pie_file_path), - use_poseidon=self.use_poseidon, - ) - -@marshmallow_dataclass.dataclass(frozen=True) -class CairoSierra(TaskSpec): - TYPE: ClassVar[str] = "CairoSierra" - path: str - use_poseidon: bool - - def load_task(self, memory=None, args_start=None, args_len=None) -> "CairoPieTask": - """ - Builds and Loads the PIE to memory. - """ - with tempfile.NamedTemporaryFile() as cairo_pie_file: - cairo_pie_file_path = cairo_pie_file.name - - args = [memory[args_start.address_ + i] for i in range(args_len)] - formatted_args = f'[{" ".join(map(str, args))}]' - - subprocess.run( - [ - "runner", - "--sierra_program", - self.path, - "--args", - formatted_args, - "--cairo_pie_output", - cairo_pie_file_path, - ], - check=True, - ) - - return CairoPieTask( - cairo_pie=CairoPie.from_file(cairo_pie_file_path), - use_poseidon=self.use_poseidon, - ) - - -class TaskSchema(OneOfSchema): - """ - Schema for Task/CairoPiePath/Cairo1ProgramPath/CairoSierra - OneOfSchema adds a "type" field. - """ - - type_schemas: Dict[str, Type[marshmallow.Schema]] = { - RunProgramTask.TYPE: RunProgramTask.Schema, - CairoPiePath.TYPE: CairoPiePath.Schema, - Cairo1ProgramPath.TYPE: Cairo1ProgramPath.Schema, - CairoSierra.TYPE: CairoSierra.Schema, - } - - def get_obj_type(self, obj): - return obj.TYPE - - -@dataclasses.dataclass(frozen=True) -class CairoPieTask(Task): - cairo_pie: CairoPie - use_poseidon: bool - - def get_program(self) -> StrippedProgram: - return self.cairo_pie.program - - -@marshmallow_dataclass.dataclass(frozen=True) -class SimpleBootloaderInput(ValidatedMarshmallowDataclass): - tasks: List[TaskSpec] = field( - metadata=additional_metadata( - marshmallow_field=mfields.List(mfields.Nested(TaskSchema)) - ) - ) - fact_topologies_path: Optional[str] - - # If true, the bootloader will put all the outputs in a single page, ignoring the - # tasks' fact topologies. - single_page: bool +class ContractBootloaderInput(ValidatedMarshmallowDataclass): + compiled_class: CompiledClass = CompiledClass diff --git a/cairo0-bootloader/bootloader/recursive/builtins.py b/cairo0-bootloader/bootloader/recursive/builtins.py index afd5fe2..a94d066 100644 --- a/cairo0-bootloader/bootloader/recursive/builtins.py +++ b/cairo0-bootloader/bootloader/recursive/builtins.py @@ -7,4 +7,4 @@ RANGE_CHECK_BUILTIN, BITWISE_BUILTIN, ] -) \ No newline at end of file +) diff --git a/cairo0-bootloader/bootloader/recursive_with_poseidon/builtins.py b/cairo0-bootloader/bootloader/recursive_with_poseidon/builtins.py index bb4b337..78f19ac 100644 --- a/cairo0-bootloader/bootloader/recursive_with_poseidon/builtins.py +++ b/cairo0-bootloader/bootloader/recursive_with_poseidon/builtins.py @@ -8,4 +8,4 @@ BITWISE_BUILTIN, POSEIDON_BUILTIN, ] -) \ No newline at end of file +) diff --git a/cairo0-bootloader/bootloader/starknet/builtins.py b/cairo0-bootloader/bootloader/starknet/builtins.py index 5a7ff01..1bb01a3 100644 --- a/cairo0-bootloader/bootloader/starknet/builtins.py +++ b/cairo0-bootloader/bootloader/starknet/builtins.py @@ -10,4 +10,4 @@ EC_OP_BUILTIN, POSEIDON_BUILTIN, ] -) \ No newline at end of file +) diff --git a/cairo0-bootloader/bootloader/starknet/simple_bootloader.cairo b/cairo0-bootloader/bootloader/starknet/simple_bootloader.cairo index f462a16..2961a4c 100644 --- a/cairo0-bootloader/bootloader/starknet/simple_bootloader.cairo +++ b/cairo0-bootloader/bootloader/starknet/simple_bootloader.cairo @@ -15,36 +15,57 @@ func main{ ec_op_ptr, poseidon_ptr: PoseidonBuiltin*, }() { + alloc_locals; + local compiled_class; + %{ - from bootloader.objects import SimpleBootloaderInput - simple_bootloader_input = SimpleBootloaderInput.Schema().load(program_input) + from bootloader.objects import ContractBootloaderInput + contract_bootloader_input = ContractBootloaderInput.Schema().load(program_input) %} - // Execute tasks. - run_simple_bootloader(); - + // Fetch contract data form hints. %{ - # Dump fact topologies to a json file. - from bootloader.utils import ( - configure_fact_topologies, - write_to_fact_topologies_file, + from starkware.starknet.core.os.contract_class.compiled_class_hash import create_bytecode_segment_structure + from contract_class.compiled_class_hash_utils import get_compiled_class_struct + + bytecode_segment_structure = create_bytecode_segment_structure( + bytecode=contract_bootloader_input.compiled_class.bytecode, + bytecode_segment_lengths=contract_bootloader_input.compiled_class.bytecode_segment_lengths, + visited_pcs=None, ) - # The task-related output is prefixed by a single word that contains the number of tasks. - tasks_output_start = output_builtin.base + 1 - - if not simple_bootloader_input.single_page: - # Configure the memory pages in the output builtin, based on fact_topologies. - configure_fact_topologies( - fact_topologies=fact_topologies, output_start=tasks_output_start, - output_builtin=output_builtin, - ) - - if simple_bootloader_input.fact_topologies_path is not None: - write_to_fact_topologies_file( - fact_topologies_path=simple_bootloader_input.fact_topologies_path, - fact_topologies=fact_topologies, - ) + cairo_contract = get_compiled_class_struct( + compiled_class=contract_bootloader_input.compiled_class, + bytecode=bytecode_segment_structure.bytecode_with_skipped_segments() + ) + ids.compiled_class = segments.gen_arg(cairo_contract) %} + + // // Execute tasks. + // run_simple_bootloader(); + + // %{ + // # Dump fact topologies to a json file. + // from bootloader.utils import ( + // configure_fact_topologies, + // write_to_fact_topologies_file, + // ) + + // # The task-related output is prefixed by a single word that contains the number of tasks. + // tasks_output_start = output_builtin.base + 1 + + // if not simple_bootloader_input.single_page: + // # Configure the memory pages in the output builtin, based on fact_topologies. + // configure_fact_topologies( + // fact_topologies=fact_topologies, output_start=tasks_output_start, + // output_builtin=output_builtin, + // ) + + // if simple_bootloader_input.fact_topologies_path is not None: + // write_to_fact_topologies_file( + // fact_topologies_path=simple_bootloader_input.fact_topologies_path, + // fact_topologies=fact_topologies, + // ) + // %} return (); } \ No newline at end of file diff --git a/cairo0-bootloader/bootloader/starknet_with_keccak/builtins.py b/cairo0-bootloader/bootloader/starknet_with_keccak/builtins.py index e5deb82..0e7b9b8 100644 --- a/cairo0-bootloader/bootloader/starknet_with_keccak/builtins.py +++ b/cairo0-bootloader/bootloader/starknet_with_keccak/builtins.py @@ -11,4 +11,4 @@ KECCAK_BUILTIN, POSEIDON_BUILTIN, ] -) \ No newline at end of file +) diff --git a/cairo0-bootloader/bootloader/utils.py b/cairo0-bootloader/bootloader/utils.py index 2adf4b5..4aeed90 100644 --- a/cairo0-bootloader/bootloader/utils.py +++ b/cairo0-bootloader/bootloader/utils.py @@ -14,7 +14,11 @@ from starkware.cairo.lang.compiler.program import Program from starkware.cairo.lang.vm.cairo_pie import CairoPie, ExecutionResources from starkware.cairo.lang.vm.output_builtin_runner import OutputBuiltinRunner -from starkware.cairo.lang.vm.relocatable import MaybeRelocatable, RelocatableValue, relocate_value +from starkware.cairo.lang.vm.relocatable import ( + MaybeRelocatable, + RelocatableValue, + relocate_value, +) from starkware.python.utils import WriteOnceDict, from_bytes SIMPLE_BOOTLOADER_COMPILED_PATH = os.path.join( @@ -89,7 +93,7 @@ def write_return_builtins( used_builtins_addr, pre_execution_builtins_addr, task, - all_builtins + all_builtins, ): """ Writes the updated builtin pointers after the program execution to the given return builtins @@ -100,7 +104,9 @@ def write_return_builtins( used_builtin_offset = 0 for index, builtin in enumerate(all_builtins): if builtin in used_builtins: - memory[return_builtins_addr + index] = memory[used_builtins_addr + used_builtin_offset] + memory[return_builtins_addr + index] = memory[ + used_builtins_addr + used_builtin_offset + ] used_builtin_offset += 1 if isinstance(task, CairoPie): @@ -110,7 +116,9 @@ def write_return_builtins( ), "Builtin usage is inconsistent with the CairoPie." else: # The builtin is unused, hence its value is the same as before calling the program. - memory[return_builtins_addr + index] = memory[pre_execution_builtins_addr + index] + memory[return_builtins_addr + index] = memory[ + pre_execution_builtins_addr + index + ] def load_cairo_pie( @@ -168,8 +176,12 @@ def local_relocate_value(value): esdsa_additional_data = task.additional_data.get("ecdsa_builtin") if esdsa_additional_data is not None: ecdsa_builtin = builtin_runners.get("ecdsa_builtin") - assert ecdsa_builtin is not None, "The task requires the ecdsa builtin but it is missing." - ecdsa_builtin.extend_additional_data(esdsa_additional_data, local_relocate_value) + assert ( + ecdsa_builtin is not None + ), "The task requires the ecdsa builtin but it is missing." + ecdsa_builtin.extend_additional_data( + esdsa_additional_data, local_relocate_value + ) for addr, val in task.memory.items(): memory[local_relocate_value(addr)] = local_relocate_value(val) @@ -220,7 +232,9 @@ def get_task_fact_topology( assert output_runner_data is None fact_topology = get_fact_topology_from_additional_data( output_size=output_size, - output_builtin_additional_data=task.cairo_pie.additional_data["output_builtin"], + output_builtin_additional_data=task.cairo_pie.additional_data[ + "output_builtin" + ], ) else: raise NotImplementedError(f"Unexpected task type: {type(task).__name__}.") @@ -237,7 +251,9 @@ def add_consecutive_output_pages( offset = 0 for i, page_size in enumerate(fact_topology.page_sizes): output_builtin.add_page( - page_id=cur_page_id + i, page_start=output_start + offset, page_size=page_size + page_id=cur_page_id + i, + page_start=output_start + offset, + page_size=page_size, ) offset += page_size @@ -268,10 +284,14 @@ def configure_fact_topologies( output_start += sum(fact_topology.page_sizes) -def write_to_fact_topologies_file(fact_topologies_path: str, fact_topologies: List[FactTopology]): +def write_to_fact_topologies_file( + fact_topologies_path: str, fact_topologies: List[FactTopology] +): with open(fact_topologies_path, "w") as fp: json.dump( - FactTopologiesFile.Schema().dump(FactTopologiesFile(fact_topologies=fact_topologies)), + FactTopologiesFile.Schema().dump( + FactTopologiesFile(fact_topologies=fact_topologies) + ), fp, indent=4, sort_keys=True, @@ -279,17 +299,24 @@ def write_to_fact_topologies_file(fact_topologies_path: str, fact_topologies: Li fp.write("\n") -def calc_simple_bootloader_execution_resources(program_length: int) -> ExecutionResources: +def calc_simple_bootloader_execution_resources( + program_length: int, +) -> ExecutionResources: """ Returns an upper bound on the number of steps and builtin instances that the simple bootloader uses. """ - n_steps = SIMPLE_BOOTLOADER_N_STEPS_RATIO * program_length + SIMPLE_BOOTLOADER_N_STEPS_CONSTANT + n_steps = ( + SIMPLE_BOOTLOADER_N_STEPS_RATIO * program_length + + SIMPLE_BOOTLOADER_N_STEPS_CONSTANT + ) builtin_instance_counter = { "pedersen_builtin": SIMPLE_BOOTLOADER_N_PEDERSEN + program_length, "range_check_builtin": SIMPLE_BOOTLOADER_N_RANGE_CHECKS, "output_builtin": SIMPLE_BOOTLOADER_N_OUTPUT, } return ExecutionResources( - n_steps=n_steps, builtin_instance_counter=builtin_instance_counter, n_memory_holes=0 - ) \ No newline at end of file + n_steps=n_steps, + builtin_instance_counter=builtin_instance_counter, + n_memory_holes=0, + ) diff --git a/cairo0-bootloader/contract_class/__init__.py b/cairo0-bootloader/contract_class/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/cairo0-bootloader/contract_class/compiled_class.cairo b/cairo0-bootloader/contract_class/compiled_class.cairo new file mode 100644 index 0000000..86afc53 --- /dev/null +++ b/cairo0-bootloader/contract_class/compiled_class.cairo @@ -0,0 +1,416 @@ +from starkware.cairo.common.alloc import alloc +from starkware.cairo.common.cairo_builtins import PoseidonBuiltin +from starkware.cairo.common.hash_state_poseidon import ( + HashState, + hash_finalize, + hash_init, + hash_update_single, + hash_update_with_nested_hash, + poseidon_hash_many, +) +from starkware.cairo.common.math import assert_lt_felt +from starkware.cairo.common.poseidon_state import PoseidonBuiltinState +from starkware.cairo.common.registers import get_fp_and_pc + +const COMPILED_CLASS_VERSION = 'COMPILED_CLASS_V1'; + +struct CompiledClassEntryPoint { + // A field element that encodes the signature of the called function. + selector: felt, + // The offset of the instruction that should be called within the contract bytecode. + offset: felt, + // The number of builtins in 'builtin_list'. + n_builtins: felt, + // 'builtin_list' is a continuous memory segment containing the ASCII encoding of the (ordered) + // builtins used by the function. + builtin_list: felt*, +} + +struct CompiledClass { + compiled_class_version: felt, + + // The length and pointer to the external entry point table of the contract. + n_external_functions: felt, + external_functions: CompiledClassEntryPoint*, + + // The length and pointer to the L1 handler entry point table of the contract. + n_l1_handlers: felt, + l1_handlers: CompiledClassEntryPoint*, + + // The length and pointer to the constructor entry point table of the contract. + n_constructors: felt, + constructors: CompiledClassEntryPoint*, + + // The length and pointer of the bytecode. + bytecode_length: felt, + bytecode_ptr: felt*, +} + +// Checks that the list of selectors is sorted. +func validate_entry_points{range_check_ptr}( + n_entry_points: felt, entry_points: CompiledClassEntryPoint* +) { + if (n_entry_points == 0) { + return (); + } + + return validate_entry_points_inner( + n_entry_points=n_entry_points - 1, + entry_points=&entry_points[1], + prev_selector=entry_points[0].selector, + ); +} + +// Inner function for validate_entry_points. +func validate_entry_points_inner{range_check_ptr}( + n_entry_points: felt, entry_points: CompiledClassEntryPoint*, prev_selector +) { + if (n_entry_points == 0) { + return (); + } + + assert_lt_felt(prev_selector, entry_points[0].selector); + + return validate_entry_points_inner( + n_entry_points=n_entry_points - 1, + entry_points=&entry_points[1], + prev_selector=entry_points[0].selector, + ); +} + +func compiled_class_hash{range_check_ptr, poseidon_ptr: PoseidonBuiltin*}( + compiled_class: CompiledClass* +) -> (hash: felt) { + alloc_locals; + assert compiled_class.compiled_class_version = COMPILED_CLASS_VERSION; + + let hash_state: HashState = hash_init(); + with hash_state { + hash_update_single(item=compiled_class.compiled_class_version); + + // Hash external entry points. + hash_entry_points( + entry_points=compiled_class.external_functions, + n_entry_points=compiled_class.n_external_functions, + ); + + // Hash L1 handler entry points. + hash_entry_points( + entry_points=compiled_class.l1_handlers, n_entry_points=compiled_class.n_l1_handlers + ); + + // Hash constructor entry points. + hash_entry_points( + entry_points=compiled_class.constructors, n_entry_points=compiled_class.n_constructors + ); + + // Hash bytecode. + let bytecode_hash = bytecode_hash_node( + data_ptr=compiled_class.bytecode_ptr, data_length=compiled_class.bytecode_length + ); + hash_update_single(item=bytecode_hash); + } + + let hash: felt = hash_finalize(hash_state=hash_state); + return (hash=hash); +} + +// Returns the hash of the contract class bytecode according to its segments. +// +// The hash is computed according to a segment tree. Each segment may be either a leaf or divided +// into smaller segments (internal node). +// For example, the bytecode may be divided into functions and each function can be divided +// according to its branches. +// +// The hash of a leaf is the Poseidon hash the data. +// The hash of an internal node is `1 + poseidon(len0, hash0, len1, hash1, ...)` where +// len0 is the total length of the first segment, hash0 is the hash of the first segment, and so on. +// +// For each segment, the *prover* can choose whether to load or skip the segment. +// +// * Loaded segment: +// For leaves, the data will be fully loaded into memory. +// For internal nodes, the prover can choose to load/skip each of the children separately. +// +// * Skipped segment: +// The inner structure of that segment is ignored. +// The only guarantee is that the first field element is enforced to be -1. +// The rest of the field elements are unconstrained. +// The fact that a skipped segment is guaranteed to begin with -1 implies that the execution of +// the program cannot visit the start of the segment, as -1 is not a valid Cairo opcode. +// +// In the example above of division according to functions and branches, a function may be skipped +// entirely or partially. +// As long as one function does not jump into the middle of another function and as long as there +// are no jumps into the middle of a branch segment, the loading process described above will be +// sound. +func bytecode_hash_node{range_check_ptr, poseidon_ptr: PoseidonBuiltin*}( + data_ptr: felt*, data_length: felt +) -> felt { + alloc_locals; + + local is_leaf; + + %{ + from starkware.starknet.core.os.contract_class.compiled_class_hash_objects import ( + BytecodeLeaf, + ) + ids.is_leaf = 1 if isinstance(bytecode_segment_structure, BytecodeLeaf) else 0 + %} + + // Guess if the bytecode is a leaf or an internal node in the tree. + if (is_leaf != 0) { + // If the bytecode is a leaf, it must be loaded into memory. Compute its hash. + let (hash) = poseidon_hash_many(n=data_length, elements=data_ptr); + return hash; + } + + %{ bytecode_segments = iter(bytecode_segment_structure.segments) %} + + // Use the poseidon builtin directly for performance reasons. + let poseidon_state = PoseidonBuiltinState(s0=0, s1=0, s2=0); + bytecode_hash_internal_node{poseidon_state=poseidon_state}( + data_ptr=data_ptr, data_length=data_length + ); + + // Pad input with [1, 0]. See implementation of poseidon_hash_many(). + assert poseidon_ptr.input = PoseidonBuiltinState( + s0=poseidon_state.s0 + 1, s1=poseidon_state.s1, s2=poseidon_state.s2 + ); + let segmented_hash = poseidon_ptr.output.s0; + let poseidon_ptr = &poseidon_ptr[1]; + + // Add 1 to segmented_hash to avoid collisions with the hash of a leaf (domain separation). + return segmented_hash + 1; +} + +// Helper function for bytecode_hash_node. +// Computes the hash of an internal node by adding its children to the hash state. +func bytecode_hash_internal_node{ + range_check_ptr, poseidon_ptr: PoseidonBuiltin*, poseidon_state: PoseidonBuiltinState +}(data_ptr: felt*, data_length: felt) { + if (data_length == 0) { + %{ assert next(bytecode_segments, None) is None %} + return (); + } + + alloc_locals; + local is_used_leaf; + local is_segment_used; + local segment_length; + + %{ + current_segment_info = next(bytecode_segments) + + is_used = current_segment_info.is_used + ids.is_segment_used = 1 if is_used else 0 + + is_used_leaf = is_used and isinstance(current_segment_info.inner_structure, BytecodeLeaf) + ids.is_used_leaf = 1 if is_used_leaf else 0 + + ids.segment_length = current_segment_info.segment_length + vm_enter_scope(new_scope_locals={ + "bytecode_segment_structure": current_segment_info.inner_structure, + }) + %} + + if (is_used_leaf != 0) { + // Repeat the code of bytecode_hash_node() for performance reasons, instead of calling it. + let (current_segment_hash) = poseidon_hash_many(n=segment_length, elements=data_ptr); + // tempvar current_segment_hash = nondet %{ bytecode_segment_structure.hash() %}; + tempvar range_check_ptr = range_check_ptr; + tempvar poseidon_ptr = poseidon_ptr; + tempvar current_segment_hash = current_segment_hash; + } else { + if (is_segment_used != 0) { + let current_segment_hash = bytecode_hash_node( + data_ptr=data_ptr, data_length=segment_length + ); + } else { + // Set the first felt of the bytecode to -1 to make sure that the execution cannot jump + // to this segment (-1 is an invalid opcode). + // The hash in this case is guessed and the actual bytecode is unconstrained (except for + // the first felt). + assert data_ptr[0] = -1; + + assert [range_check_ptr] = segment_length; + tempvar range_check_ptr = range_check_ptr + 1; + tempvar poseidon_ptr = poseidon_ptr; + tempvar current_segment_hash = nondet %{ bytecode_segment_structure.hash() %}; + } + } + + // Add the segment length and hash to the hash state. + // Use the poseidon builtin directly for performance reasons. + assert poseidon_ptr.input = PoseidonBuiltinState( + s0=poseidon_state.s0 + segment_length, + s1=poseidon_state.s1 + current_segment_hash, + s2=poseidon_state.s2, + ); + let poseidon_state = poseidon_ptr.output; + let poseidon_ptr = &poseidon_ptr[1]; + + %{ vm_exit_scope() %} + + return bytecode_hash_internal_node( + data_ptr=&data_ptr[segment_length], data_length=data_length - segment_length + ); +} + +func hash_entry_points{poseidon_ptr: PoseidonBuiltin*, hash_state: HashState}( + entry_points: CompiledClassEntryPoint*, n_entry_points: felt +) { + let inner_hash_state = hash_init(); + hash_entry_points_inner{hash_state=inner_hash_state}( + entry_points=entry_points, n_entry_points=n_entry_points + ); + let hash: felt = hash_finalize(hash_state=inner_hash_state); + hash_update_single(item=hash); + + return (); +} + +func hash_entry_points_inner{poseidon_ptr: PoseidonBuiltin*, hash_state: HashState}( + entry_points: CompiledClassEntryPoint*, n_entry_points: felt +) { + if (n_entry_points == 0) { + return (); + } + + hash_update_single(item=entry_points.selector); + hash_update_single(item=entry_points.offset); + + // Hash builtins. + hash_update_with_nested_hash( + data_ptr=entry_points.builtin_list, data_length=entry_points.n_builtins + ); + + return hash_entry_points_inner( + entry_points=&entry_points[1], n_entry_points=n_entry_points - 1 + ); +} + +// A list entry that maps a hash to the corresponding contract classes. +struct CompiledClassFact { + // The hash of the contract. This member should be first, so that we can lookup items + // with the hash as key, using find_element(). + hash: felt, + compiled_class: CompiledClass*, +} + +// Loads the contract classes from the 'os_input' hint variable. +// Returns CompiledClassFact list that maps a hash to a CompiledClass. +func load_compiled_class_facts{poseidon_ptr: PoseidonBuiltin*, range_check_ptr}() -> ( + n_compiled_class_facts: felt, compiled_class_facts: CompiledClassFact* +) { + alloc_locals; + local n_compiled_class_facts; + local compiled_class_facts: CompiledClassFact*; + %{ + ids.compiled_class_facts = segments.add() + ids.n_compiled_class_facts = len(os_input.compiled_classes) + vm_enter_scope({ + 'compiled_class_facts': iter(os_input.compiled_classes.items()), + 'compiled_class_visited_pcs': os_input.compiled_class_visited_pcs, + }) + %} + + let (builtin_costs: felt*) = alloc(); + assert builtin_costs[0] = 0; + assert builtin_costs[1] = 0; + assert builtin_costs[2] = 0; + assert builtin_costs[3] = 0; + assert builtin_costs[4] = 0; + + load_compiled_class_facts_inner( + n_compiled_class_facts=n_compiled_class_facts, + compiled_class_facts=compiled_class_facts, + builtin_costs=builtin_costs, + ); + %{ vm_exit_scope() %} + + return ( + n_compiled_class_facts=n_compiled_class_facts, compiled_class_facts=compiled_class_facts + ); +} + +// Loads 'n_compiled_class_facts' from the hint 'compiled_class_facts' and appends the +// corresponding CompiledClassFact to compiled_class_facts. +func load_compiled_class_facts_inner{poseidon_ptr: PoseidonBuiltin*, range_check_ptr}( + n_compiled_class_facts, compiled_class_facts: CompiledClassFact*, builtin_costs: felt* +) { + if (n_compiled_class_facts == 0) { + return (); + } + alloc_locals; + + let compiled_class_fact = compiled_class_facts[0]; + let compiled_class = compiled_class_fact.compiled_class; + + // Fetch contract data form hints. + %{ + from starkware.starknet.core.os.contract_class.compiled_class_hash import ( + create_bytecode_segment_structure, + get_compiled_class_struct, + ) + + compiled_class_hash, compiled_class = next(compiled_class_facts) + + bytecode_segment_structure = create_bytecode_segment_structure( + bytecode=compiled_class.bytecode, + bytecode_segment_lengths=compiled_class.bytecode_segment_lengths, + visited_pcs=compiled_class_visited_pcs[compiled_class_hash], + ) + + cairo_contract = get_compiled_class_struct( + identifiers=ids._context.identifiers, + compiled_class=compiled_class, + bytecode=bytecode_segment_structure.bytecode_with_skipped_segments() + ) + ids.compiled_class = segments.gen_arg(cairo_contract) + %} + + validate_entry_points( + n_entry_points=compiled_class.n_external_functions, + entry_points=compiled_class.external_functions, + ); + + validate_entry_points( + n_entry_points=compiled_class.n_l1_handlers, entry_points=compiled_class.l1_handlers + ); + + %{ + vm_enter_scope({ + "bytecode_segment_structure": bytecode_segment_structure + }) + %} + let (hash) = compiled_class_hash(compiled_class); + %{ vm_exit_scope() %} + compiled_class_fact.hash = hash; + + // Compiled classes are expected to end with a `ret` opcode followed by a pointer to the + // builtin costs. + assert compiled_class.bytecode_ptr[compiled_class.bytecode_length] = 0x208b7fff7fff7ffe; + assert compiled_class.bytecode_ptr[compiled_class.bytecode_length + 1] = cast( + builtin_costs, felt + ); + + %{ + computed_hash = ids.compiled_class_fact.hash + expected_hash = compiled_class_hash + assert computed_hash == expected_hash, ( + "Computed compiled_class_hash is inconsistent with the hash in the os_input. " + f"Computed hash = {computed_hash}, Expected hash = {expected_hash}.") + + vm_load_program( + compiled_class.get_runnable_program(entrypoint_builtins=[]), + ids.compiled_class.bytecode_ptr + ) + %} + + return load_compiled_class_facts_inner( + n_compiled_class_facts=n_compiled_class_facts - 1, + compiled_class_facts=compiled_class_facts + CompiledClassFact.SIZE, + builtin_costs=builtin_costs, + ); +} diff --git a/cairo0-bootloader/contract_class/compiled_class_hash_utils.py b/cairo0-bootloader/contract_class/compiled_class_hash_utils.py new file mode 100644 index 0000000..489fbd0 --- /dev/null +++ b/cairo0-bootloader/contract_class/compiled_class_hash_utils.py @@ -0,0 +1,110 @@ +import itertools +import os +from functools import lru_cache +from typing import List + +from starkware.cairo.common.structs import CairoStructFactory, CairoStructProxy +from starkware.cairo.lang.cairo_constants import DEFAULT_PRIME +from starkware.cairo.lang.compiler.cairo_compile import compile_cairo_files +from starkware.cairo.lang.compiler.identifier_definition import ConstDefinition +from starkware.cairo.lang.compiler.identifier_manager import IdentifierManager +from starkware.cairo.lang.compiler.program import Program +from starkware.cairo.lang.compiler.scoped_name import ScopedName +from starkware.python.utils import as_non_optional, from_bytes +from contract_class.contract_class import ( + CompiledClass, + EntryPointType, +) + +CAIRO_FILE = os.path.join(os.path.dirname(__file__), "compiled_class.cairo") +COMPILED_CLASS_MODULE = "contract_class.compiled_class" + + +@lru_cache() +def load_compiled_class_cairo_program() -> Program: + return compile_cairo_files( + [CAIRO_FILE], + prime=DEFAULT_PRIME, + main_scope=ScopedName.from_string(COMPILED_CLASS_MODULE), + ) + + +@lru_cache() +def _get_empty_compiled_class_structs() -> CairoStructProxy: + program = load_compiled_class_cairo_program() + return CairoStructFactory( + identifiers=program.identifiers, + additional_imports=[ + f"{COMPILED_CLASS_MODULE}.CompiledClass", + f"{COMPILED_CLASS_MODULE}.CompiledClassEntryPoint", + ], + ).structs + + +def _get_contract_entry_points( + structs: CairoStructProxy, + compiled_class: CompiledClass, + entry_point_type: EntryPointType, +) -> List[CairoStructProxy]: + # Check validity of entry points. + program_length = len(compiled_class.bytecode) + entry_points = compiled_class.entry_points_by_type[entry_point_type] + for entry_point in entry_points: + assert ( + 0 <= entry_point.offset < program_length + ), f"Invalid entry point offset {entry_point.offset}, len(program_data)={program_length}." + + return [ + structs.CompiledClassEntryPoint( + selector=entry_point.selector, + offset=entry_point.offset, + n_builtins=len(as_non_optional(entry_point.builtins)), + builtin_list=[ + from_bytes(builtin.encode("ascii")) + for builtin in as_non_optional(entry_point.builtins) + ], + ) + for entry_point in entry_points + ] + + +def get_compiled_class_struct( + compiled_class: CompiledClass, bytecode: List[int] +) -> CairoStructProxy: + """ + Returns the serialization of a compiled class as a list of field elements. + Note that the bytecode is passed explicitly (rather than taken from the compiled class) to + allow skipping some code segments. + """ + structs = _get_empty_compiled_class_structs() + + external_functions, l1_handlers, constructors = ( + _get_contract_entry_points( + structs=structs, + compiled_class=compiled_class, + entry_point_type=entry_point_type, + ) + for entry_point_type in ( + EntryPointType.EXTERNAL, + EntryPointType.L1_HANDLER, + EntryPointType.CONSTRUCTOR, + ) + ) + flat_external_functions, flat_l1_handlers, flat_constructors = ( + list(itertools.chain.from_iterable(entry_points)) + for entry_points in (external_functions, l1_handlers, constructors) + ) + + assert len(bytecode) == len(compiled_class.bytecode) + + return structs.CompiledClass( + compiled_class_version="", + n_external_functions=len(external_functions), + external_functions=flat_external_functions, + n_l1_handlers=len(l1_handlers), + l1_handlers=flat_l1_handlers, + n_constructors=len(constructors), + constructors=flat_constructors, + bytecode_length=len(bytecode), + bytecode_ptr=bytecode, + ) diff --git a/cairo0-bootloader/contract_class/contract_class.cairo b/cairo0-bootloader/contract_class/contract_class.cairo new file mode 100644 index 0000000..9a8763b --- /dev/null +++ b/cairo0-bootloader/contract_class/contract_class.cairo @@ -0,0 +1,83 @@ +from starkware.cairo.common.cairo_builtins import PoseidonBuiltin +from starkware.cairo.common.hash_state_poseidon import ( + HashState, + hash_finalize, + hash_init, + hash_update_single, + hash_update_with_nested_hash, +) +from starkware.starknet.common.storage import normalize_address + +const CONTRACT_CLASS_VERSION = 'CONTRACT_CLASS_V0.1.0'; + +struct ContractEntryPoint { + // A field element that encodes the signature of the called function. + selector: felt, + function_idx: felt, +} + +struct ContractClass { + contract_class_version: felt, + + // The length and pointer to the external entry point table of the contract. + n_external_functions: felt, + external_functions: ContractEntryPoint*, + + // The length and pointer to the L1 handler entry point table of the contract. + n_l1_handlers: felt, + l1_handlers: ContractEntryPoint*, + + // The length and pointer to the constructor entry point table of the contract. + n_constructors: felt, + constructors: ContractEntryPoint*, + + // starknet_keccak of the contract ABI. + // Note that the OS does not enforce any constraints on this value. + abi_hash: felt, + + // The length and pointer of the Sierra program. + sierra_program_length: felt, + sierra_program_ptr: felt*, +} + +func class_hash{poseidon_ptr: PoseidonBuiltin*, range_check_ptr: felt}( + contract_class: ContractClass* +) -> (hash: felt) { + assert contract_class.contract_class_version = CONTRACT_CLASS_VERSION; + + let hash_state: HashState = hash_init(); + with hash_state { + hash_update_single(item=contract_class.contract_class_version); + + // Hash external entry points. + hash_update_with_nested_hash( + data_ptr=contract_class.external_functions, + data_length=contract_class.n_external_functions * ContractEntryPoint.SIZE, + ); + + // Hash L1 handler entry points. + hash_update_with_nested_hash( + data_ptr=contract_class.l1_handlers, + data_length=contract_class.n_l1_handlers * ContractEntryPoint.SIZE, + ); + + // Hash constructor entry points. + hash_update_with_nested_hash( + data_ptr=contract_class.constructors, + data_length=contract_class.n_constructors * ContractEntryPoint.SIZE, + ); + + // Hash abi_hash. + hash_update_single(item=contract_class.abi_hash); + + // Hash Sierra program. + hash_update_with_nested_hash( + data_ptr=contract_class.sierra_program_ptr, + data_length=contract_class.sierra_program_length, + ); + } + + let hash: felt = hash_finalize(hash_state=hash_state); + let (normalized_hash) = normalize_address(addr=hash); + return (hash=normalized_hash); +} diff --git a/cairo0-bootloader/contract_class/contract_class.py b/cairo0-bootloader/contract_class/contract_class.py new file mode 100644 index 0000000..9c23696 --- /dev/null +++ b/cairo0-bootloader/contract_class/contract_class.py @@ -0,0 +1,390 @@ +import dataclasses +import json +import re +from abc import abstractmethod +from dataclasses import field +from enum import Enum, auto +from typing import Any, Dict, List, Optional, Union + +import marshmallow +import marshmallow.fields as mfields +import marshmallow_dataclass + +from services.everest.definitions import fields as everest_fields +from starkware.cairo.lang.cairo_constants import DEFAULT_PRIME +from starkware.cairo.lang.compiler.identifier_manager import IdentifierManager +from starkware.cairo.lang.compiler.preprocessor.flow import ReferenceManager +from starkware.cairo.lang.compiler.program import CairoHint, Program +from starkware.cairo.lang.compiler.scoped_name import ScopedName +from starkware.python.utils import as_non_optional +from starkware.starknet.definitions import fields +from starkware.starknet.definitions.error_codes import StarknetErrorCode +from starkware.starknet.public.abi import AbiType +from starkware.starkware_utils.error_handling import stark_assert +from starkware.starkware_utils.marshmallow_dataclass_fields import ( + IntAsHex, + additional_metadata, +) +from starkware.starkware_utils.subsequence import is_subsequence +from starkware.starkware_utils.validated_dataclass import ( + ValidatedDataclass, + ValidatedMarshmallowDataclass, +) + +# An ordered list of the supported builtins. +SUPPORTED_BUILTINS = [ + "pedersen", + "range_check", + "ecdsa", + "bitwise", + "ec_op", + "poseidon", + "segment_arena", +] + +# Utilites. + + +def validate_builtins(builtins: Optional[List[str]]): + if builtins is None: + return + + stark_assert( + is_subsequence(builtins, SUPPORTED_BUILTINS), + code=StarknetErrorCode.INVALID_CONTRACT_CLASS, + message=f"{builtins} is not a subsequence of {SUPPORTED_BUILTINS}.", + ) + + +# Objects. + + +class EntryPointType(Enum): + EXTERNAL = 0 + L1_HANDLER = auto() + CONSTRUCTOR = auto() + + +@dataclasses.dataclass(frozen=True) +class ContractEntryPoint(ValidatedDataclass): + # A field element that encodes the signature of the called function. + selector: int = field(metadata=fields.entry_point_selector_metadata) + function_idx: int = field(metadata=fields.entry_point_function_idx_metadata) + + +@marshmallow_dataclass.dataclass(frozen=True) +class ContractClass(ValidatedMarshmallowDataclass): + """ + Represents a contract class in the StarkNet network. + """ + + contract_class_version: str + sierra_program: List[int] = field(metadata=everest_fields.felt_as_hex_list_metadata) + entry_points_by_type: Dict[EntryPointType, List[ContractEntryPoint]] + abi: str + + def get_bytecode_size(self) -> int: + return len(self.sierra_program) + + def get_abi_size(self) -> int: + return len(self.abi) + + +@marshmallow_dataclass.dataclass(frozen=True) +class CompiledClassEntryPoint(ValidatedDataclass): + # A field element that encodes the signature of the called function. + selector: int = field(metadata=fields.entry_point_selector_metadata) + # The offset of the instruction that should be called within the contract bytecode. + offset: int = field(metadata=fields.entry_point_offset_metadata) + # Builtins used by the entry point. + builtins: Optional[List[str]] + + @marshmallow.decorators.pre_load + def load_offset_formatted_as_hex( + self, data: Dict[str, Any], many: bool, **kwargs + ) -> Dict[str, Any]: + offset = data["offset"] + if isinstance(offset, str): + assert ( + re.match("^0x[0-9a-f]+$", offset) is not None + ), f"offset field is of unexpected format: {offset}." + data["offset"] = int(offset, 16) + + return data + + +# Mypy has a problem with dataclasses that contain unimplemented abstract methods. +# See https://github.com/python/mypy/issues/5374 for details on this problem. +@marshmallow_dataclass.dataclass(frozen=True) # type: ignore[misc] +class CompiledClassBase(ValidatedMarshmallowDataclass): + entry_points_by_type: Dict[EntryPointType, List[CompiledClassEntryPoint]] + + @abstractmethod + def get_builtins(self) -> List[str]: + """ + Returns the "builtins" attribute of the compiled class. + """ + + @abstractmethod + def get_prime(self) -> int: + """ + Returns the "prime" attribute of the compiled class. + """ + + @abstractmethod + def get_bytecode(self) -> List[int]: + """ + Returns the "bytecode" attribute of the compiled class. + """ + + def __post_init__(self): + super().__post_init__() + + for entry_points in self.entry_points_by_type.values(): + stark_assert( + all( + entry_points[i].selector < entry_points[i + 1].selector + for i in range(len(entry_points) - 1) + ), + code=StarknetErrorCode.INVALID_CONTRACT_CLASS, + message="Entry points must be unique and sorted.", + ) + + constructor_eps = self.entry_points_by_type.get(EntryPointType.CONSTRUCTOR) + stark_assert( + constructor_eps is not None, + code=StarknetErrorCode.INVALID_CONTRACT_CLASS, + message="The contract is missing constructor endpoints. Wrong compiler version?", + ) + + stark_assert( + len(as_non_optional(constructor_eps)) <= 1, + code=StarknetErrorCode.INVALID_CONTRACT_CLASS, + message="A contract may have at most 1 constructor.", + ) + + def validate(self): + validate_builtins(builtins=self.get_builtins()) + for entry_points in self.entry_points_by_type.values(): + for entry_point in entry_points: + validate_builtins(builtins=entry_point.builtins) + + stark_assert( + self.get_prime() == DEFAULT_PRIME, + code=StarknetErrorCode.INVALID_CONTRACT_CLASS, + message=( + f"Invalid value for field prime: {self.get_prime()}. Expected: {DEFAULT_PRIME}." + ), + ) + + @property + def n_entry_points(self) -> int: + """ + Returns the number of entry points (note that functions with multiple decorators are + counted more than once). + """ + return sum(len(eps) for eps in self.entry_points_by_type.values()) + + +# Represents a nested list of integers. E.g., [1, [2, [3], 4], 5, 6]. +NestedIntList = Union[int, List[Any]] + + +@marshmallow_dataclass.dataclass(frozen=True) +class CompiledClass(CompiledClassBase): + """ + Represents a compiled contract class in the Starknet network. + """ + + prime: int = field( + metadata=additional_metadata(marshmallow_field=IntAsHex(required=True)) + ) + bytecode: List[int] = field( + metadata=additional_metadata( + marshmallow_field=mfields.List(IntAsHex(), required=True) + ) + ) + # Represents the structure of the bytecode segments, using a nested list of segment lengths. + # For example, [2, [3, 4]] represents a bytecode with 2 segments, the first is a leaf of length + # 2 and the second is a node with 2 children of lengths 3 and 4. + bytecode_segment_lengths: NestedIntList = field( + metadata=additional_metadata(marshmallow_field=fields.NestedIntListField()) + ) + # Rust hints. + hints: List[Any] + pythonic_hints: Dict[int, List[CairoHint]] + compiler_version: str = field( + metadata=dict( + marshmallow_field=mfields.String(required=False, load_default=None) + ) + ) + + def get_builtins(self) -> List[str]: + return [] + + def get_prime(self) -> int: + return self.prime + + def get_bytecode(self) -> List[int]: + return self.bytecode + + def get_bytecode_size(self) -> int: + return len(self.get_bytecode()) + + @marshmallow.decorators.pre_load + def parse_pythonic_hints( + self, data: Dict[str, Any], many: bool, **kwargs + ) -> Dict[str, Any]: + """ + Parses Cairo 1.0 casm hints. + Each hint comprises a two-item List: an ID (int) and a List of hint codes (strings). + The returned CairoHint object takes empty "accessible_scopes" and "flow_tracking_data" + values as these are only relevant to Cairo 0 programs. + """ + # Invalidate 0.11.0-pre-release compiled classes. + stark_assert( + "program" not in data, + code=StarknetErrorCode.INVALID_COMPILED_CLASS, + message="Unsupported compiled class format. " + "Cairo 1.0 compiled class must not contain the attribute `program`.", + ) + # Invalidate compiled classes without pythonic hints. + stark_assert( + "pythonic_hints" in data, + code=StarknetErrorCode.INVALID_COMPILED_CLASS, + message="Unsupported compiled class format. " + "Cairo 1.0 compiled class must contain the attribute `pythonic_hints`.", + ) + + pythonic_hints = data["pythonic_hints"] + empty_accessible_scope: List = [] + empty_flow_tracking_data: Dict[str, Any] = { + "ap_tracking": {"group": 0, "offset": 0}, + "reference_ids": {}, + } + + data["pythonic_hints"] = { + hint_id: [ + { + "code": hint_code, + "accessible_scopes": empty_accessible_scope, + "flow_tracking_data": empty_flow_tracking_data, + } + for hint_code in hint_codes + ] + for hint_id, hint_codes in pythonic_hints + } + + return data + + @marshmallow.decorators.pre_load + def default_bytecode_segment_lengths( + self, data: Dict[str, Any], many: bool, **kwargs + ) -> Dict[str, Any]: + # If bytecode_segment_lengths is missing, use a single leaf (which forces loading the entire + # program). + + if "bytecode_segment_lengths" not in data: + data["bytecode_segment_lengths"] = len(data["bytecode"]) + return data + + @marshmallow.decorators.post_dump + def dump_pythonic_hints( + self, data: Dict[str, Any], many: bool, **kwargs + ) -> Dict[str, Any]: + data["pythonic_hints"] = [ + [hint_id, [hint_obj["code"] for hint_obj in hint_obj_list]] + for hint_id, hint_obj_list in data["pythonic_hints"].items() + ] + return data + + def __post_init__(self): + super().__post_init__() + + for entry_points in self.entry_points_by_type.values(): + for entry_point in entry_points: + stark_assert( + entry_point.builtins is not None, + code=StarknetErrorCode.INVALID_CONTRACT_CLASS, + message=f"Missing builtins for entry point {entry_point.selector}.", + ) + + def get_runnable_program(self, entrypoint_builtins: List[str]) -> Program: + """ + Converts the HintedProgram into a Program object that can be run by the Python CairoRunner. + """ + return Program( + prime=self.prime, + data=self.bytecode, + # Buitlins for the entrypoint to execute. + builtins=entrypoint_builtins, + hints=self.pythonic_hints, + compiler_version=self.compiler_version, + # Fill missing fields with empty values. + main_scope=ScopedName(), + identifiers=IdentifierManager(), + reference_manager=ReferenceManager(), + attributes=[], + debug_info=None, + ) + + +@marshmallow_dataclass.dataclass(frozen=True) +class DeprecatedCompiledClass(CompiledClassBase): + """ + Represents a contract in the StarkNet network that was compiled by the old (pythonic) compiler. + """ + + program: Program + abi: Optional[AbiType] = None + + def get_builtins(self) -> List[str]: + return self.program.builtins + + def get_prime(self) -> int: + return self.program.prime + + def get_bytecode(self) -> List[int]: + return self.program.data + + def get_bytecode_size(self) -> int: + return len(self.get_bytecode()) + + def get_abi_size(self) -> int: + return len(json.dumps(self.abi)) if self.abi is not None else 0 + + @marshmallow.decorators.post_dump + def remove_none_builtins( + self, data: Dict[str, Any], many: bool, **kwargs + ) -> Dict[str, Any]: + """ + Needed for backward compatibility of hash computation for deprecated contracts. + """ + for entry_points in data["entry_points_by_type"].values(): + for entry_point in entry_points: + # Verify that builtins is None and remove it. + stark_assert( + entry_point.pop("builtins") is None, + code=StarknetErrorCode.INVALID_CONTRACT_CLASS, + message="Entry point should not have builtins in deprecated contracts.", + ) + + return data + + def remove_debug_info(self) -> "DeprecatedCompiledClass": + """ + Sets debug_info in the Cairo contract program to None. + Returns an altered DeprecatedCompiledClass instance. + """ + altered_program = dataclasses.replace(self.program, debug_info=None) + return dataclasses.replace(self, program=altered_program) + + +@dataclasses.dataclass(frozen=True) +class RawCompiledClass: + """ + Represents a raw compiled contract class in the Starknet network. + """ + + raw_compiled_class: str + version: int diff --git a/cairo0-bootloader/contract_class/run.py b/cairo0-bootloader/contract_class/run.py new file mode 100644 index 0000000..a7cdaea --- /dev/null +++ b/cairo0-bootloader/contract_class/run.py @@ -0,0 +1,5 @@ +from contract_class.contract_class import * + +with open("../../cairo1/contract.json") as contract_file: + contract = CompiledClass.deserialize(contract_file.read().encode()) + print(contract.get_runnable_program("output")) diff --git a/cairo0-bootloader/setup.py b/cairo0-bootloader/setup.py index 8ae93a0..0e17dea 100644 --- a/cairo0-bootloader/setup.py +++ b/cairo0-bootloader/setup.py @@ -17,6 +17,7 @@ "builtin_selection": ["*.cairo", "*/*.cairo"], "common.builtin_poseidon": ["*.cairo", "*/*.cairo"], "common": ["*.cairo", "*/*.cairo"], + "contract_class": ["*.cairo", "*/*.cairo"], "lang.compiler": ["cairo.ebnf", "lib/*.cairo"], - } + }, ) diff --git a/compile.py b/compile.py index bbab949..a86181b 100644 --- a/compile.py +++ b/compile.py @@ -6,16 +6,8 @@ log_and_run( [ - f"cairo-compile --cairo_path=. bootloader/recursive_with_poseidon/simple_bootloader.cairo --output {current_dir}/bootloader.json --proof_mode", + f"cairo-compile --cairo_path=. bootloader/starknet/simple_bootloader.cairo --output {current_dir}/bootloader.json --proof_mode", ], "Compile bootloader program", cwd="cairo0-bootloader", ) - - log_and_run( - [ - f"scarb build", - ], - "Compile cairo1 project", - cwd="cairo1", - ) diff --git a/install.py b/install.py index 7b439f4..c0d240c 100644 --- a/install.py +++ b/install.py @@ -1,7 +1,9 @@ import subprocess + def log_and_run(commands, description, cwd=None): from colorama import Fore, Style + full_command = " && ".join(commands) try: print(f"{Fore.YELLOW}Starting: {description}...{Style.RESET_ALL}") @@ -28,11 +30,3 @@ def log_and_run(commands, description, cwd=None): "Installing cairo-lang", cwd=".", ) - - log_and_run( - [ - "cargo install --path .", - ], - "Installing cairo-vm-runner", - cwd="runner", - ) diff --git a/run.py b/run.py index fb30e53..ecc5315 100644 --- a/run.py +++ b/run.py @@ -15,6 +15,6 @@ --proof_mode \ --print_info" ], - "Running cairo1 pie in cairo0 bootloader", + "Running contract in cairo0 bootloader", cwd=".", ) From 74973ad31e8c75ddc3da3bb14c6bda56fb5f62ba Mon Sep 17 00:00:00 2001 From: Bartosz Nowak Date: Fri, 24 May 2024 09:30:36 +0200 Subject: [PATCH 03/19] WIP --- bootloader_input.json | 2 +- .../{starknet => contract}/__init__.py | 0 .../{starknet => contract}/builtins.py | 2 +- .../{starknet => contract}/execute_task.cairo | 1 + .../contract/run_contract_bootloader.cairo | 88 ++++++ .../contract/simple_bootloader.cairo | 49 ++++ .../starknet/run_simple_bootloader.cairo | 170 ------------ .../starknet/simple_bootloader.cairo | 71 ----- .../execution/execute_entry_point.cairo | 261 ++++++++++++++++++ cairo0-bootloader/setup.py | 1 + compile.py | 2 +- run.py | 2 +- 12 files changed, 404 insertions(+), 245 deletions(-) rename cairo0-bootloader/bootloader/{starknet => contract}/__init__.py (100%) rename cairo0-bootloader/bootloader/{starknet => contract}/builtins.py (99%) rename cairo0-bootloader/bootloader/{starknet => contract}/execute_task.cairo (99%) create mode 100644 cairo0-bootloader/bootloader/contract/run_contract_bootloader.cairo create mode 100644 cairo0-bootloader/bootloader/contract/simple_bootloader.cairo delete mode 100644 cairo0-bootloader/bootloader/starknet/run_simple_bootloader.cairo delete mode 100644 cairo0-bootloader/bootloader/starknet/simple_bootloader.cairo create mode 100644 cairo0-bootloader/execution/execute_entry_point.cairo diff --git a/bootloader_input.json b/bootloader_input.json index a8b7b48..9f9ad48 100644 --- a/bootloader_input.json +++ b/bootloader_input.json @@ -239,7 +239,7 @@ "entry_points_by_type": { "EXTERNAL": [ { - "selector": "0x36fbc999025b89d36d31dc2f9c0a03b4377755e1f27e0e42a385aaba90f61a6", + "selector": "0x0", "offset": 0, "builtins": [ "range_check" diff --git a/cairo0-bootloader/bootloader/starknet/__init__.py b/cairo0-bootloader/bootloader/contract/__init__.py similarity index 100% rename from cairo0-bootloader/bootloader/starknet/__init__.py rename to cairo0-bootloader/bootloader/contract/__init__.py diff --git a/cairo0-bootloader/bootloader/starknet/builtins.py b/cairo0-bootloader/bootloader/contract/builtins.py similarity index 99% rename from cairo0-bootloader/bootloader/starknet/builtins.py rename to cairo0-bootloader/bootloader/contract/builtins.py index 1bb01a3..5a7ff01 100644 --- a/cairo0-bootloader/bootloader/starknet/builtins.py +++ b/cairo0-bootloader/bootloader/contract/builtins.py @@ -10,4 +10,4 @@ EC_OP_BUILTIN, POSEIDON_BUILTIN, ] -) +) \ No newline at end of file diff --git a/cairo0-bootloader/bootloader/starknet/execute_task.cairo b/cairo0-bootloader/bootloader/contract/execute_task.cairo similarity index 99% rename from cairo0-bootloader/bootloader/starknet/execute_task.cairo rename to cairo0-bootloader/bootloader/contract/execute_task.cairo index 20afb45..80fd588 100644 --- a/cairo0-bootloader/bootloader/starknet/execute_task.cairo +++ b/cairo0-bootloader/bootloader/contract/execute_task.cairo @@ -31,6 +31,7 @@ struct BuiltinData { ecdsa: felt, bitwise: felt, ec_op: felt, + keccak: felt, poseidon: felt, } diff --git a/cairo0-bootloader/bootloader/contract/run_contract_bootloader.cairo b/cairo0-bootloader/bootloader/contract/run_contract_bootloader.cairo new file mode 100644 index 0000000..47b658b --- /dev/null +++ b/cairo0-bootloader/bootloader/contract/run_contract_bootloader.cairo @@ -0,0 +1,88 @@ +from starkware.cairo.common.cairo_builtins import HashBuiltin, PoseidonBuiltin, BitwiseBuiltin, KeccakBuiltin +from starkware.cairo.common.registers import get_fp_and_pc +from contract_class.compiled_class import CompiledClass +from starkware.starknet.builtins.segment_arena.segment_arena import new_arena +from starkware.starknet.core.os.builtins import ( + BuiltinPointers, + NonSelectableBuiltins, + SelectableBuiltins, +) +from execution.execute_entry_point import execute_entry_point, ExecutionContext, ExecutionInfo, BuiltinData + +// Loads the programs and executes them. +// +// Hint Arguments: +// compiled_class - contains the contract to execute. +// +// Returns: +// Updated builtin pointers after executing all programs. +// fact_topologies - that corresponds to the tasks (hint variable). +func run_contract_bootloader{ + output_ptr: felt*, + pedersen_ptr: HashBuiltin*, + range_check_ptr, + ecdsa_ptr, + bitwise_ptr: BitwiseBuiltin*, + ec_op_ptr, + keccak_ptr: KeccakBuiltin*, + poseidon_ptr: PoseidonBuiltin*, +}(compiled_class: CompiledClass*) { + alloc_locals; + + // Prepare builtin pointers. + let segment_arena_ptr = new_arena(); + + let (__fp__, _) = get_fp_and_pc(); + local local_builtin_ptrs: BuiltinPointers = BuiltinPointers( + selectable=SelectableBuiltins( + pedersen=pedersen_ptr, + range_check=nondet %{ segments.add() %}, + ecdsa=ecdsa_ptr, + bitwise=bitwise_ptr, + ec_op=ec_op_ptr, + poseidon=poseidon_ptr, + segment_arena=segment_arena_ptr, + ), + non_selectable=NonSelectableBuiltins(keccak=keccak_ptr), + ); + let builtin_ptrs = &local_builtin_ptrs; + + local local_builtin_encodings: BuiltinData = BuiltinData( + output='output', + pedersen='pedersen', + range_check='range_check', + ecdsa='ecdsa', + bitwise='bitwise', + ec_op='ec_op', + keccak='keccak', + poseidon='poseidon', + ); + let builtin_encodings = &local_builtin_encodings; + + local calldata = nondet %{ segments.add() %}; + local execution_info: ExecutionInfo = ExecutionInfo( + selector=0 + ); + + from starkware.starknet.core.os.constants import ( + DEFAULT_ENTRY_POINT_SELECTOR, + ENTRY_POINT_GAS_COST, + ENTRY_POINT_TYPE_CONSTRUCTOR, + ENTRY_POINT_TYPE_EXTERNAL, + ENTRY_POINT_TYPE_L1_HANDLER, + NOP_ENTRY_POINT_OFFSET, + ) + + local execution_context: ExecutionContext = ExecutionContext( + entry_point_type = ENTRY_POINT_TYPE_EXTERNAL, + calldata_size = 0, + calldata = &calldata, + execution_info=&execution_info + ); + + with builtin_ptrs, builtin_encodings { + let (retdata_size, retdata) = execute_entry_point(compiled_class, &execution_context); + } + + return (); +} \ No newline at end of file diff --git a/cairo0-bootloader/bootloader/contract/simple_bootloader.cairo b/cairo0-bootloader/bootloader/contract/simple_bootloader.cairo new file mode 100644 index 0000000..d59c69c --- /dev/null +++ b/cairo0-bootloader/bootloader/contract/simple_bootloader.cairo @@ -0,0 +1,49 @@ +%builtins output pedersen range_check ecdsa bitwise ec_op keccak poseidon + +from bootloader.contract.run_contract_bootloader import ( + run_contract_bootloader, +) +from starkware.cairo.common.cairo_builtins import HashBuiltin, PoseidonBuiltin, BitwiseBuiltin, KeccakBuiltin +from starkware.cairo.common.registers import get_fp_and_pc +from contract_class.compiled_class import CompiledClass + +func main{ + output_ptr: felt*, + pedersen_ptr: HashBuiltin*, + range_check_ptr, + ecdsa_ptr, + bitwise_ptr: BitwiseBuiltin*, + ec_op_ptr, + keccak_ptr: KeccakBuiltin*, + poseidon_ptr: PoseidonBuiltin*, +}() { + alloc_locals; + local compiled_class: CompiledClass*; + + %{ + from bootloader.objects import ContractBootloaderInput + contract_bootloader_input = ContractBootloaderInput.Schema().load(program_input) + %} + + // Fetch contract data form hints. + %{ + from starkware.starknet.core.os.contract_class.compiled_class_hash import create_bytecode_segment_structure + from contract_class.compiled_class_hash_utils import get_compiled_class_struct + + bytecode_segment_structure = create_bytecode_segment_structure( + bytecode=contract_bootloader_input.compiled_class.bytecode, + bytecode_segment_lengths=contract_bootloader_input.compiled_class.bytecode_segment_lengths, + visited_pcs=None, + ) + + cairo_contract = get_compiled_class_struct( + compiled_class=contract_bootloader_input.compiled_class, + bytecode=bytecode_segment_structure.bytecode_with_skipped_segments() + ) + ids.compiled_class = segments.gen_arg(cairo_contract) + %} + + run_contract_bootloader(compiled_class); + + return (); +} \ No newline at end of file diff --git a/cairo0-bootloader/bootloader/starknet/run_simple_bootloader.cairo b/cairo0-bootloader/bootloader/starknet/run_simple_bootloader.cairo deleted file mode 100644 index 6dc5478..0000000 --- a/cairo0-bootloader/bootloader/starknet/run_simple_bootloader.cairo +++ /dev/null @@ -1,170 +0,0 @@ -from bootloader.starknet.execute_task import BuiltinData, execute_task -from common.cairo_builtins import HashBuiltin, PoseidonBuiltin -from common.registers import get_fp_and_pc - -// Loads the programs and executes them. -// -// Hint Arguments: -// simple_bootloader_input - contains the tasks to execute. -// -// Returns: -// Updated builtin pointers after executing all programs. -// fact_topologies - that corresponds to the tasks (hint variable). -func run_simple_bootloader{ - output_ptr: felt*, - pedersen_ptr: HashBuiltin*, - range_check_ptr, - ecdsa_ptr, - bitwise_ptr, - ec_op_ptr, - poseidon_ptr: PoseidonBuiltin*, -}() { - alloc_locals; - local task_range_check_ptr; - - %{ - n_tasks = len(simple_bootloader_input.tasks) - memory[ids.output_ptr] = n_tasks - - # Task range checks are located right after simple bootloader validation range checks, and - # this is validated later in this function. - ids.task_range_check_ptr = ids.range_check_ptr + ids.BuiltinData.SIZE * n_tasks - - # A list of fact_toplogies that instruct how to generate the fact from the program output - # for each task. - fact_topologies = [] - %} - - let n_tasks = [output_ptr]; - let output_ptr = output_ptr + 1; - - // A struct containing the pointer to each builtin. - local builtin_ptrs_before: BuiltinData = BuiltinData( - output=cast(output_ptr, felt), - pedersen=cast(pedersen_ptr, felt), - range_check=task_range_check_ptr, - ecdsa=ecdsa_ptr, - bitwise=bitwise_ptr, - ec_op=ec_op_ptr, - poseidon=cast(poseidon_ptr, felt), - ); - - // A struct containing the encoding of each builtin. - local builtin_encodings: BuiltinData = BuiltinData( - output='output', - pedersen='pedersen', - range_check='range_check', - ecdsa='ecdsa', - bitwise='bitwise', - ec_op='ec_op', - poseidon='poseidon', - ); - - local builtin_instance_sizes: BuiltinData = BuiltinData( - output=1, - pedersen=3, - range_check=1, - ecdsa=2, - bitwise=5, - ec_op=7, - poseidon=6, - ); - - // Call execute_tasks. - let (__fp__, _) = get_fp_and_pc(); - - %{ tasks = simple_bootloader_input.tasks %} - let builtin_ptrs = &builtin_ptrs_before; - let self_range_check_ptr = range_check_ptr; - with builtin_ptrs, self_range_check_ptr { - execute_tasks( - builtin_encodings=&builtin_encodings, - builtin_instance_sizes=&builtin_instance_sizes, - n_tasks=n_tasks, - ); - } - - // Verify that the task range checks appear after the self range checks of execute_task. - assert self_range_check_ptr = task_range_check_ptr; - - // Return the updated builtin pointers. - local builtin_ptrs: BuiltinData* = builtin_ptrs; - let output_ptr = cast(builtin_ptrs.output, felt*); - let pedersen_ptr = cast(builtin_ptrs.pedersen, HashBuiltin*); - let range_check_ptr = builtin_ptrs.range_check; - let ecdsa_ptr = builtin_ptrs.ecdsa; - let bitwise_ptr = builtin_ptrs.bitwise; - let ec_op_ptr = builtin_ptrs.ec_op; - let poseidon_ptr = cast(builtin_ptrs.poseidon, PoseidonBuiltin*); - - // 'execute_tasks' runs untrusted code and uses the range_check builtin to verify that - // the builtin pointers were advanced correctly by said code. - // Since range_check itself is used for the verification, we cannot assume that the verification - // above is sound unless we know that the self range checks that were used during verification - // are indeed valid (that is, within the segment of the range_check builtin). - // Following the Cairo calling convention, we can guarantee the validity of the self range - // checks by making sure that range_check_ptr >= self_range_check_ptr. - // The following check validates that the inequality above holds without using the range check - // builtin. - let additional_range_checks = range_check_ptr - self_range_check_ptr; - verify_non_negative(num=additional_range_checks, n_bits=64); - - return (); -} - -// Verifies that a field element is in the range [0, 2^n_bits), without relying on the range_check -// builtin. -func verify_non_negative(num: felt, n_bits: felt) { - if (n_bits == 0) { - assert num = 0; - return (); - } - - tempvar num_div2 = nondet %{ ids.num // 2 %}; - tempvar bit = num - (num_div2 + num_div2); - // Check that bit is 0 or 1. - assert bit = bit * bit; - return verify_non_negative(num=num_div2, n_bits=n_bits - 1); -} - -// Executes the last n_tasks from simple_bootloader_input.tasks. -// -// Arguments: -// builtin_encodings - String encodings of the builtins. -// builtin_instance_sizes - Mapping to builtin sizes. -// n_tasks - The number of tasks to execute. -// -// Implicit arguments: -// builtin_ptrs - Pointer to the builtin pointers before/after executing the tasks. -// self_range_check_ptr - range_check pointer (used for validating the builtins). -// -// Hint arguments: -// tasks - A list of tasks to execute. -func execute_tasks{builtin_ptrs: BuiltinData*, self_range_check_ptr}( - builtin_encodings: BuiltinData*, builtin_instance_sizes: BuiltinData*, n_tasks: felt -) { - if (n_tasks == 0) { - return (); - } - - %{ - from bootloader.objects import Task - - # Pass current task to execute_task. - task_id = len(simple_bootloader_input.tasks) - ids.n_tasks - task = simple_bootloader_input.tasks[task_id].load_task() - %} - tempvar use_poseidon = nondet %{ 1 if task.use_poseidon else 0 %}; - // Call execute_task to execute the current task. - execute_task( - builtin_encodings=builtin_encodings, - builtin_instance_sizes=builtin_instance_sizes, - use_poseidon=use_poseidon, - ); - - return execute_tasks( - builtin_encodings=builtin_encodings, - builtin_instance_sizes=builtin_instance_sizes, - n_tasks=n_tasks - 1, - ); -} \ No newline at end of file diff --git a/cairo0-bootloader/bootloader/starknet/simple_bootloader.cairo b/cairo0-bootloader/bootloader/starknet/simple_bootloader.cairo deleted file mode 100644 index 2961a4c..0000000 --- a/cairo0-bootloader/bootloader/starknet/simple_bootloader.cairo +++ /dev/null @@ -1,71 +0,0 @@ -%builtins output pedersen range_check ecdsa bitwise ec_op poseidon - -from bootloader.starknet.run_simple_bootloader import ( - run_simple_bootloader, -) -from common.cairo_builtins import HashBuiltin, PoseidonBuiltin -from common.registers import get_fp_and_pc - -func main{ - output_ptr: felt*, - pedersen_ptr: HashBuiltin*, - range_check_ptr, - ecdsa_ptr, - bitwise_ptr, - ec_op_ptr, - poseidon_ptr: PoseidonBuiltin*, -}() { - alloc_locals; - local compiled_class; - - %{ - from bootloader.objects import ContractBootloaderInput - contract_bootloader_input = ContractBootloaderInput.Schema().load(program_input) - %} - - // Fetch contract data form hints. - %{ - from starkware.starknet.core.os.contract_class.compiled_class_hash import create_bytecode_segment_structure - from contract_class.compiled_class_hash_utils import get_compiled_class_struct - - bytecode_segment_structure = create_bytecode_segment_structure( - bytecode=contract_bootloader_input.compiled_class.bytecode, - bytecode_segment_lengths=contract_bootloader_input.compiled_class.bytecode_segment_lengths, - visited_pcs=None, - ) - - cairo_contract = get_compiled_class_struct( - compiled_class=contract_bootloader_input.compiled_class, - bytecode=bytecode_segment_structure.bytecode_with_skipped_segments() - ) - ids.compiled_class = segments.gen_arg(cairo_contract) - %} - - // // Execute tasks. - // run_simple_bootloader(); - - // %{ - // # Dump fact topologies to a json file. - // from bootloader.utils import ( - // configure_fact_topologies, - // write_to_fact_topologies_file, - // ) - - // # The task-related output is prefixed by a single word that contains the number of tasks. - // tasks_output_start = output_builtin.base + 1 - - // if not simple_bootloader_input.single_page: - // # Configure the memory pages in the output builtin, based on fact_topologies. - // configure_fact_topologies( - // fact_topologies=fact_topologies, output_start=tasks_output_start, - // output_builtin=output_builtin, - // ) - - // if simple_bootloader_input.fact_topologies_path is not None: - // write_to_fact_topologies_file( - // fact_topologies_path=simple_bootloader_input.fact_topologies_path, - // fact_topologies=fact_topologies, - // ) - // %} - return (); -} \ No newline at end of file diff --git a/cairo0-bootloader/execution/execute_entry_point.cairo b/cairo0-bootloader/execution/execute_entry_point.cairo new file mode 100644 index 0000000..a7d1ff2 --- /dev/null +++ b/cairo0-bootloader/execution/execute_entry_point.cairo @@ -0,0 +1,261 @@ +from starkware.cairo.builtin_selection.select_input_builtins import select_input_builtins +from starkware.cairo.builtin_selection.validate_builtins import validate_builtins +from starkware.cairo.common.alloc import alloc +from starkware.cairo.common.cairo_builtins import KeccakBuiltin +from starkware.cairo.common.dict import dict_read +from starkware.cairo.common.dict_access import DictAccess +from starkware.cairo.common.find_element import find_element, search_sorted +from starkware.cairo.common.math import assert_not_zero +from starkware.cairo.common.registers import get_ap +from starkware.starknet.builtins.segment_arena.segment_arena import ( + SegmentArenaBuiltin, + validate_segment_arena, +) +from starkware.starknet.common.syscalls import TxInfo as DeprecatedTxInfo +from starkware.starknet.core.os.block_context import BlockContext +from starkware.starknet.core.os.builtins import ( + BuiltinEncodings, + BuiltinParams, + BuiltinPointers, + NonSelectableBuiltins, + SelectableBuiltins, + update_builtin_ptrs, +) +from starkware.starknet.core.os.constants import ( + DEFAULT_ENTRY_POINT_SELECTOR, + ENTRY_POINT_GAS_COST, + ENTRY_POINT_TYPE_CONSTRUCTOR, + ENTRY_POINT_TYPE_EXTERNAL, + ENTRY_POINT_TYPE_L1_HANDLER, + NOP_ENTRY_POINT_OFFSET, +) +from contract_class.compiled_class import ( + CompiledClass, + CompiledClassEntryPoint, + CompiledClassFact, +) +from starkware.starknet.core.os.output import OsCarriedOutputs + +struct BuiltinData { + output: felt, + pedersen: felt, + range_check: felt, + ecdsa: felt, + bitwise: felt, + ec_op: felt, + keccak: felt, + poseidon: felt, +} + +struct ExecutionInfo { + // The entry point selector. + selector: felt, +} + +// Represents the execution context during the execution of contract code. +struct ExecutionContext { + entry_point_type: felt, + calldata_size: felt, + calldata: felt*, + // Additional information about the execution. + execution_info: ExecutionInfo*, +} + +// Represents the arguments pushed to the stack before calling an entry point. +struct EntryPointCallArguments { + gas_builtin: felt, + syscall_ptr: felt*, + calldata_start: felt*, + calldata_end: felt*, +} + +// Represents the values returned by a call to an entry point. +struct EntryPointReturnValues { + gas_builtin: felt, + syscall_ptr: felt*, + // The failure_flag is 0 if the execution succeeded and 1 if it failed. + failure_flag: felt, + retdata_start: felt*, + retdata_end: felt*, +} + +// Performs a Cairo jump to the function 'execute_syscalls'. +// This function's signature must match the signature of 'execute_syscalls'. +func call_execute_syscalls{ + range_check_ptr, + syscall_ptr: felt*, + builtin_ptrs: BuiltinPointers*, + contract_state_changes: DictAccess*, + contract_class_changes: DictAccess*, + outputs: OsCarriedOutputs*, +}(block_context: BlockContext*, execution_context: ExecutionContext*, syscall_ptr_end: felt*) { + %{ + print("call_execute_syscalls") + %} +} + +// Returns the CompiledClassEntryPoint, based on 'compiled_class' and 'execution_context'. +func get_entry_point{range_check_ptr}( + compiled_class: CompiledClass*, execution_context: ExecutionContext* +) -> (entry_point: CompiledClassEntryPoint*) { + alloc_locals; + // Get the entry points corresponding to the transaction's type. + local entry_points: CompiledClassEntryPoint*; + local n_entry_points: felt; + + tempvar entry_point_type = execution_context.entry_point_type; + if (entry_point_type == ENTRY_POINT_TYPE_L1_HANDLER) { + entry_points = compiled_class.l1_handlers; + n_entry_points = compiled_class.n_l1_handlers; + } else { + if (entry_point_type == ENTRY_POINT_TYPE_EXTERNAL) { + entry_points = compiled_class.external_functions; + n_entry_points = compiled_class.n_external_functions; + } else { + assert entry_point_type = ENTRY_POINT_TYPE_CONSTRUCTOR; + entry_points = compiled_class.constructors; + n_entry_points = compiled_class.n_constructors; + + if (n_entry_points == 0) { + return (entry_point=cast(0, CompiledClassEntryPoint*)); + } + } + } + + // The key must be at offset 0. + static_assert CompiledClassEntryPoint.selector == 0; + let (entry_point_desc: CompiledClassEntryPoint*, success) = search_sorted( + array_ptr=cast(entry_points, felt*), + elm_size=CompiledClassEntryPoint.SIZE, + n_elms=n_entry_points, + key=execution_context.execution_info.selector, + ); + if (success != 0) { + return (entry_point=entry_point_desc); + } + + // If the selector was not found, verify that the first entry point is the default entry point, + // and call it. + assert_not_zero(n_entry_points); + assert entry_points[0].selector = DEFAULT_ENTRY_POINT_SELECTOR; + return (entry_point=&entry_points[0]); +} + +// Executes an entry point in a contract. +// The contract entry point is selected based on execution_context.entry_point_type +// and execution_context.execution_info.selector. +// +// Arguments: +// block_context - a global context that is fixed throughout the block. +// execution_context - The context for the current execution. +func execute_entry_point{ + range_check_ptr, + builtin_ptrs: BuiltinPointers*, + builtin_encodings: BuiltinData*, +}(compiled_class: CompiledClass*, execution_context: ExecutionContext*) -> ( + retdata_size: felt, retdata: felt* +) { + alloc_locals; + + let (compiled_class_entry_point: CompiledClassEntryPoint*) = get_entry_point( + compiled_class=compiled_class, execution_context=execution_context + ); + + if (compiled_class_entry_point == cast(0, CompiledClassEntryPoint*)) { + // Assert that there is no call data in the case of NOP entry point. + assert execution_context.calldata_size = 0; + %{ execution_helper.skip_call() %} + return (retdata_size=0, retdata=cast(0, felt*)); + } + + let entry_point_offset = compiled_class_entry_point.offset; + local range_check_ptr = range_check_ptr; + local contract_entry_point: felt* = compiled_class.bytecode_ptr + entry_point_offset; + + local os_context: felt*; + local syscall_ptr: felt*; + + %{ + ids.os_context = segments.add() + ids.syscall_ptr = segments.add() + %} + assert [os_context] = cast(syscall_ptr, felt); + + let builtin_ptrs: BuiltinPointers* = prepare_builtin_ptrs_for_execute(builtin_ptrs); + + let n_builtins = BuiltinEncodings.SIZE; + local calldata_start: felt* = execution_context.calldata; + local calldata_end: felt* = calldata_start + execution_context.calldata_size; + local entry_point_n_builtins = compiled_class_entry_point.n_builtins; + local entry_point_builtin_list: felt* = compiled_class_entry_point.builtin_list; + // Call select_input_builtins to push the relevant builtin pointer arguments on the stack. + select_input_builtins( + all_encodings=builtin_encodings, + all_ptrs=builtin_ptrs, + n_all_builtins=n_builtins, + selected_encodings=entry_point_builtin_list, + n_selected_builtins=entry_point_n_builtins, + ); + + %{ + print(ids.compiled_class_entry_point.n_builtins) + + %} + + // Use tempvar to pass the rest of the arguments to contract_entry_point(). + let current_ap = ap; + tempvar args = EntryPointCallArguments( + gas_builtin=1000000000, + syscall_ptr=syscall_ptr, + calldata_start=calldata_start, + calldata_end=calldata_end, + ); + static_assert ap == current_ap + EntryPointCallArguments.SIZE; + + %{ vm_enter_scope() %} + call abs contract_entry_point; + %{ vm_exit_scope() %} + + // Retrieve returned_builtin_ptrs_subset. + // Note that returned_builtin_ptrs_subset cannot be set in a hint because doing so will allow a + // malicious prover to lie about the storage changes of a valid contract. + let (ap_val) = get_ap(); + local return_values_ptr: felt* = ap_val - EntryPointReturnValues.SIZE; + local returned_builtin_ptrs_subset: felt* = return_values_ptr - entry_point_n_builtins; + local entry_point_return_values: EntryPointReturnValues* = cast( + return_values_ptr, EntryPointReturnValues* + ); + + return (retdata_size=0, retdata=cast(0, felt*)); +} + +// Prepares the builtin pointer for the execution of an entry point. +// In particular, restarts the SegmentArenaBuiltin struct if it was previously used. +func prepare_builtin_ptrs_for_execute(builtin_ptrs: BuiltinPointers*) -> BuiltinPointers* { + let selectable_builtins = &builtin_ptrs.selectable; + tempvar segment_arena_ptr = selectable_builtins.segment_arena; + tempvar prev_segment_arena = &segment_arena_ptr[-1]; + + // If no segment was allocated, we don't need to restart the struct. + tempvar prev_n_segments = prev_segment_arena.n_segments; + if (prev_n_segments == 0) { + return builtin_ptrs; + } + + assert segment_arena_ptr[0] = SegmentArenaBuiltin( + infos=&prev_segment_arena.infos[prev_n_segments], n_segments=0, n_finalized=0 + ); + let segment_arena_ptr = &segment_arena_ptr[1]; + return new BuiltinPointers( + selectable=SelectableBuiltins( + pedersen=selectable_builtins.pedersen, + range_check=selectable_builtins.range_check, + ecdsa=selectable_builtins.ecdsa, + bitwise=selectable_builtins.bitwise, + ec_op=selectable_builtins.ec_op, + poseidon=selectable_builtins.poseidon, + segment_arena=segment_arena_ptr, + ), + non_selectable=builtin_ptrs.non_selectable, + ); +} diff --git a/cairo0-bootloader/setup.py b/cairo0-bootloader/setup.py index 0e17dea..52dc298 100644 --- a/cairo0-bootloader/setup.py +++ b/cairo0-bootloader/setup.py @@ -13,6 +13,7 @@ "bootloader.recursive": ["*.cairo", "*/*.cairo"], "bootloader.starknet_with_keccak": ["*.cairo", "*/*.cairo"], "bootloader.starknet": ["*.cairo", "*/*.cairo"], + "bootloader.contract": ["*.cairo", "*/*.cairo"], "bootloader": ["*.cairo", "*/*.cairo"], "builtin_selection": ["*.cairo", "*/*.cairo"], "common.builtin_poseidon": ["*.cairo", "*/*.cairo"], diff --git a/compile.py b/compile.py index a86181b..e4f7293 100644 --- a/compile.py +++ b/compile.py @@ -6,7 +6,7 @@ log_and_run( [ - f"cairo-compile --cairo_path=. bootloader/starknet/simple_bootloader.cairo --output {current_dir}/bootloader.json --proof_mode", + f"cairo-compile --cairo_path=. bootloader/contract/simple_bootloader.cairo --output {current_dir}/bootloader.json --proof_mode", ], "Compile bootloader program", cwd="cairo0-bootloader", diff --git a/run.py b/run.py index ecc5315..e14e30d 100644 --- a/run.py +++ b/run.py @@ -5,7 +5,7 @@ [ "cairo-run \ --program=bootloader.json \ - --layout=recursive_with_poseidon \ + --layout=starknet_with_keccak \ --program_input=bootloader_input.json \ --air_public_input=bootloader_public_input.json \ --air_private_input=bootloader_private_input.json \ From 9513718b7b52793a63b26f1dc948a50cc9fb5972 Mon Sep 17 00:00:00 2001 From: Bartosz Nowak Date: Fri, 24 May 2024 12:32:30 +0200 Subject: [PATCH 04/19] WIP --- .../contract/run_contract_bootloader.cairo | 27 ++++++++++--- .../execution/execute_entry_point.cairo | 38 +++++++++++-------- 2 files changed, 44 insertions(+), 21 deletions(-) diff --git a/cairo0-bootloader/bootloader/contract/run_contract_bootloader.cairo b/cairo0-bootloader/bootloader/contract/run_contract_bootloader.cairo index 47b658b..3a7fd30 100644 --- a/cairo0-bootloader/bootloader/contract/run_contract_bootloader.cairo +++ b/cairo0-bootloader/bootloader/contract/run_contract_bootloader.cairo @@ -59,9 +59,19 @@ func run_contract_bootloader{ ); let builtin_encodings = &local_builtin_encodings; - local calldata = nondet %{ segments.add() %}; + local calldata = 0x0; local execution_info: ExecutionInfo = ExecutionInfo( - selector=0 + block_info=0, + tx_info=0, + + // Entry-point-specific info. + + caller_address=0, + // The execution is done in the context of the contract at this address. + // It controls the storage being used, messages sent to L1, calling contracts, etc. + contract_address=0, + // The entry point selector. + selector=0, ); from starkware.starknet.core.os.constants import ( @@ -74,10 +84,15 @@ func run_contract_bootloader{ ) local execution_context: ExecutionContext = ExecutionContext( - entry_point_type = ENTRY_POINT_TYPE_EXTERNAL, - calldata_size = 0, - calldata = &calldata, - execution_info=&execution_info + entry_point_type=ENTRY_POINT_TYPE_EXTERNAL, + // The hash of the contract class to execute. + class_hash=0, + calldata_size=0, + calldata=0, + // Additional information about the execution. + execution_info=&execution_info, + // Information about the transaction that triggered the execution. + deprecated_tx_info=0, ); with builtin_ptrs, builtin_encodings { diff --git a/cairo0-bootloader/execution/execute_entry_point.cairo b/cairo0-bootloader/execution/execute_entry_point.cairo index a7d1ff2..02a9e71 100644 --- a/cairo0-bootloader/execution/execute_entry_point.cairo +++ b/cairo0-bootloader/execution/execute_entry_point.cairo @@ -48,6 +48,10 @@ struct BuiltinData { } struct ExecutionInfo { + caller_address: felt, + // The execution is done in the context of the contract at this address. + // It controls the storage being used, messages sent to L1, calling contracts, etc. + contract_address: felt, // The entry point selector. selector: felt, } @@ -55,10 +59,14 @@ struct ExecutionInfo { // Represents the execution context during the execution of contract code. struct ExecutionContext { entry_point_type: felt, + // The hash of the contract class to execute. + class_hash: felt, calldata_size: felt, calldata: felt*, // Additional information about the execution. execution_info: ExecutionInfo*, + // Information about the transaction that triggered the execution. + deprecated_tx_info: DeprecatedTxInfo*, } // Represents the arguments pushed to the stack before calling an entry point. @@ -172,14 +180,11 @@ func execute_entry_point{ local range_check_ptr = range_check_ptr; local contract_entry_point: felt* = compiled_class.bytecode_ptr + entry_point_offset; - local os_context: felt*; local syscall_ptr: felt*; %{ - ids.os_context = segments.add() ids.syscall_ptr = segments.add() %} - assert [os_context] = cast(syscall_ptr, felt); let builtin_ptrs: BuiltinPointers* = prepare_builtin_ptrs_for_execute(builtin_ptrs); @@ -197,21 +202,24 @@ func execute_entry_point{ n_selected_builtins=entry_point_n_builtins, ); - %{ - print(ids.compiled_class_entry_point.n_builtins) - - %} - // Use tempvar to pass the rest of the arguments to contract_entry_point(). let current_ap = ap; tempvar args = EntryPointCallArguments( - gas_builtin=1000000000, + gas_builtin=10000000000, syscall_ptr=syscall_ptr, calldata_start=calldata_start, calldata_end=calldata_end, ); static_assert ap == current_ap + EntryPointCallArguments.SIZE; + %{ + print(ids.compiled_class_entry_point.n_builtins) + print(ids.calldata_start) + print(ids.calldata_end) + print(ids.contract_entry_point) + print(ids.syscall_ptr) + %} + %{ vm_enter_scope() %} call abs contract_entry_point; %{ vm_exit_scope() %} @@ -219,12 +227,12 @@ func execute_entry_point{ // Retrieve returned_builtin_ptrs_subset. // Note that returned_builtin_ptrs_subset cannot be set in a hint because doing so will allow a // malicious prover to lie about the storage changes of a valid contract. - let (ap_val) = get_ap(); - local return_values_ptr: felt* = ap_val - EntryPointReturnValues.SIZE; - local returned_builtin_ptrs_subset: felt* = return_values_ptr - entry_point_n_builtins; - local entry_point_return_values: EntryPointReturnValues* = cast( - return_values_ptr, EntryPointReturnValues* - ); + // let (ap_val) = get_ap(); + // local return_values_ptr: felt* = ap_val - EntryPointReturnValues.SIZE; + // local returned_builtin_ptrs_subset: felt* = return_values_ptr - entry_point_n_builtins; + // local entry_point_return_values: EntryPointReturnValues* = cast( + // return_values_ptr, EntryPointReturnValues* + // ); return (retdata_size=0, retdata=cast(0, felt*)); } From b99e838f0a269906843c7304eda8dac2fe4ff40e Mon Sep 17 00:00:00 2001 From: Bartosz Nowak Date: Fri, 24 May 2024 12:32:46 +0200 Subject: [PATCH 05/19] WIP --- cairo0-bootloader/execution/execute_entry_point.cairo | 1 + 1 file changed, 1 insertion(+) diff --git a/cairo0-bootloader/execution/execute_entry_point.cairo b/cairo0-bootloader/execution/execute_entry_point.cairo index 02a9e71..c7a44ab 100644 --- a/cairo0-bootloader/execution/execute_entry_point.cairo +++ b/cairo0-bootloader/execution/execute_entry_point.cairo @@ -224,6 +224,7 @@ func execute_entry_point{ call abs contract_entry_point; %{ vm_exit_scope() %} + // Retrieve returned_builtin_ptrs_subset. // Note that returned_builtin_ptrs_subset cannot be set in a hint because doing so will allow a // malicious prover to lie about the storage changes of a valid contract. From a0ac8bf957ed8fee99900eb572322d89e6bb0b46 Mon Sep 17 00:00:00 2001 From: Pia Date: Fri, 24 May 2024 14:51:23 +0200 Subject: [PATCH 06/19] syscall handler init --- cairo0-bootloader/os/syscall_handler.py | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 cairo0-bootloader/os/syscall_handler.py diff --git a/cairo0-bootloader/os/syscall_handler.py b/cairo0-bootloader/os/syscall_handler.py new file mode 100644 index 0000000..6e40ee7 --- /dev/null +++ b/cairo0-bootloader/os/syscall_handler.py @@ -0,0 +1,24 @@ +from typing import Iterable +from starkware.starknet.core.os.syscall_handler import SyscallHandlerBase, OsExecutionHelper +from starkware.cairo.lang.vm.relocatable import RelocatableValue, MaybeRelocatable +from starkware.cairo.lang.vm.memory_segments import MemorySegmentManager + +class SyscallHandler(SyscallHandlerBase): + """ + A handler for system calls; used by the BusinessLogic entry point execution. + """ + + def __init__( + self, + segments: MemorySegmentManager, + ): + super().__init__(segments=segments, initial_syscall_ptr=None) + + def set_syscall_ptr(self, syscall_ptr: RelocatableValue): + assert self._syscall_ptr is None, "syscall_ptr is already set." + self._syscall_ptr = syscall_ptr + + def allocate_segment(self, data: Iterable[MaybeRelocatable]) -> RelocatableValue: + segment_start = self.segments.add() + self.segments.write_arg(ptr=segment_start, arg=data) + return segment_start \ No newline at end of file From 4b2090db169d236ac244315277e613d7c91eb653 Mon Sep 17 00:00:00 2001 From: Bartosz Nowak Date: Fri, 24 May 2024 14:51:36 +0200 Subject: [PATCH 07/19] WIP --- .../contract/run_contract_bootloader.cairo | 22 +++++-------------- .../execution/execute_entry_point.cairo | 20 +++++++---------- 2 files changed, 14 insertions(+), 28 deletions(-) diff --git a/cairo0-bootloader/bootloader/contract/run_contract_bootloader.cairo b/cairo0-bootloader/bootloader/contract/run_contract_bootloader.cairo index 3a7fd30..32b1e8a 100644 --- a/cairo0-bootloader/bootloader/contract/run_contract_bootloader.cairo +++ b/cairo0-bootloader/bootloader/contract/run_contract_bootloader.cairo @@ -59,18 +59,12 @@ func run_contract_bootloader{ ); let builtin_encodings = &local_builtin_encodings; - local calldata = 0x0; - local execution_info: ExecutionInfo = ExecutionInfo( - block_info=0, - tx_info=0, - - // Entry-point-specific info. + local calldata: felt*; + %{ + ids.calldata = segments.add() + %} - caller_address=0, - // The execution is done in the context of the contract at this address. - // It controls the storage being used, messages sent to L1, calling contracts, etc. - contract_address=0, - // The entry point selector. + local execution_info: ExecutionInfo = ExecutionInfo( selector=0, ); @@ -85,14 +79,10 @@ func run_contract_bootloader{ local execution_context: ExecutionContext = ExecutionContext( entry_point_type=ENTRY_POINT_TYPE_EXTERNAL, - // The hash of the contract class to execute. - class_hash=0, calldata_size=0, - calldata=0, + calldata=calldata, // Additional information about the execution. execution_info=&execution_info, - // Information about the transaction that triggered the execution. - deprecated_tx_info=0, ); with builtin_ptrs, builtin_encodings { diff --git a/cairo0-bootloader/execution/execute_entry_point.cairo b/cairo0-bootloader/execution/execute_entry_point.cairo index c7a44ab..2bcd7c6 100644 --- a/cairo0-bootloader/execution/execute_entry_point.cairo +++ b/cairo0-bootloader/execution/execute_entry_point.cairo @@ -48,25 +48,16 @@ struct BuiltinData { } struct ExecutionInfo { - caller_address: felt, - // The execution is done in the context of the contract at this address. - // It controls the storage being used, messages sent to L1, calling contracts, etc. - contract_address: felt, - // The entry point selector. selector: felt, } // Represents the execution context during the execution of contract code. struct ExecutionContext { entry_point_type: felt, - // The hash of the contract class to execute. - class_hash: felt, calldata_size: felt, calldata: felt*, // Additional information about the execution. execution_info: ExecutionInfo*, - // Information about the transaction that triggered the execution. - deprecated_tx_info: DeprecatedTxInfo*, } // Represents the arguments pushed to the stack before calling an entry point. @@ -182,8 +173,13 @@ func execute_entry_point{ local syscall_ptr: felt*; - %{ + %{ + from starkware.starknet.core.os.syscall_handler import SyscallHandlerBase + ids.syscall_ptr = segments.add() + + syscall_handler = SyscallHandlerBase(ids.syscall_ptr) + syscall_handler.set_syscall_ptr(syscall_ptr=ids.syscall_ptr) %} let builtin_ptrs: BuiltinPointers* = prepare_builtin_ptrs_for_execute(builtin_ptrs); @@ -220,11 +216,11 @@ func execute_entry_point{ print(ids.syscall_ptr) %} - %{ vm_enter_scope() %} + %{ vm_enter_scope({'syscall_handler': syscall_handler}) %} call abs contract_entry_point; %{ vm_exit_scope() %} - + // Retrieve returned_builtin_ptrs_subset. // Note that returned_builtin_ptrs_subset cannot be set in a hint because doing so will allow a // malicious prover to lie about the storage changes of a valid contract. From 85cb872c2c9d7a9fabd6c8d9ce0d5fe119350afd Mon Sep 17 00:00:00 2001 From: Bartosz Nowak Date: Fri, 24 May 2024 16:19:06 +0200 Subject: [PATCH 08/19] WIP --- cairo0-bootloader/execution/__init__.py | 0 .../execution/execute_entry_point.cairo | 9 +-- .../execution/syscall_handler.py | 76 +++++++++++++++++++ cairo0-bootloader/os/syscall_handler.py | 24 ------ cairo0-bootloader/setup.py | 1 + 5 files changed, 79 insertions(+), 31 deletions(-) create mode 100644 cairo0-bootloader/execution/__init__.py create mode 100644 cairo0-bootloader/execution/syscall_handler.py delete mode 100644 cairo0-bootloader/os/syscall_handler.py diff --git a/cairo0-bootloader/execution/__init__.py b/cairo0-bootloader/execution/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/cairo0-bootloader/execution/execute_entry_point.cairo b/cairo0-bootloader/execution/execute_entry_point.cairo index 2bcd7c6..a8e0dbd 100644 --- a/cairo0-bootloader/execution/execute_entry_point.cairo +++ b/cairo0-bootloader/execution/execute_entry_point.cairo @@ -173,13 +173,8 @@ func execute_entry_point{ local syscall_ptr: felt*; - %{ - from starkware.starknet.core.os.syscall_handler import SyscallHandlerBase - + %{ ids.syscall_ptr = segments.add() - - syscall_handler = SyscallHandlerBase(ids.syscall_ptr) - syscall_handler.set_syscall_ptr(syscall_ptr=ids.syscall_ptr) %} let builtin_ptrs: BuiltinPointers* = prepare_builtin_ptrs_for_execute(builtin_ptrs); @@ -216,7 +211,7 @@ func execute_entry_point{ print(ids.syscall_ptr) %} - %{ vm_enter_scope({'syscall_handler': syscall_handler}) %} + %{ vm_enter_scope() %} call abs contract_entry_point; %{ vm_exit_scope() %} diff --git a/cairo0-bootloader/execution/syscall_handler.py b/cairo0-bootloader/execution/syscall_handler.py new file mode 100644 index 0000000..f6124e2 --- /dev/null +++ b/cairo0-bootloader/execution/syscall_handler.py @@ -0,0 +1,76 @@ +from typing import Iterable +from starkware.starknet.core.os.syscall_handler import SyscallHandlerBase, OsExecutionHelper +from starkware.cairo.lang.vm.relocatable import RelocatableValue, MaybeRelocatable +from starkware.cairo.lang.vm.memory_segments import MemorySegmentManager + +class SyscallHandler(SyscallHandlerBase): + """ + A handler for system calls; used by the BusinessLogic entry point execution. + """ + + def __init__( + self, + segments: MemorySegmentManager, + ): + super().__init__(segments=segments, initial_syscall_ptr=None) + + def set_syscall_ptr(self, syscall_ptr: RelocatableValue): + assert self._syscall_ptr is None, "syscall_ptr is already set." + self._syscall_ptr = syscall_ptr + + def allocate_segment(self, data: Iterable[MaybeRelocatable]) -> RelocatableValue: + segment_start = self.segments.add() + self.segments.write_arg(ptr=segment_start, arg=data) + return segment_start + + def _allocate_segment_for_retdata(self): + # Implementation here + pass + + def _call_contract_helper(self): + # Implementation here + pass + + def _count_syscall(self): + # Implementation here + pass + + def _deploy(self): + # Implementation here + pass + + def _emit_event(self): + # Implementation here + pass + + def _get_block_hash(self): + # Implementation here + pass + + def _get_execution_info_ptr(self): + # Implementation here + pass + + def _keccak(self): + # Implementation here + pass + + def _replace_class(self): + # Implementation here + pass + + def _send_message_to_l1(self): + # Implementation here + pass + + def _storage_read(self): + # Implementation here + pass + + def _storage_write(self): + # Implementation here + pass + + def current_block_number(self): + # Implementation here + pass \ No newline at end of file diff --git a/cairo0-bootloader/os/syscall_handler.py b/cairo0-bootloader/os/syscall_handler.py deleted file mode 100644 index 6e40ee7..0000000 --- a/cairo0-bootloader/os/syscall_handler.py +++ /dev/null @@ -1,24 +0,0 @@ -from typing import Iterable -from starkware.starknet.core.os.syscall_handler import SyscallHandlerBase, OsExecutionHelper -from starkware.cairo.lang.vm.relocatable import RelocatableValue, MaybeRelocatable -from starkware.cairo.lang.vm.memory_segments import MemorySegmentManager - -class SyscallHandler(SyscallHandlerBase): - """ - A handler for system calls; used by the BusinessLogic entry point execution. - """ - - def __init__( - self, - segments: MemorySegmentManager, - ): - super().__init__(segments=segments, initial_syscall_ptr=None) - - def set_syscall_ptr(self, syscall_ptr: RelocatableValue): - assert self._syscall_ptr is None, "syscall_ptr is already set." - self._syscall_ptr = syscall_ptr - - def allocate_segment(self, data: Iterable[MaybeRelocatable]) -> RelocatableValue: - segment_start = self.segments.add() - self.segments.write_arg(ptr=segment_start, arg=data) - return segment_start \ No newline at end of file diff --git a/cairo0-bootloader/setup.py b/cairo0-bootloader/setup.py index 52dc298..3445587 100644 --- a/cairo0-bootloader/setup.py +++ b/cairo0-bootloader/setup.py @@ -18,6 +18,7 @@ "builtin_selection": ["*.cairo", "*/*.cairo"], "common.builtin_poseidon": ["*.cairo", "*/*.cairo"], "common": ["*.cairo", "*/*.cairo"], + "execution": ["*.cairo", "*/*.cairo"], "contract_class": ["*.cairo", "*/*.cairo"], "lang.compiler": ["cairo.ebnf", "lib/*.cairo"], }, From 07de64fea40dcdbaf49418f1b81265ad3323191e Mon Sep 17 00:00:00 2001 From: Bartosz Nowak Date: Mon, 27 May 2024 11:46:56 +0200 Subject: [PATCH 09/19] rm --- .../bootloader/contract/builtins.py | 13 - .../bootloader/contract/execute_task.cairo | 258 ------------------ 2 files changed, 271 deletions(-) delete mode 100644 cairo0-bootloader/bootloader/contract/builtins.py delete mode 100644 cairo0-bootloader/bootloader/contract/execute_task.cairo diff --git a/cairo0-bootloader/bootloader/contract/builtins.py b/cairo0-bootloader/bootloader/contract/builtins.py deleted file mode 100644 index 5a7ff01..0000000 --- a/cairo0-bootloader/bootloader/contract/builtins.py +++ /dev/null @@ -1,13 +0,0 @@ -from starkware.cairo.lang.builtins.all_builtins import * - -ALL_BUILTINS = BuiltinList( - [ - OUTPUT_BUILTIN, - PEDERSEN_BUILTIN, - RANGE_CHECK_BUILTIN, - ECDSA_BUILTIN, - BITWISE_BUILTIN, - EC_OP_BUILTIN, - POSEIDON_BUILTIN, - ] -) \ No newline at end of file diff --git a/cairo0-bootloader/bootloader/contract/execute_task.cairo b/cairo0-bootloader/bootloader/contract/execute_task.cairo deleted file mode 100644 index 80fd588..0000000 --- a/cairo0-bootloader/bootloader/contract/execute_task.cairo +++ /dev/null @@ -1,258 +0,0 @@ -from builtin_selection.inner_select_builtins import inner_select_builtins -from builtin_selection.select_input_builtins import select_input_builtins -from builtin_selection.validate_builtins import validate_builtins -from common.builtin_poseidon.poseidon import PoseidonBuiltin, poseidon_hash_many -from common.cairo_builtins import HashBuiltin -from common.hash_chain import hash_chain -from common.registers import get_ap, get_fp_and_pc - -const BOOTLOADER_VERSION = 0; - -// Use an empty struct to encode an arbitrary-length array. -struct BuiltinList { -} - -struct ProgramHeader { - // The data length field specifies the length of the data (i.e., program header + program) - // and guarantees unique decoding of the program hash. - data_length: felt, - bootloader_version: felt, - program_main: felt, - n_builtins: felt, - // 'builtin_list' is a continuous memory segment containing the ASCII encoding of the (ordered) - // builtins used by the program. - builtin_list: BuiltinList, -} - -struct BuiltinData { - output: felt, - pedersen: felt, - range_check: felt, - ecdsa: felt, - bitwise: felt, - ec_op: felt, - keccak: felt, - poseidon: felt, -} - -// Computes the hash of a program. -// Arguments: -// * program_data_ptr - the pointer to the program to be hashed. -// * use_poseidon - a flag that determines whether the hashing will use Poseidon hash. -// Return values: -// * hash - the computed program hash. -func compute_program_hash{pedersen_ptr: HashBuiltin*, poseidon_ptr: PoseidonBuiltin*}( - program_data_ptr: felt*, use_poseidon: felt -) -> (hash: felt) { - if (use_poseidon == 1) { - let (hash) = poseidon_hash_many{poseidon_ptr=poseidon_ptr}( - n=program_data_ptr[0], elements=&program_data_ptr[1] - ); - return (hash=hash); - } else { - let (hash) = hash_chain{hash_ptr=pedersen_ptr}(data_ptr=program_data_ptr); - return (hash=hash); - } -} - -// Executes a single task. -// The task is passed in the 'task' hint variable. -// Outputs of the task are prefixed by: -// a. Output size (including this prefix) -// b. hash_chain(ProgramHeader || task.program.data) where ProgramHeader is defined below. -// The function returns a pointer to the updated builtin pointers after executing the task. -func execute_task{builtin_ptrs: BuiltinData*, self_range_check_ptr}( - builtin_encodings: BuiltinData*, builtin_instance_sizes: BuiltinData*, use_poseidon: felt -) { - // Allocate memory for local variables. - alloc_locals; - - // Get the value of fp. - let (local __fp__, _) = get_fp_and_pc(); - - // Pointer to the program data (which starts with ProgramHeader). - local program_data_ptr: felt*; - %{ ids.program_data_ptr = program_data_base = segments.add() %} - - // The struct of input builtin pointers pointed by the given builtin_ptrs. - let input_builtin_ptrs: BuiltinData* = builtin_ptrs; - local output_ptr = input_builtin_ptrs.output; - - let program_header = cast(program_data_ptr, ProgramHeader*); - %{ - from bootloader.utils import load_program - - # Call load_program to load the program header and code to memory. - program_address, program_data_size = load_program( - task=task, memory=memory, program_header=ids.program_header, - builtins_offset=ids.ProgramHeader.builtin_list) - segments.finalize(program_data_base.segment_index, program_data_size) - %} - - // Verify that the bootloader version is compatible with the bootloader. - assert program_header.bootloader_version = BOOTLOADER_VERSION; - - // Call hash_chain, to verify the program hash. - let pedersen_ptr = cast(input_builtin_ptrs.pedersen, HashBuiltin*); - let poseidon_ptr = cast(input_builtin_ptrs.poseidon, PoseidonBuiltin*); - with pedersen_ptr, poseidon_ptr { - let (hash) = compute_program_hash( - program_data_ptr=program_data_ptr, use_poseidon=use_poseidon - ); - } - - // Write hash_chain result to output_ptr + 1. - assert [output_ptr + 1] = hash; - %{ - # Validate hash. - from bootloader.hash_program import compute_program_hash_chain - - assert memory[ids.output_ptr + 1] == compute_program_hash_chain( - program=task.get_program(), - use_poseidon=bool(ids.use_poseidon)), 'Computed hash does not match input.' - %} - - // Set the program entry point, so the bootloader can later run the program. - local builtin_list: felt* = &program_header.builtin_list; - local n_builtins = program_header.n_builtins; - tempvar program_address = builtin_list + n_builtins; - %{ - # Sanity check. - assert ids.program_address == program_address - %} - tempvar program_main = program_header.program_main; - // The address in memory where the main function of the task is loaded. - local program_entry_point: felt* = program_address + program_main; - - // Fill in all builtin pointers which may be used by the task. - // Skip the 2 slots prefix that we add to the task output. - local pre_execution_builtin_ptrs: BuiltinData = BuiltinData( - output=output_ptr + 2, - pedersen=cast(pedersen_ptr, felt), - range_check=input_builtin_ptrs.range_check, - ecdsa=input_builtin_ptrs.ecdsa, - bitwise=input_builtin_ptrs.bitwise, - ec_op=input_builtin_ptrs.ec_op, - poseidon=cast(poseidon_ptr, felt), - ); - - // Call select_input_builtins to get the relevant input builtin pointers for the task. - select_input_builtins( - all_encodings=builtin_encodings, - all_ptrs=&pre_execution_builtin_ptrs, - n_all_builtins=BuiltinData.SIZE, - selected_encodings=builtin_list, - n_selected_builtins=n_builtins, - ); - - call_task: - %{ - from bootloader.objects import ( - CairoPieTask, - RunProgramTask, - Task, - ) - from bootloader.utils import ( - load_cairo_pie, - prepare_output_runner, - ) - - assert isinstance(task, Task) - n_builtins = len(task.get_program().builtins) - new_task_locals = {} - if isinstance(task, RunProgramTask): - new_task_locals['program_input'] = task.program_input - new_task_locals['WITH_BOOTLOADER'] = True - - vm_load_program(task.program, program_address) - elif isinstance(task, CairoPieTask): - ret_pc = ids.ret_pc_label.instruction_offset_ - ids.call_task.instruction_offset_ + pc - load_cairo_pie( - task=task.cairo_pie, memory=memory, segments=segments, - program_address=program_address, execution_segment_address= ap - n_builtins, - builtin_runners=builtin_runners, ret_fp=fp, ret_pc=ret_pc) - else: - raise NotImplementedError(f'Unexpected task type: {type(task).__name__}.') - - output_runner_data = prepare_output_runner( - task=task, - output_builtin=output_builtin, - output_ptr=ids.pre_execution_builtin_ptrs.output) - vm_enter_scope(new_task_locals) - %} - - // Call the inner program's main() function. - call abs program_entry_point; - - ret_pc_label: - %{ - vm_exit_scope() - # Note that bootloader_input will only be available in the next hint. - %} - - // Note that used_builtins_addr cannot be set in a hint because doing so will allow a malicious - // prover to lie about the outputs of a valid program. - let (ap_val) = get_ap(); - local used_builtins_addr: felt* = cast(ap_val - n_builtins, felt*); - - // Call inner_select_builtins to validate that the values of the builtin pointers for the next - // task are updated according to the task return builtin pointers. - - // Allocate a struct containing all builtin pointers just after the program returns. - local return_builtin_ptrs: BuiltinData; - %{ - from bootloader.starknet.builtins import ALL_BUILTINS - from bootloader.utils import write_return_builtins - - # Fill the values of all builtin pointers after executing the task. - builtins = task.get_program().builtins - write_return_builtins( - memory=memory, return_builtins_addr=ids.return_builtin_ptrs.address_, - used_builtins=builtins, used_builtins_addr=ids.used_builtins_addr, - pre_execution_builtins_addr=ids.pre_execution_builtin_ptrs.address_, task=task, all_builtins=ALL_BUILTINS) - - vm_enter_scope({'n_selected_builtins': n_builtins}) - %} - let select_builtins_ret = inner_select_builtins( - all_encodings=builtin_encodings, - all_ptrs=&return_builtin_ptrs, - selected_encodings=builtin_list, - selected_ptrs=used_builtins_addr, - n_builtins=BuiltinData.SIZE, - ); - %{ vm_exit_scope() %} - - // Assert that the correct number of builtins was selected. - // Note that builtin_list is a pointer to the list containing the selected encodings. - assert n_builtins = select_builtins_ret.selected_encodings_end - builtin_list; - - // Call validate_builtins to validate that the builtin pointers have advanced correctly. - validate_builtins{range_check_ptr=self_range_check_ptr}( - prev_builtin_ptrs=&pre_execution_builtin_ptrs, - new_builtin_ptrs=&return_builtin_ptrs, - builtin_instance_sizes=builtin_instance_sizes, - n_builtins=BuiltinData.SIZE, - ); - - // Verify that [output_ptr] = return_builtin_ptrs.output - output_ptr. - // Output size should be 2 + the number of output slots that were consumed by the task. - local output_size = return_builtin_ptrs.output - output_ptr; - assert [output_ptr] = output_size; - - %{ - from bootloader.utils import get_task_fact_topology - - # Add the fact topology of the current task to 'fact_topologies'. - output_start = ids.pre_execution_builtin_ptrs.output - output_end = ids.return_builtin_ptrs.output - fact_topologies.append(get_task_fact_topology( - output_size=output_end - output_start, - task=task, - output_builtin=output_builtin, - output_runner_data=output_runner_data, - )) - %} - - let builtin_ptrs = &return_builtin_ptrs; - return (); -} \ No newline at end of file From 94c366cc1195fbfa5c11b98bf8a2245ce5954d22 Mon Sep 17 00:00:00 2001 From: Bartosz Nowak Date: Mon, 27 May 2024 12:18:59 +0200 Subject: [PATCH 10/19] refactor --- .../contract}/execute_entry_point.cairo | 0 .../bootloader/contract/run_contract_bootloader.cairo | 2 +- .../{execution => bootloader/contract}/syscall_handler.py | 0 cairo0-bootloader/execution/__init__.py | 0 cairo0-bootloader/setup.py | 1 - 5 files changed, 1 insertion(+), 2 deletions(-) rename cairo0-bootloader/{execution => bootloader/contract}/execute_entry_point.cairo (100%) rename cairo0-bootloader/{execution => bootloader/contract}/syscall_handler.py (100%) delete mode 100644 cairo0-bootloader/execution/__init__.py diff --git a/cairo0-bootloader/execution/execute_entry_point.cairo b/cairo0-bootloader/bootloader/contract/execute_entry_point.cairo similarity index 100% rename from cairo0-bootloader/execution/execute_entry_point.cairo rename to cairo0-bootloader/bootloader/contract/execute_entry_point.cairo diff --git a/cairo0-bootloader/bootloader/contract/run_contract_bootloader.cairo b/cairo0-bootloader/bootloader/contract/run_contract_bootloader.cairo index 32b1e8a..2ed3ad7 100644 --- a/cairo0-bootloader/bootloader/contract/run_contract_bootloader.cairo +++ b/cairo0-bootloader/bootloader/contract/run_contract_bootloader.cairo @@ -7,7 +7,7 @@ from starkware.starknet.core.os.builtins import ( NonSelectableBuiltins, SelectableBuiltins, ) -from execution.execute_entry_point import execute_entry_point, ExecutionContext, ExecutionInfo, BuiltinData +from bootloader.contract.execute_entry_point import execute_entry_point, ExecutionContext, ExecutionInfo, BuiltinData // Loads the programs and executes them. // diff --git a/cairo0-bootloader/execution/syscall_handler.py b/cairo0-bootloader/bootloader/contract/syscall_handler.py similarity index 100% rename from cairo0-bootloader/execution/syscall_handler.py rename to cairo0-bootloader/bootloader/contract/syscall_handler.py diff --git a/cairo0-bootloader/execution/__init__.py b/cairo0-bootloader/execution/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/cairo0-bootloader/setup.py b/cairo0-bootloader/setup.py index 3445587..52dc298 100644 --- a/cairo0-bootloader/setup.py +++ b/cairo0-bootloader/setup.py @@ -18,7 +18,6 @@ "builtin_selection": ["*.cairo", "*/*.cairo"], "common.builtin_poseidon": ["*.cairo", "*/*.cairo"], "common": ["*.cairo", "*/*.cairo"], - "execution": ["*.cairo", "*/*.cairo"], "contract_class": ["*.cairo", "*/*.cairo"], "lang.compiler": ["cairo.ebnf", "lib/*.cairo"], }, From 3c15fda785d995cae312f25d5c2e0995968545e8 Mon Sep 17 00:00:00 2001 From: Bartosz Nowak Date: Mon, 27 May 2024 12:20:23 +0200 Subject: [PATCH 11/19] format --- .../contract/execute_entry_point.cairo | 19 +++---------- .../contract/run_contract_bootloader.cairo | 25 ++++++++++------- .../contract/simple_bootloader.cairo | 11 +++++--- .../bootloader/contract/syscall_handler.py | 10 ++++--- .../bootloader/recursive/execute_task.cairo | 2 +- .../recursive/run_simple_bootloader.cairo | 17 +++--------- .../recursive/simple_bootloader.cairo | 13 +++------ .../execute_task.cairo | 2 +- .../run_simple_bootloader.cairo | 14 +++------- .../simple_bootloader.cairo | 6 ++--- .../starknet_with_keccak/execute_task.cairo | 2 +- .../run_simple_bootloader.cairo | 11 ++------ .../simple_bootloader.cairo | 6 ++--- .../common/builtin_poseidon/poseidon.cairo | 2 +- cairo0-bootloader/common/cairo_builtins.cairo | 2 +- cairo0-bootloader/common/ec_point.cairo | 2 +- cairo0-bootloader/common/hash_chain.cairo | 2 +- cairo0-bootloader/common/keccak_state.cairo | 2 +- cairo0-bootloader/common/poseidon_state.cairo | 2 +- cairo0-bootloader/common/registers.cairo | 2 +- .../lang/compiler/lib/registers.cairo | 2 +- format.sh | 27 +++++++++++++++++++ 22 files changed, 87 insertions(+), 94 deletions(-) create mode 100755 format.sh diff --git a/cairo0-bootloader/bootloader/contract/execute_entry_point.cairo b/cairo0-bootloader/bootloader/contract/execute_entry_point.cairo index a8e0dbd..40ce9c2 100644 --- a/cairo0-bootloader/bootloader/contract/execute_entry_point.cairo +++ b/cairo0-bootloader/bootloader/contract/execute_entry_point.cairo @@ -29,11 +29,7 @@ from starkware.starknet.core.os.constants import ( ENTRY_POINT_TYPE_L1_HANDLER, NOP_ENTRY_POINT_OFFSET, ) -from contract_class.compiled_class import ( - CompiledClass, - CompiledClassEntryPoint, - CompiledClassFact, -) +from contract_class.compiled_class import CompiledClass, CompiledClassEntryPoint, CompiledClassFact from starkware.starknet.core.os.output import OsCarriedOutputs struct BuiltinData { @@ -88,9 +84,7 @@ func call_execute_syscalls{ contract_class_changes: DictAccess*, outputs: OsCarriedOutputs*, }(block_context: BlockContext*, execution_context: ExecutionContext*, syscall_ptr_end: felt*) { - %{ - print("call_execute_syscalls") - %} + %{ print("call_execute_syscalls") %} } // Returns the CompiledClassEntryPoint, based on 'compiled_class' and 'execution_context'. @@ -148,9 +142,7 @@ func get_entry_point{range_check_ptr}( // block_context - a global context that is fixed throughout the block. // execution_context - The context for the current execution. func execute_entry_point{ - range_check_ptr, - builtin_ptrs: BuiltinPointers*, - builtin_encodings: BuiltinData*, + range_check_ptr, builtin_ptrs: BuiltinPointers*, builtin_encodings: BuiltinData* }(compiled_class: CompiledClass*, execution_context: ExecutionContext*) -> ( retdata_size: felt, retdata: felt* ) { @@ -173,9 +165,7 @@ func execute_entry_point{ local syscall_ptr: felt*; - %{ - ids.syscall_ptr = segments.add() - %} + %{ ids.syscall_ptr = segments.add() %} let builtin_ptrs: BuiltinPointers* = prepare_builtin_ptrs_for_execute(builtin_ptrs); @@ -215,7 +205,6 @@ func execute_entry_point{ call abs contract_entry_point; %{ vm_exit_scope() %} - // Retrieve returned_builtin_ptrs_subset. // Note that returned_builtin_ptrs_subset cannot be set in a hint because doing so will allow a // malicious prover to lie about the storage changes of a valid contract. diff --git a/cairo0-bootloader/bootloader/contract/run_contract_bootloader.cairo b/cairo0-bootloader/bootloader/contract/run_contract_bootloader.cairo index 2ed3ad7..823fc41 100644 --- a/cairo0-bootloader/bootloader/contract/run_contract_bootloader.cairo +++ b/cairo0-bootloader/bootloader/contract/run_contract_bootloader.cairo @@ -1,4 +1,9 @@ -from starkware.cairo.common.cairo_builtins import HashBuiltin, PoseidonBuiltin, BitwiseBuiltin, KeccakBuiltin +from starkware.cairo.common.cairo_builtins import ( + HashBuiltin, + PoseidonBuiltin, + BitwiseBuiltin, + KeccakBuiltin, +) from starkware.cairo.common.registers import get_fp_and_pc from contract_class.compiled_class import CompiledClass from starkware.starknet.builtins.segment_arena.segment_arena import new_arena @@ -7,7 +12,12 @@ from starkware.starknet.core.os.builtins import ( NonSelectableBuiltins, SelectableBuiltins, ) -from bootloader.contract.execute_entry_point import execute_entry_point, ExecutionContext, ExecutionInfo, BuiltinData +from bootloader.contract.execute_entry_point import ( + execute_entry_point, + ExecutionContext, + ExecutionInfo, + BuiltinData, +) // Loads the programs and executes them. // @@ -60,13 +70,9 @@ func run_contract_bootloader{ let builtin_encodings = &local_builtin_encodings; local calldata: felt*; - %{ - ids.calldata = segments.add() - %} + %{ ids.calldata = segments.add() %} - local execution_info: ExecutionInfo = ExecutionInfo( - selector=0, - ); + local execution_info: ExecutionInfo = ExecutionInfo(selector=0); from starkware.starknet.core.os.constants import ( DEFAULT_ENTRY_POINT_SELECTOR, @@ -81,7 +87,6 @@ func run_contract_bootloader{ entry_point_type=ENTRY_POINT_TYPE_EXTERNAL, calldata_size=0, calldata=calldata, - // Additional information about the execution. execution_info=&execution_info, ); @@ -90,4 +95,4 @@ func run_contract_bootloader{ } return (); -} \ No newline at end of file +} diff --git a/cairo0-bootloader/bootloader/contract/simple_bootloader.cairo b/cairo0-bootloader/bootloader/contract/simple_bootloader.cairo index d59c69c..0a3e55a 100644 --- a/cairo0-bootloader/bootloader/contract/simple_bootloader.cairo +++ b/cairo0-bootloader/bootloader/contract/simple_bootloader.cairo @@ -1,9 +1,12 @@ %builtins output pedersen range_check ecdsa bitwise ec_op keccak poseidon -from bootloader.contract.run_contract_bootloader import ( - run_contract_bootloader, +from bootloader.contract.run_contract_bootloader import run_contract_bootloader +from starkware.cairo.common.cairo_builtins import ( + HashBuiltin, + PoseidonBuiltin, + BitwiseBuiltin, + KeccakBuiltin, ) -from starkware.cairo.common.cairo_builtins import HashBuiltin, PoseidonBuiltin, BitwiseBuiltin, KeccakBuiltin from starkware.cairo.common.registers import get_fp_and_pc from contract_class.compiled_class import CompiledClass @@ -46,4 +49,4 @@ func main{ run_contract_bootloader(compiled_class); return (); -} \ No newline at end of file +} diff --git a/cairo0-bootloader/bootloader/contract/syscall_handler.py b/cairo0-bootloader/bootloader/contract/syscall_handler.py index f6124e2..3867364 100644 --- a/cairo0-bootloader/bootloader/contract/syscall_handler.py +++ b/cairo0-bootloader/bootloader/contract/syscall_handler.py @@ -1,8 +1,12 @@ from typing import Iterable -from starkware.starknet.core.os.syscall_handler import SyscallHandlerBase, OsExecutionHelper +from starkware.starknet.core.os.syscall_handler import ( + SyscallHandlerBase, + OsExecutionHelper, +) from starkware.cairo.lang.vm.relocatable import RelocatableValue, MaybeRelocatable from starkware.cairo.lang.vm.memory_segments import MemorySegmentManager + class SyscallHandler(SyscallHandlerBase): """ A handler for system calls; used by the BusinessLogic entry point execution. @@ -22,7 +26,7 @@ def allocate_segment(self, data: Iterable[MaybeRelocatable]) -> RelocatableValue segment_start = self.segments.add() self.segments.write_arg(ptr=segment_start, arg=data) return segment_start - + def _allocate_segment_for_retdata(self): # Implementation here pass @@ -73,4 +77,4 @@ def _storage_write(self): def current_block_number(self): # Implementation here - pass \ No newline at end of file + pass diff --git a/cairo0-bootloader/bootloader/recursive/execute_task.cairo b/cairo0-bootloader/bootloader/recursive/execute_task.cairo index f7d9a8e..b6ecd6b 100644 --- a/cairo0-bootloader/bootloader/recursive/execute_task.cairo +++ b/cairo0-bootloader/bootloader/recursive/execute_task.cairo @@ -243,4 +243,4 @@ func execute_task{builtin_ptrs: BuiltinData*, self_range_check_ptr}( let builtin_ptrs = &return_builtin_ptrs; return (); -} \ No newline at end of file +} diff --git a/cairo0-bootloader/bootloader/recursive/run_simple_bootloader.cairo b/cairo0-bootloader/bootloader/recursive/run_simple_bootloader.cairo index 93185ef..03d64f6 100644 --- a/cairo0-bootloader/bootloader/recursive/run_simple_bootloader.cairo +++ b/cairo0-bootloader/bootloader/recursive/run_simple_bootloader.cairo @@ -11,10 +11,7 @@ from common.registers import get_fp_and_pc // Updated builtin pointers after executing all programs. // fact_topologies - that corresponds to the tasks (hint variable). func run_simple_bootloader{ - output_ptr: felt*, - pedersen_ptr: HashBuiltin*, - range_check_ptr, - bitwise_ptr, + output_ptr: felt*, pedersen_ptr: HashBuiltin*, range_check_ptr, bitwise_ptr }() { alloc_locals; local task_range_check_ptr; @@ -45,17 +42,11 @@ func run_simple_bootloader{ // A struct containing the encoding of each builtin. local builtin_encodings: BuiltinData = BuiltinData( - output='output', - pedersen='pedersen', - range_check='range_check', - bitwise='bitwise', + output='output', pedersen='pedersen', range_check='range_check', bitwise='bitwise' ); local builtin_instance_sizes: BuiltinData = BuiltinData( - output=1, - pedersen=3, - range_check=1, - bitwise=5, + output=1, pedersen=3, range_check=1, bitwise=5 ); // Call execute_tasks. @@ -152,4 +143,4 @@ func execute_tasks{builtin_ptrs: BuiltinData*, self_range_check_ptr}( builtin_instance_sizes=builtin_instance_sizes, n_tasks=n_tasks - 1, ); -} \ No newline at end of file +} diff --git a/cairo0-bootloader/bootloader/recursive/simple_bootloader.cairo b/cairo0-bootloader/bootloader/recursive/simple_bootloader.cairo index 3d4bf30..5b3b309 100644 --- a/cairo0-bootloader/bootloader/recursive/simple_bootloader.cairo +++ b/cairo0-bootloader/bootloader/recursive/simple_bootloader.cairo @@ -1,17 +1,10 @@ %builtins output pedersen range_check bitwise -from bootloader.recursive.run_simple_bootloader import ( - run_simple_bootloader, -) +from bootloader.recursive.run_simple_bootloader import run_simple_bootloader from common.cairo_builtins import HashBuiltin from common.registers import get_fp_and_pc -func main{ - output_ptr: felt*, - pedersen_ptr: HashBuiltin*, - range_check_ptr, - bitwise_ptr, -}() { +func main{output_ptr: felt*, pedersen_ptr: HashBuiltin*, range_check_ptr, bitwise_ptr}() { %{ from bootloader.objects import SimpleBootloaderInput simple_bootloader_input = SimpleBootloaderInput.Schema().load(program_input) @@ -44,4 +37,4 @@ func main{ ) %} return (); -} \ No newline at end of file +} diff --git a/cairo0-bootloader/bootloader/recursive_with_poseidon/execute_task.cairo b/cairo0-bootloader/bootloader/recursive_with_poseidon/execute_task.cairo index 5213a85..12f6b77 100644 --- a/cairo0-bootloader/bootloader/recursive_with_poseidon/execute_task.cairo +++ b/cairo0-bootloader/bootloader/recursive_with_poseidon/execute_task.cairo @@ -250,4 +250,4 @@ func execute_task{builtin_ptrs: BuiltinData*, self_range_check_ptr}( let builtin_ptrs = &return_builtin_ptrs; return (); -} \ No newline at end of file +} diff --git a/cairo0-bootloader/bootloader/recursive_with_poseidon/run_simple_bootloader.cairo b/cairo0-bootloader/bootloader/recursive_with_poseidon/run_simple_bootloader.cairo index 35742e3..900e6cc 100644 --- a/cairo0-bootloader/bootloader/recursive_with_poseidon/run_simple_bootloader.cairo +++ b/cairo0-bootloader/bootloader/recursive_with_poseidon/run_simple_bootloader.cairo @@ -55,11 +55,7 @@ func run_simple_bootloader{ ); local builtin_instance_sizes: BuiltinData = BuiltinData( - output=1, - pedersen=3, - range_check=1, - bitwise=5, - poseidon=6, + output=1, pedersen=3, range_check=1, bitwise=5, poseidon=6 ); // Call execute_tasks. @@ -153,11 +149,7 @@ func execute_tasks{builtin_ptrs: BuiltinData*, self_range_check_ptr}( } local input_size = Input.SIZE; - local input: Input = Input( - a=3, - b=4, - c=5, - ); + local input: Input = Input(a=3, b=4, c=5); %{ from bootloader.objects import Task @@ -188,4 +180,4 @@ func execute_tasks{builtin_ptrs: BuiltinData*, self_range_check_ptr}( builtin_instance_sizes=builtin_instance_sizes, n_tasks=n_tasks - 1, ); -} \ No newline at end of file +} diff --git a/cairo0-bootloader/bootloader/recursive_with_poseidon/simple_bootloader.cairo b/cairo0-bootloader/bootloader/recursive_with_poseidon/simple_bootloader.cairo index efec7e5..74c81f6 100644 --- a/cairo0-bootloader/bootloader/recursive_with_poseidon/simple_bootloader.cairo +++ b/cairo0-bootloader/bootloader/recursive_with_poseidon/simple_bootloader.cairo @@ -1,8 +1,6 @@ %builtins output pedersen range_check bitwise poseidon -from bootloader.recursive_with_poseidon.run_simple_bootloader import ( - run_simple_bootloader, -) +from bootloader.recursive_with_poseidon.run_simple_bootloader import run_simple_bootloader from common.cairo_builtins import HashBuiltin, PoseidonBuiltin from common.registers import get_fp_and_pc @@ -45,4 +43,4 @@ func main{ ) %} return (); -} \ No newline at end of file +} diff --git a/cairo0-bootloader/bootloader/starknet_with_keccak/execute_task.cairo b/cairo0-bootloader/bootloader/starknet_with_keccak/execute_task.cairo index 667e55b..b8afb4a 100644 --- a/cairo0-bootloader/bootloader/starknet_with_keccak/execute_task.cairo +++ b/cairo0-bootloader/bootloader/starknet_with_keccak/execute_task.cairo @@ -256,4 +256,4 @@ func execute_task{builtin_ptrs: BuiltinData*, self_range_check_ptr}( let builtin_ptrs = &return_builtin_ptrs; return (); -} \ No newline at end of file +} diff --git a/cairo0-bootloader/bootloader/starknet_with_keccak/run_simple_bootloader.cairo b/cairo0-bootloader/bootloader/starknet_with_keccak/run_simple_bootloader.cairo index e11d89f..c4f90f5 100644 --- a/cairo0-bootloader/bootloader/starknet_with_keccak/run_simple_bootloader.cairo +++ b/cairo0-bootloader/bootloader/starknet_with_keccak/run_simple_bootloader.cairo @@ -64,14 +64,7 @@ func run_simple_bootloader{ ); local builtin_instance_sizes: BuiltinData = BuiltinData( - output=1, - pedersen=3, - range_check=1, - ecdsa=2, - bitwise=5, - ec_op=7, - keccak=16, - poseidon=6, + output=1, pedersen=3, range_check=1, ecdsa=2, bitwise=5, ec_op=7, keccak=16, poseidon=6 ); // Call execute_tasks. @@ -172,4 +165,4 @@ func execute_tasks{builtin_ptrs: BuiltinData*, self_range_check_ptr}( builtin_instance_sizes=builtin_instance_sizes, n_tasks=n_tasks - 1, ); -} \ No newline at end of file +} diff --git a/cairo0-bootloader/bootloader/starknet_with_keccak/simple_bootloader.cairo b/cairo0-bootloader/bootloader/starknet_with_keccak/simple_bootloader.cairo index 0051e68..48eade2 100644 --- a/cairo0-bootloader/bootloader/starknet_with_keccak/simple_bootloader.cairo +++ b/cairo0-bootloader/bootloader/starknet_with_keccak/simple_bootloader.cairo @@ -1,8 +1,6 @@ %builtins output pedersen range_check ecdsa bitwise ec_op keccak poseidon -from bootloader.starknet_with_keccak.run_simple_bootloader import ( - run_simple_bootloader, -) +from bootloader.starknet_with_keccak.run_simple_bootloader import run_simple_bootloader from common.cairo_builtins import HashBuiltin, PoseidonBuiltin from common.registers import get_fp_and_pc @@ -48,4 +46,4 @@ func main{ ) %} return (); -} \ No newline at end of file +} diff --git a/cairo0-bootloader/common/builtin_poseidon/poseidon.cairo b/cairo0-bootloader/common/builtin_poseidon/poseidon.cairo index fdabd22..54b3b99 100644 --- a/cairo0-bootloader/common/builtin_poseidon/poseidon.cairo +++ b/cairo0-bootloader/common/builtin_poseidon/poseidon.cairo @@ -104,4 +104,4 @@ func poseidon_hash_many{poseidon_ptr: PoseidonBuiltin*}(n: felt, elements: felt* let res = poseidon_ptr.output.s0; let poseidon_ptr = poseidon_ptr + PoseidonBuiltin.SIZE; return (res=res); -} \ No newline at end of file +} diff --git a/cairo0-bootloader/common/cairo_builtins.cairo b/cairo0-bootloader/common/cairo_builtins.cairo index baf3128..f996e96 100644 --- a/cairo0-bootloader/common/cairo_builtins.cairo +++ b/cairo0-bootloader/common/cairo_builtins.cairo @@ -42,4 +42,4 @@ struct KeccakBuiltin { struct PoseidonBuiltin { input: PoseidonBuiltinState, output: PoseidonBuiltinState, -} \ No newline at end of file +} diff --git a/cairo0-bootloader/common/ec_point.cairo b/cairo0-bootloader/common/ec_point.cairo index 9c526fe..40be277 100644 --- a/cairo0-bootloader/common/ec_point.cairo +++ b/cairo0-bootloader/common/ec_point.cairo @@ -2,4 +2,4 @@ struct EcPoint { x: felt, y: felt, -} \ No newline at end of file +} diff --git a/cairo0-bootloader/common/hash_chain.cairo b/cairo0-bootloader/common/hash_chain.cairo index dd255d0..7edfe47 100644 --- a/cairo0-bootloader/common/hash_chain.cairo +++ b/cairo0-bootloader/common/hash_chain.cairo @@ -44,4 +44,4 @@ func hash_chain{hash_ptr: HashBuiltin*}(data_ptr: felt*) -> (hash: felt) { // Set the hash_ptr implicit argument and return the result. let hash_ptr = next_frame.hash_ptr; return (hash=next_frame.cur_hash); -} \ No newline at end of file +} diff --git a/cairo0-bootloader/common/keccak_state.cairo b/cairo0-bootloader/common/keccak_state.cairo index 3a26220..4e8f9d7 100644 --- a/cairo0-bootloader/common/keccak_state.cairo +++ b/cairo0-bootloader/common/keccak_state.cairo @@ -8,4 +8,4 @@ struct KeccakBuiltinState { s5: felt, s6: felt, s7: felt, -} \ No newline at end of file +} diff --git a/cairo0-bootloader/common/poseidon_state.cairo b/cairo0-bootloader/common/poseidon_state.cairo index 4481493..5942917 100644 --- a/cairo0-bootloader/common/poseidon_state.cairo +++ b/cairo0-bootloader/common/poseidon_state.cairo @@ -3,4 +3,4 @@ struct PoseidonBuiltinState { s0: felt, s1: felt, s2: felt, -} \ No newline at end of file +} diff --git a/cairo0-bootloader/common/registers.cairo b/cairo0-bootloader/common/registers.cairo index 0b0ab8c..bdf8e7b 100644 --- a/cairo0-bootloader/common/registers.cairo +++ b/cairo0-bootloader/common/registers.cairo @@ -23,4 +23,4 @@ func get_label_location(label_value: codeoffset) -> (res: felt*) { ret_pc_label: return (res=pc_val + (label_value - ret_pc_label)); -} \ No newline at end of file +} diff --git a/cairo0-bootloader/lang/compiler/lib/registers.cairo b/cairo0-bootloader/lang/compiler/lib/registers.cairo index 7f18f9d..29d0d98 100644 --- a/cairo0-bootloader/lang/compiler/lib/registers.cairo +++ b/cairo0-bootloader/lang/compiler/lib/registers.cairo @@ -15,4 +15,4 @@ func get_ap() -> (ap_val: felt*) { // Hence, the desired ap value is fp - 2. let (fp_val, pc_val) = get_fp_and_pc(); return (ap_val=fp_val - 2); -} \ No newline at end of file +} diff --git a/format.sh b/format.sh new file mode 100755 index 0000000..4d3e49e --- /dev/null +++ b/format.sh @@ -0,0 +1,27 @@ +#!/bin/bash + +# Function to format a file and print a message based on the outcome +format_file() { + cairo-format -i "$1" + local status=$? + if [ $status -eq 0 ]; then + echo "$(date '+%Y-%m-%d %H:%M:%S') - Successfully formatted $1" + else + echo "$(date '+%Y-%m-%d %H:%M:%S') - Failed to format $1" + return $status + fi +} + +# Export the function so it's available in subshells +export -f format_file + +# Find all .cairo files under src/ and tests/ directories and format them in parallel +# Using --halt soon,fail=1 to stop at the first failure +find ./cairo0-bootloader -name '*.cairo' ! -path "./cairo0-bootloader/build/*" | parallel --halt soon,fail=1 format_file + +# Capture the exit status of parallel +exit_status=$? + +# Exit with the captured status +echo "Parallel execution exited with status: $exit_status" +exit $exit_status \ No newline at end of file From a1c25519583d28190ac2091336ca594cdfb110fa Mon Sep 17 00:00:00 2001 From: Bartosz Nowak Date: Mon, 27 May 2024 15:46:48 +0200 Subject: [PATCH 12/19] works WIP --- bootloader_input.json | 5 +- .../contract/execute_entry_point.cairo | 49 +++++++++---------- .../contract/run_contract_bootloader.cairo | 36 +++++++++++--- 3 files changed, 53 insertions(+), 37 deletions(-) diff --git a/bootloader_input.json b/bootloader_input.json index 9f9ad48..0b5879a 100644 --- a/bootloader_input.json +++ b/bootloader_input.json @@ -3,8 +3,6 @@ "prime": "0x800000000000011000000000000000000000000000000000000000000000001", "compiler_version": "2.6.3", "bytecode": [ - "0xa0680017fff8000", - "0x7", "0x482680017ffa8000", "0x100000000000000000000000000000000", "0x400280007ff97fff", @@ -81,6 +79,7 @@ "0x482480017ff98000", "0x1", "0x208b7fff7fff7ffe", + "0x208b7fff7fff7ffe", "0x40780017fff7fff", "0x1", "0x480680017fff8000", @@ -98,7 +97,7 @@ "0x208b7fff7fff7ffe" ], "bytecode_segment_lengths": [ - 93 + 92 ], "hints": [ [ diff --git a/cairo0-bootloader/bootloader/contract/execute_entry_point.cairo b/cairo0-bootloader/bootloader/contract/execute_entry_point.cairo index 40ce9c2..01cd720 100644 --- a/cairo0-bootloader/bootloader/contract/execute_entry_point.cairo +++ b/cairo0-bootloader/bootloader/contract/execute_entry_point.cairo @@ -32,17 +32,6 @@ from starkware.starknet.core.os.constants import ( from contract_class.compiled_class import CompiledClass, CompiledClassEntryPoint, CompiledClassFact from starkware.starknet.core.os.output import OsCarriedOutputs -struct BuiltinData { - output: felt, - pedersen: felt, - range_check: felt, - ecdsa: felt, - bitwise: felt, - ec_op: felt, - keccak: felt, - poseidon: felt, -} - struct ExecutionInfo { selector: felt, } @@ -142,7 +131,7 @@ func get_entry_point{range_check_ptr}( // block_context - a global context that is fixed throughout the block. // execution_context - The context for the current execution. func execute_entry_point{ - range_check_ptr, builtin_ptrs: BuiltinPointers*, builtin_encodings: BuiltinData* + range_check_ptr, builtin_ptrs: BuiltinPointers*, builtin_params: BuiltinParams* }(compiled_class: CompiledClass*, execution_context: ExecutionContext*) -> ( retdata_size: felt, retdata: felt* ) { @@ -176,7 +165,7 @@ func execute_entry_point{ local entry_point_builtin_list: felt* = compiled_class_entry_point.builtin_list; // Call select_input_builtins to push the relevant builtin pointer arguments on the stack. select_input_builtins( - all_encodings=builtin_encodings, + all_encodings=builtin_params.builtin_encodings, all_ptrs=builtin_ptrs, n_all_builtins=n_builtins, selected_encodings=entry_point_builtin_list, @@ -186,33 +175,39 @@ func execute_entry_point{ // Use tempvar to pass the rest of the arguments to contract_entry_point(). let current_ap = ap; tempvar args = EntryPointCallArguments( - gas_builtin=10000000000, + gas_builtin=100000, syscall_ptr=syscall_ptr, calldata_start=calldata_start, calldata_end=calldata_end, ); static_assert ap == current_ap + EntryPointCallArguments.SIZE; - %{ - print(ids.compiled_class_entry_point.n_builtins) - print(ids.calldata_start) - print(ids.calldata_end) - print(ids.contract_entry_point) - print(ids.syscall_ptr) - %} - %{ vm_enter_scope() %} + call abs contract_entry_point; + %{ vm_exit_scope() %} // Retrieve returned_builtin_ptrs_subset. // Note that returned_builtin_ptrs_subset cannot be set in a hint because doing so will allow a // malicious prover to lie about the storage changes of a valid contract. - // let (ap_val) = get_ap(); - // local return_values_ptr: felt* = ap_val - EntryPointReturnValues.SIZE; - // local returned_builtin_ptrs_subset: felt* = return_values_ptr - entry_point_n_builtins; - // local entry_point_return_values: EntryPointReturnValues* = cast( - // return_values_ptr, EntryPointReturnValues* + let (ap_val) = get_ap(); + local return_values_ptr: felt* = ap_val - EntryPointReturnValues.SIZE; + local returned_builtin_ptrs_subset: felt* = return_values_ptr - entry_point_n_builtins; + local entry_point_return_values: EntryPointReturnValues* = cast( + return_values_ptr, EntryPointReturnValues* + ); + + let remaining_gas = entry_point_return_values.gas_builtin; + let retdata_start = entry_point_return_values.retdata_start; + let retdata_end = entry_point_return_values.retdata_end; + + // let return_builtin_ptrs = update_builtin_ptrs( + // builtin_params=builtin_params, + // builtin_ptrs=builtin_ptrs, + // n_selected_builtins=entry_point_n_builtins, + // selected_encodings=entry_point_builtin_list, + // selected_ptrs=returned_builtin_ptrs_subset, // ); return (retdata_size=0, retdata=cast(0, felt*)); diff --git a/cairo0-bootloader/bootloader/contract/run_contract_bootloader.cairo b/cairo0-bootloader/bootloader/contract/run_contract_bootloader.cairo index 823fc41..487ac57 100644 --- a/cairo0-bootloader/bootloader/contract/run_contract_bootloader.cairo +++ b/cairo0-bootloader/bootloader/contract/run_contract_bootloader.cairo @@ -3,20 +3,28 @@ from starkware.cairo.common.cairo_builtins import ( PoseidonBuiltin, BitwiseBuiltin, KeccakBuiltin, + SignatureBuiltin, + EcOpBuiltin, ) from starkware.cairo.common.registers import get_fp_and_pc from contract_class.compiled_class import CompiledClass -from starkware.starknet.builtins.segment_arena.segment_arena import new_arena +from starkware.starknet.builtins.segment_arena.segment_arena import ( + new_arena, + SegmentArenaBuiltin +) from starkware.starknet.core.os.builtins import ( + BuiltinEncodings, + BuiltinParams, BuiltinPointers, NonSelectableBuiltins, + BuiltinInstanceSizes, SelectableBuiltins, + update_builtin_ptrs, ) from bootloader.contract.execute_entry_point import ( execute_entry_point, ExecutionContext, ExecutionInfo, - BuiltinData, ) // Loads the programs and executes them. @@ -57,17 +65,31 @@ func run_contract_bootloader{ ); let builtin_ptrs = &local_builtin_ptrs; - local local_builtin_encodings: BuiltinData = BuiltinData( - output='output', + local local_builtin_encodings: BuiltinEncodings = BuiltinEncodings( pedersen='pedersen', range_check='range_check', ecdsa='ecdsa', bitwise='bitwise', ec_op='ec_op', - keccak='keccak', poseidon='poseidon', + segment_arena='segment_arena', + ); + + local local_builtin_instance_sizes: BuiltinInstanceSizes = BuiltinInstanceSizes( + pedersen=HashBuiltin.SIZE, + range_check=1, + ecdsa=SignatureBuiltin.SIZE, + bitwise=BitwiseBuiltin.SIZE, + ec_op=EcOpBuiltin.SIZE, + poseidon=PoseidonBuiltin.SIZE, + segment_arena=SegmentArenaBuiltin.SIZE, + ); + + local local_builtin_params: BuiltinParams = BuiltinParams( + builtin_encodings=&local_builtin_encodings, + builtin_instance_sizes=&local_builtin_instance_sizes ); - let builtin_encodings = &local_builtin_encodings; + let builtin_params = &local_builtin_params; local calldata: felt*; %{ ids.calldata = segments.add() %} @@ -90,7 +112,7 @@ func run_contract_bootloader{ execution_info=&execution_info, ); - with builtin_ptrs, builtin_encodings { + with builtin_ptrs, builtin_params { let (retdata_size, retdata) = execute_entry_point(compiled_class, &execution_context); } From 9c00d9d90e87245aff1fd39ba6678ef1f2a5a2ed Mon Sep 17 00:00:00 2001 From: Bartosz Nowak Date: Mon, 27 May 2024 16:17:17 +0200 Subject: [PATCH 13/19] fmt --- .../bootloader/contract/execute_entry_point.cairo | 2 +- .../bootloader/contract/run_contract_bootloader.cairo | 7 ++----- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/cairo0-bootloader/bootloader/contract/execute_entry_point.cairo b/cairo0-bootloader/bootloader/contract/execute_entry_point.cairo index 01cd720..dfd8bd6 100644 --- a/cairo0-bootloader/bootloader/contract/execute_entry_point.cairo +++ b/cairo0-bootloader/bootloader/contract/execute_entry_point.cairo @@ -185,7 +185,7 @@ func execute_entry_point{ %{ vm_enter_scope() %} call abs contract_entry_point; - + %{ vm_exit_scope() %} // Retrieve returned_builtin_ptrs_subset. diff --git a/cairo0-bootloader/bootloader/contract/run_contract_bootloader.cairo b/cairo0-bootloader/bootloader/contract/run_contract_bootloader.cairo index 487ac57..4789f52 100644 --- a/cairo0-bootloader/bootloader/contract/run_contract_bootloader.cairo +++ b/cairo0-bootloader/bootloader/contract/run_contract_bootloader.cairo @@ -8,10 +8,7 @@ from starkware.cairo.common.cairo_builtins import ( ) from starkware.cairo.common.registers import get_fp_and_pc from contract_class.compiled_class import CompiledClass -from starkware.starknet.builtins.segment_arena.segment_arena import ( - new_arena, - SegmentArenaBuiltin -) +from starkware.starknet.builtins.segment_arena.segment_arena import new_arena, SegmentArenaBuiltin from starkware.starknet.core.os.builtins import ( BuiltinEncodings, BuiltinParams, @@ -87,7 +84,7 @@ func run_contract_bootloader{ local local_builtin_params: BuiltinParams = BuiltinParams( builtin_encodings=&local_builtin_encodings, - builtin_instance_sizes=&local_builtin_instance_sizes + builtin_instance_sizes=&local_builtin_instance_sizes, ); let builtin_params = &local_builtin_params; From 1509d14a26dd634b932617de1910bc10853ca498 Mon Sep 17 00:00:00 2001 From: Bartosz Nowak Date: Tue, 28 May 2024 08:34:39 +0200 Subject: [PATCH 14/19] WIP --- bootloader_input.json | 6 +- ...loader.cairo => contract_bootloader.cairo} | 9 +++ .../contract/execute_entry_point.cairo | 58 +++++++++++++++---- .../contract/run_contract_bootloader.cairo | 12 +--- compile.py | 2 +- 5 files changed, 64 insertions(+), 23 deletions(-) rename cairo0-bootloader/bootloader/contract/{simple_bootloader.cairo => contract_bootloader.cairo} (85%) diff --git a/bootloader_input.json b/bootloader_input.json index 0b5879a..cd678b2 100644 --- a/bootloader_input.json +++ b/bootloader_input.json @@ -3,6 +3,8 @@ "prime": "0x800000000000011000000000000000000000000000000000000000000000001", "compiler_version": "2.6.3", "bytecode": [ + "0xa0680017fff8000", + "0x7", "0x482680017ffa8000", "0x100000000000000000000000000000000", "0x400280007ff97fff", @@ -64,6 +66,7 @@ "0x482480017ff98000", "0x1", "0x208b7fff7fff7ffe", + "0x208b7fff7fff7ffe", "0x40780017fff7fff", "0x1", "0x480680017fff8000", @@ -79,7 +82,6 @@ "0x482480017ff98000", "0x1", "0x208b7fff7fff7ffe", - "0x208b7fff7fff7ffe", "0x40780017fff7fff", "0x1", "0x480680017fff8000", @@ -97,7 +99,7 @@ "0x208b7fff7fff7ffe" ], "bytecode_segment_lengths": [ - 92 + 94 ], "hints": [ [ diff --git a/cairo0-bootloader/bootloader/contract/simple_bootloader.cairo b/cairo0-bootloader/bootloader/contract/contract_bootloader.cairo similarity index 85% rename from cairo0-bootloader/bootloader/contract/simple_bootloader.cairo rename to cairo0-bootloader/bootloader/contract/contract_bootloader.cairo index 0a3e55a..c101a40 100644 --- a/cairo0-bootloader/bootloader/contract/simple_bootloader.cairo +++ b/cairo0-bootloader/bootloader/contract/contract_bootloader.cairo @@ -46,6 +46,15 @@ func main{ ids.compiled_class = segments.gen_arg(cairo_contract) %} + assert compiled_class.bytecode_ptr[compiled_class.bytecode_length] = 0x208b7fff7fff7ffe; + + %{ + vm_load_program( + contract_bootloader_input.compiled_class.get_runnable_program(entrypoint_builtins=[]), + ids.compiled_class.bytecode_ptr + ) + %} + run_contract_bootloader(compiled_class); return (); diff --git a/cairo0-bootloader/bootloader/contract/execute_entry_point.cairo b/cairo0-bootloader/bootloader/contract/execute_entry_point.cairo index dfd8bd6..d84c010 100644 --- a/cairo0-bootloader/bootloader/contract/execute_entry_point.cairo +++ b/cairo0-bootloader/bootloader/contract/execute_entry_point.cairo @@ -154,7 +154,13 @@ func execute_entry_point{ local syscall_ptr: felt*; - %{ ids.syscall_ptr = segments.add() %} + %{ + print("contract_entry_point:" , ids.contract_entry_point) + ids.syscall_ptr = segments.add() + from bootloader.contract.syscall_handler import SyscallHandler + syscall_handler = SyscallHandler(segments=segments) + syscall_handler.set_syscall_ptr(syscall_ptr=ids.syscall_ptr) + %} let builtin_ptrs: BuiltinPointers* = prepare_builtin_ptrs_for_execute(builtin_ptrs); @@ -175,17 +181,22 @@ func execute_entry_point{ // Use tempvar to pass the rest of the arguments to contract_entry_point(). let current_ap = ap; tempvar args = EntryPointCallArguments( - gas_builtin=100000, + gas_builtin=0, syscall_ptr=syscall_ptr, calldata_start=calldata_start, calldata_end=calldata_end, ); static_assert ap == current_ap + EntryPointCallArguments.SIZE; - %{ vm_enter_scope() %} + %{ + print("builtin_ptrs:" , ids.builtin_ptrs) + print("syscall_ptr:" , ids.syscall_ptr) + print("calldata_start:" , ids.calldata_start) + print("calldata_end:" , ids.calldata_end) + %} + %{ vm_enter_scope({'syscall_handler': syscall_handler}) %} call abs contract_entry_point; - %{ vm_exit_scope() %} // Retrieve returned_builtin_ptrs_subset. @@ -198,17 +209,42 @@ func execute_entry_point{ return_values_ptr, EntryPointReturnValues* ); + assert entry_point_return_values.failure_flag = 0; + let remaining_gas = entry_point_return_values.gas_builtin; let retdata_start = entry_point_return_values.retdata_start; let retdata_end = entry_point_return_values.retdata_end; - // let return_builtin_ptrs = update_builtin_ptrs( - // builtin_params=builtin_params, - // builtin_ptrs=builtin_ptrs, - // n_selected_builtins=entry_point_n_builtins, - // selected_encodings=entry_point_builtin_list, - // selected_ptrs=returned_builtin_ptrs_subset, - // ); + let return_builtin_ptrs = update_builtin_ptrs( + builtin_params=builtin_params, + builtin_ptrs=builtin_ptrs, + n_selected_builtins=entry_point_n_builtins, + selected_encodings=entry_point_builtin_list, + selected_ptrs=returned_builtin_ptrs_subset, + ); + + // Validate the segment_arena builtin. + // Note that as the segment_arena pointer points to the first unused element, we need to + // take segment_arena[-1] to get the actual values. + tempvar prev_segment_arena = &builtin_ptrs.selectable.segment_arena[-1]; + tempvar current_segment_arena = &return_builtin_ptrs.selectable.segment_arena[-1]; + assert prev_segment_arena.infos = current_segment_arena.infos; + validate_segment_arena(segment_arena=current_segment_arena); + + let builtin_ptrs = return_builtin_ptrs; + // with syscall_ptr { + // call_execute_syscalls( + // block_context=block_context, + // execution_context=execution_context, + // syscall_ptr_end=entry_point_return_values.syscall_ptr, + // ); + // } + + %{ + print(ids.entry_point_return_values.failure_flag) + for i in range(0, 1): + print(hex(memory[ids.retdata_start + i])) + %} return (retdata_size=0, retdata=cast(0, felt*)); } diff --git a/cairo0-bootloader/bootloader/contract/run_contract_bootloader.cairo b/cairo0-bootloader/bootloader/contract/run_contract_bootloader.cairo index 4789f52..4861c52 100644 --- a/cairo0-bootloader/bootloader/contract/run_contract_bootloader.cairo +++ b/cairo0-bootloader/bootloader/contract/run_contract_bootloader.cairo @@ -23,6 +23,7 @@ from bootloader.contract.execute_entry_point import ( ExecutionContext, ExecutionInfo, ) +from starkware.starknet.core.os.constants import ENTRY_POINT_TYPE_EXTERNAL // Loads the programs and executes them. // @@ -62,6 +63,8 @@ func run_contract_bootloader{ ); let builtin_ptrs = &local_builtin_ptrs; + %{ print("builtin_ptrs.selectable.range_check: ", ids.builtin_ptrs.selectable.range_check) %} + local local_builtin_encodings: BuiltinEncodings = BuiltinEncodings( pedersen='pedersen', range_check='range_check', @@ -93,15 +96,6 @@ func run_contract_bootloader{ local execution_info: ExecutionInfo = ExecutionInfo(selector=0); - from starkware.starknet.core.os.constants import ( - DEFAULT_ENTRY_POINT_SELECTOR, - ENTRY_POINT_GAS_COST, - ENTRY_POINT_TYPE_CONSTRUCTOR, - ENTRY_POINT_TYPE_EXTERNAL, - ENTRY_POINT_TYPE_L1_HANDLER, - NOP_ENTRY_POINT_OFFSET, - ) - local execution_context: ExecutionContext = ExecutionContext( entry_point_type=ENTRY_POINT_TYPE_EXTERNAL, calldata_size=0, diff --git a/compile.py b/compile.py index e4f7293..aa3048f 100644 --- a/compile.py +++ b/compile.py @@ -6,7 +6,7 @@ log_and_run( [ - f"cairo-compile --cairo_path=. bootloader/contract/simple_bootloader.cairo --output {current_dir}/bootloader.json --proof_mode", + f"cairo-compile --cairo_path=. bootloader/contract/contract_bootloader.cairo --output {current_dir}/bootloader.json --proof_mode", ], "Compile bootloader program", cwd="cairo0-bootloader", From 646db234eb49196320545110ae68dda40e354715 Mon Sep 17 00:00:00 2001 From: Bartosz Nowak Date: Tue, 28 May 2024 09:19:48 +0200 Subject: [PATCH 15/19] works --- bootloader_input.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bootloader_input.json b/bootloader_input.json index cd678b2..14c5cb1 100644 --- a/bootloader_input.json +++ b/bootloader_input.json @@ -66,7 +66,6 @@ "0x482480017ff98000", "0x1", "0x208b7fff7fff7ffe", - "0x208b7fff7fff7ffe", "0x40780017fff7fff", "0x1", "0x480680017fff8000", @@ -96,6 +95,7 @@ "0x48127ffa7fff8000", "0x482480017ff98000", "0x1", + "0x208b7fff7fff7ffe", "0x208b7fff7fff7ffe" ], "bytecode_segment_lengths": [ From 1c162db02befd215abda981ec16031e0439dc77b Mon Sep 17 00:00:00 2001 From: Bartosz Nowak Date: Tue, 28 May 2024 09:26:45 +0200 Subject: [PATCH 16/19] new contract --- bootloader_input.json | 32 +++++++++++++++++--------------- 1 file changed, 17 insertions(+), 15 deletions(-) diff --git a/bootloader_input.json b/bootloader_input.json index 14c5cb1..f90bd7f 100644 --- a/bootloader_input.json +++ b/bootloader_input.json @@ -9,7 +9,7 @@ "0x100000000000000000000000000000000", "0x400280007ff97fff", "0x10780017fff7fff", - "0x49", + "0x4b", "0x4825800180007ffa", "0x0", "0x400280007ff97fff", @@ -35,9 +35,9 @@ "0x1", "0x208b7fff7fff7ffe", "0x1104800180018000", - "0x3e", + "0x40", "0x482480017fff8000", - "0x3d", + "0x3f", "0x480080007fff8000", "0xa0680017fff8000", "0x9", @@ -47,23 +47,25 @@ "0x100000000000000000000000000000000", "0x400080007ff77fff", "0x10780017fff7fff", - "0x14", + "0x16", "0x4824800180007ff8", "0x0", "0x400080007ff87fff", "0x40780017fff7fff", "0x1", "0x480680017fff8000", - "0xfffffff0f", - "0x400080007ffe7fff", - "0x482480017ff68000", "0x1", - "0x48127ffc7fff8000", + "0x484480017fff8000", + "0x2", + "0x400080007ffd7fff", + "0x482480017ff58000", + "0x1", + "0x48127ffb7fff8000", "0x480a7ffb7fff8000", "0x480680017fff8000", "0x0", - "0x48127ffa7fff8000", - "0x482480017ff98000", + "0x48127ff97fff8000", + "0x482480017ff88000", "0x1", "0x208b7fff7fff7ffe", "0x40780017fff7fff", @@ -99,7 +101,7 @@ "0x208b7fff7fff7ffe" ], "bytecode_segment_lengths": [ - 94 + 96 ], "hints": [ [ @@ -173,7 +175,7 @@ ] ], [ - 63, + 65, [ { "AllocSegment": { @@ -186,7 +188,7 @@ ] ], [ - 78, + 80, [ { "AllocSegment": { @@ -225,13 +227,13 @@ ] ], [ - 63, + 65, [ "memory[ap + 0] = segments.add()" ] ], [ - 78, + 80, [ "memory[ap + 0] = segments.add()" ] From cab41a8a403a6df22a4ee14d8ca892bd7a3b6bb8 Mon Sep 17 00:00:00 2001 From: Bartosz Nowak Date: Tue, 28 May 2024 09:56:23 +0200 Subject: [PATCH 17/19] SNOS complete zip cairo-lang package --- cairo-lang-0.13.1.zip | Bin 0 -> 11519095 bytes install.py | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 cairo-lang-0.13.1.zip diff --git a/cairo-lang-0.13.1.zip b/cairo-lang-0.13.1.zip new file mode 100644 index 0000000000000000000000000000000000000000..02c43b3d633ea62b5a2f85914a9e8a775a16b127 GIT binary patch literal 11519095 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

JO45}*HqmQ&Qry?pXC7qKR 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

cunP}@nXmmI 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

iCOVkDy;7p~1xPD+;7Sr;0v)Q?(To2n=8oBw( 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