solx

Solidity × 𝙖𝙣𝙮 𝙡𝙖𝙣𝙜𝙪𝙖𝙜𝙚 transpiler for Foundry tests & scripts.

APACHE-2.0 License

Stars
49

SOLX

Write Solidity AND any other programming language at the same time in Foundry tests and scripts!

Usage

[!CAUTION] This is an experimental proof of concept. Do not use in development or production environments. SOLX is designed to work exclusively in Foundry's local EVM and cannot be used for actual smart contracts.

Clone

git clone https://github.com/ZeroEkkusu/solx

Install

soldeer install & bun install

Hook

source solx/hooks.sh

Build

forge build

Test

forge test

Experiment

Playground ↗

Sync variables between Solidity and TypeScript:

uint256 a;
// @typescript-start (uint256 a)
a++;
// @typescript-end ()
assertEq(a, 1);

Clone variables from TypeScript:

uint256 a = 1;
// @typescript-start ()
const b = 1;
// @typescript-end (uint256 b)
assertEq(a, b);

console.log in TypeScript:

// @typescript-start ()
console.log("solx");
// @typescript-end ()

Only TypeScript is supported currently.

License

​ Licensed under either of

at your option.

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.


© 2024 Zero Ekkusu