Skip to content

Releases: xJonathanLEI/starkli

v0.3.5

23 Sep 02:44
fa4f0e3
Compare
Choose a tag to compare

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

  • 14ad06f: upgrade cairo compiler to 2.8.2
  • 22db631: allow omitting compiler patch version

Misc

  • db63131: upgrade Rust toolchain to 1.81.0

Full Changelog: v0.3.4...v0.3.5

v0.3.4

20 Aug 14:46
9f6ea67
Compare
Choose a tag to compare

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 with SHELL
  • 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

17 Jul 22:02
1a028fb
Compare
Choose a tag to compare

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 for call command

Full Changelog: v0.3.2...v0.3.3

v0.3.2

30 Jun 06:18
89690d4
Compare
Choose a tag to compare

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:

Starknet Ledger app

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

14 Jun 17:55
8c039be
Compare
Choose a tag to compare

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

22 May 05:54
765251d
Compare
Choose a tag to compare

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 the starkli 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

Full Changelog: v0.2.9...v0.3.0

v0.2.9

02 May 03:55
0535f44
Compare
Choose a tag to compare

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

19 Mar 22:25
f59724e
Compare
Choose a tag to compare

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

10 Mar 05:54
1fe0590
Compare
Choose a tag to compare

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

  • 4ffb768: add support for Sierra 1.5.0
  • b313230: change default compiler version to 2.5.4

Misc

  • e9a28f1: add dockerfile
  • 789203f: provider requirement for account deploy

Full Changelog: v0.2.6...v0.2.7

v0.2.6

24 Feb 03:50
fa78acc
Compare
Choose a tag to compare

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