Releases: starkware-libs/cairo-lang
Releases Β· starkware-libs/cairo-lang
v0.11.2
Starknet:
- Allow the use of Cairo 1.0 on Starknet mainnet
- Update Sierra->Casm compiler version to 1.1.0. Note that contracts that were compiled with v1.0.0 cannot be declared in this version. However, if they were already declared, they can still be used, and more instances can be deployed
v0.11.2a0
Starknet:
- Allow the use of Cairo 1.0 on Starknet mainnet
- Update Sierra->Casm compiler version to 1.1.0-rc0. Note that contracts that were compiled with v1.0.0 cannot be declared in this version. However, if they were already declared, they can still be used, and more instances can be deployed
v0.11.1.1
v0.11.1
Starknet:
- Upgrade Cairo 1.0 version to
v1.0.0-rc0
- Charged transaction fee is now based on an average Ethereum gas price instead of a single sample (estimation API is unaffected)
- API changes:
- Remove the state root in
get_state_update
for pending blocks to allow faster responses in future versions
- Remove the state root in
- Testing framework:
- Allow declaring (and interacting with) Cairo 1.0 contracts.
- Currently, the Cairo 1.0 ABI is not supported yet, so a Cairo 0 ABI should be supplied to
declare()
manually.
- Currently, the Cairo 1.0 ABI is not supported yet, so a Cairo 0 ABI should be supplied to
- Split
deploy()
to two phases declare and deploy:deprecated_declare()
(for Cairo 0 contract) ordeclare()
(for Cairo 1.0 contracts) anddeploy()
(for both)
- Allow declaring (and interacting with) Cairo 1.0 contracts.
- Add current block hash to the Starknet Core contract (currently not verified by the Starknet OS):
- Breaking change: The
LogStateUpdate
event's data is changed to includeblockHash
- Breaking change: The
Other changes:
- Change build system from CMake to bazel
v0.11.1a0
Starknet:
- Upgrade Cairo 1.0 version to
v1.0.0-rc0
- Charged transaction fee is now based on an average Ethereum gas price instead of a single sample (estimation API is unaffected)
- API changes:
- Remove the state root in
get_state_update
for pending blocks to allow faster responses in future versions
- Remove the state root in
- Testing framework:
- Allow declaring (and interacting with) Cairo 1.0 contracts.
- Currently, the Cairo 1.0 ABI is not supported yet, so a Cairo 0 ABI should be supplied to
declare()
manually.
- Currently, the Cairo 1.0 ABI is not supported yet, so a Cairo 0 ABI should be supplied to
- Split
deploy()
to two phases declare and deploy:deprecated_declare()
(for Cairo 0 contract) ordeclare()
(for Cairo 1.0 contracts) anddeploy()
(for both)
- Allow declaring (and interacting with) Cairo 1.0 contracts.
- Add current block hash to the Starknet Core contract (currently not verified by the Starknet OS):
- Breaking change: The
LogStateUpdate
event's data is changed to includeblockHash
- Breaking change: The
Other changes:
- Change build system from CMake to bazel
v0.11.0.2
Starknet:
- Declaring Cairo 1.0 contract classes using the CLI:
- Allow specifying the Sierra->Casm compiler in
starknet declare
using--compiler_dir
to override the use of the default compiler- The value should point to a directory containing the
starknet-sierra-compile
executable, which can be obtained by building the Cairo 1.0 compiler (via runningcargo build --release
from the root folder of the compiler)
- The value should point to a directory containing the
- Allow specifying the compiler's arguments using
--compiler_args
(when using this flag, be sure to include--add-pythonic-hints
in the compiler arguments)
- Allow specifying the Sierra->Casm compiler in
- web3.py v6.0.0 support in the python package
- Rename the old (Cairo 0)
starknet-compile
executable tostarknet-compile-deprecated
v0.11.0.1
v0.11.0
Starknet:
- Initial support of Cairo 1.0 contracts:
- New declare transaction version for declaring Cairo 1.0 contracts
- Deploy and invoke are supported for Cairo 1.0 contract
- The Cairo 1.0 ABI is not supported yet, so using
starknet invoke
requires omitting the--abi
argument
- The Cairo 1.0 ABI is not supported yet, so using
- New API:
get_compiled_class_by_class_hash
- returns the compiled class (CASM) of the given contract class
- Changes to on-chain data format. Include the Cairo1.0 declared classes and changes to the class hash of a given contract instance. See more information here
- Support for Poseidon hash (only in Cairo0 contracts)
- New syscall:
replace_class
- replaces the class of the contract calling it. This syscall can replace the proxy mechanism for upgradable contracts - Mandatory message fees for messages from L1 to L2
- version-0
INVOKE
andDECLARE
transactions will no longer be supported in Starknet Alpha v0.11.0 (this unrelated to the continued support of Cairo 0 contracts)
Cairo:
- New builtins:
- Poseidon hash function (efficient, STARK-friendly hash function)
- Keccak hash function (currently, the keccak builtin cannot be used in Starknet)
v0.11.0-pre3
Starknet:
- Initial support of Cairo1.0 contracts:
- New declare transaction version for declaring Cairo1.0 contracts
- Changes to on-chain data format. Include the Cairo1.0 declared classes and changes to the class hash of a given contract instance. See more information here
- Support for Poseidon hash (only in Cairo0 contracts)
Cairo:
- New builtins:
- Poseidon hash function (efficient, STARK-friendly hash function)
- Keccak hash function (currently, the keccak builtin cannot be used in Starknet)
v0.11.0-pre2
Starknet:
- Initial support of Cairo1.0 contracts:
- New declare transaction version for declaring Cairo1.0 contracts
- Changes to on-chain data format. Include the Cairo1.0 declared classes and changes to the class hash of a given contract instance. See more information here
- Support for Poseidon hash (only in Cairo0 contracts)
Cairo:
- New builtins:
- Poseidon hash function (efficient, STARK-friendly hash function)
- Keccak hash function (currently, the keccak builtin cannot be used in Starknet)