From eca748ae051e7ba1d31f2baae77ab203850c3586 Mon Sep 17 00:00:00 2001 From: Ilya Lesokhin Date: Sun, 29 Sep 2024 15:59:11 +0300 Subject: [PATCH] Support catching EntryPointNotFound. --- .../cairo1/compiled/test_contract.casm.json | 1453 +++++++++-------- .../cairo1/test_contract.cairo | 9 +- .../blockifier/src/execution/entry_point.rs | 24 +- .../src/execution/entry_point_execution.rs | 1 + .../src/execution/entry_point_test.rs | 7 +- .../src/execution/syscalls/hint_processor.rs | 3 + .../transaction/account_transactions_test.rs | 7 +- 7 files changed, 824 insertions(+), 680 deletions(-) diff --git a/crates/blockifier/feature_contracts/cairo1/compiled/test_contract.casm.json b/crates/blockifier/feature_contracts/cairo1/compiled/test_contract.casm.json index e83fe5605a..281fa94e2f 100644 --- a/crates/blockifier/feature_contracts/cairo1/compiled/test_contract.casm.json +++ b/crates/blockifier/feature_contracts/cairo1/compiled/test_contract.casm.json @@ -100,9 +100,9 @@ "0x1", "0x208b7fff7fff7ffe", "0x1104800180018000", - "0x4a6e", + "0x4aba", "0x482480017fff8000", - "0x4a6d", + "0x4ab9", "0x480080007fff8000", "0xa0680017fff8000", "0x9", @@ -275,9 +275,9 @@ "0x1", "0x208b7fff7fff7ffe", "0x1104800180018000", - "0x49bf", + "0x4a0b", "0x482480017fff8000", - "0x49be", + "0x4a0a", "0x480080007fff8000", "0xa0680017fff8000", "0x9", @@ -588,9 +588,9 @@ "0x1", "0x208b7fff7fff7ffe", "0x1104800180018000", - "0x4886", + "0x48d2", "0x482480017fff8000", - "0x4885", + "0x48d1", "0x480080007fff8000", "0xa0680017fff8000", "0x9", @@ -879,21 +879,21 @@ "0x1", "0x208b7fff7fff7ffe", "0x1104800180018000", - "0x4763", + "0x47af", "0x482480017fff8000", - "0x4762", + "0x47ae", "0x480080007fff8000", "0xa0680017fff8000", "0x9", "0x4824800180007ff4", - "0x602c", + "0x65a4", "0x482480017fff8000", "0x100000000000000000000000000000000", "0x400080007ff17fff", "0x10780017fff7fff", "0x23", "0x4824800180007ff4", - "0x602c", + "0x65a4", "0x400080007ff27fff", "0x482480017ff28000", "0x1", @@ -1081,21 +1081,21 @@ "0x1", "0x208b7fff7fff7ffe", "0x1104800180018000", - "0x4699", + "0x46e5", "0x482480017fff8000", - "0x4698", + "0x46e4", "0x480080007fff8000", "0xa0680017fff8000", "0x9", "0x4824800180007fed", - "0x9e66", + "0x9c0e", "0x482480017fff8000", "0x100000000000000000000000000000000", "0x400080007ff77fff", "0x10780017fff7fff", "0x20", "0x4824800180007fed", - "0x9e66", + "0x9c0e", "0x400080007ff87fff", "0x482480017ff88000", "0x1", @@ -1103,7 +1103,7 @@ "0x480a7ffb7fff8000", "0x48127fef7fff8000", "0x1104800180018000", - "0x16c3", + "0x1718", "0x20680017fff7ffd", "0xc", "0x40780017fff7fff", @@ -1383,9 +1383,9 @@ "0x1", "0x208b7fff7fff7ffe", "0x1104800180018000", - "0x456b", + "0x45b7", "0x482480017fff8000", - "0x456a", + "0x45b6", "0x480080007fff8000", "0xa0680017fff8000", "0x9", @@ -1411,7 +1411,7 @@ "0x480a80017fff8000", "0x480a80027fff8000", "0x1104800180018000", - "0x160d", + "0x1659", "0x20680017fff7ffd", "0xc", "0x40780017fff7fff", @@ -1589,9 +1589,9 @@ "0x1", "0x208b7fff7fff7ffe", "0x1104800180018000", - "0x449d", + "0x44e9", "0x482480017fff8000", - "0x449c", + "0x44e8", "0x480080007fff8000", "0xa0680017fff8000", "0x9", @@ -1706,7 +1706,7 @@ "0x480a7ffc7fff8000", "0x480a7ffd7fff8000", "0x1104800180018000", - "0x1550", + "0x159c", "0x20680017fff7ffc", "0xf2", "0x48127ff97fff8000", @@ -1717,7 +1717,7 @@ "0x40137ffa7fff8001", "0x40137ffb7fff8002", "0x1104800180018000", - "0x1612", + "0x165e", "0x20680017fff7feb", "0xdf", "0x20680017fff7fee", @@ -1805,9 +1805,9 @@ "0x1", "0x208b7fff7fff7ffe", "0x1104800180018000", - "0x43c5", + "0x4411", "0x482480017fff8000", - "0x43c4", + "0x4410", "0x480080007fff8000", "0xa0680017fff8000", "0x9", @@ -1849,7 +1849,7 @@ "0x48127fdb7fff8000", "0x48127fdf7fff8000", "0x1104800180018000", - "0x1a43", + "0x1a8f", "0x20680017fff7ffd", "0xc", "0x40780017fff7fff", @@ -2143,9 +2143,9 @@ "0x1", "0x208b7fff7fff7ffe", "0x1104800180018000", - "0x4273", + "0x42bf", "0x482480017fff8000", - "0x4272", + "0x42be", "0x480080007fff8000", "0xa0680017fff8000", "0x9", @@ -2430,9 +2430,9 @@ "0x1", "0x208b7fff7fff7ffe", "0x1104800180018000", - "0x4154", + "0x41a0", "0x482480017fff8000", - "0x4153", + "0x419f", "0x480080007fff8000", "0xa0680017fff8000", "0x9", @@ -2454,7 +2454,7 @@ "0x48127fee7fff8000", "0x48127ff27fff8000", "0x1104800180018000", - "0x1956", + "0x19a2", "0x482480017fc88000", "0x1", "0x48127ffa7fff8000", @@ -2647,9 +2647,9 @@ "0x1", "0x208b7fff7fff7ffe", "0x1104800180018000", - "0x407b", + "0x40c7", "0x482480017fff8000", - "0x407a", + "0x40c6", "0x480080007fff8000", "0xa0680017fff8000", "0x9", @@ -2863,9 +2863,9 @@ "0x1", "0x208b7fff7fff7ffe", "0x1104800180018000", - "0x3fa3", + "0x3fef", "0x482480017fff8000", - "0x3fa2", + "0x3fee", "0x480080007fff8000", "0xa0680017fff8000", "0x9", @@ -3002,9 +3002,9 @@ "0x1", "0x208b7fff7fff7ffe", "0x1104800180018000", - "0x3f18", + "0x3f64", "0x482480017fff8000", - "0x3f17", + "0x3f63", "0x480080007fff8000", "0xa0680017fff8000", "0x9", @@ -3036,7 +3036,7 @@ "0x48127ff77fff8000", "0x480080007ffc8000", "0x1104800180018000", - "0x1758", + "0x17a4", "0x40780017fff7fff", "0x1", "0x48127ffa7fff8000", @@ -3275,9 +3275,9 @@ "0x1", "0x208b7fff7fff7ffe", "0x1104800180018000", - "0x3e07", + "0x3e53", "0x482480017fff8000", - "0x3e06", + "0x3e52", "0x480080007fff8000", "0xa0680017fff8000", "0x9", @@ -3453,9 +3453,9 @@ "0x1", "0x208b7fff7fff7ffe", "0x1104800180018000", - "0x3d55", + "0x3da1", "0x482480017fff8000", - "0x3d54", + "0x3da0", "0x480080007fff8000", "0xa0680017fff8000", "0x9", @@ -3474,7 +3474,7 @@ "0x48127ffe7fff8000", "0x480a7ffb7fff8000", "0x1104800180018000", - "0x1660", + "0x16ac", "0x20680017fff7ffd", "0xc", "0x40780017fff7fff", @@ -3557,9 +3557,9 @@ "0x1", "0x208b7fff7fff7ffe", "0x1104800180018000", - "0x3ced", + "0x3d39", "0x482480017fff8000", - "0x3cec", + "0x3d38", "0x480080007fff8000", "0xa0680017fff8000", "0x9", @@ -3578,7 +3578,7 @@ "0x48127ffe7fff8000", "0x480a7ffb7fff8000", "0x1104800180018000", - "0x16cc", + "0x1718", "0x20680017fff7ffd", "0xc", "0x40780017fff7fff", @@ -3662,9 +3662,9 @@ "0x1", "0x208b7fff7fff7ffe", "0x1104800180018000", - "0x3c84", + "0x3cd0", "0x482480017fff8000", - "0x3c83", + "0x3ccf", "0x480080007fff8000", "0x480080017fff8000", "0x484480017fff8000", @@ -3687,7 +3687,7 @@ "0x480a7ff97fff8000", "0x480a7ffb7fff8000", "0x1104800180018000", - "0x16b2", + "0x16fe", "0x20680017fff7ffd", "0xd", "0x40780017fff7fff", @@ -3774,9 +3774,9 @@ "0x1", "0x208b7fff7fff7ffe", "0x1104800180018000", - "0x3c14", + "0x3c60", "0x482480017fff8000", - "0x3c13", + "0x3c5f", "0x480080007fff8000", "0xa0680017fff8000", "0x9", @@ -3795,7 +3795,7 @@ "0x48127ffe7fff8000", "0x480a7ffb7fff8000", "0x1104800180018000", - "0x17a6", + "0x17f2", "0x20680017fff7ffd", "0xc", "0x40780017fff7fff", @@ -3920,9 +3920,9 @@ "0x1", "0x208b7fff7fff7ffe", "0x1104800180018000", - "0x3b82", + "0x3bce", "0x482480017fff8000", - "0x3b81", + "0x3bcd", "0x480080007fff8000", "0xa0680017fff8000", "0x9", @@ -4122,9 +4122,9 @@ "0x1", "0x208b7fff7fff7ffe", "0x1104800180018000", - "0x3ab8", + "0x3b04", "0x482480017fff8000", - "0x3ab7", + "0x3b03", "0x480080007fff8000", "0xa0680017fff8000", "0x9", @@ -4145,7 +4145,7 @@ "0x48127ff47fff8000", "0x48127ff47fff8000", "0x1104800180018000", - "0x17d1", + "0x181d", "0x20680017fff7ffd", "0xe", "0x40780017fff7fff", @@ -4244,9 +4244,9 @@ "0x1", "0x208b7fff7fff7ffe", "0x1104800180018000", - "0x3a3e", + "0x3a8a", "0x482480017fff8000", - "0x3a3d", + "0x3a89", "0x480080007fff8000", "0xa0680017fff8000", "0x9", @@ -4358,9 +4358,9 @@ "0x1", "0x208b7fff7fff7ffe", "0x1104800180018000", - "0x39cc", + "0x3a18", "0x482480017fff8000", - "0x39cb", + "0x3a17", "0x480080007fff8000", "0xa0680017fff8000", "0x9", @@ -4379,7 +4379,7 @@ "0x48127ffe7fff8000", "0x48127ff67fff8000", "0x1104800180018000", - "0x1836", + "0x1882", "0x20680017fff7ffd", "0xc", "0x40780017fff7fff", @@ -4497,9 +4497,9 @@ "0x1", "0x208b7fff7fff7ffe", "0x1104800180018000", - "0x3941", + "0x398d", "0x482480017fff8000", - "0x3940", + "0x398c", "0x480080007fff8000", "0xa0680017fff8000", "0x9", @@ -4518,7 +4518,7 @@ "0x48127ffe7fff8000", "0x48127ff67fff8000", "0x1104800180018000", - "0x17db", + "0x1827", "0x20680017fff7ffd", "0xc", "0x40780017fff7fff", @@ -4702,9 +4702,9 @@ "0x1", "0x208b7fff7fff7ffe", "0x1104800180018000", - "0x3874", + "0x38c0", "0x482480017fff8000", - "0x3873", + "0x38bf", "0x480080007fff8000", "0xa0680017fff8000", "0x9", @@ -4946,9 +4946,9 @@ "0x1", "0x208b7fff7fff7ffe", "0x1104800180018000", - "0x3780", + "0x37cc", "0x482480017fff8000", - "0x377f", + "0x37cb", "0x480080007fff8000", "0x480080007fff8000", "0x484480017fff8000", @@ -4974,7 +4974,7 @@ "0x48127feb7fff8000", "0x48127fef7fff8000", "0x1104800180018000", - "0x163f", + "0x168b", "0x20680017fff7ffd", "0xd", "0x40780017fff7fff", @@ -5089,7 +5089,7 @@ "0x480a7ffc7fff8000", "0x480a7ffd7fff8000", "0x1104800180018000", - "0x168f", + "0x16db", "0x20680017fff7ffc", "0x63", "0x48307ffa80007ffb", @@ -5114,9 +5114,9 @@ "0x1", "0x208b7fff7fff7ffe", "0x1104800180018000", - "0x36d8", + "0x3724", "0x482480017fff8000", - "0x36d7", + "0x3723", "0x480080007fff8000", "0x480080007fff8000", "0x484480017fff8000", @@ -5147,7 +5147,7 @@ "0x48127feb7fff8000", "0x48127feb7fff8000", "0x1104800180018000", - "0x1719", + "0x1765", "0x20680017fff7ffd", "0xe", "0x40780017fff7fff", @@ -5282,7 +5282,7 @@ "0x48127ff67fff8000", "0x48127ff67fff8000", "0x1104800180018000", - "0x15ce", + "0x161a", "0x20680017fff7ffc", "0x60", "0x48307ffa80007ffb", @@ -5305,9 +5305,9 @@ "0x1", "0x208b7fff7fff7ffe", "0x1104800180018000", - "0x3619", + "0x3665", "0x482480017fff8000", - "0x3618", + "0x3664", "0x480080007fff8000", "0xa0680017fff8000", "0x9", @@ -5462,9 +5462,9 @@ "0x1", "0x208b7fff7fff7ffe", "0x1104800180018000", - "0x357c", + "0x35c8", "0x482480017fff8000", - "0x357b", + "0x35c7", "0x480080007fff8000", "0x480080027fff8000", "0x482480017fff8000", @@ -5485,7 +5485,7 @@ "0x48127ffd7fff8000", "0x480a7ffb7fff8000", "0x1104800180018000", - "0x16e9", + "0x1735", "0x20680017fff7ffd", "0xd", "0x40780017fff7fff", @@ -5594,9 +5594,9 @@ "0x1", "0x208b7fff7fff7ffe", "0x1104800180018000", - "0x34f8", + "0x3544", "0x482480017fff8000", - "0x34f7", + "0x3543", "0x480080007fff8000", "0x480080007fff8000", "0x484480017fff8000", @@ -5620,7 +5620,7 @@ "0x480a7ffb7fff8000", "0x48127ff17fff8000", "0x1104800180018000", - "0x1784", + "0x17d0", "0x20680017fff7ffd", "0xd", "0x40780017fff7fff", @@ -5743,9 +5743,9 @@ "0x1", "0x208b7fff7fff7ffe", "0x1104800180018000", - "0x3463", + "0x34af", "0x482480017fff8000", - "0x3462", + "0x34ae", "0x480080007fff8000", "0xa0680017fff8000", "0x9", @@ -5881,9 +5881,9 @@ "0x1", "0x208b7fff7fff7ffe", "0x1104800180018000", - "0x33d9", + "0x3425", "0x482480017fff8000", - "0x33d8", + "0x3424", "0x480080007fff8000", "0x480080047fff8000", "0x484480017fff8000", @@ -5911,7 +5911,7 @@ "0x480a7ff77fff8000", "0x48127ffb7fff8000", "0x1104800180018000", - "0x178f", + "0x17db", "0x20680017fff7ffd", "0xf", "0x40780017fff7fff", @@ -6007,9 +6007,9 @@ "0x1", "0x208b7fff7fff7ffe", "0x1104800180018000", - "0x335b", + "0x33a7", "0x482480017fff8000", - "0x335a", + "0x33a6", "0x480080007fff8000", "0xa0680017fff8000", "0x9", @@ -6025,14 +6025,14 @@ "0x400080007ff87fff", "0x480a7ff97fff8000", "0x1104800180018000", - "0x18ef", + "0x193b", "0x482480017fe88000", "0x1", "0x20680017fff7ffc", "0x17", "0x48127ffb7fff8000", "0x1104800180018000", - "0x18e8", + "0x1934", "0x20680017fff7ffd", "0xd", "0x40780017fff7fff", @@ -6171,9 +6171,9 @@ "0x1", "0x208b7fff7fff7ffe", "0x1104800180018000", - "0x32b7", + "0x3303", "0x482480017fff8000", - "0x32b6", + "0x3302", "0x480080007fff8000", "0xa0680017fff8000", "0x9", @@ -6377,9 +6377,9 @@ "0x1", "0x208b7fff7fff7ffe", "0x1104800180018000", - "0x31e9", + "0x3235", "0x482480017fff8000", - "0x31e8", + "0x3234", "0x480080007fff8000", "0xa0680017fff8000", "0x9", @@ -6582,9 +6582,9 @@ "0x1", "0x208b7fff7fff7ffe", "0x1104800180018000", - "0x311c", + "0x3168", "0x482480017fff8000", - "0x311b", + "0x3167", "0x480080007fff8000", "0xa0680017fff8000", "0x9", @@ -6799,7 +6799,7 @@ "0x20680017fff7fff", "0x1c", "0x40780017fff7fff", - "0xc", + "0x14", "0x40780017fff7fff", "0x1", "0x480680017fff8000", @@ -6833,13 +6833,66 @@ "0x20680017fff7fff", "0x4", "0x10780017fff7fff", - "0x51", - "0x4824800180007ffc", + "0xb", + "0x48127ffb7fff8000", + "0x4824800180007ffb", "0x1", + "0x480680017fff8000", + "0x0", + "0x4824800180007ff9", + "0x1", + "0x10780017fff7fff", + "0x8", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x20680017fff7ffe", + "0x95", "0x480080007fff8000", "0x4824800180007fff", "0x454e545259504f494e545f4641494c4544", "0x20680017fff7fff", + "0x80", + "0x48307ffa80007ffb", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x6b", + "0x4824800180007ffa", + "0x1", + "0x4825800180007ffb", + "0x1c4e1062ccac759d9786c18a401086aa7ab90fde340fffd5cbd792d11daa7e7", + "0x480080007ffe8000", + "0x20680017fff7ffe", + "0x18", + "0x4824800180007fff", + "0x454e545259504f494e545f4e4f545f464f554e44", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x16", + "0x40780017fff7fff", + "0x7", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x556e6578706563746564206572726f72", + "0x400080007ffe7fff", + "0x480a7ff77fff8000", + "0x48127fe87fff8000", + "0x48127fe87fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x482480017ff98000", + "0x1", + "0x208b7fff7fff7ffe", + "0x4824800180007fff", + "0x746573745f7265766572745f68656c706572", + "0x20680017fff7fff", "0x3a", "0x480680017fff8000", "0x0", @@ -6847,16 +6900,16 @@ "0x1275130f95dda36bcbb6e9d28796c1d7e10b6e9fd5ed083e0ede4b12f613528", "0x480680017fff8000", "0x53746f7261676552656164", - "0x400080007ff87fff", - "0x400080017ff87ff7", - "0x400080027ff87ffd", - "0x400080037ff87ffe", - "0x480080057ff88000", + "0x400080007ff07fff", + "0x400080017ff07fef", + "0x400080027ff07ffd", + "0x400080037ff07ffe", + "0x480080057ff08000", "0x20680017fff7fff", "0x22", - "0x480080067ff78000", - "0x480080047ff68000", - "0x482480017ff58000", + "0x480080067fef8000", + "0x480080047fee8000", + "0x482480017fed8000", "0x7", "0x20680017fff7ffd", "0xe", @@ -6889,13 +6942,13 @@ "0x40780017fff7fff", "0x5", "0x480a7ff77fff8000", - "0x480080047ff18000", - "0x482480017ff08000", + "0x480080047fe98000", + "0x482480017fe88000", "0x8", "0x480680017fff8000", "0x1", - "0x480080067fee8000", - "0x480080077fed8000", + "0x480080067fe68000", + "0x480080077fe58000", "0x208b7fff7fff7ffe", "0x40780017fff7fff", "0x7", @@ -6905,8 +6958,8 @@ "0x556e6578706563746564206572726f72", "0x400080007ffe7fff", "0x480a7ff77fff8000", - "0x48127ff07fff8000", - "0x48127ff07fff8000", + "0x48127fe87fff8000", + "0x48127fe87fff8000", "0x480680017fff8000", "0x1", "0x48127ffa7fff8000", @@ -6914,15 +6967,47 @@ "0x1", "0x208b7fff7fff7ffe", "0x40780017fff7fff", - "0xa", + "0xb", "0x40780017fff7fff", "0x1", "0x480680017fff8000", "0x4f7074696f6e3a3a756e77726170206661696c65642e", "0x400080007ffe7fff", "0x480a7ff77fff8000", - "0x48127ff07fff8000", - "0x48127ff07fff8000", + "0x48127fe87fff8000", + "0x48127fe87fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x482480017ff98000", + "0x1", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0xc", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x556e6578706563746564206572726f72", + "0x400080007ffe7fff", + "0x480a7ff77fff8000", + "0x48127fe87fff8000", + "0x48127fe87fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x482480017ff98000", + "0x1", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0xe", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x4f7074696f6e3a3a756e77726170206661696c65642e", + "0x400080007ffe7fff", + "0x480a7ff77fff8000", + "0x48127fe87fff8000", + "0x48127fe87fff8000", "0x480680017fff8000", "0x1", "0x48127ffa7fff8000", @@ -6947,7 +7032,7 @@ "0x400280057ffc7ffe", "0x480280077ffc8000", "0x20680017fff7fff", - "0x62", + "0x59", "0x480280067ffc8000", "0x480680017fff8000", "0x5265706c616365436c617373", @@ -6956,7 +7041,7 @@ "0x4003800a7ffc7ffd", "0x4802800c7ffc8000", "0x20680017fff7fff", - "0x4e", + "0x45", "0x4802800b7ffc8000", "0x480680017fff8000", "0x11", @@ -6969,7 +7054,7 @@ "0x400280117ffc7ff7", "0x480280137ffc8000", "0x20680017fff7fff", - "0x36", + "0x2d", "0x480280127ffc8000", "0x480680017fff8000", "0x0", @@ -6986,33 +7071,24 @@ "0x400280187ffc7ffe", "0x4802801a7ffc8000", "0x20680017fff7fff", - "0x1a", + "0x11", "0x40780017fff7fff", "0x1", "0x480680017fff8000", - "0x46a6158a16a947e5916b2a2ca68501a45e93d7110e81aa2d6438b1c57c879a3", - "0x400080007ffe7fff", - "0x480680017fff8000", - "0x0", - "0x400080017ffd7fff", - "0x480680017fff8000", "0x746573745f7265766572745f68656c706572", - "0x400080027ffc7fff", - "0x480680017fff8000", - "0x12", - "0x400080037ffb7fff", + "0x400080007ffe7fff", "0x480a7ffa7fff8000", "0x480280197ffc8000", "0x482680017ffc8000", "0x1b", "0x480680017fff8000", "0x1", - "0x48127ff77fff8000", - "0x482480017ff68000", - "0x4", + "0x48127ffa7fff8000", + "0x482480017ff98000", + "0x1", "0x208b7fff7fff7ffe", "0x40780017fff7fff", - "0x5", + "0x2", "0x480a7ffa7fff8000", "0x480280197ffc8000", "0x482680017ffc8000", @@ -7023,7 +7099,7 @@ "0x4802801c7ffc8000", "0x208b7fff7fff7ffe", "0x40780017fff7fff", - "0xb", + "0x8", "0x480a7ffa7fff8000", "0x480280127ffc8000", "0x482680017ffc8000", @@ -7034,7 +7110,7 @@ "0x480280157ffc8000", "0x208b7fff7fff7ffe", "0x40780017fff7fff", - "0xf", + "0xc", "0x480a7ffa7fff8000", "0x4802800b7ffc8000", "0x482680017ffc8000", @@ -7045,7 +7121,7 @@ "0x4802800e7ffc8000", "0x208b7fff7fff7ffe", "0x40780017fff7fff", - "0x12", + "0xf", "0x480a7ffa7fff8000", "0x480280067ffc8000", "0x482680017ffc8000", @@ -19191,8 +19267,8 @@ 250, 187, 92, - 142, - 126, + 227, + 117, 106, 205, 1205, @@ -20067,7 +20143,7 @@ { "TestLessThanOrEqual": { "lhs": { - "Immediate": "0x602c" + "Immediate": "0x65a4" }, "rhs": { "Deref": { @@ -20282,7 +20358,7 @@ { "TestLessThanOrEqual": { "lhs": { - "Immediate": "0x9e66" + "Immediate": "0x9c0e" }, "rhs": { "Deref": { @@ -24866,14 +24942,27 @@ ] ], [ - 6849, + 6874, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 6902, [ { "SystemCall": { "system": { "Deref": { "register": "AP", - "offset": -8 + "offset": -16 } } } @@ -24881,7 +24970,7 @@ ] ], [ - 6870, + 6923, [ { "AllocSegment": { @@ -24894,7 +24983,7 @@ ] ], [ - 6897, + 6950, [ { "AllocSegment": { @@ -24907,7 +24996,7 @@ ] ], [ - 6913, + 6966, [ { "AllocSegment": { @@ -24920,7 +25009,7 @@ ] ], [ - 6927, + 6982, [ { "AllocSegment": { @@ -24933,7 +25022,33 @@ ] ], [ - 6943, + 6998, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 7012, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 7028, [ { "SystemCall": { @@ -24948,7 +25063,7 @@ ] ], [ - 6952, + 7037, [ { "SystemCall": { @@ -24969,7 +25084,7 @@ ] ], [ - 6965, + 7050, [ { "SystemCall": { @@ -24990,7 +25105,7 @@ ] ], [ - 6982, + 7067, [ { "SystemCall": { @@ -25011,7 +25126,7 @@ ] ], [ - 6985, + 7070, [ { "AllocSegment": { @@ -25024,7 +25139,7 @@ ] ], [ - 7053, + 7129, [ { "TestLessThanOrEqual": { @@ -25046,7 +25161,7 @@ ] ], [ - 7078, + 7154, [ { "SystemCall": { @@ -25061,7 +25176,7 @@ ] ], [ - 7086, + 7162, [ { "TestLessThan": { @@ -25092,7 +25207,7 @@ ] ], [ - 7111, + 7187, [ { "AllocSegment": { @@ -25105,7 +25220,7 @@ ] ], [ - 7144, + 7220, [ { "AllocSegment": { @@ -25118,7 +25233,7 @@ ] ], [ - 7181, + 7257, [ { "TestLessThan": { @@ -25146,7 +25261,7 @@ ] ], [ - 7185, + 7261, [ { "LinearSplit": { @@ -25175,7 +25290,7 @@ ] ], [ - 7227, + 7303, [ { "TestLessThan": { @@ -25203,7 +25318,7 @@ ] ], [ - 7231, + 7307, [ { "LinearSplit": { @@ -25232,7 +25347,7 @@ ] ], [ - 7272, + 7348, [ { "TestLessThan": { @@ -25254,7 +25369,7 @@ ] ], [ - 7276, + 7352, [ { "LinearSplit": { @@ -25283,7 +25398,7 @@ ] ], [ - 7286, + 7362, [ { "LinearSplit": { @@ -25312,7 +25427,7 @@ ] ], [ - 7410, + 7486, [ { "TestLessThan": { @@ -25334,7 +25449,7 @@ ] ], [ - 7414, + 7490, [ { "LinearSplit": { @@ -25363,7 +25478,7 @@ ] ], [ - 7424, + 7500, [ { "LinearSplit": { @@ -25392,7 +25507,7 @@ ] ], [ - 7456, + 7532, [ { "TestLessThan": { @@ -25414,7 +25529,7 @@ ] ], [ - 7458, + 7534, [ { "DivMod": { @@ -25440,7 +25555,7 @@ ] ], [ - 7578, + 7654, [ { "AllocSegment": { @@ -25453,7 +25568,7 @@ ] ], [ - 7692, + 7768, [ { "TestLessThan": { @@ -25475,7 +25590,7 @@ ] ], [ - 7694, + 7770, [ { "DivMod": { @@ -25501,7 +25616,7 @@ ] ], [ - 7747, + 7823, [ { "TestLessThan": { @@ -25529,7 +25644,7 @@ ] ], [ - 7751, + 7827, [ { "LinearSplit": { @@ -25558,7 +25673,7 @@ ] ], [ - 7793, + 7869, [ { "TestLessThan": { @@ -25586,7 +25701,7 @@ ] ], [ - 7797, + 7873, [ { "LinearSplit": { @@ -25615,7 +25730,7 @@ ] ], [ - 8575, + 8651, [ { "SystemCall": { @@ -25630,7 +25745,7 @@ ] ], [ - 8808, + 8884, [ { "AllocSegment": { @@ -25643,7 +25758,7 @@ ] ], [ - 8822, + 8898, [ { "AllocSegment": { @@ -25656,7 +25771,7 @@ ] ], [ - 8836, + 8912, [ { "AllocSegment": { @@ -25669,7 +25784,7 @@ ] ], [ - 8900, + 8976, [ { "AllocSegment": { @@ -25682,7 +25797,7 @@ ] ], [ - 8914, + 8990, [ { "AllocSegment": { @@ -25695,7 +25810,7 @@ ] ], [ - 8937, + 9013, [ { "AllocSegment": { @@ -25708,7 +25823,7 @@ ] ], [ - 8961, + 9037, [ { "SystemCall": { @@ -25723,7 +25838,7 @@ ] ], [ - 8964, + 9040, [ { "AllocSegment": { @@ -25736,7 +25851,7 @@ ] ], [ - 8980, + 9056, [ { "SystemCall": { @@ -25757,7 +25872,7 @@ ] ], [ - 9017, + 9093, [ { "GetSegmentArenaIndex": { @@ -25776,7 +25891,7 @@ ] ], [ - 9058, + 9134, [ { "AllocSegment": { @@ -25789,7 +25904,7 @@ ] ], [ - 9066, + 9142, [ { "InitSquashData": { @@ -25824,7 +25939,7 @@ ] ], [ - 9085, + 9161, [ { "GetCurrentAccessIndex": { @@ -25839,7 +25954,7 @@ ] ], [ - 9098, + 9174, [ { "ShouldSkipSquashLoop": { @@ -25852,7 +25967,7 @@ ] ], [ - 9100, + 9176, [ { "GetCurrentAccessDelta": { @@ -25865,7 +25980,7 @@ ] ], [ - 9111, + 9187, [ { "ShouldContinueSquashLoop": { @@ -25878,7 +25993,7 @@ ] ], [ - 9125, + 9201, [ { "GetNextDictKey": { @@ -25891,7 +26006,7 @@ ] ], [ - 9144, + 9220, [ { "AssertLeFindSmallArcs": { @@ -25924,7 +26039,7 @@ ] ], [ - 9156, + 9232, [ { "AssertLeIsFirstArcExcluded": { @@ -25937,7 +26052,7 @@ ] ], [ - 9168, + 9244, [ { "AssertLeIsSecondArcExcluded": { @@ -25950,7 +26065,7 @@ ] ], [ - 9199, + 9275, [ { "AllocSegment": { @@ -25963,7 +26078,7 @@ ] ], [ - 9207, + 9283, [ { "AllocSegment": { @@ -25976,7 +26091,7 @@ ] ], [ - 9238, + 9314, [ { "SystemCall": { @@ -25991,7 +26106,7 @@ ] ], [ - 9252, + 9328, [ { "AllocSegment": { @@ -26004,7 +26119,7 @@ ] ], [ - 9272, + 9348, [ { "AllocSegment": { @@ -26017,7 +26132,7 @@ ] ], [ - 9286, + 9362, [ { "AllocSegment": { @@ -26030,7 +26145,7 @@ ] ], [ - 9300, + 9376, [ { "SystemCall": { @@ -26045,7 +26160,7 @@ ] ], [ - 9303, + 9379, [ { "AllocSegment": { @@ -26058,7 +26173,7 @@ ] ], [ - 9326, + 9402, [ { "TestLessThan": { @@ -26083,7 +26198,7 @@ ] ], [ - 9354, + 9430, [ { "AllocSegment": { @@ -26096,7 +26211,7 @@ ] ], [ - 9368, + 9444, [ { "AllocSegment": { @@ -26109,7 +26224,7 @@ ] ], [ - 9411, + 9487, [ { "AllocSegment": { @@ -26122,7 +26237,7 @@ ] ], [ - 9450, + 9526, [ { "AllocSegment": { @@ -26135,7 +26250,7 @@ ] ], [ - 9510, + 9586, [ { "SystemCall": { @@ -26150,7 +26265,7 @@ ] ], [ - 9520, + 9596, [ { "AllocSegment": { @@ -26163,7 +26278,7 @@ ] ], [ - 9551, + 9627, [ { "SystemCall": { @@ -26178,7 +26293,7 @@ ] ], [ - 9554, + 9630, [ { "AllocSegment": { @@ -26191,7 +26306,7 @@ ] ], [ - 9578, + 9654, [ { "TestLessThan": { @@ -26216,7 +26331,7 @@ ] ], [ - 9612, + 9688, [ { "SystemCall": { @@ -26231,7 +26346,7 @@ ] ], [ - 9627, + 9703, [ { "SystemCall": { @@ -26246,7 +26361,7 @@ ] ], [ - 9673, + 9749, [ { "AllocSegment": { @@ -26259,7 +26374,7 @@ ] ], [ - 9692, + 9768, [ { "DivMod": { @@ -26288,7 +26403,7 @@ ] ], [ - 9698, + 9774, [ { "TestLessThan": { @@ -26310,7 +26425,7 @@ ] ], [ - 9749, + 9825, [ { "AllocSegment": { @@ -26323,7 +26438,7 @@ ] ], [ - 9780, + 9856, [ { "AllocSegment": { @@ -26336,7 +26451,7 @@ ] ], [ - 9805, + 9881, [ { "AllocSegment": { @@ -26349,7 +26464,7 @@ ] ], [ - 9820, + 9896, [ { "AllocSegment": { @@ -26362,7 +26477,7 @@ ] ], [ - 9862, + 9938, [ { "SystemCall": { @@ -26377,7 +26492,7 @@ ] ], [ - 9874, + 9950, [ { "AllocSegment": { @@ -26390,7 +26505,7 @@ ] ], [ - 9904, + 9980, [ { "SystemCall": { @@ -26405,7 +26520,7 @@ ] ], [ - 9909, + 9985, [ { "AllocSegment": { @@ -26418,7 +26533,7 @@ ] ], [ - 9932, + 10008, [ { "TestLessThan": { @@ -26443,7 +26558,7 @@ ] ], [ - 9966, + 10042, [ { "SystemCall": { @@ -26458,7 +26573,7 @@ ] ], [ - 9981, + 10057, [ { "SystemCall": { @@ -26473,7 +26588,7 @@ ] ], [ - 10029, + 10105, [ { "AllocSegment": { @@ -26486,7 +26601,7 @@ ] ], [ - 10047, + 10123, [ { "DivMod": { @@ -26515,7 +26630,7 @@ ] ], [ - 10053, + 10129, [ { "TestLessThan": { @@ -26537,7 +26652,7 @@ ] ], [ - 10082, + 10158, [ { "SystemCall": { @@ -26552,7 +26667,7 @@ ] ], [ - 10132, + 10208, [ { "AllocSegment": { @@ -26565,7 +26680,7 @@ ] ], [ - 10170, + 10246, [ { "AllocSegment": { @@ -26578,7 +26693,7 @@ ] ], [ - 10197, + 10273, [ { "AllocSegment": { @@ -26591,7 +26706,7 @@ ] ], [ - 10213, + 10289, [ { "AllocSegment": { @@ -26604,7 +26719,7 @@ ] ], [ - 10239, + 10315, [ { "TestLessThanOrEqual": { @@ -26626,7 +26741,7 @@ ] ], [ - 10253, + 10329, [ { "TestLessThan": { @@ -26648,7 +26763,7 @@ ] ], [ - 10328, + 10404, [ { "TestLessThan": { @@ -26670,7 +26785,7 @@ ] ], [ - 10332, + 10408, [ { "LinearSplit": { @@ -26699,7 +26814,7 @@ ] ], [ - 10342, + 10418, [ { "LinearSplit": { @@ -26728,7 +26843,7 @@ ] ], [ - 10360, + 10436, [ { "SystemCall": { @@ -26743,7 +26858,7 @@ ] ], [ - 10378, + 10454, [ { "AllocSegment": { @@ -26756,7 +26871,7 @@ ] ], [ - 10397, + 10473, [ { "TestLessThan": { @@ -26778,7 +26893,7 @@ ] ], [ - 10401, + 10477, [ { "LinearSplit": { @@ -26807,7 +26922,7 @@ ] ], [ - 10411, + 10487, [ { "LinearSplit": { @@ -26836,7 +26951,7 @@ ] ], [ - 10429, + 10505, [ { "SystemCall": { @@ -26851,7 +26966,7 @@ ] ], [ - 10447, + 10523, [ { "AllocSegment": { @@ -26864,7 +26979,7 @@ ] ], [ - 10478, + 10554, [ { "AllocSegment": { @@ -26877,7 +26992,7 @@ ] ], [ - 10502, + 10578, [ { "AllocSegment": { @@ -26890,7 +27005,7 @@ ] ], [ - 10516, + 10592, [ { "AllocSegment": { @@ -26903,7 +27018,7 @@ ] ], [ - 10530, + 10606, [ { "AllocSegment": { @@ -26916,7 +27031,7 @@ ] ], [ - 10544, + 10620, [ { "AllocSegment": { @@ -26929,7 +27044,7 @@ ] ], [ - 10559, + 10635, [ { "AllocSegment": { @@ -26942,7 +27057,7 @@ ] ], [ - 10574, + 10650, [ { "TestLessThanOrEqual": { @@ -26964,7 +27079,7 @@ ] ], [ - 10588, + 10664, [ { "AllocSegment": { @@ -26977,7 +27092,7 @@ ] ], [ - 10608, + 10684, [ { "AllocSegment": { @@ -26990,7 +27105,7 @@ ] ], [ - 10622, + 10698, [ { "TestLessThanOrEqual": { @@ -27012,7 +27127,7 @@ ] ], [ - 10652, + 10728, [ { "AllocSegment": { @@ -27025,7 +27140,7 @@ ] ], [ - 10671, + 10747, [ { "TestLessThan": { @@ -27047,7 +27162,7 @@ ] ], [ - 10675, + 10751, [ { "LinearSplit": { @@ -27076,7 +27191,7 @@ ] ], [ - 10686, + 10762, [ { "LinearSplit": { @@ -27105,7 +27220,7 @@ ] ], [ - 10712, + 10788, [ { "SystemCall": { @@ -27120,7 +27235,7 @@ ] ], [ - 10727, + 10803, [ { "SystemCall": { @@ -27141,7 +27256,7 @@ ] ], [ - 10735, + 10811, [ { "TestLessThan": { @@ -27163,7 +27278,7 @@ ] ], [ - 10739, + 10815, [ { "LinearSplit": { @@ -27192,7 +27307,7 @@ ] ], [ - 10750, + 10826, [ { "LinearSplit": { @@ -27221,7 +27336,7 @@ ] ], [ - 10780, + 10856, [ { "SystemCall": { @@ -27242,7 +27357,7 @@ ] ], [ - 10796, + 10872, [ { "SystemCall": { @@ -27263,7 +27378,7 @@ ] ], [ - 10904, + 10980, [ { "TestLessThan": { @@ -27285,7 +27400,7 @@ ] ], [ - 10906, + 10982, [ { "DivMod": { @@ -27311,7 +27426,7 @@ ] ], [ - 10951, + 11027, [ { "TestLessThan": { @@ -27333,7 +27448,7 @@ ] ], [ - 10953, + 11029, [ { "DivMod": { @@ -27359,7 +27474,7 @@ ] ], [ - 11062, + 11138, [ { "TestLessThan": { @@ -27381,7 +27496,7 @@ ] ], [ - 11066, + 11142, [ { "LinearSplit": { @@ -27410,7 +27525,7 @@ ] ], [ - 11077, + 11153, [ { "LinearSplit": { @@ -27439,7 +27554,7 @@ ] ], [ - 11103, + 11179, [ { "SystemCall": { @@ -27454,7 +27569,7 @@ ] ], [ - 11118, + 11194, [ { "SystemCall": { @@ -27475,7 +27590,7 @@ ] ], [ - 11125, + 11201, [ { "TestLessThan": { @@ -27497,7 +27612,7 @@ ] ], [ - 11127, + 11203, [ { "DivMod": { @@ -27523,7 +27638,7 @@ ] ], [ - 11148, + 11224, [ { "TestLessThan": { @@ -27545,7 +27660,7 @@ ] ], [ - 11150, + 11226, [ { "DivMod": { @@ -27571,7 +27686,7 @@ ] ], [ - 11180, + 11256, [ { "TestLessThan": { @@ -27593,7 +27708,7 @@ ] ], [ - 11184, + 11260, [ { "LinearSplit": { @@ -27622,7 +27737,7 @@ ] ], [ - 11195, + 11271, [ { "LinearSplit": { @@ -27651,7 +27766,7 @@ ] ], [ - 11226, + 11302, [ { "SystemCall": { @@ -27666,7 +27781,7 @@ ] ], [ - 11241, + 11317, [ { "SystemCall": { @@ -27687,7 +27802,7 @@ ] ], [ - 11285, + 11361, [ { "AllocSegment": { @@ -27700,7 +27815,7 @@ ] ], [ - 11304, + 11380, [ { "AllocSegment": { @@ -27713,7 +27828,7 @@ ] ], [ - 11386, + 11462, [ { "RandomEcPoint": { @@ -27741,7 +27856,7 @@ ] ], [ - 11450, + 11526, [ { "RandomEcPoint": { @@ -27769,7 +27884,7 @@ ] ], [ - 11520, + 11596, [ { "AllocSegment": { @@ -27782,7 +27897,7 @@ ] ], [ - 11546, + 11622, [ { "SystemCall": { @@ -27797,7 +27912,7 @@ ] ], [ - 11563, + 11639, [ { "SystemCall": { @@ -27818,7 +27933,7 @@ ] ], [ - 11605, + 11681, [ { "AllocSegment": { @@ -27831,7 +27946,7 @@ ] ], [ - 11622, + 11698, [ { "AllocSegment": { @@ -27844,7 +27959,7 @@ ] ], [ - 11641, + 11717, [ { "SystemCall": { @@ -27859,7 +27974,7 @@ ] ], [ - 11651, + 11727, [ { "TestLessThan": { @@ -27881,7 +27996,7 @@ ] ], [ - 11655, + 11731, [ { "LinearSplit": { @@ -27910,7 +28025,7 @@ ] ], [ - 11666, + 11742, [ { "LinearSplit": { @@ -27939,7 +28054,7 @@ ] ], [ - 11710, + 11786, [ { "SystemCall": { @@ -27960,7 +28075,7 @@ ] ], [ - 11725, + 11801, [ { "SystemCall": { @@ -27981,7 +28096,7 @@ ] ], [ - 11735, + 11811, [ { "TestLessThan": { @@ -28006,7 +28121,7 @@ ] ], [ - 11750, + 11826, [ { "TestLessThan": { @@ -28031,7 +28146,7 @@ ] ], [ - 11766, + 11842, [ { "TestLessThan": { @@ -28053,7 +28168,7 @@ ] ], [ - 11770, + 11846, [ { "LinearSplit": { @@ -28082,7 +28197,7 @@ ] ], [ - 11781, + 11857, [ { "LinearSplit": { @@ -28111,7 +28226,7 @@ ] ], [ - 11810, + 11886, [ { "SystemCall": { @@ -28126,7 +28241,7 @@ ] ], [ - 11826, + 11902, [ { "SystemCall": { @@ -28147,7 +28262,7 @@ ] ], [ - 11868, + 11944, [ { "AllocSegment": { @@ -28160,7 +28275,7 @@ ] ], [ - 11886, + 11962, [ { "AllocSegment": { @@ -28173,7 +28288,7 @@ ] ], [ - 11988, + 12064, [ { "AllocSegment": { @@ -28186,7 +28301,7 @@ ] ], [ - 12063, + 12139, [ { "EvalCircuit": { @@ -28219,7 +28334,7 @@ ] ], [ - 12120, + 12196, [ { "AllocSegment": { @@ -28232,7 +28347,7 @@ ] ], [ - 12176, + 12252, [ { "AllocSegment": { @@ -28245,7 +28360,7 @@ ] ], [ - 12269, + 12345, [ { "AllocSegment": { @@ -28258,7 +28373,7 @@ ] ], [ - 12290, + 12366, [ { "AllocSegment": { @@ -28271,7 +28386,7 @@ ] ], [ - 12361, + 12437, [ { "AllocSegment": { @@ -28284,7 +28399,7 @@ ] ], [ - 12389, + 12465, [ { "AllocSegment": { @@ -28297,7 +28412,7 @@ ] ], [ - 12460, + 12536, [ { "TestLessThan": { @@ -28325,7 +28440,7 @@ ] ], [ - 12464, + 12540, [ { "LinearSplit": { @@ -28354,7 +28469,7 @@ ] ], [ - 12486, + 12562, [ { "TestLessThanOrEqual": { @@ -28379,7 +28494,7 @@ ] ], [ - 12500, + 12576, [ { "TestLessThan": { @@ -28401,7 +28516,7 @@ ] ], [ - 12510, + 12586, [ { "TestLessThanOrEqual": { @@ -28426,7 +28541,7 @@ ] ], [ - 12533, + 12609, [ { "AllocSegment": { @@ -28439,7 +28554,7 @@ ] ], [ - 12554, + 12630, [ { "AllocSegment": { @@ -28452,7 +28567,7 @@ ] ], [ - 12575, + 12651, [ { "AllocSegment": { @@ -28465,7 +28580,7 @@ ] ], [ - 12623, + 12699, [ { "TestLessThanOrEqual": { @@ -28487,7 +28602,7 @@ ] ], [ - 12683, + 12759, [ { "AllocSegment": { @@ -28500,7 +28615,7 @@ ] ], [ - 12703, + 12779, [ { "TestLessThanOrEqual": { @@ -28522,7 +28637,7 @@ ] ], [ - 12782, + 12858, [ { "AllocSegment": { @@ -28535,7 +28650,7 @@ ] ], [ - 12812, + 12888, [ { "AllocSegment": { @@ -28548,7 +28663,7 @@ ] ], [ - 12832, + 12908, [ { "TestLessThanOrEqual": { @@ -28570,7 +28685,7 @@ ] ], [ - 12933, + 13009, [ { "AllocSegment": { @@ -28583,7 +28698,7 @@ ] ], [ - 12963, + 13039, [ { "AllocSegment": { @@ -28596,7 +28711,7 @@ ] ], [ - 12983, + 13059, [ { "TestLessThanOrEqual": { @@ -28618,7 +28733,7 @@ ] ], [ - 13054, + 13130, [ { "AllocSegment": { @@ -28631,7 +28746,7 @@ ] ], [ - 13075, + 13151, [ { "DivMod": { @@ -28660,7 +28775,7 @@ ] ], [ - 13133, + 13209, [ { "AllocSegment": { @@ -28673,7 +28788,7 @@ ] ], [ - 13186, + 13262, [ { "AllocSegment": { @@ -28686,7 +28801,7 @@ ] ], [ - 13199, + 13275, [ { "DivMod": { @@ -28715,7 +28830,7 @@ ] ], [ - 13207, + 13283, [ { "TestLessThan": { @@ -28746,7 +28861,7 @@ ] ], [ - 13224, + 13300, [ { "AllocSegment": { @@ -28759,7 +28874,7 @@ ] ], [ - 13256, + 13332, [ { "TestLessThan": { @@ -28781,7 +28896,7 @@ ] ], [ - 13273, + 13349, [ { "AllocSegment": { @@ -28794,7 +28909,7 @@ ] ], [ - 13289, + 13365, [ { "TestLessThan": { @@ -28825,7 +28940,7 @@ ] ], [ - 13311, + 13387, [ { "AllocSegment": { @@ -28838,7 +28953,7 @@ ] ], [ - 13368, + 13444, [ { "DivMod": { @@ -28867,7 +28982,7 @@ ] ], [ - 13377, + 13453, [ { "TestLessThan": { @@ -28889,7 +29004,7 @@ ] ], [ - 13387, + 13463, [ { "TestLessThan": { @@ -28920,7 +29035,7 @@ ] ], [ - 13409, + 13485, [ { "AllocSegment": { @@ -28933,7 +29048,7 @@ ] ], [ - 13424, + 13500, [ { "AllocSegment": { @@ -28946,7 +29061,7 @@ ] ], [ - 13449, + 13525, [ { "TestLessThan": { @@ -28977,7 +29092,7 @@ ] ], [ - 13463, + 13539, [ { "DivMod": { @@ -29006,7 +29121,7 @@ ] ], [ - 13480, + 13556, [ { "TestLessThan": { @@ -29028,7 +29143,7 @@ ] ], [ - 13492, + 13568, [ { "TestLessThan": { @@ -29050,7 +29165,7 @@ ] ], [ - 13502, + 13578, [ { "TestLessThan": { @@ -29081,7 +29196,7 @@ ] ], [ - 13525, + 13601, [ { "AllocSegment": { @@ -29094,7 +29209,7 @@ ] ], [ - 13540, + 13616, [ { "AllocSegment": { @@ -29107,7 +29222,7 @@ ] ], [ - 13555, + 13631, [ { "AllocSegment": { @@ -29120,7 +29235,7 @@ ] ], [ - 13570, + 13646, [ { "AllocSegment": { @@ -29133,7 +29248,7 @@ ] ], [ - 13583, + 13659, [ { "TestLessThanOrEqual": { @@ -29155,7 +29270,7 @@ ] ], [ - 13593, + 13669, [ { "TestLessThanOrEqualAddress": { @@ -29186,7 +29301,7 @@ ] ], [ - 13630, + 13706, [ { "SystemCall": { @@ -29201,7 +29316,7 @@ ] ], [ - 13663, + 13739, [ { "AllocSegment": { @@ -29214,7 +29329,7 @@ ] ], [ - 13697, + 13773, [ { "TestLessThan": { @@ -29236,7 +29351,7 @@ ] ], [ - 13719, + 13795, [ { "TestLessThan": { @@ -29258,7 +29373,7 @@ ] ], [ - 13756, + 13832, [ { "TestLessThan": { @@ -29280,7 +29395,7 @@ ] ], [ - 13778, + 13854, [ { "TestLessThan": { @@ -29302,7 +29417,7 @@ ] ], [ - 13854, + 13930, [ { "AllocSegment": { @@ -29315,7 +29430,7 @@ ] ], [ - 13919, + 13995, [ { "TestLessThan": { @@ -29337,7 +29452,7 @@ ] ], [ - 13943, + 14019, [ { "TestLessThan": { @@ -29359,7 +29474,7 @@ ] ], [ - 13984, + 14060, [ { "TestLessThan": { @@ -29381,7 +29496,7 @@ ] ], [ - 14010, + 14086, [ { "TestLessThan": { @@ -29403,7 +29518,7 @@ ] ], [ - 14054, + 14130, [ { "U256InvModN": { @@ -29460,7 +29575,7 @@ ] ], [ - 14072, + 14148, [ { "WideMul128": { @@ -29657,7 +29772,7 @@ ] ], [ - 14125, + 14201, [ { "WideMul128": { @@ -29710,7 +29825,7 @@ ] ], [ - 14129, + 14205, [ { "TestLessThan": { @@ -29732,7 +29847,7 @@ ] ], [ - 14143, + 14219, [ { "TestLessThan": { @@ -29754,7 +29869,7 @@ ] ], [ - 14156, + 14232, [ { "DivMod": { @@ -29780,7 +29895,7 @@ ] ], [ - 14166, + 14242, [ { "DivMod": { @@ -29806,7 +29921,7 @@ ] ], [ - 14177, + 14253, [ { "DivMod": { @@ -29832,7 +29947,7 @@ ] ], [ - 14186, + 14262, [ { "DivMod": { @@ -29858,7 +29973,7 @@ ] ], [ - 14196, + 14272, [ { "DivMod": { @@ -29884,7 +29999,7 @@ ] ], [ - 14207, + 14283, [ { "DivMod": { @@ -29910,7 +30025,7 @@ ] ], [ - 14216, + 14292, [ { "DivMod": { @@ -29936,7 +30051,7 @@ ] ], [ - 14226, + 14302, [ { "DivMod": { @@ -29962,7 +30077,7 @@ ] ], [ - 14237, + 14313, [ { "DivMod": { @@ -29988,7 +30103,7 @@ ] ], [ - 14246, + 14322, [ { "DivMod": { @@ -30014,7 +30129,7 @@ ] ], [ - 14256, + 14332, [ { "DivMod": { @@ -30040,7 +30155,7 @@ ] ], [ - 14267, + 14343, [ { "DivMod": { @@ -30066,7 +30181,7 @@ ] ], [ - 14276, + 14352, [ { "DivMod": { @@ -30092,7 +30207,7 @@ ] ], [ - 14286, + 14362, [ { "DivMod": { @@ -30118,7 +30233,7 @@ ] ], [ - 14297, + 14373, [ { "DivMod": { @@ -30144,7 +30259,7 @@ ] ], [ - 14306, + 14382, [ { "DivMod": { @@ -30170,7 +30285,7 @@ ] ], [ - 14316, + 14392, [ { "DivMod": { @@ -30196,7 +30311,7 @@ ] ], [ - 14327, + 14403, [ { "DivMod": { @@ -30222,7 +30337,7 @@ ] ], [ - 14336, + 14412, [ { "DivMod": { @@ -30248,7 +30363,7 @@ ] ], [ - 14346, + 14422, [ { "DivMod": { @@ -30274,7 +30389,7 @@ ] ], [ - 14357, + 14433, [ { "DivMod": { @@ -30300,7 +30415,7 @@ ] ], [ - 14366, + 14442, [ { "DivMod": { @@ -30326,7 +30441,7 @@ ] ], [ - 14376, + 14452, [ { "DivMod": { @@ -30352,7 +30467,7 @@ ] ], [ - 14387, + 14463, [ { "DivMod": { @@ -30378,7 +30493,7 @@ ] ], [ - 14408, + 14484, [ { "Uint512DivModByUint256": { @@ -30447,7 +30562,7 @@ ] ], [ - 14426, + 14502, [ { "WideMul128": { @@ -30572,7 +30687,7 @@ ] ], [ - 14455, + 14531, [ { "TestLessThan": { @@ -30597,7 +30712,7 @@ ] ], [ - 14467, + 14543, [ { "TestLessThan": { @@ -30622,7 +30737,7 @@ ] ], [ - 14482, + 14558, [ { "DivMod": { @@ -30648,7 +30763,7 @@ ] ], [ - 14492, + 14568, [ { "DivMod": { @@ -30674,7 +30789,7 @@ ] ], [ - 14503, + 14579, [ { "DivMod": { @@ -30700,7 +30815,7 @@ ] ], [ - 14512, + 14588, [ { "DivMod": { @@ -30726,7 +30841,7 @@ ] ], [ - 14522, + 14598, [ { "DivMod": { @@ -30752,7 +30867,7 @@ ] ], [ - 14533, + 14609, [ { "DivMod": { @@ -30778,7 +30893,7 @@ ] ], [ - 14542, + 14618, [ { "DivMod": { @@ -30804,7 +30919,7 @@ ] ], [ - 14552, + 14628, [ { "DivMod": { @@ -30830,7 +30945,7 @@ ] ], [ - 14563, + 14639, [ { "DivMod": { @@ -30856,7 +30971,7 @@ ] ], [ - 14572, + 14648, [ { "DivMod": { @@ -30882,7 +30997,7 @@ ] ], [ - 14582, + 14658, [ { "DivMod": { @@ -30908,7 +31023,7 @@ ] ], [ - 14593, + 14669, [ { "DivMod": { @@ -30934,7 +31049,7 @@ ] ], [ - 14602, + 14678, [ { "DivMod": { @@ -30960,7 +31075,7 @@ ] ], [ - 14612, + 14688, [ { "DivMod": { @@ -30986,7 +31101,7 @@ ] ], [ - 14623, + 14699, [ { "DivMod": { @@ -31012,7 +31127,7 @@ ] ], [ - 14644, + 14720, [ { "Uint512DivModByUint256": { @@ -31081,7 +31196,7 @@ ] ], [ - 14662, + 14738, [ { "WideMul128": { @@ -31206,7 +31321,7 @@ ] ], [ - 14691, + 14767, [ { "TestLessThan": { @@ -31231,7 +31346,7 @@ ] ], [ - 14703, + 14779, [ { "TestLessThan": { @@ -31256,7 +31371,7 @@ ] ], [ - 14718, + 14794, [ { "DivMod": { @@ -31282,7 +31397,7 @@ ] ], [ - 14728, + 14804, [ { "DivMod": { @@ -31308,7 +31423,7 @@ ] ], [ - 14739, + 14815, [ { "DivMod": { @@ -31334,7 +31449,7 @@ ] ], [ - 14748, + 14824, [ { "DivMod": { @@ -31360,7 +31475,7 @@ ] ], [ - 14758, + 14834, [ { "DivMod": { @@ -31386,7 +31501,7 @@ ] ], [ - 14769, + 14845, [ { "DivMod": { @@ -31412,7 +31527,7 @@ ] ], [ - 14778, + 14854, [ { "DivMod": { @@ -31438,7 +31553,7 @@ ] ], [ - 14788, + 14864, [ { "DivMod": { @@ -31464,7 +31579,7 @@ ] ], [ - 14799, + 14875, [ { "DivMod": { @@ -31490,7 +31605,7 @@ ] ], [ - 14808, + 14884, [ { "DivMod": { @@ -31516,7 +31631,7 @@ ] ], [ - 14818, + 14894, [ { "DivMod": { @@ -31542,7 +31657,7 @@ ] ], [ - 14829, + 14905, [ { "DivMod": { @@ -31568,7 +31683,7 @@ ] ], [ - 14838, + 14914, [ { "DivMod": { @@ -31594,7 +31709,7 @@ ] ], [ - 14848, + 14924, [ { "DivMod": { @@ -31620,7 +31735,7 @@ ] ], [ - 14859, + 14935, [ { "DivMod": { @@ -31646,7 +31761,7 @@ ] ], [ - 14886, + 14962, [ { "SystemCall": { @@ -31661,7 +31776,7 @@ ] ], [ - 14903, + 14979, [ { "SystemCall": { @@ -31676,7 +31791,7 @@ ] ], [ - 14915, + 14991, [ { "SystemCall": { @@ -31697,7 +31812,7 @@ ] ], [ - 14926, + 15002, [ { "SystemCall": { @@ -31718,7 +31833,7 @@ ] ], [ - 14936, + 15012, [ { "SystemCall": { @@ -31739,7 +31854,7 @@ ] ], [ - 15021, + 15097, [ { "AllocSegment": { @@ -31752,7 +31867,7 @@ ] ], [ - 15050, + 15126, [ { "DivMod": { @@ -31778,7 +31893,7 @@ ] ], [ - 15060, + 15136, [ { "DivMod": { @@ -31804,7 +31919,7 @@ ] ], [ - 15071, + 15147, [ { "DivMod": { @@ -31830,7 +31945,7 @@ ] ], [ - 15080, + 15156, [ { "DivMod": { @@ -31856,7 +31971,7 @@ ] ], [ - 15090, + 15166, [ { "DivMod": { @@ -31882,7 +31997,7 @@ ] ], [ - 15101, + 15177, [ { "DivMod": { @@ -31908,7 +32023,7 @@ ] ], [ - 15110, + 15186, [ { "AllocSegment": { @@ -31921,7 +32036,7 @@ ] ], [ - 15179, + 15255, [ { "TestLessThan": { @@ -31952,7 +32067,7 @@ ] ], [ - 15194, + 15270, [ { "TestLessThan": { @@ -31974,7 +32089,7 @@ ] ], [ - 15213, + 15289, [ { "TestLessThan": { @@ -31996,7 +32111,7 @@ ] ], [ - 15232, + 15308, [ { "TestLessThan": { @@ -32018,7 +32133,7 @@ ] ], [ - 15242, + 15318, [ { "TestLessThan": { @@ -32040,7 +32155,7 @@ ] ], [ - 15244, + 15320, [ { "DivMod": { @@ -32066,7 +32181,7 @@ ] ], [ - 15281, + 15357, [ { "TestLessThan": { @@ -32088,7 +32203,7 @@ ] ], [ - 15300, + 15376, [ { "AllocSegment": { @@ -32101,7 +32216,7 @@ ] ], [ - 15311, + 15387, [ { "DivMod": { @@ -32130,7 +32245,7 @@ ] ], [ - 15317, + 15393, [ { "TestLessThan": { @@ -32152,7 +32267,7 @@ ] ], [ - 15331, + 15407, [ { "TestLessThan": { @@ -32174,7 +32289,7 @@ ] ], [ - 15345, + 15421, [ { "TestLessThan": { @@ -32196,7 +32311,7 @@ ] ], [ - 15356, + 15432, [ { "TestLessThan": { @@ -32218,7 +32333,7 @@ ] ], [ - 15385, + 15461, [ { "AllocSegment": { @@ -32231,7 +32346,7 @@ ] ], [ - 15410, + 15486, [ { "TestLessThan": { @@ -32253,7 +32368,7 @@ ] ], [ - 15414, + 15490, [ { "LinearSplit": { @@ -32282,7 +32397,7 @@ ] ], [ - 15424, + 15500, [ { "LinearSplit": { @@ -32311,7 +32426,7 @@ ] ], [ - 15444, + 15520, [ { "AllocSegment": { @@ -32324,7 +32439,7 @@ ] ], [ - 15465, + 15541, [ { "AllocSegment": { @@ -32337,7 +32452,7 @@ ] ], [ - 15486, + 15562, [ { "AllocSegment": { @@ -32350,7 +32465,7 @@ ] ], [ - 15506, + 15582, [ { "TestLessThan": { @@ -32372,7 +32487,7 @@ ] ], [ - 15508, + 15584, [ { "DivMod": { @@ -32398,7 +32513,7 @@ ] ], [ - 15552, + 15628, [ { "AllocSegment": { @@ -32411,7 +32526,7 @@ ] ], [ - 15563, + 15639, [ { "DivMod": { @@ -32440,7 +32555,7 @@ ] ], [ - 15569, + 15645, [ { "TestLessThan": { @@ -32462,7 +32577,7 @@ ] ], [ - 15583, + 15659, [ { "TestLessThan": { @@ -32484,7 +32599,7 @@ ] ], [ - 15601, + 15677, [ { "TestLessThan": { @@ -32506,7 +32621,7 @@ ] ], [ - 15614, + 15690, [ { "TestLessThan": { @@ -32528,7 +32643,7 @@ ] ], [ - 15625, + 15701, [ { "TestLessThan": { @@ -32550,7 +32665,7 @@ ] ], [ - 15654, + 15730, [ { "AllocSegment": { @@ -32563,7 +32678,7 @@ ] ], [ - 15679, + 15755, [ { "TestLessThan": { @@ -32585,7 +32700,7 @@ ] ], [ - 15683, + 15759, [ { "LinearSplit": { @@ -32614,7 +32729,7 @@ ] ], [ - 15693, + 15769, [ { "LinearSplit": { @@ -32643,7 +32758,7 @@ ] ], [ - 15713, + 15789, [ { "AllocSegment": { @@ -32656,7 +32771,7 @@ ] ], [ - 15734, + 15810, [ { "AllocSegment": { @@ -32669,7 +32784,7 @@ ] ], [ - 15755, + 15831, [ { "AllocSegment": { @@ -32682,7 +32797,7 @@ ] ], [ - 15784, + 15860, [ { "TestLessThan": { @@ -32704,7 +32819,7 @@ ] ], [ - 15786, + 15862, [ { "DivMod": { @@ -32730,7 +32845,7 @@ ] ], [ - 15823, + 15899, [ { "TestLessThan": { @@ -32752,7 +32867,7 @@ ] ], [ - 15834, + 15910, [ { "TestLessThan": { @@ -32774,7 +32889,7 @@ ] ], [ - 15845, + 15921, [ { "TestLessThan": { @@ -32796,7 +32911,7 @@ ] ], [ - 15874, + 15950, [ { "AllocSegment": { @@ -32809,7 +32924,7 @@ ] ], [ - 15899, + 15975, [ { "TestLessThan": { @@ -32831,7 +32946,7 @@ ] ], [ - 15903, + 15979, [ { "LinearSplit": { @@ -32860,7 +32975,7 @@ ] ], [ - 15913, + 15989, [ { "LinearSplit": { @@ -32889,7 +33004,7 @@ ] ], [ - 15939, + 16015, [ { "AllocSegment": { @@ -32902,7 +33017,7 @@ ] ], [ - 15960, + 16036, [ { "AllocSegment": { @@ -32915,7 +33030,7 @@ ] ], [ - 15982, + 16058, [ { "AllocSegment": { @@ -32928,7 +33043,7 @@ ] ], [ - 16004, + 16080, [ { "TestLessThan": { @@ -32950,7 +33065,7 @@ ] ], [ - 16015, + 16091, [ { "TestLessThan": { @@ -32972,7 +33087,7 @@ ] ], [ - 16044, + 16120, [ { "AllocSegment": { @@ -32985,7 +33100,7 @@ ] ], [ - 16069, + 16145, [ { "TestLessThan": { @@ -33007,7 +33122,7 @@ ] ], [ - 16073, + 16149, [ { "LinearSplit": { @@ -33036,7 +33151,7 @@ ] ], [ - 16083, + 16159, [ { "LinearSplit": { @@ -33065,7 +33180,7 @@ ] ], [ - 16106, + 16182, [ { "AllocSegment": { @@ -33078,7 +33193,7 @@ ] ], [ - 16151, + 16227, [ { "TestLessThan": { @@ -33100,7 +33215,7 @@ ] ], [ - 16162, + 16238, [ { "TestLessThan": { @@ -33122,7 +33237,7 @@ ] ], [ - 16191, + 16267, [ { "AllocSegment": { @@ -33135,7 +33250,7 @@ ] ], [ - 16214, + 16290, [ { "TestLessThan": { @@ -33166,7 +33281,7 @@ ] ], [ - 16238, + 16314, [ { "AllocSegment": { @@ -33179,7 +33294,7 @@ ] ], [ - 16282, + 16358, [ { "AllocSegment": { @@ -33192,7 +33307,7 @@ ] ], [ - 16309, + 16385, [ { "TestLessThanOrEqual": { @@ -33214,7 +33329,7 @@ ] ], [ - 16361, + 16437, [ { "AllocSegment": { @@ -33227,7 +33342,7 @@ ] ], [ - 16418, + 16494, [ { "TestLessThan": { @@ -33255,7 +33370,7 @@ ] ], [ - 16422, + 16498, [ { "LinearSplit": { @@ -33284,7 +33399,7 @@ ] ], [ - 16464, + 16540, [ { "TestLessThan": { @@ -33306,7 +33421,7 @@ ] ], [ - 16466, + 16542, [ { "DivMod": { @@ -33332,7 +33447,7 @@ ] ], [ - 16553, + 16629, [ { "DivMod": { @@ -33361,7 +33476,7 @@ ] ], [ - 16559, + 16635, [ { "TestLessThan": { @@ -33383,7 +33498,7 @@ ] ], [ - 16570, + 16646, [ { "TestLessThan": { @@ -33405,7 +33520,7 @@ ] ], [ - 16580, + 16656, [ { "TestLessThan": { @@ -33427,7 +33542,7 @@ ] ], [ - 16594, + 16670, [ { "DivMod": { @@ -33456,7 +33571,7 @@ ] ], [ - 16600, + 16676, [ { "TestLessThan": { @@ -33478,7 +33593,7 @@ ] ], [ - 16614, + 16690, [ { "TestLessThan": { @@ -33500,7 +33615,7 @@ ] ], [ - 16624, + 16700, [ { "TestLessThan": { @@ -33522,7 +33637,7 @@ ] ], [ - 16646, + 16722, [ { "AllocSegment": { @@ -33535,7 +33650,7 @@ ] ], [ - 16660, + 16736, [ { "AllocSegment": { @@ -33548,7 +33663,7 @@ ] ], [ - 16678, + 16754, [ { "AllocSegment": { @@ -33561,7 +33676,7 @@ ] ], [ - 16692, + 16768, [ { "AllocSegment": { @@ -33574,7 +33689,7 @@ ] ], [ - 16708, + 16784, [ { "TestLessThanOrEqual": { @@ -33596,7 +33711,7 @@ ] ], [ - 16735, + 16811, [ { "TestLessThan": { @@ -33618,7 +33733,7 @@ ] ], [ - 16752, + 16828, [ { "AllocSegment": { @@ -33631,7 +33746,7 @@ ] ], [ - 16777, + 16853, [ { "AllocSegment": { @@ -33644,7 +33759,7 @@ ] ], [ - 17037, + 17113, [ { "SystemCall": { @@ -33659,7 +33774,7 @@ ] ], [ - 17063, + 17139, [ { "SystemCall": { @@ -33674,7 +33789,7 @@ ] ], [ - 17077, + 17153, [ { "U256InvModN": { @@ -33731,7 +33846,7 @@ ] ], [ - 17095, + 17171, [ { "WideMul128": { @@ -33928,7 +34043,7 @@ ] ], [ - 17148, + 17224, [ { "WideMul128": { @@ -33981,7 +34096,7 @@ ] ], [ - 17152, + 17228, [ { "TestLessThan": { @@ -34003,7 +34118,7 @@ ] ], [ - 17166, + 17242, [ { "TestLessThan": { @@ -34025,7 +34140,7 @@ ] ], [ - 17179, + 17255, [ { "DivMod": { @@ -34051,7 +34166,7 @@ ] ], [ - 17189, + 17265, [ { "DivMod": { @@ -34077,7 +34192,7 @@ ] ], [ - 17200, + 17276, [ { "DivMod": { @@ -34103,7 +34218,7 @@ ] ], [ - 17209, + 17285, [ { "DivMod": { @@ -34129,7 +34244,7 @@ ] ], [ - 17219, + 17295, [ { "DivMod": { @@ -34155,7 +34270,7 @@ ] ], [ - 17230, + 17306, [ { "DivMod": { @@ -34181,7 +34296,7 @@ ] ], [ - 17239, + 17315, [ { "DivMod": { @@ -34207,7 +34322,7 @@ ] ], [ - 17249, + 17325, [ { "DivMod": { @@ -34233,7 +34348,7 @@ ] ], [ - 17260, + 17336, [ { "DivMod": { @@ -34259,7 +34374,7 @@ ] ], [ - 17269, + 17345, [ { "DivMod": { @@ -34285,7 +34400,7 @@ ] ], [ - 17279, + 17355, [ { "DivMod": { @@ -34311,7 +34426,7 @@ ] ], [ - 17290, + 17366, [ { "DivMod": { @@ -34337,7 +34452,7 @@ ] ], [ - 17299, + 17375, [ { "DivMod": { @@ -34363,7 +34478,7 @@ ] ], [ - 17309, + 17385, [ { "DivMod": { @@ -34389,7 +34504,7 @@ ] ], [ - 17320, + 17396, [ { "DivMod": { @@ -34415,7 +34530,7 @@ ] ], [ - 17329, + 17405, [ { "DivMod": { @@ -34441,7 +34556,7 @@ ] ], [ - 17339, + 17415, [ { "DivMod": { @@ -34467,7 +34582,7 @@ ] ], [ - 17350, + 17426, [ { "DivMod": { @@ -34493,7 +34608,7 @@ ] ], [ - 17359, + 17435, [ { "DivMod": { @@ -34519,7 +34634,7 @@ ] ], [ - 17369, + 17445, [ { "DivMod": { @@ -34545,7 +34660,7 @@ ] ], [ - 17380, + 17456, [ { "DivMod": { @@ -34571,7 +34686,7 @@ ] ], [ - 17389, + 17465, [ { "DivMod": { @@ -34597,7 +34712,7 @@ ] ], [ - 17399, + 17475, [ { "DivMod": { @@ -34623,7 +34738,7 @@ ] ], [ - 17410, + 17486, [ { "DivMod": { @@ -34649,7 +34764,7 @@ ] ], [ - 17431, + 17507, [ { "Uint512DivModByUint256": { @@ -34718,7 +34833,7 @@ ] ], [ - 17449, + 17525, [ { "WideMul128": { @@ -34843,7 +34958,7 @@ ] ], [ - 17478, + 17554, [ { "TestLessThan": { @@ -34868,7 +34983,7 @@ ] ], [ - 17490, + 17566, [ { "TestLessThan": { @@ -34893,7 +35008,7 @@ ] ], [ - 17505, + 17581, [ { "DivMod": { @@ -34919,7 +35034,7 @@ ] ], [ - 17515, + 17591, [ { "DivMod": { @@ -34945,7 +35060,7 @@ ] ], [ - 17526, + 17602, [ { "DivMod": { @@ -34971,7 +35086,7 @@ ] ], [ - 17535, + 17611, [ { "DivMod": { @@ -34997,7 +35112,7 @@ ] ], [ - 17545, + 17621, [ { "DivMod": { @@ -35023,7 +35138,7 @@ ] ], [ - 17556, + 17632, [ { "DivMod": { @@ -35049,7 +35164,7 @@ ] ], [ - 17565, + 17641, [ { "DivMod": { @@ -35075,7 +35190,7 @@ ] ], [ - 17575, + 17651, [ { "DivMod": { @@ -35101,7 +35216,7 @@ ] ], [ - 17586, + 17662, [ { "DivMod": { @@ -35127,7 +35242,7 @@ ] ], [ - 17595, + 17671, [ { "DivMod": { @@ -35153,7 +35268,7 @@ ] ], [ - 17605, + 17681, [ { "DivMod": { @@ -35179,7 +35294,7 @@ ] ], [ - 17616, + 17692, [ { "DivMod": { @@ -35205,7 +35320,7 @@ ] ], [ - 17625, + 17701, [ { "DivMod": { @@ -35231,7 +35346,7 @@ ] ], [ - 17635, + 17711, [ { "DivMod": { @@ -35257,7 +35372,7 @@ ] ], [ - 17646, + 17722, [ { "DivMod": { @@ -35283,7 +35398,7 @@ ] ], [ - 17658, + 17734, [ { "TestLessThan": { @@ -35305,7 +35420,7 @@ ] ], [ - 17683, + 17759, [ { "TestLessThan": { @@ -35327,7 +35442,7 @@ ] ], [ - 17703, + 17779, [ { "TestLessThan": { @@ -35349,7 +35464,7 @@ ] ], [ - 17739, + 17815, [ { "Uint512DivModByUint256": { @@ -35418,7 +35533,7 @@ ] ], [ - 17757, + 17833, [ { "WideMul128": { @@ -35543,7 +35658,7 @@ ] ], [ - 17786, + 17862, [ { "TestLessThan": { @@ -35568,7 +35683,7 @@ ] ], [ - 17798, + 17874, [ { "TestLessThan": { @@ -35593,7 +35708,7 @@ ] ], [ - 17813, + 17889, [ { "DivMod": { @@ -35619,7 +35734,7 @@ ] ], [ - 17823, + 17899, [ { "DivMod": { @@ -35645,7 +35760,7 @@ ] ], [ - 17834, + 17910, [ { "DivMod": { @@ -35671,7 +35786,7 @@ ] ], [ - 17843, + 17919, [ { "DivMod": { @@ -35697,7 +35812,7 @@ ] ], [ - 17853, + 17929, [ { "DivMod": { @@ -35723,7 +35838,7 @@ ] ], [ - 17864, + 17940, [ { "DivMod": { @@ -35749,7 +35864,7 @@ ] ], [ - 17873, + 17949, [ { "DivMod": { @@ -35775,7 +35890,7 @@ ] ], [ - 17883, + 17959, [ { "DivMod": { @@ -35801,7 +35916,7 @@ ] ], [ - 17894, + 17970, [ { "DivMod": { @@ -35827,7 +35942,7 @@ ] ], [ - 17903, + 17979, [ { "DivMod": { @@ -35853,7 +35968,7 @@ ] ], [ - 17913, + 17989, [ { "DivMod": { @@ -35879,7 +35994,7 @@ ] ], [ - 17924, + 18000, [ { "DivMod": { @@ -35905,7 +36020,7 @@ ] ], [ - 17933, + 18009, [ { "DivMod": { @@ -35931,7 +36046,7 @@ ] ], [ - 17943, + 18019, [ { "DivMod": { @@ -35957,7 +36072,7 @@ ] ], [ - 17954, + 18030, [ { "DivMod": { @@ -35983,7 +36098,7 @@ ] ], [ - 17974, + 18050, [ { "SystemCall": { @@ -35998,7 +36113,7 @@ ] ], [ - 17986, + 18062, [ { "SystemCall": { @@ -36019,7 +36134,7 @@ ] ], [ - 17997, + 18073, [ { "SystemCall": { @@ -36040,7 +36155,7 @@ ] ], [ - 18043, + 18119, [ { "AllocSegment": { @@ -36053,7 +36168,7 @@ ] ], [ - 18059, + 18135, [ { "DivMod": { @@ -36079,7 +36194,7 @@ ] ], [ - 18069, + 18145, [ { "DivMod": { @@ -36105,7 +36220,7 @@ ] ], [ - 18080, + 18156, [ { "DivMod": { @@ -36131,7 +36246,7 @@ ] ], [ - 18089, + 18165, [ { "DivMod": { @@ -36157,7 +36272,7 @@ ] ], [ - 18099, + 18175, [ { "DivMod": { @@ -36183,7 +36298,7 @@ ] ], [ - 18110, + 18186, [ { "DivMod": { @@ -36209,7 +36324,7 @@ ] ], [ - 18119, + 18195, [ { "AllocSegment": { @@ -36222,7 +36337,7 @@ ] ], [ - 18136, + 18212, [ { "AllocSegment": { @@ -36235,7 +36350,7 @@ ] ], [ - 18193, + 18269, [ { "SystemCall": { @@ -36250,7 +36365,7 @@ ] ], [ - 18200, + 18276, [ { "AllocConstantSize": { @@ -36266,7 +36381,7 @@ ] ], [ - 18204, + 18280, [ { "AllocSegment": { @@ -36279,7 +36394,7 @@ ] ], [ - 18239, + 18315, [ { "SystemCall": { @@ -36294,7 +36409,7 @@ ] ], [ - 18312, + 18388, [ { "DivMod": { @@ -36323,7 +36438,7 @@ ] ], [ - 18318, + 18394, [ { "TestLessThan": { @@ -36345,7 +36460,7 @@ ] ], [ - 18385, + 18461, [ { "WideMul128": { @@ -36374,7 +36489,7 @@ ] ], [ - 18387, + 18463, [ { "DivMod": { @@ -36400,7 +36515,7 @@ ] ], [ - 18397, + 18473, [ { "DivMod": { @@ -36426,7 +36541,7 @@ ] ], [ - 18408, + 18484, [ { "DivMod": { @@ -36452,7 +36567,7 @@ ] ], [ - 18417, + 18493, [ { "WideMul128": { @@ -36481,7 +36596,7 @@ ] ], [ - 18419, + 18495, [ { "DivMod": { @@ -36507,7 +36622,7 @@ ] ], [ - 18429, + 18505, [ { "DivMod": { @@ -36533,7 +36648,7 @@ ] ], [ - 18440, + 18516, [ { "DivMod": { @@ -36559,7 +36674,7 @@ ] ], [ - 18450, + 18526, [ { "TestLessThan": { @@ -36581,7 +36696,7 @@ ] ], [ - 18472, + 18548, [ { "WideMul128": { @@ -36610,7 +36725,7 @@ ] ], [ - 18474, + 18550, [ { "DivMod": { @@ -36636,7 +36751,7 @@ ] ], [ - 18484, + 18560, [ { "DivMod": { @@ -36662,7 +36777,7 @@ ] ], [ - 18495, + 18571, [ { "DivMod": { @@ -36688,7 +36803,7 @@ ] ], [ - 18505, + 18581, [ { "TestLessThan": { @@ -36710,7 +36825,7 @@ ] ], [ - 18528, + 18604, [ { "TestLessThan": { @@ -36732,7 +36847,7 @@ ] ], [ - 18550, + 18626, [ { "WideMul128": { @@ -36761,7 +36876,7 @@ ] ], [ - 18552, + 18628, [ { "DivMod": { @@ -36787,7 +36902,7 @@ ] ], [ - 18562, + 18638, [ { "DivMod": { @@ -36813,7 +36928,7 @@ ] ], [ - 18573, + 18649, [ { "DivMod": { @@ -36839,7 +36954,7 @@ ] ], [ - 18583, + 18659, [ { "TestLessThan": { @@ -36861,7 +36976,7 @@ ] ], [ - 18607, + 18683, [ { "TestLessThan": { @@ -36883,7 +36998,7 @@ ] ], [ - 18632, + 18708, [ { "TestLessThan": { @@ -36905,7 +37020,7 @@ ] ], [ - 18656, + 18732, [ { "TestLessThan": { @@ -36927,7 +37042,7 @@ ] ], [ - 18774, + 18850, [ { "AllocSegment": { @@ -36940,7 +37055,7 @@ ] ], [ - 18797, + 18873, [ { "TestLessThanOrEqual": { @@ -36965,7 +37080,7 @@ ] ], [ - 18872, + 18948, [ { "AllocSegment": { @@ -36978,7 +37093,7 @@ ] ], [ - 18927, + 19003, [ { "DivMod": { @@ -37007,7 +37122,7 @@ ] ], [ - 18933, + 19009, [ { "TestLessThan": { @@ -37029,7 +37144,7 @@ ] ], [ - 18946, + 19022, [ { "TestLessThan": { @@ -37051,7 +37166,7 @@ ] ], [ - 18956, + 19032, [ { "TestLessThan": { @@ -37073,7 +37188,7 @@ ] ], [ - 19004, + 19080, [ { "DivMod": { @@ -37102,7 +37217,7 @@ ] ], [ - 19010, + 19086, [ { "TestLessThan": { @@ -37124,7 +37239,7 @@ ] ], [ - 19026, + 19102, [ { "TestLessThan": { @@ -37146,7 +37261,7 @@ ] ], [ - 19036, + 19112, [ { "TestLessThan": { @@ -37168,7 +37283,7 @@ ] ], [ - 19059, + 19135, [ { "AllocSegment": { @@ -37181,7 +37296,7 @@ ] ], [ - 19073, + 19149, [ { "AllocSegment": { @@ -37194,7 +37309,7 @@ ] ], [ - 19092, + 19168, [ { "AllocSegment": { @@ -37207,7 +37322,7 @@ ] ], [ - 19106, + 19182, [ { "AllocSegment": { diff --git a/crates/blockifier/feature_contracts/cairo1/test_contract.cairo b/crates/blockifier/feature_contracts/cairo1/test_contract.cairo index 5ca7fa376b..690d8d6f61 100644 --- a/crates/blockifier/feature_contracts/cairo1/test_contract.cairo +++ b/crates/blockifier/feature_contracts/cairo1/test_contract.cairo @@ -89,6 +89,13 @@ mod TestContract { *error_span.pop_back().unwrap() == 'ENTRYPOINT_FAILED', 'Unexpected error', ); + let inner_error = *error_span.pop_back().unwrap(); + if entry_point_selector == selector!("bad_selector") { + assert(inner_error == 'ENTRYPOINT_NOT_FOUND', 'Unexpected error'); + } else { + assert(inner_error == 'test_revert_helper', 'Unexpected error'); + } + }, }; // TODO(Yoni, 1/12/2024): test replace class once get_class_hash_at syscall is supported. @@ -103,7 +110,7 @@ mod TestContract { syscalls::replace_class_syscall(class_hash).unwrap_syscall(); syscalls::send_message_to_l1_syscall(17.try_into().unwrap(), dummy_span).unwrap_syscall(); self.my_storage_var.write(17); - panic!("test_revert_helper"); + panic(array!['test_revert_helper']); } #[external(v0)] diff --git a/crates/blockifier/src/execution/entry_point.rs b/crates/blockifier/src/execution/entry_point.rs index c2385aa7eb..2fa203fcd4 100644 --- a/crates/blockifier/src/execution/entry_point.rs +++ b/crates/blockifier/src/execution/entry_point.rs @@ -12,6 +12,8 @@ use starknet_api::state::StorageKey; use starknet_api::transaction::{Calldata, TransactionVersion}; use starknet_types_core::felt::Felt; +use super::call_info::{CallExecution, Retdata}; +use super::syscalls::hint_processor::ENTRYPOINT_NOT_FOUND_ERROR; use crate::abi::abi_utils::selector_from_name; use crate::abi::constants; use crate::abi::constants::CONSTRUCTOR_ENTRY_POINT_NAME; @@ -150,7 +152,27 @@ impl CallEntryPoint { context.n_sent_messages_to_l1, )); - execute_entry_point_call_wrapper(self, contract_class, state, resources, context) + let orig_call = self.clone(); + match execute_entry_point_call_wrapper(self, contract_class, state, resources, context) { + Err(EntryPointExecutionError::PreExecutionError( + PreExecutionError::EntryPointNotFound(_), + )) if context.versioned_constants().enable_reverts => Ok(CallInfo { + call: orig_call, + execution: CallExecution { + retdata: Retdata(vec![Felt::from_hex(ENTRYPOINT_NOT_FOUND_ERROR).unwrap()]), + events: Default::default(), + l2_to_l1_messages: Default::default(), + failed: true, + gas_consumed: 0, + }, + resources: Default::default(), + inner_calls: vec![], + tracked_resource: TrackedResource::SierraGas, + storage_read_values: vec![], + accessed_storage_keys: Default::default(), + }), + res => res, + } } /// Similar to `execute`, but returns an error if the outer call is reverted. diff --git a/crates/blockifier/src/execution/entry_point_execution.rs b/crates/blockifier/src/execution/entry_point_execution.rs index 1464e80614..de6c7ca1e8 100644 --- a/crates/blockifier/src/execution/entry_point_execution.rs +++ b/crates/blockifier/src/execution/entry_point_execution.rs @@ -107,6 +107,7 @@ pub fn execute_entry_point_call( program_extra_data_length, tracked_resource, )?; + if call_info.execution.failed && !context.versioned_constants().enable_reverts { return Err(EntryPointExecutionError::ExecutionFailed { error_data: call_info.execution.retdata.0, diff --git a/crates/blockifier/src/execution/entry_point_test.rs b/crates/blockifier/src/execution/entry_point_test.rs index 17ddc3f8a6..17e756df66 100644 --- a/crates/blockifier/src/execution/entry_point_test.rs +++ b/crates/blockifier/src/execution/entry_point_test.rs @@ -164,11 +164,8 @@ fn test_entry_point_not_found_in_contract() { let entry_point_selector = EntryPointSelector(felt!(2_u8)); let entry_point_call = CallEntryPoint { entry_point_selector, ..trivial_external_entry_point_new(test_contract) }; - let error = entry_point_call.execute_directly(&mut state).unwrap_err(); - assert_eq!( - format!("Entry point {entry_point_selector:?} not found in contract."), - format!("{error}") - ); + let call_info = entry_point_call.execute_directly(&mut state).unwrap(); + assert!(call_info.execution.failed); } #[test] diff --git a/crates/blockifier/src/execution/syscalls/hint_processor.rs b/crates/blockifier/src/execution/syscalls/hint_processor.rs index 6cde330c2c..2a318bd951 100644 --- a/crates/blockifier/src/execution/syscalls/hint_processor.rs +++ b/crates/blockifier/src/execution/syscalls/hint_processor.rs @@ -193,6 +193,9 @@ pub const OUT_OF_GAS_ERROR: &str = // "Block number out of range"; pub const BLOCK_NUMBER_OUT_OF_RANGE_ERROR: &str = "0x00000000000000426c6f636b206e756d626572206f7574206f662072616e6765"; +// "ENTRYPOINT_NOT_FOUND"; +pub const ENTRYPOINT_NOT_FOUND_ERROR: &str = + "0x000000000000000000000000454e545259504f494e545f4e4f545f464f554e44"; // "ENTRYPOINT_FAILED"; pub const ENTRYPOINT_FAILED_ERROR: &str = "0x000000000000000000000000000000454e545259504f494e545f4641494c4544"; diff --git a/crates/blockifier/src/transaction/account_transactions_test.rs b/crates/blockifier/src/transaction/account_transactions_test.rs index abaeba9592..1875b3afa6 100644 --- a/crates/blockifier/src/transaction/account_transactions_test.rs +++ b/crates/blockifier/src/transaction/account_transactions_test.rs @@ -1504,12 +1504,11 @@ fn test_revert_in_execute( } #[rstest] -#[case(true)] -#[case(false)] fn test_call_contract_that_panics( mut block_context: BlockContext, max_l1_resource_bounds: ValidResourceBounds, - #[case] enable_reverts: bool, + #[values(true, false)] enable_reverts: bool, + #[values("test_revert_helper", "bad_selector")] inner_selector: &str, ) { // Override enable reverts. block_context.versioned_constants.enable_reverts = enable_reverts; @@ -1525,7 +1524,7 @@ fn test_call_contract_that_panics( let calldata = [ *FeatureContract::TestContract(CairoVersion::Cairo1).get_instance_address(0).0.key(), - selector_from_name("test_revert_helper").0, + selector_from_name(inner_selector).0, felt!(1_u8), new_class_hash.0, ];