diff options
author | Alex Browne <stephenalexbrowne@gmail.com> | 2018-10-25 09:34:20 +0800 |
---|---|---|
committer | Fred Carlsen <fred@sjelfull.no> | 2018-12-06 19:04:24 +0800 |
commit | b159d4e0ecbd1f1419501c79dbb9bf52004c37b7 (patch) | |
tree | 0443e8e86c6ec1e0216fc6e1446dc413fecce8f0 /packages/pipeline/src/parsers | |
parent | 1402a3dfae1be32a346f8b75a4209950bda00b74 (diff) | |
download | dexon-sol-tools-b159d4e0ecbd1f1419501c79dbb9bf52004c37b7.tar dexon-sol-tools-b159d4e0ecbd1f1419501c79dbb9bf52004c37b7.tar.gz dexon-sol-tools-b159d4e0ecbd1f1419501c79dbb9bf52004c37b7.tar.bz2 dexon-sol-tools-b159d4e0ecbd1f1419501c79dbb9bf52004c37b7.tar.lz dexon-sol-tools-b159d4e0ecbd1f1419501c79dbb9bf52004c37b7.tar.xz dexon-sol-tools-b159d4e0ecbd1f1419501c79dbb9bf52004c37b7.tar.zst dexon-sol-tools-b159d4e0ecbd1f1419501c79dbb9bf52004c37b7.zip |
Implement fetching and parsing relayer info
Diffstat (limited to 'packages/pipeline/src/parsers')
-rw-r--r-- | packages/pipeline/src/parsers/relayer_registry/index.ts | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/packages/pipeline/src/parsers/relayer_registry/index.ts b/packages/pipeline/src/parsers/relayer_registry/index.ts new file mode 100644 index 000000000..6eca10167 --- /dev/null +++ b/packages/pipeline/src/parsers/relayer_registry/index.ts @@ -0,0 +1,28 @@ +import * as R from 'ramda'; + +import { RelayerResponse, RelayerResponseNetwork } from '../../data_sources/relayer-registry'; +import { Relayer } from '../../entities/Relayer'; + +export const parseRelayers = R.map(parseRelayer); + +function parseRelayer(relayerResp: RelayerResponse): Relayer { + const relayer = new Relayer(); + relayer.name = relayerResp.name; + relayer.url = relayerResp.homepage_url; + relayer.appUrl = relayerResp.app_url; + const mainnet = getMainNetwork(relayerResp); + if (mainnet !== undefined) { + relayer.sraHttpEndpoint = mainnet.sra_http_endpoint || null; + relayer.sraWsEndpoint = mainnet.sra_ws_endpoint || null; + relayer.feeRecipientAddresses = R.path(['static_order_fields', 'fee_recipient_addresses'], mainnet) || []; + relayer.takerAddresses = R.path(['static_order_fields', 'taker_addresses'], mainnet) || []; + } else { + relayer.feeRecipientAddresses = []; + relayer.takerAddresses = []; + } + return relayer; +} + +function getMainNetwork(relayerResp: RelayerResponse): RelayerResponseNetwork | undefined { + return R.find(network => network.networkId === 1, relayerResp.networks); +} |