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 all 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