* Remove .openzeppelin and its docs
This directory is no longer useful as we are not using truffle for
upgrades anymore.
* Update Deploying.md doc according to the feedbacks
* Add *mnemonic* to gitignore to avoid mistakes
* wormhole attester: Add a healthcheck on the metrics port
* pyth2wormhole healthcheck: apply review advice
- Move metrics/healthcheck counter updates to be next to each other
- Change "0-sized window disables healthcheck" into an explicit config value
- move healthcheck updates past the atomic counter updates
* solana-devnet: Deploy a copy of the Mesh multisig program
* solana/keys: Add keys for multisig testing
* *.py: Remove airdrop, use devnet_setup.sh keypair instead
* Dockerfile.p2w-attest: Improve caching
- Move cheap Python script additions after the expensive rust build
- Cache Cargo's package cache to shorten the "updating crates.io registry" build steps
* Add a multisig Tilt resource, k8s yaml and runtime script
This contains most of the work on Tilt/testing harness side.
* multisig-wh-message-builder: Add init-vault subcommand
This new subcommand enables the runtime Python script to create a
multisig vault on the fly on the mock Solana devnet.
* multisig-wh-message-builder: findProgramAddress -> getMsPDA
* mutlisig-wh-message-builder: apply review advice
- Use default mesh program address
- remove unused program.json
- remove redundant null checks
- hardcode vault address (it is deterministic against the constant
mesh program pubkey)
- Start depending on solana-devnet in Tilt
- Add carol to vault and set threshold to 2
* Add new networks RPCs
* Update governance sdk to support Wormhole receiver
* Fix receiver deployment script bugs
* Add new network configurations
* Add a comment about merging wh and receiver chains
* Bump contract version
* Some refactoring to add types with JSDoc
* Use better RPCs for some networks
* Remove unneeded migration files
* Add initial syncPythState script that does upgrade
* Update truffle-config for new gas values
* Refactor to make this change easier
* stop mutating AttestationConfig
* get the product names also
* ok
* refactor
* cleanup
* more cleanup
* more cleanup
* comment
* i think this works
* fix stuff
* clippy
* more cleanup
* main
* main
* fix formatting
* blah
* test
* cleanup
* fix python
* config
* fix test
* grr
* grr
* comments
Co-authored-by: Jayant Krishnamurthy <jkrishnamurthy@jumptrading.com>
- Remove nodejs default metrics. We don't use them.
- Remove response time metric.
- Remove freshness metric and add gap metric for attestationTime and publishTime.
They are similar; however, freshness was measured upon user request but gap is
measured upon receiving the next update.
- Change receivedVaa to actually represent distinct vaa received. Prior
to this, the older vaas, or vaas with same attestation time were
not counted in this metric. This will also improve the performance.
- Refactors the code a little. `vaaBytes` type was not string and was
Buffer. It is fixed now.
* Use a new rustfmt file
* Run cosmwasm action only when needed
* Remove pre-commit from remote-executor action
* Fix formatting
* Run precommit for all files
As previous PR was merged without pre-commit
* Add the implementation with tests and benchmark
* Refactor the contract to reduce redundancy
* Reduce optimization runs as the contract was huge
It has 177 more gas usage on some benchmark tests
* [eth]: Gas improvement: Increase optimizer runs to 1_000_000
Increasing optimizer runs will optimize the gas usage of methods more and will increase the contract size, hence the deployment cost.
Snapshot difference:
```
testBenchmarkGetUpdateFee() (gas: -101 (-0.076%))
testBenchmarkUpdatePriceFeedsIfNecessaryNotFresh() (gas: -334 (-0.189%))
testBenchmarkUpdatePriceFeedsNotFresh() (gas: -1312 (-0.416%))
testBenchmarkUpdatePriceFeedsIfNecessaryFresh() (gas: -1626 (-0.430%))
testBenchmarkUpdatePriceFeedsFresh() (gas: -1576 (-0.441%))
testBenchmarkGetPrice() (gas: -259 (-0.969%))
```
p.s: I read one place that `runs` is an estimate of how many times the contract is expected to be called as opposed to number of optimization passes through the code!
* Change optimizer_runs to 10000
* pyth2wormhole-client: Stagger attestation sched jobs
* pyth2wormhole-client 1.0.0-rc1
This is an initial semver release for the pyth2wormhole-client package.
* p2w_autoattest.py: Add env for atteser --timeout option
* pyth-attesster v1.0.0-rc2
* pyth-attester-v1.0.0-rc3
This fixes a typo in p2w_autoattest.py
* pyth-attester-v1.0.0
* Update pyth-sdk-solidity version
* Add parsePriceFeedUpdates as an empty method
To be implemented in the future
* Update events
* Fix tests
* Address Tom review comment
* Fix Pyth forge test