cairo-vm-go
cairo-vm-go copied to clipboard
A virtual machine for Cairo written in Go
Right now it seems like the memory trace doesn't always have the highest memory address (index) in its last memory trace element. This is an assumption we make when decoding...
We may want to treat them as comments for now. Cairo1 compiler still produces inline-hints in some modes. Treating them as comments looks better than a parse failure. Here is...
Right now we are relaying on unit tests, but it would be good to check the result we are expecting is actually the correct one by also running `cairo-run` and...
Finalizes the KECCAK hash computation by concatenating memory elements and applying the KECCAK function. Reference: https://github.com/starkware-libs/cairo-lang/blob/efa9648f57568aad8f8a13fbf027d2de7c63c2c0/src/starkware/cairo/common/keccak.cairo#L81 > Note: This hint needs to implement `keccak` function which is also used in...
Applies the KECCAK block permutation function to a segment of memory. Reference: https://github.com/starkware-libs/cairo-lang/blob/efa9648f57568aad8f8a13fbf027d2de7c63c2c0/src/starkware/cairo/common/cairo_keccak/keccak.cairo#L293
Writes a new value to a dictionary at a specified key, and keeps track of the previous value. Reference: https://github.com/starkware-libs/cairo-lang/blob/efa9648f57568aad8f8a13fbf027d2de7c63c2c0/src/starkware/cairo/common/dict.cairo#L39
Executes the KECCAK hash function on input data, with size checks against a predefined maximum size. Reference: https://github.com/starkware-libs/cairo-lang/blob/efa9648f57568aad8f8a13fbf027d2de7c63c2c0/src/starkware/cairo/common/keccak.cairo#L16 Depends on #245 for handling `globals()`
Currently we use the following logic for resolving BigInt3 structures: ``` valMemoryValues, err := hinter.GetConsecutiveValues(vm, valAddr, int16(3)) if err != nil { return err } // [d0, d1, d2] var...