* Integrate with contract manager for wormhole script
* Remove deprecated scripts and more integration with contract manager
* Remove cosmwasm tools store
These configs are now held in the contract manager
* Update docs on cosmwasm
* Split cosmwasm package into 2 for fixing dependency issues
* Fix cosmwasm README.md
Co-authored-by: Ali Behjati <bahjatia@gmail.com>
account sequence mismatch error could happen in the simulation but the
try catch did not cover that part
Verified the fix by manually incrementing the sequence number twice after
each transaction so a refetch was necessary
* Better return types for transaction execution functions
* Use new type for passing PrivateKey
* Small typing improvements
* Stricter liniting
* Rename edge to beta for DeploymentType
* Reduce any usage across the contract manager
* Fix explicit any linting warnings
In some cases arguments are passed and renamed (see `api_addr -> rpc_addr`) or
are unnecesarily converted (see `api_addr.to_string()` -> `api_addr.parse()`.
In the future, we are likely to add many more arguments to Hermes as well, so
this commit moves them into a separate struct which is forwarded throughout the
application instead.
The struct's are cloned, but only happens during launch of a hermes service
component so the cost doesn't matter.
Fix hermes construct_update_data to support generating update_data
for more than 255 messages. This is very unlikely to happen in normal
cases but the way WS <> store interact can cause this to happen when
a WS client subscribes to all price feeds.
* Use the actual wormhole deployment on testnet for sui testnet config
* Simpler deployment script
* Bugfix in upgrade payload deserialization
* Bugfix in fetching upgrade digest
* Small contract manager refactoring and more integration for upgrade script in sui
* Remove old scripts
* Add script for just generating the sui contract digest
* Restrict HotPotatoVector borrow access
The return value of `create_price_infos_hot_potato` should not be inspectable
outside of the package.
* Reorganize the cli lib for sui
* Add minimal README for sui cli
* Update the general README for sui
* Reuse sui sdk logic in contract manager
* Manual serialization of accumulator updates for increasing payload size
Default payload size seems to be 1024 bytes which is not enough for messages
with multiple feeds
* Bump sdk version
* - refactor Pyth governance code path to not use wormhole::governance_message module
- use our own custom WormholeVAAVerificationReceipt struct instead of DecreeReceipt
* delete print
* delete print
* contract edits
* add test vaa / test for set_update_fee
* bring back set data sources test
* use correct VAA for test set data sources
* delete commented out code
* write test for set stale price threshold
* update pyth verify_vaa
* simplify pyth::governance::verify_vaa
* use sequence number for replay protection in both governance and contract upgrade code paths
* only use sequence number for replay protection
* Fix fee calculation on injective price pusher
We used an optimization to calculate the update fee based on the number of VAAs. This used to be true before the accumulator messages but now since both formats can be used, it is not obvious what the final fee would be. We can again try to optimize this code and reduce rpc calls by replicating the fee calculation logic from the smart contract, but for now we have rolled back to the unoptimized version.
Some WS clients were receiving "Abnormal Connection Closure" errors.
This commit fixes the issue by sending specific close message upon
receiving close message from client. This commit also refactors the
ws.rs code by making it simpler and using tokio::time::Interval
instead of a manually implemented interval. Lastly, it updates the
axum package to include newer patches.