|
12 | 12 | * Added dynamic layout [#879](https://github.com/lambdaclass/cairo-rs/pull/879) |
13 | 13 | * `get_segment_size` was exposed [#934](https://github.com/lambdaclass/cairo-rs/pull/934) |
14 | 14 |
|
| 15 | + |
| 16 | +* Add missing hint on cairo_secp lib [#990](https://github.com/lambdaclass/cairo-rs/pull/990): |
| 17 | + |
| 18 | + `BuiltinHintProcessor` now supports the following hint: |
| 19 | + ```python |
| 20 | + from starkware.cairo.common.cairo_secp.secp_utils import pack |
| 21 | + |
| 22 | + slope = pack(ids.slope, PRIME) |
| 23 | + x = pack(ids.point.x, PRIME) |
| 24 | + y = pack(ids.point.y, PRIME) |
| 25 | + |
| 26 | + value = new_x = (pow(slope, 2, SECP_P) - 2 * x) % SECP_P |
| 27 | + ``` |
| 28 | + |
| 29 | +* Add missing hint on cairo_secp lib [#989](https://github.com/lambdaclass/cairo-rs/pull/989): |
| 30 | + |
| 31 | + `BuiltinHintProcessor` now supports the following hint: |
| 32 | + ```python |
| 33 | + from starkware.cairo.common.cairo_secp.secp_utils import SECP_P |
| 34 | + q, r = divmod(pack(ids.val, PRIME), SECP_P) |
| 35 | + assert r == 0, f"verify_zero: Invalid input {ids.val.d0, ids.val.d1, ids.val.d2}." |
| 36 | + ids.q = q % PRIME |
| 37 | + ``` |
| 38 | + |
| 39 | +* Add missing hint on cairo_secp lib [#986](https://github.com/lambdaclass/cairo-rs/pull/986): |
| 40 | + |
| 41 | + `BuiltinHintProcessor` now supports the following hint: |
| 42 | + ```python |
| 43 | + from starkware.cairo.common.cairo_secp.secp_utils import SECP_P, pack |
| 44 | + from starkware.python.math_utils import div_mod |
| 45 | + |
| 46 | + # Compute the slope. |
| 47 | + x = pack(ids.pt.x, PRIME) |
| 48 | + y = pack(ids.pt.y, PRIME) |
| 49 | + value = slope = div_mod(3 * x ** 2, 2 * y, SECP_P) |
| 50 | + ``` |
| 51 | + |
| 52 | +* Add missing hint on cairo_secp lib [#984](https://github.com/lambdaclass/cairo-rs/pull/984): |
| 53 | + |
| 54 | + `BuiltinHintProcessor` now supports the following hint: |
| 55 | + ```python |
| 56 | + from starkware.cairo.common.cairo_secp.secp_utils import SECP_P, pack |
| 57 | + from starkware.python.math_utils import div_mod |
| 58 | + |
| 59 | + # Compute the slope. |
| 60 | + x0 = pack(ids.pt0.x, PRIME) |
| 61 | + y0 = pack(ids.pt0.y, PRIME) |
| 62 | + x1 = pack(ids.pt1.x, PRIME) |
| 63 | + y1 = pack(ids.pt1.y, PRIME) |
| 64 | + value = slope = div_mod(y0 - y1, x0 - x1, SECP_P) |
| 65 | + ``` |
| 66 | + |
15 | 67 | #### [0.3.0-rc1] - 2023-04-13 |
16 | 68 | * Derive Deserialize for ExecutionResources [#922](https://github.com/lambdaclass/cairo-rs/pull/922) |
17 | 69 | * Remove builtin names from VirtualMachine.builtin_runners [#921](https://github.com/lambdaclass/cairo-rs/pull/921) |
|
57 | 109 | * after each step |
58 | 110 | * ExecutionResource operations: add and substract [#774](https://github.com/lambdaclass/cairo-rs/pull/774), multiplication [#908](https://github.com/lambdaclass/cairo-rs/pull/908) , and `AddAssign` [#914](https://github.com/lambdaclass/cairo-rs/pull/914) |
59 | 111 |
|
60 | | - |
61 | | -* Add missing hint on cairo_secp lib [#984]: |
62 | | - |
63 | | - `BuiltinHintProcessor` now supports the following hint: |
64 | | - ```python |
65 | | - from starkware.cairo.common.cairo_secp.secp_utils import SECP_P, pack |
66 | | - from starkware.python.math_utils import div_mod |
67 | | - |
68 | | - # Compute the slope. |
69 | | - x0 = pack(ids.pt0.x, PRIME) |
70 | | - y0 = pack(ids.pt0.y, PRIME) |
71 | | - x1 = pack(ids.pt1.x, PRIME) |
72 | | - y1 = pack(ids.pt1.y, PRIME) |
73 | | - value = slope = div_mod(y0 - y1, x0 - x1, SECP_P) |
74 | | - ``` |
75 | | - |
76 | 112 | * Implement hints on uint384 lib (Part 2) [#971](https://github.com/lambdaclass/cairo-rs/pull/971) |
77 | 113 |
|
78 | 114 | `BuiltinHintProcessor` now supports the following hint: |
|
218 | 254 |
|
219 | 255 | Used by the common library function `uint256_mul_div_mod` |
220 | 256 |
|
221 | | -* Add missing hint on cairo_secp lib [#986]: |
222 | | - |
223 | | - `BuiltinHintProcessor` now supports the following hint: |
224 | | - ```python |
225 | | - from starkware.cairo.common.cairo_secp.secp_utils import SECP_P, pack |
226 | | - from starkware.python.math_utils import div_mod |
227 | | - |
228 | | - # Compute the slope. |
229 | | - x = pack(ids.pt.x, PRIME) |
230 | | - y = pack(ids.pt.y, PRIME) |
231 | | - value = slope = div_mod(3 * x ** 2, 2 * y, SECP_P) |
232 | | - ``` |
233 | | - |
234 | | -* Add missing hint on cairo_secp lib [#984]: |
235 | | - `BuiltinHintProcessor` now supports the following hint: |
236 | | - ```python |
237 | | - from starkware.cairo.common.cairo_secp.secp_utils import SECP_P, pack |
238 | | - from starkware.python.math_utils import div_mod |
239 | | - |
240 | | - # Compute the slope. |
241 | | - x0 = pack(ids.pt0.x, PRIME) |
242 | | - y0 = pack(ids.pt0.y, PRIME) |
243 | | - x1 = pack(ids.pt1.x, PRIME) |
244 | | - y1 = pack(ids.pt1.y, PRIME) |
245 | | - value = slope = div_mod(y0 - y1, x0 - x1, SECP_P) |
246 | | - ``` |
247 | | - |
248 | | -* Add missing hint on cairo_secp lib [#990]: |
249 | | - |
250 | | - `BuiltinHintProcessor` now supports the following hint: |
251 | | - ```python |
252 | | - from starkware.cairo.common.cairo_secp.secp_utils import pack |
253 | | - |
254 | | - slope = pack(ids.slope, PRIME) |
255 | | - x = pack(ids.point.x, PRIME) |
256 | | - y = pack(ids.point.y, PRIME) |
257 | | - |
258 | | - value = new_x = (pow(slope, 2, SECP_P) - 2 * x) % SECP_P |
259 | | - ``` |
260 | | - |
261 | | -* Add missing hint on cairo_secp lib [#989]: |
262 | | - |
263 | | - `BuiltinHintProcessor` now supports the following hint: |
264 | | - ```python |
265 | | - from starkware.cairo.common.cairo_secp.secp_utils import SECP_P |
266 | | - q, r = divmod(pack(ids.val, PRIME), SECP_P) |
267 | | - assert r == 0, f"verify_zero: Invalid input {ids.val.d0, ids.val.d1, ids.val.d2}." |
268 | | - ids.q = q % PRIME |
269 | | - ``` |
270 | | - |
271 | | -* Add missing hint on cairo_secp lib [#986]: |
272 | | - `BuiltinHintProcessor` now supports the following hint: |
273 | | - ```python |
274 | | - from starkware.cairo.common.cairo_secp.secp_utils import SECP_P, pack |
275 | | - from starkware.python.math_utils import div_mod |
276 | | - |
277 | | - # Compute the slope. |
278 | | - x = pack(ids.pt.x, PRIME) |
279 | | - y = pack(ids.pt.y, PRIME) |
280 | | - value = slope = div_mod(3 * x ** 2, 2 * y, SECP_P) |
281 | | - ``` |
282 | | - |
283 | | -* Add missing hint on cairo_secp lib [#984]: |
284 | | - `BuiltinHintProcessor` now supports the following hint: |
285 | | - ```python |
286 | | - from starkware.cairo.common.cairo_secp.secp_utils import SECP_P, pack |
287 | | - from starkware.python.math_utils import div_mod |
288 | | - |
289 | | - # Compute the slope. |
290 | | - x0 = pack(ids.pt0.x, PRIME) |
291 | | - y0 = pack(ids.pt0.y, PRIME) |
292 | | - x1 = pack(ids.pt1.x, PRIME) |
293 | | - y1 = pack(ids.pt1.y, PRIME) |
294 | | - value = slope = div_mod(y0 - y1, x0 - x1, SECP_P) |
295 | | - ``` |
296 | | - |
297 | 257 | * Move `Memory` into `MemorySegmentManager` [#830](https://github.com/lambdaclass/cairo-rs/pull/830) |
298 | 258 | * Structural changes: |
299 | 259 | * Remove `memory: Memory` field from `VirtualMachine` |
|
0 commit comments