-
Notifications
You must be signed in to change notification settings - Fork 5
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
Not supported evm.bytecode and evm.assembly options in compiler configuration #39
Comments
|
Stemming from an internal discussion:
We substitute any byte-code incompatible fields with empty objects. This won't crash any tools relying on it, they can still request it but will get a zero or empty value. Which they can do nothing with so we should be save. Also this will make remix happy. |
Both of them should be advertised as being available in order to maximize compatibility.
|
To me it'd also make sense to just provide the blob for both, the deploy code and runtime code? Because it is the same, it seems like we can just provide both for maximum compatibility. |
Yeah that would work, too. |
Remix uses |
Because of course they do. They depend on every little detail :( |
I think that we need to update polkavm-disassembler to be compatible with evm.legacyAssembly
|
Legacy assembly is not to confuse with EVM bytecode. Legacy assembly is technically speaking on of our IRs. It can be passed through as-is. |
We have in revive
|
Ah yeah, |
I reckon either |
|
Ah okay, I see where you are coming from. The problem is we are adding one more IR format. Remix is selling |
Remix parses this before displaying and expect JSON format. We can not just substitute it, because parsing will fail.
|
Why would 2. require a change in polkavm-disassembler instead bringing it to the right format directly in revive? Tying the PVM disassembler to this seems a bit stretched 😅 |
In case the formats are inherently incompatible, we should change our remix instance to display what it finds in |
So if they are incompatible, seems like we hit the second case here. Replacing it with empty values and instead use |
Now looking into it maybe we could indeed parse the polkavm assembly and output something similar to legacyAssembly, Legacy assembly is built from objects containing |
I vote for just using |
@smiasojed is this issue still relevant? |
yes, I need to do still something with |
Although the tool claims that it does not support
evm.bytecode
and evm.assembly, it still returns it as part of the compilation output.Used compiler config:
It is expected that tool accepts
evm.bytecode
andevm.assembly
The text was updated successfully, but these errors were encountered: