* refactor(message-buffer): rename accumulator-input to message-buffer
refactor any names with accumulator to message
* refactor(message-buffer): change accumulator seed to message
* feat(accumulator-updater): add funding account for AccumulatorInput creation
* feat(accumulator-updater): add ix for testing cpi max size
add steps to notes.md on how to test against solana-test-validator with features deactivated
* test(accumulator-updater): fix max num of msgs to send
* refactor(accumulator-updater): address PR feedback from 771
update fund pda seeds, update consts, cleanup
* feat(accumulator-updater): address PR comments
Update cpi max test ix to take vec of msg sizes, clean up commented out code
* Format p2p.go
* Pass Wormhole arguments from command line or env. vars
* Remove forget calls and let memory be freed (also remove confusing comment)
* Use proper types on command line arguments
* feat(accumulator-updater): write accumulator messages into one account
* chore(accumulator-updater): clean up commented out code
* chore(accumulator-updater): remove unused feature for cargo
* chore(accumulator-updater): minor comment fix
* feat(accumulator-updater): update implementation of AccumulatorInput header
Removed InputIndex in header, updated to use end_offsets & include header_len
* feat(accumulator-updater): add MessageHeader to all PriceMessages and include in serialization
* fix(accumulator-updater): fix AccumulatorInput size & unit tests
* feat(accumulator-updater): update put_all to write as much data as possible
put_all will write up to the limit of the accumulator_input.data.len(). this ix must not fail even
when the data being written exceeds the size of the account. in this situation, we will write as
many *COMPLETE* messages as possible
* docs(accumulator-updater): update put_all ix documentation
* chore(accumulator-updater): addressed PR feedback
fixed comments, added test, renamed accumulatorInput.data to messages
* fix(accumulator-updater): fix ts test
* [hermes] Improve latest feeds rest api
This change adds verbose and binary option to latest_price_feeds
endpoint. Unfortunately it exposes many internal information which
required touching different components to expose batch_vaa specific
information. The code is now coupled to batch_vaa and we need to
refactor it when we add other proof types (and eventually remove it when
it get deprecated).
* Update hermes/src/network/rpc/rest.rs
Co-authored-by: Reisen <Reisen@users.noreply.github.com>
* Update hermes/src/network/rpc/rest.rs
Co-authored-by: Reisen <Reisen@users.noreply.github.com>
* Fix merge
---------
Co-authored-by: Reisen <Reisen@users.noreply.github.com>
* [hermes] Add more rest api methods
Add many of the price service apis. Per David suggestion, we do
validation in parsing instead of doing it later. I didn't find
any suitable library to deserialize our hex format so I created
a macro to implement it because we use it in a couple of places.
I tried making a generic HexInput but couldn't make it working
(and I need other crates like generic_array for it which makes
the code more complex)
* Address feedbacks
* [eth] Add Canto mainnet
This deployment also enables contract rewards on canto. Since the
changed code is only specific to the Canto network and is used only
in initialization, only the diff is added as a file.
* Remove ds store
* Add some doc to deploying.md
* feat(accumulator_updater): initial skeleton for accumulator_udpater program
Initial layout for accumulator updater program. Includes mock-cpi-caller which is meant to represent
pyth oracle(or any future allowed program) that will call the accumulator updater program. All
implementation details are open for discussion/subject to change
* test(accumulator_updater): add additional checks in tests and minor clean up
* chore(accumulator_updater): misc clean-up
* refactor(accumulator_updater): added comments & to-dos and minor refactoring to address PR comments
* feat(accumulator_updater): nmanual serialization for mock-cpi-caller schemas & use zero-copy
* chore(accumulator-updater): misc clean-up
* refactor(accumulator-updater): rename parameter in accumulator-updater::initalize ix for consistency
* style(accumulator-updater): switch PriceAccountType enum variants to camelcase
* refactor(accumulator-updater): address PR comments
rename schema to message & associated price messages, remove unncessary
comments, changed addAllowedProgram to setAllowedPrograms
* refactor(accumulator-updater): address more PR comments
consolidate SetAllowedPrograms and UpdateWhitelistAuthority into one context
* style(accumulator-updater): minor style fixes to address PR comments
* feat(accumulator-updater): implement update-inputs ix, add bump to AccumulatorInput header
* feat(accumulator-updater): implement update ix
* refactor(accumulator-updater): refactor ixs & state into modules
* docs(accumulator-updater): add comments for ixs
* feat(accumulator-updater): consolidate add/update_inputs into emit_inputs ix (#743)
* refactor(accumulator-updater): clean up unused fn, rename fns
* fix(accumulator-updater): fix error from resolving merge conflicts
* refactor(accumulator_updater): address PR comments
Remove account_type, rename emit_inputs to put_all to be more similar to a Map interface, added
AccumulatorHeader::CURRENT_VERSION
* docs(accumulator_updater): add docs for AccumulatorInput struct
* feat(accumulator_updater): initial skeleton for accumulator_udpater program
Initial layout for accumulator updater program. Includes mock-cpi-caller which is meant to represent
pyth oracle(or any future allowed program) that will call the accumulator updater program. All
implementation details are open for discussion/subject to change
* test(accumulator_updater): add additional checks in tests and minor clean up
* chore(accumulator_updater): misc clean-up
* refactor(accumulator_updater): added comments & to-dos and minor refactoring to address PR comments
* feat(accumulator_updater): nmanual serialization for mock-cpi-caller schemas & use zero-copy
* chore(accumulator-updater): misc clean-up
* refactor(accumulator-updater): rename parameter in accumulator-updater::initalize ix for consistency
* style(accumulator-updater): switch PriceAccountType enum variants to camelcase
* refactor(accumulator-updater): address PR comments
rename schema to message & associated price messages, remove unncessary
comments, changed addAllowedProgram to setAllowedPrograms
* refactor(accumulator-updater): address more PR comments
consolidate SetAllowedPrograms and UpdateWhitelistAuthority into one context
* style(accumulator-updater): minor style fixes to address PR comments
* state getters and setters, change Move.toml dependency to sui/integration_v2
* finish state.move
* add new line to pyth
* use deployer cap pattern for state module
* sui pyth
* update price feeds, dynamic object fields, Sui object PriceInfoObject
* register price info object with pyth state after creation
* PriceFeedUpdateEvent
* state getters and setters, change Move.toml dependency to sui/integration_v2
* finish state.move
* add new line to pyth
* use deployer cap pattern for state module
* indent
* feat(accumulator_updater): initial skeleton for accumulator_udpater program
Initial layout for accumulator updater program. Includes mock-cpi-caller which is meant to represent
pyth oracle(or any future allowed program) that will call the accumulator updater program. All
implementation details are open for discussion/subject to change
* test(accumulator_updater): add additional checks in tests and minor clean up
* chore(accumulator_updater): misc clean-up
* refactor(accumulator_updater): added comments & to-dos and minor refactoring to address PR comments
* build contract
* uploading artifacts
* test
* test
* different version for upload artifact
* update artifacts path
* add release code
* test
* update artifact path
* test
* update release names
* remove ls
* rename tag
* rename