Skip to content

Commit

Permalink
feat: added execution side filter for spot market trades
Browse files Browse the repository at this point in the history
  • Loading branch information
bangjelkoski committed Apr 27, 2021
1 parent 774f9e7 commit 09ed791
Show file tree
Hide file tree
Showing 28 changed files with 131 additions and 52 deletions.
4 changes: 4 additions & 0 deletions packages/assert/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,10 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.

## [0.0.9](https://github.com/InjectiveLabs/injective-ts/compare/@injectivelabs/assert@0.0.8...@injectivelabs/assert@0.0.9) (2021-04-27)

**Note:** Version bump only for package @injectivelabs/assert

## [0.0.8](https://github.com/InjectiveLabs/injective-ts/compare/@injectivelabs/assert@0.0.7...@injectivelabs/assert@0.0.8) (2021-04-27)

**Note:** Version bump only for package @injectivelabs/assert
Expand Down
6 changes: 3 additions & 3 deletions packages/assert/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "@injectivelabs/assert",
"description": "Asserting and validating schemas. Can be reused throughout Injective's projects.",
"version": "0.0.8",
"version": "0.0.9",
"license": "MIT",
"main": "dist/index.js",
"types": "dist/index.d.ts",
Expand All @@ -28,8 +28,8 @@
},
"dependencies": {
"@injectivelabs/exceptions": "^0.0.1",
"@injectivelabs/ts-types": "^0.0.17",
"@injectivelabs/utils": "^0.0.25",
"@injectivelabs/ts-types": "^0.0.18",
"@injectivelabs/utils": "^0.0.26",
"@types/lodash.values": "^4.3.6",
"jsonschema": "^1.4.0",
"link-module-alias": "^1.2.0",
Expand Down
4 changes: 4 additions & 0 deletions packages/chain-consumer/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,10 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.

## [0.0.46](https://github.com/InjectiveLabs/injective-ts/compare/@injectivelabs/chain-consumer@0.0.45...@injectivelabs/chain-consumer@0.0.46) (2021-04-27)

**Note:** Version bump only for package @injectivelabs/chain-consumer

## [0.0.45](https://github.com/InjectiveLabs/injective-ts/compare/@injectivelabs/chain-consumer@0.0.44...@injectivelabs/chain-consumer@0.0.45) (2021-04-27)

### Features
Expand Down
8 changes: 4 additions & 4 deletions packages/chain-consumer/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "@injectivelabs/chain-consumer",
"description": "Interacting with our Chain API made easy. Can be reused throughout Injective's projects.",
"version": "0.0.45",
"version": "0.0.46",
"license": "MIT",
"main": "dist/index.js",
"types": "dist/index.d.ts",
Expand Down Expand Up @@ -30,9 +30,9 @@
"@improbable-eng/grpc-web": "^0.14.0",
"@improbable-eng/grpc-web-node-http-transport": "^0.14.0",
"@injectivelabs/chain-api": "^1.4.6",
"@injectivelabs/exceptions": "^0.0.20",
"@injectivelabs/ts-types": "^0.0.17",
"@injectivelabs/utils": "^0.0.25",
"@injectivelabs/exceptions": "^0.0.21",
"@injectivelabs/ts-types": "^0.0.18",
"@injectivelabs/utils": "^0.0.26",
"bech32": "^2.0.0",
"ethereumjs-util": "^7.0.10",
"link-module-alias": "^1.2.0",
Expand Down
4 changes: 4 additions & 0 deletions packages/contracts/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,10 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.

## [0.0.42](https://github.com/InjectiveLabs/injective-ts/compare/@injectivelabs/contracts@0.0.41...@injectivelabs/contracts@0.0.42) (2021-04-27)

**Note:** Version bump only for package @injectivelabs/contracts

## [0.0.41](https://github.com/InjectiveLabs/injective-ts/compare/@injectivelabs/contracts@0.0.40...@injectivelabs/contracts@0.0.41) (2021-04-27)

**Note:** Version bump only for package @injectivelabs/contracts
Expand Down
12 changes: 6 additions & 6 deletions packages/contracts/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "@injectivelabs/contracts",
"description": "Contracts wrapper that can be reused throughout Injective's projects.",
"version": "0.0.41",
"version": "0.0.42",
"license": "MIT",
"main": "dist/index.js",
"types": "dist/index.d.ts",
Expand Down Expand Up @@ -29,12 +29,12 @@
"dependencies": {
"@commitlint/cli": "^8.1.0",
"@commitlint/config-conventional": "^8.1.0",
"@injectivelabs/exceptions": "^0.0.20",
"@injectivelabs/ts-types": "^0.0.17",
"@injectivelabs/tx-utils": "^0.0.5",
"@injectivelabs/utils": "^0.0.25",
"@injectivelabs/exceptions": "^0.0.21",
"@injectivelabs/ts-types": "^0.0.18",
"@injectivelabs/tx-utils": "^0.0.6",
"@injectivelabs/utils": "^0.0.26",
"@injectivelabs/web3-contract-typings": "^0.1.12",
"@injectivelabs/web3-strategy": "^0.0.38",
"@injectivelabs/web3-strategy": "^0.0.39",
"@types/ethereumjs-util": "^6.1.0",
"@types/jest": "^24.0.23",
"@types/node": "^12.7.5",
Expand Down
4 changes: 4 additions & 0 deletions packages/exceptions/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,10 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.

## [0.0.21](https://github.com/InjectiveLabs/injective-ts/compare/@injectivelabs/exceptions@0.0.20...@injectivelabs/exceptions@0.0.21) (2021-04-27)

**Note:** Version bump only for package @injectivelabs/exceptions

## [0.0.20](https://github.com/InjectiveLabs/injective-ts/compare/@injectivelabs/exceptions@0.0.19...@injectivelabs/exceptions@0.0.20) (2021-04-27)

**Note:** Version bump only for package @injectivelabs/exceptions
Expand Down
4 changes: 2 additions & 2 deletions packages/exceptions/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "@injectivelabs/exceptions",
"description": "List of exceptions that can be reused throughout Injective's projects.",
"version": "0.0.20",
"version": "0.0.21",
"license": "MIT",
"main": "dist/index.js",
"types": "dist/index.d.ts",
Expand All @@ -27,7 +27,7 @@
"start": "node dist/index.js"
},
"dependencies": {
"@injectivelabs/ts-types": "^0.0.17",
"@injectivelabs/ts-types": "^0.0.18",
"link-module-alias": "^1.2.0",
"shx": "^0.3.2"
},
Expand Down
6 changes: 6 additions & 0 deletions packages/exchange-consumer/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,12 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.

## [0.0.41](https://github.com/InjectiveLabs/injective-ts/compare/@injectivelabs/exchange-consumer@0.0.40...@injectivelabs/exchange-consumer@0.0.41) (2021-04-27)

### Features

* added execution side filter for spot market trades ([917620c](https://github.com/InjectiveLabs/injective-ts/commit/917620c809ccf02270e6d60777b42ce166443697))

## [0.0.40](https://github.com/InjectiveLabs/injective-ts/compare/@injectivelabs/exchange-consumer@0.0.39...@injectivelabs/exchange-consumer@0.0.40) (2021-04-27)

### Features
Expand Down
12 changes: 6 additions & 6 deletions packages/exchange-consumer/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "@injectivelabs/exchange-consumer",
"description": "Interacting with our Exchange API made easy. Can be reused throughout Injective's projects.",
"version": "0.0.40",
"version": "0.0.41",
"license": "MIT",
"main": "dist/index.js",
"types": "dist/index.d.ts",
Expand Down Expand Up @@ -30,11 +30,11 @@
"@improbable-eng/grpc-web": "^0.14.0",
"@improbable-eng/grpc-web-node-http-transport": "^0.14.0",
"@injectivelabs/chain-api": "^1.4.6",
"@injectivelabs/exceptions": "^0.0.20",
"@injectivelabs/exchange-api": "^2.0.7",
"@injectivelabs/ts-types": "^0.0.17",
"@injectivelabs/tx-utils": "^0.0.5",
"@injectivelabs/utils": "^0.0.25",
"@injectivelabs/exceptions": "^0.0.21",
"@injectivelabs/exchange-api": "^2.0.9",
"@injectivelabs/ts-types": "^0.0.18",
"@injectivelabs/tx-utils": "^0.0.6",
"@injectivelabs/utils": "^0.0.26",
"eth-sig-util": "^3.0.1",
"link-module-alias": "^1.2.0",
"shx": "^0.3.2",
Expand Down
4 changes: 4 additions & 0 deletions packages/networks/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,10 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.

## [0.0.12](https://github.com/InjectiveLabs/injective-ts/compare/@injectivelabs/networks@0.0.11...@injectivelabs/networks@0.0.12) (2021-04-27)

**Note:** Version bump only for package @injectivelabs/networks

## [0.0.11](https://github.com/InjectiveLabs/injective-ts/compare/@injectivelabs/networks@0.0.10...@injectivelabs/networks@0.0.11) (2021-04-27)

**Note:** Version bump only for package @injectivelabs/networks
Expand Down
6 changes: 3 additions & 3 deletions packages/networks/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "@injectivelabs/networks",
"description": "Endpoints, networks, etc. Can be reused throughout Injective's projects.",
"version": "0.0.11",
"version": "0.0.12",
"license": "MIT",
"main": "dist/index.js",
"types": "dist/index.d.ts",
Expand All @@ -27,8 +27,8 @@
"start": "node dist/index.js"
},
"dependencies": {
"@injectivelabs/exceptions": "^0.0.20",
"@injectivelabs/utils": "^0.0.25",
"@injectivelabs/exceptions": "^0.0.21",
"@injectivelabs/utils": "^0.0.26",
"link-module-alias": "^1.2.0",
"shx": "^0.3.2"
}
Expand Down
6 changes: 6 additions & 0 deletions packages/spot-consumer/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,12 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.

## [0.0.28](https://github.com/InjectiveLabs/injective-ts/compare/@injectivelabs/spot-consumer@0.0.27...@injectivelabs/spot-consumer@0.0.28) (2021-04-27)

### Features

* added execution side filter for spot market trades ([917620c](https://github.com/InjectiveLabs/injective-ts/commit/917620c809ccf02270e6d60777b42ce166443697))

## [0.0.27](https://github.com/InjectiveLabs/injective-ts/compare/@injectivelabs/spot-consumer@0.0.26...@injectivelabs/spot-consumer@0.0.27) (2021-04-27)

### Bug Fixes
Expand Down
10 changes: 5 additions & 5 deletions packages/spot-consumer/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "@injectivelabs/spot-consumer",
"description": "Spot Trading on Injective Protocol made easy. Can be reused throughout Injective's projects.",
"version": "0.0.27",
"version": "0.0.28",
"license": "MIT",
"main": "dist/index.js",
"types": "dist/index.d.ts",
Expand Down Expand Up @@ -30,10 +30,10 @@
"@improbable-eng/grpc-web": "^0.14.0",
"@improbable-eng/grpc-web-node-http-transport": "^0.14.0",
"@injectivelabs/chain-api": "^1.4.6",
"@injectivelabs/exceptions": "^0.0.20",
"@injectivelabs/exchange-api": "^2.0.7",
"@injectivelabs/ts-types": "^0.0.17",
"@injectivelabs/utils": "^0.0.25",
"@injectivelabs/exceptions": "^0.0.21",
"@injectivelabs/exchange-api": "^2.0.9",
"@injectivelabs/ts-types": "^0.0.18",
"@injectivelabs/utils": "^0.0.26",
"link-module-alias": "^1.2.0",
"shx": "^0.3.2",
"snakecase-keys": "^3.2.1"
Expand Down
8 changes: 7 additions & 1 deletion packages/spot-consumer/src/consumers/SpotMarketConsumer.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ import {
} from '@injectivelabs/exchange-api/injective_spot_markets_rpc_pb'
import { InjectiveSpotMarketsRPC } from '@injectivelabs/exchange-api/injective_spot_markets_rpc_pb_service'
import { GrpcException } from '@injectivelabs/exceptions'
import { AccountAddress } from '@injectivelabs/ts-types'
import { AccountAddress, TradeExecutionSide } from '@injectivelabs/ts-types'
import BaseConsumer from '../BaseConsumer'

export class SpotMarketConsumer extends BaseConsumer {
Expand Down Expand Up @@ -108,9 +108,11 @@ export class SpotMarketConsumer extends BaseConsumer {
async fetchMarketTrades({
marketId,
subaccountId,
executionSide,
}: {
marketId: string
subaccountId?: AccountAddress
executionSide?: TradeExecutionSide
}) {
const request = new MarketTradesRequest()
request.setMarketId(marketId)
Expand All @@ -119,6 +121,10 @@ export class SpotMarketConsumer extends BaseConsumer {
request.setSubaccountId(subaccountId)
}

if (executionSide) {
request.setExecutionSide(executionSide)
}

try {
const response = await this.request<
MarketTradesRequest,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import {
StreamMarketTradesResponse,
} from '@injectivelabs/exchange-api/injective_spot_markets_rpc_pb'
import { InjectiveSpotMarketsRPCClient } from '@injectivelabs/exchange-api/injective_spot_markets_rpc_pb_service'
import { StreamOperation } from '@injectivelabs/ts-types'
import { StreamOperation, TradeExecutionSide } from '@injectivelabs/ts-types'
import { SpotMarketTransformer } from '../../transformers/SpotMarketTransformer'
import { SpotMarketTrade } from '../../types'

Expand Down Expand Up @@ -40,13 +40,19 @@ export class SpotMarketTradeStream {
start({
marketId,
callback,
executionSide,
}: {
marketId: string
executionSide?: TradeExecutionSide
callback: SpotMarketTradeStreamCallback
}) {
const request = new StreamMarketTradesRequest()
request.setMarketId(marketId)

if (executionSide) {
request.setExecutionSide(executionSide)
}

const stream = this.client.streamMarketTrades(request)

stream.on('data', (response: StreamMarketTradesResponse) => {
Expand All @@ -60,15 +66,21 @@ export class SpotMarketTradeStream {
marketId,
subaccountId,
callback,
executionSide,
}: {
marketId: string
subaccountId: string
executionSide?: TradeExecutionSide
callback: SpotMarketTradeStreamCallback
}) {
const request = new StreamMarketTradesRequest()
request.setMarketId(marketId)
request.setSubaccountId(subaccountId)

if (executionSide) {
request.setExecutionSide(executionSide)
}

const stream = this.client.streamMarketTrades(request)

stream.on('data', (response: StreamMarketTradesResponse) => {
Expand Down
6 changes: 6 additions & 0 deletions packages/subaccount-consumer/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,12 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.

## [0.0.6](https://github.com/InjectiveLabs/injective-ts/compare/@injectivelabs/subaccount-consumer@0.0.5...@injectivelabs/subaccount-consumer@0.0.6) (2021-04-27)

### Features

* added execution side filter for spot market trades ([917620c](https://github.com/InjectiveLabs/injective-ts/commit/917620c809ccf02270e6d60777b42ce166443697))

## [0.0.5](https://github.com/InjectiveLabs/injective-ts/compare/@injectivelabs/subaccount-consumer@0.0.4...@injectivelabs/subaccount-consumer@0.0.5) (2021-04-27)

### Features
Expand Down
10 changes: 5 additions & 5 deletions packages/subaccount-consumer/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "@injectivelabs/subaccount-consumer",
"description": "Subaccounts on Injective Protocol made easy. Can be reused throughout Injective's projects.",
"version": "0.0.5",
"version": "0.0.6",
"license": "MIT",
"main": "dist/index.js",
"types": "dist/index.d.ts",
Expand Down Expand Up @@ -30,10 +30,10 @@
"@improbable-eng/grpc-web": "^0.14.0",
"@improbable-eng/grpc-web-node-http-transport": "^0.14.0",
"@injectivelabs/chain-api": "^1.4.6",
"@injectivelabs/exceptions": "^0.0.20",
"@injectivelabs/exchange-api": "^2.0.7",
"@injectivelabs/ts-types": "^0.0.17",
"@injectivelabs/utils": "^0.0.25",
"@injectivelabs/exceptions": "^0.0.21",
"@injectivelabs/exchange-api": "^2.0.9",
"@injectivelabs/ts-types": "^0.0.18",
"@injectivelabs/utils": "^0.0.26",
"link-module-alias": "^1.2.0",
"shx": "^0.3.2",
"snakecase-keys": "^3.2.1"
Expand Down
6 changes: 6 additions & 0 deletions packages/ts-types/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,12 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.

## [0.0.18](https://github.com/InjectiveLabs/injective-ts/compare/@injectivelabs/ts-types@0.0.17...@injectivelabs/ts-types@0.0.18) (2021-04-27)

### Features

* added execution side filter for spot market trades ([917620c](https://github.com/InjectiveLabs/injective-ts/commit/917620c809ccf02270e6d60777b42ce166443697))

## [0.0.17](https://github.com/InjectiveLabs/injective-ts/compare/@injectivelabs/ts-types@0.0.16...@injectivelabs/ts-types@0.0.17) (2021-04-27)

**Note:** Version bump only for package @injectivelabs/ts-types
Expand Down
2 changes: 1 addition & 1 deletion packages/ts-types/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "@injectivelabs/ts-types",
"description": "List of types that can be reused throughout Injective's projects.",
"version": "0.0.17",
"version": "0.0.18",
"license": "MIT",
"main": "dist/index.js",
"types": "dist/index.d.ts",
Expand Down
5 changes: 5 additions & 0 deletions packages/ts-types/src/trade.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,11 @@ export enum TradeExecutionType {
LimitMatchNewOrder = 'limitMatchNewOrder',
}

export enum TradeExecutionSide {
Maker = 'market',
Taker = 'taker',
}

export enum TradeDirection {
Buy = 'buy',
Sell = 'sell',
Expand Down
Loading

0 comments on commit 09ed791

Please sign in to comment.