Releases: xJonathanLEI/starkli
v0.3.5
Highlights
New Cairo compiler versions
Built-in Cairo compiler versions now include 2.8.2.
Match all patch compiler versions
Starkli now supports ignoring the patch portion of the compiler when declaring, and it would automatically match the latest minor version. For example:
starkli declare --compiler-version 2.8 ...
Note that ideally users shouldn't have to specify a version at all, as it's usually automatically inferred from the network being used. That said, it might still be useful in some cases.
Full changes
Features
Misc
- db63131: upgrade Rust toolchain to 1.81.0
Full Changelog: v0.3.4...v0.3.5
v0.3.4
Highlights
New Cairo compiler versions
The built-in compiler versions have been changed to v2.6.4 and v2.7.1.
Support for JSON-RPC-formatted classes
Previously, to redeclare a class one must fetch the class with the --parse
flag to convert the over-the-wire class format to the one from compiler output. The same goes for calculating class hashes with class-hash
.
Users can now directly declare or compute class hashes for these wire-format classes. This now works:
starkli class-by-hash --network sepolia SOME_CLASS_HASH_HERE > class.json
starkli declare --network mainnet ./class.json
without having to use --parse
on the class-by-hash
command.
Custom OpenZeppelin account class hash
It's now possible to supply a custom account class hash when initializing an OZ account:
starkli account oz init --class-hash xxxx
Caution
This is a feature for advanced users. Starkli currently does not support fetching accounts with custom class hashes.
starkliup
improvements
Since the last release, several improvements have been made on starkliup
, including proper support for Fish shell. These changes are continuously deployed, so they have been available before this release was cut.
Full changes
Features
- 689d03f: upgrade cairo compiler to 2.7.1
- 56e044b: hashing and declaring jsonrpc-formatted classes
- 0e9b706: custom OZ account class hash
- e2210b1: upgrade cairo compiler to 2.6.4 and 2.7.0
- 56fcee1: support new Argent contract class hash (#92)
Fixed
- c730f64: starkliup: incorrect
zsh
detection withSHELL
- 950b63e: starkliup: env script POSIX compliance
- bb2bc2c: starkliup: support Fish shell
Misc
- 7fef2a7: chore: bump
time
dependency version
Full Changelog: v0.3.3...v0.3.4
v0.3.3
This release contains minor improvements:
A new abi
command has been added for quickly extracting ABI from class artifact files, and optionally displaying them as a Pythonic serialized string for other toolings:
starkli abi class.json --flatten --pythonic
The USDC token address has been added to the mainnet
address book as usdc
. Users can now more easily invoke commands involving USDC:
starkli invoke usdc transfer 0x1234 u256:123
The call
command now has a new option --block
for specifying the block to execute the query on:
starkli call eth balanceOf 0x1234 --block 100
where the --block
option takes any block number, hash, or the latest
or pending
tags.
Features
- e0d2798: add
abi
command - 0f3493f: mainnet address book entry for
usdc
- 61650d9:
--block
option forcall
command
Full Changelog: v0.3.2...v0.3.3
v0.3.2
This release brings Ledger support to Starkli. Users can now use Ledger as a signer for any command expecting one. This is now the recommended way of managing accounts with a significant amount of funds:
A new page on the Starkli book has been added as a complete guide on using Ledger with Starkli. Check out the page for more details.
Support for OpenZeppelin account contract v0.14.0 has also been added.
Features
- 4fc808d: read public key from Ledger wallet
- 721c433: get ledger app version
- 825adea: raw hash blind signing with Ledger
- 0c1627c: use Ledger as signer via
--ledger-path
- 2a2e672: oz account contract 0.14.0
- 92d3897: user-friendly EIP-2645 path parsing
- 05172e0: eip-2645 echo command
- b4eea71: display public key on Ledger by default
Fixed
- dca7d91: ledger path from env var not using extension
Misc
- c83b648: use latest starknet-rs rev
Full Changelog: v0.3.1...v0.3.2
v0.3.1
A quick release that adds support for OpenZeppelin account contract v0.13.0. starkli account oz init
now uses this hash.
Features
- 59a9739: feat: oz account contract 0.13.0
Full Changelog: v0.3.0...v0.3.1
v0.3.0
This is the first v0.3.x release, changing the supported JSON-RPC version from 0.6.0 to 0.7.1. Users who rely on the free RPC vendor feature will automatically start using the new spec version, whereas users manually setting their own RPC URL must make changes. Check your RPC endpoint version with the starkli spec-version
command.
This release also adds a few minor features:
--receipts
option for thestarkli block
command;- setting custom HTTP headers when configuring the RPC provider via profiles;
- a
--no-abi
option for hiding class ABI when declaring.
Features
- 7b243d1: fetch block receipts
- c95c49c: switch to jsonrpc v0.7.1
- 4cc8ad8: custom headers for rpc provider
- 0eeca84: option to withhold class abi
Misc
- d653792: switch to rust 1.78.0
- d9c76ae: remove udeps workflow
- d951283: fix wrong type name in profiles
Full Changelog: v0.2.9...v0.3.0
v0.2.9
This release adds support for v3 transactions, allowing transaction fees to be paid in STRK instead of ETH. For maintaining backward compatibility, the default fee token is still ETH at the moment. To pay fees in STRK instead, add --fee-token STRK
, or just --strk
. Example:
starkli invoke eth transfer 0x1234 u256:100 --strk
For more details on transaction fees, see the updated Transaction fees page from the Starkli Book.
Support for newer OpenZeppelin account classes has also been added.
Features
- 1325770: support oz v0.12.0 account
- 3624201: v3 transaction support
- aafbc0d: oz 0.11.0 account class
- 99d5652: oz 0.8.1.0, 0.9.0 and 0.10.0 account class hashes (#82)
- 3ef7b56: remove goerli networks
- ae0d626: use compiler 2.6.x for mainnet
Fixed
- 53ffb43: tilde in account path causing file not found error
Misc
- 9e36e46: document STRK tx fee payment
Full Changelog: v0.2.8...v0.2.9
v0.2.8
A quick patch release that makes transaction submission error details available.
Following the recent increase in class declaration fees, many users have started facing the cryptic ValidationFailure
error, which is in fact due to their accounts not having sufficient ETH
balance to cover the transaction cost. The failure reason is rather straightforward, but Starkli wasn't correctly displaying the error details, leaving users confused (until they use --log-traffic
to inspect the raw traffic).
This release fixes that by printing error details on transaction submission. Instead of:
Error: ValidationFailure
usrs should now expect something similar to (depending on node implementation):
Error: ValidationFailure: perform_validations call failed; failure reason: TransactionFailureReason(code='native_blockifier.PyTransactionPreValidationError', error_message='TransactionFeeError(MaxFeeExceedsBalance { max_fee: Fee(100000000000000000000), balance_low: StarkFelt("0x0000000000000000000000000000000000000000000000007daaaaeb34db38c7"), balance_high: StarkFelt("0x0000000000000000000000000000000000000000000000000000000000000000") })').
Fixed
- 9b313db: tx submission error details not displayed
Full Changelog: v0.2.7...v0.2.8
v0.2.7
This release adds support for Sierra 1.5.0 (Cairo 2.6.0+).
Goerli and Sepolia testnets have been upgraded to Starknet v0.13.1, bringing support for Sierra 1.5.0, which comes with a new CASM hash algorithm. Attempting to declare new Sierra classes with old clients would fail, even when manually specifying a CASM file via --casm-file
(it would work if the user somehow figures out the correct hash and uses --casm-hash
though). This new release solves this by automatically applying the new algorithm for Sierra 1.5.0+ classes.
Features
Misc
Full Changelog: v0.2.6...v0.2.7
v0.2.6
This release adds support for new account contracts used by Argent X and Braavos. The Braavos account contract has changed from Cairo 0 to Cairo 1.
A new built-in address book entry of strk
has also been added. Users can now invoke commands to transfer STRK tokens like so:
starkli invoke strk transfer ......
Features
- a301242: support new Braavos contract class hash
- 0a8da9c: add
strk
to default address book - 98a9009: support new Argent contract class hash
Full Changelog: v0.2.5...v0.2.6