-
Notifications
You must be signed in to change notification settings - Fork 49
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Integrate r55 #81
Comments
@gakonst imo it can be done after
|
Interpreter must be like: Don’t see the way to do it without kinda interpreter wiring released on revm, which we depends on here, because e.g. we got RISC-V bytecode as interpreter input, it parses like legacy, then stripped 2 first bytes and flow goes incorrect, not going to handler Maybe I’m missed smth |
Btw the "starts with 0xff" thing was a quick convention hack we chose to make it work quickly, but should be improved. Any convention/architecture that makes it easier for revm is welcome |
Maybe 2 bytes like other formats (such as EOF / EIP-7702) https://github.com/bluealloy/revm/blob/main/crates/bytecode/src/bytecode.rs#L105-L115 prob with opcode |
why not re-use the handler implementation Leo did above, which lets you re-use both EVM and RISCV? |
Was aware about how bytecode goes - will it be interp first like legacy |
Hi I would love to take on this |
I finish, trying to deploy ERC-20 |
@leonardoalt do we just turn off bytecode size limit for r5 contracts? I guess not. Mb we need to price it better? |
Currently yes, here afaik: https://github.com/r55-eth/r55/blob/main/r55/src/exec.rs#L25 Though I suspect the reason why even the basic token contract is large is because we're using software TinyKeccak for Mapping instead of the Keccak syscall which is still unimplemented. |
r55 lets us write smart contracts in rust: https://github.com/leonardoalt/r55
this would be sick as part of the executor, might be as simple as integrating here: https://github.com/ithacaxyz/odyssey/blob/main/crates/node/src/evm.rs#L231
here's an example integration https://github.com/leonardoalt/r55/blob/main/r55/src/exec.rs#L23-L270
The text was updated successfully, but these errors were encountered: