Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(x/vpool): Add instantaneous price, block height, and 'twapMark' to the 'q vpool all-pools' query. #789

Closed
onikonychev opened this issue Aug 4, 2022 · 2 comments · Fixed by #813
Assignees

Comments

@onikonychev
Copy link
Contributor

Driven by liquidation metrics. For better stats generation we need a way to get TWAP price. Currently Mark Price is taken from vpool reserves by dividing quote_reserve / base_reserve.

I don't know what would be the best endpoint for this perp, pricefeed or vpool but it'd definitely be very useful to have all prices for the pair in one query. Something like:

nibid q pricefeed prices ubtc:unusd

# OUTPUT:
{  "mark_price": 20000, "twap_price": 19000, "oracle_price": 19500, "block": 17924 }
@NibiruHeisenberg
Copy link
Contributor

@onikonychev is the request for a query into index twap or mark twap or both?

@Unique-Divine
Copy link
Member

Unique-Divine commented Aug 9, 2022

Solution

Following this morning's discussion,

Q: Why add block height?

Can we add the block number to queries for important metrics? Especially with 2s blocks, there's a high chance the block height changes between the block height query and (for example) postion query, price queries, etc.. - Oleg
Doing this reduces the number of queries required for the liquidator to track metrics.

@Unique-Divine Unique-Divine changed the title feat (perp): Add query for exposing TWAP price feat(x/vpool): Add instantaneous price, block height, and 'twapMark' to the 'q vpool all-pools' query. Aug 9, 2022
@Unique-Divine Unique-Divine self-assigned this Aug 9, 2022
AgentSmithMatrix added a commit that referenced this issue Aug 10, 2022
…?) on the all-pools query #789 (#813)

* (vpool): add logger to keeper.go

* feat: GetPoolPrices, fn to return the mark price, mark twap, index price, and swap inv. for a pool

* docs: fix the fn description for GetCurrentTWAP

* feat(vpool): implemenet PoolPrices and add it to 'nibid q vpool all-pools' command

* update changelog

* (vpool): add block number to all-pools.prices. Fix changelog

Co-authored-by: AgentSmithMatrix <98403347+AgentSmithMatrix@users.noreply.github.com>
Co-authored-by: Agent Smith <agentsmith@matrixsystems.co>
Unique-Divine added a commit that referenced this issue Aug 12, 2022
commit b496438338d5cd136661e6cf79a694e47a8198b9
Author: Unique-Divine <realuniquedivine@gmail.com>
Date:   Fri Aug 12 18:03:02 2022 -0500

    remove deperecated docs from x/perp/README

