cairo-vm-go
cairo-vm-go copied to clipboard
A virtual machine for Cairo written in Go
Updates the access index during the dictionary squashing process. Reference: https://github.com/starkware-libs/cairo-lang/blob/efa9648f57568aad8f8a13fbf027d2de7c63c2c0/src/starkware/cairo/common/squash_dict.cairo#L171 Depends on #245
Currenty the testing structure we have creates `Deref` structs for the operanders we pass. This is consistent with ResOperanders, but if you would need a CellRef to be passed to...
Searches for a specific key within an array and returns its index, asserting the validity of the index and size constraints. Reference : https://github.com/starkware-libs/cairo-lang/blob/efa9648f57568aad8f8a13fbf027d2de7c63c2c0/src/starkware/cairo/common/find_element.cairo#L29 Depends on #245 for accessing global...
One of the builtin required by the VM is the Poseidon Hash. It doesn't check when anything is written to it, and only triggers when inferring a value from it....
Adds an element to a set if it's not already present, and determines its index and presence status. Reference: https://github.com/starkware-libs/cairo-lang/blob/efa9648f57568aad8f8a13fbf027d2de7c63c2c0/src/starkware/cairo/common/set.cairo#L34
Updates a dictionary entry at a specified key, ensuring the previous value matches the expected one. Reference: https://github.com/starkware-libs/cairo-lang/blob/efa9648f57568aad8f8a13fbf027d2de7c63c2c0/src/starkware/cairo/common/dict.cairo#L56
# VM Docs There is a great lack of documentation regarding Virtual Machines. The Whitepaper focus mostly on describing the state transitions but doesn't explain in great details other very...
Finalizes the BLAKE2s hashing process. It involves asserting the packed instances and input chunk size, preparing a dummy message, computing the hash with modified initialization vectors, and adding padding to...