Rename table and column names

This commit is contained in:
Alex Browne 2018-11-08 10:53:18 -08:00
parent ccad046eb6
commit 53cc9e9bed
No known key found for this signature in database
GPG Key ID: CA6B8D4AFA783512
10 changed files with 172 additions and 98 deletions

View File

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

View File

@ -1,13 +1,16 @@
import { Column, Entity, PrimaryColumn } from 'typeorm';
@Entity()
@Entity({ name: 'transactions' })
export class Transaction {
@PrimaryColumn() public transactionHash!: string;
@PrimaryColumn() public blockHash!: string;
@PrimaryColumn() public blockNumber!: number;
@PrimaryColumn({ name: 'transaction_hash' })
public transactionHash!: string;
@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;
@Column({ type: 'bigint' })
@Column({ type: 'bigint', name: 'gas_price' })
public gasPrice!: number;
}

View File

@ -2,33 +2,49 @@ import { Column, Entity, PrimaryColumn } from 'typeorm';
import { AssetType } from '../types';
@Entity()
@Entity({ name: 'exchange_cancel_events' })
export class ExchangeCancelEvent {
@PrimaryColumn() public contractAddress!: string;
@PrimaryColumn() public logIndex!: number;
@PrimaryColumn() public blockNumber!: number;
@PrimaryColumn({ name: 'contract_address' })
public contractAddress!: string;
@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
@Column() public makerAddress!: string;
@Column({ nullable: true, type: String })
@Column({ name: 'maker_address' })
public makerAddress!: string;
@Column({ nullable: true, type: String, name: 'taker_address' })
public takerAddress!: string;
@Column() public feeRecepientAddress!: string;
@Column() public senderAddress!: string;
@Column() public orderHash!: string;
@Column({ name: 'fee_recipient_address' })
public feeRecipientAddress!: string;
@Column({ name: 'sender_address' })
public senderAddress!: string;
@Column({ name: 'order_hash' })
public orderHash!: string;
@Column() public rawMakerAssetData!: string;
@Column() public makerAssetType!: AssetType;
@Column() public makerAssetProxyId!: string;
@Column() public makerTokenAddress!: string;
@Column({ nullable: true, type: String })
@Column({ name: 'raw_maker_asset_data' })
public rawMakerAssetData!: string;
@Column({ name: 'maker_asset_type' })
public makerAssetType!: AssetType;
@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;
@Column() public rawTakerAssetData!: string;
@Column() public takerAssetType!: AssetType;
@Column() public takerAssetProxyId!: string;
@Column() public takerTokenAddress!: string;
@Column({ nullable: true, type: String })
@Column({ name: 'raw_taker_asset_data' })
public rawTakerAssetData!: string;
@Column({ name: 'taker_asset_type' })
public takerAssetType!: AssetType;
@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;
// TODO(albrow): Include topics?

View File

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

View File

@ -2,36 +2,58 @@ import { Column, Entity, PrimaryColumn } from 'typeorm';
import { AssetType } from '../types';
@Entity()
@Entity({ name: 'exchange_fill_events' })
export class ExchangeFillEvent {
@PrimaryColumn() public contractAddress!: string;
@PrimaryColumn() public logIndex!: number;
@PrimaryColumn() public blockNumber!: number;
@PrimaryColumn({ name: 'contract_address' })
public contractAddress!: string;
@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() public makerAddress!: string;
@Column() public takerAddress!: string;
@Column() public feeRecipientAddress!: string;
@Column() public senderAddress!: string;
@Column() public makerAssetFilledAmount!: string;
@Column() public takerAssetFilledAmount!: string;
@Column() public makerFeePaid!: string;
@Column() public takerFeePaid!: string;
@Column() public orderHash!: string;
@Column({ name: 'transaction_hash' })
public transactionHash!: string;
@Column({ name: 'maker_address' })
public makerAddress!: string;
@Column({ name: 'taker_address' })
public takerAddress!: string;
@Column({ name: 'fee_recipient_address' })
public feeRecipientAddress!: string;
@Column({ name: 'sender_address' })
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() public makerAssetType!: AssetType;
@Column() public makerAssetProxyId!: string;
@Column() public makerTokenAddress!: string;
@Column({ nullable: true, type: String })
@Column({ name: 'raw_maker_asset_data' })
public rawMakerAssetData!: string;
@Column({ name: 'maker_asset_type' })
public makerAssetType!: AssetType;
@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;
@Column() public rawTakerAssetData!: string;
@Column() public takerAssetType!: AssetType;
@Column() public takerAssetProxyId!: string;
@Column() public takerTokenAddress!: string;
@Column({ nullable: true, type: String })
@Column({ name: 'raw_taker_asset_data' })
public rawTakerAssetData!: string;
@Column({ name: 'taker_asset_type' })
public takerAssetType!: AssetType;
@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;
// TODO(albrow): Include topics?

View File

@ -2,40 +2,65 @@ import { Column, Entity, PrimaryColumn } from 'typeorm';
import { AssetType } from '../types';
@Entity()
@Entity({ name: 'sra_orders' })
export class SraOrder {
@PrimaryColumn() public exchangeAddress!: string;
@PrimaryColumn() public orderHashHex!: string;
@PrimaryColumn({ name: 'exchange_address' })
public exchangeAddress!: string;
@PrimaryColumn({ name: 'order_hash_hex' })
public orderHashHex!: string;
@Column() public sourceUrl!: string;
@Column() public lastUpdatedTimestamp!: number;
@Column() public firstSeenTimestamp!: number;
@Column({ name: 'source_url' })
public sourceUrl!: string;
@Column({ name: 'last_updated_timestamp' })
public lastUpdatedTimestamp!: number;
@Column({ name: 'first_seen_timestamp' })
public firstSeenTimestamp!: number;
@Column() public makerAddress!: string;
@Column() public takerAddress!: string;
@Column() public feeRecipientAddress!: string;
@Column() public senderAddress!: string;
@Column() public makerAssetAmount!: string;
@Column() public takerAssetAmount!: string;
@Column() public makerFee!: string;
@Column() public takerFee!: string;
@Column() public expirationTimeSeconds!: string;
@Column() public salt!: string;
@Column() public signature!: string;
@Column({ name: 'maker_address' })
public makerAddress!: string;
@Column({ name: 'taker_address' })
public takerAddress!: string;
@Column({ name: 'fee_recipient_address' })
public feeRecipientAddress!: string;
@Column({ name: 'sender_address' })
public senderAddress!: string;
@Column({ name: 'maker_asset_amount' })
public makerAssetAmount!: 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() public makerAssetType!: AssetType;
@Column() public makerAssetProxyId!: string;
@Column() public makerTokenAddress!: string;
@Column({ nullable: true, type: String })
@Column({ name: 'raw_maker_asset_data' })
public rawMakerAssetData!: string;
@Column({ name: 'maker_asset_type' })
public makerAssetType!: AssetType;
@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;
@Column() public rawTakerAssetData!: string;
@Column() public takerAssetType!: AssetType;
@Column() public takerAssetProxyId!: string;
@Column() public takerTokenAddress!: string;
@Column({ nullable: true, type: String })
@Column({ name: 'raw_taker_asset_data' })
public rawTakerAssetData!: string;
@Column({ name: 'taker_asset_type' })
public takerAssetType!: AssetType;
@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;
// 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.takerAddress =
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.orderHash = eventLog.args.orderHash;
exchangeCancelEvent.rawMakerAssetData = eventLog.args.makerAssetData;

View File

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

View File

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