⚠️ This release contains breaking changes ⚠️
Database
This release adds support for starknet_getStateUpdate. Unfortunately the data required to serve this data is not present in existing pathfinder databases. This means that in order to support this query for all blocks, you will need to re-sync your node. If you do not do this, then this query won't succeed for blocks that your node has already downloaded.
We will provide updated snapshots in order to speed up this re-sync process.
JSON-RPC API
The JSON-RPC API has been updated to conform to the first formal StarkNet JSON-RPC specification. Our readme contains all the relevant information and links to the new API.
The specific changes, additions and removals are listed in the relevant sections below.
pending support
Pathfinder supports querying the pending StarkNet state. See our readme for specifics on what this is.
The breaking change is two-fold:
- Previously, pathfinder simply proxied
pendingqueries to the gateway. This is fundamentally against how pathfinder is supposed to operate as no validation or verification of the result was possible. Instead, pathfinder now periodically polls thependingdata and verifies it locally in-so-far as possible. pendingsupport is disabled by default and can be enabled with--poll-pending=trueoption
Sqlite-WAL
We've had the --sqlite-wal=true|false option available for a while now. In this release we've changed the default from false to true. The only reason to keep this set to false should be if you are using network storage. Enabling this option improves our database's read and write concurrency.
added
- JSON-RPC API
starknet_getBlockWithTxHashesstarknet_getBlockWithTxsstarknet_getStateUpdatestarknet_getTransactionByBlockIdAndIndexstarknet_getBlockTransactionCountstarknet_getNoncestarknet_blockHashAndNumberstarknet_pendingTransactionsstarknet_getEvents
- docker-compose by @sven-hash #487
- Support
pendinglocally (see our readme for more info)
changed
- JSON-RPC API
starknet_getStorageAtstarknet_getClassHashAtstarknet_getClassAtstarknet_callstarknet_estimateFeestarknet_addDeployTransaction(now accepts optionalabifield)starknet_addDeclareTransaction(now accepts optionalabifield)
removed
- JSON-RPC API
starknet_getBlockByHashstarknet_getBlockByNumberstarknet_getTransactionByBlockHashAndIndexstarknet_getTransactionByBlockNumberAndIndexstarknet_getCodestarknet_getBlockTransactionCountByHashstarknet_getBlockTransactionCountByNumber
- proxying
pendingqueries to the gateway
fixed
- rare database locked error when spawning python processes
- broken pipe exceptions from python processes
New Contributors
- @sven-hash made their first contribution in #487
Full Changelog: v0.2.6-alpha...v0.3.0-alpha