"use strict";Object.defineProperty(exports,"__esModule",{value:!0});const sequelize_1=require("sequelize");class ecosystemMasterWallet extends sequelize_1.Model{static initModel(e){return ecosystemMasterWallet.init({id:{type:sequelize_1.DataTypes.UUID,defaultValue:sequelize_1.DataTypes.UUIDV4,primaryKey:!0,allowNull:!1},chain:{type:sequelize_1.DataTypes.STRING(255),allowNull:!1,validate:{notEmpty:{msg:"chain: Chain must not be empty"}}},currency:{type:sequelize_1.DataTypes.STRING(255),allowNull:!1,validate:{notEmpty:{msg:"currency: Currency must not be empty"}}},address:{type:sequelize_1.DataTypes.STRING(255),allowNull:!1,validate:{notEmpty:{msg:"address: Address must not be empty"}}},balance:{type:sequelize_1.DataTypes.DOUBLE,allowNull:!1,defaultValue:0,validate:{isNumeric:{msg:"balance: Balance must be a number"}}},data:{type:sequelize_1.DataTypes.TEXT,allowNull:!0},status:{type:sequelize_1.DataTypes.BOOLEAN,allowNull:!1,defaultValue:!0,validate:{isBoolean:{msg:"status: Status must be a boolean value"}}},lastIndex:{type:sequelize_1.DataTypes.INTEGER,allowNull:!1,defaultValue:0,validate:{isInt:{msg:"lastIndex: Last index must be an integer"}}}},{sequelize:e,modelName:"ecosystemMasterWallet",tableName:"ecosystem_master_wallet",timestamps:!1,indexes:[{name:"PRIMARY",unique:!0,using:"BTREE",fields:[{name:"id"}]},{name:"ecosystemMasterWalletIdKey",unique:!0,using:"BTREE",fields:[{name:"id"}]},{name:"ecosystemMasterWalletChainCurrencyKey",unique:!0,using:"BTREE",fields:[{name:"chain"},{name:"currency"}]}]})}static associate(e){ecosystemMasterWallet.hasMany(e.ecosystemCustodialWallet,{as:"ecosystemCustodialWallets",foreignKey:"masterWalletId",onDelete:"CASCADE",onUpdate:"CASCADE"})}}exports.default=ecosystemMasterWallet;