* Implement accumulator updates for cosmwasm
* Update fee calculation logic for accumulator messages
The fee for accumulator messages is base fee times the number of messages
but the logic remains the same for the batch method
* Move message structures from pyth-client repo to pythnet-sdk
All rust based smart contracts could leverage these structures for deserializing
pyth messages. But having them in pyth-client makes all the smart contracts packages
depend on irrelevant packages such as solana libraries which caused dependency conflicts
With these structs moved here it would be easier to reuse them in other places
The custom (de)serialization logic remains in pyth-client since it was only to reduce binary size of the program deployed on mainnet/pythnet, therefore not necessary to be exposed here.
* Put arbitrary implementations behind quickcheck feature flag
* Expose magic variables and define them once
feat: use pythnet serialization in hermes
Fix vaa validation
Clippy
Update config names
Wrap Store with Arc
Store works perfectly without Arc as all it's elements are behind an Arc
or something similar to that, however a developer might make
mistake to add a field and missing it.
Improve error handling
Update metadata struct
Add metadata
Update Eth listener
Pin wormhole to a version
Fix ws dispatcher
fix: blocking in go recv corrupts tokio runtime
Make network <> store message passing non-blocking
Update logs and revert debug changes
* feat(message-buffer): add payer to all contexts requiring lamports for rent
separate admin from payer of account creation/resize/deletion
* test(message-buffer): add test for same admin & payer
* feat(message-buffer/scripts): keep payer & admin the same in init-buffer script for simplicity
* fix(message-buffer): set payer as admin in initialize (TOB-PYTH-5)
* fix(message-buffer/delete_buffer): remove auth validation in delete_buffer & add test (TOB-PYTH-7)
* fix(message-buffer): fix non-security-related findings
use constant for seeds, cap max target size, add more tests
* refactor(message-buffer): use seed consts in initialize, remove unused errors
* refactor(message-buffer): address PR comments
refactor missed consts, make initialize more readable
* 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>
* 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 tests
* Add tests to CI
* Remote test from precommit hook
* New test
* Remove merge error
* Comments and increase seqno
* Remove unnecesary dep
* Fix rebase
* Fix feedback
* Start anchor program
* pythnet folder
* Renames
* Implement processor
* Comments
* More comments
* Bump anchor
* Use new version of the wormhole package
* Get Solana chain id from wormhole core
* Pythnet bridge address
* Remove comment
* Fix borsh headers
* Format
* Fix precommit
* Fix precommit
* Precommit
* Add to CI
* Fix CI
* Use boolinator
* Enable boolinator
* Remove duplicate macro