Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat(chisel): Introduces a Solidity REPL (#3465)
* Init chisel * Playing w/ `TempProject` to start * Temp changes to the readline, back to school work * parse with solang_parser * readme updates, feature bog 😓 * chisel session loading * Start builtin command module 🧹 * Store raw source alongside parsed source units * fix versioning in environment using semver * Start REPL executor * serde serialize and deserialize * Clean; Scrap first runner impl * Merge with `feat/repl` * Hack together beginnings of runner * caching progress * optimistically use first pragma definition * tests pass 🚧 * session cache io * formatting ✨ * fixes * cache tests and fixes * merge upstream⚠️ * add chisel to foundryup * initial soli source generation port * stashing refactor progress * refactor nearly there * ✨ fix styling * Rip script runner into chisel * Progress- still broken * Progress * Refactors; it's kinda alive 🚀 * 🧹 🧹 * start inspection formatter * Fix caching * Merge w/ upstream * Foundry / EVM configuration; on-the-fly forking * Port `soli`'s `SolidityHelper` fmt * Update README tasks * Start tracing support; 🧹 * Fix dynamic bytes inspection formatting * 🧹 * Clear session ID on `!clearcache` command * Fix `int` inspection formatting * Remove unnecessary fields from `ChiselResult` * Inherit `Script.sol` from `testdata` * 🧹, error handling, & readme * solc version configuration, `memdump` / `stackdump` commands, and `rpc_endpoints` config support * Bug fixes, cache tests, README updates * Include `forge-std` contracts in binary * Add criterion benchmarks * Add binary subcommands * Project remapping support * Add `!export` command * 🧹 * Checkout submodules in release workflow * Update README * Add @mds1's suggestions * README tasks update * Fetch interface of verified contracts on Etherscan * Optional script inheritance; Clean up help menu; 🧹 * Command shortcuts; fork URL verification; 🧹 * expression evaluation WIP * Updates * Update README checklist * Clean up script exporting * Use `forge-fmt` to format source for both `!export` and `!source` * Move to laptop * Update checklist * Function call expression eval updates; Still not a fan * 🧹 * Big improvements in func expression eval * More improvements; 🧹 tmrw * Refactor intermediate output, expression eval stable Update checklist * Resolve conflicts w/ `master` * Update preview gif * Fix external contract expression evaluation; Make CI happy * 🧹; fix parenthesis eval; add `!exec` command * README * Fix CI * Bump `forge-std` to `v1.1.1` * Bump chisel version; fix `foundryup` repo / commit fetch; use `vergen` crate for chisel bin version * Print `stderr` in chisel's `!exec` command * Clean up benches * Finish README; chisel subcommand descriptions for manpage * small 🧹 * Fix conflicts * Start addressing Matt's nits * Resolve conflicts * Remove `forge-std` submodule in favor of testdata's `Cheats.sol` * No need to check out submodules in workflows anymore * Lint * Fix clippy 0.1.67 errors Co-authored-by: clabby <[email protected]>
- Loading branch information