diff --git a/.tool-versions b/.tool-versions index 7d9da020..8a183b25 100644 --- a/.tool-versions +++ b/.tool-versions @@ -1,2 +1 @@ -scarb 2.6.3 -starknet-foundry 0.24.0 \ No newline at end of file +scarb 2.9.2 \ No newline at end of file diff --git a/Scarb.lock b/Scarb.lock index 5f2932c9..1c5a06b0 100644 --- a/Scarb.lock +++ b/Scarb.lock @@ -1,6 +1,13 @@ # Code generated by scarb DO NOT EDIT. version = 1 +[[package]] +name = "examples" +version = "0.1.0" +dependencies = [ + "hdp_cairo", +] + [[package]] name = "hdp_cairo" version = "0.1.0" @@ -10,10 +17,4 @@ name = "modules" version = "0.1.0" dependencies = [ "hdp_cairo", - "snforge_std", ] - -[[package]] -name = "snforge_std" -version = "0.24.0" -source = "git+https://github.com/foundry-rs/starknet-foundry?tag=v0.24.0#95e9fb09cb91b3c05295915179ee1b55bf923653" diff --git a/Scarb.toml b/Scarb.toml index c4219c50..aaa28502 100644 --- a/Scarb.toml +++ b/Scarb.toml @@ -4,9 +4,11 @@ version = "0.1.0" edition = "2023_11" members = [ + "examples", "hdp_cairo", "tests", ] [workspace.dependencies] +starknet = "2.9.2" hdp_cairo = { path = "hdp_cairo" } \ No newline at end of file diff --git a/examples/Scarb.toml b/examples/Scarb.toml new file mode 100644 index 00000000..333a1b81 --- /dev/null +++ b/examples/Scarb.toml @@ -0,0 +1,18 @@ +[package] +name = "examples" +version = "0.1.0" +edition = "2023_11" + +# See more keys and their definitions at https://docs.swmansion.com/scarb/docs/reference/manifest.html + +[dependencies] +starknet = { workspace = true } +hdp_cairo = { workspace = true } + +[[target.starknet-contract]] +sierra = true +casm = true +casm-add-pythonic-hints = true + +[scripts] +test = "snforge test" diff --git a/examples/compose_hdp_input.sh b/examples/compose_hdp_input.sh new file mode 100755 index 00000000..4804b9ea --- /dev/null +++ b/examples/compose_hdp_input.sh @@ -0,0 +1,29 @@ +#!/bin/bash + +# Resolve the absolute path of the compiled class file +compiled_class_path=$(realpath ../target/dev/examples_example.compiled_contract_class.json) + +# Check if the file exists +if [ ! -f "$compiled_class_path" ]; then + echo "Error: Compiled class file not found at $compiled_class_path" + exit 1 +fi + +# Read the contents of the file +compiled_class_content=$(<"$compiled_class_path") + +# Define the JSON structure using jq +json_output=$(jq -n \ + --argjson compiled_class "$compiled_class_content" \ + '{ + "params": [], + "compiled_class": $compiled_class + }') + +# Specify the output file name +output_file="hdp_input.json" + +# Write the JSON to the file +echo "$json_output" > "$output_file" + +echo "JSON file created: $output_file" diff --git a/examples/hdp_input.json b/examples/hdp_input.json index 5dd0fb15..a90dbb00 100644 --- a/examples/hdp_input.json +++ b/examples/hdp_input.json @@ -1,13 +1,8 @@ { - "params": [ - { - "visibility": "public", - "value": "0x25fa3" - } - ], + "params": [], "compiled_class": { "prime": "0x800000000000011000000000000000000000000000000000000000000000001", - "compiler_version": "2.6.3", + "compiler_version": "2.9.2", "bytecode": [ "0xa0680017fff8000", "0x7", @@ -15,65 +10,70 @@ "0x100000000000000000000000000000000", "0x400280007ff97fff", "0x10780017fff7fff", - "0xb4", + "0xa7", "0x4825800180007ffa", "0x0", "0x400280007ff97fff", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", - "0x1104800180018000", - "0xbc", "0x482680017ff98000", "0x1", - "0x20680017fff7ffa", - "0x9b", - "0x48307ff880007ff9", + "0x48297ffc80007ffd", "0x20680017fff7fff", "0x4", "0x10780017fff7fff", - "0xa", - "0x482480017ff78000", + "0x8d", + "0x482680017ffc8000", "0x1", - "0x48127ff77fff8000", + "0x480a7ffd7fff8000", + "0x480280007ffc8000", + "0x48307ffd80007ffe", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x80", + "0x482480017ffc8000", + "0x1", + "0x48127ffc7fff8000", + "0x480080007ffa8000", + "0x48307ffd80007ffe", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x18", + "0x482480017ffc8000", + "0x1", + "0x48127ffc7fff8000", + "0x480080007ffa8000", + "0x48307ffd80007ffe", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xb", + "0x482480017ffc8000", + "0x1", + "0x48127ffc7fff8000", "0x480680017fff8000", "0x0", - "0x48127ff47fff8000", + "0x48127ffb7fff8000", + "0x480080007ff88000", "0x10780017fff7fff", - "0x8", - "0x48127ff77fff8000", - "0x48127ff77fff8000", + "0x10", + "0x48127ffc7fff8000", + "0x48127ffc7fff8000", + "0x10780017fff7fff", + "0x6", + "0x40780017fff7fff", + "0x4", + "0x48127ff87fff8000", + "0x48127ff87fff8000", "0x480680017fff8000", "0x1", "0x480680017fff8000", "0x0", - "0x20680017fff7ffe", - "0x75", - "0x480080007fff8000", - "0xa0680017fff8000", - "0x12", - "0x4824800180007ffe", - "0x100000000", - "0x4844800180008002", - "0x8000000000000110000000000000000", - "0x4830800080017ffe", - "0x480080007ff57fff", - "0x482480017ffe8000", - "0xefffffffffffffde00000000ffffffff", - "0x480080017ff37fff", - "0x400080027ff27ffb", - "0x402480017fff7ffb", - "0xffffffffffffffffffffffffffffffff", - "0x20680017fff7fff", - "0x60", - "0x402780017fff7fff", - "0x1", - "0x400080007ff87ffe", - "0x482480017ffe8000", - "0xffffffffffffffffffffffff00000000", - "0x400080017ff77fff", - "0x482480017ff78000", - "0x2", - "0x48307ff880007ff9", + "0x480680017fff8000", + "0x0", + "0x20680017fff7ffd", + "0x53", + "0x48307ffb80007ffc", "0x20680017fff7fff", "0x4", "0x10780017fff7fff", @@ -83,8 +83,8 @@ "0x480680017fff8000", "0x496e70757420746f6f206c6f6e6720666f7220617267756d656e7473", "0x400080007ffe7fff", - "0x48127ffc7fff8000", - "0x48127fc87fff8000", + "0x48127fea7fff8000", + "0x48127fe87fff8000", "0x480a7ffb7fff8000", "0x480680017fff8000", "0x1", @@ -93,48 +93,43 @@ "0x1", "0x208b7fff7fff7ffe", "0x1104800180018000", - "0x1a0", + "0x7cc", "0x482480017fff8000", - "0x19f", + "0x7cb", "0x480080007fff8000", "0xa0680017fff8000", "0x9", - "0x4824800180007fc6", - "0x3c64", + "0x4824800180007fe6", + "0x411fe", "0x482480017fff8000", "0x100000000000000000000000000000000", - "0x400080007ff77fff", + "0x400080007fe57fff", "0x10780017fff7fff", - "0x28", - "0x4824800180007fc6", - "0x3c64", - "0x400080007ff87fff", - "0x482480017ff88000", + "0x23", + "0x4824800180007fe6", + "0x411fe", + "0x400080007fe67fff", + "0x482480017fe68000", "0x1", "0x48127ffe7fff8000", "0x480a7ffb7fff8000", + "0x48127fe77fff8000", "0x48127fea7fff8000", - "0x48127fea7fff8000", - "0x480680017fff8000", - "0xf", - "0x480680017fff8000", - "0x534e5f5345504f4c4941", - "0x48127fee7fff8000", + "0x48127ff27fff8000", + "0x48127ff27fff8000", "0x1104800180018000", - "0x10e", + "0x4a", "0x20680017fff7ffd", - "0xe", + "0xc", "0x40780017fff7fff", "0x1", - "0x400080007fff7ffe", "0x48127ff97fff8000", "0x48127ff97fff8000", "0x48127ff97fff8000", "0x480680017fff8000", "0x0", "0x48127ffb7fff8000", - "0x482480017ffa8000", - "0x1", + "0x48127ffa7fff8000", "0x208b7fff7fff7ffe", "0x48127ffa7fff8000", "0x48127ffa7fff8000", @@ -149,9 +144,9 @@ "0x480680017fff8000", "0x4f7574206f6620676173", "0x400080007ffe7fff", - "0x482480017ff58000", + "0x482480017fe38000", "0x1", - "0x48127fc17fff8000", + "0x48127fe17fff8000", "0x480a7ffb7fff8000", "0x480680017fff8000", "0x1", @@ -159,34 +154,21 @@ "0x482480017ff98000", "0x1", "0x208b7fff7fff7ffe", - "0x482480017ff28000", - "0x3", "0x10780017fff7fff", - "0x5", - "0x40780017fff7fff", "0x8", - "0x48127ff27fff8000", "0x40780017fff7fff", - "0x1", - "0x480680017fff8000", - "0x4661696c656420746f20646573657269616c697a6520706172616d202332", - "0x400080007ffe7fff", - "0x48127ffd7fff8000", - "0x48127fc47fff8000", - "0x480a7ffb7fff8000", - "0x480680017fff8000", - "0x1", - "0x48127ffa7fff8000", - "0x482480017ff98000", - "0x1", - "0x208b7fff7fff7ffe", + "0xd", + "0x10780017fff7fff", + "0x4", + "0x40780017fff7fff", + "0x11", "0x40780017fff7fff", "0x1", "0x480680017fff8000", "0x4661696c656420746f20646573657269616c697a6520706172616d202331", "0x400080007ffe7fff", - "0x48127ffd7fff8000", - "0x48127fd27fff8000", + "0x48127feb7fff8000", + "0x48127fe97fff8000", "0x480a7ffb7fff8000", "0x480680017fff8000", "0x1", @@ -209,189 +191,396 @@ "0x482480017ff98000", "0x1", "0x208b7fff7fff7ffe", - "0x48297ffc80007ffd", - "0x20680017fff7fff", - "0x4", - "0x10780017fff7fff", - "0xa", - "0x482680017ffc8000", - "0x1", - "0x480a7ffd7fff8000", + "0x40780017fff7fff", + "0x5", + "0x480a7ff77fff8000", + "0x480a7ff87fff8000", + "0x480a7ff97fff8000", + "0x480a7ffa7fff8000", + "0x480a7ffb7fff8000", "0x480680017fff8000", - "0x0", - "0x480280007ffc8000", - "0x10780017fff7fff", - "0x8", - "0x480a7ffc7fff8000", - "0x480a7ffd7fff8000", + "0xaa36a7", + "0x480680017fff8000", + "0x5b8d80", + "0x480680017fff8000", + "0x75cec1db9dceb703200eaa6595f66885c962b920", "0x480680017fff8000", "0x1", "0x480680017fff8000", "0x0", - "0x20680017fff7ffe", - "0x29", - "0x48307ffc80007ffd", + "0x1104800180018000", + "0x173", + "0x40137ffc7fff8004", + "0x20680017fff7ffd", + "0x168", + "0x480680017fff8000", + "0x12309ce54000", + "0x48307fff80007ffd", "0x20680017fff7fff", "0x4", "0x10780017fff7fff", - "0xa", - "0x482480017ffb8000", - "0x1", - "0x48127ffb7fff8000", - "0x480680017fff8000", - "0x0", - "0x480080007ff88000", + "0x4", "0x10780017fff7fff", - "0x8", - "0x48127ffb7fff8000", - "0x48127ffb7fff8000", - "0x480680017fff8000", - "0x1", - "0x480680017fff8000", - "0x0", - "0x20680017fff7ffe", - "0xa", - "0x48127ffc7fff8000", - "0x48127ffc7fff8000", + "0xe", + "0x20680017fff7ffd", + "0xc", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x480a80047fff8000", "0x480680017fff8000", "0x0", - "0x48127ff77fff8000", - "0x48127ffb7fff8000", - "0x10780017fff7fff", - "0x16", - "0x48127ffc7fff8000", - "0x48127ffc7fff8000", - "0x480680017fff8000", - "0x1", "0x480680017fff8000", "0x0", "0x480680017fff8000", "0x0", - "0x10780017fff7fff", - "0xc", + "0x208b7fff7fff7ffe", "0x40780017fff7fff", - "0x5", - "0x48127ff77fff8000", - "0x48127ff77fff8000", - "0x480680017fff8000", "0x1", + "0x48127ff77fff8000", + "0x48127ffe7fff8000", + "0x48127ffd7fff8000", "0x480680017fff8000", "0x0", "0x480680017fff8000", "0x0", - "0x20680017fff7ffd", - "0x60", - "0x48307ffb80007ffc", - "0x20680017fff7fff", - "0x4", - "0x10780017fff7fff", - "0xa", - "0x482480017ffa8000", - "0x1", - "0x48127ffa7fff8000", - "0x480680017fff8000", - "0x0", - "0x480080007ff78000", - "0x10780017fff7fff", - "0x8", - "0x48127ffa7fff8000", - "0x48127ffa7fff8000", "0x480680017fff8000", - "0x1", + "0x617373657274696f6e206661696c65643a20606864700a2020202020202020", "0x480680017fff8000", - "0x0", - "0x20680017fff7ffe", - "0x29", - "0x48307ffc80007ffd", - "0x20680017fff7fff", - "0x4", - "0x10780017fff7fff", - "0xa", - "0x482480017ffb8000", - "0x1", + "0x1f", + "0x1104800180018000", + "0x231", + "0x20680017fff7ffb", + "0x13a", + "0x48127ffa7fff8000", + "0x48127ffb7fff8000", "0x48127ffb7fff8000", - "0x480680017fff8000", - "0x0", - "0x480080007ff88000", - "0x10780017fff7fff", - "0x8", "0x48127ffb7fff8000", "0x48127ffb7fff8000", "0x480680017fff8000", - "0x1", - "0x480680017fff8000", - "0x0", - "0x20680017fff7ffe", - "0xa", - "0x48127ffc7fff8000", - "0x48127ffc7fff8000", + "0x20202020202020202e65766d0a202020202020202020202020202020202e73", "0x480680017fff8000", - "0x0", - "0x48127ff77fff8000", + "0x1f", + "0x1104800180018000", + "0x224", + "0x20680017fff7ffb", + "0x125", + "0x48127ffa7fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", "0x48127ffb7fff8000", - "0x10780017fff7fff", - "0x16", - "0x48127ffc7fff8000", - "0x48127ffc7fff8000", "0x480680017fff8000", - "0x1", + "0x746f726167655f6765745f736c6f74280a2020202020202020202020202020", "0x480680017fff8000", - "0x0", + "0x1f", + "0x1104800180018000", + "0x217", + "0x20680017fff7ffb", + "0x110", + "0x48127ffa7fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", "0x480680017fff8000", - "0x0", - "0x10780017fff7fff", - "0xc", - "0x40780017fff7fff", - "0x5", - "0x48127ff77fff8000", - "0x48127ff77fff8000", + "0x20202020202053746f726167654b6579207b0a202020202020202020202020", "0x480680017fff8000", - "0x1", + "0x1f", + "0x1104800180018000", + "0x20a", + "0x20680017fff7ffb", + "0xfb", + "0x48127ffa7fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", "0x480680017fff8000", - "0x0", + "0x202020202020202020202020636861696e5f69643a2031313135353131312c", "0x480680017fff8000", - "0x0", - "0x20680017fff7ffd", - "0xb", + "0x1f", + "0x1104800180018000", + "0x1fd", + "0x20680017fff7ffb", + "0xe6", + "0x48127ffa7fff8000", "0x48127ffb7fff8000", "0x48127ffb7fff8000", - "0x480680017fff8000", - "0x0", - "0x48127fec7fff8000", - "0x48127fec7fff8000", - "0x48127ff97fff8000", - "0x48127ff97fff8000", - "0x208b7fff7fff7ffe", "0x48127ffb7fff8000", "0x48127ffb7fff8000", "0x480680017fff8000", + "0xa202020202020202020202020202020202020202020202020626c6f636b5f", + "0x480680017fff8000", + "0x1f", + "0x1104800180018000", + "0x1f0", + "0x20680017fff7ffb", + "0xd1", + "0x48127ffa7fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x480680017fff8000", + "0x6e756d6265723a20363030303030302c0a2020202020202020202020202020", + "0x480680017fff8000", + "0x1f", + "0x1104800180018000", + "0x1e3", + "0x20680017fff7ffb", + "0xbc", + "0x48127ffa7fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x480680017fff8000", + "0x20202020202020202020616464726573733a20307837356365633164623964", + "0x480680017fff8000", + "0x1f", + "0x1104800180018000", + "0x1d6", + "0x20680017fff7ffb", + "0xa7", + "0x48127ffa7fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x480680017fff8000", + "0x6365623730333230306561613635393566363638383563393632623932302c", + "0x480680017fff8000", + "0x1f", + "0x1104800180018000", + "0x1c9", + "0x20680017fff7ffb", + "0x92", + "0x48127ffa7fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x480680017fff8000", + "0xa20202020202020202020202020202020202020202020202073746f726167", + "0x480680017fff8000", + "0x1f", + "0x1104800180018000", + "0x1bc", + "0x20680017fff7ffb", + "0x7d", + "0x48127ffa7fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x480680017fff8000", + "0x655f736c6f743a203078312c0a202020202020202020202020202020202020", + "0x480680017fff8000", + "0x1f", + "0x1104800180018000", + "0x1af", + "0x20680017fff7ffb", + "0x68", + "0x48127ffa7fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x480680017fff8000", + "0x20207d2c0a2020202020202020202020202020202029203d3d207532353620", + "0x480680017fff8000", + "0x1f", + "0x1104800180018000", + "0x1a2", + "0x20680017fff7ffb", + "0x53", + "0x48127ffa7fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x480680017fff8000", + "0x7b206c6f773a2030783132333039636535343030302c20686967683a203078", + "0x480680017fff8000", + "0x1f", + "0x1104800180018000", + "0x195", + "0x20680017fff7ffb", + "0x3e", + "0x48127ffa7fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x480680017fff8000", + "0x30207d602e", + "0x480680017fff8000", + "0x5", + "0x1104800180018000", + "0x188", + "0x20680017fff7ffb", + "0x29", + "0x40780017fff7fff", "0x1", "0x480680017fff8000", - "0x0", + "0x46a6158a16a947e5916b2a2ca68501a45e93d7110e81aa2d6438b1c57c879a3", + "0x400080007ffe7fff", + "0x40137ffa7fff8000", + "0x40137ffb7fff8001", + "0x40137ffc7fff8002", + "0x40137ffd7fff8003", + "0x4829800080008001", + "0x400080017ffd7fff", + "0x48127ff77fff8000", + "0x481279727fff8000", + "0x480a80007fff8000", + "0x480a80017fff8000", + "0x48127ff97fff8000", + "0x482480017ff88000", + "0x2", + "0x1104800180018000", + "0x5bc", + "0x20680017fff7ffd", + "0x9", + "0x400180007fff8002", + "0x400180017fff8003", + "0x48127ffe7fff8000", + "0x482480017ffe8000", + "0x2", + "0x10780017fff7fff", + "0x4", + "0x48127ffe7fff8000", + "0x48127ffe7fff8000", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x480a80047fff8000", "0x480680017fff8000", - "0x0", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x48127ffa7fff8000", + "0x481279757fff8000", + "0x480a80047fff8000", "0x480680017fff8000", - "0x0", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x48127ffa7fff8000", + "0x481279ec7fff8000", + "0x480a80047fff8000", "0x480680017fff8000", - "0x0", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", "0x208b7fff7fff7ffe", - "0x40780017fff7fff", - "0xf", - "0x48127fec7fff8000", - "0x48127fec7fff8000", + "0x48127ffa7fff8000", + "0x48127a637fff8000", + "0x480a80047fff8000", "0x480680017fff8000", "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x48127ffa7fff8000", + "0x48127ada7fff8000", + "0x480a80047fff8000", "0x480680017fff8000", - "0x0", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x48127ffa7fff8000", + "0x48127b517fff8000", + "0x480a80047fff8000", "0x480680017fff8000", - "0x0", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x48127ffa7fff8000", + "0x48127bc87fff8000", + "0x480a80047fff8000", "0x480680017fff8000", - "0x0", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x48127ffa7fff8000", + "0x48127c3f7fff8000", + "0x480a80047fff8000", "0x480680017fff8000", - "0x0", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", "0x208b7fff7fff7ffe", + "0x48127ffa7fff8000", + "0x48127cb67fff8000", + "0x480a80047fff8000", "0x480680017fff8000", - "0x0", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x48127ffa7fff8000", + "0x48127d2d7fff8000", + "0x480a80047fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x48127ffa7fff8000", + "0x48127da47fff8000", + "0x480a80047fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x48127ffa7fff8000", + "0x48127e1b7fff8000", + "0x480a80047fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x48127ffa7fff8000", + "0x48127e927fff8000", + "0x480a80047fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x48127ffa7fff8000", + "0x48127f097fff8000", + "0x480a80047fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x48127ffa7fff8000", + "0x48127f807fff8000", + "0x480a80047fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x480a80047fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x2", "0xa0680017fff8004", "0xe", "0x4824800180047ffe", @@ -399,81 +588,142 @@ "0x484480017ffe8000", "0x110000000000000000", "0x48307ffe7fff8002", - "0x480280007ff67ffc", - "0x480280017ff67ffc", + "0x480280007ff47ffc", + "0x480280017ff47ffc", "0x402480017ffb7ffd", "0xffffffffffffffeeffffffffffffffff", - "0x400280027ff67ffd", + "0x400280027ff47ffd", "0x10780017fff7fff", - "0x57", + "0xc6", "0x484480017fff8001", "0x8000000000000000000000000000000", "0x48307fff80007ffd", - "0x480280007ff67ffd", - "0x480280017ff67ffd", + "0x480280007ff47ffd", + "0x480280017ff47ffd", "0x402480017ffc7ffe", "0xf8000000000000000000000000000000", - "0x400280027ff67ffe", + "0x400280027ff47ffe", "0x40780017fff7fff", "0x1", - "0x400180007fff7ff9", - "0x400180017fff7ffa", - "0x400180027fff7ffc", - "0x400180037fff7ffd", - "0x48127fff7fff8000", - "0x482480017ffe8000", - "0x4", - "0x482680017ff68000", + "0x400180007fff7ff7", + "0x400180017fff7ff8", + "0x400180027fff7ff9", + "0x400180037fff7ffa", + "0x400180047fff7ffb", + "0x400180057fff7ffd", + "0x400180067fff7ffc", + "0x480680017fff8000", + "0x0", + "0x48127ffe7fff8000", + "0x482480017ffd8000", + "0x7", + "0x482680017ff48000", "0x3", "0x480680017fff8000", "0x43616c6c436f6e7472616374", - "0x400280007ff87fff", - "0x400380017ff87ff7", - "0x400280027ff87ff5", - "0x400380037ff87ffb", - "0x400280047ff87ffc", - "0x400280057ff87ffd", - "0x480280077ff88000", + "0x400280007ff67fff", + "0x400380017ff67ff5", + "0x400280027ff67ff4", + "0x400280037ff67ffb", + "0x400280047ff67ffc", + "0x400280057ff67ffd", + "0x480280077ff68000", "0x20680017fff7fff", - "0x2e", - "0x480280087ff88000", - "0x480280097ff88000", - "0x480680017fff8000", - "0x0", - "0x480280067ff88000", - "0x482680017ff88000", + "0x98", + "0x480280087ff68000", + "0x480280097ff68000", + "0x480280067ff68000", + "0x482680017ff68000", "0xa", - "0x48307ffb80007ffc", + "0x480280087ff68000", + "0x480280097ff68000", + "0x48307ffa80007ffb", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x7c", + "0x480080007ff98000", "0xa0680017fff8000", + "0x16", + "0x480080007ff48003", + "0x480080017ff38003", + "0x4844800180017ffe", + "0x100000000000000000000000000000000", + "0x483080017ffd7ffb", + "0x482480017fff7ffd", + "0x800000000000010fffffffffffffffff7ffffffffffffef0000000000000001", + "0x20680017fff7ffc", "0x6", - "0x48307ffe80007ffb", - "0x400080007ff57fff", + "0x402480017fff7ffd", + "0xffffffffffffffffffffffffffffffff", "0x10780017fff7fff", - "0x11", - "0x482480017ffb8000", + "0x4", + "0x402480017ffe7ffd", + "0xf7ffffffffffffef0000000000000000", + "0x400080027fef7ffd", + "0x20680017fff7ffe", + "0x56", + "0x402780017fff7fff", + "0x1", + "0x400080007ff47ffe", + "0x480680017fff8000", + "0x1", + "0x48307ffa80007ffb", + "0xa0680017fff8000", + "0x6", + "0x48307ffe80007ffd", + "0x400080017ff07fff", + "0x10780017fff7fff", + "0x39", + "0x482480017ffd8000", "0x1", "0x48307fff80007ffd", - "0x400080007ff47fff", - "0x48307ff97ff78000", - "0x482480017ff38000", + "0x400080017fef7fff", + "0x48307ffb7ff68000", + "0x480080007fff8000", + "0xa0680017fff8000", + "0x16", + "0x480080027fec8003", + "0x480080037feb8003", + "0x4844800180017ffe", + "0x100000000000000000000000000000000", + "0x483080017ffd7ffb", + "0x482480017fff7ffd", + "0x800000000000010fffffffffffffffff7ffffffffffffef0000000000000001", + "0x20680017fff7ffc", + "0x6", + "0x402480017fff7ffd", + "0xffffffffffffffffffffffffffffffff", + "0x10780017fff7fff", + "0x4", + "0x402480017ffe7ffd", + "0xf7ffffffffffffef0000000000000000", + "0x400080047fe77ffd", + "0x20680017fff7ffe", + "0x10", + "0x402780017fff7fff", "0x1", - "0x48127ff87fff8000", - "0x48127ff87fff8000", - "0x480680017fff8000", - "0x0", + "0x400080027fec7ffe", + "0x40780017fff7fff", + "0x7", + "0x482480017fe58000", + "0x3", + "0x48127fe97fff8000", + "0x48127fe97fff8000", "0x480680017fff8000", "0x0", - "0x480080007ffa8000", + "0x48127feb7fff8000", + "0x48127ff27fff8000", "0x208b7fff7fff7ffe", "0x40780017fff7fff", "0x1", "0x480680017fff8000", - "0x496e646578206f7574206f6620626f756e6473", + "0x4f7074696f6e3a3a756e77726170206661696c65642e", "0x400080007ffe7fff", - "0x482480017ff38000", - "0x1", - "0x48127ff87fff8000", - "0x48127ff87fff8000", + "0x482480017fe58000", + "0x5", + "0x48127fe97fff8000", + "0x48127fe97fff8000", "0x480680017fff8000", "0x1", "0x48127ffa7fff8000", @@ -481,52 +731,3059 @@ "0x1", "0x208b7fff7fff7ffe", "0x40780017fff7fff", - "0xa", - "0x48127ff37fff8000", - "0x480280067ff88000", - "0x482680017ff88000", - "0xa", + "0x9", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x496e646578206f7574206f6620626f756e6473", + "0x400080007ffe7fff", + "0x482480017fe58000", + "0x2", + "0x48127fe97fff8000", + "0x48127fe97fff8000", "0x480680017fff8000", "0x1", - "0x480280087ff88000", - "0x480280097ff88000", + "0x48127ffa7fff8000", + "0x482480017ff98000", + "0x1", "0x208b7fff7fff7ffe", "0x40780017fff7fff", - "0xd", + "0x8", "0x40780017fff7fff", "0x1", "0x480680017fff8000", "0x4f7074696f6e3a3a756e77726170206661696c65642e", "0x400080007ffe7fff", + "0x482480017fe58000", + "0x3", + "0x48127fe97fff8000", + "0x48127fe97fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x482480017ff98000", + "0x1", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0xf", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x496e646578206f7574206f6620626f756e6473", + "0x400080007ffe7fff", + "0x48127fe57fff8000", + "0x48127fe97fff8000", + "0x48127fe97fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x482480017ff98000", + "0x1", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x18", + "0x48127fe57fff8000", + "0x480280067ff68000", "0x482680017ff68000", + "0xa", + "0x480680017fff8000", + "0x1", + "0x480280087ff68000", + "0x480280097ff68000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1c", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x4f7074696f6e3a3a756e77726170206661696c65642e", + "0x400080007ffe7fff", + "0x482680017ff48000", "0x3", + "0x480a7ff57fff8000", + "0x480a7ff67fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x482480017ff98000", + "0x1", + "0x208b7fff7fff7ffe", + "0x20780017fff7ffd", + "0xc", + "0x40780017fff7fff", + "0x68", "0x480a7ff77fff8000", + "0x480680017fff8000", + "0x0", + "0x480a7ff87fff8000", + "0x480a7ff97fff8000", + "0x480a7ffa7fff8000", + "0x480a7ffb7fff8000", + "0x208b7fff7fff7ffe", + "0xa0680017fff8000", + "0x8", + "0x482a7ffd7ffb8000", + "0x4824800180007fff", + "0x100000000", + "0x400280007ff77fff", + "0x10780017fff7fff", + "0x425", + "0x482a7ffd7ffb8001", + "0x4824800180007fff", + "0xffffffffffffffffffffffff00000000", + "0x400280007ff77ffe", + "0x480680017fff8000", + "0x1f", + "0x48307fff80017ffe", + "0xa0680017fff7fff", + "0x7", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400280017ff77fff", + "0x10780017fff7fff", + "0x38d", + "0x400280017ff77fff", + "0x482680017ff78000", + "0x2", + "0x4824800180007ffb", + "0x1f", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x2f9", + "0x480680017fff8000", + "0x1f", + "0x48307fff80017ff9", + "0xa0680017fff7fff", + "0x7", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080007ffa7fff", + "0x10780017fff7fff", + "0x2dc", + "0x400080007ffb7fff", + "0x482480017ffb8000", + "0x1", + "0x4824800180007ffe", + "0x10", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x20d", + "0x480680017fff8000", + "0x10", + "0x48307fff80017ffc", + "0xa0680017fff7fff", + "0x7", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080007ffa7fff", + "0x10780017fff7fff", + "0xfe", + "0x400080007ffb7fff", + "0x40780017fff7fff", + "0xf", + "0xa0680017fff8000", + "0x16", + "0x480080017feb8003", + "0x480080027fea8003", + "0x4844800180017ffe", + "0x100000000000000000000000000000000", + "0x483180017ffd7ffc", + "0x482480017fff7ffd", + "0x800000000000010fffffffffffffffff7ffffffffffffef0000000000000001", + "0x20680017fff7ffc", + "0x6", + "0x402480017fff7ffd", + "0xffffffffffffffffffffffffffffffff", + "0x10780017fff7fff", + "0x4", + "0x402480017ffe7ffd", + "0xf7ffffffffffffef0000000000000000", + "0x400080037fe67ffd", + "0x20680017fff7ffe", + "0xe", + "0x402780017fff7fff", + "0x1", + "0x400180017feb7ffc", + "0x40780017fff7fff", + "0x5", + "0x482480017fe68000", + "0x2", + "0x480a7ffc7fff8000", + "0x480680017fff8000", + "0x0", + "0x10780017fff7fff", + "0x6", + "0x482480017fe68000", + "0x4", + "0x48127ffe7fff8000", + "0x48127ffc7fff8000", + "0x480680017fff8000", + "0x10", + "0x48307fff80017fe1", + "0xa0680017fff7fff", + "0x7", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080007ff97fff", + "0x10780017fff7fff", + "0xb7", + "0x400080007ffa7fff", + "0x482480017ffa8000", + "0x1", + "0x48127ffe7fff8000", + "0x1104800180018000", + "0x400", + "0x20680017fff7ffd", + "0xa8", + "0x480080007ffc8005", + "0x480080017ffb8005", + "0x4824800180047ffe", + "0x1", + "0x48307ffd7ffe7ffc", + "0x480080027ff87ffd", + "0xa0680017fff7ffd", + "0x6", + "0x482480017ff97ffd", + "0xffffffffffffffff0000000000000000", + "0x10780017fff7fff", + "0x4", + "0x482480017fff7ffd", + "0xffffffffffffffff0000000000000000", + "0x400080037ff57ffc", + "0x40507ffe7ff87ffd", + "0x40307fff7ffd7fe7", + "0x480680017fff8000", + "0x1f", + "0x48287ffb80017fff", + "0xa0680017fff7fff", + "0x7", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080047ff17fff", + "0x10780017fff7fff", + "0x7f", + "0x400080047ff27fff", + "0x484480017ffc8000", + "0x100000000000000000000000000000000", + "0x480680017fff8000", + "0x10", + "0x48307fe17ffe8000", + "0x48307ffe80017ffc", + "0xa0680017fff7fff", + "0x7", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080057fec7fff", + "0x10780017fff7fff", + "0x2f", + "0x400080057fed7fff", + "0x480680017fff8000", + "0x10", + "0x48307fff80017ff9", + "0xa0680017fff7fff", + "0x7", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080067fe97fff", + "0x10780017fff7fff", + "0x16", + "0x400080067fea7fff", + "0x482480017fea8000", + "0x7", + "0x48127ffe7fff8000", + "0x1104800180018000", + "0x3c4", + "0x20680017fff7ffd", + "0x7", + "0x48127ffc7fff8000", + "0x484480017ffe8000", + "0x100000000000000000000000000000000", + "0x10780017fff7fff", + "0x22", + "0x40780017fff7fff", + "0xc", + "0x48127ff07fff8000", + "0x48127ff17fff8000", + "0x48127ff17fff8000", + "0x10780017fff7fff", + "0x50", + "0x40780017fff7fff", + "0x17", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x7533325f737562204f766572666c6f77", + "0x400080007ffe7fff", + "0x482480017fd08000", + "0x7", + "0x48127ffd7fff8000", + "0x482480017ffc8000", + "0x1", + "0x10780017fff7fff", + "0x42", + "0x40780017fff7fff", + "0x2", + "0x482480017fea8000", + "0x6", + "0x48127ff67fff8000", + "0x1104800180018000", + "0x3a1", + "0x20680017fff7ffd", + "0x34", + "0x48127ffc7fff8000", + "0x48127ffe7fff8000", + "0x48527fff7ffa8000", + "0x48307fff7fe28000", + "0xa0680017fff8004", + "0xe", + "0x4824800180047ffe", + "0x100000000000000000000000000000000000000000000000000000000000000", + "0x484480017ffe8000", + "0x7000000000000110000000000000000", + "0x48307ffe7fff8002", + "0x480080007ff87ffc", + "0x480080017ff77ffc", + "0x402480017ffb7ffd", + "0xf8ffffffffffffeeffffffffffffffff", + "0x400080027ff67ffd", + "0x10780017fff7fff", + "0x16", + "0x484480017fff8001", + "0x1000000000000000000000000000000", + "0x48307fff80007ffd", + "0x480080007ff97ffd", + "0x480080017ff87ffd", + "0x402480017ffc7ffe", + "0xff000000000000000000000000000000", + "0x400080027ff77ffe", + "0x40780017fff7fff", + "0x1", + "0x400280007ff97ff9", + "0x482480017ff68000", + "0x3", "0x480a7ff87fff8000", + "0x482680017ff98000", + "0x1", + "0x48127fdf7fff8000", + "0x480a7ffb7fff8000", + "0x10780017fff7fff", + "0xfe", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x4f7074696f6e3a3a756e77726170206661696c65642e", + "0x400080007ffe7fff", + "0x482480017ff48000", + "0x3", + "0x48127ffd7fff8000", + "0x482480017ffc8000", + "0x1", + "0x10780017fff7fff", + "0x2a", + "0x40780017fff7fff", + "0xc", + "0x48127ff07fff8000", + "0x48127ff17fff8000", + "0x48127ff17fff8000", + "0x10780017fff7fff", + "0x23", + "0x40780017fff7fff", + "0x1f", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x7533325f737562204f766572666c6f77", + "0x400080007ffe7fff", + "0x482480017fd08000", + "0x5", + "0x48127ffd7fff8000", + "0x482480017ffc8000", + "0x1", + "0x10780017fff7fff", + "0x15", + "0x40780017fff7fff", + "0x2c", + "0x48127fd07fff8000", + "0x48127fd17fff8000", + "0x48127fd17fff8000", + "0x10780017fff7fff", + "0xe", + "0x40780017fff7fff", + "0x37", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x7533325f737562204f766572666c6f77", + "0x400080007ffe7fff", + "0x482480017fc08000", + "0x1", + "0x48127ffd7fff8000", + "0x482480017ffc8000", + "0x1", + "0x48127ffd7fff8000", "0x480680017fff8000", "0x1", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", "0x48127ffa7fff8000", - "0x482480017ff98000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0xa0680017fff8000", + "0x16", + "0x480080017ff98003", + "0x480080027ff88003", + "0x4844800180017ffe", + "0x100000000000000000000000000000000", + "0x483180017ffd7ffc", + "0x482480017fff7ffd", + "0x800000000000010fffffffffffffffff7ffffffffffffef0000000000000001", + "0x20680017fff7ffc", + "0x6", + "0x402480017fff7ffd", + "0xffffffffffffffffffffffffffffffff", + "0x10780017fff7fff", + "0x4", + "0x402480017ffe7ffd", + "0xf7ffffffffffffef0000000000000000", + "0x400080037ff47ffd", + "0x20680017fff7ffe", + "0xe", + "0x402780017fff7fff", "0x1", - "0x208b7fff7fff7ffe" - ], - "bytecode_segment_lengths": [ - 200, - 181, - 118 - ], - "hints": [ + "0x400180017ff97ffc", + "0x40780017fff7fff", + "0x5", + "0x482480017ff48000", + "0x2", + "0x480a7ffc7fff8000", + "0x480680017fff8000", + "0x0", + "0x10780017fff7fff", + "0x6", + "0x482480017ff48000", + "0x4", + "0x48127ffe7fff8000", + "0x48127ffc7fff8000", + "0x48127ffd7fff8000", + "0x48127fef7fff8000", + "0x1104800180018000", + "0x313", + "0x20680017fff7ffd", + "0xce", + "0x480080007ffc8005", + "0x480080017ffb8005", + "0x4824800180047ffe", + "0x1", + "0x48307ffd7ffe7ffc", + "0x480080027ff87ffd", + "0xa0680017fff7ffd", + "0x6", + "0x482480017ff97ffd", + "0xffffffffffffffff0000000000000000", + "0x10780017fff7fff", + "0x4", + "0x482480017fff7ffd", + "0xffffffffffffffff0000000000000000", + "0x400080037ff57ffc", + "0x40507ffe7ff87ffd", + "0x40307fff7ffd7fe9", + "0x480680017fff8000", + "0x10", + "0x48307fda80017fff", + "0xa0680017fff7fff", + "0x7", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080047ff17fff", + "0x10780017fff7fff", + "0xa5", + "0x400080047ff27fff", + "0x482480017ff28000", + "0x5", + "0x48127ffe7fff8000", + "0x1104800180018000", + "0x2f0", + "0x20680017fff7ffd", + "0x96", + "0x480680017fff8000", + "0x1f", + "0x48287ffb80017fff", + "0xa0680017fff7fff", + "0x7", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080007ff87fff", + "0x10780017fff7fff", + "0x7e", + "0x400080007ff97fff", + "0x48507ffc7fd68000", + "0x480680017fff8000", + "0x10", + "0x48307fe87ffe8000", + "0x48307ffe80017ffc", + "0xa0680017fff7fff", + "0x7", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080017ff37fff", + "0x10780017fff7fff", + "0x2f", + "0x400080017ff47fff", + "0x480680017fff8000", + "0x10", + "0x48307fff80017ff9", + "0xa0680017fff7fff", + "0x7", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080027ff07fff", + "0x10780017fff7fff", + "0x16", + "0x400080027ff17fff", + "0x482480017ff18000", + "0x3", + "0x48127ffe7fff8000", + "0x1104800180018000", + "0x2c6", + "0x20680017fff7ffd", + "0x7", + "0x48127ffc7fff8000", + "0x484480017ffe8000", + "0x100000000000000000000000000000000", + "0x10780017fff7fff", + "0x22", + "0x40780017fff7fff", + "0xc", + "0x48127ff07fff8000", + "0x48127ff17fff8000", + "0x48127ff17fff8000", + "0x10780017fff7fff", + "0x50", + "0x40780017fff7fff", + "0x17", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x7533325f737562204f766572666c6f77", + "0x400080007ffe7fff", + "0x482480017fd78000", + "0x3", + "0x48127ffd7fff8000", + "0x482480017ffc8000", + "0x1", + "0x10780017fff7fff", + "0x42", + "0x40780017fff7fff", + "0x2", + "0x482480017ff18000", + "0x2", + "0x48127ff67fff8000", + "0x1104800180018000", + "0x2a3", + "0x20680017fff7ffd", + "0x34", + "0x48127ffc7fff8000", + "0x48127ffe7fff8000", + "0x48527fff7ffa8000", + "0x48307fff7fe98000", + "0xa0680017fff8004", + "0xe", + "0x4824800180047ffe", + "0x100000000000000000000000000000000000000000000000000000000000000", + "0x484480017ffe8000", + "0x7000000000000110000000000000000", + "0x48307ffe7fff8002", + "0x480080007ff87ffc", + "0x480080017ff77ffc", + "0x402480017ffb7ffd", + "0xf8ffffffffffffeeffffffffffffffff", + "0x400080027ff67ffd", + "0x10780017fff7fff", + "0x16", + "0x484480017fff8001", + "0x1000000000000000000000000000000", + "0x48307fff80007ffd", + "0x480080007ff97ffd", + "0x480080017ff87ffd", + "0x402480017ffc7ffe", + "0xff000000000000000000000000000000", + "0x400080027ff77ffe", + "0x40780017fff7fff", + "0x1", + "0x400280007ff97ff9", + "0x482480017ff68000", + "0x3", + "0x480a7ff87fff8000", + "0x482680017ff98000", + "0x1", + "0x48127fc87fff8000", + "0x480a7ffb7fff8000", + "0x10780017fff7fff", + "0xdc", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x4f7074696f6e3a3a756e77726170206661696c65642e", + "0x400080007ffe7fff", + "0x482480017ff48000", + "0x3", + "0x48127ffd7fff8000", + "0x482480017ffc8000", + "0x1", + "0x10780017fff7fff", + "0x31", + "0x40780017fff7fff", + "0xc", + "0x48127ff07fff8000", + "0x48127ff17fff8000", + "0x48127ff17fff8000", + "0x10780017fff7fff", + "0x2a", + "0x40780017fff7fff", + "0x1f", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x7533325f737562204f766572666c6f77", + "0x400080007ffe7fff", + "0x482480017fd78000", + "0x1", + "0x48127ffd7fff8000", + "0x482480017ffc8000", + "0x1", + "0x10780017fff7fff", + "0x1c", + "0x40780017fff7fff", + "0x25", + "0x48127fd77fff8000", + "0x48127fd87fff8000", + "0x48127fd87fff8000", + "0x10780017fff7fff", + "0x15", + "0x40780017fff7fff", + "0x30", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x7533325f737562204f766572666c6f77", + "0x400080007ffe7fff", + "0x482480017fbf8000", + "0x5", + "0x48127ffd7fff8000", + "0x482480017ffc8000", + "0x1", + "0x10780017fff7fff", + "0x7", + "0x40780017fff7fff", + "0x3d", + "0x48127fbf7fff8000", + "0x48127fc07fff8000", + "0x48127fc07fff8000", + "0x48127ffd7fff8000", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x2c", + "0xa0680017fff8000", + "0x16", + "0x480080007fd18003", + "0x480080017fd08003", + "0x4844800180017ffe", + "0x100000000000000000000000000000000", + "0x483180017ffd7ffc", + "0x482480017fff7ffd", + "0x800000000000010fffffffffffffffff7ffffffffffffef0000000000000001", + "0x20680017fff7ffc", + "0x6", + "0x402480017fff7ffd", + "0xffffffffffffffffffffffffffffffff", + "0x10780017fff7fff", + "0x4", + "0x402480017ffe7ffd", + "0xf7ffffffffffffef0000000000000000", + "0x400080027fcc7ffd", + "0x20680017fff7ffe", + "0xe", + "0x402780017fff7fff", + "0x1", + "0x400180007fd17ffc", + "0x40780017fff7fff", + "0x5", + "0x482480017fcc8000", + "0x1", + "0x480a7ffc7fff8000", + "0x480680017fff8000", + "0x0", + "0x10780017fff7fff", + "0x6", + "0x482480017fcc8000", + "0x3", + "0x48127ffe7fff8000", + "0x48127ffc7fff8000", + "0x480680017fff8000", + "0x1f", + "0x48287ffb80017fff", + "0xa0680017fff7fff", + "0x7", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080007ff97fff", + "0x10780017fff7fff", + "0x82", + "0x400080007ffa7fff", + "0x480680017fff8000", + "0x10", + "0x48307fff80017ffe", + "0xa0680017fff7fff", + "0x7", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080017ff67fff", + "0x10780017fff7fff", + "0x2f", + "0x400080017ff77fff", + "0x480680017fff8000", + "0x10", + "0x48307fff80017ffb", + "0xa0680017fff7fff", + "0x7", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080027ff37fff", + "0x10780017fff7fff", + "0x16", + "0x400080027ff47fff", + "0x482480017ff48000", + "0x3", + "0x48127ffe7fff8000", + "0x1104800180018000", + "0x1ea", + "0x20680017fff7ffd", + "0x7", + "0x48127ffc7fff8000", + "0x484480017ffe8000", + "0x100000000000000000000000000000000", + "0x10780017fff7fff", + "0x22", + "0x40780017fff7fff", + "0xc", + "0x48127ff07fff8000", + "0x48127ff17fff8000", + "0x48127ff17fff8000", + "0x10780017fff7fff", + "0x56", + "0x40780017fff7fff", + "0x17", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x7533325f737562204f766572666c6f77", + "0x400080007ffe7fff", + "0x482480017fda8000", + "0x3", + "0x48127ffd7fff8000", + "0x482480017ffc8000", + "0x1", + "0x10780017fff7fff", + "0x48", + "0x40780017fff7fff", + "0x2", + "0x482480017ff48000", + "0x2", + "0x48127ff87fff8000", + "0x1104800180018000", + "0x1c7", + "0x20680017fff7ffd", + "0x3a", + "0x48127ffc7fff8000", + "0x48127ffe7fff8000", + "0x48527fff7ffa8000", + "0x48307fff7fe58000", + "0xa0680017fff8004", + "0xe", + "0x4824800180047ffe", + "0x100000000000000000000000000000000000000000000000000000000000000", + "0x484480017ffe8000", + "0x7000000000000110000000000000000", + "0x48307ffe7fff8002", + "0x480080007ff87ffc", + "0x480080017ff77ffc", + "0x402480017ffb7ffd", + "0xf8ffffffffffffeeffffffffffffffff", + "0x400080027ff67ffd", + "0x10780017fff7fff", + "0x1c", + "0x484480017fff8001", + "0x1000000000000000000000000000000", + "0x48307fff80007ffd", + "0x480080007ff97ffd", + "0x480080017ff87ffd", + "0x402480017ffc7ffe", + "0xff000000000000000000000000000000", + "0x400080027ff77ffe", + "0x40780017fff7fff", + "0x1", + "0x400280007ff97ff9", + "0x482480017ff68000", + "0x3", + "0x480a7ff87fff8000", + "0x482680017ff98000", + "0x1", + "0x48127fda7fff8000", + "0x480a7ffb7fff8000", + "0x48127ffb7fff8000", + "0x480680017fff8000", + "0x0", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x48127f9d7fff8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x4f7074696f6e3a3a756e77726170206661696c65642e", + "0x400080007ffe7fff", + "0x482480017ff48000", + "0x3", + "0x48127ffd7fff8000", + "0x482480017ffc8000", + "0x1", + "0x10780017fff7fff", + "0x15", + "0x40780017fff7fff", + "0xc", + "0x48127ff07fff8000", + "0x48127ff17fff8000", + "0x48127ff17fff8000", + "0x10780017fff7fff", + "0xe", + "0x40780017fff7fff", + "0x1d", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x7533325f737562204f766572666c6f77", + "0x400080007ffe7fff", + "0x482480017fda8000", + "0x1", + "0x48127ffd7fff8000", + "0x482480017ffc8000", + "0x1", + "0x48127ffd7fff8000", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x5a", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x7533325f737562204f766572666c6f77", + "0x400080007ffe7fff", + "0x482480017f9e8000", + "0x1", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x48127ffa7fff8000", + "0x482480017ff98000", + "0x1", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x40", + "0x480680017fff8000", + "0x10", + "0x48317fff80017ffd", + "0xa0680017fff7fff", + "0x7", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080007fba7fff", + "0x10780017fff7fff", + "0x2f", + "0x400080007fbb7fff", + "0x480680017fff8000", + "0x10", + "0x48317fff80017ffd", + "0xa0680017fff7fff", + "0x7", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080017fb77fff", + "0x10780017fff7fff", + "0x16", + "0x400080017fb87fff", + "0x482480017fb88000", + "0x2", + "0x48127ffe7fff8000", + "0x1104800180018000", + "0x140", + "0x20680017fff7ffd", + "0x7", + "0x48127ffc7fff8000", + "0x484480017ffe8000", + "0x100000000000000000000000000000000", + "0x10780017fff7fff", + "0x22", + "0x40780017fff7fff", + "0x9", + "0x48127ff37fff8000", + "0x48127ff47fff8000", + "0x48127ff47fff8000", + "0x10780017fff7fff", + "0x58", + "0x40780017fff7fff", + "0x14", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x7533325f737562204f766572666c6f77", + "0x400080007ffe7fff", + "0x482480017fa18000", + "0x2", + "0x48127ffd7fff8000", + "0x482480017ffc8000", + "0x1", + "0x10780017fff7fff", + "0x4a", + "0x40780017fff7fff", + "0x2", + "0x482480017fb88000", + "0x1", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x11d", + "0x20680017fff7ffd", + "0x3c", + "0x48127ffc7fff8000", + "0x48127ffe7fff8000", + "0x48527fff7ffa8000", + "0x48327fff7ffc8000", + "0xa0680017fff8004", + "0xe", + "0x4824800180047ffe", + "0x100000000000000000000000000000000000000000000000000000000000000", + "0x484480017ffe8000", + "0x7000000000000110000000000000000", + "0x48307ffe7fff8002", + "0x480080007ff87ffc", + "0x480080017ff77ffc", + "0x402480017ffb7ffd", + "0xf8ffffffffffffeeffffffffffffffff", + "0x400080027ff67ffd", + "0x10780017fff7fff", + "0x19", + "0x484480017fff8001", + "0x1000000000000000000000000000000", + "0x48307fff80007ffd", + "0x480080007ff97ffd", + "0x480080017ff87ffd", + "0x402480017ffc7ffe", + "0xff000000000000000000000000000000", + "0x400080027ff77ffe", + "0x40780017fff7fff", + "0x3", + "0x400280007ff97ff7", + "0x482480017ff48000", + "0x3", + "0x480680017fff8000", + "0x0", + "0x480a7ff87fff8000", + "0x482680017ff98000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x4f7074696f6e3a3a756e77726170206661696c65642e", + "0x400080007ffe7fff", + "0x482480017ff48000", + "0x3", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x48127ffa7fff8000", + "0x482480017ff98000", + "0x1", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x9", + "0x48127ff37fff8000", + "0x48127ff47fff8000", + "0x48127ff47fff8000", + "0x48127ffd7fff8000", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x45", + "0x482680017ff78000", + "0x2", + "0x20780017fff7ffb", + "0xc", + "0x40780017fff7fff", + "0x1b", + "0x48127fe47fff8000", + "0x480680017fff8000", + "0x0", + "0x480a7ff87fff8000", + "0x480a7ff97fff8000", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x10", + "0x48317fff80017ffd", + "0xa0680017fff7fff", + "0x7", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080007ffb7fff", + "0x10780017fff7fff", + "0x2f", + "0x400080007ffc7fff", + "0x480680017fff8000", + "0x10", + "0x48317fff80017ffd", + "0xa0680017fff7fff", + "0x7", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080017ff87fff", + "0x10780017fff7fff", + "0x16", + "0x400080017ff97fff", + "0x482480017ff98000", + "0x2", + "0x48127ffe7fff8000", + "0x1104800180018000", + "0xa7", + "0x20680017fff7ffd", + "0x7", + "0x48127ffc7fff8000", + "0x484480017ffe8000", + "0x100000000000000000000000000000000", + "0x10780017fff7fff", + "0x22", + "0x40780017fff7fff", + "0x4", + "0x48127ff87fff8000", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x10780017fff7fff", + "0x49", + "0x40780017fff7fff", + "0xf", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x7533325f737562204f766572666c6f77", + "0x400080007ffe7fff", + "0x482480017fe78000", + "0x2", + "0x48127ffd7fff8000", + "0x482480017ffc8000", + "0x1", + "0x10780017fff7fff", + "0x3b", + "0x40780017fff7fff", + "0x2", + "0x482480017ff98000", + "0x1", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x84", + "0x20680017fff7ffd", + "0x2d", + "0x48127ffc7fff8000", + "0x48127ffe7fff8000", + "0xa0680017fff8000", + "0x8", + "0x482a7ffd7ffb8000", + "0x4824800180007fff", + "0x100000000", + "0x400080007ffb7fff", + "0x10780017fff7fff", + "0x12", + "0x482a7ffd7ffb8001", + "0x4824800180007fff", + "0xffffffffffffffffffffffff00000000", + "0x400080007ffb7ffe", + "0x40780017fff7fff", + "0x1", + "0x48527ffb7ffa8000", + "0x482480017ff98000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x480a7ff87fff8000", + "0x480a7ff97fff8000", + "0x48327ffb7ffc8000", + "0x48127ff87fff8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x7533325f616464204f766572666c6f77", + "0x400080007ffe7fff", + "0x482480017ff98000", + "0x1", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x48127ffa7fff8000", + "0x482480017ff98000", + "0x1", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x4", + "0x48127ff87fff8000", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x48127ffd7fff8000", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x63", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x7533325f616464204f766572666c6f77", + "0x400080007ffe7fff", + "0x482680017ff78000", + "0x1", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x48127ffa7fff8000", + "0x482480017ff98000", + "0x1", + "0x208b7fff7fff7ffe", + "0xa0680017fff8000", + "0x7", + "0x482680017ff98000", + "0xfffffffffffffffffffffffffffff97a", + "0x400280007ff87fff", + "0x10780017fff7fff", + "0x20", + "0x4825800180007ff9", + "0x686", + "0x400280007ff87fff", + "0x482680017ff88000", + "0x1", + "0x48297ffa80007ffb", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xf", + "0x480280007ffa8000", + "0x400280007ffd7fff", + "0x48127ffd7fff8000", + "0x48127ffb7fff8000", + "0x482680017ffa8000", + "0x1", + "0x480a7ffb7fff8000", + "0x480a7ffc7fff8000", + "0x482680017ffd8000", + "0x1", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffe6", + "0x208b7fff7fff7ffe", + "0x48127ffe7fff8000", + "0x48127ffc7fff8000", + "0x480680017fff8000", + "0x0", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x4f7574206f6620676173", + "0x400080007ffe7fff", + "0x482680017ff88000", + "0x1", + "0x480a7ff97fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffb7fff8000", + "0x482480017ffa8000", + "0x1", + "0x208b7fff7fff7ffe", + "0xa0680017fff8000", + "0x7", + "0x4825800180007ffd", + "0x10", + "0x400280007ffc7fff", + "0x10780017fff7fff", + "0x6f", + "0x482680017ffd8000", + "0xfffffffffffffffffffffffffffffff0", + "0x400280007ffc7fff", + "0x4825800180007ffd", + "0x400000000000008800000000000000000000000000000000000000000000010", + "0x484480017fff8000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffff", + "0x482680017ffc8000", + "0x1", + "0x1137ffe7fff7fff", + "0x10780017fff7fff", + "0x5a", + "0x10780017fff7fff", + "0x54", + "0x10780017fff7fff", + "0x4e", + "0x10780017fff7fff", + "0x48", + "0x10780017fff7fff", + "0x42", + "0x10780017fff7fff", + "0x3c", + "0x10780017fff7fff", + "0x36", + "0x10780017fff7fff", + "0x30", + "0x10780017fff7fff", + "0x2a", + "0x10780017fff7fff", + "0x24", + "0x10780017fff7fff", + "0x1e", + "0x10780017fff7fff", + "0x18", + "0x10780017fff7fff", + "0x12", + "0x10780017fff7fff", + "0xc", + "0x10780017fff7fff", + "0x6", + "0x480680017fff8000", + "0x1", + "0x10780017fff7fff", + "0x3c", + "0x480680017fff8000", + "0x100", + "0x10780017fff7fff", + "0x38", + "0x480680017fff8000", + "0x10000", + "0x10780017fff7fff", + "0x34", + "0x480680017fff8000", + "0x1000000", + "0x10780017fff7fff", + "0x30", + "0x480680017fff8000", + "0x100000000", + "0x10780017fff7fff", + "0x2c", + "0x480680017fff8000", + "0x10000000000", + "0x10780017fff7fff", + "0x28", + "0x480680017fff8000", + "0x1000000000000", + "0x10780017fff7fff", + "0x24", + "0x480680017fff8000", + "0x100000000000000", + "0x10780017fff7fff", + "0x20", + "0x480680017fff8000", + "0x10000000000000000", + "0x10780017fff7fff", + "0x1c", + "0x480680017fff8000", + "0x1000000000000000000", + "0x10780017fff7fff", + "0x18", + "0x480680017fff8000", + "0x100000000000000000000", + "0x10780017fff7fff", + "0x14", + "0x480680017fff8000", + "0x10000000000000000000000", + "0x10780017fff7fff", + "0x10", + "0x480680017fff8000", + "0x1000000000000000000000000", + "0x10780017fff7fff", + "0xc", + "0x480680017fff8000", + "0x100000000000000000000000000", + "0x10780017fff7fff", + "0x8", + "0x480680017fff8000", + "0x10000000000000000000000000000", + "0x10780017fff7fff", + "0x4", + "0x480680017fff8000", + "0x1000000000000000000000000000000", + "0x48127ffe7fff8000", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x48127ffc7fff8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x2", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x6e5f627974657320746f6f20626967", + "0x400080007ffe7fff", + "0x482680017ffc8000", + "0x1", + "0x480680017fff8000", + "0x1", + "0x48127ffc7fff8000", + "0x482480017ffb8000", + "0x1", + "0x208b7fff7fff7ffe" + ], + "bytecode_segment_lengths": [ + 187, + 388, + 229, + 1098, + 51, + 131 + ], + "hints": [ + [ + 0, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Immediate": "0x0" + }, + "rhs": { + "Deref": { + "register": "FP", + "offset": -6 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 74, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 93, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Immediate": "0x411fe" + }, + "rhs": { + "Deref": { + "register": "AP", + "offset": -25 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 117, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 135, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 158, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 172, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 230, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 416, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 577, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -1 + } + }, + "rhs": { + "Immediate": "0x800000000000000000000000000000000000000000000000000000000000000" + }, + "dst": { + "register": "AP", + "offset": 4 + } + } + } + ] + ], + [ + 581, + [ + { + "LinearSplit": { + "value": { + "Deref": { + "register": "AP", + "offset": 3 + } + }, + "scalar": { + "Immediate": "0x110000000000000000" + }, + "max_x": { + "Immediate": "0xffffffffffffffffffffffffffffffff" + }, + "x": { + "register": "AP", + "offset": -2 + }, + "y": { + "register": "AP", + "offset": -1 + } + } + } + ] + ], + [ + 591, + [ + { + "LinearSplit": { + "value": { + "Deref": { + "register": "AP", + "offset": -2 + } + }, + "scalar": { + "Immediate": "0x8000000000000000000000000000000" + }, + "max_x": { + "Immediate": "0xffffffffffffffffffffffffffffffff" + }, + "x": { + "register": "AP", + "offset": -1 + }, + "y": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 599, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 623, + [ + { + "SystemCall": { + "system": { + "Deref": { + "register": "FP", + "offset": -10 + } + } + } + } + ] + ], + [ + 639, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -1 + } + }, + "rhs": { + "Immediate": "0x100000000000000000000000000000000" + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 641, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -2 + } + }, + "rhs": { + "Immediate": "0x100000000000000000000000000000000" + }, + "quotient": { + "register": "AP", + "offset": 3 + }, + "remainder": { + "register": "AP", + "offset": 4 + } + } + } + ] + ], + [ + 665, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -2 + } + }, + "rhs": { + "Deref": { + "register": "AP", + "offset": -1 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 677, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -1 + } + }, + "rhs": { + "Immediate": "0x100000000000000000000000000000000" + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 679, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -2 + } + }, + "rhs": { + "Immediate": "0x100000000000000000000000000000000" + }, + "quotient": { + "register": "AP", + "offset": 3 + }, + "remainder": { + "register": "AP", + "offset": 4 + } + } + } + ] + ], + [ + 711, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 728, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 745, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 762, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 789, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 816, + [ + { + "TestLessThan": { + "lhs": { + "BinOp": { + "op": "Add", + "a": { + "register": "FP", + "offset": -5 + }, + "b": { + "Deref": { + "register": "FP", + "offset": -3 + } + } + } + }, + "rhs": { + "Immediate": "0x100000000" + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 831, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "AP", + "offset": 0 + } + }, + "rhs": { + "Immediate": "0x100000000" + }, + "dst": { + "register": "AP", + "offset": -1 + } + } + } + ] + ], + [ + 850, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "AP", + "offset": 0 + } + }, + "rhs": { + "Immediate": "0x100000000" + }, + "dst": { + "register": "AP", + "offset": -1 + } + } + } + ] + ], + [ + 869, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "AP", + "offset": 0 + } + }, + "rhs": { + "Immediate": "0x100000000" + }, + "dst": { + "register": "AP", + "offset": -1 + } + } + } + ] + ], + [ + 879, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "FP", + "offset": -4 + } + }, + "rhs": { + "Immediate": "0x100000000000000000000000000000000" + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 881, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "FP", + "offset": -4 + } + }, + "rhs": { + "Immediate": "0x100000000000000000000000000000000" + }, + "quotient": { + "register": "AP", + "offset": 3 + }, + "remainder": { + "register": "AP", + "offset": 4 + } + } + } + ] + ], + [ + 918, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "AP", + "offset": 0 + } + }, + "rhs": { + "Immediate": "0x100000000" + }, + "dst": { + "register": "AP", + "offset": -1 + } + } + } + ] + ], + [ + 933, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -18 + } + }, + "rhs": { + "Deref": { + "register": "AP", + "offset": -1 + } + }, + "quotient": { + "register": "AP", + "offset": 5 + }, + "remainder": { + "register": "AP", + "offset": 6 + } + } + } + ] + ], + [ + 939, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "AP", + "offset": 0 + } + }, + "rhs": { + "Immediate": "0x10000000000000000" + }, + "dst": { + "register": "AP", + "offset": -3 + } + } + } + ] + ], + [ + 953, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "AP", + "offset": 0 + } + }, + "rhs": { + "Immediate": "0x100000000" + }, + "dst": { + "register": "AP", + "offset": -1 + } + } + } + ] + ], + [ + 967, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "AP", + "offset": 0 + } + }, + "rhs": { + "Immediate": "0x100000000" + }, + "dst": { + "register": "AP", + "offset": -1 + } + } + } + ] + ], + [ + 978, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "AP", + "offset": 0 + } + }, + "rhs": { + "Immediate": "0x100000000" + }, + "dst": { + "register": "AP", + "offset": -1 + } + } + } + ] + ], + [ + 1007, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 1032, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -1 + } + }, + "rhs": { + "Immediate": "0x100000000000000000000000000000000000000000000000000000000000000" + }, + "dst": { + "register": "AP", + "offset": 4 + } + } + } + ] + ], + [ + 1036, + [ + { + "LinearSplit": { + "value": { + "Deref": { + "register": "AP", + "offset": 3 + } + }, + "scalar": { + "Immediate": "0x7000000000000110000000000000000" + }, + "max_x": { + "Immediate": "0xffffffffffffffffffffffffffffffff" + }, + "x": { + "register": "AP", + "offset": -2 + }, + "y": { + "register": "AP", + "offset": -1 + } + } + } + ] + ], + [ + 1046, + [ + { + "LinearSplit": { + "value": { + "Deref": { + "register": "AP", + "offset": -2 + } + }, + "scalar": { + "Immediate": "0x1000000000000000000000000000000" + }, + "max_x": { + "Immediate": "0xffffffffffffffffffffffffffffffff" + }, + "x": { + "register": "AP", + "offset": -1 + }, + "y": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 1066, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 1087, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 1108, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 1128, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "FP", + "offset": -4 + } + }, + "rhs": { + "Immediate": "0x100000000000000000000000000000000" + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 1130, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "FP", + "offset": -4 + } + }, + "rhs": { + "Immediate": "0x100000000000000000000000000000000" + }, + "quotient": { + "register": "AP", + "offset": 3 + }, + "remainder": { + "register": "AP", + "offset": 4 + } + } + } + ] + ], + [ + 1170, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -16 + } + }, + "rhs": { + "Deref": { + "register": "AP", + "offset": -1 + } + }, + "quotient": { + "register": "AP", + "offset": 5 + }, + "remainder": { + "register": "AP", + "offset": 6 + } + } + } + ] + ], + [ + 1176, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "AP", + "offset": 0 + } + }, + "rhs": { + "Immediate": "0x10000000000000000" + }, + "dst": { + "register": "AP", + "offset": -3 + } + } + } + ] + ], + [ + 1190, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "AP", + "offset": 0 + } + }, + "rhs": { + "Immediate": "0x100000000" + }, + "dst": { + "register": "AP", + "offset": -1 + } + } + } + ] + ], + [ + 1208, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "AP", + "offset": 0 + } + }, + "rhs": { + "Immediate": "0x100000000" + }, + "dst": { + "register": "AP", + "offset": -1 + } + } + } + ] + ], + [ + 1221, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "AP", + "offset": 0 + } + }, + "rhs": { + "Immediate": "0x100000000" + }, + "dst": { + "register": "AP", + "offset": -1 + } + } + } + ] + ], + [ + 1232, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "AP", + "offset": 0 + } + }, + "rhs": { + "Immediate": "0x100000000" + }, + "dst": { + "register": "AP", + "offset": -1 + } + } + } + ] + ], + [ + 1261, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 1286, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -1 + } + }, + "rhs": { + "Immediate": "0x100000000000000000000000000000000000000000000000000000000000000" + }, + "dst": { + "register": "AP", + "offset": 4 + } + } + } + ] + ], + [ + 1290, + [ + { + "LinearSplit": { + "value": { + "Deref": { + "register": "AP", + "offset": 3 + } + }, + "scalar": { + "Immediate": "0x7000000000000110000000000000000" + }, + "max_x": { + "Immediate": "0xffffffffffffffffffffffffffffffff" + }, + "x": { + "register": "AP", + "offset": -2 + }, + "y": { + "register": "AP", + "offset": -1 + } + } + } + ] + ], + [ + 1300, + [ + { + "LinearSplit": { + "value": { + "Deref": { + "register": "AP", + "offset": -2 + } + }, + "scalar": { + "Immediate": "0x1000000000000000000000000000000" + }, + "max_x": { + "Immediate": "0xffffffffffffffffffffffffffffffff" + }, + "x": { + "register": "AP", + "offset": -1 + }, + "y": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 1320, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 1341, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 1362, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 1391, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "FP", + "offset": -4 + } + }, + "rhs": { + "Immediate": "0x100000000000000000000000000000000" + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 1393, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "FP", + "offset": -4 + } + }, + "rhs": { + "Immediate": "0x100000000000000000000000000000000" + }, + "quotient": { + "register": "AP", + "offset": 3 + }, + "remainder": { + "register": "AP", + "offset": 4 + } + } + } + ] + ], + [ + 1430, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "AP", + "offset": 0 + } + }, + "rhs": { + "Immediate": "0x100000000" + }, + "dst": { + "register": "AP", + "offset": -1 + } + } + } + ] + ], + [ + 1441, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "AP", + "offset": 0 + } + }, + "rhs": { + "Immediate": "0x100000000" + }, + "dst": { + "register": "AP", + "offset": -1 + } + } + } + ] + ], + [ + 1452, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "AP", + "offset": 0 + } + }, + "rhs": { + "Immediate": "0x100000000" + }, + "dst": { + "register": "AP", + "offset": -1 + } + } + } + ] + ], + [ + 1481, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 1506, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -1 + } + }, + "rhs": { + "Immediate": "0x100000000000000000000000000000000000000000000000000000000000000" + }, + "dst": { + "register": "AP", + "offset": 4 + } + } + } + ] + ], + [ + 1510, + [ + { + "LinearSplit": { + "value": { + "Deref": { + "register": "AP", + "offset": 3 + } + }, + "scalar": { + "Immediate": "0x7000000000000110000000000000000" + }, + "max_x": { + "Immediate": "0xffffffffffffffffffffffffffffffff" + }, + "x": { + "register": "AP", + "offset": -2 + }, + "y": { + "register": "AP", + "offset": -1 + } + } + } + ] + ], + [ + 1520, + [ + { + "LinearSplit": { + "value": { + "Deref": { + "register": "AP", + "offset": -2 + } + }, + "scalar": { + "Immediate": "0x1000000000000000000000000000000" + }, + "max_x": { + "Immediate": "0xffffffffffffffffffffffffffffffff" + }, + "x": { + "register": "AP", + "offset": -1 + }, + "y": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 1546, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 1567, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 1589, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 1611, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "AP", + "offset": 0 + } + }, + "rhs": { + "Immediate": "0x100000000" + }, + "dst": { + "register": "AP", + "offset": -1 + } + } + } + ] + ], + [ + 1622, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "AP", + "offset": 0 + } + }, + "rhs": { + "Immediate": "0x100000000" + }, + "dst": { + "register": "AP", + "offset": -1 + } + } + } + ] + ], + [ + 1651, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 1676, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -1 + } + }, + "rhs": { + "Immediate": "0x100000000000000000000000000000000000000000000000000000000000000" + }, + "dst": { + "register": "AP", + "offset": 4 + } + } + } + ] + ], + [ + 1680, + [ + { + "LinearSplit": { + "value": { + "Deref": { + "register": "AP", + "offset": 3 + } + }, + "scalar": { + "Immediate": "0x7000000000000110000000000000000" + }, + "max_x": { + "Immediate": "0xffffffffffffffffffffffffffffffff" + }, + "x": { + "register": "AP", + "offset": -2 + }, + "y": { + "register": "AP", + "offset": -1 + } + } + } + ] + ], + [ + 1690, + [ + { + "LinearSplit": { + "value": { + "Deref": { + "register": "AP", + "offset": -2 + } + }, + "scalar": { + "Immediate": "0x1000000000000000000000000000000" + }, + "max_x": { + "Immediate": "0xffffffffffffffffffffffffffffffff" + }, + "x": { + "register": "AP", + "offset": -1 + }, + "y": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 1713, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 1764, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "AP", + "offset": 0 + } + }, + "rhs": { + "Immediate": "0x100000000" + }, + "dst": { + "register": "AP", + "offset": -1 + } + } + } + ] + ], + [ + 1775, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "AP", + "offset": 0 + } + }, + "rhs": { + "Immediate": "0x100000000" + }, + "dst": { + "register": "AP", + "offset": -1 + } + } + } + ] + ], + [ + 1804, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 1827, + [ + { + "TestLessThan": { + "lhs": { + "BinOp": { + "op": "Add", + "a": { + "register": "FP", + "offset": -5 + }, + "b": { + "Deref": { + "register": "FP", + "offset": -3 + } + } + } + }, + "rhs": { + "Immediate": "0x100000000" + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 1851, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], [ - 0, + 1885, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 1902, [ { "TestLessThanOrEqual": { "lhs": { - "Immediate": "0x0" + "Immediate": "0x686" }, "rhs": { "Deref": { "register": "FP", - "offset": -6 + "offset": -7 } }, "dst": { @@ -538,24 +3795,31 @@ ] ], [ - 40, + 1939, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 1953, [ { "TestLessThan": { "lhs": { - "BinOp": { - "op": "Add", - "a": { - "register": "AP", - "offset": -1 - }, - "b": { - "Immediate": "0x0" - } + "Deref": { + "register": "FP", + "offset": -3 } }, "rhs": { - "Immediate": "0x100000000" + "Immediate": "0x10" }, "dst": { "register": "AP", @@ -566,399 +3830,538 @@ ] ], [ - 44, + 2071, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ] + ], + "pythonic_hints": [ + [ + 0, + [ + "memory[ap + 0] = 0 <= memory[fp + -6]" + ] + ], + [ + 74, + [ + "memory[ap + 0] = segments.add()" + ] + ], + [ + 93, + [ + "memory[ap + 0] = 266750 <= memory[ap + -25]" + ] + ], + [ + 117, + [ + "memory[ap + 0] = segments.add()" + ] + ], + [ + 135, + [ + "memory[ap + 0] = segments.add()" + ] + ], + [ + 158, + [ + "memory[ap + 0] = segments.add()" + ] + ], + [ + 172, + [ + "memory[ap + 0] = segments.add()" + ] + ], + [ + 230, + [ + "memory[ap + 0] = segments.add()" + ] + ], + [ + 416, + [ + "memory[ap + 0] = segments.add()" + ] + ], + [ + 577, + [ + "memory[ap + 4] = memory[ap + -1] < 3618502788666131106986593281521497120414687020801267626233049500247285301248" + ] + ], + [ + 581, + [ + "\n(value, scalar) = (memory[ap + 3], 313594649253062377472)\nx = min(value // scalar, 340282366920938463463374607431768211455)\ny = value - x * scalar\nmemory[ap + -2] = x\nmemory[ap + -1] = y\n" + ] + ], + [ + 591, + [ + "\n(value, scalar) = (memory[ap + -2], 10633823966279326983230456482242756608)\nx = min(value // scalar, 340282366920938463463374607431768211455)\ny = value - x * scalar\nmemory[ap + -1] = x\nmemory[ap + 0] = y\n" + ] + ], + [ + 599, + [ + "memory[ap + 0] = segments.add()" + ] + ], + [ + 623, + [ + "syscall_handler.syscall(syscall_ptr=memory[fp + -10])" + ] + ], + [ + 639, + [ + "memory[ap + 0] = memory[ap + -1] < 340282366920938463463374607431768211456" + ] + ], + [ + 641, + [ + "(memory[ap + 3], memory[ap + 4]) = divmod(memory[ap + -2], 340282366920938463463374607431768211456)" + ] + ], + [ + 665, + [ + "memory[ap + 0] = memory[ap + -2] < memory[ap + -1]" + ] + ], + [ + 677, + [ + "memory[ap + 0] = memory[ap + -1] < 340282366920938463463374607431768211456" + ] + ], + [ + 679, + [ + "(memory[ap + 3], memory[ap + 4]) = divmod(memory[ap + -2], 340282366920938463463374607431768211456)" + ] + ], + [ + 711, + [ + "memory[ap + 0] = segments.add()" + ] + ], + [ + 728, + [ + "memory[ap + 0] = segments.add()" + ] + ], + [ + 745, + [ + "memory[ap + 0] = segments.add()" + ] + ], + [ + 762, + [ + "memory[ap + 0] = segments.add()" + ] + ], + [ + 789, + [ + "memory[ap + 0] = segments.add()" + ] + ], + [ + 816, + [ + "memory[ap + 0] = (memory[fp + -5] + memory[fp + -3]) % PRIME < 4294967296" + ] + ], + [ + 831, + [ + "memory[ap + -1] = memory[ap + 0] < 4294967296" + ] + ], + [ + 850, + [ + "memory[ap + -1] = memory[ap + 0] < 4294967296" + ] + ], + [ + 869, + [ + "memory[ap + -1] = memory[ap + 0] < 4294967296" + ] + ], + [ + 879, + [ + "memory[ap + 0] = memory[fp + -4] < 340282366920938463463374607431768211456" + ] + ], + [ + 881, + [ + "(memory[ap + 3], memory[ap + 4]) = divmod(memory[fp + -4], 340282366920938463463374607431768211456)" + ] + ], + [ + 918, + [ + "memory[ap + -1] = memory[ap + 0] < 4294967296" + ] + ], + [ + 933, + [ + "(memory[ap + 5], memory[ap + 6]) = divmod(memory[ap + -18], memory[ap + -1])" + ] + ], + [ + 939, + [ + "memory[ap + -3] = memory[ap + 0] < 18446744073709551616" + ] + ], + [ + 953, + [ + "memory[ap + -1] = memory[ap + 0] < 4294967296" + ] + ], + [ + 967, + [ + "memory[ap + -1] = memory[ap + 0] < 4294967296" + ] + ], + [ + 978, + [ + "memory[ap + -1] = memory[ap + 0] < 4294967296" + ] + ], + [ + 1007, + [ + "memory[ap + 0] = segments.add()" + ] + ], + [ + 1032, + [ + "memory[ap + 4] = memory[ap + -1] < 452312848583266388373324160190187140051835877600158453279131187530910662656" + ] + ], + [ + 1036, + [ + "\n(value, scalar) = (memory[ap + 3], 9304595970494411423921298675024789504)\nx = min(value // scalar, 340282366920938463463374607431768211455)\ny = value - x * scalar\nmemory[ap + -2] = x\nmemory[ap + -1] = y\n" + ] + ], + [ + 1046, + [ + "\n(value, scalar) = (memory[ap + -2], 1329227995784915872903807060280344576)\nx = min(value // scalar, 340282366920938463463374607431768211455)\ny = value - x * scalar\nmemory[ap + -1] = x\nmemory[ap + 0] = y\n" + ] + ], + [ + 1066, + [ + "memory[ap + 0] = segments.add()" + ] + ], + [ + 1087, + [ + "memory[ap + 0] = segments.add()" + ] + ], + [ + 1108, + [ + "memory[ap + 0] = segments.add()" + ] + ], + [ + 1128, + [ + "memory[ap + 0] = memory[fp + -4] < 340282366920938463463374607431768211456" + ] + ], + [ + 1130, [ - { - "LinearSplit": { - "value": { - "Deref": { - "register": "AP", - "offset": -1 - } - }, - "scalar": { - "Immediate": "0x8000000000000110000000000000000" - }, - "max_x": { - "Immediate": "0xfffffffffffffffffffffffffffffffe" - }, - "x": { - "register": "AP", - "offset": 0 - }, - "y": { - "register": "AP", - "offset": 1 - } - } - } + "(memory[ap + 3], memory[ap + 4]) = divmod(memory[fp + -4], 340282366920938463463374607431768211456)" ] ], [ - 69, + 1170, [ - { - "AllocSegment": { - "dst": { - "register": "AP", - "offset": 0 - } - } - } + "(memory[ap + 5], memory[ap + 6]) = divmod(memory[ap + -16], memory[ap + -1])" ] ], [ - 88, + 1176, [ - { - "TestLessThanOrEqual": { - "lhs": { - "Immediate": "0x3c64" - }, - "rhs": { - "Deref": { - "register": "AP", - "offset": -57 - } - }, - "dst": { - "register": "AP", - "offset": 0 - } - } - } + "memory[ap + -3] = memory[ap + 0] < 18446744073709551616" ] ], [ - 115, + 1190, [ - { - "AllocSegment": { - "dst": { - "register": "AP", - "offset": 0 - } - } - } + "memory[ap + -1] = memory[ap + 0] < 4294967296" ] ], [ - 135, + 1208, [ - { - "AllocSegment": { - "dst": { - "register": "AP", - "offset": 0 - } - } - } + "memory[ap + -1] = memory[ap + 0] < 4294967296" ] ], [ - 157, + 1221, [ - { - "AllocSegment": { - "dst": { - "register": "AP", - "offset": 0 - } - } - } + "memory[ap + -1] = memory[ap + 0] < 4294967296" ] ], [ - 171, + 1232, [ - { - "AllocSegment": { - "dst": { - "register": "AP", - "offset": 0 - } - } - } + "memory[ap + -1] = memory[ap + 0] < 4294967296" ] ], [ - 185, + 1261, [ - { - "AllocSegment": { - "dst": { - "register": "AP", - "offset": 0 - } - } - } + "memory[ap + 0] = segments.add()" ] ], [ - 383, + 1286, [ - { - "TestLessThan": { - "lhs": { - "Deref": { - "register": "AP", - "offset": -1 - } - }, - "rhs": { - "Immediate": "0x800000000000000000000000000000000000000000000000000000000000000" - }, - "dst": { - "register": "AP", - "offset": 4 - } - } - } + "memory[ap + 4] = memory[ap + -1] < 452312848583266388373324160190187140051835877600158453279131187530910662656" ] ], [ - 387, + 1290, [ - { - "LinearSplit": { - "value": { - "Deref": { - "register": "AP", - "offset": 3 - } - }, - "scalar": { - "Immediate": "0x110000000000000000" - }, - "max_x": { - "Immediate": "0xffffffffffffffffffffffffffffffff" - }, - "x": { - "register": "AP", - "offset": -2 - }, - "y": { - "register": "AP", - "offset": -1 - } - } - } + "\n(value, scalar) = (memory[ap + 3], 9304595970494411423921298675024789504)\nx = min(value // scalar, 340282366920938463463374607431768211455)\ny = value - x * scalar\nmemory[ap + -2] = x\nmemory[ap + -1] = y\n" ] ], [ - 397, + 1300, [ - { - "LinearSplit": { - "value": { - "Deref": { - "register": "AP", - "offset": -2 - } - }, - "scalar": { - "Immediate": "0x8000000000000000000000000000000" - }, - "max_x": { - "Immediate": "0xffffffffffffffffffffffffffffffff" - }, - "x": { - "register": "AP", - "offset": -1 - }, - "y": { - "register": "AP", - "offset": 0 - } - } - } + "\n(value, scalar) = (memory[ap + -2], 1329227995784915872903807060280344576)\nx = min(value // scalar, 340282366920938463463374607431768211455)\ny = value - x * scalar\nmemory[ap + -1] = x\nmemory[ap + 0] = y\n" ] ], [ - 405, + 1320, [ - { - "AllocSegment": { - "dst": { - "register": "AP", - "offset": 0 - } - } - } + "memory[ap + 0] = segments.add()" ] ], [ - 424, + 1341, [ - { - "SystemCall": { - "system": { - "Deref": { - "register": "FP", - "offset": -8 - } - } - } - } + "memory[ap + 0] = segments.add()" ] ], [ - 435, + 1362, [ - { - "TestLessThan": { - "lhs": { - "Deref": { - "register": "AP", - "offset": -4 - } - }, - "rhs": { - "Deref": { - "register": "AP", - "offset": -1 - } - }, - "dst": { - "register": "AP", - "offset": 0 - } - } - } + "memory[ap + 0] = segments.add()" ] ], [ - 456, + 1391, [ - { - "AllocSegment": { - "dst": { - "register": "AP", - "offset": 0 - } - } - } + "memory[ap + 0] = memory[fp + -4] < 340282366920938463463374607431768211456" ] ], [ - 484, + 1393, [ - { - "AllocSegment": { - "dst": { - "register": "AP", - "offset": 0 - } - } - } + "(memory[ap + 3], memory[ap + 4]) = divmod(memory[fp + -4], 340282366920938463463374607431768211456)" ] - ] - ], - "pythonic_hints": [ + ], [ - 0, + 1430, [ - "memory[ap + 0] = 0 <= memory[fp + -6]" + "memory[ap + -1] = memory[ap + 0] < 4294967296" ] ], [ - 40, + 1441, [ - "memory[ap + 0] = (memory[ap + -1] + 0) % PRIME < 4294967296" + "memory[ap + -1] = memory[ap + 0] < 4294967296" ] ], [ - 44, + 1452, [ - "\n(value, scalar) = (memory[ap + -1], 10633823966279327296825105735305134080)\nx = min(value // scalar, 340282366920938463463374607431768211454)\ny = value - x * scalar\nmemory[ap + 0] = x\nmemory[ap + 1] = y\n" + "memory[ap + -1] = memory[ap + 0] < 4294967296" ] ], [ - 69, + 1481, [ "memory[ap + 0] = segments.add()" ] ], [ - 88, + 1506, + [ + "memory[ap + 4] = memory[ap + -1] < 452312848583266388373324160190187140051835877600158453279131187530910662656" + ] + ], + [ + 1510, + [ + "\n(value, scalar) = (memory[ap + 3], 9304595970494411423921298675024789504)\nx = min(value // scalar, 340282366920938463463374607431768211455)\ny = value - x * scalar\nmemory[ap + -2] = x\nmemory[ap + -1] = y\n" + ] + ], + [ + 1520, [ - "memory[ap + 0] = 15460 <= memory[ap + -57]" + "\n(value, scalar) = (memory[ap + -2], 1329227995784915872903807060280344576)\nx = min(value // scalar, 340282366920938463463374607431768211455)\ny = value - x * scalar\nmemory[ap + -1] = x\nmemory[ap + 0] = y\n" ] ], [ - 115, + 1546, [ "memory[ap + 0] = segments.add()" ] ], [ - 135, + 1567, [ "memory[ap + 0] = segments.add()" ] ], [ - 157, + 1589, [ "memory[ap + 0] = segments.add()" ] ], [ - 171, + 1611, + [ + "memory[ap + -1] = memory[ap + 0] < 4294967296" + ] + ], + [ + 1622, + [ + "memory[ap + -1] = memory[ap + 0] < 4294967296" + ] + ], + [ + 1651, [ "memory[ap + 0] = segments.add()" ] ], [ - 185, + 1676, + [ + "memory[ap + 4] = memory[ap + -1] < 452312848583266388373324160190187140051835877600158453279131187530910662656" + ] + ], + [ + 1680, + [ + "\n(value, scalar) = (memory[ap + 3], 9304595970494411423921298675024789504)\nx = min(value // scalar, 340282366920938463463374607431768211455)\ny = value - x * scalar\nmemory[ap + -2] = x\nmemory[ap + -1] = y\n" + ] + ], + [ + 1690, + [ + "\n(value, scalar) = (memory[ap + -2], 1329227995784915872903807060280344576)\nx = min(value // scalar, 340282366920938463463374607431768211455)\ny = value - x * scalar\nmemory[ap + -1] = x\nmemory[ap + 0] = y\n" + ] + ], + [ + 1713, [ "memory[ap + 0] = segments.add()" ] ], [ - 383, + 1764, [ - "memory[ap + 4] = memory[ap + -1] < 3618502788666131106986593281521497120414687020801267626233049500247285301248" + "memory[ap + -1] = memory[ap + 0] < 4294967296" ] ], [ - 387, + 1775, [ - "\n(value, scalar) = (memory[ap + 3], 313594649253062377472)\nx = min(value // scalar, 340282366920938463463374607431768211455)\ny = value - x * scalar\nmemory[ap + -2] = x\nmemory[ap + -1] = y\n" + "memory[ap + -1] = memory[ap + 0] < 4294967296" ] ], [ - 397, + 1804, [ - "\n(value, scalar) = (memory[ap + -2], 10633823966279326983230456482242756608)\nx = min(value // scalar, 340282366920938463463374607431768211455)\ny = value - x * scalar\nmemory[ap + -1] = x\nmemory[ap + 0] = y\n" + "memory[ap + 0] = segments.add()" + ] + ], + [ + 1827, + [ + "memory[ap + 0] = (memory[fp + -5] + memory[fp + -3]) % PRIME < 4294967296" ] ], [ - 405, + 1851, [ "memory[ap + 0] = segments.add()" ] ], [ - 424, + 1885, [ - "syscall_handler.syscall(syscall_ptr=memory[fp + -8])" + "memory[ap + 0] = segments.add()" ] ], [ - 435, + 1902, [ - "memory[ap + 0] = memory[ap + -4] < memory[ap + -1]" + "memory[ap + 0] = 1670 <= memory[fp + -7]" ] ], [ - 456, + 1939, [ "memory[ap + 0] = segments.add()" ] ], [ - 484, + 1953, + [ + "memory[ap + 0] = memory[fp + -3] < 16" + ] + ], + [ + 2071, [ "memory[ap + 0] = segments.add()" ] diff --git a/examples/src/lib.cairo b/examples/src/lib.cairo new file mode 100644 index 00000000..d69fd0a9 --- /dev/null +++ b/examples/src/lib.cairo @@ -0,0 +1,24 @@ +#[starknet::contract] +mod example { + use hdp_cairo::evm::storage::StorageTrait; + use hdp_cairo::{HDP, evm::storage::{StorageKey, StorageImpl}}; + + #[storage] + struct Storage {} + + #[external(v0)] + pub fn main(ref self: ContractState, hdp: HDP) { + assert!( + hdp + .evm + .storage_get_slot( + StorageKey { + chain_id: 11155111, + block_number: 6000000, + address: 0x75cec1db9dceb703200eaa6595f66885c962b920, + storage_slot: 0x1, + }, + ) == u256 { low: 0x12309ce54000, high: 0x0 }, + ) + } +} diff --git a/hdp_cairo/Scarb.toml b/hdp_cairo/Scarb.toml index 711fe2e8..13904e71 100644 --- a/hdp_cairo/Scarb.toml +++ b/hdp_cairo/Scarb.toml @@ -6,4 +6,4 @@ edition = "2023_11" # See more keys and their definitions at https://docs.swmansion.com/scarb/docs/reference/manifest.html [dependencies] -starknet = "2.6.3" \ No newline at end of file +starknet = "2.9.2" \ No newline at end of file diff --git a/hdp_cairo/src/evm/account.cairo b/hdp_cairo/src/evm/account.cairo index 99dc208d..eb05bcae 100644 --- a/hdp_cairo/src/evm/account.cairo +++ b/hdp_cairo/src/evm/account.cairo @@ -1,6 +1,6 @@ use hdp_cairo::EvmMemorizer; use starknet::syscalls::call_contract_syscall; -use starknet::{SyscallResult, SyscallResultTrait}; +use starknet::{SyscallResultTrait}; const ACCOUNT: felt252 = 1; @@ -42,7 +42,7 @@ pub impl AccountImpl of AccountTrait { key.block_number, key.address, ] - .span() + .span(), ) .unwrap_syscall(); u256 { low: (*value[0]).try_into().unwrap(), high: (*value[1]).try_into().unwrap() } diff --git a/hdp_cairo/src/evm/block_receipt.cairo b/hdp_cairo/src/evm/block_receipt.cairo index c834f970..60d50b1c 100644 --- a/hdp_cairo/src/evm/block_receipt.cairo +++ b/hdp_cairo/src/evm/block_receipt.cairo @@ -1,6 +1,6 @@ use hdp_cairo::EvmMemorizer; use starknet::syscalls::call_contract_syscall; -use starknet::{SyscallResult, SyscallResultTrait}; +use starknet::{SyscallResultTrait}; const BLOCK_RECEIPT: felt252 = 4; @@ -42,7 +42,7 @@ pub impl BlockReceiptImpl of BlockReceiptTrait { key.block_number, key.transaction_index, ] - .span() + .span(), ) .unwrap_syscall(); u256 { low: (*value[0]).try_into().unwrap(), high: (*value[1]).try_into().unwrap() } diff --git a/hdp_cairo/src/evm/block_tx.cairo b/hdp_cairo/src/evm/block_tx.cairo index 3e65636c..5fae232a 100644 --- a/hdp_cairo/src/evm/block_tx.cairo +++ b/hdp_cairo/src/evm/block_tx.cairo @@ -1,6 +1,6 @@ use hdp_cairo::EvmMemorizer; use starknet::syscalls::call_contract_syscall; -use starknet::{SyscallResult, SyscallResultTrait}; +use starknet::{SyscallResultTrait}; const BLOCK_TX: felt252 = 3; @@ -36,7 +36,7 @@ pub enum TxType { Eip2930, Eip1559, Eip4844, - Eip7702 + Eip7702, } #[generate_trait] @@ -112,7 +112,7 @@ pub impl BlockTxImpl of BlockTxTrait { key.block_number, key.transaction_index, ] - .span() + .span(), ) .unwrap_syscall(); u256 { low: (*value[0]).try_into().unwrap(), high: (*value[1]).try_into().unwrap() } diff --git a/hdp_cairo/src/evm/header.cairo b/hdp_cairo/src/evm/header.cairo index c52449eb..70fe6873 100644 --- a/hdp_cairo/src/evm/header.cairo +++ b/hdp_cairo/src/evm/header.cairo @@ -1,6 +1,6 @@ use hdp_cairo::EvmMemorizer; use starknet::syscalls::call_contract_syscall; -use starknet::{SyscallResult, SyscallResultTrait}; +use starknet::{SyscallResultTrait}; const HEADER: felt252 = 0; @@ -93,7 +93,7 @@ pub impl HeaderImpl of HeaderTrait { HEADER.try_into().unwrap(), selector, array![*self.dict.segment_index, *self.dict.offset, key.chain_id, key.block_number] - .span() + .span(), ) .unwrap_syscall(); u256 { low: (*value[0]).try_into().unwrap(), high: (*value[1]).try_into().unwrap() } diff --git a/hdp_cairo/src/evm/storage.cairo b/hdp_cairo/src/evm/storage.cairo index 622c9fcc..33550749 100644 --- a/hdp_cairo/src/evm/storage.cairo +++ b/hdp_cairo/src/evm/storage.cairo @@ -1,6 +1,6 @@ use hdp_cairo::EvmMemorizer; use starknet::syscalls::call_contract_syscall; -use starknet::{SyscallResult, SyscallResultTrait}; +use starknet::{SyscallResultTrait}; const STORAGE: felt252 = 2; @@ -29,7 +29,7 @@ pub impl StorageImpl of StorageTrait { key.storage_slot.high.into(), key.storage_slot.low.into(), ] - .span() + .span(), ) .unwrap_syscall(); u256 { low: (*value[0]).try_into().unwrap(), high: (*value[1]).try_into().unwrap() } diff --git a/hdp_cairo/src/starknet/header.cairo b/hdp_cairo/src/starknet/header.cairo index a96ac57c..817388b1 100644 --- a/hdp_cairo/src/starknet/header.cairo +++ b/hdp_cairo/src/starknet/header.cairo @@ -1,6 +1,6 @@ use hdp_cairo::StarknetMemorizer; use starknet::syscalls::call_contract_syscall; -use starknet::{SyscallResult, SyscallResultTrait}; +use starknet::{SyscallResultTrait}; const HEADER: felt252 = 0; @@ -109,7 +109,7 @@ pub impl HeaderImpl of HeaderTrait { HEADER.try_into().unwrap(), selector, array![*self.dict.segment_index, *self.dict.offset, key.chain_id, key.block_number] - .span() + .span(), ) .unwrap_syscall(); (*value[0]).try_into().unwrap() diff --git a/hdp_cairo/src/starknet/storage.cairo b/hdp_cairo/src/starknet/storage.cairo index 7cbe091e..82b52741 100644 --- a/hdp_cairo/src/starknet/storage.cairo +++ b/hdp_cairo/src/starknet/storage.cairo @@ -1,6 +1,6 @@ use hdp_cairo::StarknetMemorizer; use starknet::syscalls::call_contract_syscall; -use starknet::{SyscallResult, SyscallResultTrait}; +use starknet::{SyscallResultTrait}; const STORAGE: felt252 = 1; const STORAGE_GET_SLOT: felt252 = 0; @@ -27,7 +27,7 @@ pub impl StorageImpl of StorageTrait { key.address, key.storage_slot, ] - .span() + .span(), ) .unwrap_syscall(); (*value[0]).try_into().unwrap() diff --git a/tests/Scarb.toml b/tests/Scarb.toml index 85e5057b..0b8c2ffd 100644 --- a/tests/Scarb.toml +++ b/tests/Scarb.toml @@ -6,12 +6,9 @@ edition = "2023_11" # See more keys and their definitions at https://docs.swmansion.com/scarb/docs/reference/manifest.html [dependencies] -starknet = "2.6.3" +starknet = { workspace = true } hdp_cairo = { workspace = true } -[dev-dependencies] -snforge_std = { git = "https://github.com/foundry-rs/starknet-foundry", tag = "v0.24.0" } - [[target.starknet-contract]] sierra = true casm = true diff --git a/tests/src/starknet/header_modules.cairo b/tests/src/starknet/header_modules.cairo index d7d3c572..901c4665 100644 --- a/tests/src/starknet/header_modules.cairo +++ b/tests/src/starknet/header_modules.cairo @@ -2,8 +2,6 @@ mod starknet_get_block_number { use hdp_cairo::starknet::header::HeaderTrait; use hdp_cairo::{HDP, starknet::header::{HeaderKey, HeaderImpl}}; - use starknet::syscalls::call_contract_syscall; - use starknet::{ContractAddress, SyscallResult, SyscallResultTrait}; #[storage] struct Storage {} @@ -13,7 +11,7 @@ mod starknet_get_block_number { hdp .starknet .header_get_block_number( - HeaderKey { chain_id: 393402133025997798000961, block_number: 155555 } + HeaderKey { chain_id: 393402133025997798000961, block_number: 155555 }, ) } } @@ -22,8 +20,6 @@ mod starknet_get_block_number { mod starknet_get_state_root { use hdp_cairo::starknet::header::HeaderTrait; use hdp_cairo::{HDP, starknet::header::{HeaderKey, HeaderImpl}}; - use starknet::syscalls::call_contract_syscall; - use starknet::{ContractAddress, SyscallResult, SyscallResultTrait}; #[storage] struct Storage {} @@ -33,7 +29,7 @@ mod starknet_get_state_root { hdp .starknet .header_get_state_root( - HeaderKey { chain_id: 393402133025997798000961, block_number: 155555 } + HeaderKey { chain_id: 393402133025997798000961, block_number: 155555 }, ) } } @@ -42,8 +38,6 @@ mod starknet_get_state_root { mod starknet_get_sequencer_address { use hdp_cairo::starknet::header::HeaderTrait; use hdp_cairo::{HDP, starknet::header::{HeaderKey, HeaderImpl}}; - use starknet::syscalls::call_contract_syscall; - use starknet::{ContractAddress, SyscallResult, SyscallResultTrait}; #[storage] struct Storage {} @@ -53,7 +47,7 @@ mod starknet_get_sequencer_address { hdp .starknet .header_get_sequencer_address( - HeaderKey { chain_id: 393402133025997798000961, block_number: 155555 } + HeaderKey { chain_id: 393402133025997798000961, block_number: 155555 }, ) } } @@ -62,8 +56,6 @@ mod starknet_get_sequencer_address { mod starknet_get_block_timestamp { use hdp_cairo::starknet::header::HeaderTrait; use hdp_cairo::{HDP, starknet::header::{HeaderKey, HeaderImpl}}; - use starknet::syscalls::call_contract_syscall; - use starknet::{ContractAddress, SyscallResult, SyscallResultTrait}; #[storage] struct Storage {} @@ -73,7 +65,7 @@ mod starknet_get_block_timestamp { hdp .starknet .header_get_block_timestamp( - HeaderKey { chain_id: 393402133025997798000961, block_number: 155555 } + HeaderKey { chain_id: 393402133025997798000961, block_number: 155555 }, ) } } @@ -82,8 +74,6 @@ mod starknet_get_block_timestamp { mod starknet_get_transaction_count { use hdp_cairo::starknet::header::HeaderTrait; use hdp_cairo::{HDP, starknet::header::{HeaderKey, HeaderImpl}}; - use starknet::syscalls::call_contract_syscall; - use starknet::{ContractAddress, SyscallResult, SyscallResultTrait}; #[storage] struct Storage {} @@ -92,8 +82,9 @@ mod starknet_get_transaction_count { pub fn main(ref self: ContractState, hdp: HDP) -> felt252 { hdp .starknet - .header_get_transaction_count(HeaderKey { chain_id: 393402133025997798000961, - block_number: 155555 }) + .header_get_transaction_count( + HeaderKey { chain_id: 393402133025997798000961, block_number: 155555 }, + ) } } @@ -101,8 +92,6 @@ mod starknet_get_transaction_count { mod starknet_get_transaction_commitment { use hdp_cairo::starknet::header::HeaderTrait; use hdp_cairo::{HDP, starknet::header::{HeaderKey, HeaderImpl}}; - use starknet::syscalls::call_contract_syscall; - use starknet::{ContractAddress, SyscallResult, SyscallResultTrait}; #[storage] struct Storage {} @@ -112,7 +101,7 @@ mod starknet_get_transaction_commitment { hdp .starknet .header_get_transaction_commitment( - HeaderKey { chain_id: 393402133025997798000961, block_number: 155555 } + HeaderKey { chain_id: 393402133025997798000961, block_number: 155555 }, ) } } @@ -121,8 +110,6 @@ mod starknet_get_transaction_commitment { mod starknet_get_event_count { use hdp_cairo::starknet::header::HeaderTrait; use hdp_cairo::{HDP, starknet::header::{HeaderKey, HeaderImpl}}; - use starknet::syscalls::call_contract_syscall; - use starknet::{ContractAddress, SyscallResult, SyscallResultTrait}; #[storage] struct Storage {} @@ -131,8 +118,9 @@ mod starknet_get_event_count { pub fn main(ref self: ContractState, hdp: HDP) -> felt252 { hdp .starknet - .header_get_event_count(HeaderKey { chain_id: 393402133025997798000961, block_number: - 155555 }) + .header_get_event_count( + HeaderKey { chain_id: 393402133025997798000961, block_number: 155555 }, + ) } } @@ -140,8 +128,6 @@ mod starknet_get_event_count { mod starknet_get_event_commitment { use hdp_cairo::starknet::header::HeaderTrait; use hdp_cairo::{HDP, starknet::header::{HeaderKey, HeaderImpl}}; - use starknet::syscalls::call_contract_syscall; - use starknet::{ContractAddress, SyscallResult, SyscallResultTrait}; #[storage] struct Storage {} @@ -151,7 +137,7 @@ mod starknet_get_event_commitment { hdp .starknet .header_get_event_commitment( - HeaderKey { chain_id: 393402133025997798000961, block_number: 155555 } + HeaderKey { chain_id: 393402133025997798000961, block_number: 155555 }, ) } } @@ -160,8 +146,6 @@ mod starknet_get_event_commitment { mod starknet_get_parent_block_hash { use hdp_cairo::starknet::header::HeaderTrait; use hdp_cairo::{HDP, starknet::header::{HeaderKey, HeaderImpl}}; - use starknet::syscalls::call_contract_syscall; - use starknet::{ContractAddress, SyscallResult, SyscallResultTrait}; #[storage] struct Storage {} @@ -171,7 +155,7 @@ mod starknet_get_parent_block_hash { hdp .starknet .header_get_parent_block_hash( - HeaderKey { chain_id: 393402133025997798000961, block_number: 155555 } + HeaderKey { chain_id: 393402133025997798000961, block_number: 155555 }, ) } } @@ -180,8 +164,6 @@ mod starknet_get_parent_block_hash { mod starknet_get_state_diff_commitment { use hdp_cairo::starknet::header::HeaderTrait; use hdp_cairo::{HDP, starknet::header::{HeaderKey, HeaderImpl}}; - use starknet::syscalls::call_contract_syscall; - use starknet::{ContractAddress, SyscallResult, SyscallResultTrait}; #[storage] struct Storage {} @@ -191,7 +173,7 @@ mod starknet_get_state_diff_commitment { hdp .starknet .header_get_state_diff_commitment( - HeaderKey { chain_id: 393402133025997798000961, block_number: 155555 } + HeaderKey { chain_id: 393402133025997798000961, block_number: 155555 }, ) } } @@ -200,8 +182,6 @@ mod starknet_get_state_diff_commitment { mod starknet_get_state_diff_length { use hdp_cairo::starknet::header::HeaderTrait; use hdp_cairo::{HDP, starknet::header::{HeaderKey, HeaderImpl}}; - use starknet::syscalls::call_contract_syscall; - use starknet::{ContractAddress, SyscallResult, SyscallResultTrait}; #[storage] struct Storage {} @@ -210,8 +190,9 @@ mod starknet_get_state_diff_length { pub fn main(ref self: ContractState, hdp: HDP) -> felt252 { hdp .starknet - .header_get_state_diff_length(HeaderKey { chain_id: 393402133025997798000961, - block_number: 155555 }) + .header_get_state_diff_length( + HeaderKey { chain_id: 393402133025997798000961, block_number: 155555 }, + ) } } @@ -219,8 +200,6 @@ mod starknet_get_state_diff_length { mod starknet_get_l1_gas_price_in_wei { use hdp_cairo::starknet::header::HeaderTrait; use hdp_cairo::{HDP, starknet::header::{HeaderKey, HeaderImpl}}; - use starknet::syscalls::call_contract_syscall; - use starknet::{ContractAddress, SyscallResult, SyscallResultTrait}; #[storage] struct Storage {} @@ -230,7 +209,7 @@ mod starknet_get_l1_gas_price_in_wei { hdp .starknet .header_get_l1_gas_price_in_wei( - HeaderKey { chain_id: 393402133025997798000961, block_number: 155555 } + HeaderKey { chain_id: 393402133025997798000961, block_number: 155555 }, ) } } @@ -239,8 +218,6 @@ mod starknet_get_l1_gas_price_in_wei { mod starknet_get_l1_gas_price_in_fri { use hdp_cairo::starknet::header::HeaderTrait; use hdp_cairo::{HDP, starknet::header::{HeaderKey, HeaderImpl}}; - use starknet::syscalls::call_contract_syscall; - use starknet::{ContractAddress, SyscallResult, SyscallResultTrait}; #[storage] struct Storage {} @@ -250,7 +227,7 @@ mod starknet_get_l1_gas_price_in_fri { hdp .starknet .header_get_l1_gas_price_in_fri( - HeaderKey { chain_id: 393402133025997798000961, block_number: 155555 } + HeaderKey { chain_id: 393402133025997798000961, block_number: 155555 }, ) } } @@ -259,8 +236,6 @@ mod starknet_get_l1_gas_price_in_fri { mod starknet_get_l1_data_gas_price_in_wei { use hdp_cairo::starknet::header::HeaderTrait; use hdp_cairo::{HDP, starknet::header::{HeaderKey, HeaderImpl}}; - use starknet::syscalls::call_contract_syscall; - use starknet::{ContractAddress, SyscallResult, SyscallResultTrait}; #[storage] struct Storage {} @@ -270,7 +245,7 @@ mod starknet_get_l1_data_gas_price_in_wei { hdp .starknet .header_get_l1_data_gas_price_in_wei( - HeaderKey { chain_id: 393402133025997798000961, block_number: 155555 } + HeaderKey { chain_id: 393402133025997798000961, block_number: 155555 }, ) } } @@ -279,8 +254,6 @@ mod starknet_get_l1_data_gas_price_in_wei { mod starknet_get_l1_data_gas_price_in_fri { use hdp_cairo::starknet::header::HeaderTrait; use hdp_cairo::{HDP, starknet::header::{HeaderKey, HeaderImpl}}; - use starknet::syscalls::call_contract_syscall; - use starknet::{ContractAddress, SyscallResult, SyscallResultTrait}; #[storage] struct Storage {} @@ -290,7 +263,7 @@ mod starknet_get_l1_data_gas_price_in_fri { hdp .starknet .header_get_l1_data_gas_price_in_fri( - HeaderKey { chain_id: 393402133025997798000961, block_number: 155555 } + HeaderKey { chain_id: 393402133025997798000961, block_number: 155555 }, ) } } @@ -299,8 +272,6 @@ mod starknet_get_l1_data_gas_price_in_fri { mod starknet_get_receipts_commitment { use hdp_cairo::starknet::header::HeaderTrait; use hdp_cairo::{HDP, starknet::header::{HeaderKey, HeaderImpl}}; - use starknet::syscalls::call_contract_syscall; - use starknet::{ContractAddress, SyscallResult, SyscallResultTrait}; #[storage] struct Storage {} @@ -310,7 +281,7 @@ mod starknet_get_receipts_commitment { hdp .starknet .header_get_receipts_commitment( - HeaderKey { chain_id: 393402133025997798000961, block_number: 155555 } + HeaderKey { chain_id: 393402133025997798000961, block_number: 155555 }, ) } } @@ -319,8 +290,6 @@ mod starknet_get_receipts_commitment { mod starknet_get_l1_data_mode { use hdp_cairo::starknet::header::HeaderTrait; use hdp_cairo::{HDP, starknet::header::{HeaderKey, HeaderImpl}}; - use starknet::syscalls::call_contract_syscall; - use starknet::{ContractAddress, SyscallResult, SyscallResultTrait}; #[storage] struct Storage {} @@ -329,8 +298,9 @@ mod starknet_get_l1_data_mode { pub fn main(ref self: ContractState, hdp: HDP) -> felt252 { hdp .starknet - .header_get_l1_data_mode(HeaderKey { chain_id: 393402133025997798000961, - block_number: 155555 }) + .header_get_l1_data_mode( + HeaderKey { chain_id: 393402133025997798000961, block_number: 155555 }, + ) } } @@ -338,8 +308,6 @@ mod starknet_get_l1_data_mode { mod starknet_get_protocol_version { use hdp_cairo::starknet::header::HeaderTrait; use hdp_cairo::{HDP, starknet::header::{HeaderKey, HeaderImpl}}; - use starknet::syscalls::call_contract_syscall; - use starknet::{ContractAddress, SyscallResult, SyscallResultTrait}; #[storage] struct Storage {} @@ -348,8 +316,9 @@ mod starknet_get_protocol_version { pub fn main(ref self: ContractState, hdp: HDP) -> felt252 { hdp .starknet - .header_get_protocol_version(HeaderKey { chain_id: 393402133025997798000961, - block_number: 155555 }) + .header_get_protocol_version( + HeaderKey { chain_id: 393402133025997798000961, block_number: 155555 }, + ) } } diff --git a/tests/src/starknet/storage_modules.cairo b/tests/src/starknet/storage_modules.cairo index eb276c75..6d7f0652 100644 --- a/tests/src/starknet/storage_modules.cairo +++ b/tests/src/starknet/storage_modules.cairo @@ -1,10 +1,7 @@ - #[starknet::contract] mod starknet_get_storage { use hdp_cairo::starknet::storage::StorageTrait; use hdp_cairo::{HDP, starknet::storage::{StorageKey, StorageImpl}}; - use starknet::syscalls::call_contract_syscall; - use starknet::{ContractAddress, SyscallResult, SyscallResultTrait}; #[storage] struct Storage {} @@ -22,4 +19,4 @@ mod starknet_get_storage { }, ) } -} \ No newline at end of file +}