* feat: add send usd example for solana
* fix: rust fmt
* fix: remove unused dependency ahash
* fix: imports
* refactor: use get_price_no_older_than
* fix: package name
* fix: fix naming conventions
* feat: add workspace members in Anchor.toml
* fix: set maximum age to 1 hour
* fix: use public crates for send usd example
* feat: impl postAccumulatorUpdateVaa and postUpdates and CLI test changes
* feat: clean up
* refactor: reorganize and fix tests
* refactor: clean up
* chore: add rust-toolchain for solana target contract dir
* refactor: clean up and address feedback
* refactor: make emitter chain & post vaa program configurable
* feat: remove postAccUpdateVaa and use wh post_vaa in cli
* fix: add check for emitter address, hardcode expected emitter chain/addr for now
* chore: cleanup
* chore: clean up
* feat: address feedback, move checks from context into account, use signatureset for postupdates
* feat: use pubkey and require_keys_eq! for emitter addr check
* refactor: address feedback
add documentation and todos, revert programsimulator to use upgradable bpf loader
* feat: remove signature_set account from post_updates, update docs & readme
* test: add lazy static for setting up pyth binary but still has same invalidaccountdata issue
* chore: clean up
* refactor: remove unused errors
* feat: use UncheckedAccount for posted_vaa so owner can be checked dynamically against config
* A working version of solana receiver
* Cleanup
* Minor
* Commit for triggering tilt
* Add program key starting with pyth
* Remove duplicated hard-coded wormhole address
* Add check for VAA magic number and emmitter is Pythnet or Solana
* Cleaner command for building the cli package
* Fix bug and use BatchPriceAttestation for deserialization
* minor
* Start to implement the solana receiver contract
* Use "cargo run" instead of the compiled binary under target/debug
* Update cargo dependency
* Add "pyth-" prefix to crate names
* Remove the transfer step in cli which is only necessary for pythnet, not solana