warp icon indicating copy to clipboard operation
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.

Results 83 warp issues
Sort by recently updated
recently updated
newest added
trafficstars

Functions inside the WarpMemory trait are not being set to require the warp_memory implicit.

Functions inside WarpMemory, are being called this way: ```rust let x = warp_memory.get_or_create_id(...) ``` Because, currently warp_memory is invisible to the solidity AST, the `warp_memory.` prefix is included in the...

To mimic part of Solidity's behaviour, Warp generates some functions with multiple purposes: from reading and writing to `memory/storage` to encoding following the `abi` specifications. The code base dedicated to...

In Warp 2 to handle calldata we created abstractions. 1. solidity dynamic arrays where converted into custom structs with a pointer and length 2. solidity static arrays where converted into...

Major changes which have to be done in order to transition to cairo 1.0. The issue collects those changes. - [ ] Remove unused nodes (e.g. TempVar) - [ ]...

#### Background At the moment we have several test-suites. Compilation tests check that transpiled files compile from Cairo to Sierra as expected. Behavioural tests check that compiled and deployed contracts...

Currently conditional expressions (ternary operation) are not being evaluated in [literalExpressionEvaluator](https://github.com/NethermindEth/warp/blob/develop/src/passes/literalExpressionEvaluator/literalExpressionEvaluator.ts) pass. Conditionals have the form: `condition ? thenBranch : elseBranch`. If the value of `condition` can be known during...

good first issue

The code should compile: ```solidity pragma solidity ^0.8.6; //SPDX-License-Identifier: MIT contract WARP { function uint8new() pure public { uint8[] memory x = new uint8[](2); } } ```

Right now, the for the cross contract calls only the simple primitive returns types are supported, but for complex types such as `Struct` , we need to modify `cairoWriter` to...

The code should transpile: ```solidity pragma solidity ^0.8.6; contract WARP { struct S { uint8 a; uint256 b; } function createManual() pure public { S memory s = S(2,5); }...