Skip to content

Releases: eqlabs/pathfinder

v0.10.2

13 Dec 09:42
ede3a83
Compare
Choose a tag to compare

This release contains various RPC fixes (in particular for the new v0.6), performance improvements.

Added

  • Added x-request-id header to RPC responses. If the request does not have the header set then an ID is generated. This can be used to identify a specific caller's request/response within the node's logs. Duplicate IDs are possible since they can be set by the caller, so we recommend making your's identifiable with a prefix or using a GUID.
  • Improved tracing for RPC requests. These are all logged on trace level under the pathfinder_rpc module. Additional information can also be obtained from tower_http module. These can be enabled by appending pathfinder_rpc=trace,tower_http=trace to RUST_LOG environment variable.
    • Request payload is now logged before execution begins.
    • Logs now include x-request-id header value which can be used to correlate with client requests/responses.
    • Batch logs also include the index within a batch.
  • RPC parsing errors now expose the failure reason as part of the errors data field.

Fixed

  • v0.5 starknet_simulateTransactions returns internal error instead of ContractError for reverted transactions.
  • v0.6 starknet_getTransactionReceipt
    • EXECUTION_RESOURCES fields are hex-strings instead of integers
    • segment_arena_builtin resource is missing
    • v3 transaction price unit type is STRK instead of FRI
  • v0.6 starknet_estimateFee, starknet_simulateTransactions
    • v3 transaction hashes are computed incorrectly when using the "query" flag, causing validation errors
    • unit field is missing from fee estimation results
  • v0.6 starknet_addDeployAccountTransaction
    • the gateway doest not properly return address information for v3 transactions, we now compute the address ourselves
  • starknet_getEvents
    • query strategy selection for some events involving a filter on very common keys is slow
  • Execution performance for calls involving the pending blocks is much better for trivial calls (like balanceOf).

Changed

  • JSON-RPC v0.6 now serves 0.6.0 for starknet_specVersion.

v0.10.1

05 Dec 12:55
v0.10.1
7b61edf
Compare
Choose a tag to compare

This release fixes a few bugs with our implementation of the Starknet JSON-RPC 0.6 specification and fixes some issues with how pathfinder returns execution errors.

Fixed

  • Execution errors are opaque and don't always include the root cause.
  • Pathfinder uses incorrect fee token gas price for gas_consumed calculation for v3 transactions.
  • starknet_traceTransaction sometimes returns an "Invalid order number for L2-to-L1 message" error.
  • starknet_getTransactionByHash and starknet_getTransactionByBlockIdAndIndex return v3 transactions mapped to v1.

Changed

  • JSON-RPC v0.6 support has been updated to v0.6.0-rc5 of the specification.

v0.10.0

29 Nov 12:14
v0.10.0
3d26089
Compare
Choose a tag to compare

⚠️⚠️⚠️ Breaking changes ⚠️⚠️⚠️

This release changes the JSON-RPC API version served on the / path to 0.5.1 and removes support for some command-line arguments. Please make sure you read the rest of the release notes if you're upgrading.

A database schema upgrade is also done upon first starting pathfinder. Downgrading to an earlier version will require a backup of your database before the upgrade.

Added

  • Support for RPC v0.6.0-rc4 via the /rpc/v0_6 endpoint. Note that this does not include the /rpc/v0.6 endpoint as the underscore is now the standard across node implementations.
  • Configuration options to selectively enable/disable parts of the node. This can be useful to run tests or benchmarks with isolated components e.g. test RPC methods without the sync process updating the database.
    • rpc.enable configuration option to enable/disable the RPC server. Defaults to enabled.
    • sync.enable configuration option to enable/disable the sync process. Defaults to enabled.
  • Support for Sepolia testnet via --network sepolia-testnet
  • Support for Sepolia integration via --network sepolia-integration
  • Support for Starknet 0.13.0.

