import { AllowNull, BelongsTo, Column, DataType, ForeignKey, Index, Model, Table, } from 'sequelize-typescript'; import { Address } from './address'; import { SwapChain } from './swapChain'; @Table({ timestamps: true }) export class SwapMultiple extends Model { @AllowNull(false) @Index({ name: 'swapM-sender-index', using: 'HASH', }) @ForeignKey(() => Address) @Column(DataType.INTEGER) senderId: number; @BelongsTo(() => Address, 'senderId') sender: Address; @AllowNull(false) @Index({ name: 'swapM-from-index', using: 'HASH', }) @ForeignKey(() => Address) @Column(DataType.INTEGER) fromId: number; @BelongsTo(() => Address, 'fromId') from: Address; @AllowNull(false) @Index({ name: 'swapM-recipient-index', using: 'HASH', }) @ForeignKey(() => Address) @Column(DataType.INTEGER) recipientId: number; @BelongsTo(() => Address, 'recipientId') recipient: Address; @Column(DataType.DECIMAL) amount: string; @Index({ name: 'swapM-tokenSymbol-index', using: 'HASH', }) @Column(DataType.STRING) tokenSymbol: string; @Index({ name: 'swapM-transactionNumber-index', using: 'HASH', }) @Column({ type: DataType.STRING, unique: true }) transactionNumber: string; @Index({ name: 'swapMultiple-Tx-index', using: 'HASH', }) @Column(DataType.STRING) hashTx: string; @ForeignKey(() => SwapChain) @Column(DataType.INTEGER) chainToId: number; @BelongsTo(() => SwapChain, 'chainToId') chainTo: SwapChain; @ForeignKey(() => SwapChain) @Column(DataType.INTEGER) chainFromId: number; @BelongsTo(() => SwapChain, 'chainFromId') chainFrom: SwapChain; @Column(DataType.STRING) v: string; @Column(DataType.STRING) r: string; @Column(DataType.STRING) s: string; @Index({ name: 'swapMultiple-TxRedeem-index', using: 'HASH', }) @Column(DataType.STRING) hashRedeem: string; @Column({ type: DataType.BOOLEAN, defaultValue: false }) redeemed: boolean; }