Skip to content

Releases: pyth-network/pyth-agent

Pyth Agent v2.0.1

21 Jul 15:20
v2.0.1
eb5e04b
Compare
Choose a tag to compare

Breaking changes

With this release, the TOML config format abolishes the pythd-compatible key store, in favor of simpler and more readable string pubkey values. This enables us to cleanly distribute sample Pythnet/Pythtest configs with correct program/mapping public keys. Here's how it works:

# Old v1.x.x way
[primary network]
key_store.root_path = "/path/to/keystore"
key_store.publish_keypair_path = "publish_key_pair.json" # Relative path from root_path, "publish_key_pair.json" by default
key_store.program_key_path = "program_key.json" # Relative path from root_path, "program_key.json" by default
key_store.mapping_key_path = "mapping_key.json" # Relative path from root_path, "mapping_key.json" by default

# [...]

# New v2.0.0 way
[primary_network]
key_store.publish_keypair_path = "/path/to/keypair.json" # The root_path is gone, we specify the full path
# Not using separate files anymore
key_store.program_key = "LiteralProgramPubkeyInsideTheConfig" # contents of legacy program_key.json;
key_store.mapping_key = "LiteralMappingPubkeyInsideTheConfig" # contents of legacy mapping_key.json

# [...]

See README for more details and automatic migration instructions. You can also consult config/config.sample.*.toml for reference.

Accumulator publishing

With this release, we begin official support for the Pythnet/Pythtest-crosschain accumulator program. This program is a part of a new approach to cross-chain publishing, which improves throughput and latencies for cross-chain price feed consumers. To enable accumulator support in your agent, add this to your pythnet/pythtest-crosschain config:

[primary_network]

# [...]
# Pythnet/pythtest-crosschain accumulator key
key_store.accumulator_key = "7Vbmv1jt4vyuqBZcpYPpnVhrqVe5e6ZPb6JxDcffRHUM"

# IMPORTANT: Exporter batch size must be decreased to 7 to support
# larger accumulator transactions, when accumulator_key is set. 
exporter.max_batch_size = 7

Other changes

  • Sample configs now include the correct program/mapping keys for each network. This includes the accumulator_key option for the new Pythnet/Pythtest publishing approach.
  • config/config.toml option ordering has been cleaned up for readibility and correctness.
  • Log messages from publisher permission lookup have been clarified

Full Changelog: v1.4.0...v2.0.1

Pyth Agent v1.4.0

22 Jun 15:17
v1.4.0
b406724
Compare
Choose a tag to compare

What's Changed

  • Improved gas efficiency for slow moving prices - Starting with this release, the agent will not publish prices with unchanged price/confidence/status, unless a configurable delay from last publishing has passed or if the price does change. The delay is configured with a new option called <network>.exporter.unchanged_publishing_threshold (at least 5s between unchanged updates by default),
  • Moved some non-essential log messages to the debug log level

Docker image

You can find the pyth-agent Docker image here: https://gallery.ecr.aws/pyth-network/agent

Full Changelog: v1.3.1...v1.4.0

Pyth Agent v1.3.1

20 Jun 13:38
4ab94d4
Compare
Choose a tag to compare

Fixes

Changes log level of stale price update message from warn to info

Docker image

You can find the pyth-agent Docker image here: https://gallery.ecr.aws/pyth-network/agent

Pyth Agent v1.3.0

19 May 10:43
b9f1cd2
Compare
Choose a tag to compare

New features

  • Publishing API now supports JSONRPC batch requests

Fixes

  • No more unexpected large memory allocations and the resulting segfaults

Docker image

You can find the pyth-agent Docker image here: https://gallery.ecr.aws/pyth-network/agent

Pyth Agent v1.2.3

18 Apr 11:47
v1.2.3
346fdda
Compare
Choose a tag to compare

What's new

  • Initial round of Per-symbol Prometheus metrics served on http://<metrics_server.bind_address>/metrics
  • Configurable logging buffer capacity at channel_capacities.logger_buffer, default bumped from 15 to a comfortable 10 000.
  • HTML dashboard is also served at http://<metrics_server.bind_address>/ ( /dashboard still works)
  • Additional sample configs available under config/
  • Initial support for the Pythnet accumulator - this is a Pythnet-specific Wormhole publishing feature, yet to be rolled out to Pythtest and Pythnet

Fixes

  • Fixed misleading config docs which listed top-level settings under primary_network settings (remote keypair loader and metrics_server)
  • Unpermissioned symbols are now filtered out automatically per network, limiting failing transaction cost

Full Changelog: v1.1.0...v1.2.3

Pyth Agent v1.1.0

29 Mar 16:12
ec36079
Compare
Choose a tag to compare

What's new

  • Use stable Rust
  • Simple dashboard on localhost:8888/dashboard
  • Optimized TCP connection count for symbol set lookups
  • Remote keypair hotloading on localhost:9001/primary|secondary/load_keypair

All new settings are optional and documented in config/config.toml

Pyth Agent v1.0.0

21 Feb 12:42
d141977
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.1.2...v1.0.0

Pyth Agent v0.1.2

15 Feb 23:49
3bf50bf
Compare
Choose a tag to compare

What's Changed

  • Request compute units per price update instruction by @jayantk in #44

New Contributors

Full Changelog: v0.1.1...v0.1.2

Pyth Agent v0.1.1

10 Feb 11:12
4fc696c
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.1.0...v0.1.1

Pyth Agent v0.1.0

09 Feb 15:16
bdf6590
Compare
Choose a tag to compare
Add image push action to CI (#41)