* p2w-client: Implement a migrate command and instruction generator
* Fix minor bug in gen_migrate_tx
* Fix migration test and add a test for success
Co-authored-by: Ali Behjati <bahjatia@gmail.com>
Before this change, a fresh build from scratch would cause a guardian
software compilation error ("Failure: empty digest") that would
normally be hidden by caching in CI.
* ethereum: Add support for multiple emitter/chain ID pairs
* ethereum: Simplify data source methods, add tests, fix flag bug
* ethereum: Fix incorrect removeDataSource condition, harden its test
* ethereum: Add the multi-source migration to prod-receiver
* PythState.sol: rephrase comment about new data source API
* ethereum/test/pyth.js: run prettier formatting
* ethereum: replace multi-source migration with addDataSource call
* ethereum: mark older chain/emitter ID state as deprecated
SeqNum is not suitable for multiple sources, attestationTime is good
but we should be careful of solana clock falling behind
Also use this time for freshness metric because it's more useful.
* Add initial working ws
* Add tests
* Add prom metrics + improve logging
* Handle ids with leading 0x
* Add a multi client test
* Minor code format
* Fix Typo
* rename PriceFeedPriceInfo to PriceStore
It is because in the future we might have multiple spies and this
will be a middleware store
* format the code
* Make Migrations contract Ownable
* Add prod deployment migrations
* Add BSC Testnet deployment configuration
* Add documentation for deploying contracts to production
* Fix test environment script for deployment to development network
* Fix tilt issues + refactor
Co-authored-by: Ali Behjati <bahjatia@gmail.com>
* p2w-client: Implement additional trigger conditions
From now on, we support price change by a given percentage as well as
publish time changes for triggering attestations.
commit-id:9bd145e1
* p2w-client: Harden price_pct_change for negative values
commit-id:cb679208
* p2w-client: Make sure we always update each symbol's state
commit-id:27f276dc
* p2w-client: include resend state lookups in the RPC interval setting
commit-id:68de125f
* p2w-client: Improve local symbol state handling, min interval=60s
With this change, we update local state only if we meet a
condition. Additionally, the publish_time change becomes a
configurable minimal delta.
commit-id:f8139cd6
* p2w-client: Fix a state update bug for state updates
commit-id:29f44a39
* pyth2wormhole-client: Implement and use daemon mode
commit-id:7001bdf7
* pyth2wormhole-client: harden CLI, simplify attestation loop
commit-id:ad5e4857
* pyth2wormhole-client: Refactor symbol config into groups
This commit implements the notion of a symbol group - a collection of
symbols that are attested according to the specified set of
condition. Currently, only an attestation frequency is supported. In
the future, this value will serve as a fallback for symbols that
rarely trip other conditions.
commit-id:cf19cc41
* p2w_autoattest.py: Use symbol groups in config
commit-id:1153c5f7
* Dockerfile.client: bump toolchain version to mitigate compiler error
The previous compiler version encountered a bug when building
pyth2wormhole-client for testing. The error message mentioned serde,
which is tested inside the `attestation_cfg.rs` module.
commit-id:61c12427
* p2w_autoattest.py: Add another test group
commit-id:2e29583c
* p2w-client: Get rid of sent_at, clarify messages, add status setter
commit-id:87653ab1
* p2w-attest contract: disambiguate set-config types
commit-id:999f3954
* p2w-attest set-config: also print the same mismatched value
commit-id:732e2773
* rename query_price_info to query_price_feed
It's more consistent with schema and sdk
* Resolve clippy warnings
* Format contract code
- Also changes our formatting rules to our standard in pyth-sdk-rs
* Remove unused UpgradeContract
* Remove duplicate test code
* pyth2wormhole: implement wire format v3rev0
commit-id:c106d3b3
* pyth.js: Run prettier formatting
commit-id:fc9fb160
* ethereum: Fix tab indentation in Pyth contracts
commit-id:3d2ab7d8
* p2w-terra contract: fix formatting
commit-id:685dd14f
* p2w-sdk: Use wasm in the JS package, detect bundler/node via `window`
This commit makes sure that our wasm usage is more robust. We ensure
that the JSON representation renders all important numbers in their
string decimal form. b
commit-id:75f9c224
* p2w-sdk: review suggestions: field ranems, limit serde attributes
commit-id:9f596b80
* p2w-sdk/rust: Remove utils.rs and the helper type
commit-id:e72c6345