Comments (4)
I think this is a good idea, but would suggest to keep the behaviour as is. Since this issue was opened, the EVM introduced the REVERT
opcode.
Reasoning: revert()
will mark the transaction as reverted and will not charge all the gas. unreachable
then still remains as a second option to abort a transaction.
These two kinds of aborts are utilised by static analysis tools on Ethereum, where revert
usually corresponds to a pre-condition and unreachable
corresponds to an assertion.
from design.
I don't think there is any reason to additionally consume remaining gas in case of any kind of failure. If we accept this fact, the only matter that is left is how to report different kinds of failures.
from design.
Decision: document that unreachable
results in OOG.
from design.
I think it would be more correct to document that a trap results in OOG.
from design.
Related Issues (20)
- Enviroment abstraction for eWASM code execution
- Generic buffer API
- Inlined metering HOT 6
- Update to Constantinople/Petersburg HOT 1
- Equivalence, invertable transformation, and size optimization of Wasm binaries HOT 4
- Serenity async proposal (discussion) HOT 4
- Async vs sync interface HOT 2
- Linear storage design HOT 4
- System/standard library for bignumbers HOT 19
- Eth 2.0 Phase 2 with "precompiles" proposal HOT 1
- wasm256 - Wasm with native i256 HOT 1
- how to test the gas costs
- opcode gas
- Shared memory between instances HOT 1
- "Stack too deep" in EWASM
- Provide kecccak256 host function HOT 3
- JVM pros/cons clarification
- Update EEI for London hardfork
- IP OGS HOT 1
- ewasm status HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from design.