Skip to content

Commit

Permalink
feat: x/marketmap v2 (skip-mev#265)
Browse files Browse the repository at this point in the history
* new market

* gen

* fix

* wip

* dep

* ok

* tidy

* update

* cute

* clean

* params

* fix

* len

* cp

* init

* ok

* cute

* add

* errors

* fix

* keeper test

* nice

* cdc

* msg
:

* msg

* clean

* update

* fix tests

* query

* query setup

* query

* query

* init hooks

* add to keeper

* test

* add hooks

* genesis hook

* fix

* this is my legacy

* ok

* lint

* init

* market query

* types

* events

* proto

* module defs

* beautify

* Update x/mm2/types/market.go

Co-authored-by: David Terpay <[email protected]>

* Update x/mm2/types/market.go

Co-authored-by: David Terpay <[email protected]>

* fix

* test

* newline

* remove

* test

* fix

* fix

* fix

* fix

* beautify

* merchandise

* fix

* fix

* fix

* fix

* fix

* get params

* test

* comment

* export func

* test

* invalid bech32

* check

* bet

* format

* expand tests

* feat(`x/marketmap`): init types and validation (skip-mev#266)

* clean

* new market

* gen

* fix

* wip

* dep

* update

* cute

* clean

* len

* cp

* ok

* nice

* Update x/mm2/types/market.go

Co-authored-by: David Terpay <[email protected]>

* Update x/mm2/types/market.go

Co-authored-by: David Terpay <[email protected]>

* fix

* test

* comment

* expand tests

* better errors

---------

Co-authored-by: David Terpay <[email protected]>

* fix

* feat(`x/marketmap`): params type (skip-mev#267)

* clean

* new market

* gen

* fix

* wip

* dep

* update

* cute

* clean

* params

* fix

* len

* cp

* ok

* nice

* Update x/mm2/types/market.go

Co-authored-by: David Terpay <[email protected]>

* Update x/mm2/types/market.go

Co-authored-by: David Terpay <[email protected]>

* fix

* test

* newline

* remove

* comment

* expand tests

* fix

---------

Co-authored-by: David Terpay <[email protected]>

* feat(`x/marketmap`):  genesis and validation (skip-mev#268)

* bye

* fix

* 0 len

* fix

* fix vuln

* fixington

* fix

* nolint

* check

* fix

* feat(`x/marketmap`): keeper methods (skip-mev#270)

* clean

* new market

* gen

* fix

* wip

* dep

* update

* cute

* clean

* params

* fix

* len

* cp

* init

* ok

* cute

* add

* errors

* fix

* keeper test

* nice

* Update x/mm2/types/market.go

Co-authored-by: David Terpay <[email protected]>

* Update x/mm2/types/market.go

Co-authored-by: David Terpay <[email protected]>

* fix

* test

* newline

* remove

* test

* fix

* beautify

* merchandise

* comment

* export func

* test

* expand tests

* fix

* bye

* fix

* fix vuln

* check

---------

Co-authored-by: David Terpay <[email protected]>

* feat(`x/marketmap`): tx and msg service (skip-mev#273)

* clean

* new market

* gen

* fix

* wip

* dep

* update

* cute

* clean

* params

* fix

* len

* cp

* init

* ok

* cute

* add

* errors

* fix

* keeper test

* nice

* cdc

* msg
:

* msg

* clean

* update

* fix tests

* Update x/mm2/types/market.go

Co-authored-by: David Terpay <[email protected]>

* Update x/mm2/types/market.go

Co-authored-by: David Terpay <[email protected]>

* fix

* test

* newline

* remove

* test

* fix

* fix

* beautify

* merchandise

* fix

* comment

* export func

* test

* invalid bech32

* check

* bet

* format

* expand tests

* fix

* bye

* fix

* 0 len

* fix

* fix vuln

* fixington

* nolint

* check

---------

Co-authored-by: David Terpay <[email protected]>

* feat(`x/marketmap`): query server (skip-mev#275)

* clean

* new market

* gen

* fix

* wip

* dep

* update

* cute

* clean

* params

* fix

* len

* cp

* init

* ok

* cute

* add

* errors

* fix

* keeper test

* nice

* cdc

* msg
:

* msg

* clean

* update

* fix tests

* query

* query setup

* query

* query

* Update x/mm2/types/market.go

Co-authored-by: David Terpay <[email protected]>

* Update x/mm2/types/market.go

Co-authored-by: David Terpay <[email protected]>

* fix

* test

* newline

* remove

* test

* fix

* fix

* fix

* beautify

* merchandise

* fix

* fix

* comment

* export func

* test

* invalid bech32

* check

* bet

* format

* expand tests

* fix

* bye

* fix

* 0 len

* fix

* fix vuln

* fixington

* fix

* nolint

* check

---------

Co-authored-by: David Terpay <[email protected]>

* feat(`x/marktmap`): keeper genesis (skip-mev#276)

* clean

* new market

* gen

* fix

* wip

* dep

* update

* cute

* clean

* params

* fix

* len

* cp

* init

* ok

* cute

* add

* errors

* fix

* keeper test

* nice

* cdc

* msg
:

* msg

* clean

* update

* fix tests

* query

* query setup

* query

* query

* test

* Update x/mm2/types/market.go

Co-authored-by: David Terpay <[email protected]>

* Update x/mm2/types/market.go

Co-authored-by: David Terpay <[email protected]>

* fix

* test

* newline

* remove

* test

* fix

* fix

* fix

* fix

* beautify

* merchandise

* fix

* fix

* fix

* get params

* test

* comment

* export func

* test

* invalid bech32

* check

* bet

* format

* expand tests

* fix

* bye

* fix

* 0 len

* fix

* fix vuln

* fixington

* fix

* nolint

* check

* fix

---------

Co-authored-by: David Terpay <[email protected]>

* fix

* feat(`x/marketmap`): keeper hooks (skip-mev#279)

* clean

* new market

* gen

* fix

* wip

* dep

* update

* cute

* clean

* params

* fix

* len

* cp

* init

* ok

* cute

* add

* errors

* fix

* keeper test

* nice

* cdc

* msg
:

* msg

* clean

* update

* fix tests

* query

* query setup

* query

* query

* init hooks

* add to keeper

* test

* add hooks

* genesis hook

* fix

* this is my legacy

* ok

* lint

* Update x/mm2/types/market.go

Co-authored-by: David Terpay <[email protected]>

* Update x/mm2/types/market.go

Co-authored-by: David Terpay <[email protected]>

* fix

* test

* newline

* remove

* test

* fix

* fix

* fix

* fix

* beautify

* merchandise

* fix

* fix

* fix

* fix

* get params

* test

* comment

* export func

* test

* invalid bech32

* check

* bet

* format

* expand tests

* fix

* bye

* fix

* 0 len

* fix

* fix vuln

* fixington

* fix

* nolint

* check

* fix

* fix

---------

Co-authored-by: David Terpay <[email protected]>

* feat(`x/marketmap`): query cli (skip-mev#280)

* init

* market query

* fix

* feat(`x/marketmap`): events (skip-mev#281)

* types

* events

---------

Co-authored-by: David Terpay <[email protected]>

* feat(`x/marketmap`): add `Admin` param (skip-mev#293)

* add admin

* fix

* better check

* revert

* update proto

* clean

* fix

* set

* test

* fix

* test

* fix

* proto

* best

* capacity

* ok

* refactor: Provider Ticker Interface (PR1) (skip-mev#322)

* init

* init

* remove code that should not be here

* remove code that should not be here v2

* testing nit

* cr

* removing decimals from if

* refactor: API Price Providers with Provider Ticker Interface (PR2) (skip-mev#325)

* init

* more changes

* api providers

* more nits

* cr

* cr 2

* remove dec

* refactor: WebSocket Providers with ProviderTickers interface (PR3) (skip-mev#328)

* init

* more changes

* api providers

* more nits

* cr

* cr 2

* init

* nits

* factory methods

* oracle math done

* done with build

* done with build

* done with dydx basic changes

* updating

* update

* dydx provider done

* done with oracle testing

* done with providers

* build

* configs

* config nit

* nits

* update aggregator

* refactor: marketmap full conversion (skip-mev#333)

* wip

* suite

* renames

* renames

* all tests passing

* lint pass

* fix e2e

* fix?

* fix

* fix

* fix

* fixed forever

* ok

* nits

* tidy

* remove GetProvider

* refactor: `mm2` -> `marketmap` (skip-mev#334)

* wip

* suite

* renames

* renames

* all tests passing

* lint pass

* fix e2e

* temp

* bye

* gen

* fix

* fmt

* regen mocks

* fix?

* fix

* fix

* fix

---------

Co-authored-by: David Terpay <[email protected]>

---------

Co-authored-by: Alex Johnson <[email protected]>

* chore: Cleaning up deadcode (skip-mev#337)

* init

* nit

* tidy other readmes

* more nits

* chore: `marketmap` cleanup (skip-mev#338)

* proto

* fix

* comment

* comment out test

* fix

* fix

---------

Co-authored-by: David Terpay <[email protected]>

* ok

* sure

* tidy all

* readme

---------

Co-authored-by: David Terpay <[email protected]>
  • Loading branch information
2 people authored and beer-1 committed Apr 11, 2024
1 parent ce42e3a commit 113ff19
Show file tree
Hide file tree
Showing 208 changed files with 16,834 additions and 33,248 deletions.
10 changes: 2 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -76,8 +76,7 @@ $ make stop-oracle

### Oracle Service Metrics

* metrics relevant to the oracle service's health + operation are [here](./oracle/metrics/README.md)
* metrics relevant to the operation / health of the oracle's providers are [here](./providers/base/metrics/README.md)
* metrics relevant to the oracle service's health + operation are [here](./metrics.md)

### Oracle Application / Network Metrics

Expand All @@ -92,9 +91,4 @@ $ make stop-oracle
* ~**60 go routines** are running at any given time.
* ~**7x** improvement in performance of websocket providers over API providers.

To test these numbers yourself, spin up the the oracle server following the instructions above and then navigate to http://localhost:9090. From here, you can run the prometheus queries defined in the packages below to get insight into the oracle's performance.

* [Oracle Graphs & Queries](./oracle/metrics/README.md#usage): Provides insight into the oracle's performance by provider, price feed, and currency pair. All includes nice visualizations of the oracle's aggregated prices and the individual prices that are aggregated to produce the oracle's aggregated prices.
* [Data Provider Queries](./providers/base/metrics/README.md#usage): Provides general insight into how often price feeds are updated by status (success/failure), provider (binance, coinbase, etc.), price feed (BTC/USD, ETH/USD), and provider type (api/websocket).
* [Websocket Performance Queries](./providers/base/websocket/metrics/README.md#usage): Provides insight into how often websocket providers are successfully updating their data. This is a combination of metrics related to the underlying connection as well as the data handler which is responsible for processing the data received from the Websocket connection.
* [API Performance Queries](./providers/base/api/metrics/README.md#usage): Provides insight into how often API providers are successfully updating their data.
To test these numbers yourself, spin up the the oracle server following the instructions above and then navigate to http://localhost:9090. From here, you can run the prometheus queries defined in this [readme](./metrics.md) to get insight into the oracle's performance.
4,756 changes: 1,264 additions & 3,492 deletions api/slinky/marketmap/v1/market.pulsar.go

Large diffs are not rendered by default.

218 changes: 147 additions & 71 deletions api/slinky/marketmap/v1/params.pulsar.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

0 comments on commit 113ff19

Please sign in to comment.