Changed

  • Default RPC version is now v0.5 (was v0.4). This can be manually configured to any version.
  • Goerli testnet network selection is now --network goerli-testnet, removed --network testnet
  • Goerli integration network selection is now --network goerli-integration, removed --network integration
  • Reworked newHeads subscription output to more accurately represent header data.

Removed

  • Support for testnet2
  • Support for RPC v0.3
  • --poll-pending configuration option. This is now always enabled and set to 2s.
  • --python-subprocesses configuration option. This is superseded by --rpc.execution-concurrency.

v0.9.7

21 Nov 10:50
5a47a3e
Compare
Choose a tag to compare

Fixed

  • get_block_hash syscall returns 0x0 for the latest available block (current - 10) when executing starknet_trace* methods

v0.9.6

21 Nov 10:46
e6f3651
Compare
Choose a tag to compare

Fixes a bug introduced in pathfinder v0.9.5 by the

  • RPC errors now only include the root cause if white-listed as non-sensitive

change. Some errors were not white-listed which meant that important error data was not communicated back to the caller in certain cases. As an example, reverted transactions in RPC v0.4 only showed as Internal error.

Fixed

  • RPC v0.5 incorrectly has a status field in pending starknet_getBlockWithXXX responses.
  • Error details for many execution-related issues were not properly sent back to the JSON client
  • Reverted transactions are logged as WARN instead of DEBUG.

v0.9.5

09 Nov 11:53
144f90b
Compare
Choose a tag to compare

This release changes RPC v0.5.0 to v0.5.1.

Added

  • Host JSON-RPC on /rpc/v0_x in addition to the existing /rpc/v0.x endpoints. This applies to all supported JSON-RPC versions.

Changed

  • RPC errors now only include the root cause if white-listed as non-sensitive
  • RPC v0.5 updated from v0.5.0 to v0.5.1

Fixed

  • JSON-RPC v0.5 transaction traces now have the required type property.
  • JSON-RPC v0.5 L1 Handler receipt is missing the message_hash property.
  • JSON-RPC v0.5 uses wrong field names in ExecutionResources

v0.9.4

02 Nov 09:51
0594c3f
Compare
Choose a tag to compare

This release is focused on the JSON-RPC API, adding support for version v0.5, fixing several bugs, and adding the ability to concurrently process RPC batches.

Fixed

  • RPC errors do not always include the root cause. For example, some gateway error messages are not output when pathfinder forwards the request.
  • RPC trace object uses wrong property reverted_reason instead of revert_reason.
  • RPC execution steps limits have been updated to match the setup of the Starknet sequencer.
  • RPC query version bit is now correctly passed through to the blockifier.

Added

  • RPC v0.5.0 support
  • Added the ability to concurrently process RPC batches, see the rpc.batch-concurrency-limit CLI argument.

Changed

  • RPC methods now use an empty block for pending data if no viable pending data is present. Requests for pending data will no longer fail with BlockNotFound if there is no pending data available, but rather use an empty block on-top of the latest local block.

Full Changelog: v0.9.3...v0.9.4

v0.9.3

16 Oct 09:27
7179a11
Compare
Choose a tag to compare

This release fixes a rare out-of-memory crash when executing certain contract calls.

Fixed

  • RPC server does not accept charset=utf-8 in the Content-Type header
  • Out-of-memory crash caused by rare execution queries

v0.9.2

13 Oct 10:05
v0.9.2
cc028ab
Compare
Choose a tag to compare

This release fixes the content type of the responses pathfinder is returning over its JSON-RPC interface.

⚠️If you're upgrading from pathfinder < 0.9.0 make sure you check the release notes for Pathfinder 0.9.0 too.⚠️

Fixed

  • RPC server does not set content-type: application/json

v0.9.1

11 Oct 16:28
v0.9.1
eabb883
Compare
Choose a tag to compare

This release contains an important fix for a reorg performance regression introduced in Pathfinder 0.9.0.

⚠️If you're upgrading from pathfinder < 0.9.0 make sure you check the release notes for Pathfinder 0.9.0 too.⚠️

Fixed

  • A storage regression causing reorgs to be slow has been fixed.