import { BelongsTo, Column, DataType, ForeignKey, HasMany, Index, Model, Table, } from 'sequelize-typescript'; import { RedelegationPart } from './redelegationPart'; import { Stake } from './stake'; import { Validator } from './validator'; @Table export class Redelegation extends Model { @Column(DataType.DECIMAL) redelegatedAmount: string; @Index({ name: 'redelegation-stake-index', using: 'HASH', }) @ForeignKey(() => Stake) @Column(DataType.INTEGER) stakeId: number; @ForeignKey(() => Validator) @Column(DataType.INTEGER) toValidatorId: number; @BelongsTo(() => Stake) stake: Stake; @BelongsTo(() => Validator) toValidator: Validator; @HasMany(() => RedelegationPart) redelegationParts: RedelegationPart[]; }