* Point to another wormhole sdk
* Works
* Reset this dir
* Refresh cargo lock
* Bump solana
* Pin git packages
* Allow large errors
* Update to the right wormhole-solana
* Fix cli
* Add cargo lock
* Remove print statement
* Tiltfile: TILT_DOCKER_REGISTRY def behavior, re-add namespace_create
* wormhole_attester/client v5.0.0: accuracy and logging opimisations
* [BREAKING CHANGE] min_interval_secs switches to milliseconds under
min_interval_ms
* attestation jobs no longer use preflight checks - this includes a
custom variant of send_and_confirm_transaction(), see util.rs for details
* attestation error logging no longer pretty-prints the error
structs ({:#?} became {:?})
Previously, we used 307 Internal Redirect to tell k8s that we're still
waiting for the healthcheck window to fill up. Unfortunately, k8s
assumes 3XX as a success, which wrongly tells it that the service is
ready. Changing to 503 causes the expected probe failure to appear
when the healthcheck state is not yet determined.
* 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.
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.
* 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
* Move lerna to the top
* Set version to independent
Packages are versioned independently
* Update packages and the lock
* Add build cache and better reference
* Add lerna docker base
* Add wormhole_attester sdk and some minor impr
* Update tsconfig to fix outDir impact by composite
* Update eth package
* Update p2w to use solidity-sdk
* Change xc-admin CI to lerna CI action
* Add more packages to the list + bugfixes
* Update dockerfiles to have tilt working
* Format the code
* Fix some issues
* Fix the change of usePyth.ts
* lerna build fix
* Fix foundry