commit fc260a5
Author: Unique Divine <51418232+Unique-Divine@users.noreply.github.com>
Date:   Thu Aug 11 16:37:34 2022 -0500

    chore: release v0.12.1-alpha (#820)

    update changelog

commit 8ec477a
Author: AgentSmithMatrix <98403347+AgentSmithMatrix@users.noreply.github.com>
Date:   Thu Aug 11 19:47:03 2022 +0200

    feat: add golangci-lint to makefile (#819)

    * add linter to makefile

    * update changelog

commit 208a102
Author: Unique Divine <51418232+Unique-Divine@users.noreply.github.com>
Date:   Wed Aug 10 13:17:05 2022 -0500

    fix: missing max leverage on the pools in app_state.vpool.vpools (#818)

commit 75e8f03
Author: Unique Divine <51418232+Unique-Divine@users.noreply.github.com>
Date:   Wed Aug 10 07:38:00 2022 -0500

    feat(vpool): expose markPrice, markTwap, indexPrice, (and blockHeight?) on the all-pools query #789 (#813)

    * (vpool): add logger to keeper.go

    * feat: GetPoolPrices, fn to return the mark price, mark twap, index price, and swap inv. for a pool

    * docs: fix the fn description for GetCurrentTWAP

    * feat(vpool): implemenet PoolPrices and add it to 'nibid q vpool all-pools' command

    * update changelog

    * (vpool): add block number to all-pools.prices. Fix changelog

    Co-authored-by: AgentSmithMatrix <98403347+AgentSmithMatrix@users.noreply.github.com>
    Co-authored-by: Agent Smith <agentsmith@matrixsystems.co>

commit 674da1b
Author: Unique Divine <51418232+Unique-Divine@users.noreply.github.com>
Date:   Wed Aug 10 07:01:20 2022 -0500

    feat(perp): expose 'marginRatioIndex' and block number on QueryTraderPosition (#810)

    * feat(x/perp): add marginRatioIndex to the position query

    * add blockNumber to QueryTraderPosition

    * update CHANGELOG.md #763

    * fix(CHANGELOG)

commit c6ad354
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Wed Aug 10 01:52:40 2022 -0500

    chore(deps): bump github.com/cosmos/ibc-go/v3 from 3.1.0 to 3.1.1 (#804)

    * chore(deps): bump github.com/cosmos/ibc-go/v3 from 3.1.0 to 3.1.1

    Bumps [github.com/cosmos/ibc-go/v3](https://github.com/cosmos/ibc-go) from 3.1.0 to 3.1.1.
    - [Release notes](https://github.com/cosmos/ibc-go/releases)
    - [Changelog](https://github.com/cosmos/ibc-go/blob/main/CHANGELOG.md)
    - [Commits](cosmos/ibc-go@v3.1.0...v3.1.1)

    ---
    updated-dependencies:
    - dependency-name: github.com/cosmos/ibc-go/v3
      dependency-type: direct:production
      update-type: version-update:semver-patch
    ...

    Signed-off-by: dependabot[bot] <support@github.com>

    * Update CHANGELOG.md

    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    Co-authored-by: NibiruHeisenberg <101130700+NibiruHeisenberg@users.noreply.github.com>
    Co-authored-by: AgentSmithMatrix <98403347+AgentSmithMatrix@users.noreply.github.com>
NibiruHeisenberg added a commit that referenced this issue Aug 15, 2022
* docs(perp): events #wip

* docs(perp): Added events specification for the perp module.

* Squashed commit of the following:

commit b496438338d5cd136661e6cf79a694e47a8198b9
Author: Unique-Divine <realuniquedivine@gmail.com>
Date:   Fri Aug 12 18:03:02 2022 -0500

    remove deperecated docs from x/perp/README

commit fc260a5
Author: Unique Divine <51418232+Unique-Divine@users.noreply.github.com>
Date:   Thu Aug 11 16:37:34 2022 -0500

    chore: release v0.12.1-alpha (#820)

    update changelog

commit 8ec477a
Author: AgentSmithMatrix <98403347+AgentSmithMatrix@users.noreply.github.com>
Date:   Thu Aug 11 19:47:03 2022 +0200

    feat: add golangci-lint to makefile (#819)

    * add linter to makefile

    * update changelog

commit 208a102
Author: Unique Divine <51418232+Unique-Divine@users.noreply.github.com>
Date:   Wed Aug 10 13:17:05 2022 -0500

    fix: missing max leverage on the pools in app_state.vpool.vpools (#818)

commit 75e8f03
Author: Unique Divine <51418232+Unique-Divine@users.noreply.github.com>
Date:   Wed Aug 10 07:38:00 2022 -0500

    feat(vpool): expose markPrice, markTwap, indexPrice, (and blockHeight?) on the all-pools query #789 (#813)

    * (vpool): add logger to keeper.go

    * feat: GetPoolPrices, fn to return the mark price, mark twap, index price, and swap inv. for a pool

    * docs: fix the fn description for GetCurrentTWAP

    * feat(vpool): implemenet PoolPrices and add it to 'nibid q vpool all-pools' command

    * update changelog

    * (vpool): add block number to all-pools.prices. Fix changelog

    Co-authored-by: AgentSmithMatrix <98403347+AgentSmithMatrix@users.noreply.github.com>
    Co-authored-by: Agent Smith <agentsmith@matrixsystems.co>

commit 674da1b
Author: Unique Divine <51418232+Unique-Divine@users.noreply.github.com>
Date:   Wed Aug 10 07:01:20 2022 -0500

    feat(perp): expose 'marginRatioIndex' and block number on QueryTraderPosition (#810)

    * feat(x/perp): add marginRatioIndex to the position query

    * add blockNumber to QueryTraderPosition

    * update CHANGELOG.md #763

    * fix(CHANGELOG)

commit c6ad354
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Wed Aug 10 01:52:40 2022 -0500

    chore(deps): bump github.com/cosmos/ibc-go/v3 from 3.1.0 to 3.1.1 (#804)

    * chore(deps): bump github.com/cosmos/ibc-go/v3 from 3.1.0 to 3.1.1

    Bumps [github.com/cosmos/ibc-go/v3](https://github.com/cosmos/ibc-go) from 3.1.0 to 3.1.1.
    - [Release notes](https://github.com/cosmos/ibc-go/releases)
    - [Changelog](https://github.com/cosmos/ibc-go/blob/main/CHANGELOG.md)
    - [Commits](cosmos/ibc-go@v3.1.0...v3.1.1)

    ---
    updated-dependencies:
    - dependency-name: github.com/cosmos/ibc-go/v3
      dependency-type: direct:production
      update-type: version-update:semver-patch
    ...

    Signed-off-by: dependabot[bot] <support@github.com>

    * Update CHANGELOG.md

    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    Co-authored-by: NibiruHeisenberg <101130700+NibiruHeisenberg@users.noreply.github.com>
    Co-authored-by: AgentSmithMatrix <98403347+AgentSmithMatrix@users.noreply.github.com>

Co-authored-by: NibiruHeisenberg <101130700+NibiruHeisenberg@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Archived in project
3 participants