Open xgreenx opened 8 months ago
We don't have plans to work on it before mainnet since it may bring vulnerabilities.
I think we need to be clearer about what the implementation would look like. And it also could be useful to get some feedback from SDK people about what features they would most like.
Problem overview
The FuelVM has many rules regarding transaction validity and requirements for using specific opcodes. Each opcode that touches the contract requires this contract's existence in the transactions' inputs. Another example is the
tro
opcode that requires the existence of theVariable
output.All those rules make the usage harder and require dry-running transactions many times on the SDK side to fulfill all rules.
Solution
The FuelVM may support dry run mode, in which all validity rules will not abort the execution immediately. Instead, we will keep a record of what rules are failing and provide feedback at the end of the execution with all problems.