Skip to content
This repository was archived by the owner on Aug 12, 2023. It is now read-only.

Commit a26279f

Browse files
authored
Add support for unknown relayers (#327)
* Return unknown relayer from relayers endpoint * Allow fetching of unknown relayer * Allow fetching of fills for unknown relayers * Allow fetching of unknown relayer metrics
1 parent 3173794 commit a26279f

6 files changed

Lines changed: 32 additions & 5 deletions

File tree

src/fills/search-fills.js

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,14 @@ const buildQuery = ({
4646
filters.push({ term: { relayerId } });
4747
}
4848

49+
if (_.isNull(relayerId)) {
50+
exclusions.push({
51+
exists: {
52+
field: 'relayerId',
53+
},
54+
});
55+
}
56+
4957
if (_.isFinite(protocolVersion)) {
5058
filters.push({ term: { protocolVersion } });
5159
}

src/metrics/get-network-metrics.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,8 @@ const getNetworkMetrics = async (
3737
$match: _.merge(
3838
{ date: { $gte: dayFrom, $lte: dayTo } },
3939
..._.compact([
40-
_.isNumber(filter.relayerId) && { relayerId: filter.relayerId },
40+
_.isNumber(filter.relayerId) ||
41+
(_.isNull(filter.relayerId) && { relayerId: filter.relayerId }),
4142
]),
4243
),
4344
},

src/relayers/get-relayer-by-slug.js

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,14 @@
11
const Relayer = require('../model/relayer');
22

33
const getRelayerBySlug = async slug => {
4+
if (slug === 'unknown') {
5+
return {
6+
id: 'unknown',
7+
name: 'Unknown',
8+
slug: 'unknown',
9+
};
10+
}
11+
412
const relayer = await Relayer.findOne({ slug }).lean();
513

614
return relayer;

src/relayers/get-relayer-lookup-id.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,10 @@ const getRelayerLookupId = async relayerId => {
77
return undefined;
88
}
99

10+
if (relayerId === 'unknown') {
11+
return null;
12+
}
13+
1014
const relayers = await getRelayers();
1115
const relayer = relayers[relayerId];
1216

src/relayers/get-relayers-with-24-hour-stats.js

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@ const getRelayersWith24HourStats = async options => {
2525
.toDate(),
2626
$lte: dateTo,
2727
},
28-
relayerId: { $ne: null },
2928
},
3029
},
3130
{
@@ -108,7 +107,11 @@ const getRelayersWith24HourStats = async options => {
108107
]);
109108

110109
return {
111-
relayers: _.get(result, '[0].relayers', []),
110+
relayers: _.get(result, '[0].relayers', []).map(relayer =>
111+
relayer.id === undefined
112+
? { ...relayer, id: 'unknown', name: 'Unknown', slug: 'unknown' }
113+
: relayer,
114+
),
112115
resultCount: _.get(result, '[0].totals[0].relayerCount', 0),
113116
};
114117
};

src/relayers/get-relayers-with-stats-for-dates.js

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@ const getRelayersWithStatsForDates = async (dateFrom, dateTo, options) => {
1515
$gte: dateFrom,
1616
$lte: dateTo,
1717
},
18-
relayerId: { $ne: null },
1918
},
2019
},
2120
{
@@ -79,7 +78,11 @@ const getRelayersWithStatsForDates = async (dateFrom, dateTo, options) => {
7978
]);
8079

8180
return {
82-
relayers: _.get(result, '[0].relayers', []),
81+
relayers: _.get(result, '[0].relayers', []).map(relayer =>
82+
relayer.id === undefined
83+
? { ...relayer, id: 'unknown', name: 'Unknown', slug: 'unknown' }
84+
: relayer,
85+
),
8386
resultCount: _.get(result, '[0].totals[0].relayerCount', 0),
8487
};
8588
};

0 commit comments

Comments
 (0)