Pull token metadata re trusted tokens
This commit is contained in:
committed by
Alex Browne
parent
9986717671
commit
c6af5131b0
@@ -64,7 +64,7 @@ async function getCancelUpToEventsAsync(eventsSource: ExchangeEventsSource): Pro
|
||||
await saveEventsAsync(startBlock === EXCHANGE_START_BLOCK, repository, events);
|
||||
}
|
||||
|
||||
const tabelNameRegex = /^[a-zA-Z_]*$/;
|
||||
const tableNameRegex = /^[a-zA-Z_]*$/;
|
||||
|
||||
async function getStartBlockAsync<T extends ExchangeEvent>(repository: Repository<T>): Promise<number> {
|
||||
const fillEventCount = await repository.count();
|
||||
@@ -73,7 +73,7 @@ async function getStartBlockAsync<T extends ExchangeEvent>(repository: Repositor
|
||||
return EXCHANGE_START_BLOCK;
|
||||
}
|
||||
const tableName = repository.metadata.tableName;
|
||||
if (!tabelNameRegex.test(tableName)) {
|
||||
if (!tableNameRegex.test(tableName)) {
|
||||
throw new Error('Unexpected special character in table name: ' + tableName);
|
||||
}
|
||||
const queryResult = await connection.query(
|
||||
|
51
packages/pipeline/src/scripts/pull_trusted_tokens.ts
Normal file
51
packages/pipeline/src/scripts/pull_trusted_tokens.ts
Normal file
@@ -0,0 +1,51 @@
|
||||
import 'reflect-metadata';
|
||||
import { Connection, ConnectionOptions, createConnection } from 'typeorm';
|
||||
|
||||
import { MetamaskTrustedTokenMeta, TrustedTokenSource, ZeroExTrustedTokenMeta } from '../data_sources/trusted_tokens';
|
||||
import { TrustedToken } from '../entities';
|
||||
import * as ormConfig from '../ormconfig';
|
||||
import { parseMetamaskTrustedTokens, parseZeroExTrustedTokens } from '../parsers/trusted_tokens';
|
||||
import { handleError } from '../utils';
|
||||
|
||||
const METAMASK_TRUSTED_TOKENS_URL =
|
||||
'https://raw.githubusercontent.com/MetaMask/eth-contract-metadata/master/contract-map.json';
|
||||
|
||||
const ZEROEX_TRUSTED_TOKENS_URL =
|
||||
'https://website-api.0xproject.com/tokens';
|
||||
|
||||
let connection: Connection;
|
||||
|
||||
(async () => {
|
||||
connection = await createConnection(ormConfig as ConnectionOptions);
|
||||
await getMetamaskTrustedTokens();
|
||||
await getZeroExTrustedTokens();
|
||||
process.exit(0);
|
||||
})().catch(handleError);
|
||||
|
||||
async function getMetamaskTrustedTokens(): Promise<void> {
|
||||
// tslint:disable-next-line
|
||||
console.log('Getting latest metamask trusted tokens list ...');
|
||||
const trustedTokensRepository = connection.getRepository(TrustedToken);
|
||||
const trustedTokensSource = new TrustedTokenSource<Map<string, MetamaskTrustedTokenMeta>>(METAMASK_TRUSTED_TOKENS_URL);
|
||||
const resp = await trustedTokensSource.getTrustedTokenMetaAsync();
|
||||
const trustedTokens = parseMetamaskTrustedTokens(resp);
|
||||
// tslint:disable-next-line
|
||||
console.log('Saving metamask trusted tokens list');
|
||||
await trustedTokensRepository.save(trustedTokens);
|
||||
// tslint:disable-next-line
|
||||
console.log('Done saving metamask trusted tokens.')
|
||||
}
|
||||
|
||||
async function getZeroExTrustedTokens(): Promise<void> {
|
||||
// tslint:disable-next-line
|
||||
console.log('Getting latest 0x trusted tokens list ...');
|
||||
const trustedTokensRepository = connection.getRepository(TrustedToken);
|
||||
const trustedTokensSource = new TrustedTokenSource<ZeroExTrustedTokenMeta[]>(ZEROEX_TRUSTED_TOKENS_URL);
|
||||
const resp = await trustedTokensSource.getTrustedTokenMetaAsync();
|
||||
const trustedTokens = parseZeroExTrustedTokens(resp);
|
||||
// tslint:disable-next-line
|
||||
console.log('Saving metamask trusted tokens list');
|
||||
await trustedTokensRepository.save(trustedTokens);
|
||||
// tslint:disable-next-line
|
||||
console.log('Done saving metamask trusted tokens.');
|
||||
}
|
Reference in New Issue
Block a user