* 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
* Attestation: Add ops owner and set-is-active ix
* Update solana/pyth2wormhole/client/src/cli.rs
Co-authored-by: Stanisław Drozd <stan@nexantic.com>
* Fix typos
* Add a test without owner
Co-authored-by: Stanisław Drozd <stan@nexantic.com>
* pyth2wormhole: Implement reusable message PDAs
This changeset converts attest() to use a new PDA for
reusable/unreliable wormhole message account. Each PDA is tied to a
given attest() payer with an index that lets them rotate a number of
message accounts. Keeping the appropriate timing of the reuses is up
to the message owner, who should rotate a number of PDAs.
* pyth2wormhole-client: Add a message acc rotation impl
* p2w attest(): Integrate with bumped wormhole and fix call issues
* p2w-client: Format code, fix test_attest, refactor message index
* Dockerfile.client, Dockerfile.p2w-attest: Improve caching
The main improvement comes from running cargo-install from within a
workspace which lets us cache target/
* p2w-client: Make reusable messages configurable in yaml
* p2w on-chain: refactor to unreliable-only, adjust msg balance, nits
* p2w-client: P2WMessageIndex -> P2WMessageQueue, queue tests
* p2w-client: Add a hard limit to the message account queue
* Add out-of-tree dependency on wormhole v2.8.9
This lets us outsource all wormhole/solitaire code to the upstream
certusone repo
* Docker.client: Use cargo-install to install binaries from github
* p2w: fix solana-program wasm-bindgen
* pyth2wormhole: Fix code-level errors against newer solitaire
* p2w: Use upstream wormhole rust code, bump guardian to 2.8.9
* guardian: ensure solana is on, spy: bump image to 2.8.9
Co-authored-by: Reisen <reisen@morphism.org>
* 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>