Releases: foundry-rs/starknet-foundry
Releases · foundry-rs/starknet-foundry
0.27.0
Forge
Added
spy_messages_to_l1()
for listening in on messages to L1 sent by your contracts. Read more here.
Changed
- Renamed global cheatcodes listed here - cheatcode invocations affecting the global scope and working indefinitely, already marked with a
_global
suffix, received astart_
prefix
Cast
Added
verify
subcommand to verify contract (walnut APIs supported as of this version). Read more here- support for v3 transactions on account deploy, deploy, declare, invoke
- Newest class hash for OpenZeppelin account contracts
account list
subcommand for listing all available accounts Read more here
Changed
multicall new
no longer prints generated template to stdout and now requires specifying output path. Read more here
0.26.0
0.25.0
Forge
Changed
SyscallResultStringErrorTrait::map_error_to_string
removed in favor of utility function (snforge_std::byte_array::try_deserialize_bytearray_error
)
Cast
Removed
--class-hash
flag fromaccount deploy
command
Added
tx-status
subcommand to get transaction status. Read more heretx_status
function to cast_std. Read more here- Support for creating argent accounts
- Support for creating braavos accounts
0.24.0
Forge
Removed
prank
,warp
,roll
,elect
,spoof
cheatcodes in favour ofcheat_execution_info
Added
cheat_execution_info
cheatcode and per variable helpers for it
Changed
-
SignerTrait::sign
now returnsResult
instead of failing the test -
L1HandlerTrait::execute()
takes source address and payloads as arguments Read more here -
When calling to an address which does not exists, error is forwarded to cairo runtime instead of failing the test
Cast
Added
- New required flag
--type
toaccount add
command
0.23.0
Forge
Removed
event_name_hash
removal, in favour ofselector!
usage
Changed
- the tool now always compiles Sierra contract artifacts to CASM using
USC
- before it used to consume CASM artifacts
produced by Scarb if they were present. Setting upcasm = true
inScarb.toml
is no longer recommended - it may slow
down the compilation.
Cast
Changed
- the tool now always compiles Sierra contract artifacts to CASM using
USC
- before it used to consume CASM artifacts
produced by Scarb if they were present. Setting upcasm = true
inScarb.toml
is no longer recommended - it may slow
down the compilation.
Fixed
- scripts built with release profile are now properly recognized and ran
0.22.0
Forge
Changed
deploy
/deploy_at
now additionally return the constructor return data viaSyscallResult<(ContractAddress, Span<felt252>)>
declare
returnsResult<ContractClass, Array<felt252>>
instead ofContractClass
L1HandlerTrait::execute()
returnsSyscallResult<()>
SyscallResultStringErrorTrait::map_string_error
renamed toSyscallResultStringErrorTrait::map_error_to_string
var
now supportsByteArray
with double quoting, and returnsArray<felt252>
instead of a singlefelt252
Removed
snforge_std::RevertedTransaction
0.21.0
Forge
Changed
read_txt
andread_json
now supportsByteArray
Cast
Added
- sncast script idempotency feature - every action done by the script that alters the network state will be tracked in state file,
and won't be replayed if previously succeeded
0.20.1
v0.20.1 Patch version 0.20.1 (#1933)
0.20.0
Forge
Added
- variants of cheatcodes with
CheatSpan
(read more here) - Providing configuration data with env variables DOCS
Fixed
- Events emitted in cairo 0 contracts are now properly collected
--build-profile
no longer fails silently (compatible withcairo-profiler
0.2.0)
Changed
- Default
chain_id
has been changed fromSN_GOERLI
toSN_SEPOLIA
- Supported RPC version is now 0.7.0
- Gas calculation is in sync with starknet 0.13.1 (with EIP 4844 blob usage enabled)
- Resources displayed (steps, builtins) now include OS costs of syscalls
Cast
Added
- Support for OpenZeppelin Cairo 1 (or higher) accounts creation, deployment and usage
- Providing configuration data with env variables DOCS
Changed
- Supported RPC version is now 0.7.0
- Default class hash in
account create
andaccount deploy
has been changed to cairo2 class hash
0.19.0
Forge
Added
replace_bytecode
cheatcode- result of the call to the trace
- added
--build-profile
flag to the--test
command. Saves trace data and then builds profiles of test cases which pass and are not fuzz tests. You need cairo-profiler installed on your system. - dependency on the universal-sierra-compiler
binary, which will allow forge to be independent of sierra version
Changed
var()
,read_txt()
,read_json()
,FileTrait::new()
,declare()
now use regular strings (ByteArray
) instead of short strings (felt252
)start_mock_call()
,stop_mock_call()
,L1Handler
now use selector (selector!()
) instead of names
Cast
Changed
declare()
now uses regular strings (ByteArray
) instead of short strings (felt252
)call()
andinvoke()
now require function selector (selector!()
) instead of function name in scripts (sncast_std)
Removed
--path-to-scarb-toml
optional flag that allowed to specify the path to theScarb.toml
file--deployed
flag fromaccount add
subcommand