Remove default query parameters
This commit is contained in:
parent
48ec78d3aa
commit
f2d1d95355
@ -26,13 +26,6 @@ import {
|
|||||||
import { relayerResponseJsonParsers } from './utils/relayer_response_json_parsers';
|
import { relayerResponseJsonParsers } from './utils/relayer_response_json_parsers';
|
||||||
|
|
||||||
const TRAILING_SLASHES_REGEX = /\/+$/;
|
const TRAILING_SLASHES_REGEX = /\/+$/;
|
||||||
const DEFAULT_PAGED_REQUEST_OPTS: PagedRequestOpts = {
|
|
||||||
page: 1,
|
|
||||||
perPage: 100,
|
|
||||||
};
|
|
||||||
const DEFAULT_REQUEST_OPTS: RequestOpts = {
|
|
||||||
networkId: 1,
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This class includes all the functionality related to interacting with a set of HTTP endpoints
|
* This class includes all the functionality related to interacting with a set of HTTP endpoints
|
||||||
@ -73,7 +66,7 @@ export class HttpClient implements Client {
|
|||||||
assert.doesConformToSchema('requestOpts', requestOpts, clientSchemas.requestOptsSchema);
|
assert.doesConformToSchema('requestOpts', requestOpts, clientSchemas.requestOptsSchema);
|
||||||
}
|
}
|
||||||
const httpRequestOpts = {
|
const httpRequestOpts = {
|
||||||
params: _.defaults({}, requestOpts, DEFAULT_REQUEST_OPTS, DEFAULT_PAGED_REQUEST_OPTS),
|
params: requestOpts,
|
||||||
};
|
};
|
||||||
const responseJson = await this._requestAsync('/asset_pairs', HttpRequestType.Get, httpRequestOpts);
|
const responseJson = await this._requestAsync('/asset_pairs', HttpRequestType.Get, httpRequestOpts);
|
||||||
const assetDataPairs = relayerResponseJsonParsers.parseAssetDataPairsJson(responseJson);
|
const assetDataPairs = relayerResponseJsonParsers.parseAssetDataPairsJson(responseJson);
|
||||||
@ -91,7 +84,7 @@ export class HttpClient implements Client {
|
|||||||
assert.doesConformToSchema('requestOpts', requestOpts, clientSchemas.requestOptsSchema);
|
assert.doesConformToSchema('requestOpts', requestOpts, clientSchemas.requestOptsSchema);
|
||||||
}
|
}
|
||||||
const httpRequestOpts = {
|
const httpRequestOpts = {
|
||||||
params: _.defaults({}, requestOpts, DEFAULT_REQUEST_OPTS, DEFAULT_PAGED_REQUEST_OPTS),
|
params: requestOpts,
|
||||||
};
|
};
|
||||||
const responseJson = await this._requestAsync(`/orders`, HttpRequestType.Get, httpRequestOpts);
|
const responseJson = await this._requestAsync(`/orders`, HttpRequestType.Get, httpRequestOpts);
|
||||||
const orders = relayerResponseJsonParsers.parseOrdersJson(responseJson);
|
const orders = relayerResponseJsonParsers.parseOrdersJson(responseJson);
|
||||||
@ -108,7 +101,7 @@ export class HttpClient implements Client {
|
|||||||
}
|
}
|
||||||
assert.doesConformToSchema('orderHash', orderHash, schemas.orderHashSchema);
|
assert.doesConformToSchema('orderHash', orderHash, schemas.orderHashSchema);
|
||||||
const httpRequestOpts = {
|
const httpRequestOpts = {
|
||||||
params: _.defaults({}, requestOpts, DEFAULT_REQUEST_OPTS),
|
params: requestOpts,
|
||||||
};
|
};
|
||||||
const responseJson = await this._requestAsync(`/order/${orderHash}`, HttpRequestType.Get, httpRequestOpts);
|
const responseJson = await this._requestAsync(`/order/${orderHash}`, HttpRequestType.Get, httpRequestOpts);
|
||||||
const order = relayerResponseJsonParsers.parseAPIOrderJson(responseJson);
|
const order = relayerResponseJsonParsers.parseAPIOrderJson(responseJson);
|
||||||
@ -130,7 +123,7 @@ export class HttpClient implements Client {
|
|||||||
assert.doesConformToSchema('requestOpts', requestOpts, clientSchemas.requestOptsSchema);
|
assert.doesConformToSchema('requestOpts', requestOpts, clientSchemas.requestOptsSchema);
|
||||||
}
|
}
|
||||||
const httpRequestOpts = {
|
const httpRequestOpts = {
|
||||||
params: _.defaults({}, request, requestOpts, DEFAULT_REQUEST_OPTS, DEFAULT_PAGED_REQUEST_OPTS),
|
params: _.defaults({}, request, requestOpts),
|
||||||
};
|
};
|
||||||
const responseJson = await this._requestAsync('/orderbook', HttpRequestType.Get, httpRequestOpts);
|
const responseJson = await this._requestAsync('/orderbook', HttpRequestType.Get, httpRequestOpts);
|
||||||
const orderbook = relayerResponseJsonParsers.parseOrderbookResponseJson(responseJson);
|
const orderbook = relayerResponseJsonParsers.parseOrderbookResponseJson(responseJson);
|
||||||
@ -147,7 +140,7 @@ export class HttpClient implements Client {
|
|||||||
}
|
}
|
||||||
assert.doesConformToSchema('request', request, clientSchemas.orderConfigRequestSchema);
|
assert.doesConformToSchema('request', request, clientSchemas.orderConfigRequestSchema);
|
||||||
const httpRequestOpts = {
|
const httpRequestOpts = {
|
||||||
params: _.defaults({}, requestOpts, DEFAULT_REQUEST_OPTS),
|
params: requestOpts,
|
||||||
payload: request,
|
payload: request,
|
||||||
};
|
};
|
||||||
const responseJson = await this._requestAsync('/order_config', HttpRequestType.Post, httpRequestOpts);
|
const responseJson = await this._requestAsync('/order_config', HttpRequestType.Post, httpRequestOpts);
|
||||||
@ -163,7 +156,7 @@ export class HttpClient implements Client {
|
|||||||
assert.doesConformToSchema('requestOpts', requestOpts, clientSchemas.requestOptsSchema);
|
assert.doesConformToSchema('requestOpts', requestOpts, clientSchemas.requestOptsSchema);
|
||||||
}
|
}
|
||||||
const httpRequestOpts = {
|
const httpRequestOpts = {
|
||||||
params: _.defaults({}, requestOpts, DEFAULT_REQUEST_OPTS, DEFAULT_PAGED_REQUEST_OPTS),
|
params: requestOpts,
|
||||||
};
|
};
|
||||||
const feeRecipients = await this._requestAsync('/fee_recipients', HttpRequestType.Get, httpRequestOpts);
|
const feeRecipients = await this._requestAsync('/fee_recipients', HttpRequestType.Get, httpRequestOpts);
|
||||||
assert.doesConformToSchema('feeRecipients', feeRecipients, schemas.relayerApiFeeRecipientsResponseSchema);
|
assert.doesConformToSchema('feeRecipients', feeRecipients, schemas.relayerApiFeeRecipientsResponseSchema);
|
||||||
@ -176,7 +169,7 @@ export class HttpClient implements Client {
|
|||||||
public async submitOrderAsync(signedOrder: SignedOrder, requestOpts?: RequestOpts): Promise<void> {
|
public async submitOrderAsync(signedOrder: SignedOrder, requestOpts?: RequestOpts): Promise<void> {
|
||||||
assert.doesConformToSchema('signedOrder', signedOrder, schemas.signedOrderSchema);
|
assert.doesConformToSchema('signedOrder', signedOrder, schemas.signedOrderSchema);
|
||||||
const httpRequestOpts = {
|
const httpRequestOpts = {
|
||||||
params: _.defaults({}, requestOpts, DEFAULT_REQUEST_OPTS),
|
params: requestOpts,
|
||||||
payload: signedOrder,
|
payload: signedOrder,
|
||||||
};
|
};
|
||||||
await this._requestAsync('/order', HttpRequestType.Post, httpRequestOpts);
|
await this._requestAsync('/order', HttpRequestType.Post, httpRequestOpts);
|
||||||
|
7
packages/connect/src/schemas/request_opts_schema.ts
Normal file
7
packages/connect/src/schemas/request_opts_schema.ts
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
export const requestOptsSchema = {
|
||||||
|
id: '/RequestOpts',
|
||||||
|
type: 'object',
|
||||||
|
properties: {
|
||||||
|
networkId: { type: 'number' },
|
||||||
|
},
|
||||||
|
};
|
@ -3,7 +3,7 @@
|
|||||||
"page": 1,
|
"page": 1,
|
||||||
"perPage": 10,
|
"perPage": 10,
|
||||||
"records": [
|
"records": [
|
||||||
"0x6eC92694ea172ebC430C30fa31De87620967A082",
|
"0x6ec92694ea172ebc430c30fa31de87620967a082",
|
||||||
"0x9e56625509c2f60af937f23b7b532600390e8c8b",
|
"0x9e56625509c2f60af937f23b7b532600390e8c8b",
|
||||||
"0xa2b31dacf30a9c50ca473337c01d8a201ae33e32"
|
"0xa2b31dacf30a9c50ca473337c01d8a201ae33e32"
|
||||||
]
|
]
|
||||||
|
@ -5,7 +5,7 @@ export const feeRecipientsResponse: FeeRecipientsResponse = {
|
|||||||
page: 1,
|
page: 1,
|
||||||
perPage: 10,
|
perPage: 10,
|
||||||
records: [
|
records: [
|
||||||
'0x6eC92694ea172ebC430C30fa31De87620967A082',
|
'0x6ec92694ea172ebc430c30fa31de87620967a082',
|
||||||
'0x9e56625509c2f60af937f23b7b532600390e8c8b',
|
'0x9e56625509c2f60af937f23b7b532600390e8c8b',
|
||||||
'0xa2b31dacf30a9c50ca473337c01d8a201ae33e32',
|
'0xa2b31dacf30a9c50ca473337c01d8a201ae33e32',
|
||||||
],
|
],
|
||||||
|
@ -43,8 +43,7 @@ describe('HttpClient', () => {
|
|||||||
describe('#getAssetPairsAsync', () => {
|
describe('#getAssetPairsAsync', () => {
|
||||||
const url = `${relayUrl}/asset_pairs`;
|
const url = `${relayUrl}/asset_pairs`;
|
||||||
it('gets assetData pairs with default options when none are provided', async () => {
|
it('gets assetData pairs with default options when none are provided', async () => {
|
||||||
const urlWithQuery = `${url}?page=1&perPage=100`;
|
fetchMock.get(url, assetDataPairsResponseJSON);
|
||||||
fetchMock.get(urlWithQuery, assetDataPairsResponseJSON);
|
|
||||||
const assetDataPairs = await relayerClient.getAssetPairsAsync();
|
const assetDataPairs = await relayerClient.getAssetPairsAsync();
|
||||||
expect(assetDataPairs).to.be.deep.equal(assetDataPairsResponse);
|
expect(assetDataPairs).to.be.deep.equal(assetDataPairsResponse);
|
||||||
});
|
});
|
||||||
@ -54,8 +53,9 @@ describe('HttpClient', () => {
|
|||||||
assetDataA: assetData,
|
assetDataA: assetData,
|
||||||
page: 3,
|
page: 3,
|
||||||
perPage: 50,
|
perPage: 50,
|
||||||
|
networkdId: 42,
|
||||||
};
|
};
|
||||||
const urlWithQuery = `${url}?assetDataA=${assetData}&page=3&perPage=50`;
|
const urlWithQuery = `${url}?assetDataA=${assetData}&networkdId=42&page=3&perPage=50`;
|
||||||
fetchMock.get(urlWithQuery, assetDataPairsResponseJSON);
|
fetchMock.get(urlWithQuery, assetDataPairsResponseJSON);
|
||||||
const assetDataPairs = await relayerClient.getAssetPairsAsync(assetPairsRequestOpts);
|
const assetDataPairs = await relayerClient.getAssetPairsAsync(assetPairsRequestOpts);
|
||||||
expect(assetDataPairs).to.be.deep.equal(assetDataPairsResponse);
|
expect(assetDataPairs).to.be.deep.equal(assetDataPairsResponse);
|
||||||
@ -68,8 +68,7 @@ describe('HttpClient', () => {
|
|||||||
describe('#getOrdersAsync', () => {
|
describe('#getOrdersAsync', () => {
|
||||||
const url = `${relayUrl}/orders`;
|
const url = `${relayUrl}/orders`;
|
||||||
it('gets orders with default options when none are provided', async () => {
|
it('gets orders with default options when none are provided', async () => {
|
||||||
const urlWithQuery = `${url}?page=1&perPage=100`;
|
fetchMock.get(url, ordersResponseJSON);
|
||||||
fetchMock.get(urlWithQuery, ordersResponseJSON);
|
|
||||||
const orders = await relayerClient.getOrdersAsync();
|
const orders = await relayerClient.getOrdersAsync();
|
||||||
expect(orders).to.be.deep.equal(ordersResponse);
|
expect(orders).to.be.deep.equal(ordersResponse);
|
||||||
});
|
});
|
||||||
@ -79,8 +78,9 @@ describe('HttpClient', () => {
|
|||||||
assetDataAddress,
|
assetDataAddress,
|
||||||
page: 3,
|
page: 3,
|
||||||
perPage: 50,
|
perPage: 50,
|
||||||
|
networkdId: 42,
|
||||||
};
|
};
|
||||||
const urlWithQuery = `${url}?assetDataAddress=${assetDataAddress}&page=3&perPage=50`;
|
const urlWithQuery = `${url}?assetDataAddress=${assetDataAddress}&networkdId=42&page=3&perPage=50`;
|
||||||
fetchMock.get(urlWithQuery, ordersResponseJSON);
|
fetchMock.get(urlWithQuery, ordersResponseJSON);
|
||||||
const orders = await relayerClient.getOrdersAsync(ordersRequest);
|
const orders = await relayerClient.getOrdersAsync(ordersRequest);
|
||||||
expect(orders).to.be.deep.equal(ordersResponse);
|
expect(orders).to.be.deep.equal(ordersResponse);
|
||||||
@ -112,7 +112,7 @@ describe('HttpClient', () => {
|
|||||||
it('gets orderbook with default page options when none are provided', async () => {
|
it('gets orderbook with default page options when none are provided', async () => {
|
||||||
const urlWithQuery = `${url}?baseAssetData=${
|
const urlWithQuery = `${url}?baseAssetData=${
|
||||||
request.baseAssetData
|
request.baseAssetData
|
||||||
}&page=1&perPage=100"eAssetData=${request.quoteAssetData}`;
|
}"eAssetData=${request.quoteAssetData}`;
|
||||||
fetchMock.get(urlWithQuery, orderbookJSON);
|
fetchMock.get(urlWithQuery, orderbookJSON);
|
||||||
const orderbook = await relayerClient.getOrderbookAsync(request);
|
const orderbook = await relayerClient.getOrderbookAsync(request);
|
||||||
expect(orderbook).to.be.deep.equal(orderbookResponse);
|
expect(orderbook).to.be.deep.equal(orderbookResponse);
|
||||||
@ -120,11 +120,12 @@ describe('HttpClient', () => {
|
|||||||
it('gets orderbook with specified page options', async () => {
|
it('gets orderbook with specified page options', async () => {
|
||||||
const urlWithQuery = `${url}?baseAssetData=${
|
const urlWithQuery = `${url}?baseAssetData=${
|
||||||
request.baseAssetData
|
request.baseAssetData
|
||||||
}&page=3&perPage=50"eAssetData=${request.quoteAssetData}`;
|
}&networkId=42&page=3&perPage=50"eAssetData=${request.quoteAssetData}`;
|
||||||
fetchMock.get(urlWithQuery, orderbookJSON);
|
fetchMock.get(urlWithQuery, orderbookJSON);
|
||||||
const pagedRequestOptions = {
|
const pagedRequestOptions = {
|
||||||
page: 3,
|
page: 3,
|
||||||
perPage: 50,
|
perPage: 50,
|
||||||
|
networkId: 42,
|
||||||
};
|
};
|
||||||
const orderbook = await relayerClient.getOrderbookAsync(request, pagedRequestOptions);
|
const orderbook = await relayerClient.getOrderbookAsync(request, pagedRequestOptions);
|
||||||
expect(orderbook).to.be.deep.equal(orderbookResponse);
|
expect(orderbook).to.be.deep.equal(orderbookResponse);
|
||||||
@ -146,7 +147,7 @@ describe('HttpClient', () => {
|
|||||||
exchangeAddress: '0x12459c951127e0c374ff9105dda097662a027093',
|
exchangeAddress: '0x12459c951127e0c374ff9105dda097662a027093',
|
||||||
};
|
};
|
||||||
const url = `${relayUrl}/order_config`;
|
const url = `${relayUrl}/order_config`;
|
||||||
it('gets fees', async () => {
|
it('gets order config', async () => {
|
||||||
fetchMock.post(url, orderConfigResponseJSON);
|
fetchMock.post(url, orderConfigResponseJSON);
|
||||||
const fees = await relayerClient.getOrderConfigAsync(request);
|
const fees = await relayerClient.getOrderConfigAsync(request);
|
||||||
expect(fees).to.be.deep.equal(orderConfigResponse);
|
expect(fees).to.be.deep.equal(orderConfigResponse);
|
||||||
@ -168,17 +169,18 @@ describe('HttpClient', () => {
|
|||||||
});
|
});
|
||||||
describe('#getFeeRecipientsAsync', () => {
|
describe('#getFeeRecipientsAsync', () => {
|
||||||
const url = `${relayUrl}/fee_recipients`;
|
const url = `${relayUrl}/fee_recipients`;
|
||||||
it('gets orderbook with default page options when none are provided', async () => {
|
it('gets fee recipients with default page options when none are provided', async () => {
|
||||||
fetchMock.get(url, feeRecipientsResponseJSON);
|
fetchMock.get(url, feeRecipientsResponseJSON);
|
||||||
const feeRecipients = await relayerClient.getFeeRecipientsAsync();
|
const feeRecipients = await relayerClient.getFeeRecipientsAsync();
|
||||||
expect(feeRecipients).to.be.deep.equal(feeRecipientsResponse);
|
expect(feeRecipients).to.be.deep.equal(feeRecipientsResponse);
|
||||||
});
|
});
|
||||||
it('gets orderbook with specified page options', async () => {
|
it('gets fee reciipient with specified page options', async () => {
|
||||||
const urlWithQuery = `${url}?&page=3&perPage=50`;
|
const urlWithQuery = `${url}?networkId=42&page=3&perPage=50`;
|
||||||
fetchMock.get(url, feeRecipientsResponseJSON);
|
fetchMock.get(urlWithQuery, feeRecipientsResponseJSON);
|
||||||
const pagedRequestOptions = {
|
const pagedRequestOptions = {
|
||||||
page: 3,
|
page: 3,
|
||||||
perPage: 50,
|
perPage: 50,
|
||||||
|
networkId: 42,
|
||||||
};
|
};
|
||||||
const feeRecipients = await relayerClient.getFeeRecipientsAsync(pagedRequestOptions);
|
const feeRecipients = await relayerClient.getFeeRecipientsAsync(pagedRequestOptions);
|
||||||
expect(feeRecipients).to.be.deep.equal(feeRecipientsResponse);
|
expect(feeRecipients).to.be.deep.equal(feeRecipientsResponse);
|
||||||
@ -189,3 +191,6 @@ describe('HttpClient', () => {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// https://example.com/fee_recipients?networkId=42&page=3&perPage=50
|
||||||
|
// https://example.com/fee_recipients?networkId=42&page=3&perPage=50
|
@ -5,15 +5,13 @@ export const relayerApiFeeRecipientsResponseSchema = {
|
|||||||
{ $ref: '/paginatedCollectionSchema' },
|
{ $ref: '/paginatedCollectionSchema' },
|
||||||
{
|
{
|
||||||
properties: {
|
properties: {
|
||||||
records: { $ref: '/relayerApiFeeRecipientsSchema' },
|
records: {
|
||||||
|
id: '/relayerApiFeeRecipientsSchema',
|
||||||
|
type: 'array',
|
||||||
|
items: { $ref: '/addressSchema' },
|
||||||
|
},
|
||||||
},
|
},
|
||||||
required: ['records'],
|
required: ['records'],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
};
|
};
|
||||||
|
|
||||||
export const relayerApiFeeRecipientsSchema = {
|
|
||||||
id: '/relayerApiFeeRecipientsSchema',
|
|
||||||
type: 'array',
|
|
||||||
items: { $ref: '/addressSchema' },
|
|
||||||
};
|
|
||||||
|
379
packages/migrations/artifacts/2.0.0/ERC721Token.json
vendored
Normal file
379
packages/migrations/artifacts/2.0.0/ERC721Token.json
vendored
Normal file
File diff suppressed because one or more lines are too long
2461
packages/migrations/artifacts/2.0.0/TestExchangeInternals.json
vendored
Normal file
2461
packages/migrations/artifacts/2.0.0/TestExchangeInternals.json
vendored
Normal file
File diff suppressed because one or more lines are too long
Loading…
x
Reference in New Issue
Block a user