lightclient
lightclient
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:...
In #69 we added a random postfix to label names to create a scope. It would be nice to have better guarantees about the scope and not rely on the...
Similar to the solidity feature: ``` uint256 foo = uint256(-1); ```
The most simplified form of a complex expression currently looks like this: ```rust //((1+2)*3-(4/2) = 7 let expr = Expression::Minus( Expression::Times( Expression::Plus( Terminal::Number(1.into()).into(), Terminal::Number(2.into()).into(), ).into(), Terminal::Number(3.into()).into(), ).into(), Expression::Divide( Terminal::Number(4.into()).into(), Terminal::Number(2.into()).into(),...
```console $ cat main.etk push2 0x00 $ eas main.etk thread 'main' panicked at 'source slice length (1) does not match destination slice length (2)', /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/core/src/slice/mod.rs:3058:13 ``` This should be nicer.
Sometimes it would be nice to compile things in based on a flag. For example, maybe you want overflow detection to be optional. Here a couple potential approaches: ```asm %import_if(foo,...
Two new builtin macros: - [x] `%push(addr)` -> replaced by the smallest push opcode that can represent `addr`. - [ ] `%jump(addr)` -> replaced by a push (as `%push(addr)`) and...
I'll probably just start a list of things I run into that could have custom errors: * [ ] space in selector
Some methods are not deterministic across clients. For example, `eth_gasPrice` returns as `gasPrice` in wei that users could use for a transaction to be included quickly. This is subjective based...
Since `debug_getBadBlocks` relies on the client seeing a bad block over p2p, I've [added support](https://github.com/ethereum/go-ethereum/pull/25212) in geth to send arbitrary new block announcements and have sealed a "bad" block in...