Skip to content

Releases: xJonathanLEI/starkli

v0.2.0

21 Dec 04:20
49b25f9
Compare
Choose a tag to compare

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

Full Changelog: v0.1.20...v0.2.0

v0.1.20

08 Nov 10:16
e4d2307
Compare
Choose a tag to compare

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

01 Nov 04:58
3fd85cf
Compare
Choose a tag to compare

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

26 Oct 10:13
0b7cba2
Compare
Choose a tag to compare

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

09 Oct 14:20
2e1d7a8
Compare
Choose a tag to compare

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

v0.1.16

07 Oct 01:02
87be1b1
Compare
Choose a tag to compare

This release adds support for OpenZeppelin account with Cairo 1. Users can now deploy OZ accounts on mainnet without worrying about being prune at regenesis.

Additionally, a new mechanism of "built-in" accounts, which can be used by simply setting --account or STARKNET_ACCOUNT to unique identifiers instead of account file paths. This is useful for accessing pre-funded accounts in development networks, and helps new users get started with Starknet faster.

An example of using such an account is:

starkli invoke --account katana-0 eth transfer ...

Note that there's no need to supply a signer, as it's already included in the built-in account specified.

Features

  • 7274ad1: switch to cairo 1 oz account
  • 3e45b79: built-in Katana accounts
  • f03f7d2: use pending block for account deployment

Misc

  • 2b25eda: more flexible signer resolution

Full Changelog: v0.1.15...v0.1.16

v0.1.15

19 Sep 17:51
995c95a
Compare
Choose a tag to compare

A small release to make the widely used OZ account deployment fetchable. Also adds support for katana address book.

Features

  • fb39d31: katana eth address
  • 5a5cc1a: add oz account v0.5.0 to registry

Full Changelog: v0.1.14...v0.1.15

v0.1.14

15 Sep 20:52
c7fbfc8
Compare
Choose a tag to compare

This release brings Argent X Cairo 1 account contract support. It also switches to use query-only transaction versions for fee estimation.

Note

If you upgraded your legacy Argent X accounts outside of Starkli, you'll need to re-fetch the account file via the starkli account fetch command to make it work. Otherwise, Starkli would attempt to use the Cairo 0 encoding on the account as it relies on the account file to determine whether it's a legacy account.

Features

  • 430f46e: Argent Cairo 1 account contract support
  • 05ebd12: use query-only version for fee estimation

Full Changelog: v0.1.13...v0.1.14

v0.1.13

02 Sep 05:06
305a9b1
Compare
Choose a tag to compare

This release makes it easier to work with new Cairo versions by offering more ways to compute the CASM hash needed for contract declration. Previously, users had to either use a bundled version or directly supply a CASM hash.

In addition, initial support for using Cairo 1 account contracts has been added to the OpenZeppelin account variant. However, since OpenZeppelin hasn't officially released their Cairo 1 version, Starkli does not support creating Cairo 1 accounts yet.

For users that want to use Starkli for Cairo 1 account contracts, a temporary workaround exists by modifying an existing OpenZeppelin account file to change its legacy field to false. If the field does not exist, re-fetch the account file first.

Important

The workaround for using Cairo 1 account contracts mentioned above is not considered supported. Manually tampered account files may be broken by a future release. Users would need to fetch/re-create their account files in the event of tampered account file breaking.

Features

  • 12c510c: declare with already-compiled CASM file
  • 8d2fe49: use local Sierra compiler binary
  • afc85bc: support Cairo 1 account contract

Misc

  • aa62521: refactor: centralize account loading
  • d106d62: support Android Termux

Full Changelog: v0.1.12...v0.1.13

v0.1.12

29 Aug 04:25
025259a
Compare
Choose a tag to compare

This release fixes a bug in keystore path tilde expansion when using the flag like --keystore=~. It also fixes a keystore decryption bug on Android.

Starting from this release, pre-built release binaries are available for aarch64 Android devices (via Termux). starkliup does not support Android at the moment, so users would need to manually download the binaries for now.

Features

  • 1b32cad: randomized mine-udc-salt

Fixed

  • c1c37d1: keystore path tilde expansion
  • 4c827d9: unable to decrypt keystore on android

Full Changelog: v0.1.11...v0.1.12