Skip to main content

Transpile EVM-Compatible Languages To Cairo

Project description

NOTE

Warp is under heavy development and is currently not stable. A stable release will be released in the coming weeks.

Warp

Warp brings Solidity to StarkNet, making it possible to transpile Ethereum smart contracts to Cairo, and use them on StarkNet.

Table of Contents :clipboard:

Installation :gear:

Prerequisites:

Install Kudu, our tool to generate the Yul AST, and add it to your PATH.

Linux:

sudo apt update
sudo apt install software-properties-common
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt update
sudo apt install -y python3.7
sudo apt install -y python3.7-dev
sudo apt install -y libgmp3-dev
sudo apt-get install -y python3.7-venv
python3.7 -m venv ~/warp_demo
source ~/warp_demo/bin/activate
cd warp
make warp

MacOs:

brew install python@3.7
brew install gmp
python3.7 -m venv ~/warp_demo
source ~/warp_demo/bin/activate
cd warp
make warp

Usage :computer:

You can transpile your Solidity/Vyper contracts with:

warp transpile FILE_PATH CONTRACT_NAME

CONTRACT_NAME is the name of the primary contract (non-interface, non-library, non-abstract contract) that you wish to transpile

To deploy the transpiled program to Starknet use:

warp deploy CONTRACT.json

To invoke a public/external method use:

warp invoke --program CONTRACT.json --address ADDRESS --function FUNCTION_NAME --inputs "INPUTS"

The --inputs flag requires its argument to be a string and have each value separated by a space.

You can check the status of your transaction with:

warp status TX_ID

Want to contribute? :thumbsup:

Your contributions are always welcome, see contribution guidelines.

License

Apache License Version 2.0, January 2004.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

evm-warp-0.2.2.tar.gz (28.9 kB view details)

Uploaded Source

Built Distribution

evm_warp-0.2.2-py3-none-any.whl (5.0 MB view details)

Uploaded Python 3

File details

Details for the file evm-warp-0.2.2.tar.gz.

File metadata

  • Download URL: evm-warp-0.2.2.tar.gz
  • Upload date:
  • Size: 28.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.7.12

File hashes

Hashes for evm-warp-0.2.2.tar.gz
Algorithm Hash digest
SHA256 c887dacbf734f35f6b1431cc8c80693af3688cce14197794c87de1b9cc49e5a4
MD5 5aec1a335ecb40ed6694d8885c3ab482
BLAKE2b-256 b31ad8bff880d719a3893b05f2369b4af456e4200f3bee121b1a1341899eae92

See more details on using hashes here.

File details

Details for the file evm_warp-0.2.2-py3-none-any.whl.

File metadata

  • Download URL: evm_warp-0.2.2-py3-none-any.whl
  • Upload date:
  • Size: 5.0 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.7.12

File hashes

Hashes for evm_warp-0.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 53671072173209322b13c0d70fb1aa7c48861a4461da501d4cd3ecf38a5a2536
MD5 d9939b5f9d03e2ea8ce21ebac0e5f9bc
BLAKE2b-256 a2f0c3c559163298c688dc7e21019d1422493f9b89e118a9cfb9e58164a39b5f

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page