schema.prisma 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. generator client {
  2. provider = "prisma-client"
  3. output = "../generated/prisma"
  4. }
  5. datasource db {
  6. provider = "sqlite"
  7. }
  8. model MonitoredWallet {
  9. id String @id @default(cuid())
  10. address String @unique
  11. label String?
  12. isActive Boolean @default(true)
  13. createdAt DateTime @default(now())
  14. updatedAt DateTime @updatedAt
  15. leaderPositions LeaderPosition[]
  16. copyTrades CopyTrade[]
  17. }
  18. model LeaderPosition {
  19. id String @id @default(cuid())
  20. walletId String
  21. wallet MonitoredWallet @relation(fields: [walletId], references: [id], onDelete: Cascade)
  22. positionAddress String @unique
  23. lbPairAddress String
  24. tokenXMint String
  25. tokenYMint String
  26. lowerBinId Int
  27. upperBinId Int
  28. strategyType String?
  29. status String @default("OPEN")
  30. openTxSignature String?
  31. closeTxSignature String?
  32. openedAt DateTime @default(now())
  33. closedAt DateTime?
  34. followerPosition FollowerPosition?
  35. copyTrades CopyTrade[]
  36. }
  37. model FollowerPosition {
  38. id String @id @default(cuid())
  39. leaderPositionId String @unique
  40. leaderPosition LeaderPosition @relation(fields: [leaderPositionId], references: [id], onDelete: Cascade)
  41. positionAddress String @unique
  42. lbPairAddress String
  43. lowerBinId Int
  44. upperBinId Int
  45. status String @default("OPEN")
  46. amountXDeposited String @default("0")
  47. amountYDeposited String @default("0")
  48. openedAt DateTime @default(now())
  49. closedAt DateTime?
  50. }
  51. model CopyTrade {
  52. id String @id @default(cuid())
  53. walletId String
  54. wallet MonitoredWallet @relation(fields: [walletId], references: [id], onDelete: Cascade)
  55. leaderPositionId String?
  56. leaderPosition LeaderPosition? @relation(fields: [leaderPositionId], references: [id], onDelete: SetNull)
  57. action String
  58. leaderTxSignature String
  59. followerTxSignature String?
  60. lbPairAddress String
  61. tokenXMint String?
  62. tokenYMint String?
  63. leaderAmountX String?
  64. leaderAmountY String?
  65. leaderMinBinId Int?
  66. leaderMaxBinId Int?
  67. leaderBpsToRemove Int?
  68. followerAmountX String?
  69. followerAmountY String?
  70. status String @default("PENDING")
  71. errorMessage String?
  72. detectedAt DateTime @default(now())
  73. executedAt DateTime?
  74. }
  75. model ActivityLog {
  76. id String @id @default(cuid())
  77. type String
  78. message String
  79. metadata String?
  80. createdAt DateTime @default(now())
  81. }