Releases: foundry-rs/starknet-foundry
Releases · foundry-rs/starknet-foundry
0.9.1
Forge
Fixed
- diagnostic paths referring to
tests
folder - caching
get_class_hash_at
in forking test mode (credits to @jainkunal for catching the bug)
0.9.0
Forge
Added
#[ignore]
attribute together with--ignored
andinclude-ignored
flags - read more here- support for
deploy_syscall
directly in the test code (alternative todeploy
) snforge_std::signature
module for performing ecdsa signatures
Changed
- updated Cairo version to 2.3.0 - compatible Scarb version is 2.3.0:
- tests in
src
folder now have to be in a module annotated with#[cfg(test)]
- tests in
snforge_std::PrintTrait
will not convert values representing ASCII control characters to strings- separated
snforge
to subcommands:snforge test
,snforge init
andsnforge clean-cache
.
Read more here. starknet::get_block_info
now returns correct block info in a forked block
Cast
Added
show-config
subcommand to display currently used configurationaccount delete
command for removing accounts from the accounts file--hex-format
flag has been added
Removed
-i
short for--int-format
is removed, now have to use the full form--int-format
0.8.3
Forge
Changed
- Test from different crates are no longer run in parallel
- Test outputs are printed in non-deterministic order
Fixed
- Test output are printed in real time again
- Bug when application would not wait for tasks to terminate after execution was cancelled
0.8.3-alpha.1
v0.8.3-alpha.1 update version
0.8.2
Forge
Fixed
- incorrect caller address bug in called contracts
0.8.1
Forge
Fixed
- significantly reduced ram usage
0.8.0
⚠️ This release has some bugs and might not be usable in your projects ⚠️
Fixes are coming in the next few days
Forge
Added
#[fuzzer(...)]
attribute allowing to specify a fuzzer configuration for a single test case- Support for
u8
,u16
,u32
,u64
,u128
,u256
types to fuzzer --clean-cache
flag- Changed interface of
L1Handler.execute
andL1Handler
(droppedfee
parameter, added result handling withRevertedTransaction
) - Contract now has associated state, more about it here
- cheatcodes (
prank
,roll
,warp
) now work on forked Cairo 0 contracts
Changed
0.7.1
Forge
Added
snforge_std
var
library function for reading environmental variables
Fixed
- Crashes while using any concrete
block_id
when using forking mode insnforge
0.7.0
Forge
Added
- Support for scarb workspaces
- Initial version of fuzz testing with randomly generated values
#[fork(...)]
attribute allowing testing against a network fork
Changed
- Tests are collected only from a package tree (
src/lib.cairo
as an entrypoint) andtests
folder:- If there is a
lib.cairo
file intests
folder, then it is treated as an entrypoint to thetests
package from which tests are collected - Otherwise, all test files matching
tests/*.cairo
regex are treated as modules and added to a single virtuallib.cairo
, which is treated as described above
- If there is a
You can read more about new test collection mechanism here
Cast
Added
account add
command for importing accounts to the accounts fileaccount create
command for creating openzeppelin accounts with starkli-style keystoreaccount deploy
command for deploying openzeppelin accounts with starkli-style keystore
Changed
--add-profile
no longer accepts-a
for short- allow the
id
property in multicalls to be referenced in the inputs ofdeploy
andinvoke
calls
0.6.0
Forge
Added
deploy_at
cheatcode- printing failures summary at the end of an execution
- filtering tests now uses an absolute module tree path — it is possible to filter tests by module names, etc.
Fixed
- non-zero exit code is returned when any tests fail
- mock_call works with dispatchers if contract does not exists
Cast
Added
- support for starkli-style accounts, allowing the use of existing accounts
Changed
- fixed misleading error message when there was no scarb in PATH and
--path-to-scarb-toml
was passed - modified
multicall new
command output, to be in line with other commands outputs