Releases: eqlabs/pathfinder
v0.2.4-alpha
v0.2.4-alpha
added
--sqlite-wal
option for more concurrent database access #405, #413- this improves the RPC throughput for non-cairo-vm queries, and prevents high latency spikes during block update writes
- option must not be turned on when data is on network filesystem (nfs)
- option defaults to false, but may become true in a future release
- verify database matches the given Ethereum network #397
- verify that the data directory is writeable by pathfinder #421
- provide a hint with
address already in use
solutions #427 - log
starknet_call
andstarknet_estimateFee
failures #416- these logs can be enabled by adding
pathfinder_lib::cairo::ext_py[stderr]=debug
to theRUST_LOG
environment variable, e.g.RUST_LOG=info,pathfinder_lib::cairo::ext_py[stderr]=debug
- these logs can be enabled by adding
changed
- more informative error messages with hints #423
removed
- additional debug information for L1 sync issue #435
- documentation referring to already removed ethereum.user-agent option #414
fixed
- event ordering #434
- event's were being ordered by transaction hash instead of index
- download missing declare-only classes #407, #436
- the missing classes will be downloaded on startup
- fix
gas_consumed
ofstarknet_estimateFee
#429 - stop retrying when fetching initial L1 chain_id on permission denied #423
starknet_getClass
andstarknet_getClassAt
wrong return type #408
v0.2.3-alpha
Big feature release, added new rpc endpoints and configurability.
Added
- feat(rpc):
starknet_estimateFee
#388 #400- Note: there is a known issue where contracts involving a
library_call
are currently not supported. This limitation also applies tostarknet_call
. A fix for this is planned for the next release.
- Note: there is a known issue where contracts involving a
- feat(sync): Verify block hashes #308
- feat(rpc):
starknet_{call,estimateFee}
will now returnINVALID_ENTRY_POINT
errors #396 - feat(storage): use a connection pool for RPC queries #347
- This improves the performance of the RPC server significantly, and should see a large CPU usage reduction when under load.
- feat(sync): support sequencer url configuration #379
- This is useful if using a proxy in front of the Starknet Gateway.
- feat(rpc):
starknet_{getClass,getClassHashAt,getClassAt}
#350 - feat(cli):
--python-subprocesses <NUM>
configuration option #385
Changed
Full Changelog: v0.2.2-alpha...v0.2.3-alpha
v0.2.2-alpha
Fixes
- event addresses are stored incorrectly (#349 #351 #357)
- The database migration for this fix can take a while to run, depending on your hardware. It took 2-7min on our developer machines for 200k blocks.
- submitting deploy transaction calldata as hex instead of decimal (#370)
- misleading hex parsing error message (#366)
starknet_addDeclareTransaction
incorrectly requiresabi
field (#371)- docs: add
addDeclareTransaction
to readme (#358)
Internal improvements
- stop relying on unstable rowid as a primary key (#360)
- fix
get_block_xxx
using two database transactions (#359) - improve docker workflow flexibility (#356)
- update test fixtures to match 0.9.0 variants (#364)
- hoist tracing spans into
spawn_blocking
(#362)
New Contributors
Special thanks to @xJonathanLEI for uncovering bugs and inconsistencies fixed in this release, as well as his own contribution to pathfinder in #366.
Full Changelog: v0.2.1-alpha...v0.2.2-alpha
v0.2.1-alpha
Fixes
- docker image cannot run without cmd line args (#345)
- stored event address is using transaction address (#346)
- Unfortunately this means all event addresses are incorrect; a migration to fix this form part of the next release
- RPC call method using
latest
uses sequencer (#348)- This now correctly executes against the node's local storage
Internal changes
- chore: upgrade regex dependency to resolve CVE (#344)
- A look into our usage reveals this CVE does not impact us; but still good to upgrade regardless. See here for more information on the CVE.
- chore: improve depedency resolution for jsonrpc (#343)
Full Changelog: v0.2.0-alpha...v0.2.1-alpha
v0.2.0-alpha
The release is mainly an upgrade adding support for cairo-lang 0.9.0 and starknet 0.9.0. We have made breaking changes and so this is a minor version upgrade compared to previous patch level upgrades. Until 1.0.0 version is released we will be bumping the minor version on any breaking changes (rpc api or configuration).
Added
starknet_addDeclareTransaction
json-rpc method (#318)
Breaking changes
Docker entrypoint
The docker entrypoint now includes the pathfinder binary (#335) which better adheres to the docker best practices.
What this means in practice, is that one no no longer needs to specify the binary path when running pathfinder with docker. For example,
docker run ... eqlabs/pathfinder /usr/local/bin/pathfinder --version
becomes
docker run ... eqlabs/pathfinder --version
RPC API: nulls are now omitted
Optional values in the JSON-RPC API are no longer returned if they are None
(#323, #330). Previously these were returned as null
.
Other Changes
starknet_call
at latest or pending blocks are forwarded to sequencer (#315)- support for cairo-lang and starknet 0.9.0 (#314, #320, #321, #337, #338)
- upgrade jsonrpsee to 0.11 by @tarrencev (#261)
- ignore
*.sqlite
files by @wakiyamap (#332)
Removed
eth.user-agent
configuration option (#325)
Full Changelog: v0.1.11-alpha...v0.2.0-alpha
v0.1.11-alpha
The release is mainly a bugfix release. We suggest everyone upgrades to it as soon as possible. Please see our repository README.md for docker and building from source instructions.
Changed
- Docker images now use Rust 1.61.0 from 1.59.0 (#289, #302)
Cargo.toml
requirement is unchanged (1.58.0)
- Docker images are upgraded to latest system packages before builds (#302)
- Split the internal
pedersen
crate intostark_curve
andstark_hash
crates (#282)
Fixed
- In
starknet_syncing
thehighest
values were laggingcurrent
near head of the chain (#296, #298)- It is still possible to receive incoherent values from
starknet_syncing
after detecting a reorg and before continuing over it
- It is still possible to receive incoherent values from
- Reorgs failed and stopped the process when using a snapshot provided by the team (#299)
- Fix requires a database migration performed during startup, which can take a while
README.md
and--help
disagreed on default rpc server binding address, removed environment variable table, expanded configuration section (#300, #307)--help
for--data-directory
had wrong format for value (path) (#301)rpc_examples.sh
contained a non-functional example forstarknet_addInvokeTransaction
(#305)
v0.1.10-alpha
v0.1.9-alpha
Features
- Support StarkNet 0.8.2 changes
- Pathfinder release monitoring
- Pathfinder actively monitors github for new releases
- A warning level log will be emitted if a new release is detected
- Support data directory config item
- Set
user-agent
in L1 and L2 queries- the Ethereum
user-agent
config item is now deprecated
- the Ethereum
- Add block numbers to sync status API
- Improve readme documentation
- Support deploy and invoke transactions via RPC API
Fixes
- Fix transaction receipts not containing events
- Dramatically improve RPC performance for block-related queries
- Improve retry logic for L1 and L2 queries
- Drastically reduces how much pathfinder nodes spam during transient network events
- Remove a tight retry-loop for decoding
- Adhere to rate-limiting
- Change
reorg
events severity fromwarn
toinfo
Full Changelog: v0.1.8-alpha...v0.1.9-alpha
v0.1.8-alpha
Features
- Upgrade to
cairo-lang
0.8.1 and fix compatibility with Starknet 0.8.1 (#230 and #231) - Add support for the
starknet_getEvents
JSON-RPC API method.
Bug Fixes
- Remove busy loop polling for the latest L2 block in case of a deserialization error (#239)
Breaking Changes
- The environment variable names used by the Docker container have changed. The full list is documented in the README. (#224)
- The name of the command line argument setting the HTTP User-Agent value to use with the Ethereum API has changed from
--ethereum.user
to--ethereum.user-agent
(#223)
Full Changelog: v0.1.7-alpha...v0.1.8-alpha
v0.1.7-alpha
Fixes
- Reduce sequencer spam when at head of chain by @Mirko-von-Leipzig in #236
Full Changelog: v0.1.6-alpha...v0.1.7-alpha