Releases: foundry-rs/starknet-foundry
Releases · foundry-rs/starknet-foundry
0.29.0
0.28.0
Forge
Breaking Changes
- Forge 0.28.0 requires Scarb >= 2.7.0
- Asserts (eg
assert_eq!) now have to be included as a scarb dependency by addingassert_macros = "0.1.0"to dependencies section ofScarb.toml
Changed
- Cairo version is bumped to
2.7.0 - Max steps in tests (configured by argument
--max-n-steps) now defaults to 10 million
if not provided (changed from 4 million). - Fork tests now discover chain ID via provided RPC URL, defaulting to
SN_SEPOLIA #[fork]attribute parameters format. Read more here- Steps counting
- Block tag changed name from
Latesttolatest declarecheatcode now returnsResult<DeclareResult, Array<felt252>>. Read more here
Cast
Added
- Commands that commit transactions now display links to block explorers. When in human-readable mode,
invoke,declare,deploy,multicall run,account createandaccount deploywill display additional information with an url. A new key in Cast configuration -block-explorerdetermines which block explorer service the displayed link leads to. Possible options are:StarkScan,Voyager,ViewBlock,OkLink,NftScan.
Changed
-
account createoutputs hint about the type of the tokens required to prefund a newly created account with before deployment -
sncastno longer expects--urlas a common argument. It is now required specifically by commands that utilise it, i.e.account add,account create,account delete,account deploy,multicall run,script run,call,declare,deploy,invoke,show-config,tx-status.
Commands that do not require--urlanymore:account list,multicall new,script init,verify
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
_globalsuffix, received astart_prefix
Cast
Added
verifysubcommand 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 listsubcommand for listing all available accounts Read more here
Changed
multicall newno 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_stringremoved in favor of utility function (snforge_std::byte_array::try_deserialize_bytearray_error)
Cast
Removed
--class-hashflag fromaccount deploycommand
Added
tx-statussubcommand to get transaction status. Read more heretx_statusfunction 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,spoofcheatcodes in favour ofcheat_execution_info
Added
cheat_execution_infocheatcode and per variable helpers for it
Changed
-
SignerTrait::signnow returnsResultinstead 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
--typetoaccount addcommand
0.23.0
Forge
Removed
event_name_hashremoval, 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 = trueinScarb.tomlis 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 = trueinScarb.tomlis 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_atnow additionally return the constructor return data viaSyscallResult<(ContractAddress, Span<felt252>)>declarereturnsResult<ContractClass, Array<felt252>>instead ofContractClassL1HandlerTrait::execute()returnsSyscallResult<()>SyscallResultStringErrorTrait::map_string_errorrenamed toSyscallResultStringErrorTrait::map_error_to_stringvarnow supportsByteArraywith double quoting, and returnsArray<felt252>instead of a singlefelt252
Removed
snforge_std::RevertedTransaction
0.21.0
Forge
Changed
read_txtandread_jsonnow 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)