Releases: xJonathanLEI/starkli
v0.3.6
Highlights
New Cairo compiler versions
Built-in Cairo compiler versions now include 2.9.1, which is now used by default as v2.9.x uses the same Sierra revision as v2.8.x.
Easier scripting with STARKNET_KEYSTORE_PASSWORD
env var
A new environment variable STARKNET_KEYSTORE_PASSWORD
has been added to allow scripts to be easily configured to run non-interactively. It has the same effect as the --keystore-password
option.
Argent account contract v0.4.0 support
Argent argent contract v0.4.0 contains a breaking change on the constructor signature. Starkli has now been updated to use this new signature. Previous versions of Starkli cannot deploy the latest Argent account (though fetching and using them were not affected).
New Braavos account class hash
Added new hash as of extension version v3.80.7.
New OZ account class hashes
OZ class hashes for v0.15.0 to v0.19.0 have been added.
Full changes
Features
- 0fcc31d: support new Braavos class hash when fetching (#109)
- 2cff069: support cairo compiler v2.9.x
- 55a1bb4: update built-in katana account list
- c20135e: oz account contracts 0.15.0-0.19.0
- 1bed333: STARKNET_KEYSTORE_PASSWORD env var
Fixed
- 5b4f853: Argent account v0.4.0 deployment
Misc
- 4d45ec1: upgrade rust to 1.83
- 8d55d17: update starknet-rs to latest release
- b819661: unify tty color check
- df10e5b: remove
AnyProvider
usage - 669a6f0: make Ledger support option
Full Changelog: v0.3.5...v0.3.6
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