import { BelongsTo, Column, DataType, ForeignKey, HasOne, Model, Table, } from 'sequelize-typescript'; import { IExtraData } from '../utils/interfaces'; import { TokenType } from '../utils/enums'; import { TokenTypeEvent } from '../utils/types'; import { EvmTokenType } from './evmTokenType'; import { TxFee } from './txFee'; @Table export class EvmTokenTypeEvent extends Model { @Column(DataType.STRING(128)) event: TokenTypeEvent; @Column(DataType.STRING) signature: string; @HasOne(() => TxFee) fee: TxFee; @Column({ type: DataType.JSONB, allowNull: true, defaultValue: null }) abi: IExtraData[]; // relations M-1 @ForeignKey(() => EvmTokenType) @Column(DataType.STRING) evmTokenTypeName: TokenType; @BelongsTo(() => EvmTokenType, 'evmTokenTypeName') evmTokenType: EvmTokenType; }