Releases: starkware-libs/cairo-lang
Releases · starkware-libs/cairo-lang
v0.12.3a2
Starknet
- Performance optimizations in the gateway, the computation of the Patricia storage root and block hash
- Support
secp256r1
syscalls in the Starknet OS. Thanks to Braavos for adapting thesecp256k1
code tosecp256r1
! - Restriction for
__validate__
and the constructor ofDeployAccount
transactions:- Restrict access to
sequencer_address
in theget_execution_info
syscall - return zero values - Restrict access to some syscalls:
- Cairo contracts:
get_block_hash
- CairoZero contracts:
get_sequencer_address
- Cairo contracts:
- Restrict access to
CairoZero
- Move structs that are common to
secp256k1
andsecp256r1
to a separate file
v0.12.3a1
Starknet
- Performance optimizations in the gateway, the computation of the Patricia storage root and block hash
- Support
secp256r1
syscalls in the Starknet OS. Thanks to Braavos for adapting thesecp256k1
code tosecp256r1
! - Restriction for
__validate__
and the constructor ofDeployAccount
transactions:- Restrict access to
sequencer_address
in theget_execution_info
syscall - return zero values - Restrict access to some syscalls:
- Cairo contracts:
get_block_hash
- CairoZero contracts:
get_sequencer_address
- Cairo contracts:
- Restrict access to
CairoZero
- Move structs that are common to
secp256k1
andsecp256r1
to a separate file
v0.12.3a0
Starknet
- Performance optimizations in the gateway and the computation of the Patricia storage root
- Support
secp256r1
syscalls in the Starknet OS. Thanks to Braavos for adapting thesecp256k1
code tosecp256r1
! - Restriction for
__validate__
and the constructor ofDeployAccount
transactions:- Restrict access to
block_number
,block_timestamp
andsequencer_address
in theget_execution_info
syscall - return zero values - Restrict access to some syscalls:
- Cairo contracts:
get_block_hash
- CairoZero contracts:
get_block_number
,get_block_timestamp
,get_sequencer_address
- Cairo contracts:
- Restrict access to
CairoZero
- Move structs that are common to
secp256k1
andsecp256r1
to a separate file
v0.12.2
Starknet
- Add sequencer signature on block hash and state diff, using the following API (see here):
get_signature
- returns the signature on the dataget_public_key
- returns the public key used to sign blocks
- Increase the maximum number of steps in a single transaction from 1M to 3M
- Add
0x
prefix in the API responses for state roots - Add an optional parameter to
get_state_update
API -includeBlock
which adds block information to the response (see here) - An improvement to the max throughput
v0.12.2a0
Starknet
- Add sequencer signature on block hash and state diff, using the following API (see here):
get_signature
- returns the signature on the dataget_public_key
- returns the public key used to sign blocks
- Increase the maximum number of steps in a single transaction from 1M to 3M
- Add
0x
prefix in the API responses for state roots - Add an optional parameter to
get_state_update
API -includeBlock
which adds block information to the response (see here) - An improvement to the max throughput
v0.12.1
Starknet
- Take fee for reverted transactions. At this phase, the Starknet OS doesn't prove that the transactions failed. This will change once the move to Sierra is complete
- Early rejection of transactions that (1) do not pass
validate
(2) have an old nonce or (3) do not pay enough fee- See here for more information
- Support of
keccak
andSecp256k1
- Fixed a bug where transactions that changed the ETH balance of a user were charged twice for it (once because of reducing the fee and once because of the transaction itself)
v0.12.1a0
Starknet
- Take fee for reverted transactions. At this phase, the Starknet OS doesn't prove that the transactions failed. This will change once the move to Sierra is complete
- Early rejection of transactions that (1) do not pass
validate
(2) have an old nonce or (3) do not pay enough fee- See here for more information
- Support of keccak and Secp256k1
- Fixed a bug where transactions that changed the ETH balance of a user were charged twice for it (once because of reducing the fee and once because of the transaction itself)
v0.12.0
Starknet
- Use the rust blockifier and LambdaClass's Cairo VM to accelerate the sequencer's time to handle transactions
- Support version 2.0.0 of the Cairo compiler
- Replace the
PENDING
status of transactions toACCEPTED_ON_L2
- once a transaction is in that status it means that it will be included in a block (this applies to transactions - blocks still have the PENDING status) - Add an experimental
get_block_hash
syscall (we plan to review how useful this syscall is, so treat it as experimental. We recommend using it only in upgradable contracts) - Change HTTP error code from 500 to 400 on API errors
v0.12.0a0
Starknet
- Use the rust blockifier and LambdaClass's Cairo VM to accelerate the sequencer's time to handle transactions
- Support version 2.0.0 of the Cairo compiler
- Replace the
PENDING
status of transactions toACCEPTED_ON_L2
- once a transaction is in that status it means that it will be included in a block (this applies to transactions - blocks still have the PENDING status) - Add an experimental
get_block_hash
syscall (we plan to review how useful this syscall is, so treat it as experimental. We recommend using it only in upgradable contracts)
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