NethermindEth / warp

Warp - Bringing Solidity to Starknet at warp speed. Warp is a Solidity to Cairo Compiler, this allows teams to write/migrate Solidity to Cairo for easy onboarding into the StarkNet ecosystem.
https://nethermind.io/warp/
Apache License 2.0
754 stars 70 forks source link

Warp Memory basic functionality #1038

Closed rodrigo-pino closed 1 year ago

rodrigo-pino commented 1 year ago

This PR introduces Warp memory basic functionality plus other utilities

Fixes #988 #1019

piwonskp commented 1 year ago

Let's implement some basic unit tests for warplib

piwonskp commented 1 year ago

I've seen the word "location" and "position" used interchangeably. I think we should build a proper dictionary and differentiate between free space pointer, the address to an individual cell (WarpMemoryTrait), the address to a group of cells (WarpMemoryAccessor) and between static and dynamic (retrieved from memory e.g. when accessing dynamic arrays) addresses. Imo we could use the word position to refer to individual cells and location to refer to possibly larger data that may span across multiple cells