Skip to content

Latest commit

 

History

History
161 lines (96 loc) · 4.86 KB

File metadata and controls

161 lines (96 loc) · 4.86 KB

Roadmap

Tentative roadmap for Starknet Foundry. This document reflects the state of the roadmap at the time of writing. We strive for our roadmap to reflect user needs and feedback, expect changes to this document.

All feedback and request welcome.

Table of Contents

Reference

  • Item "size" is in the scale 1 to 5 and reflects its relative complexity compared to other items in the roadmap.
  • Items marked with 🏗️ are in progress.
  • Items marked with ✅ are done.

Forge

🏗 Test Partitioning

Size: 3

#3548

Partitioning test suite into smaller test suites, to be run on separate machines in CI. Similar to cargo nextest.

🏗 Asserting Steps in Execution

Size: 2

#2671

Feature for asserting the number of steps used in test execution.

Reverting Storage Changes in Execution

Size: 3

#3837

Change the test execution model to revert storage changes from top-level calls in case of recoverable failure.

🏗 Sierra -> Casm Compilation

Size: 3

#3832

Sierra -> Casm performance investigation and optimization (if viable).

Performance Investigation

Size: 3

#3899

Investigate bottlenecks in standard test execution (workspace & package processing, config run, collecting configs, test execution) using tracing harnesses. Performance report on eventual findings and measurements for future optimizations.

Advanced Forking / Forking State Asserting

Size: 5

New test mechanism for detecting regressions in new contract versions (for upgrades on chain). Forking and asserting state changes after executing a test scenario.

Derive Macro for Fuzzable Trait

Size: 2

#2968

Ability to automatically derive Fuzzable trait for structs if they contain only Fuzzable fields.

Typesafe Contract "declare"

Size: 4

#1531

Detect and fail on invalid contract names at compilation time.

Research Variant and Differential Testing, Better Fuzzing Algorithms

Size: 5

#2464

Inspired by features from Ethereum's Foundry, research the viability of adding variant and differential testing and integrating better fuzzing algorithms.

Cast

New Cast Scripts

Size: 5

#3523

New Cast Scripts with focus on the ease of use, using Scarb plugins, integrated into snforge/scarb tests structure.

Transaction Dry Run

Size: 1

#2136

Running sncast transaction without executing them through the fee estimation endpoint.

CLI Revamp and Configuration Refactor

Size: 4

Removing non-common arguments that are used as common (e.g. -account). Internal changes to how sncast loads and combines configuration.

Better Accounts Support

Size: 4

Support for Ledger wallet, keystore support with encryption, account storage rework.

New Multicall Interface

Size: 3

#3810

Native multicall support for invoking transactions in sncast invoke or a better dedicated command. Removal of multicall files.

Contract Aliases in snfoundry.toml

Size: 1

#2240

Aliases for contracts in snfoundry.toml that can be used in commands instead of contract addresses.