etk
etk copied to clipboard
evm toolkit
I think these two test cases (in `etk-asm/src/asm.rs`) should pass: ```rust #[test] fn assemble_instruction_macro_two_delayed_definitions_mirrored() -> Result { let ops = vec![ AbstractOp::new(GetPc), AbstractOp::Macro(InstructionMacroInvocation { name: "macro1".into(), parameters: vec![], }), AbstractOp::Macro(InstructionMacroInvocation...
The output from `disease` is not immediately importable into `eas`, which is pretty annoying. I also have a weird function selector jump table implementation that requires precisely positioning instructions. I...
# `%hex("...")` An instruction macro that inserts the argument literally into the assembled output: ``` jumpdest %hex("7FAB") invalid ``` Would become: ``` 5b7fabfe ``` We already have `%include_hex`, but this...
Adding release binaries and also nightly releases using GitHub actions with be great. These binaries then can be used to create a GitHub action that would build repos with ETK...
I noticed that ecfg fails on most of the nontrivial contracts that I tried. Here is an example, contact. AFAIR is just trivial "get uint from slot - put uint...
It'd be nice to make it easier to insert constants into code while constructing a contract. These are pretty much off the top of my head, so bear with me....
## Motivation The "0x" prefix solves the ambiguity for the string "11", which could represent eleven or seventeen. Hence, it makes sense to include "0x" prefix everywhere in general. However,...
This PR adds a `release.yaml` workflow to build nightly and tagged binaries. closes #100 .
This pr addresses issue #47's "descriptive error for space in selector" item. test.etk (note spaces in between parameters): ```push4 selector("_burn(address, bytes32, uint256)")``` `eas ./test.etk` output: ```Error: parsing failed Caused by:...
Currently, if parsing fails in a child `%import` the error only gives the line number. `foo.etk` ```asm %import("bar.etk") ``` `bar.etk` ```asm push1 0x42 asdf ``` ```console $ eas foo.etk Error:...