Releases: eqlabs/pathfinder
v0.8.1
This release massively improves the performance of execution related calls. You can expect a 10-40x improvement. This affects the following RPC methods (for all RPC versions):
starknet_call
starknet_estimateFee
starknet_simulateTransactions
The performance improvement comes from swopping our execution engine from the python based cairo-lang, to the Rust Blockifier. This release contains no other changes so that in the event of an incompatibility or bug in the new engine you can switch back by downgrading to pathfinder v0.8.0 again.
The new rpc.execution-concurrency
command-line argument provides a way to configure how many Cairo VMs can be executed concurrently. It defaults to the number of CPU cores available but you might need to fine-tune the value to suit your needs.
Fixed
- JSON-RPC requests with unknown parameters are rejected (unknown params were previously ignored)
Changed
- Execution is backed by a Rust-based VM improving performance. We no longer depend on Python code in pathfinder.
v0.8.0
This release contains some JSON-RPC fixes and changes the default JSON-RPC API version (served on the root path) to version 0.4.
A new --rpc.root-version
command line argument (and the corresponding PATHFINDER_RPC_ROOT_VERSION
environment variable) has been added to explicitly select the version of the JSON-RPC API served on the root path.
Changed
cairo-lang
upgraded to 0.12.2- Cairo compiler upgraded to 2.1.1
- default RPC API version changed from v0.3 to v0.4
Fixed
- RPC v0.3
starknet_estimateFee
example - RPC method names could be prefixed with API version
starknet_getNonce
returns invalid values when queried by hash
Added
- Added the
rpc.root-version
command-line option (and the corresponding PATHFINDER_RPC_ROOT_VERSION environment variable)
to control the version of the JSON-RPC API pathfinder serves on the/
path
v0.7.2
This release fixes some issues in our JSON-RPC implementation.
Fixed
- RPC v0.4
starknet_getTransactionByHash
uses the wrong error code forTXN_HASH_NOT_FOUND
- Querying
starknet_getClassAt
andstarknet_getClassHashAt
by block hash incorrectly returns contract not found - On Starknet 0.12.2 pathfinder now provides consistent pending data
- RPC v0.4 Declare v0 and Invoke v0 contain the nonce field
v0.7.1
This release updates the RPC support from v0.4.0-rc3 to v0.4.0.
Fixed
- RPC v0.4
starknet_getTransactionReceipt
incorrect execution and finality status names (lowercase instead of uppercase). pathfinder_getTransactionStatus
fails to parse v0.12.1 gateway replies
Changed
- RPC v0.4.0 support (previously supported v0.4.0-rc3)
v0.7.0
This release adds support for the upcoming starknet v0.12.1 upgrade. In addition, it also adds support for v0.4.0 of the RPC specification.
Added
- RPC v0.4 support on
/rpc/v0.4/
- control log color output via
--color auto | always | never
- if Sierra to CASM compilation fails we now fall back to fetching CASM from the gateway
- Negate bot spam on response metrics by returning
Ok(200)
on/
RPC queries. Web crawlers and bots often poke this endpoint which previously skewed response failure metrics when these were rejected.
Fixed
- system contract updates are not correctly stored
starknet_simulateTransaction
fails for transactions sending L2->L1 messages- deprecated error code 21
INVALID_MESSAGE_SELECTOR
is used in RPC v0.3
Changed
cairo-lang
upgraded to 12.2.1a0- Cairo compiler upgraded from 2.0.2 to 2.1.0-rc1
Removed
- support for RPC v0.2
v0.6.7
This release contains a variety of bug fixes.
Of particular impact is a bug introduced in v0.6.4 which caused pathfinder not to download cairo 0 class definitions for classes that are declared but never deployed. The impact of this is that execution methods such as starknet_call
and starknet_estimateFee
will fail if the execution involves one of these classes. Unfortunately this cannot be fixed retroactively and only a resync will ensure these classes are downloaded correctly. As a much faster alternative, we host database snapshots which we encourage you to use:
link | sha256 of uncompressed file |
---|---|
mainnet | 0e18eca6b2d4d7dc41a8f8ff1354f9319ec8e8d4bedfe2bad5e4dcc405b18448 |
testnet | 67aa14586d09f668edadc95fa129faf389419d140819084c087a66dde98e55bb |
testnet 2 | 1fd1b274e3eeeda98306f42619587baad60528bbc9b8f0c92671287b9b50a5b9 |
Fixed
- some cairo 0 classes are not downloaded which can cause execution methods to fail
- this bug was introduced in v0.6.4 and requires a resync to fix
- gateway error messages are not passed through for
add_xxx_transaction
methods - fee estimation is under-estimating most declare transactions by factor 2
pathfinder_getTransactionStatus
still returnsPENDING
instead ofACCEPTED_ON_L2
Added
cairo-lang
upgraded to 0.12.0
v0.6.6
This release upgrades the Sierra compiler to pull in a fix for a stack-overflow. This has already affected nodes on testnet, and it is recommended to update quickly.
Fixed
- stack overflow while compiling Sierra to CASM
v0.6.5
This minor release improves the consistency of the pending data.
The feeder gateway can provide inconsistent pending data as it doesn't currently implement sticky connections. This meant pathfinder might receive new pending data which was actually older than the data it currently held. This would often exhibit as a transaction cycling between L2 accepted
and Not Found
.
This release fixes this by ignoring such stale data.
Fixed
- pending data from the gateway is inconsistent
- this could exhibit as RPC data changing status between
pending | L2 accepted | not found
, especially noticeable for transactions.
- this could exhibit as RPC data changing status between
Changed
- substantially increase the character limit of execution errors
- previously, the RPC would return a highly truncated error message from the execution vm
v0.6.4
This release fixes pending data not being available for starknet v0.12.
Fixed
- Pending data is not polled for starknet v0.12 due to an HTTP error code change from the gateway.
- Transaction receipts missing
from_address
inMSG_TO_L1
.
v0.6.3
Fixes a race condition which would cause sierra class processing to fail.
Fixed
- Sierra class hash not in declared classes sync bug
Changed
- use all libfunc list instead of experimental for sierra compilation