Rename table and column names

This commit is contained in:
Alex Browne
2018-11-08 10:53:18 -08:00
parent ccad046eb6
commit 53cc9e9bed
10 changed files with 172 additions and 98 deletions

View File

@@ -1,9 +1,10 @@
import { Column, Entity, PrimaryColumn } from 'typeorm'; import { Column, Entity, PrimaryColumn } from 'typeorm';
@Entity() @Entity({ name: 'blocks' })
export class Block { export class Block {
@PrimaryColumn() public hash!: string; @PrimaryColumn() public hash!: string;
@PrimaryColumn() public number!: number; @PrimaryColumn() public number!: number;
@Column() public unixTimestampSeconds!: number; @Column({ name: 'unix_timestamp_seconds' })
public unixTimestampSeconds!: number;
} }

View File

@@ -1,23 +1,23 @@
import { Column, Entity, PrimaryColumn } from 'typeorm'; import { Column, Entity, PrimaryColumn } from 'typeorm';
@Entity() @Entity({ name: 'relayers' })
export class Relayer { export class Relayer {
@PrimaryColumn() public uuid!: string; @PrimaryColumn() public uuid!: string;
@Column() public name!: string; @Column() public name!: string;
@Column() public url!: string; @Column() public url!: string;
@Column({ nullable: true, type: String }) @Column({ nullable: true, type: String, name: 'sra_http_endpoint' })
public sraHttpEndpoint!: string | null; public sraHttpEndpoint!: string | null;
@Column({ nullable: true, type: String }) @Column({ nullable: true, type: String, name: 'sra_ws_endpoint' })
public sraWsEndpoint!: string | null; public sraWsEndpoint!: string | null;
@Column({ nullable: true, type: String }) @Column({ nullable: true, type: String, name: 'app_url' })
public appUrl!: string | null; public appUrl!: string | null;
// TODO(albrow): Add exchange contract or protocol version? // TODO(albrow): Add exchange contract or protocol version?
// TODO(albrow): Add network ids for addresses? // TODO(albrow): Add network ids for addresses?
@Column({ type: 'varchar', array: true }) @Column({ type: 'varchar', array: true, name: 'fee_recipient_addresses' })
public feeRecipientAddresses!: string[]; public feeRecipientAddresses!: string[];
@Column({ type: 'varchar', array: true }) @Column({ type: 'varchar', array: true, name: 'taker_addresses' })
public takerAddresses!: string[]; public takerAddresses!: string[];
} }

View File

@@ -1,13 +1,16 @@
import { Column, Entity, PrimaryColumn } from 'typeorm'; import { Column, Entity, PrimaryColumn } from 'typeorm';
@Entity() @Entity({ name: 'transactions' })
export class Transaction { export class Transaction {
@PrimaryColumn() public transactionHash!: string; @PrimaryColumn({ name: 'transaction_hash' })
@PrimaryColumn() public blockHash!: string; public transactionHash!: string;
@PrimaryColumn() public blockNumber!: number; @PrimaryColumn({ name: 'block_hash' })
public blockHash!: string;
@PrimaryColumn({ name: 'block_number' })
public blockNumber!: number;
@Column({ type: 'bigint' }) @Column({ type: 'bigint', name: 'gas_used' })
public gasUsed!: number; public gasUsed!: number;
@Column({ type: 'bigint' }) @Column({ type: 'bigint', name: 'gas_price' })
public gasPrice!: number; public gasPrice!: number;
} }

View File

