Redo gas estimation via revm

Adds a minimal amount of packages. Does add decent complexity. Avoids having
constants which aren't exact, due to things like the quadratic memory cost, and
the issues with such estimates accordingly.
This commit is contained in:
Luke Parker
2025-01-26 22:42:50 -05:00
parent 27c1dc4646
commit 5164a710a2
6 changed files with 682 additions and 227 deletions

View File

@@ -13,11 +13,15 @@ import "IRouter.sol";
individual transactions is critical.
We don't check the return values as we don't care if the calls succeeded. We solely care we made
them. If someone configures an external contract in a way which borks, we epxlicitly define that
them. If someone configures an external contract in a way which borks, we explicitly define that
as their fault and out-of-scope to this contract.
If an actual invariant within Serai exists, an escape hatch exists to move to a new contract. Any
improperly handled actions can be re-signed and re-executed at that point in time.
The `execute` function pays a relayer, as expected for use in the account-abstraction model. Other
functions also expect relayers, yet do not explicitly pay fees. Those calls are expected to be
justified via the backpressure of transactions with fees.
*/
// slither-disable-start low-level-calls,unchecked-lowlevel