Commit Graph

6 Commits

Author SHA1 Message Date
Stanisław Drozd 0f3975f28e
pyth-wormhole-attester-contract-v2.0.0 (#641) 2023-02-28 14:50:29 +01:00
Stanisław Drozd 1978d73b94
attester: Add an on-chain last attestation timestamp and rate limit arg (#622)
* attester: Add an on-chain last attestation timestamp and rate limit

In consequence, attester clients are able to rate-limit attestations
among _all_ active attesters - because the new last attestation timestamp is kept up
to date on chain. Ultimately, this value being shared by concurrent clients,
this feature limits our tx expenses while fulfilling our preferred attestation rates.

* attester: Use custom error code instead of log for rate limit

* attester: Add defaults for default attestation conditions

* attester: Use a dedicated function for rate limit default

* attester: Option<u32> -> u32 rate limit interval

This lets users pass 0 to disable the feature (0-rate limiting means
no rate limiting at all), which was not possible with the Option type.
2023-02-24 15:03:57 +01:00
Stanisław Drozd 8e11caa1ee
Bump wormhole rust crates to v2.14.8, remove rent adjustment (#601)
This change upgrades our wormhole dependency to the current latest
release. It introduces a fix in rent calculation logic, making Solitaire compatible with
PythNet. This lets us get rid of dedicated rent adjustment logic,
which we also remove in this change.
2023-02-20 11:06:57 +01:00
Stanisław Drozd d52f4d406e
wormhole_attester: per-symbol PDAs for attestation state (#567)
* wormhole-attester: Add a last trading publish timestamp field

This change bumps price batch format to v3.1 with a new backwards
compatible field - last attested trading publish time. This is the last time we've
successfully attested a trading price. If no prior record exists, the
current publish time is used.

The new field is backed by a new PDA kind for the attester contract, called
'attestation state'. In these PDAs, we store metadata for every price, seeded by its pubkey. Currently, the metadata stores just the
last tradind timestamp for use with the new field.

* wormhole-attester: Use publish_time instead of attestation_time

* wormhole_attester: use prev_publish_time for non-trading prices

* wormhole_attester: per-symbol state PDAs, stop using prod accounts

* attester: Use Option to detect if previous state exists

Using Option<> for this makes fallback to latest value more convenient

* wormhole_attester: client AccountMeta typo

* wormhole_attester: fix mutability error

* wormhole_attester: stop using Option<> for on-chain state

* wormhole_attester: remove unused realloc logic for attestation state
2023-02-08 17:04:55 +01:00
Ali Behjati 70fd0a6c15
[wormhole-attester] Move p2w-sdk inside wormhole_attester directory (#534)
* Move p2w-sdk to wormhole_attester

* Update references to the sdk
2023-01-25 18:14:02 +01:00
Ali Behjati 084acdb57e
[refactor] Convert hyphen to underscore in the directory tree (#524)
* Move price-service to price_service

* Update references to price-service

* Rename target-chains to target_chains

* Update references to target-chains

* Rename tilt-devnet to tilt_devnet

* Update references to tilt-devnet

* Rename wormhole-attester to wormhole_attester

* Update references to wormhole-attester

* Rename multisig-wh-message-builder

* Update references to wh-msg-bldr

* Fix dockerfile issue

* Rename remove-executor to remote_executor

* Update references to remote-executor

* Rename xc-governance-sdk-js

* Update references to the governance sdk

* Move docker-images to docker_images

* Update references to docker-images
2023-01-24 19:06:22 +01:00