Releases: xJonathanLEI/starkli
v0.2.5
This release brings a few quality of life improvements:
- Added 2 new commands:
status
andblock-traces
. - Starkli now uses Cairo v2.4.0 by default on all networks.
- The
call
command now also (just likeinvoke
etc.) prints contract error details when it fails. - A warning would now be printed when users attempt to use Starkli with a node that offers an incompatible JSON-RPC version.
Notably, the JSON-RPC version warning is currently only printed for methods that are known to be incompatible, so Starkli only warns you when it knows for sure it will fail. In fact, to avoid excessive network requests, Starkli wouldn't even send the starknet_specVersion
request for methods that it knows are compatible.
Features
- 348bc75: add
status
command - 3642be9: print warning on methods with breaking changes between specs
- b81109e: use compiler v2.4.0 by default for all networks
- ca1739c: add block-traces comand
- ccac7ca: print error details on
call
Misc
- b04d24f: upgrade to rust 1.75.0
Full Changelog: v0.2.4...v0.2.5
v0.2.4
This release fixes a bug regarding free RPC vendors, where Starkli would always use blast
even when configured (or randomly chosen) to use nethermind
.
A new spec-version
command is introduced for quickly checking what JSON-RPC version an RPC endpoint offers.
Additionally, support for OpenZeppelin account contract v0.8.0 has been added. New accounts initialized with starkli account oz init
will use this new version.
Features
- 7e71689: new built-in account list for katana v0.5.0
- a863e68: spec-version command
- e41bb99: support oz account v0.8.0
Fixed
- 00cddfb: wrong URL used for nethermind free provider
Full Changelog: v0.2.3...v0.2.4
v0.2.3
This release fixes an issue when an error occurs during fee estimation, where Starkli only displays the error type, without providing detailed error information. This makes debugging difficult without resorting to --log-traffic
.
Before v0.2.3, an error might look like this:
Error: TransactionExecutionError
With v0.2.3, the same error would look like this instead:
Error: TransactionExecutionError (tx index 0): Error in the called contract (0x03ee96fce6ff0fa1779dc5e53e1f43ad0b7ea2b8772c3b4c46fd8a964a958ca0):
Error at pc=0:4273:
Got an exception while executing a hint: Custom Hint Error: Execution failed. Failure reason: 0x753235365f737562204f766572666c6f77 ('u256_sub Overflow').
Cairo traceback (most recent call last):
Unknown location (pc=0:67)
Unknown location (pc=0:1997)
Unknown location (pc=0:2727)
Unknown location (pc=0:3582)
Features
- 260ea7a: print error details
Full Changelog: v0.2.2...v0.2.3
v0.2.2
This is a small release that only makes the new Braavos class hash (0x0553efc3f74409b08e7bc638c32cadbf1d7d9b19b2fdbff649c7ffe186741ecf
) available for account fetching. The old class hash is still used for account initialization, as the new hash is currently only used for sepolia
, and not on goerli
or mainnet
.
Features
- d2c3342: add new Braavos class hash
Full Changelog: v0.2.1...v0.2.2
v0.2.1
This release introduces two major features:
- Initial profiles support. See the Profiles page from the book for details.
- Free RPC vendors. See this section from the book for details.
Together, these two features allow us to replicate the zero-setup experience Starkli used to offer when the sequencer gateway provider was still around. To use the free vendors, simply use the --network
option with the STARKNET_RPC
environment variable unset, exactly like how you would use the sequencer gateway before:
starkli block-number --network mainnet
When this is done for the first time, Starkli chooses a free RPC vendor randomly, and persists the choice into the default
profile.
Features
- 5f5da16: allow chain ID duplications in profiles
- 27402da: initial profile and free RPC vendors support
Fixed
- 77da8e7:
eth
address not defined insepolia
andsepolia-integration
Misc
- 04998f6: add Profiles page to book
- 3a3b42f: update Providers page to reflect latest changes
- 8c5cd79: bump starknet version
Full Changelog: v0.2.0...v0.2.1
v0.2.0
This release introduces a breaking change of moving away from JSON-RPC v0.4.0 to v0.6.0. This is needed to properly support Starknet v0.13.0, as both JSON-RPC v0.4.1 and v0.5.0 fail to properly represent v3 transactions introduced in the new version.
Note
At the moment, each Starkli version only works with one JSON-RPC spec version. You're advised to use JSON-RPC v0.6.0 at this point, but if you have to use JSON-RPC v0.4.0, you'll need to downgrade Starkli to an older version.
A new built-in compiler version v2.4.0 has been added and is now used by default for networks running v0.13.0. Additionally, the network goerli-2
has been removed, and two new networks sepolia
and sepolia-integration
have been added.
A new --parse
flag has been added to the class-at
and class-by-hash
commands to attempt to recover the original contract class artifacts from JSON-RPC provider responses. This is to solve the issue of not being able to re-declare classes due to the discrepancy in structures of a raw contract artifact from compiler output, and that of JSON-RPC. Using the new flag results in output that's formatted the same as raw compiler output.
Note
An alternative to supporting contract artifact recovery is to support declaring from raw JSON-RPC responses. However, the former is considered superior, as this recovered artifact can also be used outside of Starkli.
However, contract artifacts may not be recoverable under all cases, specifically when the ABI isn't valid JSON. These edge cases call for the latter approach (i.e. declaring directly from JSON-RPC response), which will be implemented in a future version.
Features
- e196118: add sepolia-integration network
- 89bab93: switch to jsonrpc v0.6.0
- 7ddb0fd: add sepolia network
- 426ef54: use compiler v2.4.0 for goerli and integration
- d44ed7e: add
2.4.0
compiler version (#51) - 08b9571: parse fetched classes into original artifacts
- e35c105: remove goerli-2 network
Misc
- 42c7cfc: fix typos
Full Changelog: v0.1.20...v0.2.0
v0.1.20
This release is just for adding support for the new flat
event kind introduced in Cairo v2.3.0.
Fixed
- 4ed026b: support
flat
event type in ABI
Full Changelog: v0.1.19...v0.1.20
v0.1.19
This release adds a workaround for a bug where JSON-RPC nodes return an incorrect error code for non-existent transaction hash. This was not surfaced before as starknet-rs
used to gracefully handle the wrong code.
Considering that it takes time for buggy nodes to be patched and for the fix to be released and deployed, Starkli is adding the workaround first to avoid issues.
Features
- 79059fb: work around wrong error code from nodes
Full Changelog: v0.1.18...v0.1.19
v0.1.18
This release brings support for tracing methods in the JSON-RPC spec: a new flag --simulate
for transaction-sending commands, and a trace
command for querying transaction traces.
There are also a few QoL improvements, including the addition of support for setting plain private keys via environment variables. See the feature list for details.
Features
- e774b45: short flag -w for --watch
- eeb5602: make
receipt
the canonical command name - b24149a: add trace command
- 2384b57: transaction simulation
- e853927: manually specify transaction nonces
- d0e96eb: argument resolution for
storage
command - 884279e: apply argument resolution to selectors
- f379378: option to disable private key warning
- 5d27c90: setting private key via env var
- ee078d2: bn alias for block-number
Full Changelog: v0.1.17...v0.1.18
v0.1.17
A small release mainly to make the ancient class hash calculation bug fix available.
Starting from this release, multi-arch Docker images (also built from CI) will be available for Starkli at Docker Hub.
Features
- 2256413: configurable tx poll interval
Fixed
- 6aac2fb: hash calculation for ancient contract classes
Full Changelog: v0.1.16...v0.1.17