Cairo-lang

Latest version: v0.13.3

Safety actively analyzes 688775 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 10 of 11

0.4.0

Not secure
**StarkNet** (Alpha 2)

* Moved from Ropsten to Goerli
* Contract interaction - contracts can invoke external functions of other L2 contracts
- L2 contract interface
- Get caller address system call
* Bitwise builtin is now supported in StarkNet
* Testing framework for StarkNet contract unit tests
* Patricia tree

Note: The StarkEx2.0 Cairo code was removed from the repo in this version. You may read it from a previous commit.

0.3.1

Not secure
**StarkNet**

* CLI can now invoke transactions with arrays (thanks, kobigurk)
* New uint256 arithmetic functions.
* Bug fix: finialize_default_dict can now be used in StarkNet

**SHARP**

* Bitwise builtin can be used in SHARP (soon in StarkNet)
* SHARP testnet was moved from Ropsten to Goerli

0.3.0

Not secure
**StarkNet**
* A new release - Alpha 1:
* L1 <-> L2 interaction using messages
* On-chain data for storage changes
* Storage variables can be a tuple of felts
* Calldata arguments may be dynamically-sized arrays.
* Starknet CLI
* New commands: ``get_transaction`` and ``get_contract_addresses``
* New ``--contract argument`` for tx_status to get location information for errors
* ``range_check`` is now required for storage vars
* StarkNet OS source code (only Cairo. Hints are not functional yet)



**Cairo language**
* Uninitialized tempvars
* Hint expressions (for example, ``tempvar x = nondet %{ y %}``)
* Power operator (for example, ``2**3``. Only for constants)
* Hex numbers (for example, ``0x1234``)
* Multiple hints per instruction
* ``cairo-reconstruct-traceback`` command

0.2.0

Not secure
**StarkNet:**
* StarkNet contract compiler and StarkNet CLI (command line interface)
* `external`, `view` and `storage_var` decorators

**Cairo language:**
* Remove-unused-functions optimization
* Dot operator (e.g., `(x + 1).y`) and the subscript operator (`x[3]`).
* Tuples (`(2, 3, 4)`)
* Struct data-constructors (`let t = T(x=1, y=2)`)
* Compare structs (`assert a = b`, where `a` and `b` are of type `T`)

**Cairo architecture:**
* Safe call (the Cairo CPU ensures that each `call` instruction returns).

0.1.0

Not secure
Language:
* Implicit arguments
* No offsets in struct definition
* `return (...)` is replaced with `return foo()`
* Additional type checks

Compiler and runner:
* Call & return push optimization
* Memory holes are allowed (continuity restriction is removed)

Standard library:
* New dict functions: dict_read(), dict_write()
* New default_dict functions
* Dict keys are no longer restricted to 128 bit integers

0.0.3

Not secure
* Command-line utility for SHARP
* AMM demo

Page 10 of 11

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.