Skip to content
This repository was archived by the owner on Apr 4, 2022. It is now read-only.

Adding getTxOrders to connect Tx API #900

Merged
merged 3 commits into from
Dec 20, 2021
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions src/api/operator/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ export const {
getOrder,
getOrders,
getAccountOrders,
getTxOrders,
getTrades,
// functions that do not have a mock
getOrderLink = realApi.getOrderLink,
Expand Down
14 changes: 14 additions & 0 deletions src/api/operator/operatorApi.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ import {
OrderPostError,
RawOrder,
RawTrade,
GetTxOrdersParams,
} from './types'

function getOperatorUrl(): Partial<Record<Network, string>> {
Expand Down Expand Up @@ -240,6 +241,19 @@ export async function getAccountOrders(params: GetAccountOrdersParams): Promise<
return _fetchQuery(networkId, queryString)
}

/**
* Gets a order list within Tx
*/
export async function getTxOrders(params: GetTxOrdersParams): Promise<RawOrder[]> {
const { networkId, txHash } = params

console.log(`[getTxOrders] Fetching tx orders on network ${networkId}`)

const queryString = `/transactions/${txHash}/orders`

return _fetchQuery(networkId, queryString)
}

/**
* Gets a list of trades
*
Expand Down
18 changes: 17 additions & 1 deletion src/api/operator/operatorMock.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,12 @@
import { GetOrderParams, GetOrdersParams, GetAccountOrdersParams, GetTradesParams, RawOrder, RawTrade } from './types'
import {
GetOrderParams,
GetOrdersParams,
GetAccountOrdersParams,
GetTxOrdersParams,
GetTradesParams,
RawOrder,
RawTrade,
} from './types'

import { RAW_ORDER, RAW_TRADE } from '../../../test/data'

Expand Down Expand Up @@ -31,6 +39,14 @@ export async function getAccountOrders(params: GetAccountOrdersParams): Promise<
return [order]
}

export async function getTxOrders(params: GetTxOrdersParams): Promise<RawOrder[]> {
const { networkId } = params

const order = await getOrder({ networkId, orderId: 'whatever' })

return [order]
}

export async function getTrades(params: GetTradesParams): Promise<RawTrade[]> {
const { owner, orderId } = params

Expand Down
5 changes: 5 additions & 0 deletions src/api/operator/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import { TokenErc20 } from '@gnosis.pm/dex-js'
import { Network } from 'types'

export type OrderID = string
export type TxHash = string

export interface OrderPostError {
errorType: 'MissingOrderData' | 'InvalidSignature' | 'DuplicateOrder' | 'InsufficientFunds'
Expand Down Expand Up @@ -133,6 +134,10 @@ export type GetOrdersParams = WithNetworkId & {
buyToken?: string
}

export type GetTxOrdersParams = WithNetworkId & {
txHash: TxHash
}

export type GetTradesParams = WithNetworkId & {
owner?: string
orderId?: string
Expand Down