keep-starknet-strange / shinigami

Bitcoin Script VM in Cairo
https://shinigamibtc.dev
MIT License
57 stars 56 forks source link

Add pushdata_opcodes handling ✅ #194

Closed jsandinoDev closed 1 month ago

jsandinoDev commented 1 month ago
  1. Rename the src/opcodes/utils to src/opcodes/utils_opcodes.cairo this is to avoid confusion in imports and uses.
  2. Create the is_push_opcode function to validate the push_data_opcodes.
  3. Create the opcode_push to handle the 3 cases of OP_PUSHDATA1, OP_PUSHDATA2 && OP_PUSHDATA4.
  4. Use the logic of engine.pulldata to validate the correct bytes to skip.
  5. Add the validation in the Engine.cairo in the function Engine && Step (Please review this).
  6. Add test for the 'OP_0 OP_IF OP_PUSHDATA1 0x4c 0x8181...8181 OP_ENDIF OP_1'.

Closes #180

Screenshot 2024-09-01 at 8 15 16 PM
vercel[bot] commented 1 month ago

Someone is attempting to deploy a commit to the keep-starknet-strange Team on Vercel.

A member of the Team first needs to authorize it.

jsandinoDev commented 1 month ago

Thanks @b-j-roberts! I hope to be able to continue collaborating in the future in this project!