@@ -2,33 +2,49 @@ import { Column, Entity, PrimaryColumn } from 'typeorm';
import { AssetType } from '../types'; import { AssetType } from '../types';
@Entity() @Entity({ name: 'exchange_cancel_events' })
export class ExchangeCancelEvent { export class ExchangeCancelEvent {
@PrimaryColumn() public contractAddress!: string; @PrimaryColumn({ name: 'contract_address' })
@PrimaryColumn() public logIndex!: number; public contractAddress!: string;
@PrimaryColumn() public blockNumber!: number; @PrimaryColumn({ name: 'log_index' })
public logIndex!: number;
@PrimaryColumn({ name: 'block_number' })
public blockNumber!: number;
@Column() public rawData!: string; @Column({ name: 'raw_data' })
public rawData!: string;
// TODO(albrow): Include transaction hash // TODO(albrow): Include transaction hash
@Column() public makerAddress!: string; @Column({ name: 'maker_address' })
@Column({ nullable: true, type: String }) public makerAddress!: string;
@Column({ nullable: true, type: String, name: 'taker_address' })
public takerAddress!: string; public takerAddress!: string;
@Column() public feeRecepientAddress!: string; @Column({ name: 'fee_recipient_address' })
@Column() public senderAddress!: string; public feeRecipientAddress!: string;
@Column() public orderHash!: string; @Column({ name: 'sender_address' })
public senderAddress!: string;
@Column({ name: 'order_hash' })
public orderHash!: string;
@Column() public rawMakerAssetData!: string; @Column({ name: 'raw_maker_asset_data' })
@Column() public makerAssetType!: AssetType; public rawMakerAssetData!: string;
@Column() public makerAssetProxyId!: string; @Column({ name: 'maker_asset_type' })
@Column() public makerTokenAddress!: string; public makerAssetType!: AssetType;
@Column({ nullable: true, type: String }) @Column({ name: 'maker_asset_proxy_id' })
public makerAssetProxyId!: string;
@Column({ name: 'maker_token_address' })
public makerTokenAddress!: string;
@Column({ nullable: true, type: String, name: 'maker_token_id' })
public makerTokenId!: string | null; public makerTokenId!: string | null;
@Column() public rawTakerAssetData!: string; @Column({ name: 'raw_taker_asset_data' })
@Column() public takerAssetType!: AssetType; public rawTakerAssetData!: string;
@Column() public takerAssetProxyId!: string; @Column({ name: 'taker_asset_type' })
@Column() public takerTokenAddress!: string; public takerAssetType!: AssetType;
@Column({ nullable: true, type: String }) @Column({ name: 'taker_asset_proxy_id' })
public takerAssetProxyId!: string;
@Column({ name: 'taker_token_address' })
public takerTokenAddress!: string;
@Column({ nullable: true, type: String, name: 'taker_token_id' })
public takerTokenId!: string | null; public takerTokenId!: string | null;
// TODO(albrow): Include topics? // TODO(albrow): Include topics?

View File

@@ -1,16 +1,23 @@
import { Column, Entity, PrimaryColumn } from 'typeorm'; import { Column, Entity, PrimaryColumn } from 'typeorm';
@Entity() @Entity({ name: 'exchange_cancel_up_to_event' })
export class ExchangeCancelUpToEvent { export class ExchangeCancelUpToEvent {
@PrimaryColumn() public contractAddress!: string; @PrimaryColumn({ name: 'contract_address' })
@PrimaryColumn() public logIndex!: number; public contractAddress!: string;
@PrimaryColumn() public blockNumber!: number; @PrimaryColumn({ name: 'log_index' })
public logIndex!: number;
@PrimaryColumn({ name: 'block_number' })
public blockNumber!: number;
// TODO(albrow): Include transaction hash // TODO(albrow): Include transaction hash
@Column() public rawData!: string; @Column({ name: 'raw_data' })
public rawData!: string;
@Column() public makerAddress!: string; @Column({ name: 'maker_address' })
@Column() public senderAddress!: string; public makerAddress!: string;
@Column() public orderEpoch!: string; @Column({ name: 'sender_address' })
public senderAddress!: string;
@Column({ name: 'order_epoch' })
public orderEpoch!: string;
// TODO(albrow): Include topics? // TODO(albrow): Include topics?
} }

View File

@@ -2,36 +2,58 @@ import { Column, Entity, PrimaryColumn } from 'typeorm';
import { AssetType } from '../types'; import { AssetType } from '../types';
@Entity() @Entity({ name: 'exchange_fill_events' })
export class ExchangeFillEvent { export class ExchangeFillEvent {
@PrimaryColumn() public contractAddress!: string; @PrimaryColumn({ name: 'contract_address' })
@PrimaryColumn() public logIndex!: number; public contractAddress!: string;
@PrimaryColumn() public blockNumber!: number; @PrimaryColumn({ name: 'log_index' })
public logIndex!: number;
@PrimaryColumn({ name: 'block_number' })
public blockNumber!: number;
@Column() public rawData!: string; @Column({ name: 'raw_data' })
public rawData!: string;
@Column() public transactionHash!: string; @Column({ name: 'transaction_hash' })
@Column() public makerAddress!: string; public transactionHash!: string;
@Column() public takerAddress!: string; @Column({ name: 'maker_address' })
@Column() public feeRecipientAddress!: string; public makerAddress!: string;
@Column() public senderAddress!: string; @Column({ name: 'taker_address' })
@Column() public makerAssetFilledAmount!: string; public takerAddress!: string;
@Column() public takerAssetFilledAmount!: string; @Column({ name: 'fee_recipient_address' })
@Column() public makerFeePaid!: string; public feeRecipientAddress!: string;
@Column() public takerFeePaid!: string; @Column({ name: 'sender_address' })
@Column() public orderHash!: string; public senderAddress!: string;
@Column({ name: 'maker_asset_filled_amount' })
public makerAssetFilledAmount!: string;
@Column({ name: 'taker_asset_filled_amount' })
public takerAssetFilledAmount!: string;
@Column({ name: 'maker_fee_paid' })
public makerFeePaid!: string;
@Column({ name: 'taker_fee_paid' })
public takerFeePaid!: string;
@Column({ name: 'order_hash' })
public orderHash!: string;
@Column() public rawMakerAssetData!: string; @Column({ name: 'raw_maker_asset_data' })
@Column() public makerAssetType!: AssetType; public rawMakerAssetData!: string;
@Column() public makerAssetProxyId!: string; @Column({ name: 'maker_asset_type' })
@Column() public makerTokenAddress!: string; public makerAssetType!: AssetType;
@Column({ nullable: true, type: String }) @Column({ name: 'maker_asset_proxy_id' })
public makerAssetProxyId!: string;
@Column({ name: 'maker_token_address' })
public makerTokenAddress!: string;
@Column({ nullable: true, type: String, name: 'maker_token_id' })
public makerTokenId!: string | null; public makerTokenId!: string | null;
@Column() public rawTakerAssetData!: string; @Column({ name: 'raw_taker_asset_data' })
@Column() public takerAssetType!: AssetType; public rawTakerAssetData!: string;
@Column() public takerAssetProxyId!: string; @Column({ name: 'taker_asset_type' })
@Column() public takerTokenAddress!: string; public takerAssetType!: AssetType;
@Column({ nullable: true, type: String }) @Column({ name: 'taker_asset_proxy_id' })
public takerAssetProxyId!: string;
@Column({ name: 'taker_token_address' })
public takerTokenAddress!: string;
@Column({ nullable: true, type: String, name: 'taker_token_id' })
public takerTokenId!: string | null; public takerTokenId!: string | null;
// TODO(albrow): Include topics? // TODO(albrow): Include topics?

View File

@@ -2,40 +2,65 @@ import { Column, Entity, PrimaryColumn } from 'typeorm';
import { AssetType } from '../types'; import { AssetType } from '../types';
@Entity() @Entity({ name: 'sra_orders' })
export class SraOrder { export class SraOrder {
@PrimaryColumn() public exchangeAddress!: string; @PrimaryColumn({ name: 'exchange_address' })
@PrimaryColumn() public orderHashHex!: string; public exchangeAddress!: string;
@PrimaryColumn({ name: 'order_hash_hex' })
public orderHashHex!: string;
@Column() public sourceUrl!: string; @Column({ name: 'source_url' })
@Column() public lastUpdatedTimestamp!: number; public sourceUrl!: string;
@Column() public firstSeenTimestamp!: number; @Column({ name: 'last_updated_timestamp' })
public lastUpdatedTimestamp!: number;
@Column({ name: 'first_seen_timestamp' })
public firstSeenTimestamp!: number;
@Column() public makerAddress!: string; @Column({ name: 'maker_address' })
@Column() public takerAddress!: string; public makerAddress!: string;
@Column() public feeRecipientAddress!: string; @Column({ name: 'taker_address' })
@Column() public senderAddress!: string; public takerAddress!: string;
@Column() public makerAssetAmount!: string; @Column({ name: 'fee_recipient_address' })
@Column() public takerAssetAmount!: string; public feeRecipientAddress!: string;
@Column() public makerFee!: string; @Column({ name: 'sender_address' })
@Column() public takerFee!: string; public senderAddress!: string;
@Column() public expirationTimeSeconds!: string; @Column({ name: 'maker_asset_amount' })
@Column() public salt!: string; public makerAssetAmount!: string;
@Column() public signature!: string; @Column({ name: 'taker_asset_amount' })
public takerAssetAmount!: string;
@Column({ name: 'maker_fee' })
public makerFee!: string;
@Column({ name: 'taker_fee' })
public takerFee!: string;
@Column({ name: 'expiration_time_seconds' })
public expirationTimeSeconds!: string;
@Column({ name: 'salt' })
public salt!: string;
@Column({ name: 'signature' })
public signature!: string;
@Column() public rawMakerAssetData!: string; @Column({ name: 'raw_maker_asset_data' })
@Column() public makerAssetType!: AssetType; public rawMakerAssetData!: string;
@Column() public makerAssetProxyId!: string; @Column({ name: 'maker_asset_type' })
@Column() public makerTokenAddress!: string; public makerAssetType!: AssetType;
@Column({ nullable: true, type: String }) @Column({ name: 'maker_asset_proxy_id' })
public makerAssetProxyId!: string;
@Column({ name: 'maker_token_address' })
public makerTokenAddress!: string;
@Column({ nullable: true, type: String, name: 'maker_token_id' })
public makerTokenId!: string | null; public makerTokenId!: string | null;
@Column() public rawTakerAssetData!: string; @Column({ name: 'raw_taker_asset_data' })
@Column() public takerAssetType!: AssetType; public rawTakerAssetData!: string;
@Column() public takerAssetProxyId!: string; @Column({ name: 'taker_asset_type' })
@Column() public takerTokenAddress!: string; public takerAssetType!: AssetType;
@Column({ nullable: true, type: String }) @Column({ name: 'taker_asset_proxy_id' })
public takerAssetProxyId!: string;
@Column({ name: 'taker_token_address' })
public takerTokenAddress!: string;
@Column({ nullable: true, type: String, name: 'taker_token_id' })
public takerTokenId!: string | null; public takerTokenId!: string | null;
// TODO(albrow): Make this optional? // TODO(albrow): Make this optional?
@Column() public metaDataJson!: string; @Column({ name: 'metadata_json' })
public metadataJson!: string;
} }

View File

@@ -79,7 +79,7 @@ export function _convertToExchangeCancelEvent(
exchangeCancelEvent.makerAddress = eventLog.args.makerAddress.toString(); exchangeCancelEvent.makerAddress = eventLog.args.makerAddress.toString();
exchangeCancelEvent.takerAddress = exchangeCancelEvent.takerAddress =
eventLog.args.takerAddress == null ? null : eventLog.args.takerAddress.toString(); eventLog.args.takerAddress == null ? null : eventLog.args.takerAddress.toString();
exchangeCancelEvent.feeRecepientAddress = eventLog.args.feeRecipientAddress; exchangeCancelEvent.feeRecipientAddress = eventLog.args.feeRecipientAddress;
exchangeCancelEvent.senderAddress = eventLog.args.senderAddress; exchangeCancelEvent.senderAddress = eventLog.args.senderAddress;
exchangeCancelEvent.orderHash = eventLog.args.orderHash; exchangeCancelEvent.orderHash = eventLog.args.orderHash;
exchangeCancelEvent.rawMakerAssetData = eventLog.args.makerAssetData; exchangeCancelEvent.rawMakerAssetData = eventLog.args.makerAssetData;

View File

@@ -48,7 +48,7 @@ export function _convertToEntity(apiOrder: APIOrder): SraOrder {
sraOrder.takerTokenAddress = takerAssetData.tokenAddress; sraOrder.takerTokenAddress = takerAssetData.tokenAddress;
sraOrder.takerTokenId = bigNumbertoStringOrNull((takerAssetData as ERC721AssetData).tokenId); sraOrder.takerTokenId = bigNumbertoStringOrNull((takerAssetData as ERC721AssetData).tokenId);
sraOrder.metaDataJson = JSON.stringify(apiOrder.metaData); sraOrder.metadataJson = JSON.stringify(apiOrder.metaData);
return sraOrder; return sraOrder;
} }

View File

@@ -61,7 +61,7 @@ describe('sra_orders', () => {
expected.takerAssetProxyId = '0xf47261b0'; expected.takerAssetProxyId = '0xf47261b0';
expected.takerTokenAddress = '0x42d6622dece394b54999fbd73d108123806f6a18'; expected.takerTokenAddress = '0x42d6622dece394b54999fbd73d108123806f6a18';
expected.takerTokenId = null; expected.takerTokenId = null;
expected.metaDataJson = '{"isThisArbitraryData":true,"powerLevel":9001}'; expected.metadataJson = '{"isThisArbitraryData":true,"powerLevel":9001}';
const actual = _convertToEntity(input); const actual = _convertToEntity(input);
expect(actual).deep.equal(expected); expect(actual).deep.equal(expected);