kkrt-labs / cairo-vm-ts

A typescript implementation of the Cairo VM
Apache License 2.0
18 stars 13 forks source link

epic: Hints #90

Open zmalatrax opened 3 months ago

zmalatrax commented 3 months ago

Epic to follow the different steps for Implementing hints in the Cairo VM TS

### Core Hints
- [ ] https://github.com/kkrt-labs/cairo-vm-ts/issues/101
- [ ] https://github.com/kkrt-labs/cairo-vm-ts/issues/100
- [ ] https://github.com/kkrt-labs/cairo-vm-ts/issues/121
- [ ] https://github.com/kkrt-labs/cairo-vm-ts/issues/122
- [ ] https://github.com/kkrt-labs/cairo-vm-ts/issues/124
- [ ] https://github.com/kkrt-labs/cairo-vm-ts/issues/125
- [ ] Uint256DivMod
- [ ] Uint512DivModByUint256
- [ ] SquareRoot
- [ ] Uint256SquareRoot
- [ ] LinearSplit
- [ ] https://github.com/kkrt-labs/cairo-vm-ts/issues/102
- [ ] https://github.com/kkrt-labs/cairo-vm-ts/issues/107
- [ ] https://github.com/kkrt-labs/cairo-vm-ts/issues/108
- [ ] https://github.com/kkrt-labs/cairo-vm-ts/issues/109
- [ ] https://github.com/kkrt-labs/cairo-vm-ts/issues/110
- [ ] https://github.com/kkrt-labs/cairo-vm-ts/issues/111
- [ ] https://github.com/kkrt-labs/cairo-vm-ts/issues/112
- [ ] https://github.com/kkrt-labs/cairo-vm-ts/issues/113
- [ ] https://github.com/kkrt-labs/cairo-vm-ts/issues/114
- [ ] https://github.com/kkrt-labs/cairo-vm-ts/issues/115
- [ ] https://github.com/kkrt-labs/cairo-vm-ts/issues/116
- [ ] https://github.com/kkrt-labs/cairo-vm-ts/issues/117
- [ ] https://github.com/kkrt-labs/cairo-vm-ts/issues/118
- [ ] RandomEcPoint
- [ ] FieldSqrt
- [ ] DebugPrint
- [ ] AllocConstantSize
- [ ] U256InvModN
- [ ] EvalCircuit
### Deprecated Hints
- [ ] AssertCurrentAccessIndicesIsEmpty
- [ ] AssertAllAccessesUsed
- [ ] AssertAllKeysUsed
- [ ] AssertLeAssertThirdArcExcluded
- [ ] AssertLtAssertValidInput
- [ ] Felt252DictRead
- [ ] Felt252DictWrite
### StarkNet - Syscalls
- [ ] StorageWrite
- [ ] StorageRead
- [ ] GetBlockHash
- [ ] GetExecutionInfo
- [ ] EmitEvent
- [ ] SendMessageToL1
- [ ] Keccak
- [ ] Sha256ProcessBlock
- [ ] Secp256k1New
- [ ] Secp256k1Add
- [ ] Secp256k1Mul
- [ ] Secp256k1GetPointFromX
- [ ] Secp256k1GetXy
- [ ] Secp256r1New
- [ ] Secp256r1Add
- [ ] Secp256r1Mul
- [ ] Secp256r1GetPointFromX
- [ ] Secp256r1GetXy
- [ ] Deploy
- [ ] CallContract
- [ ] LibraryCall
- [ ] ReplaceClass
### StarkNet - Cheatcodes
- [ ] set_sequencer_address
- [ ] set_block_number
- [ ] set_block_timestamp
- [ ] set_caller_address
- [ ] set_contract_address
- [ ] set_version
- [ ] set_account_contract_address
- [ ] set_max_fee
- [ ] set_transaction_hash
- [ ] set_chain_id
- [ ] set_nonce
- [ ] set_signature
- [ ] set_block_hash
- [ ] pop_log
- [ ] pop_l2_to_l1_message
### Core Logic to implement hints
- [ ] https://github.com/kkrt-labs/cairo-vm-ts/issues/98
- [ ] https://github.com/kkrt-labs/cairo-vm-ts/issues/103
- [ ] https://github.com/kkrt-labs/cairo-vm-ts/issues/104
- [ ] https://github.com/kkrt-labs/cairo-vm-ts/issues/105
zmalatrax commented 3 months ago

We focus ourselves on the new Cairo hints, until there is a way for Cairo Zero hints to be executed as easily (e.g. a prior step which would compile the hints)