8000 Tags · pyth-network/pyth-client · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Tags: pyth-network/pyth-client

Tags

oracle-v2.32.1-resizemapping

Toggle oracle-v2.32.1-resizemapping's commit message
feat: backport ResizeMapping ix from v2.35

oracle-v2.35.0

Toggle oracle-v2.35.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
feat: resize mapping account (#419)

* feat: resize mapping account

* fix: remove initPriceFeedIndex instr to reduce binary size

* refactor: format

* fix: remove explicit funding account from resizemapping ix

* Apply suggestions from code review

---------

Co-authored-by: Tejas Badadare <tejasbadadare@gmail.com>
Co-authored-by: Ali Behjati <bahjatia@gmail.com>

oracle-v2.34.0

Toggle oracle-v2.34.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
chore: bump version to release price-feed index (#420)

oracle-v2.33.0

Toggle oracle-v2.33.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
bump/bump (#415)

oracle-v2.32.1

Toggle oracle-v2.32.1's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
fix: build library without solana sdk (#414)

oracle-v2.31.0

Toggle oracle-v2.31.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
revert: bring merge-sort back

This reverts commit 2ea67f3.

Apparently the numbers that I was computing for heapsort were not correct and were for the closed quick-select algorithm. It seems that the heapsort compute unit exceeds the previous implementation.

oracle-v2.30.0

Toggle oracle-v2.30.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
refactor: replace merge-sort with heapsort (#405)

This change replaces the merge-sort with a heapsort that uses much less CU than merge-sort.

The previous algorithm is very fast running on a normal CPU but doesn't work very well in BPF because all instructions (like load, move, ..) have the same cost and there is no cache and optimizations for memory-alignment have no real benefit.

The major benefits of heapsort are being non-recursive that reduces the high stackframe overhead in BPF and being inplace which minimizes number of copies.

Unfortunately there is no way to systematically get the the compute usage out of program test. The `test_benchmark` file has a simple code that helps running benchmarks on various number of publishers.

In 32-publisher setup, heapsort reduces the CU from 16.5k to 12k and in the 64-publisher setup 37k to 20.5k. The numbers are the worst cases running on randomized input. The result of running in a highly similar input (two distinct prices, and two distinct confidences) is 14.7k and 25k respectively, which is still better and is very unlikely in practice.

oracle-v2.29.0

Toggle oracle-v2.29.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
refactor: optimize some checks on upd_price (#403)

- Remove rent check because it costs 500CU (+10% of upd_price without aggregate) and it really is not needed.
- Use abs() on checking confidence threshold because it's incredibly slow on negative prices (2000CU). We don't have negative prices but will guard us in the future.

oracle-v2.28.0

Toggle oracle-v2.28.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
feat: aggregate in the same slot (#394)

* update aggregation logic to aggregate in the same slot

* Add features.h to .gitignore

* Refactor test_upd_aggregate.rs: Clean up imports and formatting, update test cases

* add prev_twap_, prev_twac_ and prev_price_cumulative

* remove twap and twac from test_up_aggregate

* fix test_sizes

* fix borrow reference bug

* fix build

* fix logic

* fix test_publish

* format

* fix test_publish_batch

* fix test_upd_price_no_fail_on_error

* fix test_upd_price_v2

* fix logic

* refactor

* update function desc

* fix logic

* add comments

* fix tests

* add ema test

* reduce PC_NUM_COMP_PYTHNET to 64

* fix tests

* add comments

* revert to use PriceComponentArrayWrapper

* refactor

* update c format

* revert format

* revert format

* gitignore .clang-format

* remove clang-format

* revert format

* revert format

* format

* revert format

* revert format

* fix comment

* remove comment

* add comment

* refactor

* add guard for first price update after deployment

* add back deleted test in test_publish

* add tests for prev values to test_upd_price

* update comment

* add test

* use last_slot_ instead of agg_.pub_slot_

* add more asserts

* remove crank again asserts

* fix

* address comments

* address comments

* remove print statement

* add test to simulate program upgrade

* refactor

* address comments

* address comments

* address comments

* address comments

* merge test_upd_price with test_upd_price_v2

* add asserts
0