Progress
Please don't hesitate to ask if you have any questions or suggestions, or if you would like a feature to be prioritized!
Core
Foundations of the apprun transactions in a simulated environment and remember activity on each chain
mock network condition/congestion (gas/blob gas price)
estimate gas fees on EVM L1s, Polygon and OP stack L2s
aggregate total fees, include/exclude transactions
support Arbitrum orbit for gas fee on L1 submission
wallet/social login to save transactions (sync with local storage)
Utilities
Main features facilitating the daily use/activityprovide helpers to generate mock data and quickly estimate costs for selected optimized solutions (e.g. GasliteDrop)
run a tx on multiple chains and provide a comparative estimation of gas spent on each
share results so anyone can open them in savvy with the configuration and re-run the transactions
Extensions
Additional features that directly extend the use casespaste a contract in a browser editor, deploy it and use it just like a regular forked contract
run ast on a pasted contract and provide inline recommendations to optimize both dependencies (e.g. OZ -> Solady) and known inefficient patterns
provide selected secure and optimized contracts to deploy in a click with mock data + estimate costs (e.g. Gaslite core, Solady libs)
impersonate a smart account (see Rhinestone, ERC7579); with utilities to follow the flow, add modules, etc
Infrastructure
Updates that might require breaking changes in coreprovide a rpc to publish tests to the Tevm forked chain and keep the state (already possible in the opposite way; fork a local Hardhat node to which tests can be published)
extended account page, with more data to track across calls, e.g. tokens; show traces of the account's activity
Vision
Fundamental upgrades representative of the long-term vision for savvyseparate between two versions: advanced (intended for devs/experienced users) and "onboarding" for non-crypto natives, with detailed explanations, guidance and examples
use savvy as a browser "extension"/wallet; basically override the injected provider with the impersonated caller, and override the chain with a fresh fork—think of it as a "sandbox" mode for a DApp (see
Interceptor
, Fire , Impersonator)
And a lot of other possibilities, although not prioritized because there are already great tools for most of these. Like:
- replicate transactions locally (given their hash + chain);
- debug transactions by exploring state change;
- copy a set of local transactions to get the multicall data and execute them on mainnet.