Skip to content

Releases: starkware-libs/cairo-lang

v0.13.0a0

16 Nov 20:02
Compare
Choose a tag to compare
v0.13.0a0 Pre-release
Pre-release

Starknet

  • Add transaction v3:
    • Fee payment in STRK
    • Reserved fields for future features, such as volition and payment master
  • get_block API: Rename the gas_price field to eth_l1_gas_price and add a new field strk_l1_gas_price (this applies to old blocks as well)
  • Update Sierra version used in Starknet to 1.4.0 (introduced in crate version v2.4.0 of the cairo package)

v0.12.3a2

15 Nov 16:24
Compare
Choose a tag to compare
v0.12.3a2 Pre-release
Pre-release

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 the secp256k1 code to secp256r1!
  • Restriction for __validate__ and the constructor of DeployAccount transactions:
    • Restrict access to sequencer_address in the get_execution_info syscall - return zero values
    • Restrict access to some syscalls:
      • Cairo contracts: get_block_hash
      • CairoZero contracts: get_sequencer_address

CairoZero

  • Move structs that are common to secp256k1 and secp256r1 to a separate file

v0.12.3a1

05 Nov 10:23
Compare
Choose a tag to compare
v0.12.3a1 Pre-release
Pre-release

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 the secp256k1 code to secp256r1!
  • Restriction for __validate__ and the constructor of DeployAccount transactions:
    • Restrict access to sequencer_address in the get_execution_info syscall - return zero values
    • Restrict access to some syscalls:
      • Cairo contracts: get_block_hash
      • CairoZero contracts: get_sequencer_address

CairoZero

  • Move structs that are common to secp256k1 and secp256r1 to a separate file

v0.12.3a0

24 Oct 05:34
Compare
Choose a tag to compare
v0.12.3a0 Pre-release
Pre-release

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 the secp256k1 code to secp256r1!
  • Restriction for __validate__ and the constructor of DeployAccount transactions:
    • Restrict access to block_number, block_timestamp and sequencer_address in the get_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

CairoZero

  • Move structs that are common to secp256k1 and secp256r1 to a separate file

v0.12.2

21 Aug 12:36
Compare
Choose a tag to compare

Starknet

  • Add sequencer signature on block hash and state diff, using the following API (see here):
    • get_signature - returns the signature on the data
    • get_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

15 Aug 14:37
Compare
Choose a tag to compare
v0.12.2a0 Pre-release
Pre-release

Starknet

  • Add sequencer signature on block hash and state diff, using the following API (see here):
    • get_signature - returns the signature on the data
    • get_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

07 Aug 10:58
Compare
Choose a tag to compare

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.1a0

19 Jul 15:50
Compare
Choose a tag to compare
v0.12.1a0 Pre-release
Pre-release

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

04 Jul 10:29
Compare
Choose a tag to compare

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 to ACCEPTED_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

28 Jun 11:45
Compare
Choose a tag to compare
v0.12.0a0 Pre-release
Pre-release

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 to ACCEPTED_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)