As yet another method for sanity-checking the increased publisher count on Pythnet, it is useful to check that the new slots are used for aggregation properly, just as well as the pre-existing ones.
Summary of changes
test_full_publisher_set.rs - Add a new test that triggers aggregation on two subsets of a symbol's publishers, proving that for Pythnet, the new publishing slots are used for aggregation. This test is run both for Pythnet and Solana on purpose, to validate that assumpions about aggregate behavior are consistent on both of the networks.
utils.rs - Rename get_status_for_update to get_status_for_conf_price_ratio to better indicate that it may result in rejecting the updated price in next aggregation.
upd_price.rs - Point out that a failed get_status_for_price_conf_ratio may render the price update rejected from next aggregate
pyth_simulator.rs - Modify some setup methods to take a slice of publisher keypairs, making multi-pub setup possible.
Motivation
As yet another method for sanity-checking the increased publisher count on Pythnet, it is useful to check that the new slots are used for aggregation properly, just as well as the pre-existing ones.
Summary of changes
test_full_publisher_set.rs
- Add a new test that triggers aggregation on two subsets of a symbol's publishers, proving that for Pythnet, the new publishing slots are used for aggregation. This test is run both for Pythnet and Solana on purpose, to validate that assumpions about aggregate behavior are consistent on both of the networks.utils.rs
- Renameget_status_for_update
toget_status_for_conf_price_ratio
to better indicate that it may result in rejecting the updated price in next aggregation.upd_price.rs
- Point out that a failedget_status_for_price_conf_ratio
may render the price update rejected from next aggregatepyth_simulator.rs
- Modify some setup methods to take a slice of publisher keypairs, making multi-pub setup possible.