warp
warp copied to clipboard
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.
In solidity you can use unsafe operators by putting them in an unchecked block: ```solidity // SPDX-License-Identifier: MIT pragma solidity ^0.8.17; contract UncheckedMath { function add(uint x, uint y) external...
Some functions are redundant since transition to cairo 1.0 e.g. `warp_ge`, additions and other arithmetic operations. I suggest starting from `warplib.maths` module
The pattern for converting an address to uint256, occurs very frequently in Solidity code bases. With changes to the address size in the solc because of StarkNet's use of a...
I think this would encourage people to join the conversation earlier. Also, we have two discords. Should we pick one and close the other to keep the conversation in one...
The function is located [here](https://github.com/NethermindEth/warp/blob/1e513662e886d5d172da8318671d40f756bad5af/src/passes/literalExpressionEvaluator/literalExpressionEvaluator.ts#L253). The function should call `safeGetNodeType` function to differentiate nodes instead of using typestring. The value shouldn't be extracted from type but from the node itself.
Example: ``` pragma solidity ^0.8.14; contract C { function f() public { uint8 u = 1; } ```
The new version of solc-typed-ast introduced a lot of changes. Even though warp updated the package to the newest version it's not been fully ported to it yet. Especially warp...
Add to Warp the ability to parse Cairo code. This will be used to improve functionality of user defined cairo functions and generated cairo functions. Blocked until Cairo-1 transition is...
There is a section in the readme ([Testing for contributors](https://github.com/NethermindEth/warp#testing-for-contributors-stethoscope)) which has most of the commands for testing. This information should be added to the docs. Also, we should add...