Releases: starkware-libs/cairo-lang
Releases Β· starkware-libs/cairo-lang
v0.13.0a0
Starknet
- Add transaction v3:
- Fee payment in STRK
- Reserved fields for future features, such as volition and payment master
get_block
API: Rename thegas_price
field toeth_l1_gas_price
and add a new fieldstrk_l1_gas_price
(this applies to old blocks as well)- Update Sierra version used in Starknet to
1.4.0
(introduced in crate versionv2.4.0
of the cairo package)
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)