diff --git a/backend/prisma/schema.prisma b/backend/prisma/schema.prisma index 47f9cc7c..b194ab63 100644 --- a/backend/prisma/schema.prisma +++ b/backend/prisma/schema.prisma @@ -220,6 +220,22 @@ model Proposal { @@index([createdAt]) } +// Event sourcing table for immutable audit trail +model Event { + id String @id @default(cuid()) + eventId String @unique // Global unique event identifier + streamId String // Reference to the stream this event relates to + eventType String // CREATE, WITHDRAW, CANCEL, PAUSE, RESUME + payload Json // Complete event data as JSON + timestamp DateTime @default(now()) + hash String // SHA-256 hash of this event + previousHash String? // Hash of the previous event in the chain + + @@index([streamId]) + @@index([eventType]) + @@index([timestamp]) +} + enum StreamStatus { ACTIVE PAUSED @@ -479,35 +495,6 @@ enum DisbursementStatus { } // ── V3 Fund-Split Tables ────────────────────────────────────────────────────── -// Header record for a single fund-split disbursement -model Disbursement { - id String @id @default(cuid()) - senderAddress String @map("sender_address") - totalAmount String @map("total_amount") - asset String - txHash String @unique @map("tx_hash") - createdAt DateTime @default(now()) @map("created_at") - - recipients SplitRecipient[] - - @@index([senderAddress]) - @@index([txHash]) -} - -// Individual payout row linked to a parent Disbursement -model SplitRecipient { - id String @id @default(cuid()) - disbursementId String @map("disbursement_id") - recipientAddress String @map("recipient_address") - amount String - status PayoutStatus @default(PENDING) - - disbursement Disbursement @relation(fields: [disbursementId], references: [id]) - - @@index([disbursementId]) - @@index([recipientAddress]) -} - enum PayoutStatus { PENDING SENT diff --git a/backend/src/__jest__/event-sourcing.test.ts b/backend/src/__jest__/event-sourcing.test.ts new file mode 100644 index 00000000..c654fd77 --- /dev/null +++ b/backend/src/__jest__/event-sourcing.test.ts @@ -0,0 +1,137 @@ +import { EventSourceService } from "../services/event-source.service.js"; +import { HashChainVerificationService } from "../services/hash-chain-verification.service.js"; +import { prisma } from "../lib/db.js"; + +describe("Event Sourcing Hash Chain", () => { + let eventSourceService: EventSourceService; + let hashChainVerificationService: HashChainVerificationService; + + beforeEach(async () => { + eventSourceService = new EventSourceService(); + hashChainVerificationService = new HashChainVerificationService(); + + // Clear events table before each test + await prisma.event.deleteMany({}); + }); + + afterAll(async () => { + await prisma.event.deleteMany({}); + await prisma.$disconnect(); + }); + + it("should maintain hash chain integrity for 100 events", async () => { + // Create 100 test events + const eventCount = 100; + const streamIds = [`stream-1`, `stream-2`, `stream-3`]; + const eventTypes = ["CREATE", "WITHDRAW", "PAUSE", "RESUME", "CANCEL"]; + + for (let i = 0; i < eventCount; i++) { + const streamId = streamIds[i % streamIds.length]; + const eventType = eventTypes[i % eventTypes.length]; + + await eventSourceService.appendEvent({ + streamId, + eventType, + payload: { + sequenceNumber: i, + amount: (Math.random() * 1000000).toString(), + timestamp: new Date().toISOString(), + testData: `Event ${i} for ${streamId}`, + }, + }); + + // Add small delay to ensure timestamp ordering + await new Promise(resolve => setTimeout(resolve, 1)); + } + + // Verify the entire chain + const verificationResult = await hashChainVerificationService.verifyEventChain(); + + expect(verificationResult.isValid).toBe(true); + expect(verificationResult.totalEvents).toBe(eventCount); + expect(verificationResult.errors).toHaveLength(0); + + // Verify events are properly chained + const events = await prisma.event.findMany({ + orderBy: { timestamp: "asc" }, + select: { hash: true, previousHash: true }, + }); + + // First event should have null previousHash + expect(events[0].previousHash).toBeNull(); + + // Each subsequent event should reference the previous event's hash + for (let i = 1; i < events.length; i++) { + expect(events[i].previousHash).toBe(events[i - 1].hash); + } + }); + + it("should detect tampering in the event chain", async () => { + // Create a few events + await eventSourceService.appendEvent({ + streamId: "test-stream", + eventType: "CREATE", + payload: { amount: "1000" }, + }); + + await eventSourceService.appendEvent({ + streamId: "test-stream", + eventType: "WITHDRAW", + payload: { amount: "500" }, + }); + + await eventSourceService.appendEvent({ + streamId: "test-stream", + eventType: "PAUSE", + payload: { reason: "test" }, + }); + + // Tamper with the middle event's hash + const events = await prisma.event.findMany({ + orderBy: { timestamp: "asc" }, + }); + + await prisma.event.update({ + where: { id: events[1].id }, + data: { hash: "tampered-hash" }, + }); + + // Verification should detect the tampering + const verificationResult = await hashChainVerificationService.verifyEventChain(); + + expect(verificationResult.isValid).toBe(false); + expect(verificationResult.errors.length).toBeGreaterThan(0); + expect(verificationResult.errors[0]).toContain("Hash chain broken"); + }); + + it("should handle empty event chain", async () => { + const verificationResult = await hashChainVerificationService.verifyEventChain(); + + expect(verificationResult.isValid).toBe(true); + expect(verificationResult.totalEvents).toBe(0); + expect(verificationResult.errors).toHaveLength(0); + }); + + it("should verify event range correctly", async () => { + // Create 10 events + const eventIds = []; + for (let i = 0; i < 10; i++) { + const eventId = await eventSourceService.appendEvent({ + streamId: "range-test-stream", + eventType: "TEST", + payload: { sequence: i }, + }); + eventIds.push(eventId); + } + + // Verify a range of events (events 3-7) + const verificationResult = await hashChainVerificationService.verifyEventRange( + eventIds[2], + eventIds[6] + ); + + expect(verificationResult.isValid).toBe(true); + expect(verificationResult.totalEvents).toBe(5); + expect(verificationResult.errors).toHaveLength(0); + }); +}); diff --git a/backend/src/generated/client/edge.js b/backend/src/generated/client/edge.js index eeab108a..ba3d8659 100644 --- a/backend/src/generated/client/edge.js +++ b/backend/src/generated/client/edge.js @@ -245,6 +245,17 @@ exports.Prisma.ProposalScalarFieldEnum = { updatedAt: 'updatedAt' }; +exports.Prisma.EventScalarFieldEnum = { + id: 'id', + eventId: 'eventId', + streamId: 'streamId', + eventType: 'eventType', + payload: 'payload', + timestamp: 'timestamp', + hash: 'hash', + previousHash: 'previousHash' +}; + exports.Prisma.OrganizationMemberScalarFieldEnum = { id: 'id', orgAddress: 'orgAddress', @@ -346,6 +357,10 @@ exports.Prisma.AssetScalarFieldEnum = { imageUrl: 'imageUrl', decimals: 'decimals', isVerified: 'isVerified', + stellarExpertVerified: 'stellarExpertVerified', + tomlUrl: 'tomlUrl', + orgVerified: 'orgVerified', + orgHomeDomain: 'orgHomeDomain', lastFetchedAt: 'lastFetchedAt', createdAt: 'createdAt', updatedAt: 'updatedAt' @@ -380,21 +395,32 @@ exports.Prisma.AssetConfigScalarFieldEnum = { updatedAt: 'updatedAt' }; -exports.Prisma.DisbursementScalarFieldEnum = { +exports.Prisma.ArchivedDisbursementScalarFieldEnum = { id: 'id', - senderAddress: 'senderAddress', - totalAmount: 'totalAmount', - asset: 'asset', + streamId: 'streamId', txHash: 'txHash', - createdAt: 'createdAt' + sender: 'sender', + receiver: 'receiver', + amount: 'amount', + tokenAddress: 'tokenAddress', + status: 'status', + completedAt: 'completedAt', + archivedAt: 'archivedAt', + originalLedger: 'originalLedger' }; -exports.Prisma.SplitRecipientScalarFieldEnum = { +exports.Prisma.DisbursementScalarFieldEnum = { id: 'id', - disbursementId: 'disbursementId', - recipientAddress: 'recipientAddress', + streamId: 'streamId', + txHash: 'txHash', + sender: 'sender', + receiver: 'receiver', amount: 'amount', - status: 'status' + tokenAddress: 'tokenAddress', + status: 'status', + createdAt: 'createdAt', + completedAt: 'completedAt', + ledger: 'ledger' }; exports.Prisma.AssetMappingScalarFieldEnum = { @@ -522,6 +548,7 @@ exports.Prisma.SplitLinkScalarFieldEnum = { fullUrl: 'fullUrl', payloadHash: 'payloadHash', creatorAddress: 'creatorAddress', + passwordHash: 'passwordHash', clickCount: 'clickCount', lastClickedAt: 'lastClickedAt', expiresAt: 'expiresAt', @@ -571,10 +598,12 @@ exports.NotificationPlatform = exports.$Enums.NotificationPlatform = { telegram: 'telegram' }; -exports.PayoutStatus = exports.$Enums.PayoutStatus = { +exports.DisbursementStatus = exports.$Enums.DisbursementStatus = { PENDING: 'PENDING', - SENT: 'SENT', - FAILED: 'FAILED' + PROCESSING: 'PROCESSING', + COMPLETED: 'COMPLETED', + FAILED: 'FAILED', + CANCELLED: 'CANCELLED' }; exports.Prisma.ModelName = { @@ -589,6 +618,7 @@ exports.Prisma.ModelName = { StreamArchive: 'StreamArchive', BridgeLog: 'BridgeLog', Proposal: 'Proposal', + Event: 'Event', OrganizationMember: 'OrganizationMember', ApiKey: 'ApiKey', LedgerHash: 'LedgerHash', @@ -601,8 +631,8 @@ exports.Prisma.ModelName = { Asset: 'Asset', AutopilotSchedule: 'AutopilotSchedule', AssetConfig: 'AssetConfig', + ArchivedDisbursement: 'ArchivedDisbursement', Disbursement: 'Disbursement', - SplitRecipient: 'SplitRecipient', AssetMapping: 'AssetMapping', PriceHistory: 'PriceHistory', ProtocolInefficiencyReport: 'ProtocolInefficiencyReport', @@ -643,7 +673,8 @@ const config = { "isCustomOutput": true }, "relativeEnvPaths": { - "rootEnvPath": null + "rootEnvPath": null, + "schemaEnvPath": "../../../.env" }, "relativePath": "../../../prisma", "clientVersion": "5.22.0", @@ -652,7 +683,7 @@ const config = { "db" ], "activeProvider": "postgresql", - "postinstall": true, + "postinstall": false, "inlineDatasources": { "db": { "url": { @@ -661,13 +692,13 @@ const config = { } } }, - "inlineSchema": "// This is your Prisma schema file,\n// learn more about it in the docs: https://pris.ly/d/prisma-schema\n\ngenerator client {\n provider = \"prisma-client-js\"\n output = \"../src/generated/client\"\n}\n\ndatasource db {\n provider = \"postgresql\"\n url = env(\"DATABASE_URL\")\n}\n\n// Mirrors the Stream state from the Soroban smart contract\nmodel Stream {\n id String @id @default(cuid())\n streamId String? @unique // Contract-level Stream ID\n txHash String @unique\n version Int @default(1)\n sender String\n receiver String\n contractId String? @map(\"contract_id\")\n tokenAddress String?\n amount String // Store as string to handle large numbers safely\n duration Int?\n status StreamStatus @default(ACTIVE)\n withdrawn String? @default(\"0\")\n legacy Boolean @default(false) // true = originated from V1 contract\n migrated Boolean @default(false) // true = V1 stream superseded by V2\n isPrivate Boolean @default(false)\n yieldEnabled Boolean @default(false) @map(\"yield_enabled\")\n vaultContractId String?\n vaultShareBalance String?\n vaultRatioScale String?\n accruedInterest String @default(\"0\")\n lastYieldAccrualAt DateTime?\n isDust Boolean @default(false) // true = below MIN_VALUE_USD threshold\n affiliateId String? // Affiliate who referred this stream (0.5% commission)\n createdAt DateTime @default(now())\n\n @@index([sender])\n @@index([receiver])\n @@index([status])\n @@index([streamId])\n @@index([contractId])\n @@index([legacy])\n @@index([yieldEnabled, status])\n @@index([isDust])\n @@index([affiliateId])\n}\n\nmodel ContractEvent {\n id String @id @default(cuid())\n eventId String @unique @map(\"event_id\")\n contractId String @map(\"contract_id\")\n txHash String @map(\"tx_hash\")\n eventType String @map(\"event_type\")\n eventIndex Int @default(0) @map(\"event_index\")\n ledgerSequence Int @map(\"ledger_sequence\")\n ledgerClosedAt String? @map(\"ledger_closed_at\")\n topicXdr String[] @default([]) @map(\"topic_xdr\")\n valueXdr String @map(\"value_xdr\")\n decodedJson Json @map(\"decoded_json\")\n createdAt DateTime @default(now()) @map(\"created_at\")\n\n @@unique([txHash, eventIndex])\n @@index([contractId, ledgerSequence])\n @@index([eventType])\n @@index([txHash])\n}\n\n// Token prices for leaderboard volume calculations\nmodel TokenPrice {\n tokenAddress String @id\n symbol String\n decimals Int @default(7)\n priceUsd Float @default(0)\n updatedAt DateTime @updatedAt\n}\n\n// Registered Webhooks for external notifications\nmodel Webhook {\n id String @id @default(cuid())\n url String @unique\n description String?\n eventType String @default(\"*\") // \"*\" = all events, or specific: create_stream, withdraw, cancel\n secretKey String // HMAC secret for signing payloads\n isActive Boolean @default(true)\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@index([eventType])\n @@index([isActive])\n}\n\n// Webhook delivery attempts for retry logic\nmodel WebhookDelivery {\n id String @id @default(cuid())\n webhookId String\n eventType String\n payload Json\n status String @default(\"pending\") // pending, success, failed\n attempts Int @default(0)\n maxRetries Int @default(5)\n nextRetryAt DateTime?\n lastError String?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@index([webhookId, status])\n @@index([nextRetryAt])\n @@index([createdAt])\n}\n\n// Tracks the last synced blockchain ledger sequence\nmodel SyncState {\n id Int @id @default(1)\n lastLedgerSequence Int @default(0)\n}\n\n// Audit log for all protocol events\nmodel EventLog {\n id String @id @default(cuid())\n eventType String // create, withdraw, cancel\n streamId String\n txHash String\n eventIndex Int @default(0) // Position of event within the transaction\n ledger Int\n ledgerClosedAt String\n sender String?\n receiver String?\n amount BigInt?\n metadata String? // JSON string\n parentHash String? @map(\"parent_hash\") // SHA-256 hash of the previous log entry\n entryHash String? @map(\"entry_hash\") // SHA-256(canonical(this_entry) + parentHash)\n createdAt DateTime @default(now())\n\n @@unique([txHash, eventIndex])\n @@index([streamId])\n @@index([eventType])\n @@index([createdAt])\n @@index([ledger])\n}\n\n// Monthly snapshots of stream states\nmodel StreamSnapshot {\n id String @id @default(cuid())\n streamId String\n sender String\n receiver String\n tokenAddress String\n amountPerSecond BigInt\n totalAmount BigInt\n status StreamStatus\n snapshotMonth String // YYYY-MM\n createdAt DateTime @default(now())\n\n @@unique([streamId, snapshotMonth])\n @@index([streamId])\n @@index([snapshotMonth])\n}\n\n// Archived event logs (older than 3 months)\nmodel StreamArchive {\n id String @id @default(cuid())\n eventType String\n streamId String\n txHash String\n ledger Int\n ledgerClosedAt String\n sender String?\n receiver String?\n amount BigInt?\n metadata String?\n createdAt DateTime\n archivedAt DateTime @default(now())\n\n @@index([streamId])\n @@index([createdAt])\n}\n\n// Generic bridge activity log for cross-chain operations\nmodel BridgeLog {\n id String @id @default(cuid())\n bridge String\n eventType String\n sourceChain String\n targetChain String\n sourceAsset String\n targetAsset String?\n amount String\n sender String?\n recipient String\n txHash String @unique\n status String\n payload String? // Raw bridge payload (JSON)\n landedAt DateTime?\n createdAt DateTime @default(now())\n\n @@index([eventType])\n @@index([targetChain])\n @@index([recipient])\n @@index([status])\n @@index([createdAt])\n}\n\n// Governance proposal state indexed from DAO contract events\nmodel Proposal {\n id String @id // Contract-level proposal ID\n creator String\n description String\n quorum Int\n votesFor Int @default(0)\n votesAgainst Int @default(0)\n txHash String @unique\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@index([creator])\n @@index([createdAt])\n}\n\nenum StreamStatus {\n ACTIVE\n PAUSED\n COMPLETED\n CANCELED\n ARCHIVED // V1 stream successfully migrated to V2 — hidden from active UI\n}\n\n// RBAC roles for shared G-address organisations\nenum OrgRole {\n DRAFTER // Can create and edit draft splits\n APPROVER // Can approve or reject pending splits\n EXECUTOR // Can submit approved splits to the ledger\n}\n\n// Maps a Stellar address to a role within a shared G-address organisation\nmodel OrganizationMember {\n id String @id @default(cuid())\n /// The shared G-address that represents the organisation\n orgAddress String\n /// The individual member's Stellar G-address\n memberAddress String\n role OrgRole\n /// Who granted this membership\n addedBy String\n isActive Boolean @default(true)\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@unique([orgAddress, memberAddress])\n @@index([orgAddress])\n @@index([memberAddress])\n @@index([role])\n}\n\n// API keys for 3rd-party partner dApps with elevated rate limits\nmodel ApiKey {\n id String @id @default(cuid())\n keyHash String @unique // SHA-256 hash of the raw key (never store plaintext)\n name String // Human-readable label, e.g. \"Acme dApp\"\n owner String // Stellar address or contact identifier\n rateLimit Int @default(1000) // requests per minute\n isActive Boolean @default(true)\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n lastUsedAt DateTime?\n\n @@index([keyHash])\n @@index([owner])\n}\n\n// Stores ledger hashes for integrity verification\nmodel LedgerHash {\n sequence Int @id\n hash String\n createdAt DateTime @default(now())\n}\n\n// Notification subscriptions — maps a Stellar address to a Discord/Telegram endpoint\nmodel NotificationSubscription {\n id String @id @default(cuid())\n stellarAddress String // Receiver address to watch\n platform NotificationPlatform // discord | telegram\n webhookUrl String? // Discord: full webhook URL\n chatId String? // Telegram: chat/user ID\n isActive Boolean @default(true)\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@unique([stellarAddress, platform])\n @@index([stellarAddress])\n @@index([platform])\n}\n\nenum NotificationPlatform {\n discord\n telegram\n}\n\n// Invoice links for Nebula-Pay payment link generator\nmodel InvoiceLink {\n id String @id @default(cuid())\n slug String @unique // Short UUID for shareable URL\n sender String\n receiver String\n amount String // Total amount to stream\n tokenAddress String\n duration Int // Duration in seconds\n description String? // Optional invoice description\n pdfUrl String? // Optional PDF invoice URL\n xdrParams String // Encoded XDR parameters for contract call\n status String @default(\"DRAFT\") // DRAFT, SIGNED, COMPLETED, EXPIRED\n expiresAt DateTime? // Optional expiration time\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@index([slug])\n @@index([sender])\n @@index([status])\n @@index([createdAt])\n}\n\n// Affiliate earnings tracker for 0.5% commission on stream creation\nmodel Affiliate {\n id String @id @default(cuid())\n stellarAddress String @unique\n pendingClaim String @default(\"0\") // Total unclaimed earnings in stroops\n totalEarned String @default(\"0\") // Lifetime earnings\n claimedAt DateTime?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@index([stellarAddress])\n}\n\n// Global protocol statistics for landing page\nmodel GlobalStats {\n id String @id @default(\"global\")\n tvlUsd String @default(\"0\") // Total Value Locked in USD\n volume24hUsd String @default(\"0\") // 24h volume in USD\n activeStreams Int @default(0)\n totalStreams Int @default(0)\n updatedAt DateTime @updatedAt\n}\n\n// V3 Splitter protocol statistics (#649)\nmodel GlobalStats_V3 {\n id String @id @default(\"v3_global\")\n totalVolumeUsd String @default(\"0\") // Cumulative USD volume through V3 splitter\n dailyVolumeUsd String @default(\"0\") // Last 24h volume\n totalSplits Int @default(0) // Total disbursements\n totalRecipients Int @default(0) // Total unique recipients\n updatedAt DateTime @updatedAt\n\n @@map(\"GlobalStats_V3\")\n}\n\n// Daily TVL snapshots for growth charts\nmodel TvlSnapshot {\n id String @id @default(cuid())\n tvlUsd String // Total Value Locked in USD on this day\n date DateTime @unique // Midnight UTC\n createdAt DateTime @default(now())\n\n @@index([date])\n}\n\n// Asset metadata from stellar.toml\nmodel Asset {\n id String @id @default(cuid())\n tokenAddress String @unique\n homeDomain String?\n name String?\n symbol String?\n imageUrl String?\n decimals Int @default(7)\n isVerified Boolean @default(false)\n lastFetchedAt DateTime?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@index([tokenAddress])\n}\n\n// Autopilot periodic split schedules\nmodel AutopilotSchedule {\n id String @id @default(cuid())\n name String\n frequency String // cron expression, e.g. \"0 9 * * 1\" (every Monday 9am)\n splitConfigId String @map(\"split_config_id\")\n operatorAddress String @map(\"operator_address\")\n minGasTankXlm Float @default(1.0) @map(\"min_gas_tank_xlm\")\n isActive Boolean @default(true) @map(\"is_active\")\n lastRun DateTime? @map(\"last_run\")\n lastTxHash String? @map(\"last_tx_hash\")\n lastError String? @map(\"last_error\")\n createdAt DateTime @default(now()) @map(\"created_at\")\n updatedAt DateTime @updatedAt @map(\"updated_at\")\n\n @@index([isActive])\n @@index([lastRun])\n @@map(\"AutopilotSchedule\")\n}\n\n// Whitelisted assets visible in the StellarStream UI\nmodel AssetConfig {\n id String @id @default(cuid())\n assetId String @unique // Stellar asset identifier (e.g. \"USDC:GABC...\")\n symbol String\n name String\n decimals Int @default(7)\n isVerified Boolean @default(false)\n isVisible Boolean @default(true)\n yieldEnabled Boolean @default(false) @map(\"yield_enabled\")\n iconUrl String? @map(\"icon_url\")\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@index([isVerified])\n @@index([isVisible])\n}\n\n// ── V3 Fund-Split Tables ──────────────────────────────────────────────────────\n\n// Header record for a single fund-split disbursement\nmodel Disbursement {\n id String @id @default(cuid())\n senderAddress String @map(\"sender_address\")\n totalAmount String @map(\"total_amount\")\n asset String\n txHash String @unique @map(\"tx_hash\")\n createdAt DateTime @default(now()) @map(\"created_at\")\n\n recipients SplitRecipient[]\n\n @@index([senderAddress])\n @@index([txHash])\n}\n\n// Individual payout row linked to a parent Disbursement\nmodel SplitRecipient {\n id String @id @default(cuid())\n disbursementId String @map(\"disbursement_id\")\n recipientAddress String @map(\"recipient_address\")\n amount String\n status PayoutStatus @default(PENDING)\n\n disbursement Disbursement @relation(fields: [disbursementId], references: [id])\n\n @@index([disbursementId])\n @@index([recipientAddress])\n}\n\nenum PayoutStatus {\n PENDING\n SENT\n FAILED\n}\n\n// Unified registry mapping Stellar Asset IDs to their source-chain equivalents\nmodel AssetMapping {\n id String @id @default(cuid())\n stellarAssetId String @unique // \"SYMBOL:ISSUER\" or contract address\n symbol String\n sourceChain String // \"stellar\" | \"ethereum\" | \"polygon\" | etc.\n sourceContract String? // Origin-chain contract address (null for native Stellar)\n label String // Human-readable e.g. \"USDC (Circle/Stellar)\"\n bridgeProtocol String? // \"wormhole\" | \"squid\" | null for native\n decimals Int @default(7)\n isNative Boolean @default(false)\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@index([symbol])\n @@index([sourceChain])\n}\n\n// Time-series price history for tax and reporting purposes\nmodel PriceHistory {\n id String @id @default(cuid())\n asset String // Asset identifier e.g. \"native\" or \"USDC:ISSUER\"\n symbol String // Human-readable symbol e.g. \"XLM\", \"USDC\"\n priceUsd Float // USD price at the time of recording\n source String // \"coingecko\" | \"dex\"\n recordedAt DateTime @default(now())\n\n @@index([asset, recordedAt])\n @@index([recordedAt])\n}\n\n// Aggregated dust-loss report per asset across all protocol versions (Issue #179)\nmodel ProtocolInefficiencyReport {\n id String @id @default(cuid())\n asset String // Token address / asset identifier\n protocolVersion Int @map(\"protocol_version\") // 1, 2, 3…\n totalDustAmount String @map(\"total_dust_amount\") // Cumulative dust (stroops)\n eventCount Int @default(0) @map(\"event_count\")\n firstSeenLedger Int? @map(\"first_seen_ledger\")\n lastSeenLedger Int? @map(\"last_seen_ledger\")\n generatedAt DateTime @default(now()) @map(\"generated_at\")\n updatedAt DateTime @updatedAt @map(\"updated_at\")\n\n @@unique([asset, protocolVersion])\n @@index([asset])\n @@index([protocolVersion])\n @@map(\"protocol_inefficiency_report\")\n}\n\n// Log of payment splits with linked USD price at time of split\nmodel SplitLog {\n id String @id @default(cuid())\n streamId String\n asset String\n amount String\n sender String\n receiver String\n txHash String @unique\n priceUsd Float? // USD price at time of split\n priceSource String? // Where the price came from\n priceRecordedAt DateTime? // When the price was recorded\n executedAt DateTime @default(now())\n\n @@index([streamId])\n @@index([executedAt])\n @@index([txHash])\n}\n\nmodel MonitoredTransaction {\n id String @id @default(cuid())\n txHash String @unique @map(\"tx_hash\")\n txXdr String @map(\"tx_xdr\")\n sourceAddress String @map(\"source_address\")\n originalFeeSt String @map(\"original_fee_stroops\")\n currentFeeSt String @map(\"current_fee_stroops\")\n bumpCount Int @default(0) @map(\"bump_count\")\n maxBumps Int @default(3) @map(\"max_bumps\")\n status String @default(\"PENDING\")\n submittedAt DateTime @default(now()) @map(\"submitted_at\")\n confirmedAt DateTime? @map(\"confirmed_at\")\n lastBumpAt DateTime? @map(\"last_bump_at\")\n errorMessage String? @map(\"error_message\")\n createdAt DateTime @default(now()) @map(\"created_at\")\n updatedAt DateTime @updatedAt @map(\"updated_at\")\n\n @@index([status])\n @@index([submittedAt])\n @@map(\"MonitoredTransaction\")\n}\n\n// Split-draft version control (#961)\n// Header record for a draft that can have multiple versions\nmodel DisbursementDraft {\n id String @id @default(cuid())\n senderAddress String @map(\"sender_address\")\n name String?\n asset String\n currentVersion Int @default(1) @map(\"current_version\")\n status String @default(\"DRAFT\")\n createdAt DateTime @default(now()) @map(\"created_at\")\n updatedAt DateTime @updatedAt @map(\"updated_at\")\n\n versions DisbursementDraftVersion[]\n\n @@index([senderAddress])\n @@index([status])\n @@map(\"DisbursementDraft\")\n}\n\n// Individual version snapshot of a draft\nmodel DisbursementDraftVersion {\n id String @id @default(cuid())\n draftId String @map(\"draft_id\")\n version Int\n totalAmount String @map(\"total_amount\")\n recipients Json\n changeNote String? @map(\"change_note\")\n changedBy String @map(\"changed_by\")\n createdAt DateTime @default(now()) @map(\"created_at\")\n\n draft DisbursementDraft @relation(fields: [draftId], references: [id], onDelete: Cascade)\n\n @@unique([draftId, version])\n @@index([draftId])\n @@map(\"DisbursementDraftVersion\")\n}\n\n// Multi-sig proposal store for collecting partial signatures (#954)\nmodel MultisigProposal {\n id String @id @default(cuid())\n proposalId String @unique @map(\"proposal_id\")\n organizationId String @map(\"organization_id\")\n transactionXdr String @map(\"transaction_xdr\")\n signatures Json @default(\"[]\") // Array of {signer: String, signature: String}\n requiredSigners Int @map(\"required_signers\")\n status String @default(\"PENDING\") // PENDING, SIGNED, SUBMITTED, FAILED\n submittedTxHash String? @map(\"submitted_tx_hash\")\n errorMessage String? @map(\"error_message\")\n createdAt DateTime @default(now()) @map(\"created_at\")\n updatedAt DateTime @updatedAt @map(\"updated_at\")\n expiresAt DateTime @map(\"expires_at\")\n\n @@index([organizationId])\n @@index([status])\n @@index([createdAt])\n @@map(\"MultisigProposal\")\n}\n\n// Cached Stellar asset metadata from Stellar-Expert (#955)\nmodel CachedAsset {\n id String @id @default(cuid())\n tokenAddress String @unique @map(\"token_address\")\n code String\n issuer String\n name String?\n description String?\n imageUrl String? @map(\"image_url\")\n isVerified Boolean @default(false) @map(\"is_verified\")\n decimals Int @default(7)\n lastSyncedAt DateTime @map(\"last_synced_at\")\n createdAt DateTime @default(now()) @map(\"created_at\")\n updatedAt DateTime @updatedAt @map(\"updated_at\")\n\n @@index([tokenAddress])\n @@index([isVerified])\n @@index([lastSyncedAt])\n @@map(\"CachedAsset\")\n}\n\n// Split-link shortened URLs (#957)\nmodel SplitLink {\n id String @id @default(cuid())\n slug String @unique\n fullUrl String @map(\"full_url\")\n payloadHash String @unique @map(\"payload_hash\")\n creatorAddress String @map(\"creator_address\")\n clickCount Int @default(0) @map(\"click_count\")\n lastClickedAt DateTime? @map(\"last_clicked_at\")\n expiresAt DateTime? @map(\"expires_at\")\n createdAt DateTime @default(now()) @map(\"created_at\")\n\n @@index([slug])\n @@index([creatorAddress])\n @@index([createdAt])\n @@map(\"SplitLink\")\n}\n", - "inlineSchemaHash": "bd3e0b2b99c46684b29e95cfdaed9d0f474d4b77ef12eadac763e8459b709947", + "inlineSchema": "// This is your Prisma schema file,\n// learn more about it in the docs: https://pris.ly/d/prisma-schema\n\ngenerator client {\n provider = \"prisma-client-js\"\n output = \"../src/generated/client\"\n}\n\ndatasource db {\n provider = \"postgresql\"\n url = env(\"DATABASE_URL\")\n}\n\n// Mirrors the Stream state from the Soroban smart contract\nmodel Stream {\n id String @id @default(cuid())\n streamId String? @unique // Contract-level Stream ID\n txHash String @unique\n version Int @default(1)\n sender String\n receiver String\n contractId String? @map(\"contract_id\")\n tokenAddress String?\n amount String // Store as string to handle large numbers safely\n duration Int?\n status StreamStatus @default(ACTIVE)\n withdrawn String? @default(\"0\")\n legacy Boolean @default(false) // true = originated from V1 contract\n migrated Boolean @default(false) // true = V1 stream superseded by V2\n isPrivate Boolean @default(false)\n yieldEnabled Boolean @default(false) @map(\"yield_enabled\")\n vaultContractId String?\n vaultShareBalance String?\n vaultRatioScale String?\n accruedInterest String @default(\"0\")\n lastYieldAccrualAt DateTime?\n isDust Boolean @default(false) // true = below MIN_VALUE_USD threshold\n affiliateId String? // Affiliate who referred this stream (0.5% commission)\n createdAt DateTime @default(now())\n\n @@index([sender])\n @@index([receiver])\n @@index([status])\n @@index([streamId])\n @@index([contractId])\n @@index([legacy])\n @@index([yieldEnabled, status])\n @@index([isDust])\n @@index([affiliateId])\n}\n\nmodel ContractEvent {\n id String @id @default(cuid())\n eventId String @unique @map(\"event_id\")\n contractId String @map(\"contract_id\")\n txHash String @map(\"tx_hash\")\n eventType String @map(\"event_type\")\n eventIndex Int @default(0) @map(\"event_index\")\n ledgerSequence Int @map(\"ledger_sequence\")\n ledgerClosedAt String? @map(\"ledger_closed_at\")\n topicXdr String[] @default([]) @map(\"topic_xdr\")\n valueXdr String @map(\"value_xdr\")\n decodedJson Json @map(\"decoded_json\")\n createdAt DateTime @default(now()) @map(\"created_at\")\n\n @@unique([txHash, eventIndex])\n @@index([contractId, ledgerSequence])\n @@index([eventType])\n @@index([txHash])\n}\n\n// Token prices for leaderboard volume calculations\nmodel TokenPrice {\n tokenAddress String @id\n symbol String\n decimals Int @default(7)\n priceUsd Float @default(0)\n updatedAt DateTime @updatedAt\n}\n\n// Registered Webhooks for external notifications\nmodel Webhook {\n id String @id @default(cuid())\n url String @unique\n description String?\n eventType String @default(\"*\") // \"*\" = all events, or specific: create_stream, withdraw, cancel\n secretKey String // HMAC secret for signing payloads\n isActive Boolean @default(true)\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@index([eventType])\n @@index([isActive])\n}\n\n// Webhook delivery attempts for retry logic\nmodel WebhookDelivery {\n id String @id @default(cuid())\n webhookId String\n eventType String\n payload Json\n status String @default(\"pending\") // pending, success, failed\n attempts Int @default(0)\n maxRetries Int @default(5)\n nextRetryAt DateTime?\n lastError String?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@index([webhookId, status])\n @@index([nextRetryAt])\n @@index([createdAt])\n}\n\n// Tracks the last synced blockchain ledger sequence\nmodel SyncState {\n id Int @id @default(1)\n lastLedgerSequence Int @default(0)\n}\n\n// Audit log for all protocol events\nmodel EventLog {\n id String @id @default(cuid())\n eventType String // create, withdraw, cancel\n streamId String\n txHash String\n eventIndex Int @default(0) // Position of event within the transaction\n ledger Int\n ledgerClosedAt String\n sender String?\n receiver String?\n amount BigInt?\n metadata String? // JSON string\n parentHash String? @map(\"parent_hash\") // SHA-256 hash of the previous log entry\n entryHash String? @map(\"entry_hash\") // SHA-256(canonical(this_entry) + parentHash)\n createdAt DateTime @default(now())\n\n @@unique([txHash, eventIndex])\n @@index([streamId])\n @@index([eventType])\n @@index([createdAt])\n @@index([ledger])\n}\n\n// Monthly snapshots of stream states\nmodel StreamSnapshot {\n id String @id @default(cuid())\n streamId String\n sender String\n receiver String\n tokenAddress String\n amountPerSecond BigInt\n totalAmount BigInt\n status StreamStatus\n snapshotMonth String // YYYY-MM\n createdAt DateTime @default(now())\n\n @@unique([streamId, snapshotMonth])\n @@index([streamId])\n @@index([snapshotMonth])\n}\n\n// Archived event logs (older than 3 months)\nmodel StreamArchive {\n id String @id @default(cuid())\n eventType String\n streamId String\n txHash String\n ledger Int\n ledgerClosedAt String\n sender String?\n receiver String?\n amount BigInt?\n metadata String?\n createdAt DateTime\n archivedAt DateTime @default(now())\n\n @@index([streamId])\n @@index([createdAt])\n}\n\n// Generic bridge activity log for cross-chain operations\nmodel BridgeLog {\n id String @id @default(cuid())\n bridge String\n eventType String\n sourceChain String\n targetChain String\n sourceAsset String\n targetAsset String?\n amount String\n sender String?\n recipient String\n txHash String @unique\n status String\n payload String? // Raw bridge payload (JSON)\n landedAt DateTime?\n createdAt DateTime @default(now())\n\n @@index([eventType])\n @@index([targetChain])\n @@index([recipient])\n @@index([status])\n @@index([createdAt])\n}\n\n// Governance proposal state indexed from DAO contract events\nmodel Proposal {\n id String @id // Contract-level proposal ID\n creator String\n description String\n quorum Int\n votesFor Int @default(0)\n votesAgainst Int @default(0)\n txHash String @unique\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@index([creator])\n @@index([createdAt])\n}\n\n// Event sourcing table for immutable audit trail\nmodel Event {\n id String @id @default(cuid())\n eventId String @unique // Global unique event identifier\n streamId String // Reference to the stream this event relates to\n eventType String // CREATE, WITHDRAW, CANCEL, PAUSE, RESUME\n payload Json // Complete event data as JSON\n timestamp DateTime @default(now())\n hash String // SHA-256 hash of this event\n previousHash String? // Hash of the previous event in the chain\n\n @@index([streamId])\n @@index([eventType])\n @@index([timestamp])\n}\n\nenum StreamStatus {\n ACTIVE\n PAUSED\n COMPLETED\n CANCELED\n ARCHIVED // V1 stream successfully migrated to V2 — hidden from active UI\n}\n\n// RBAC roles for shared G-address organisations\nenum OrgRole {\n DRAFTER // Can create and edit draft splits\n APPROVER // Can approve or reject pending splits\n EXECUTOR // Can submit approved splits to the ledger\n}\n\n// Maps a Stellar address to a role within a shared G-address organisation\nmodel OrganizationMember {\n id String @id @default(cuid())\n /// The shared G-address that represents the organisation\n orgAddress String\n /// The individual member's Stellar G-address\n memberAddress String\n role OrgRole\n /// Who granted this membership\n addedBy String\n isActive Boolean @default(true)\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@unique([orgAddress, memberAddress])\n @@index([orgAddress])\n @@index([memberAddress])\n @@index([role])\n}\n\n// API keys for 3rd-party partner dApps with elevated rate limits\nmodel ApiKey {\n id String @id @default(cuid())\n keyHash String @unique // SHA-256 hash of the raw key (never store plaintext)\n name String // Human-readable label, e.g. \"Acme dApp\"\n owner String // Stellar address or contact identifier\n rateLimit Int @default(1000) // requests per minute\n isActive Boolean @default(true)\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n lastUsedAt DateTime?\n\n @@index([keyHash])\n @@index([owner])\n}\n\n// Stores ledger hashes for integrity verification\nmodel LedgerHash {\n sequence Int @id\n hash String\n createdAt DateTime @default(now())\n}\n\n// Notification subscriptions — maps a Stellar address to a Discord/Telegram endpoint\nmodel NotificationSubscription {\n id String @id @default(cuid())\n stellarAddress String // Receiver address to watch\n platform NotificationPlatform // discord | telegram\n webhookUrl String? // Discord: full webhook URL\n chatId String? // Telegram: chat/user ID\n isActive Boolean @default(true)\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@unique([stellarAddress, platform])\n @@index([stellarAddress])\n @@index([platform])\n}\n\nenum NotificationPlatform {\n discord\n telegram\n}\n\n// Invoice links for Nebula-Pay payment link generator\nmodel InvoiceLink {\n id String @id @default(cuid())\n slug String @unique // Short UUID for shareable URL\n sender String\n receiver String\n amount String // Total amount to stream\n tokenAddress String\n duration Int // Duration in seconds\n description String? // Optional invoice description\n pdfUrl String? // Optional PDF invoice URL\n xdrParams String // Encoded XDR parameters for contract call\n status String @default(\"DRAFT\") // DRAFT, SIGNED, COMPLETED, EXPIRED\n expiresAt DateTime? // Optional expiration time\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@index([slug])\n @@index([sender])\n @@index([status])\n @@index([createdAt])\n}\n\n// Affiliate earnings tracker for 0.5% commission on stream creation\nmodel Affiliate {\n id String @id @default(cuid())\n stellarAddress String @unique\n pendingClaim String @default(\"0\") // Total unclaimed earnings in stroops\n totalEarned String @default(\"0\") // Lifetime earnings\n claimedAt DateTime?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@index([stellarAddress])\n}\n\n// Global protocol statistics for landing page\nmodel GlobalStats {\n id String @id @default(\"global\")\n tvlUsd String @default(\"0\") // Total Value Locked in USD\n volume24hUsd String @default(\"0\") // 24h volume in USD\n activeStreams Int @default(0)\n totalStreams Int @default(0)\n updatedAt DateTime @updatedAt\n}\n\n// V3 Splitter protocol statistics (#649)\nmodel GlobalStats_V3 {\n id String @id @default(\"v3_global\")\n totalVolumeUsd String @default(\"0\") // Cumulative USD volume through V3 splitter\n dailyVolumeUsd String @default(\"0\") // Last 24h volume\n totalSplits Int @default(0) // Total disbursements\n totalRecipients Int @default(0) // Total unique recipients\n updatedAt DateTime @updatedAt\n\n @@map(\"GlobalStats_V3\")\n}\n\n// Daily TVL snapshots for growth charts\nmodel TvlSnapshot {\n id String @id @default(cuid())\n tvlUsd String // Total Value Locked in USD on this day\n date DateTime @unique // Midnight UTC\n createdAt DateTime @default(now())\n\n @@index([date])\n}\n\n// Asset metadata from stellar.toml\nmodel Asset {\n id String @id @default(cuid())\n tokenAddress String @unique\n homeDomain String?\n name String?\n symbol String?\n imageUrl String?\n decimals Int @default(7)\n isVerified Boolean @default(false)\n stellarExpertVerified Boolean @default(false) @map(\"stellar_expert_verified\")\n tomlUrl String?\n orgVerified Boolean @default(false) @map(\"org_verified\")\n orgHomeDomain String? @map(\"org_home_domain\")\n lastFetchedAt DateTime?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@index([tokenAddress])\n @@index([stellarExpertVerified])\n @@index([orgVerified])\n}\n\n// Autopilot periodic split schedules\nmodel AutopilotSchedule {\n id String @id @default(cuid())\n name String\n frequency String // cron expression, e.g. \"0 9 * * 1\" (every Monday 9am)\n splitConfigId String @map(\"split_config_id\")\n operatorAddress String @map(\"operator_address\")\n minGasTankXlm Float @default(1.0) @map(\"min_gas_tank_xlm\")\n isActive Boolean @default(true) @map(\"is_active\")\n lastRun DateTime? @map(\"last_run\")\n lastTxHash String? @map(\"last_tx_hash\")\n lastError String? @map(\"last_error\")\n createdAt DateTime @default(now()) @map(\"created_at\")\n updatedAt DateTime @updatedAt @map(\"updated_at\")\n\n @@index([isActive])\n @@index([lastRun])\n @@map(\"AutopilotSchedule\")\n}\n\n// Whitelisted assets visible in the StellarStream UI\nmodel AssetConfig {\n id String @id @default(cuid())\n assetId String @unique // Stellar asset identifier (e.g. \"USDC:GABC...\")\n symbol String\n name String\n decimals Int @default(7)\n isVerified Boolean @default(false)\n isVisible Boolean @default(true)\n yieldEnabled Boolean @default(false) @map(\"yield_enabled\")\n iconUrl String? @map(\"icon_url\")\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@index([isVerified])\n @@index([isVisible])\n}\n\n// Cold storage for disbursements older than 18 months\nmodel ArchivedDisbursement {\n id String @id @default(cuid())\n streamId String\n txHash String\n sender String\n receiver String\n amount BigInt\n tokenAddress String\n status String\n completedAt DateTime\n archivedAt DateTime @default(now())\n originalLedger Int\n\n @@index([streamId])\n @@index([completedAt])\n @@index([archivedAt])\n @@index([sender])\n @@index([receiver])\n}\n\n// Active disbursements table (keeps primary table lean)\nmodel Disbursement {\n id String @id @default(cuid())\n streamId String\n txHash String @unique\n sender String\n receiver String\n amount BigInt\n tokenAddress String\n status DisbursementStatus @default(PENDING)\n createdAt DateTime @default(now())\n completedAt DateTime?\n ledger Int\n\n @@index([streamId])\n @@index([sender])\n @@index([receiver])\n @@index([status])\n @@index([createdAt])\n}\n\nenum DisbursementStatus {\n PENDING\n PROCESSING\n COMPLETED\n FAILED\n CANCELLED\n}\n\n// ── V3 Fund-Split Tables ──────────────────────────────────────────────────────\n\nenum PayoutStatus {\n PENDING\n SENT\n FAILED\n}\n\n// Unified registry mapping Stellar Asset IDs to their source-chain equivalents\nmodel AssetMapping {\n id String @id @default(cuid())\n stellarAssetId String @unique // \"SYMBOL:ISSUER\" or contract address\n symbol String\n sourceChain String // \"stellar\" | \"ethereum\" | \"polygon\" | etc.\n sourceContract String? // Origin-chain contract address (null for native Stellar)\n label String // Human-readable e.g. \"USDC (Circle/Stellar)\"\n bridgeProtocol String? // \"wormhole\" | \"squid\" | null for native\n decimals Int @default(7)\n isNative Boolean @default(false)\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@index([symbol])\n @@index([sourceChain])\n}\n\n// Time-series price history for tax and reporting purposes\nmodel PriceHistory {\n id String @id @default(cuid())\n asset String // Asset identifier e.g. \"native\" or \"USDC:ISSUER\"\n symbol String // Human-readable symbol e.g. \"XLM\", \"USDC\"\n priceUsd Float // USD price at the time of recording\n source String // \"coingecko\" | \"dex\"\n recordedAt DateTime @default(now())\n\n @@index([asset, recordedAt])\n @@index([recordedAt])\n}\n\n// Aggregated dust-loss report per asset across all protocol versions (Issue #179)\nmodel ProtocolInefficiencyReport {\n id String @id @default(cuid())\n asset String // Token address / asset identifier\n protocolVersion Int @map(\"protocol_version\") // 1, 2, 3…\n totalDustAmount String @map(\"total_dust_amount\") // Cumulative dust (stroops)\n eventCount Int @default(0) @map(\"event_count\")\n firstSeenLedger Int? @map(\"first_seen_ledger\")\n lastSeenLedger Int? @map(\"last_seen_ledger\")\n generatedAt DateTime @default(now()) @map(\"generated_at\")\n updatedAt DateTime @updatedAt @map(\"updated_at\")\n\n @@unique([asset, protocolVersion])\n @@index([asset])\n @@index([protocolVersion])\n @@map(\"protocol_inefficiency_report\")\n}\n\n// Log of payment splits with linked USD price at time of split\nmodel SplitLog {\n id String @id @default(cuid())\n streamId String\n asset String\n amount String\n sender String\n receiver String\n txHash String @unique\n priceUsd Float? // USD price at time of split\n priceSource String? // Where the price came from\n priceRecordedAt DateTime? // When the price was recorded\n executedAt DateTime @default(now())\n\n @@index([streamId])\n @@index([executedAt])\n @@index([txHash])\n}\n\nmodel MonitoredTransaction {\n id String @id @default(cuid())\n txHash String @unique @map(\"tx_hash\")\n txXdr String @map(\"tx_xdr\")\n sourceAddress String @map(\"source_address\")\n originalFeeSt String @map(\"original_fee_stroops\")\n currentFeeSt String @map(\"current_fee_stroops\")\n bumpCount Int @default(0) @map(\"bump_count\")\n maxBumps Int @default(3) @map(\"max_bumps\")\n status String @default(\"PENDING\")\n submittedAt DateTime @default(now()) @map(\"submitted_at\")\n confirmedAt DateTime? @map(\"confirmed_at\")\n lastBumpAt DateTime? @map(\"last_bump_at\")\n errorMessage String? @map(\"error_message\")\n createdAt DateTime @default(now()) @map(\"created_at\")\n updatedAt DateTime @updatedAt @map(\"updated_at\")\n\n @@index([status])\n @@index([submittedAt])\n @@map(\"MonitoredTransaction\")\n}\n\n// Split-draft version control (#961)\n// Header record for a draft that can have multiple versions\nmodel DisbursementDraft {\n id String @id @default(cuid())\n senderAddress String @map(\"sender_address\")\n name String?\n asset String\n currentVersion Int @default(1) @map(\"current_version\")\n status String @default(\"DRAFT\")\n createdAt DateTime @default(now()) @map(\"created_at\")\n updatedAt DateTime @updatedAt @map(\"updated_at\")\n\n versions DisbursementDraftVersion[]\n\n @@index([senderAddress])\n @@index([status])\n @@map(\"DisbursementDraft\")\n}\n\n// Individual version snapshot of a draft\nmodel DisbursementDraftVersion {\n id String @id @default(cuid())\n draftId String @map(\"draft_id\")\n version Int\n totalAmount String @map(\"total_amount\")\n recipients Json\n changeNote String? @map(\"change_note\")\n changedBy String @map(\"changed_by\")\n createdAt DateTime @default(now()) @map(\"created_at\")\n\n draft DisbursementDraft @relation(fields: [draftId], references: [id], onDelete: Cascade)\n\n @@unique([draftId, version])\n @@index([draftId])\n @@map(\"DisbursementDraftVersion\")\n}\n\n// Multi-sig proposal store for collecting partial signatures (#954)\nmodel MultisigProposal {\n id String @id @default(cuid())\n proposalId String @unique @map(\"proposal_id\")\n organizationId String @map(\"organization_id\")\n transactionXdr String @map(\"transaction_xdr\")\n signatures Json @default(\"[]\") // Array of {signer: String, signature: String}\n requiredSigners Int @map(\"required_signers\")\n status String @default(\"PENDING\") // PENDING, SIGNED, SUBMITTED, FAILED\n submittedTxHash String? @map(\"submitted_tx_hash\")\n errorMessage String? @map(\"error_message\")\n createdAt DateTime @default(now()) @map(\"created_at\")\n updatedAt DateTime @updatedAt @map(\"updated_at\")\n expiresAt DateTime @map(\"expires_at\")\n\n @@index([organizationId])\n @@index([status])\n @@index([createdAt])\n @@map(\"MultisigProposal\")\n}\n\n// Cached Stellar asset metadata from Stellar-Expert (#955)\nmodel CachedAsset {\n id String @id @default(cuid())\n tokenAddress String @unique @map(\"token_address\")\n code String\n issuer String\n name String?\n description String?\n imageUrl String? @map(\"image_url\")\n isVerified Boolean @default(false) @map(\"is_verified\")\n decimals Int @default(7)\n lastSyncedAt DateTime @map(\"last_synced_at\")\n createdAt DateTime @default(now()) @map(\"created_at\")\n updatedAt DateTime @updatedAt @map(\"updated_at\")\n\n @@index([tokenAddress])\n @@index([isVerified])\n @@index([lastSyncedAt])\n @@map(\"CachedAsset\")\n}\n\n// Split-link shortened URLs (#957)\nmodel SplitLink {\n id String @id @default(cuid())\n slug String @unique\n fullUrl String @map(\"full_url\")\n payloadHash String @unique @map(\"payload_hash\")\n creatorAddress String @map(\"creator_address\")\n passwordHash String? @map(\"password_hash\") // SHA-256 of the password; null = no protection\n clickCount Int @default(0) @map(\"click_count\")\n lastClickedAt DateTime? @map(\"last_clicked_at\")\n expiresAt DateTime? @map(\"expires_at\")\n createdAt DateTime @default(now()) @map(\"created_at\")\n\n @@index([slug])\n @@index([creatorAddress])\n @@index([createdAt])\n @@map(\"SplitLink\")\n}\n", + "inlineSchemaHash": "4389641f3d77a3ae6ba2b336d69e89f9cde1b97742faa3eaf3c6a753ee41b5d0", "copyEngine": true } config.dirname = '/' -config.runtimeDataModel = JSON.parse("{\"models\":{\"Stream\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"streamId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"txHash\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"version\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":1,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"sender\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"receiver\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contractId\",\"dbName\":\"contract_id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"tokenAddress\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"amount\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"duration\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"status\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"StreamStatus\",\"default\":\"ACTIVE\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"withdrawn\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"0\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"legacy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"migrated\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isPrivate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"yieldEnabled\",\"dbName\":\"yield_enabled\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"vaultContractId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"vaultShareBalance\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"vaultRatioScale\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"accruedInterest\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"0\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"lastYieldAccrualAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isDust\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"affiliateId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"ContractEvent\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"eventId\",\"dbName\":\"event_id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contractId\",\"dbName\":\"contract_id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"txHash\",\"dbName\":\"tx_hash\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"eventType\",\"dbName\":\"event_type\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"eventIndex\",\"dbName\":\"event_index\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"ledgerSequence\",\"dbName\":\"ledger_sequence\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"ledgerClosedAt\",\"dbName\":\"ledger_closed_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"topicXdr\",\"dbName\":\"topic_xdr\",\"kind\":\"scalar\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"valueXdr\",\"dbName\":\"value_xdr\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"decodedJson\",\"dbName\":\"decoded_json\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Json\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"dbName\":\"created_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[[\"txHash\",\"eventIndex\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"txHash\",\"eventIndex\"]}],\"isGenerated\":false},\"TokenPrice\":{\"dbName\":null,\"fields\":[{\"name\":\"tokenAddress\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"symbol\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"decimals\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":7,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"priceUsd\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Float\",\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"Webhook\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"url\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"description\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"eventType\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"*\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"secretKey\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isActive\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":true,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"WebhookDelivery\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"webhookId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"eventType\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"payload\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Json\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"status\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"pending\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"attempts\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"maxRetries\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":5,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"nextRetryAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"lastError\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"SyncState\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":1,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"lastLedgerSequence\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"EventLog\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"eventType\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"streamId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"txHash\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"eventIndex\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"ledger\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"ledgerClosedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"sender\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"receiver\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"amount\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"metadata\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"parentHash\",\"dbName\":\"parent_hash\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"entryHash\",\"dbName\":\"entry_hash\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[[\"txHash\",\"eventIndex\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"txHash\",\"eventIndex\"]}],\"isGenerated\":false},\"StreamSnapshot\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"streamId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"sender\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"receiver\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"tokenAddress\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"amountPerSecond\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"totalAmount\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"status\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"StreamStatus\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"snapshotMonth\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[[\"streamId\",\"snapshotMonth\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"streamId\",\"snapshotMonth\"]}],\"isGenerated\":false},\"StreamArchive\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"eventType\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"streamId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"txHash\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"ledger\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"ledgerClosedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"sender\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"receiver\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"amount\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"metadata\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"archivedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"BridgeLog\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"bridge\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"eventType\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"sourceChain\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"targetChain\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"sourceAsset\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"targetAsset\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"amount\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"sender\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"recipient\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"txHash\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"status\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"payload\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"landedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"Proposal\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"creator\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"description\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"quorum\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"votesFor\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"votesAgainst\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"txHash\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"OrganizationMember\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"orgAddress\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false,\"documentation\":\"The shared G-address that represents the organisation\"},{\"name\":\"memberAddress\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false,\"documentation\":\"The individual member's Stellar G-address\"},{\"name\":\"role\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"OrgRole\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"addedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false,\"documentation\":\"Who granted this membership\"},{\"name\":\"isActive\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":true,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[[\"orgAddress\",\"memberAddress\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"orgAddress\",\"memberAddress\"]}],\"isGenerated\":false},\"ApiKey\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"keyHash\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"owner\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"rateLimit\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":1000,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isActive\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":true,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"lastUsedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"LedgerHash\":{\"dbName\":null,\"fields\":[{\"name\":\"sequence\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"hash\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"NotificationSubscription\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"stellarAddress\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"platform\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"NotificationPlatform\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"webhookUrl\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"chatId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isActive\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":true,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[[\"stellarAddress\",\"platform\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"stellarAddress\",\"platform\"]}],\"isGenerated\":false},\"InvoiceLink\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"slug\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"sender\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"receiver\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"amount\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"tokenAddress\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"duration\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"description\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"pdfUrl\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"xdrParams\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"status\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"DRAFT\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"expiresAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"Affiliate\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"stellarAddress\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"pendingClaim\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"0\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"totalEarned\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"0\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"claimedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"GlobalStats\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"global\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"tvlUsd\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"0\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"volume24hUsd\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"0\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"activeStreams\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"totalStreams\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"GlobalStats_V3\":{\"dbName\":\"GlobalStats_V3\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"v3_global\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"totalVolumeUsd\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"0\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"dailyVolumeUsd\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"0\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"totalSplits\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"totalRecipients\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"TvlSnapshot\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"tvlUsd\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"date\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"Asset\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"tokenAddress\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"homeDomain\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"symbol\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"imageUrl\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"decimals\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":7,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isVerified\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"lastFetchedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"AutopilotSchedule\":{\"dbName\":\"AutopilotSchedule\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"frequency\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"splitConfigId\",\"dbName\":\"split_config_id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"operatorAddress\",\"dbName\":\"operator_address\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"minGasTankXlm\",\"dbName\":\"min_gas_tank_xlm\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Float\",\"default\":1,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isActive\",\"dbName\":\"is_active\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":true,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"lastRun\",\"dbName\":\"last_run\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"lastTxHash\",\"dbName\":\"last_tx_hash\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"lastError\",\"dbName\":\"last_error\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"dbName\":\"created_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"dbName\":\"updated_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"AssetConfig\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"assetId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"symbol\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"decimals\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":7,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isVerified\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isVisible\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":true,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"yieldEnabled\",\"dbName\":\"yield_enabled\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"iconUrl\",\"dbName\":\"icon_url\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"Disbursement\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"senderAddress\",\"dbName\":\"sender_address\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"totalAmount\",\"dbName\":\"total_amount\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"asset\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"txHash\",\"dbName\":\"tx_hash\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"dbName\":\"created_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"recipients\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"SplitRecipient\",\"relationName\":\"DisbursementToSplitRecipient\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"SplitRecipient\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"disbursementId\",\"dbName\":\"disbursement_id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"recipientAddress\",\"dbName\":\"recipient_address\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"amount\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"status\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"PayoutStatus\",\"default\":\"PENDING\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"disbursement\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Disbursement\",\"relationName\":\"DisbursementToSplitRecipient\",\"relationFromFields\":[\"disbursementId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"AssetMapping\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"stellarAssetId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"symbol\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"sourceChain\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"sourceContract\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"label\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"bridgeProtocol\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"decimals\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":7,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isNative\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"PriceHistory\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"asset\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"symbol\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"priceUsd\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"source\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"recordedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"ProtocolInefficiencyReport\":{\"dbName\":\"protocol_inefficiency_report\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"asset\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"protocolVersion\",\"dbName\":\"protocol_version\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"totalDustAmount\",\"dbName\":\"total_dust_amount\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"eventCount\",\"dbName\":\"event_count\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"firstSeenLedger\",\"dbName\":\"first_seen_ledger\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"lastSeenLedger\",\"dbName\":\"last_seen_ledger\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"generatedAt\",\"dbName\":\"generated_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"dbName\":\"updated_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[[\"asset\",\"protocolVersion\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"asset\",\"protocolVersion\"]}],\"isGenerated\":false},\"SplitLog\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"streamId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"asset\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"amount\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"sender\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"receiver\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"txHash\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"priceUsd\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"priceSource\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"priceRecordedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"executedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"MonitoredTransaction\":{\"dbName\":\"MonitoredTransaction\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"txHash\",\"dbName\":\"tx_hash\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"txXdr\",\"dbName\":\"tx_xdr\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"sourceAddress\",\"dbName\":\"source_address\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"originalFeeSt\",\"dbName\":\"original_fee_stroops\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"currentFeeSt\",\"dbName\":\"current_fee_stroops\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"bumpCount\",\"dbName\":\"bump_count\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"maxBumps\",\"dbName\":\"max_bumps\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":3,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"status\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"PENDING\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"submittedAt\",\"dbName\":\"submitted_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"confirmedAt\",\"dbName\":\"confirmed_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"lastBumpAt\",\"dbName\":\"last_bump_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"errorMessage\",\"dbName\":\"error_message\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"dbName\":\"created_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"dbName\":\"updated_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"DisbursementDraft\":{\"dbName\":\"DisbursementDraft\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"senderAddress\",\"dbName\":\"sender_address\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"asset\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"currentVersion\",\"dbName\":\"current_version\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":1,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"status\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"DRAFT\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"dbName\":\"created_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"dbName\":\"updated_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"versions\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DisbursementDraftVersion\",\"relationName\":\"DisbursementDraftToDisbursementDraftVersion\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"DisbursementDraftVersion\":{\"dbName\":\"DisbursementDraftVersion\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"draftId\",\"dbName\":\"draft_id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"version\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"totalAmount\",\"dbName\":\"total_amount\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"recipients\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Json\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"changeNote\",\"dbName\":\"change_note\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"changedBy\",\"dbName\":\"changed_by\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"dbName\":\"created_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"draft\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DisbursementDraft\",\"relationName\":\"DisbursementDraftToDisbursementDraftVersion\",\"relationFromFields\":[\"draftId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[[\"draftId\",\"version\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"draftId\",\"version\"]}],\"isGenerated\":false},\"MultisigProposal\":{\"dbName\":\"MultisigProposal\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"proposalId\",\"dbName\":\"proposal_id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"organizationId\",\"dbName\":\"organization_id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"transactionXdr\",\"dbName\":\"transaction_xdr\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"signatures\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Json\",\"default\":\"[]\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"requiredSigners\",\"dbName\":\"required_signers\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"status\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"PENDING\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"submittedTxHash\",\"dbName\":\"submitted_tx_hash\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"errorMessage\",\"dbName\":\"error_message\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"dbName\":\"created_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"dbName\":\"updated_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"expiresAt\",\"dbName\":\"expires_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"CachedAsset\":{\"dbName\":\"CachedAsset\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"tokenAddress\",\"dbName\":\"token_address\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"code\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"issuer\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"description\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"imageUrl\",\"dbName\":\"image_url\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isVerified\",\"dbName\":\"is_verified\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"decimals\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":7,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"lastSyncedAt\",\"dbName\":\"last_synced_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"dbName\":\"created_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"dbName\":\"updated_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"SplitLink\":{\"dbName\":\"SplitLink\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"slug\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"fullUrl\",\"dbName\":\"full_url\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"payloadHash\",\"dbName\":\"payload_hash\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"creatorAddress\",\"dbName\":\"creator_address\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"clickCount\",\"dbName\":\"click_count\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"lastClickedAt\",\"dbName\":\"last_clicked_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"expiresAt\",\"dbName\":\"expires_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"dbName\":\"created_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false}},\"enums\":{\"StreamStatus\":{\"values\":[{\"name\":\"ACTIVE\",\"dbName\":null},{\"name\":\"PAUSED\",\"dbName\":null},{\"name\":\"COMPLETED\",\"dbName\":null},{\"name\":\"CANCELED\",\"dbName\":null},{\"name\":\"ARCHIVED\",\"dbName\":null}],\"dbName\":null},\"OrgRole\":{\"values\":[{\"name\":\"DRAFTER\",\"dbName\":null},{\"name\":\"APPROVER\",\"dbName\":null},{\"name\":\"EXECUTOR\",\"dbName\":null}],\"dbName\":null},\"NotificationPlatform\":{\"values\":[{\"name\":\"discord\",\"dbName\":null},{\"name\":\"telegram\",\"dbName\":null}],\"dbName\":null},\"PayoutStatus\":{\"values\":[{\"name\":\"PENDING\",\"dbName\":null},{\"name\":\"SENT\",\"dbName\":null},{\"name\":\"FAILED\",\"dbName\":null}],\"dbName\":null}},\"types\":{}}") +config.runtimeDataModel = JSON.parse("{\"models\":{\"Stream\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"streamId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"txHash\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"version\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":1,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"sender\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"receiver\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contractId\",\"dbName\":\"contract_id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"tokenAddress\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"amount\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"duration\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"status\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"StreamStatus\",\"default\":\"ACTIVE\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"withdrawn\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"0\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"legacy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"migrated\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isPrivate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"yieldEnabled\",\"dbName\":\"yield_enabled\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"vaultContractId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"vaultShareBalance\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"vaultRatioScale\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"accruedInterest\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"0\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"lastYieldAccrualAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isDust\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"affiliateId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"ContractEvent\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"eventId\",\"dbName\":\"event_id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contractId\",\"dbName\":\"contract_id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"txHash\",\"dbName\":\"tx_hash\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"eventType\",\"dbName\":\"event_type\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"eventIndex\",\"dbName\":\"event_index\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"ledgerSequence\",\"dbName\":\"ledger_sequence\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"ledgerClosedAt\",\"dbName\":\"ledger_closed_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"topicXdr\",\"dbName\":\"topic_xdr\",\"kind\":\"scalar\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"valueXdr\",\"dbName\":\"value_xdr\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"decodedJson\",\"dbName\":\"decoded_json\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Json\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"dbName\":\"created_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[[\"txHash\",\"eventIndex\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"txHash\",\"eventIndex\"]}],\"isGenerated\":false},\"TokenPrice\":{\"dbName\":null,\"fields\":[{\"name\":\"tokenAddress\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"symbol\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"decimals\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":7,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"priceUsd\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Float\",\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"Webhook\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"url\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"description\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"eventType\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"*\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"secretKey\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isActive\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":true,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"WebhookDelivery\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"webhookId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"eventType\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"payload\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Json\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"status\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"pending\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"attempts\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"maxRetries\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":5,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"nextRetryAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"lastError\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"SyncState\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":1,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"lastLedgerSequence\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"EventLog\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"eventType\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"streamId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"txHash\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"eventIndex\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"ledger\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"ledgerClosedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"sender\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"receiver\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"amount\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"metadata\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"parentHash\",\"dbName\":\"parent_hash\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"entryHash\",\"dbName\":\"entry_hash\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[[\"txHash\",\"eventIndex\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"txHash\",\"eventIndex\"]}],\"isGenerated\":false},\"StreamSnapshot\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"streamId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"sender\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"receiver\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"tokenAddress\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"amountPerSecond\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"totalAmount\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"status\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"StreamStatus\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"snapshotMonth\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[[\"streamId\",\"snapshotMonth\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"streamId\",\"snapshotMonth\"]}],\"isGenerated\":false},\"StreamArchive\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"eventType\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"streamId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"txHash\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"ledger\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"ledgerClosedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"sender\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"receiver\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"amount\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"metadata\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"archivedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"BridgeLog\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"bridge\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"eventType\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"sourceChain\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"targetChain\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"sourceAsset\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"targetAsset\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"amount\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"sender\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"recipient\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"txHash\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"status\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"payload\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"landedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"Proposal\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"creator\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"description\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"quorum\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"votesFor\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"votesAgainst\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"txHash\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"Event\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"eventId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"streamId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"eventType\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"payload\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Json\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"timestamp\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"hash\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"previousHash\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"OrganizationMember\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"orgAddress\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false,\"documentation\":\"The shared G-address that represents the organisation\"},{\"name\":\"memberAddress\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false,\"documentation\":\"The individual member's Stellar G-address\"},{\"name\":\"role\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"OrgRole\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"addedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false,\"documentation\":\"Who granted this membership\"},{\"name\":\"isActive\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":true,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[[\"orgAddress\",\"memberAddress\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"orgAddress\",\"memberAddress\"]}],\"isGenerated\":false},\"ApiKey\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"keyHash\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"owner\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"rateLimit\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":1000,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isActive\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":true,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"lastUsedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"LedgerHash\":{\"dbName\":null,\"fields\":[{\"name\":\"sequence\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"hash\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"NotificationSubscription\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"stellarAddress\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"platform\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"NotificationPlatform\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"webhookUrl\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"chatId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isActive\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":true,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[[\"stellarAddress\",\"platform\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"stellarAddress\",\"platform\"]}],\"isGenerated\":false},\"InvoiceLink\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"slug\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"sender\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"receiver\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"amount\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"tokenAddress\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"duration\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"description\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"pdfUrl\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"xdrParams\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"status\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"DRAFT\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"expiresAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"Affiliate\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"stellarAddress\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"pendingClaim\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"0\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"totalEarned\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"0\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"claimedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"GlobalStats\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"global\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"tvlUsd\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"0\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"volume24hUsd\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"0\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"activeStreams\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"totalStreams\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"GlobalStats_V3\":{\"dbName\":\"GlobalStats_V3\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"v3_global\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"totalVolumeUsd\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"0\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"dailyVolumeUsd\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"0\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"totalSplits\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"totalRecipients\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"TvlSnapshot\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"tvlUsd\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"date\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"Asset\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"tokenAddress\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"homeDomain\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"symbol\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"imageUrl\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"decimals\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":7,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isVerified\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"stellarExpertVerified\",\"dbName\":\"stellar_expert_verified\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"tomlUrl\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"orgVerified\",\"dbName\":\"org_verified\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"orgHomeDomain\",\"dbName\":\"org_home_domain\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"lastFetchedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"AutopilotSchedule\":{\"dbName\":\"AutopilotSchedule\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"frequency\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"splitConfigId\",\"dbName\":\"split_config_id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"operatorAddress\",\"dbName\":\"operator_address\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"minGasTankXlm\",\"dbName\":\"min_gas_tank_xlm\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Float\",\"default\":1,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isActive\",\"dbName\":\"is_active\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":true,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"lastRun\",\"dbName\":\"last_run\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"lastTxHash\",\"dbName\":\"last_tx_hash\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"lastError\",\"dbName\":\"last_error\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"dbName\":\"created_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"dbName\":\"updated_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"AssetConfig\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"assetId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"symbol\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"decimals\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":7,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isVerified\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isVisible\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":true,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"yieldEnabled\",\"dbName\":\"yield_enabled\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"iconUrl\",\"dbName\":\"icon_url\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"ArchivedDisbursement\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"streamId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"txHash\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"sender\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"receiver\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"amount\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"tokenAddress\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"status\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"completedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"archivedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"originalLedger\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"Disbursement\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"streamId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"txHash\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"sender\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"receiver\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"amount\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"tokenAddress\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"status\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DisbursementStatus\",\"default\":\"PENDING\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"completedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"ledger\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"AssetMapping\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"stellarAssetId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"symbol\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"sourceChain\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"sourceContract\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"label\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"bridgeProtocol\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"decimals\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":7,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isNative\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"PriceHistory\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"asset\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"symbol\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"priceUsd\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"source\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"recordedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"ProtocolInefficiencyReport\":{\"dbName\":\"protocol_inefficiency_report\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"asset\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"protocolVersion\",\"dbName\":\"protocol_version\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"totalDustAmount\",\"dbName\":\"total_dust_amount\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"eventCount\",\"dbName\":\"event_count\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"firstSeenLedger\",\"dbName\":\"first_seen_ledger\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"lastSeenLedger\",\"dbName\":\"last_seen_ledger\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"generatedAt\",\"dbName\":\"generated_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"dbName\":\"updated_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[[\"asset\",\"protocolVersion\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"asset\",\"protocolVersion\"]}],\"isGenerated\":false},\"SplitLog\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"streamId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"asset\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"amount\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"sender\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"receiver\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"txHash\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"priceUsd\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"priceSource\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"priceRecordedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"executedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"MonitoredTransaction\":{\"dbName\":\"MonitoredTransaction\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"txHash\",\"dbName\":\"tx_hash\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"txXdr\",\"dbName\":\"tx_xdr\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"sourceAddress\",\"dbName\":\"source_address\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"originalFeeSt\",\"dbName\":\"original_fee_stroops\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"currentFeeSt\",\"dbName\":\"current_fee_stroops\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"bumpCount\",\"dbName\":\"bump_count\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"maxBumps\",\"dbName\":\"max_bumps\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":3,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"status\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"PENDING\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"submittedAt\",\"dbName\":\"submitted_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"confirmedAt\",\"dbName\":\"confirmed_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"lastBumpAt\",\"dbName\":\"last_bump_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"errorMessage\",\"dbName\":\"error_message\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"dbName\":\"created_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"dbName\":\"updated_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"DisbursementDraft\":{\"dbName\":\"DisbursementDraft\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"senderAddress\",\"dbName\":\"sender_address\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"asset\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"currentVersion\",\"dbName\":\"current_version\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":1,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"status\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"DRAFT\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"dbName\":\"created_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"dbName\":\"updated_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"versions\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DisbursementDraftVersion\",\"relationName\":\"DisbursementDraftToDisbursementDraftVersion\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"DisbursementDraftVersion\":{\"dbName\":\"DisbursementDraftVersion\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"draftId\",\"dbName\":\"draft_id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"version\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"totalAmount\",\"dbName\":\"total_amount\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"recipients\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Json\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"changeNote\",\"dbName\":\"change_note\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"changedBy\",\"dbName\":\"changed_by\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"dbName\":\"created_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"draft\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DisbursementDraft\",\"relationName\":\"DisbursementDraftToDisbursementDraftVersion\",\"relationFromFields\":[\"draftId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[[\"draftId\",\"version\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"draftId\",\"version\"]}],\"isGenerated\":false},\"MultisigProposal\":{\"dbName\":\"MultisigProposal\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"proposalId\",\"dbName\":\"proposal_id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"organizationId\",\"dbName\":\"organization_id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"transactionXdr\",\"dbName\":\"transaction_xdr\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"signatures\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Json\",\"default\":\"[]\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"requiredSigners\",\"dbName\":\"required_signers\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"status\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"PENDING\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"submittedTxHash\",\"dbName\":\"submitted_tx_hash\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"errorMessage\",\"dbName\":\"error_message\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"dbName\":\"created_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"dbName\":\"updated_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"expiresAt\",\"dbName\":\"expires_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"CachedAsset\":{\"dbName\":\"CachedAsset\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"tokenAddress\",\"dbName\":\"token_address\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"code\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"issuer\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"description\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"imageUrl\",\"dbName\":\"image_url\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isVerified\",\"dbName\":\"is_verified\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"decimals\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":7,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"lastSyncedAt\",\"dbName\":\"last_synced_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"dbName\":\"created_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"dbName\":\"updated_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"SplitLink\":{\"dbName\":\"SplitLink\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"slug\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"fullUrl\",\"dbName\":\"full_url\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"payloadHash\",\"dbName\":\"payload_hash\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"creatorAddress\",\"dbName\":\"creator_address\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"passwordHash\",\"dbName\":\"password_hash\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"clickCount\",\"dbName\":\"click_count\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"lastClickedAt\",\"dbName\":\"last_clicked_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"expiresAt\",\"dbName\":\"expires_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"dbName\":\"created_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false}},\"enums\":{\"StreamStatus\":{\"values\":[{\"name\":\"ACTIVE\",\"dbName\":null},{\"name\":\"PAUSED\",\"dbName\":null},{\"name\":\"COMPLETED\",\"dbName\":null},{\"name\":\"CANCELED\",\"dbName\":null},{\"name\":\"ARCHIVED\",\"dbName\":null}],\"dbName\":null},\"OrgRole\":{\"values\":[{\"name\":\"DRAFTER\",\"dbName\":null},{\"name\":\"APPROVER\",\"dbName\":null},{\"name\":\"EXECUTOR\",\"dbName\":null}],\"dbName\":null},\"NotificationPlatform\":{\"values\":[{\"name\":\"discord\",\"dbName\":null},{\"name\":\"telegram\",\"dbName\":null}],\"dbName\":null},\"DisbursementStatus\":{\"values\":[{\"name\":\"PENDING\",\"dbName\":null},{\"name\":\"PROCESSING\",\"dbName\":null},{\"name\":\"COMPLETED\",\"dbName\":null},{\"name\":\"FAILED\",\"dbName\":null},{\"name\":\"CANCELLED\",\"dbName\":null}],\"dbName\":null},\"PayoutStatus\":{\"values\":[{\"name\":\"PENDING\",\"dbName\":null},{\"name\":\"SENT\",\"dbName\":null},{\"name\":\"FAILED\",\"dbName\":null}],\"dbName\":null}},\"types\":{}}") defineDmmfProperty(exports.Prisma, config.runtimeDataModel) config.engineWasm = undefined diff --git a/backend/src/generated/client/index-browser.js b/backend/src/generated/client/index-browser.js index 95a2e14d..657bc54a 100644 --- a/backend/src/generated/client/index-browser.js +++ b/backend/src/generated/client/index-browser.js @@ -277,6 +277,17 @@ exports.Prisma.ProposalScalarFieldEnum = { updatedAt: 'updatedAt' }; +exports.Prisma.EventScalarFieldEnum = { + id: 'id', + eventId: 'eventId', + streamId: 'streamId', + eventType: 'eventType', + payload: 'payload', + timestamp: 'timestamp', + hash: 'hash', + previousHash: 'previousHash' +}; + exports.Prisma.OrganizationMemberScalarFieldEnum = { id: 'id', orgAddress: 'orgAddress', @@ -378,6 +389,10 @@ exports.Prisma.AssetScalarFieldEnum = { imageUrl: 'imageUrl', decimals: 'decimals', isVerified: 'isVerified', + stellarExpertVerified: 'stellarExpertVerified', + tomlUrl: 'tomlUrl', + orgVerified: 'orgVerified', + orgHomeDomain: 'orgHomeDomain', lastFetchedAt: 'lastFetchedAt', createdAt: 'createdAt', updatedAt: 'updatedAt' @@ -412,21 +427,32 @@ exports.Prisma.AssetConfigScalarFieldEnum = { updatedAt: 'updatedAt' }; -exports.Prisma.DisbursementScalarFieldEnum = { +exports.Prisma.ArchivedDisbursementScalarFieldEnum = { id: 'id', - senderAddress: 'senderAddress', - totalAmount: 'totalAmount', - asset: 'asset', + streamId: 'streamId', txHash: 'txHash', - createdAt: 'createdAt' + sender: 'sender', + receiver: 'receiver', + amount: 'amount', + tokenAddress: 'tokenAddress', + status: 'status', + completedAt: 'completedAt', + archivedAt: 'archivedAt', + originalLedger: 'originalLedger' }; -exports.Prisma.SplitRecipientScalarFieldEnum = { +exports.Prisma.DisbursementScalarFieldEnum = { id: 'id', - disbursementId: 'disbursementId', - recipientAddress: 'recipientAddress', + streamId: 'streamId', + txHash: 'txHash', + sender: 'sender', + receiver: 'receiver', amount: 'amount', - status: 'status' + tokenAddress: 'tokenAddress', + status: 'status', + createdAt: 'createdAt', + completedAt: 'completedAt', + ledger: 'ledger' }; exports.Prisma.AssetMappingScalarFieldEnum = { @@ -554,6 +580,7 @@ exports.Prisma.SplitLinkScalarFieldEnum = { fullUrl: 'fullUrl', payloadHash: 'payloadHash', creatorAddress: 'creatorAddress', + passwordHash: 'passwordHash', clickCount: 'clickCount', lastClickedAt: 'lastClickedAt', expiresAt: 'expiresAt', @@ -603,10 +630,12 @@ exports.NotificationPlatform = exports.$Enums.NotificationPlatform = { telegram: 'telegram' }; -exports.PayoutStatus = exports.$Enums.PayoutStatus = { +exports.DisbursementStatus = exports.$Enums.DisbursementStatus = { PENDING: 'PENDING', - SENT: 'SENT', - FAILED: 'FAILED' + PROCESSING: 'PROCESSING', + COMPLETED: 'COMPLETED', + FAILED: 'FAILED', + CANCELLED: 'CANCELLED' }; exports.Prisma.ModelName = { @@ -621,6 +650,7 @@ exports.Prisma.ModelName = { StreamArchive: 'StreamArchive', BridgeLog: 'BridgeLog', Proposal: 'Proposal', + Event: 'Event', OrganizationMember: 'OrganizationMember', ApiKey: 'ApiKey', LedgerHash: 'LedgerHash', @@ -633,8 +663,8 @@ exports.Prisma.ModelName = { Asset: 'Asset', AutopilotSchedule: 'AutopilotSchedule', AssetConfig: 'AssetConfig', + ArchivedDisbursement: 'ArchivedDisbursement', Disbursement: 'Disbursement', - SplitRecipient: 'SplitRecipient', AssetMapping: 'AssetMapping', PriceHistory: 'PriceHistory', ProtocolInefficiencyReport: 'ProtocolInefficiencyReport', diff --git a/backend/src/generated/client/index.d.ts b/backend/src/generated/client/index.d.ts index 6842ea50..b06d91b8 100644 --- a/backend/src/generated/client/index.d.ts +++ b/backend/src/generated/client/index.d.ts @@ -68,6 +68,11 @@ export type BridgeLog = $Result.DefaultSelection * */ export type Proposal = $Result.DefaultSelection +/** + * Model Event + * + */ +export type Event = $Result.DefaultSelection /** * Model OrganizationMember * @@ -129,15 +134,15 @@ export type AutopilotSchedule = $Result.DefaultSelection /** - * Model Disbursement + * Model ArchivedDisbursement * */ -export type Disbursement = $Result.DefaultSelection +export type ArchivedDisbursement = $Result.DefaultSelection /** - * Model SplitRecipient + * Model Disbursement * */ -export type SplitRecipient = $Result.DefaultSelection +export type Disbursement = $Result.DefaultSelection /** * Model AssetMapping * @@ -221,13 +226,15 @@ export const NotificationPlatform: { export type NotificationPlatform = (typeof NotificationPlatform)[keyof typeof NotificationPlatform] -export const PayoutStatus: { +export const DisbursementStatus: { PENDING: 'PENDING', - SENT: 'SENT', - FAILED: 'FAILED' + PROCESSING: 'PROCESSING', + COMPLETED: 'COMPLETED', + FAILED: 'FAILED', + CANCELLED: 'CANCELLED' }; -export type PayoutStatus = (typeof PayoutStatus)[keyof typeof PayoutStatus] +export type DisbursementStatus = (typeof DisbursementStatus)[keyof typeof DisbursementStatus] } @@ -243,9 +250,9 @@ export type NotificationPlatform = $Enums.NotificationPlatform export const NotificationPlatform: typeof $Enums.NotificationPlatform -export type PayoutStatus = $Enums.PayoutStatus +export type DisbursementStatus = $Enums.DisbursementStatus -export const PayoutStatus: typeof $Enums.PayoutStatus +export const DisbursementStatus: typeof $Enums.DisbursementStatus /** * ## Prisma Client ʲˢ @@ -480,6 +487,16 @@ export class PrismaClient< */ get proposal(): Prisma.ProposalDelegate; + /** + * `prisma.event`: Exposes CRUD operations for the **Event** model. + * Example usage: + * ```ts + * // Fetch zero or more Events + * const events = await prisma.event.findMany() + * ``` + */ + get event(): Prisma.EventDelegate; + /** * `prisma.organizationMember`: Exposes CRUD operations for the **OrganizationMember** model. * Example usage: @@ -601,24 +618,24 @@ export class PrismaClient< get assetConfig(): Prisma.AssetConfigDelegate; /** - * `prisma.disbursement`: Exposes CRUD operations for the **Disbursement** model. + * `prisma.archivedDisbursement`: Exposes CRUD operations for the **ArchivedDisbursement** model. * Example usage: * ```ts - * // Fetch zero or more Disbursements - * const disbursements = await prisma.disbursement.findMany() + * // Fetch zero or more ArchivedDisbursements + * const archivedDisbursements = await prisma.archivedDisbursement.findMany() * ``` */ - get disbursement(): Prisma.DisbursementDelegate; + get archivedDisbursement(): Prisma.ArchivedDisbursementDelegate; /** - * `prisma.splitRecipient`: Exposes CRUD operations for the **SplitRecipient** model. + * `prisma.disbursement`: Exposes CRUD operations for the **Disbursement** model. * Example usage: * ```ts - * // Fetch zero or more SplitRecipients - * const splitRecipients = await prisma.splitRecipient.findMany() + * // Fetch zero or more Disbursements + * const disbursements = await prisma.disbursement.findMany() * ``` */ - get splitRecipient(): Prisma.SplitRecipientDelegate; + get disbursement(): Prisma.DisbursementDelegate; /** * `prisma.assetMapping`: Exposes CRUD operations for the **AssetMapping** model. @@ -1171,6 +1188,7 @@ export namespace Prisma { StreamArchive: 'StreamArchive', BridgeLog: 'BridgeLog', Proposal: 'Proposal', + Event: 'Event', OrganizationMember: 'OrganizationMember', ApiKey: 'ApiKey', LedgerHash: 'LedgerHash', @@ -1183,8 +1201,8 @@ export namespace Prisma { Asset: 'Asset', AutopilotSchedule: 'AutopilotSchedule', AssetConfig: 'AssetConfig', + ArchivedDisbursement: 'ArchivedDisbursement', Disbursement: 'Disbursement', - SplitRecipient: 'SplitRecipient', AssetMapping: 'AssetMapping', PriceHistory: 'PriceHistory', ProtocolInefficiencyReport: 'ProtocolInefficiencyReport', @@ -1210,7 +1228,7 @@ export namespace Prisma { export type TypeMap = { meta: { - modelProps: "stream" | "contractEvent" | "tokenPrice" | "webhook" | "webhookDelivery" | "syncState" | "eventLog" | "streamSnapshot" | "streamArchive" | "bridgeLog" | "proposal" | "organizationMember" | "apiKey" | "ledgerHash" | "notificationSubscription" | "invoiceLink" | "affiliate" | "globalStats" | "globalStats_V3" | "tvlSnapshot" | "asset" | "autopilotSchedule" | "assetConfig" | "disbursement" | "splitRecipient" | "assetMapping" | "priceHistory" | "protocolInefficiencyReport" | "splitLog" | "monitoredTransaction" | "disbursementDraft" | "disbursementDraftVersion" | "multisigProposal" | "cachedAsset" | "splitLink" + modelProps: "stream" | "contractEvent" | "tokenPrice" | "webhook" | "webhookDelivery" | "syncState" | "eventLog" | "streamSnapshot" | "streamArchive" | "bridgeLog" | "proposal" | "event" | "organizationMember" | "apiKey" | "ledgerHash" | "notificationSubscription" | "invoiceLink" | "affiliate" | "globalStats" | "globalStats_V3" | "tvlSnapshot" | "asset" | "autopilotSchedule" | "assetConfig" | "archivedDisbursement" | "disbursement" | "assetMapping" | "priceHistory" | "protocolInefficiencyReport" | "splitLog" | "monitoredTransaction" | "disbursementDraft" | "disbursementDraftVersion" | "multisigProposal" | "cachedAsset" | "splitLink" txIsolationLevel: Prisma.TransactionIsolationLevel } model: { @@ -1984,6 +2002,76 @@ export namespace Prisma { } } } + Event: { + payload: Prisma.$EventPayload + fields: Prisma.EventFieldRefs + operations: { + findUnique: { + args: Prisma.EventFindUniqueArgs + result: $Utils.PayloadToResult | null + } + findUniqueOrThrow: { + args: Prisma.EventFindUniqueOrThrowArgs + result: $Utils.PayloadToResult + } + findFirst: { + args: Prisma.EventFindFirstArgs + result: $Utils.PayloadToResult | null + } + findFirstOrThrow: { + args: Prisma.EventFindFirstOrThrowArgs + result: $Utils.PayloadToResult + } + findMany: { + args: Prisma.EventFindManyArgs + result: $Utils.PayloadToResult[] + } + create: { + args: Prisma.EventCreateArgs + result: $Utils.PayloadToResult + } + createMany: { + args: Prisma.EventCreateManyArgs + result: BatchPayload + } + createManyAndReturn: { + args: Prisma.EventCreateManyAndReturnArgs + result: $Utils.PayloadToResult[] + } + delete: { + args: Prisma.EventDeleteArgs + result: $Utils.PayloadToResult + } + update: { + args: Prisma.EventUpdateArgs + result: $Utils.PayloadToResult + } + deleteMany: { + args: Prisma.EventDeleteManyArgs + result: BatchPayload + } + updateMany: { + args: Prisma.EventUpdateManyArgs + result: BatchPayload + } + upsert: { + args: Prisma.EventUpsertArgs + result: $Utils.PayloadToResult + } + aggregate: { + args: Prisma.EventAggregateArgs + result: $Utils.Optional + } + groupBy: { + args: Prisma.EventGroupByArgs + result: $Utils.Optional[] + } + count: { + args: Prisma.EventCountArgs + result: $Utils.Optional | number + } + } + } OrganizationMember: { payload: Prisma.$OrganizationMemberPayload fields: Prisma.OrganizationMemberFieldRefs @@ -2824,143 +2912,143 @@ export namespace Prisma { } } } - Disbursement: { - payload: Prisma.$DisbursementPayload - fields: Prisma.DisbursementFieldRefs + ArchivedDisbursement: { + payload: Prisma.$ArchivedDisbursementPayload + fields: Prisma.ArchivedDisbursementFieldRefs operations: { findUnique: { - args: Prisma.DisbursementFindUniqueArgs - result: $Utils.PayloadToResult | null + args: Prisma.ArchivedDisbursementFindUniqueArgs + result: $Utils.PayloadToResult | null } findUniqueOrThrow: { - args: Prisma.DisbursementFindUniqueOrThrowArgs - result: $Utils.PayloadToResult + args: Prisma.ArchivedDisbursementFindUniqueOrThrowArgs + result: $Utils.PayloadToResult } findFirst: { - args: Prisma.DisbursementFindFirstArgs - result: $Utils.PayloadToResult | null + args: Prisma.ArchivedDisbursementFindFirstArgs + result: $Utils.PayloadToResult | null } findFirstOrThrow: { - args: Prisma.DisbursementFindFirstOrThrowArgs - result: $Utils.PayloadToResult + args: Prisma.ArchivedDisbursementFindFirstOrThrowArgs + result: $Utils.PayloadToResult } findMany: { - args: Prisma.DisbursementFindManyArgs - result: $Utils.PayloadToResult[] + args: Prisma.ArchivedDisbursementFindManyArgs + result: $Utils.PayloadToResult[] } create: { - args: Prisma.DisbursementCreateArgs - result: $Utils.PayloadToResult + args: Prisma.ArchivedDisbursementCreateArgs + result: $Utils.PayloadToResult } createMany: { - args: Prisma.DisbursementCreateManyArgs + args: Prisma.ArchivedDisbursementCreateManyArgs result: BatchPayload } createManyAndReturn: { - args: Prisma.DisbursementCreateManyAndReturnArgs - result: $Utils.PayloadToResult[] + args: Prisma.ArchivedDisbursementCreateManyAndReturnArgs + result: $Utils.PayloadToResult[] } delete: { - args: Prisma.DisbursementDeleteArgs - result: $Utils.PayloadToResult + args: Prisma.ArchivedDisbursementDeleteArgs + result: $Utils.PayloadToResult } update: { - args: Prisma.DisbursementUpdateArgs - result: $Utils.PayloadToResult + args: Prisma.ArchivedDisbursementUpdateArgs + result: $Utils.PayloadToResult } deleteMany: { - args: Prisma.DisbursementDeleteManyArgs + args: Prisma.ArchivedDisbursementDeleteManyArgs result: BatchPayload } updateMany: { - args: Prisma.DisbursementUpdateManyArgs + args: Prisma.ArchivedDisbursementUpdateManyArgs result: BatchPayload } upsert: { - args: Prisma.DisbursementUpsertArgs - result: $Utils.PayloadToResult + args: Prisma.ArchivedDisbursementUpsertArgs + result: $Utils.PayloadToResult } aggregate: { - args: Prisma.DisbursementAggregateArgs - result: $Utils.Optional + args: Prisma.ArchivedDisbursementAggregateArgs + result: $Utils.Optional } groupBy: { - args: Prisma.DisbursementGroupByArgs - result: $Utils.Optional[] + args: Prisma.ArchivedDisbursementGroupByArgs + result: $Utils.Optional[] } count: { - args: Prisma.DisbursementCountArgs - result: $Utils.Optional | number + args: Prisma.ArchivedDisbursementCountArgs + result: $Utils.Optional | number } } } - SplitRecipient: { - payload: Prisma.$SplitRecipientPayload - fields: Prisma.SplitRecipientFieldRefs + Disbursement: { + payload: Prisma.$DisbursementPayload + fields: Prisma.DisbursementFieldRefs operations: { findUnique: { - args: Prisma.SplitRecipientFindUniqueArgs - result: $Utils.PayloadToResult | null + args: Prisma.DisbursementFindUniqueArgs + result: $Utils.PayloadToResult | null } findUniqueOrThrow: { - args: Prisma.SplitRecipientFindUniqueOrThrowArgs - result: $Utils.PayloadToResult + args: Prisma.DisbursementFindUniqueOrThrowArgs + result: $Utils.PayloadToResult } findFirst: { - args: Prisma.SplitRecipientFindFirstArgs - result: $Utils.PayloadToResult | null + args: Prisma.DisbursementFindFirstArgs + result: $Utils.PayloadToResult | null } findFirstOrThrow: { - args: Prisma.SplitRecipientFindFirstOrThrowArgs - result: $Utils.PayloadToResult + args: Prisma.DisbursementFindFirstOrThrowArgs + result: $Utils.PayloadToResult } findMany: { - args: Prisma.SplitRecipientFindManyArgs - result: $Utils.PayloadToResult[] + args: Prisma.DisbursementFindManyArgs + result: $Utils.PayloadToResult[] } create: { - args: Prisma.SplitRecipientCreateArgs - result: $Utils.PayloadToResult + args: Prisma.DisbursementCreateArgs + result: $Utils.PayloadToResult } createMany: { - args: Prisma.SplitRecipientCreateManyArgs + args: Prisma.DisbursementCreateManyArgs result: BatchPayload } createManyAndReturn: { - args: Prisma.SplitRecipientCreateManyAndReturnArgs - result: $Utils.PayloadToResult[] + args: Prisma.DisbursementCreateManyAndReturnArgs + result: $Utils.PayloadToResult[] } delete: { - args: Prisma.SplitRecipientDeleteArgs - result: $Utils.PayloadToResult + args: Prisma.DisbursementDeleteArgs + result: $Utils.PayloadToResult } update: { - args: Prisma.SplitRecipientUpdateArgs - result: $Utils.PayloadToResult + args: Prisma.DisbursementUpdateArgs + result: $Utils.PayloadToResult } deleteMany: { - args: Prisma.SplitRecipientDeleteManyArgs + args: Prisma.DisbursementDeleteManyArgs result: BatchPayload } updateMany: { - args: Prisma.SplitRecipientUpdateManyArgs + args: Prisma.DisbursementUpdateManyArgs result: BatchPayload } upsert: { - args: Prisma.SplitRecipientUpsertArgs - result: $Utils.PayloadToResult + args: Prisma.DisbursementUpsertArgs + result: $Utils.PayloadToResult } aggregate: { - args: Prisma.SplitRecipientAggregateArgs - result: $Utils.Optional + args: Prisma.DisbursementAggregateArgs + result: $Utils.Optional } groupBy: { - args: Prisma.SplitRecipientGroupByArgs - result: $Utils.Optional[] + args: Prisma.DisbursementGroupByArgs + result: $Utils.Optional[] } count: { - args: Prisma.SplitRecipientCountArgs - result: $Utils.Optional | number + args: Prisma.DisbursementCountArgs + result: $Utils.Optional | number } } } @@ -3820,37 +3908,6 @@ export namespace Prisma { */ - /** - * Count Type DisbursementCountOutputType - */ - - export type DisbursementCountOutputType = { - recipients: number - } - - export type DisbursementCountOutputTypeSelect = { - recipients?: boolean | DisbursementCountOutputTypeCountRecipientsArgs - } - - // Custom InputTypes - /** - * DisbursementCountOutputType without action - */ - export type DisbursementCountOutputTypeDefaultArgs = { - /** - * Select specific fields to fetch from the DisbursementCountOutputType - */ - select?: DisbursementCountOutputTypeSelect | null - } - - /** - * DisbursementCountOutputType without action - */ - export type DisbursementCountOutputTypeCountRecipientsArgs = { - where?: SplitRecipientWhereInput - } - - /** * Count Type DisbursementDraftCountOutputType */ @@ -14687,369 +14744,356 @@ export namespace Prisma { /** - * Model OrganizationMember + * Model Event */ - export type AggregateOrganizationMember = { - _count: OrganizationMemberCountAggregateOutputType | null - _min: OrganizationMemberMinAggregateOutputType | null - _max: OrganizationMemberMaxAggregateOutputType | null + export type AggregateEvent = { + _count: EventCountAggregateOutputType | null + _min: EventMinAggregateOutputType | null + _max: EventMaxAggregateOutputType | null } - export type OrganizationMemberMinAggregateOutputType = { + export type EventMinAggregateOutputType = { id: string | null - orgAddress: string | null - memberAddress: string | null - role: $Enums.OrgRole | null - addedBy: string | null - isActive: boolean | null - createdAt: Date | null - updatedAt: Date | null + eventId: string | null + streamId: string | null + eventType: string | null + timestamp: Date | null + hash: string | null + previousHash: string | null } - export type OrganizationMemberMaxAggregateOutputType = { + export type EventMaxAggregateOutputType = { id: string | null - orgAddress: string | null - memberAddress: string | null - role: $Enums.OrgRole | null - addedBy: string | null - isActive: boolean | null - createdAt: Date | null - updatedAt: Date | null + eventId: string | null + streamId: string | null + eventType: string | null + timestamp: Date | null + hash: string | null + previousHash: string | null } - export type OrganizationMemberCountAggregateOutputType = { + export type EventCountAggregateOutputType = { id: number - orgAddress: number - memberAddress: number - role: number - addedBy: number - isActive: number - createdAt: number - updatedAt: number + eventId: number + streamId: number + eventType: number + payload: number + timestamp: number + hash: number + previousHash: number _all: number } - export type OrganizationMemberMinAggregateInputType = { + export type EventMinAggregateInputType = { id?: true - orgAddress?: true - memberAddress?: true - role?: true - addedBy?: true - isActive?: true - createdAt?: true - updatedAt?: true + eventId?: true + streamId?: true + eventType?: true + timestamp?: true + hash?: true + previousHash?: true } - export type OrganizationMemberMaxAggregateInputType = { + export type EventMaxAggregateInputType = { id?: true - orgAddress?: true - memberAddress?: true - role?: true - addedBy?: true - isActive?: true - createdAt?: true - updatedAt?: true + eventId?: true + streamId?: true + eventType?: true + timestamp?: true + hash?: true + previousHash?: true } - export type OrganizationMemberCountAggregateInputType = { + export type EventCountAggregateInputType = { id?: true - orgAddress?: true - memberAddress?: true - role?: true - addedBy?: true - isActive?: true - createdAt?: true - updatedAt?: true + eventId?: true + streamId?: true + eventType?: true + payload?: true + timestamp?: true + hash?: true + previousHash?: true _all?: true } - export type OrganizationMemberAggregateArgs = { + export type EventAggregateArgs = { /** - * Filter which OrganizationMember to aggregate. + * Filter which Event to aggregate. */ - where?: OrganizationMemberWhereInput + where?: EventWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * - * Determine the order of OrganizationMembers to fetch. + * Determine the order of Events to fetch. */ - orderBy?: OrganizationMemberOrderByWithRelationInput | OrganizationMemberOrderByWithRelationInput[] + orderBy?: EventOrderByWithRelationInput | EventOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the start position */ - cursor?: OrganizationMemberWhereUniqueInput + cursor?: EventWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * - * Take `±n` OrganizationMembers from the position of the cursor. + * Take `±n` Events from the position of the cursor. */ take?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * - * Skip the first `n` OrganizationMembers. + * Skip the first `n` Events. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * - * Count returned OrganizationMembers + * Count returned Events **/ - _count?: true | OrganizationMemberCountAggregateInputType + _count?: true | EventCountAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the minimum value **/ - _min?: OrganizationMemberMinAggregateInputType + _min?: EventMinAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the maximum value **/ - _max?: OrganizationMemberMaxAggregateInputType + _max?: EventMaxAggregateInputType } - export type GetOrganizationMemberAggregateType = { - [P in keyof T & keyof AggregateOrganizationMember]: P extends '_count' | 'count' + export type GetEventAggregateType = { + [P in keyof T & keyof AggregateEvent]: P extends '_count' | 'count' ? T[P] extends true ? number - : GetScalarType - : GetScalarType + : GetScalarType + : GetScalarType } - export type OrganizationMemberGroupByArgs = { - where?: OrganizationMemberWhereInput - orderBy?: OrganizationMemberOrderByWithAggregationInput | OrganizationMemberOrderByWithAggregationInput[] - by: OrganizationMemberScalarFieldEnum[] | OrganizationMemberScalarFieldEnum - having?: OrganizationMemberScalarWhereWithAggregatesInput + export type EventGroupByArgs = { + where?: EventWhereInput + orderBy?: EventOrderByWithAggregationInput | EventOrderByWithAggregationInput[] + by: EventScalarFieldEnum[] | EventScalarFieldEnum + having?: EventScalarWhereWithAggregatesInput take?: number skip?: number - _count?: OrganizationMemberCountAggregateInputType | true - _min?: OrganizationMemberMinAggregateInputType - _max?: OrganizationMemberMaxAggregateInputType + _count?: EventCountAggregateInputType | true + _min?: EventMinAggregateInputType + _max?: EventMaxAggregateInputType } - export type OrganizationMemberGroupByOutputType = { + export type EventGroupByOutputType = { id: string - orgAddress: string - memberAddress: string - role: $Enums.OrgRole - addedBy: string - isActive: boolean - createdAt: Date - updatedAt: Date - _count: OrganizationMemberCountAggregateOutputType | null - _min: OrganizationMemberMinAggregateOutputType | null - _max: OrganizationMemberMaxAggregateOutputType | null + eventId: string + streamId: string + eventType: string + payload: JsonValue + timestamp: Date + hash: string + previousHash: string | null + _count: EventCountAggregateOutputType | null + _min: EventMinAggregateOutputType | null + _max: EventMaxAggregateOutputType | null } - type GetOrganizationMemberGroupByPayload = Prisma.PrismaPromise< + type GetEventGroupByPayload = Prisma.PrismaPromise< Array< - PickEnumerable & + PickEnumerable & { - [P in ((keyof T) & (keyof OrganizationMemberGroupByOutputType))]: P extends '_count' + [P in ((keyof T) & (keyof EventGroupByOutputType))]: P extends '_count' ? T[P] extends boolean ? number - : GetScalarType - : GetScalarType + : GetScalarType + : GetScalarType } > > - export type OrganizationMemberSelect = $Extensions.GetSelect<{ + export type EventSelect = $Extensions.GetSelect<{ id?: boolean - orgAddress?: boolean - memberAddress?: boolean - role?: boolean - addedBy?: boolean - isActive?: boolean - createdAt?: boolean - updatedAt?: boolean - }, ExtArgs["result"]["organizationMember"]> + eventId?: boolean + streamId?: boolean + eventType?: boolean + payload?: boolean + timestamp?: boolean + hash?: boolean + previousHash?: boolean + }, ExtArgs["result"]["event"]> - export type OrganizationMemberSelectCreateManyAndReturn = $Extensions.GetSelect<{ + export type EventSelectCreateManyAndReturn = $Extensions.GetSelect<{ id?: boolean - orgAddress?: boolean - memberAddress?: boolean - role?: boolean - addedBy?: boolean - isActive?: boolean - createdAt?: boolean - updatedAt?: boolean - }, ExtArgs["result"]["organizationMember"]> + eventId?: boolean + streamId?: boolean + eventType?: boolean + payload?: boolean + timestamp?: boolean + hash?: boolean + previousHash?: boolean + }, ExtArgs["result"]["event"]> - export type OrganizationMemberSelectScalar = { + export type EventSelectScalar = { id?: boolean - orgAddress?: boolean - memberAddress?: boolean - role?: boolean - addedBy?: boolean - isActive?: boolean - createdAt?: boolean - updatedAt?: boolean + eventId?: boolean + streamId?: boolean + eventType?: boolean + payload?: boolean + timestamp?: boolean + hash?: boolean + previousHash?: boolean } - export type $OrganizationMemberPayload = { - name: "OrganizationMember" + export type $EventPayload = { + name: "Event" objects: {} scalars: $Extensions.GetPayloadResult<{ id: string - /** - * The shared G-address that represents the organisation - */ - orgAddress: string - /** - * The individual member's Stellar G-address - */ - memberAddress: string - role: $Enums.OrgRole - /** - * Who granted this membership - */ - addedBy: string - isActive: boolean - createdAt: Date - updatedAt: Date - }, ExtArgs["result"]["organizationMember"]> + eventId: string + streamId: string + eventType: string + payload: Prisma.JsonValue + timestamp: Date + hash: string + previousHash: string | null + }, ExtArgs["result"]["event"]> composites: {} } - type OrganizationMemberGetPayload = $Result.GetResult + type EventGetPayload = $Result.GetResult - type OrganizationMemberCountArgs = - Omit & { - select?: OrganizationMemberCountAggregateInputType | true + type EventCountArgs = + Omit & { + select?: EventCountAggregateInputType | true } - export interface OrganizationMemberDelegate { - [K: symbol]: { types: Prisma.TypeMap['model']['OrganizationMember'], meta: { name: 'OrganizationMember' } } + export interface EventDelegate { + [K: symbol]: { types: Prisma.TypeMap['model']['Event'], meta: { name: 'Event' } } /** - * Find zero or one OrganizationMember that matches the filter. - * @param {OrganizationMemberFindUniqueArgs} args - Arguments to find a OrganizationMember + * Find zero or one Event that matches the filter. + * @param {EventFindUniqueArgs} args - Arguments to find a Event * @example - * // Get one OrganizationMember - * const organizationMember = await prisma.organizationMember.findUnique({ + * // Get one Event + * const event = await prisma.event.findUnique({ * where: { * // ... provide filter here * } * }) */ - findUnique(args: SelectSubset>): Prisma__OrganizationMemberClient<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> + findUnique(args: SelectSubset>): Prisma__EventClient<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> /** - * Find one OrganizationMember that matches the filter or throw an error with `error.code='P2025'` + * Find one Event that matches the filter or throw an error with `error.code='P2025'` * if no matches were found. - * @param {OrganizationMemberFindUniqueOrThrowArgs} args - Arguments to find a OrganizationMember + * @param {EventFindUniqueOrThrowArgs} args - Arguments to find a Event * @example - * // Get one OrganizationMember - * const organizationMember = await prisma.organizationMember.findUniqueOrThrow({ + * // Get one Event + * const event = await prisma.event.findUniqueOrThrow({ * where: { * // ... provide filter here * } * }) */ - findUniqueOrThrow(args: SelectSubset>): Prisma__OrganizationMemberClient<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> + findUniqueOrThrow(args: SelectSubset>): Prisma__EventClient<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> /** - * Find the first OrganizationMember that matches the filter. + * Find the first Event that matches the filter. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined - * @param {OrganizationMemberFindFirstArgs} args - Arguments to find a OrganizationMember + * @param {EventFindFirstArgs} args - Arguments to find a Event * @example - * // Get one OrganizationMember - * const organizationMember = await prisma.organizationMember.findFirst({ + * // Get one Event + * const event = await prisma.event.findFirst({ * where: { * // ... provide filter here * } * }) */ - findFirst(args?: SelectSubset>): Prisma__OrganizationMemberClient<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> + findFirst(args?: SelectSubset>): Prisma__EventClient<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> /** - * Find the first OrganizationMember that matches the filter or + * Find the first Event that matches the filter or * throw `PrismaKnownClientError` with `P2025` code if no matches were found. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined - * @param {OrganizationMemberFindFirstOrThrowArgs} args - Arguments to find a OrganizationMember + * @param {EventFindFirstOrThrowArgs} args - Arguments to find a Event * @example - * // Get one OrganizationMember - * const organizationMember = await prisma.organizationMember.findFirstOrThrow({ + * // Get one Event + * const event = await prisma.event.findFirstOrThrow({ * where: { * // ... provide filter here * } * }) */ - findFirstOrThrow(args?: SelectSubset>): Prisma__OrganizationMemberClient<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> + findFirstOrThrow(args?: SelectSubset>): Prisma__EventClient<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> /** - * Find zero or more OrganizationMembers that matches the filter. + * Find zero or more Events that matches the filter. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined - * @param {OrganizationMemberFindManyArgs} args - Arguments to filter and select certain fields only. + * @param {EventFindManyArgs} args - Arguments to filter and select certain fields only. * @example - * // Get all OrganizationMembers - * const organizationMembers = await prisma.organizationMember.findMany() + * // Get all Events + * const events = await prisma.event.findMany() * - * // Get first 10 OrganizationMembers - * const organizationMembers = await prisma.organizationMember.findMany({ take: 10 }) + * // Get first 10 Events + * const events = await prisma.event.findMany({ take: 10 }) * * // Only select the `id` - * const organizationMemberWithIdOnly = await prisma.organizationMember.findMany({ select: { id: true } }) + * const eventWithIdOnly = await prisma.event.findMany({ select: { id: true } }) * */ - findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> + findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> /** - * Create a OrganizationMember. - * @param {OrganizationMemberCreateArgs} args - Arguments to create a OrganizationMember. + * Create a Event. + * @param {EventCreateArgs} args - Arguments to create a Event. * @example - * // Create one OrganizationMember - * const OrganizationMember = await prisma.organizationMember.create({ + * // Create one Event + * const Event = await prisma.event.create({ * data: { - * // ... data to create a OrganizationMember + * // ... data to create a Event * } * }) * */ - create(args: SelectSubset>): Prisma__OrganizationMemberClient<$Result.GetResult, T, "create">, never, ExtArgs> + create(args: SelectSubset>): Prisma__EventClient<$Result.GetResult, T, "create">, never, ExtArgs> /** - * Create many OrganizationMembers. - * @param {OrganizationMemberCreateManyArgs} args - Arguments to create many OrganizationMembers. + * Create many Events. + * @param {EventCreateManyArgs} args - Arguments to create many Events. * @example - * // Create many OrganizationMembers - * const organizationMember = await prisma.organizationMember.createMany({ + * // Create many Events + * const event = await prisma.event.createMany({ * data: [ * // ... provide data here * ] * }) * */ - createMany(args?: SelectSubset>): Prisma.PrismaPromise + createMany(args?: SelectSubset>): Prisma.PrismaPromise /** - * Create many OrganizationMembers and returns the data saved in the database. - * @param {OrganizationMemberCreateManyAndReturnArgs} args - Arguments to create many OrganizationMembers. + * Create many Events and returns the data saved in the database. + * @param {EventCreateManyAndReturnArgs} args - Arguments to create many Events. * @example - * // Create many OrganizationMembers - * const organizationMember = await prisma.organizationMember.createManyAndReturn({ + * // Create many Events + * const event = await prisma.event.createManyAndReturn({ * data: [ * // ... provide data here * ] * }) * - * // Create many OrganizationMembers and only return the `id` - * const organizationMemberWithIdOnly = await prisma.organizationMember.createManyAndReturn({ + * // Create many Events and only return the `id` + * const eventWithIdOnly = await prisma.event.createManyAndReturn({ * select: { id: true }, * data: [ * // ... provide data here @@ -15059,28 +15103,28 @@ export namespace Prisma { * Read more here: https://pris.ly/d/null-undefined * */ - createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn">> + createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn">> /** - * Delete a OrganizationMember. - * @param {OrganizationMemberDeleteArgs} args - Arguments to delete one OrganizationMember. + * Delete a Event. + * @param {EventDeleteArgs} args - Arguments to delete one Event. * @example - * // Delete one OrganizationMember - * const OrganizationMember = await prisma.organizationMember.delete({ + * // Delete one Event + * const Event = await prisma.event.delete({ * where: { - * // ... filter to delete one OrganizationMember + * // ... filter to delete one Event * } * }) * */ - delete(args: SelectSubset>): Prisma__OrganizationMemberClient<$Result.GetResult, T, "delete">, never, ExtArgs> + delete(args: SelectSubset>): Prisma__EventClient<$Result.GetResult, T, "delete">, never, ExtArgs> /** - * Update one OrganizationMember. - * @param {OrganizationMemberUpdateArgs} args - Arguments to update one OrganizationMember. + * Update one Event. + * @param {EventUpdateArgs} args - Arguments to update one Event. * @example - * // Update one OrganizationMember - * const organizationMember = await prisma.organizationMember.update({ + * // Update one Event + * const event = await prisma.event.update({ * where: { * // ... provide filter here * }, @@ -15090,30 +15134,30 @@ export namespace Prisma { * }) * */ - update(args: SelectSubset>): Prisma__OrganizationMemberClient<$Result.GetResult, T, "update">, never, ExtArgs> + update(args: SelectSubset>): Prisma__EventClient<$Result.GetResult, T, "update">, never, ExtArgs> /** - * Delete zero or more OrganizationMembers. - * @param {OrganizationMemberDeleteManyArgs} args - Arguments to filter OrganizationMembers to delete. + * Delete zero or more Events. + * @param {EventDeleteManyArgs} args - Arguments to filter Events to delete. * @example - * // Delete a few OrganizationMembers - * const { count } = await prisma.organizationMember.deleteMany({ + * // Delete a few Events + * const { count } = await prisma.event.deleteMany({ * where: { * // ... provide filter here * } * }) * */ - deleteMany(args?: SelectSubset>): Prisma.PrismaPromise + deleteMany(args?: SelectSubset>): Prisma.PrismaPromise /** - * Update zero or more OrganizationMembers. + * Update zero or more Events. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined - * @param {OrganizationMemberUpdateManyArgs} args - Arguments to update one or more rows. + * @param {EventUpdateManyArgs} args - Arguments to update one or more rows. * @example - * // Update many OrganizationMembers - * const organizationMember = await prisma.organizationMember.updateMany({ + * // Update many Events + * const event = await prisma.event.updateMany({ * where: { * // ... provide filter here * }, @@ -15123,56 +15167,56 @@ export namespace Prisma { * }) * */ - updateMany(args: SelectSubset>): Prisma.PrismaPromise + updateMany(args: SelectSubset>): Prisma.PrismaPromise /** - * Create or update one OrganizationMember. - * @param {OrganizationMemberUpsertArgs} args - Arguments to update or create a OrganizationMember. + * Create or update one Event. + * @param {EventUpsertArgs} args - Arguments to update or create a Event. * @example - * // Update or create a OrganizationMember - * const organizationMember = await prisma.organizationMember.upsert({ + * // Update or create a Event + * const event = await prisma.event.upsert({ * create: { - * // ... data to create a OrganizationMember + * // ... data to create a Event * }, * update: { * // ... in case it already exists, update * }, * where: { - * // ... the filter for the OrganizationMember we want to update + * // ... the filter for the Event we want to update * } * }) */ - upsert(args: SelectSubset>): Prisma__OrganizationMemberClient<$Result.GetResult, T, "upsert">, never, ExtArgs> + upsert(args: SelectSubset>): Prisma__EventClient<$Result.GetResult, T, "upsert">, never, ExtArgs> /** - * Count the number of OrganizationMembers. + * Count the number of Events. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined - * @param {OrganizationMemberCountArgs} args - Arguments to filter OrganizationMembers to count. + * @param {EventCountArgs} args - Arguments to filter Events to count. * @example - * // Count the number of OrganizationMembers - * const count = await prisma.organizationMember.count({ + * // Count the number of Events + * const count = await prisma.event.count({ * where: { - * // ... the filter for the OrganizationMembers we want to count + * // ... the filter for the Events we want to count * } * }) **/ - count( - args?: Subset, + count( + args?: Subset, ): Prisma.PrismaPromise< T extends $Utils.Record<'select', any> ? T['select'] extends true ? number - : GetScalarType + : GetScalarType : number > /** - * Allows you to perform aggregations operations on a OrganizationMember. + * Allows you to perform aggregations operations on a Event. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined - * @param {OrganizationMemberAggregateArgs} args - Select which aggregations you would like to apply and on what fields. + * @param {EventAggregateArgs} args - Select which aggregations you would like to apply and on what fields. * @example * // Ordered by age ascending * // Where email contains prisma.io @@ -15192,13 +15236,13 @@ export namespace Prisma { * take: 10, * }) **/ - aggregate(args: Subset): Prisma.PrismaPromise> + aggregate(args: Subset): Prisma.PrismaPromise> /** - * Group by OrganizationMember. + * Group by Event. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined - * @param {OrganizationMemberGroupByArgs} args - Group by arguments. + * @param {EventGroupByArgs} args - Group by arguments. * @example * // Group by city, order by createdAt, get count * const result = await prisma.user.groupBy({ @@ -15213,14 +15257,937 @@ export namespace Prisma { * **/ groupBy< - T extends OrganizationMemberGroupByArgs, + T extends EventGroupByArgs, HasSelectOrTake extends Or< Extends<'skip', Keys>, Extends<'take', Keys> >, OrderByArg extends True extends HasSelectOrTake - ? { orderBy: OrganizationMemberGroupByArgs['orderBy'] } - : { orderBy?: OrganizationMemberGroupByArgs['orderBy'] }, + ? { orderBy: EventGroupByArgs['orderBy'] } + : { orderBy?: EventGroupByArgs['orderBy'] }, + OrderFields extends ExcludeUnderscoreKeys>>, + ByFields extends MaybeTupleToUnion, + ByValid extends Has, + HavingFields extends GetHavingFields, + HavingValid extends Has, + ByEmpty extends T['by'] extends never[] ? True : False, + InputErrors extends ByEmpty extends True + ? `Error: "by" must not be empty.` + : HavingValid extends False + ? { + [P in HavingFields]: P extends ByFields + ? never + : P extends string + ? `Error: Field "${P}" used in "having" needs to be provided in "by".` + : [ + Error, + 'Field ', + P, + ` in "having" needs to be provided in "by"`, + ] + }[HavingFields] + : 'take' extends Keys + ? 'orderBy' extends Keys + ? ByValid extends True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + : 'Error: If you provide "take", you also need to provide "orderBy"' + : 'skip' extends Keys + ? 'orderBy' extends Keys + ? ByValid extends True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + : 'Error: If you provide "skip", you also need to provide "orderBy"' + : ByValid extends True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetEventGroupByPayload : Prisma.PrismaPromise + /** + * Fields of the Event model + */ + readonly fields: EventFieldRefs; + } + + /** + * The delegate class that acts as a "Promise-like" for Event. + * Why is this prefixed with `Prisma__`? + * Because we want to prevent naming conflicts as mentioned in + * https://github.com/prisma/prisma-client-js/issues/707 + */ + export interface Prisma__EventClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + /** + * Attaches callbacks for the resolution and/or rejection of the Promise. + * @param onfulfilled The callback to execute when the Promise is resolved. + * @param onrejected The callback to execute when the Promise is rejected. + * @returns A Promise for the completion of which ever callback is executed. + */ + then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise + /** + * Attaches a callback for only the rejection of the Promise. + * @param onrejected The callback to execute when the Promise is rejected. + * @returns A Promise for the completion of the callback. + */ + catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise + /** + * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The + * resolved value cannot be modified from the callback. + * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). + * @returns A Promise for the completion of the callback. + */ + finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise + } + + + + + /** + * Fields of the Event model + */ + interface EventFieldRefs { + readonly id: FieldRef<"Event", 'String'> + readonly eventId: FieldRef<"Event", 'String'> + readonly streamId: FieldRef<"Event", 'String'> + readonly eventType: FieldRef<"Event", 'String'> + readonly payload: FieldRef<"Event", 'Json'> + readonly timestamp: FieldRef<"Event", 'DateTime'> + readonly hash: FieldRef<"Event", 'String'> + readonly previousHash: FieldRef<"Event", 'String'> + } + + + // Custom InputTypes + /** + * Event findUnique + */ + export type EventFindUniqueArgs = { + /** + * Select specific fields to fetch from the Event + */ + select?: EventSelect | null + /** + * Filter, which Event to fetch. + */ + where: EventWhereUniqueInput + } + + /** + * Event findUniqueOrThrow + */ + export type EventFindUniqueOrThrowArgs = { + /** + * Select specific fields to fetch from the Event + */ + select?: EventSelect | null + /** + * Filter, which Event to fetch. + */ + where: EventWhereUniqueInput + } + + /** + * Event findFirst + */ + export type EventFindFirstArgs = { + /** + * Select specific fields to fetch from the Event + */ + select?: EventSelect | null + /** + * Filter, which Event to fetch. + */ + where?: EventWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Events to fetch. + */ + orderBy?: EventOrderByWithRelationInput | EventOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for Events. + */ + cursor?: EventWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Events from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` Events. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of Events. + */ + distinct?: EventScalarFieldEnum | EventScalarFieldEnum[] + } + + /** + * Event findFirstOrThrow + */ + export type EventFindFirstOrThrowArgs = { + /** + * Select specific fields to fetch from the Event + */ + select?: EventSelect | null + /** + * Filter, which Event to fetch. + */ + where?: EventWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Events to fetch. + */ + orderBy?: EventOrderByWithRelationInput | EventOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for Events. + */ + cursor?: EventWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Events from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` Events. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of Events. + */ + distinct?: EventScalarFieldEnum | EventScalarFieldEnum[] + } + + /** + * Event findMany + */ + export type EventFindManyArgs = { + /** + * Select specific fields to fetch from the Event + */ + select?: EventSelect | null + /** + * Filter, which Events to fetch. + */ + where?: EventWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Events to fetch. + */ + orderBy?: EventOrderByWithRelationInput | EventOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for listing Events. + */ + cursor?: EventWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Events from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` Events. + */ + skip?: number + distinct?: EventScalarFieldEnum | EventScalarFieldEnum[] + } + + /** + * Event create + */ + export type EventCreateArgs = { + /** + * Select specific fields to fetch from the Event + */ + select?: EventSelect | null + /** + * The data needed to create a Event. + */ + data: XOR + } + + /** + * Event createMany + */ + export type EventCreateManyArgs = { + /** + * The data used to create many Events. + */ + data: EventCreateManyInput | EventCreateManyInput[] + skipDuplicates?: boolean + } + + /** + * Event createManyAndReturn + */ + export type EventCreateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the Event + */ + select?: EventSelectCreateManyAndReturn | null + /** + * The data used to create many Events. + */ + data: EventCreateManyInput | EventCreateManyInput[] + skipDuplicates?: boolean + } + + /** + * Event update + */ + export type EventUpdateArgs = { + /** + * Select specific fields to fetch from the Event + */ + select?: EventSelect | null + /** + * The data needed to update a Event. + */ + data: XOR + /** + * Choose, which Event to update. + */ + where: EventWhereUniqueInput + } + + /** + * Event updateMany + */ + export type EventUpdateManyArgs = { + /** + * The data used to update Events. + */ + data: XOR + /** + * Filter which Events to update + */ + where?: EventWhereInput + } + + /** + * Event upsert + */ + export type EventUpsertArgs = { + /** + * Select specific fields to fetch from the Event + */ + select?: EventSelect | null + /** + * The filter to search for the Event to update in case it exists. + */ + where: EventWhereUniqueInput + /** + * In case the Event found by the `where` argument doesn't exist, create a new Event with this data. + */ + create: XOR + /** + * In case the Event was found with the provided `where` argument, update it with this data. + */ + update: XOR + } + + /** + * Event delete + */ + export type EventDeleteArgs = { + /** + * Select specific fields to fetch from the Event + */ + select?: EventSelect | null + /** + * Filter which Event to delete. + */ + where: EventWhereUniqueInput + } + + /** + * Event deleteMany + */ + export type EventDeleteManyArgs = { + /** + * Filter which Events to delete + */ + where?: EventWhereInput + } + + /** + * Event without action + */ + export type EventDefaultArgs = { + /** + * Select specific fields to fetch from the Event + */ + select?: EventSelect | null + } + + + /** + * Model OrganizationMember + */ + + export type AggregateOrganizationMember = { + _count: OrganizationMemberCountAggregateOutputType | null + _min: OrganizationMemberMinAggregateOutputType | null + _max: OrganizationMemberMaxAggregateOutputType | null + } + + export type OrganizationMemberMinAggregateOutputType = { + id: string | null + orgAddress: string | null + memberAddress: string | null + role: $Enums.OrgRole | null + addedBy: string | null + isActive: boolean | null + createdAt: Date | null + updatedAt: Date | null + } + + export type OrganizationMemberMaxAggregateOutputType = { + id: string | null + orgAddress: string | null + memberAddress: string | null + role: $Enums.OrgRole | null + addedBy: string | null + isActive: boolean | null + createdAt: Date | null + updatedAt: Date | null + } + + export type OrganizationMemberCountAggregateOutputType = { + id: number + orgAddress: number + memberAddress: number + role: number + addedBy: number + isActive: number + createdAt: number + updatedAt: number + _all: number + } + + + export type OrganizationMemberMinAggregateInputType = { + id?: true + orgAddress?: true + memberAddress?: true + role?: true + addedBy?: true + isActive?: true + createdAt?: true + updatedAt?: true + } + + export type OrganizationMemberMaxAggregateInputType = { + id?: true + orgAddress?: true + memberAddress?: true + role?: true + addedBy?: true + isActive?: true + createdAt?: true + updatedAt?: true + } + + export type OrganizationMemberCountAggregateInputType = { + id?: true + orgAddress?: true + memberAddress?: true + role?: true + addedBy?: true + isActive?: true + createdAt?: true + updatedAt?: true + _all?: true + } + + export type OrganizationMemberAggregateArgs = { + /** + * Filter which OrganizationMember to aggregate. + */ + where?: OrganizationMemberWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of OrganizationMembers to fetch. + */ + orderBy?: OrganizationMemberOrderByWithRelationInput | OrganizationMemberOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the start position + */ + cursor?: OrganizationMemberWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` OrganizationMembers from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` OrganizationMembers. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Count returned OrganizationMembers + **/ + _count?: true | OrganizationMemberCountAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the minimum value + **/ + _min?: OrganizationMemberMinAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the maximum value + **/ + _max?: OrganizationMemberMaxAggregateInputType + } + + export type GetOrganizationMemberAggregateType = { + [P in keyof T & keyof AggregateOrganizationMember]: P extends '_count' | 'count' + ? T[P] extends true + ? number + : GetScalarType + : GetScalarType + } + + + + + export type OrganizationMemberGroupByArgs = { + where?: OrganizationMemberWhereInput + orderBy?: OrganizationMemberOrderByWithAggregationInput | OrganizationMemberOrderByWithAggregationInput[] + by: OrganizationMemberScalarFieldEnum[] | OrganizationMemberScalarFieldEnum + having?: OrganizationMemberScalarWhereWithAggregatesInput + take?: number + skip?: number + _count?: OrganizationMemberCountAggregateInputType | true + _min?: OrganizationMemberMinAggregateInputType + _max?: OrganizationMemberMaxAggregateInputType + } + + export type OrganizationMemberGroupByOutputType = { + id: string + orgAddress: string + memberAddress: string + role: $Enums.OrgRole + addedBy: string + isActive: boolean + createdAt: Date + updatedAt: Date + _count: OrganizationMemberCountAggregateOutputType | null + _min: OrganizationMemberMinAggregateOutputType | null + _max: OrganizationMemberMaxAggregateOutputType | null + } + + type GetOrganizationMemberGroupByPayload = Prisma.PrismaPromise< + Array< + PickEnumerable & + { + [P in ((keyof T) & (keyof OrganizationMemberGroupByOutputType))]: P extends '_count' + ? T[P] extends boolean + ? number + : GetScalarType + : GetScalarType + } + > + > + + + export type OrganizationMemberSelect = $Extensions.GetSelect<{ + id?: boolean + orgAddress?: boolean + memberAddress?: boolean + role?: boolean + addedBy?: boolean + isActive?: boolean + createdAt?: boolean + updatedAt?: boolean + }, ExtArgs["result"]["organizationMember"]> + + export type OrganizationMemberSelectCreateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + orgAddress?: boolean + memberAddress?: boolean + role?: boolean + addedBy?: boolean + isActive?: boolean + createdAt?: boolean + updatedAt?: boolean + }, ExtArgs["result"]["organizationMember"]> + + export type OrganizationMemberSelectScalar = { + id?: boolean + orgAddress?: boolean + memberAddress?: boolean + role?: boolean + addedBy?: boolean + isActive?: boolean + createdAt?: boolean + updatedAt?: boolean + } + + + export type $OrganizationMemberPayload = { + name: "OrganizationMember" + objects: {} + scalars: $Extensions.GetPayloadResult<{ + id: string + /** + * The shared G-address that represents the organisation + */ + orgAddress: string + /** + * The individual member's Stellar G-address + */ + memberAddress: string + role: $Enums.OrgRole + /** + * Who granted this membership + */ + addedBy: string + isActive: boolean + createdAt: Date + updatedAt: Date + }, ExtArgs["result"]["organizationMember"]> + composites: {} + } + + type OrganizationMemberGetPayload = $Result.GetResult + + type OrganizationMemberCountArgs = + Omit & { + select?: OrganizationMemberCountAggregateInputType | true + } + + export interface OrganizationMemberDelegate { + [K: symbol]: { types: Prisma.TypeMap['model']['OrganizationMember'], meta: { name: 'OrganizationMember' } } + /** + * Find zero or one OrganizationMember that matches the filter. + * @param {OrganizationMemberFindUniqueArgs} args - Arguments to find a OrganizationMember + * @example + * // Get one OrganizationMember + * const organizationMember = await prisma.organizationMember.findUnique({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUnique(args: SelectSubset>): Prisma__OrganizationMemberClient<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> + + /** + * Find one OrganizationMember that matches the filter or throw an error with `error.code='P2025'` + * if no matches were found. + * @param {OrganizationMemberFindUniqueOrThrowArgs} args - Arguments to find a OrganizationMember + * @example + * // Get one OrganizationMember + * const organizationMember = await prisma.organizationMember.findUniqueOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUniqueOrThrow(args: SelectSubset>): Prisma__OrganizationMemberClient<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> + + /** + * Find the first OrganizationMember that matches the filter. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {OrganizationMemberFindFirstArgs} args - Arguments to find a OrganizationMember + * @example + * // Get one OrganizationMember + * const organizationMember = await prisma.organizationMember.findFirst({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirst(args?: SelectSubset>): Prisma__OrganizationMemberClient<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> + + /** + * Find the first OrganizationMember that matches the filter or + * throw `PrismaKnownClientError` with `P2025` code if no matches were found. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {OrganizationMemberFindFirstOrThrowArgs} args - Arguments to find a OrganizationMember + * @example + * // Get one OrganizationMember + * const organizationMember = await prisma.organizationMember.findFirstOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirstOrThrow(args?: SelectSubset>): Prisma__OrganizationMemberClient<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> + + /** + * Find zero or more OrganizationMembers that matches the filter. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {OrganizationMemberFindManyArgs} args - Arguments to filter and select certain fields only. + * @example + * // Get all OrganizationMembers + * const organizationMembers = await prisma.organizationMember.findMany() + * + * // Get first 10 OrganizationMembers + * const organizationMembers = await prisma.organizationMember.findMany({ take: 10 }) + * + * // Only select the `id` + * const organizationMemberWithIdOnly = await prisma.organizationMember.findMany({ select: { id: true } }) + * + */ + findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> + + /** + * Create a OrganizationMember. + * @param {OrganizationMemberCreateArgs} args - Arguments to create a OrganizationMember. + * @example + * // Create one OrganizationMember + * const OrganizationMember = await prisma.organizationMember.create({ + * data: { + * // ... data to create a OrganizationMember + * } + * }) + * + */ + create(args: SelectSubset>): Prisma__OrganizationMemberClient<$Result.GetResult, T, "create">, never, ExtArgs> + + /** + * Create many OrganizationMembers. + * @param {OrganizationMemberCreateManyArgs} args - Arguments to create many OrganizationMembers. + * @example + * // Create many OrganizationMembers + * const organizationMember = await prisma.organizationMember.createMany({ + * data: [ + * // ... provide data here + * ] + * }) + * + */ + createMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Create many OrganizationMembers and returns the data saved in the database. + * @param {OrganizationMemberCreateManyAndReturnArgs} args - Arguments to create many OrganizationMembers. + * @example + * // Create many OrganizationMembers + * const organizationMember = await prisma.organizationMember.createManyAndReturn({ + * data: [ + * // ... provide data here + * ] + * }) + * + * // Create many OrganizationMembers and only return the `id` + * const organizationMemberWithIdOnly = await prisma.organizationMember.createManyAndReturn({ + * select: { id: true }, + * data: [ + * // ... provide data here + * ] + * }) + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * + */ + createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn">> + + /** + * Delete a OrganizationMember. + * @param {OrganizationMemberDeleteArgs} args - Arguments to delete one OrganizationMember. + * @example + * // Delete one OrganizationMember + * const OrganizationMember = await prisma.organizationMember.delete({ + * where: { + * // ... filter to delete one OrganizationMember + * } + * }) + * + */ + delete(args: SelectSubset>): Prisma__OrganizationMemberClient<$Result.GetResult, T, "delete">, never, ExtArgs> + + /** + * Update one OrganizationMember. + * @param {OrganizationMemberUpdateArgs} args - Arguments to update one OrganizationMember. + * @example + * // Update one OrganizationMember + * const organizationMember = await prisma.organizationMember.update({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + update(args: SelectSubset>): Prisma__OrganizationMemberClient<$Result.GetResult, T, "update">, never, ExtArgs> + + /** + * Delete zero or more OrganizationMembers. + * @param {OrganizationMemberDeleteManyArgs} args - Arguments to filter OrganizationMembers to delete. + * @example + * // Delete a few OrganizationMembers + * const { count } = await prisma.organizationMember.deleteMany({ + * where: { + * // ... provide filter here + * } + * }) + * + */ + deleteMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more OrganizationMembers. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {OrganizationMemberUpdateManyArgs} args - Arguments to update one or more rows. + * @example + * // Update many OrganizationMembers + * const organizationMember = await prisma.organizationMember.updateMany({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + updateMany(args: SelectSubset>): Prisma.PrismaPromise + + /** + * Create or update one OrganizationMember. + * @param {OrganizationMemberUpsertArgs} args - Arguments to update or create a OrganizationMember. + * @example + * // Update or create a OrganizationMember + * const organizationMember = await prisma.organizationMember.upsert({ + * create: { + * // ... data to create a OrganizationMember + * }, + * update: { + * // ... in case it already exists, update + * }, + * where: { + * // ... the filter for the OrganizationMember we want to update + * } + * }) + */ + upsert(args: SelectSubset>): Prisma__OrganizationMemberClient<$Result.GetResult, T, "upsert">, never, ExtArgs> + + + /** + * Count the number of OrganizationMembers. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {OrganizationMemberCountArgs} args - Arguments to filter OrganizationMembers to count. + * @example + * // Count the number of OrganizationMembers + * const count = await prisma.organizationMember.count({ + * where: { + * // ... the filter for the OrganizationMembers we want to count + * } + * }) + **/ + count( + args?: Subset, + ): Prisma.PrismaPromise< + T extends $Utils.Record<'select', any> + ? T['select'] extends true + ? number + : GetScalarType + : number + > + + /** + * Allows you to perform aggregations operations on a OrganizationMember. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {OrganizationMemberAggregateArgs} args - Select which aggregations you would like to apply and on what fields. + * @example + * // Ordered by age ascending + * // Where email contains prisma.io + * // Limited to the 10 users + * const aggregations = await prisma.user.aggregate({ + * _avg: { + * age: true, + * }, + * where: { + * email: { + * contains: "prisma.io", + * }, + * }, + * orderBy: { + * age: "asc", + * }, + * take: 10, + * }) + **/ + aggregate(args: Subset): Prisma.PrismaPromise> + + /** + * Group by OrganizationMember. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {OrganizationMemberGroupByArgs} args - Group by arguments. + * @example + * // Group by city, order by createdAt, get count + * const result = await prisma.user.groupBy({ + * by: ['city', 'createdAt'], + * orderBy: { + * createdAt: true + * }, + * _count: { + * _all: true + * }, + * }) + * + **/ + groupBy< + T extends OrganizationMemberGroupByArgs, + HasSelectOrTake extends Or< + Extends<'skip', Keys>, + Extends<'take', Keys> + >, + OrderByArg extends True extends HasSelectOrTake + ? { orderBy: OrganizationMemberGroupByArgs['orderBy'] } + : { orderBy?: OrganizationMemberGroupByArgs['orderBy'] }, OrderFields extends ExcludeUnderscoreKeys>>, ByFields extends MaybeTupleToUnion, ByValid extends Has, @@ -23044,6 +24011,10 @@ export namespace Prisma { imageUrl: string | null decimals: number | null isVerified: boolean | null + stellarExpertVerified: boolean | null + tomlUrl: string | null + orgVerified: boolean | null + orgHomeDomain: string | null lastFetchedAt: Date | null createdAt: Date | null updatedAt: Date | null @@ -23058,6 +24029,10 @@ export namespace Prisma { imageUrl: string | null decimals: number | null isVerified: boolean | null + stellarExpertVerified: boolean | null + tomlUrl: string | null + orgVerified: boolean | null + orgHomeDomain: string | null lastFetchedAt: Date | null createdAt: Date | null updatedAt: Date | null @@ -23072,6 +24047,10 @@ export namespace Prisma { imageUrl: number decimals: number isVerified: number + stellarExpertVerified: number + tomlUrl: number + orgVerified: number + orgHomeDomain: number lastFetchedAt: number createdAt: number updatedAt: number @@ -23096,6 +24075,10 @@ export namespace Prisma { imageUrl?: true decimals?: true isVerified?: true + stellarExpertVerified?: true + tomlUrl?: true + orgVerified?: true + orgHomeDomain?: true lastFetchedAt?: true createdAt?: true updatedAt?: true @@ -23110,6 +24093,10 @@ export namespace Prisma { imageUrl?: true decimals?: true isVerified?: true + stellarExpertVerified?: true + tomlUrl?: true + orgVerified?: true + orgHomeDomain?: true lastFetchedAt?: true createdAt?: true updatedAt?: true @@ -23124,6 +24111,10 @@ export namespace Prisma { imageUrl?: true decimals?: true isVerified?: true + stellarExpertVerified?: true + tomlUrl?: true + orgVerified?: true + orgHomeDomain?: true lastFetchedAt?: true createdAt?: true updatedAt?: true @@ -23225,6 +24216,10 @@ export namespace Prisma { imageUrl: string | null decimals: number isVerified: boolean + stellarExpertVerified: boolean + tomlUrl: string | null + orgVerified: boolean + orgHomeDomain: string | null lastFetchedAt: Date | null createdAt: Date updatedAt: Date @@ -23258,6 +24253,10 @@ export namespace Prisma { imageUrl?: boolean decimals?: boolean isVerified?: boolean + stellarExpertVerified?: boolean + tomlUrl?: boolean + orgVerified?: boolean + orgHomeDomain?: boolean lastFetchedAt?: boolean createdAt?: boolean updatedAt?: boolean @@ -23272,6 +24271,10 @@ export namespace Prisma { imageUrl?: boolean decimals?: boolean isVerified?: boolean + stellarExpertVerified?: boolean + tomlUrl?: boolean + orgVerified?: boolean + orgHomeDomain?: boolean lastFetchedAt?: boolean createdAt?: boolean updatedAt?: boolean @@ -23286,6 +24289,10 @@ export namespace Prisma { imageUrl?: boolean decimals?: boolean isVerified?: boolean + stellarExpertVerified?: boolean + tomlUrl?: boolean + orgVerified?: boolean + orgHomeDomain?: boolean lastFetchedAt?: boolean createdAt?: boolean updatedAt?: boolean @@ -23304,6 +24311,10 @@ export namespace Prisma { imageUrl: string | null decimals: number isVerified: boolean + stellarExpertVerified: boolean + tomlUrl: string | null + orgVerified: boolean + orgHomeDomain: string | null lastFetchedAt: Date | null createdAt: Date updatedAt: Date @@ -23708,6 +24719,10 @@ export namespace Prisma { readonly imageUrl: FieldRef<"Asset", 'String'> readonly decimals: FieldRef<"Asset", 'Int'> readonly isVerified: FieldRef<"Asset", 'Boolean'> + readonly stellarExpertVerified: FieldRef<"Asset", 'Boolean'> + readonly tomlUrl: FieldRef<"Asset", 'String'> + readonly orgVerified: FieldRef<"Asset", 'Boolean'> + readonly orgHomeDomain: FieldRef<"Asset", 'String'> readonly lastFetchedAt: FieldRef<"Asset", 'DateTime'> readonly createdAt: FieldRef<"Asset", 'DateTime'> readonly updatedAt: FieldRef<"Asset", 'DateTime'> @@ -25980,347 +26995,431 @@ export namespace Prisma { /** - * Model Disbursement + * Model ArchivedDisbursement */ - export type AggregateDisbursement = { - _count: DisbursementCountAggregateOutputType | null - _min: DisbursementMinAggregateOutputType | null - _max: DisbursementMaxAggregateOutputType | null + export type AggregateArchivedDisbursement = { + _count: ArchivedDisbursementCountAggregateOutputType | null + _avg: ArchivedDisbursementAvgAggregateOutputType | null + _sum: ArchivedDisbursementSumAggregateOutputType | null + _min: ArchivedDisbursementMinAggregateOutputType | null + _max: ArchivedDisbursementMaxAggregateOutputType | null } - export type DisbursementMinAggregateOutputType = { + export type ArchivedDisbursementAvgAggregateOutputType = { + amount: number | null + originalLedger: number | null + } + + export type ArchivedDisbursementSumAggregateOutputType = { + amount: bigint | null + originalLedger: number | null + } + + export type ArchivedDisbursementMinAggregateOutputType = { id: string | null - senderAddress: string | null - totalAmount: string | null - asset: string | null + streamId: string | null txHash: string | null - createdAt: Date | null + sender: string | null + receiver: string | null + amount: bigint | null + tokenAddress: string | null + status: string | null + completedAt: Date | null + archivedAt: Date | null + originalLedger: number | null } - export type DisbursementMaxAggregateOutputType = { + export type ArchivedDisbursementMaxAggregateOutputType = { id: string | null - senderAddress: string | null - totalAmount: string | null - asset: string | null + streamId: string | null txHash: string | null - createdAt: Date | null + sender: string | null + receiver: string | null + amount: bigint | null + tokenAddress: string | null + status: string | null + completedAt: Date | null + archivedAt: Date | null + originalLedger: number | null } - export type DisbursementCountAggregateOutputType = { + export type ArchivedDisbursementCountAggregateOutputType = { id: number - senderAddress: number - totalAmount: number - asset: number + streamId: number txHash: number - createdAt: number + sender: number + receiver: number + amount: number + tokenAddress: number + status: number + completedAt: number + archivedAt: number + originalLedger: number _all: number } - export type DisbursementMinAggregateInputType = { + export type ArchivedDisbursementAvgAggregateInputType = { + amount?: true + originalLedger?: true + } + + export type ArchivedDisbursementSumAggregateInputType = { + amount?: true + originalLedger?: true + } + + export type ArchivedDisbursementMinAggregateInputType = { id?: true - senderAddress?: true - totalAmount?: true - asset?: true + streamId?: true txHash?: true - createdAt?: true + sender?: true + receiver?: true + amount?: true + tokenAddress?: true + status?: true + completedAt?: true + archivedAt?: true + originalLedger?: true } - export type DisbursementMaxAggregateInputType = { + export type ArchivedDisbursementMaxAggregateInputType = { id?: true - senderAddress?: true - totalAmount?: true - asset?: true + streamId?: true txHash?: true - createdAt?: true + sender?: true + receiver?: true + amount?: true + tokenAddress?: true + status?: true + completedAt?: true + archivedAt?: true + originalLedger?: true } - export type DisbursementCountAggregateInputType = { + export type ArchivedDisbursementCountAggregateInputType = { id?: true - senderAddress?: true - totalAmount?: true - asset?: true + streamId?: true txHash?: true - createdAt?: true + sender?: true + receiver?: true + amount?: true + tokenAddress?: true + status?: true + completedAt?: true + archivedAt?: true + originalLedger?: true _all?: true } - export type DisbursementAggregateArgs = { + export type ArchivedDisbursementAggregateArgs = { /** - * Filter which Disbursement to aggregate. + * Filter which ArchivedDisbursement to aggregate. */ - where?: DisbursementWhereInput + where?: ArchivedDisbursementWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * - * Determine the order of Disbursements to fetch. + * Determine the order of ArchivedDisbursements to fetch. */ - orderBy?: DisbursementOrderByWithRelationInput | DisbursementOrderByWithRelationInput[] + orderBy?: ArchivedDisbursementOrderByWithRelationInput | ArchivedDisbursementOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the start position */ - cursor?: DisbursementWhereUniqueInput + cursor?: ArchivedDisbursementWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * - * Take `±n` Disbursements from the position of the cursor. + * Take `±n` ArchivedDisbursements from the position of the cursor. */ take?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * - * Skip the first `n` Disbursements. + * Skip the first `n` ArchivedDisbursements. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * - * Count returned Disbursements + * Count returned ArchivedDisbursements **/ - _count?: true | DisbursementCountAggregateInputType + _count?: true | ArchivedDisbursementCountAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to average + **/ + _avg?: ArchivedDisbursementAvgAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to sum + **/ + _sum?: ArchivedDisbursementSumAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the minimum value **/ - _min?: DisbursementMinAggregateInputType + _min?: ArchivedDisbursementMinAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the maximum value **/ - _max?: DisbursementMaxAggregateInputType + _max?: ArchivedDisbursementMaxAggregateInputType } - export type GetDisbursementAggregateType = { - [P in keyof T & keyof AggregateDisbursement]: P extends '_count' | 'count' + export type GetArchivedDisbursementAggregateType = { + [P in keyof T & keyof AggregateArchivedDisbursement]: P extends '_count' | 'count' ? T[P] extends true ? number - : GetScalarType - : GetScalarType + : GetScalarType + : GetScalarType } - export type DisbursementGroupByArgs = { - where?: DisbursementWhereInput - orderBy?: DisbursementOrderByWithAggregationInput | DisbursementOrderByWithAggregationInput[] - by: DisbursementScalarFieldEnum[] | DisbursementScalarFieldEnum - having?: DisbursementScalarWhereWithAggregatesInput + export type ArchivedDisbursementGroupByArgs = { + where?: ArchivedDisbursementWhereInput + orderBy?: ArchivedDisbursementOrderByWithAggregationInput | ArchivedDisbursementOrderByWithAggregationInput[] + by: ArchivedDisbursementScalarFieldEnum[] | ArchivedDisbursementScalarFieldEnum + having?: ArchivedDisbursementScalarWhereWithAggregatesInput take?: number skip?: number - _count?: DisbursementCountAggregateInputType | true - _min?: DisbursementMinAggregateInputType - _max?: DisbursementMaxAggregateInputType + _count?: ArchivedDisbursementCountAggregateInputType | true + _avg?: ArchivedDisbursementAvgAggregateInputType + _sum?: ArchivedDisbursementSumAggregateInputType + _min?: ArchivedDisbursementMinAggregateInputType + _max?: ArchivedDisbursementMaxAggregateInputType } - export type DisbursementGroupByOutputType = { + export type ArchivedDisbursementGroupByOutputType = { id: string - senderAddress: string - totalAmount: string - asset: string + streamId: string txHash: string - createdAt: Date - _count: DisbursementCountAggregateOutputType | null - _min: DisbursementMinAggregateOutputType | null - _max: DisbursementMaxAggregateOutputType | null + sender: string + receiver: string + amount: bigint + tokenAddress: string + status: string + completedAt: Date + archivedAt: Date + originalLedger: number + _count: ArchivedDisbursementCountAggregateOutputType | null + _avg: ArchivedDisbursementAvgAggregateOutputType | null + _sum: ArchivedDisbursementSumAggregateOutputType | null + _min: ArchivedDisbursementMinAggregateOutputType | null + _max: ArchivedDisbursementMaxAggregateOutputType | null } - type GetDisbursementGroupByPayload = Prisma.PrismaPromise< + type GetArchivedDisbursementGroupByPayload = Prisma.PrismaPromise< Array< - PickEnumerable & + PickEnumerable & { - [P in ((keyof T) & (keyof DisbursementGroupByOutputType))]: P extends '_count' + [P in ((keyof T) & (keyof ArchivedDisbursementGroupByOutputType))]: P extends '_count' ? T[P] extends boolean ? number - : GetScalarType - : GetScalarType + : GetScalarType + : GetScalarType } > > - export type DisbursementSelect = $Extensions.GetSelect<{ + export type ArchivedDisbursementSelect = $Extensions.GetSelect<{ id?: boolean - senderAddress?: boolean - totalAmount?: boolean - asset?: boolean + streamId?: boolean txHash?: boolean - createdAt?: boolean - recipients?: boolean | Disbursement$recipientsArgs - _count?: boolean | DisbursementCountOutputTypeDefaultArgs - }, ExtArgs["result"]["disbursement"]> + sender?: boolean + receiver?: boolean + amount?: boolean + tokenAddress?: boolean + status?: boolean + completedAt?: boolean + archivedAt?: boolean + originalLedger?: boolean + }, ExtArgs["result"]["archivedDisbursement"]> - export type DisbursementSelectCreateManyAndReturn = $Extensions.GetSelect<{ + export type ArchivedDisbursementSelectCreateManyAndReturn = $Extensions.GetSelect<{ id?: boolean - senderAddress?: boolean - totalAmount?: boolean - asset?: boolean + streamId?: boolean txHash?: boolean - createdAt?: boolean - }, ExtArgs["result"]["disbursement"]> + sender?: boolean + receiver?: boolean + amount?: boolean + tokenAddress?: boolean + status?: boolean + completedAt?: boolean + archivedAt?: boolean + originalLedger?: boolean + }, ExtArgs["result"]["archivedDisbursement"]> - export type DisbursementSelectScalar = { + export type ArchivedDisbursementSelectScalar = { id?: boolean - senderAddress?: boolean - totalAmount?: boolean - asset?: boolean + streamId?: boolean txHash?: boolean - createdAt?: boolean + sender?: boolean + receiver?: boolean + amount?: boolean + tokenAddress?: boolean + status?: boolean + completedAt?: boolean + archivedAt?: boolean + originalLedger?: boolean } - export type DisbursementInclude = { - recipients?: boolean | Disbursement$recipientsArgs - _count?: boolean | DisbursementCountOutputTypeDefaultArgs - } - export type DisbursementIncludeCreateManyAndReturn = {} - export type $DisbursementPayload = { - name: "Disbursement" - objects: { - recipients: Prisma.$SplitRecipientPayload[] - } + export type $ArchivedDisbursementPayload = { + name: "ArchivedDisbursement" + objects: {} scalars: $Extensions.GetPayloadResult<{ id: string - senderAddress: string - totalAmount: string - asset: string + streamId: string txHash: string - createdAt: Date - }, ExtArgs["result"]["disbursement"]> + sender: string + receiver: string + amount: bigint + tokenAddress: string + status: string + completedAt: Date + archivedAt: Date + originalLedger: number + }, ExtArgs["result"]["archivedDisbursement"]> composites: {} } - type DisbursementGetPayload = $Result.GetResult + type ArchivedDisbursementGetPayload = $Result.GetResult - type DisbursementCountArgs = - Omit & { - select?: DisbursementCountAggregateInputType | true + type ArchivedDisbursementCountArgs = + Omit & { + select?: ArchivedDisbursementCountAggregateInputType | true } - export interface DisbursementDelegate { - [K: symbol]: { types: Prisma.TypeMap['model']['Disbursement'], meta: { name: 'Disbursement' } } - /** - * Find zero or one Disbursement that matches the filter. - * @param {DisbursementFindUniqueArgs} args - Arguments to find a Disbursement + export interface ArchivedDisbursementDelegate { + [K: symbol]: { types: Prisma.TypeMap['model']['ArchivedDisbursement'], meta: { name: 'ArchivedDisbursement' } } + /** + * Find zero or one ArchivedDisbursement that matches the filter. + * @param {ArchivedDisbursementFindUniqueArgs} args - Arguments to find a ArchivedDisbursement * @example - * // Get one Disbursement - * const disbursement = await prisma.disbursement.findUnique({ + * // Get one ArchivedDisbursement + * const archivedDisbursement = await prisma.archivedDisbursement.findUnique({ * where: { * // ... provide filter here * } * }) */ - findUnique(args: SelectSubset>): Prisma__DisbursementClient<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> + findUnique(args: SelectSubset>): Prisma__ArchivedDisbursementClient<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> /** - * Find one Disbursement that matches the filter or throw an error with `error.code='P2025'` + * Find one ArchivedDisbursement that matches the filter or throw an error with `error.code='P2025'` * if no matches were found. - * @param {DisbursementFindUniqueOrThrowArgs} args - Arguments to find a Disbursement + * @param {ArchivedDisbursementFindUniqueOrThrowArgs} args - Arguments to find a ArchivedDisbursement * @example - * // Get one Disbursement - * const disbursement = await prisma.disbursement.findUniqueOrThrow({ + * // Get one ArchivedDisbursement + * const archivedDisbursement = await prisma.archivedDisbursement.findUniqueOrThrow({ * where: { * // ... provide filter here * } * }) */ - findUniqueOrThrow(args: SelectSubset>): Prisma__DisbursementClient<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> + findUniqueOrThrow(args: SelectSubset>): Prisma__ArchivedDisbursementClient<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> /** - * Find the first Disbursement that matches the filter. + * Find the first ArchivedDisbursement that matches the filter. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined - * @param {DisbursementFindFirstArgs} args - Arguments to find a Disbursement + * @param {ArchivedDisbursementFindFirstArgs} args - Arguments to find a ArchivedDisbursement * @example - * // Get one Disbursement - * const disbursement = await prisma.disbursement.findFirst({ + * // Get one ArchivedDisbursement + * const archivedDisbursement = await prisma.archivedDisbursement.findFirst({ * where: { * // ... provide filter here * } * }) */ - findFirst(args?: SelectSubset>): Prisma__DisbursementClient<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> + findFirst(args?: SelectSubset>): Prisma__ArchivedDisbursementClient<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> /** - * Find the first Disbursement that matches the filter or + * Find the first ArchivedDisbursement that matches the filter or * throw `PrismaKnownClientError` with `P2025` code if no matches were found. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined - * @param {DisbursementFindFirstOrThrowArgs} args - Arguments to find a Disbursement + * @param {ArchivedDisbursementFindFirstOrThrowArgs} args - Arguments to find a ArchivedDisbursement * @example - * // Get one Disbursement - * const disbursement = await prisma.disbursement.findFirstOrThrow({ + * // Get one ArchivedDisbursement + * const archivedDisbursement = await prisma.archivedDisbursement.findFirstOrThrow({ * where: { * // ... provide filter here * } * }) */ - findFirstOrThrow(args?: SelectSubset>): Prisma__DisbursementClient<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> + findFirstOrThrow(args?: SelectSubset>): Prisma__ArchivedDisbursementClient<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> /** - * Find zero or more Disbursements that matches the filter. + * Find zero or more ArchivedDisbursements that matches the filter. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined - * @param {DisbursementFindManyArgs} args - Arguments to filter and select certain fields only. + * @param {ArchivedDisbursementFindManyArgs} args - Arguments to filter and select certain fields only. * @example - * // Get all Disbursements - * const disbursements = await prisma.disbursement.findMany() + * // Get all ArchivedDisbursements + * const archivedDisbursements = await prisma.archivedDisbursement.findMany() * - * // Get first 10 Disbursements - * const disbursements = await prisma.disbursement.findMany({ take: 10 }) + * // Get first 10 ArchivedDisbursements + * const archivedDisbursements = await prisma.archivedDisbursement.findMany({ take: 10 }) * * // Only select the `id` - * const disbursementWithIdOnly = await prisma.disbursement.findMany({ select: { id: true } }) + * const archivedDisbursementWithIdOnly = await prisma.archivedDisbursement.findMany({ select: { id: true } }) * */ - findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> + findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> /** - * Create a Disbursement. - * @param {DisbursementCreateArgs} args - Arguments to create a Disbursement. + * Create a ArchivedDisbursement. + * @param {ArchivedDisbursementCreateArgs} args - Arguments to create a ArchivedDisbursement. * @example - * // Create one Disbursement - * const Disbursement = await prisma.disbursement.create({ + * // Create one ArchivedDisbursement + * const ArchivedDisbursement = await prisma.archivedDisbursement.create({ * data: { - * // ... data to create a Disbursement + * // ... data to create a ArchivedDisbursement * } * }) * */ - create(args: SelectSubset>): Prisma__DisbursementClient<$Result.GetResult, T, "create">, never, ExtArgs> + create(args: SelectSubset>): Prisma__ArchivedDisbursementClient<$Result.GetResult, T, "create">, never, ExtArgs> /** - * Create many Disbursements. - * @param {DisbursementCreateManyArgs} args - Arguments to create many Disbursements. + * Create many ArchivedDisbursements. + * @param {ArchivedDisbursementCreateManyArgs} args - Arguments to create many ArchivedDisbursements. * @example - * // Create many Disbursements - * const disbursement = await prisma.disbursement.createMany({ + * // Create many ArchivedDisbursements + * const archivedDisbursement = await prisma.archivedDisbursement.createMany({ * data: [ * // ... provide data here * ] * }) * */ - createMany(args?: SelectSubset>): Prisma.PrismaPromise + createMany(args?: SelectSubset>): Prisma.PrismaPromise /** - * Create many Disbursements and returns the data saved in the database. - * @param {DisbursementCreateManyAndReturnArgs} args - Arguments to create many Disbursements. + * Create many ArchivedDisbursements and returns the data saved in the database. + * @param {ArchivedDisbursementCreateManyAndReturnArgs} args - Arguments to create many ArchivedDisbursements. * @example - * // Create many Disbursements - * const disbursement = await prisma.disbursement.createManyAndReturn({ + * // Create many ArchivedDisbursements + * const archivedDisbursement = await prisma.archivedDisbursement.createManyAndReturn({ * data: [ * // ... provide data here * ] * }) * - * // Create many Disbursements and only return the `id` - * const disbursementWithIdOnly = await prisma.disbursement.createManyAndReturn({ + * // Create many ArchivedDisbursements and only return the `id` + * const archivedDisbursementWithIdOnly = await prisma.archivedDisbursement.createManyAndReturn({ * select: { id: true }, * data: [ * // ... provide data here @@ -26330,28 +27429,28 @@ export namespace Prisma { * Read more here: https://pris.ly/d/null-undefined * */ - createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn">> + createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn">> /** - * Delete a Disbursement. - * @param {DisbursementDeleteArgs} args - Arguments to delete one Disbursement. + * Delete a ArchivedDisbursement. + * @param {ArchivedDisbursementDeleteArgs} args - Arguments to delete one ArchivedDisbursement. * @example - * // Delete one Disbursement - * const Disbursement = await prisma.disbursement.delete({ + * // Delete one ArchivedDisbursement + * const ArchivedDisbursement = await prisma.archivedDisbursement.delete({ * where: { - * // ... filter to delete one Disbursement + * // ... filter to delete one ArchivedDisbursement * } * }) * */ - delete(args: SelectSubset>): Prisma__DisbursementClient<$Result.GetResult, T, "delete">, never, ExtArgs> + delete(args: SelectSubset>): Prisma__ArchivedDisbursementClient<$Result.GetResult, T, "delete">, never, ExtArgs> /** - * Update one Disbursement. - * @param {DisbursementUpdateArgs} args - Arguments to update one Disbursement. + * Update one ArchivedDisbursement. + * @param {ArchivedDisbursementUpdateArgs} args - Arguments to update one ArchivedDisbursement. * @example - * // Update one Disbursement - * const disbursement = await prisma.disbursement.update({ + * // Update one ArchivedDisbursement + * const archivedDisbursement = await prisma.archivedDisbursement.update({ * where: { * // ... provide filter here * }, @@ -26361,30 +27460,30 @@ export namespace Prisma { * }) * */ - update(args: SelectSubset>): Prisma__DisbursementClient<$Result.GetResult, T, "update">, never, ExtArgs> + update(args: SelectSubset>): Prisma__ArchivedDisbursementClient<$Result.GetResult, T, "update">, never, ExtArgs> /** - * Delete zero or more Disbursements. - * @param {DisbursementDeleteManyArgs} args - Arguments to filter Disbursements to delete. + * Delete zero or more ArchivedDisbursements. + * @param {ArchivedDisbursementDeleteManyArgs} args - Arguments to filter ArchivedDisbursements to delete. * @example - * // Delete a few Disbursements - * const { count } = await prisma.disbursement.deleteMany({ + * // Delete a few ArchivedDisbursements + * const { count } = await prisma.archivedDisbursement.deleteMany({ * where: { * // ... provide filter here * } * }) * */ - deleteMany(args?: SelectSubset>): Prisma.PrismaPromise + deleteMany(args?: SelectSubset>): Prisma.PrismaPromise /** - * Update zero or more Disbursements. + * Update zero or more ArchivedDisbursements. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined - * @param {DisbursementUpdateManyArgs} args - Arguments to update one or more rows. + * @param {ArchivedDisbursementUpdateManyArgs} args - Arguments to update one or more rows. * @example - * // Update many Disbursements - * const disbursement = await prisma.disbursement.updateMany({ + * // Update many ArchivedDisbursements + * const archivedDisbursement = await prisma.archivedDisbursement.updateMany({ * where: { * // ... provide filter here * }, @@ -26394,56 +27493,56 @@ export namespace Prisma { * }) * */ - updateMany(args: SelectSubset>): Prisma.PrismaPromise + updateMany(args: SelectSubset>): Prisma.PrismaPromise /** - * Create or update one Disbursement. - * @param {DisbursementUpsertArgs} args - Arguments to update or create a Disbursement. + * Create or update one ArchivedDisbursement. + * @param {ArchivedDisbursementUpsertArgs} args - Arguments to update or create a ArchivedDisbursement. * @example - * // Update or create a Disbursement - * const disbursement = await prisma.disbursement.upsert({ + * // Update or create a ArchivedDisbursement + * const archivedDisbursement = await prisma.archivedDisbursement.upsert({ * create: { - * // ... data to create a Disbursement + * // ... data to create a ArchivedDisbursement * }, * update: { * // ... in case it already exists, update * }, * where: { - * // ... the filter for the Disbursement we want to update + * // ... the filter for the ArchivedDisbursement we want to update * } * }) */ - upsert(args: SelectSubset>): Prisma__DisbursementClient<$Result.GetResult, T, "upsert">, never, ExtArgs> + upsert(args: SelectSubset>): Prisma__ArchivedDisbursementClient<$Result.GetResult, T, "upsert">, never, ExtArgs> /** - * Count the number of Disbursements. + * Count the number of ArchivedDisbursements. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined - * @param {DisbursementCountArgs} args - Arguments to filter Disbursements to count. + * @param {ArchivedDisbursementCountArgs} args - Arguments to filter ArchivedDisbursements to count. * @example - * // Count the number of Disbursements - * const count = await prisma.disbursement.count({ + * // Count the number of ArchivedDisbursements + * const count = await prisma.archivedDisbursement.count({ * where: { - * // ... the filter for the Disbursements we want to count + * // ... the filter for the ArchivedDisbursements we want to count * } * }) **/ - count( - args?: Subset, + count( + args?: Subset, ): Prisma.PrismaPromise< T extends $Utils.Record<'select', any> ? T['select'] extends true ? number - : GetScalarType + : GetScalarType : number > /** - * Allows you to perform aggregations operations on a Disbursement. + * Allows you to perform aggregations operations on a ArchivedDisbursement. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined - * @param {DisbursementAggregateArgs} args - Select which aggregations you would like to apply and on what fields. + * @param {ArchivedDisbursementAggregateArgs} args - Select which aggregations you would like to apply and on what fields. * @example * // Ordered by age ascending * // Where email contains prisma.io @@ -26463,13 +27562,13 @@ export namespace Prisma { * take: 10, * }) **/ - aggregate(args: Subset): Prisma.PrismaPromise> + aggregate(args: Subset): Prisma.PrismaPromise> /** - * Group by Disbursement. + * Group by ArchivedDisbursement. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined - * @param {DisbursementGroupByArgs} args - Group by arguments. + * @param {ArchivedDisbursementGroupByArgs} args - Group by arguments. * @example * // Group by city, order by createdAt, get count * const result = await prisma.user.groupBy({ @@ -26484,14 +27583,14 @@ export namespace Prisma { * **/ groupBy< - T extends DisbursementGroupByArgs, + T extends ArchivedDisbursementGroupByArgs, HasSelectOrTake extends Or< Extends<'skip', Keys>, Extends<'take', Keys> >, OrderByArg extends True extends HasSelectOrTake - ? { orderBy: DisbursementGroupByArgs['orderBy'] } - : { orderBy?: DisbursementGroupByArgs['orderBy'] }, + ? { orderBy: ArchivedDisbursementGroupByArgs['orderBy'] } + : { orderBy?: ArchivedDisbursementGroupByArgs['orderBy'] }, OrderFields extends ExcludeUnderscoreKeys>>, ByFields extends MaybeTupleToUnion, ByValid extends Has, @@ -26540,22 +27639,21 @@ export namespace Prisma { ? never : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` }[OrderFields] - >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetDisbursementGroupByPayload : Prisma.PrismaPromise + >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetArchivedDisbursementGroupByPayload : Prisma.PrismaPromise /** - * Fields of the Disbursement model + * Fields of the ArchivedDisbursement model */ - readonly fields: DisbursementFieldRefs; + readonly fields: ArchivedDisbursementFieldRefs; } /** - * The delegate class that acts as a "Promise-like" for Disbursement. + * The delegate class that acts as a "Promise-like" for ArchivedDisbursement. * Why is this prefixed with `Prisma__`? * Because we want to prevent naming conflicts as mentioned in * https://github.com/prisma/prisma-client-js/issues/707 */ - export interface Prisma__DisbursementClient extends Prisma.PrismaPromise { + export interface Prisma__ArchivedDisbursementClient extends Prisma.PrismaPromise { readonly [Symbol.toStringTag]: "PrismaPromise" - recipients = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany"> | Null> /** * Attaches callbacks for the resolution and/or rejection of the Promise. * @param onfulfilled The callback to execute when the Promise is resolved. @@ -26582,695 +27680,734 @@ export namespace Prisma { /** - * Fields of the Disbursement model + * Fields of the ArchivedDisbursement model */ - interface DisbursementFieldRefs { - readonly id: FieldRef<"Disbursement", 'String'> - readonly senderAddress: FieldRef<"Disbursement", 'String'> - readonly totalAmount: FieldRef<"Disbursement", 'String'> - readonly asset: FieldRef<"Disbursement", 'String'> - readonly txHash: FieldRef<"Disbursement", 'String'> - readonly createdAt: FieldRef<"Disbursement", 'DateTime'> + interface ArchivedDisbursementFieldRefs { + readonly id: FieldRef<"ArchivedDisbursement", 'String'> + readonly streamId: FieldRef<"ArchivedDisbursement", 'String'> + readonly txHash: FieldRef<"ArchivedDisbursement", 'String'> + readonly sender: FieldRef<"ArchivedDisbursement", 'String'> + readonly receiver: FieldRef<"ArchivedDisbursement", 'String'> + readonly amount: FieldRef<"ArchivedDisbursement", 'BigInt'> + readonly tokenAddress: FieldRef<"ArchivedDisbursement", 'String'> + readonly status: FieldRef<"ArchivedDisbursement", 'String'> + readonly completedAt: FieldRef<"ArchivedDisbursement", 'DateTime'> + readonly archivedAt: FieldRef<"ArchivedDisbursement", 'DateTime'> + readonly originalLedger: FieldRef<"ArchivedDisbursement", 'Int'> } // Custom InputTypes /** - * Disbursement findUnique + * ArchivedDisbursement findUnique */ - export type DisbursementFindUniqueArgs = { - /** - * Select specific fields to fetch from the Disbursement - */ - select?: DisbursementSelect | null + export type ArchivedDisbursementFindUniqueArgs = { /** - * Choose, which related nodes to fetch as well + * Select specific fields to fetch from the ArchivedDisbursement */ - include?: DisbursementInclude | null + select?: ArchivedDisbursementSelect | null /** - * Filter, which Disbursement to fetch. + * Filter, which ArchivedDisbursement to fetch. */ - where: DisbursementWhereUniqueInput + where: ArchivedDisbursementWhereUniqueInput } /** - * Disbursement findUniqueOrThrow + * ArchivedDisbursement findUniqueOrThrow */ - export type DisbursementFindUniqueOrThrowArgs = { - /** - * Select specific fields to fetch from the Disbursement - */ - select?: DisbursementSelect | null + export type ArchivedDisbursementFindUniqueOrThrowArgs = { /** - * Choose, which related nodes to fetch as well + * Select specific fields to fetch from the ArchivedDisbursement */ - include?: DisbursementInclude | null + select?: ArchivedDisbursementSelect | null /** - * Filter, which Disbursement to fetch. + * Filter, which ArchivedDisbursement to fetch. */ - where: DisbursementWhereUniqueInput + where: ArchivedDisbursementWhereUniqueInput } /** - * Disbursement findFirst + * ArchivedDisbursement findFirst */ - export type DisbursementFindFirstArgs = { - /** - * Select specific fields to fetch from the Disbursement - */ - select?: DisbursementSelect | null + export type ArchivedDisbursementFindFirstArgs = { /** - * Choose, which related nodes to fetch as well + * Select specific fields to fetch from the ArchivedDisbursement */ - include?: DisbursementInclude | null + select?: ArchivedDisbursementSelect | null /** - * Filter, which Disbursement to fetch. + * Filter, which ArchivedDisbursement to fetch. */ - where?: DisbursementWhereInput + where?: ArchivedDisbursementWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * - * Determine the order of Disbursements to fetch. + * Determine the order of ArchivedDisbursements to fetch. */ - orderBy?: DisbursementOrderByWithRelationInput | DisbursementOrderByWithRelationInput[] + orderBy?: ArchivedDisbursementOrderByWithRelationInput | ArchivedDisbursementOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * - * Sets the position for searching for Disbursements. + * Sets the position for searching for ArchivedDisbursements. */ - cursor?: DisbursementWhereUniqueInput + cursor?: ArchivedDisbursementWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * - * Take `±n` Disbursements from the position of the cursor. + * Take `±n` ArchivedDisbursements from the position of the cursor. */ take?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * - * Skip the first `n` Disbursements. + * Skip the first `n` ArchivedDisbursements. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * - * Filter by unique combinations of Disbursements. + * Filter by unique combinations of ArchivedDisbursements. */ - distinct?: DisbursementScalarFieldEnum | DisbursementScalarFieldEnum[] + distinct?: ArchivedDisbursementScalarFieldEnum | ArchivedDisbursementScalarFieldEnum[] } /** - * Disbursement findFirstOrThrow + * ArchivedDisbursement findFirstOrThrow */ - export type DisbursementFindFirstOrThrowArgs = { + export type ArchivedDisbursementFindFirstOrThrowArgs = { /** - * Select specific fields to fetch from the Disbursement - */ - select?: DisbursementSelect | null - /** - * Choose, which related nodes to fetch as well + * Select specific fields to fetch from the ArchivedDisbursement */ - include?: DisbursementInclude | null + select?: ArchivedDisbursementSelect | null /** - * Filter, which Disbursement to fetch. + * Filter, which ArchivedDisbursement to fetch. */ - where?: DisbursementWhereInput + where?: ArchivedDisbursementWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * - * Determine the order of Disbursements to fetch. + * Determine the order of ArchivedDisbursements to fetch. */ - orderBy?: DisbursementOrderByWithRelationInput | DisbursementOrderByWithRelationInput[] + orderBy?: ArchivedDisbursementOrderByWithRelationInput | ArchivedDisbursementOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * - * Sets the position for searching for Disbursements. + * Sets the position for searching for ArchivedDisbursements. */ - cursor?: DisbursementWhereUniqueInput + cursor?: ArchivedDisbursementWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * - * Take `±n` Disbursements from the position of the cursor. + * Take `±n` ArchivedDisbursements from the position of the cursor. */ take?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * - * Skip the first `n` Disbursements. + * Skip the first `n` ArchivedDisbursements. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * - * Filter by unique combinations of Disbursements. + * Filter by unique combinations of ArchivedDisbursements. */ - distinct?: DisbursementScalarFieldEnum | DisbursementScalarFieldEnum[] + distinct?: ArchivedDisbursementScalarFieldEnum | ArchivedDisbursementScalarFieldEnum[] } /** - * Disbursement findMany + * ArchivedDisbursement findMany */ - export type DisbursementFindManyArgs = { - /** - * Select specific fields to fetch from the Disbursement - */ - select?: DisbursementSelect | null + export type ArchivedDisbursementFindManyArgs = { /** - * Choose, which related nodes to fetch as well + * Select specific fields to fetch from the ArchivedDisbursement */ - include?: DisbursementInclude | null + select?: ArchivedDisbursementSelect | null /** - * Filter, which Disbursements to fetch. + * Filter, which ArchivedDisbursements to fetch. */ - where?: DisbursementWhereInput + where?: ArchivedDisbursementWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * - * Determine the order of Disbursements to fetch. + * Determine the order of ArchivedDisbursements to fetch. */ - orderBy?: DisbursementOrderByWithRelationInput | DisbursementOrderByWithRelationInput[] + orderBy?: ArchivedDisbursementOrderByWithRelationInput | ArchivedDisbursementOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * - * Sets the position for listing Disbursements. + * Sets the position for listing ArchivedDisbursements. */ - cursor?: DisbursementWhereUniqueInput + cursor?: ArchivedDisbursementWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * - * Take `±n` Disbursements from the position of the cursor. + * Take `±n` ArchivedDisbursements from the position of the cursor. */ take?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * - * Skip the first `n` Disbursements. + * Skip the first `n` ArchivedDisbursements. */ skip?: number - distinct?: DisbursementScalarFieldEnum | DisbursementScalarFieldEnum[] + distinct?: ArchivedDisbursementScalarFieldEnum | ArchivedDisbursementScalarFieldEnum[] } /** - * Disbursement create + * ArchivedDisbursement create */ - export type DisbursementCreateArgs = { - /** - * Select specific fields to fetch from the Disbursement - */ - select?: DisbursementSelect | null + export type ArchivedDisbursementCreateArgs = { /** - * Choose, which related nodes to fetch as well + * Select specific fields to fetch from the ArchivedDisbursement */ - include?: DisbursementInclude | null + select?: ArchivedDisbursementSelect | null /** - * The data needed to create a Disbursement. + * The data needed to create a ArchivedDisbursement. */ - data: XOR + data: XOR } /** - * Disbursement createMany + * ArchivedDisbursement createMany */ - export type DisbursementCreateManyArgs = { + export type ArchivedDisbursementCreateManyArgs = { /** - * The data used to create many Disbursements. + * The data used to create many ArchivedDisbursements. */ - data: DisbursementCreateManyInput | DisbursementCreateManyInput[] + data: ArchivedDisbursementCreateManyInput | ArchivedDisbursementCreateManyInput[] skipDuplicates?: boolean } /** - * Disbursement createManyAndReturn + * ArchivedDisbursement createManyAndReturn */ - export type DisbursementCreateManyAndReturnArgs = { + export type ArchivedDisbursementCreateManyAndReturnArgs = { /** - * Select specific fields to fetch from the Disbursement + * Select specific fields to fetch from the ArchivedDisbursement */ - select?: DisbursementSelectCreateManyAndReturn | null + select?: ArchivedDisbursementSelectCreateManyAndReturn | null /** - * The data used to create many Disbursements. + * The data used to create many ArchivedDisbursements. */ - data: DisbursementCreateManyInput | DisbursementCreateManyInput[] + data: ArchivedDisbursementCreateManyInput | ArchivedDisbursementCreateManyInput[] skipDuplicates?: boolean } /** - * Disbursement update + * ArchivedDisbursement update */ - export type DisbursementUpdateArgs = { - /** - * Select specific fields to fetch from the Disbursement - */ - select?: DisbursementSelect | null + export type ArchivedDisbursementUpdateArgs = { /** - * Choose, which related nodes to fetch as well + * Select specific fields to fetch from the ArchivedDisbursement */ - include?: DisbursementInclude | null + select?: ArchivedDisbursementSelect | null /** - * The data needed to update a Disbursement. + * The data needed to update a ArchivedDisbursement. */ - data: XOR + data: XOR /** - * Choose, which Disbursement to update. + * Choose, which ArchivedDisbursement to update. */ - where: DisbursementWhereUniqueInput + where: ArchivedDisbursementWhereUniqueInput } /** - * Disbursement updateMany + * ArchivedDisbursement updateMany */ - export type DisbursementUpdateManyArgs = { + export type ArchivedDisbursementUpdateManyArgs = { /** - * The data used to update Disbursements. + * The data used to update ArchivedDisbursements. */ - data: XOR + data: XOR /** - * Filter which Disbursements to update + * Filter which ArchivedDisbursements to update */ - where?: DisbursementWhereInput + where?: ArchivedDisbursementWhereInput } /** - * Disbursement upsert + * ArchivedDisbursement upsert */ - export type DisbursementUpsertArgs = { - /** - * Select specific fields to fetch from the Disbursement - */ - select?: DisbursementSelect | null + export type ArchivedDisbursementUpsertArgs = { /** - * Choose, which related nodes to fetch as well + * Select specific fields to fetch from the ArchivedDisbursement */ - include?: DisbursementInclude | null + select?: ArchivedDisbursementSelect | null /** - * The filter to search for the Disbursement to update in case it exists. + * The filter to search for the ArchivedDisbursement to update in case it exists. */ - where: DisbursementWhereUniqueInput + where: ArchivedDisbursementWhereUniqueInput /** - * In case the Disbursement found by the `where` argument doesn't exist, create a new Disbursement with this data. + * In case the ArchivedDisbursement found by the `where` argument doesn't exist, create a new ArchivedDisbursement with this data. */ - create: XOR + create: XOR /** - * In case the Disbursement was found with the provided `where` argument, update it with this data. + * In case the ArchivedDisbursement was found with the provided `where` argument, update it with this data. */ - update: XOR + update: XOR } /** - * Disbursement delete + * ArchivedDisbursement delete */ - export type DisbursementDeleteArgs = { - /** - * Select specific fields to fetch from the Disbursement - */ - select?: DisbursementSelect | null + export type ArchivedDisbursementDeleteArgs = { /** - * Choose, which related nodes to fetch as well + * Select specific fields to fetch from the ArchivedDisbursement */ - include?: DisbursementInclude | null + select?: ArchivedDisbursementSelect | null /** - * Filter which Disbursement to delete. + * Filter which ArchivedDisbursement to delete. */ - where: DisbursementWhereUniqueInput + where: ArchivedDisbursementWhereUniqueInput } /** - * Disbursement deleteMany + * ArchivedDisbursement deleteMany */ - export type DisbursementDeleteManyArgs = { + export type ArchivedDisbursementDeleteManyArgs = { /** - * Filter which Disbursements to delete + * Filter which ArchivedDisbursements to delete */ - where?: DisbursementWhereInput + where?: ArchivedDisbursementWhereInput } /** - * Disbursement.recipients + * ArchivedDisbursement without action */ - export type Disbursement$recipientsArgs = { - /** - * Select specific fields to fetch from the SplitRecipient - */ - select?: SplitRecipientSelect | null + export type ArchivedDisbursementDefaultArgs = { /** - * Choose, which related nodes to fetch as well + * Select specific fields to fetch from the ArchivedDisbursement */ - include?: SplitRecipientInclude | null - where?: SplitRecipientWhereInput - orderBy?: SplitRecipientOrderByWithRelationInput | SplitRecipientOrderByWithRelationInput[] - cursor?: SplitRecipientWhereUniqueInput - take?: number - skip?: number - distinct?: SplitRecipientScalarFieldEnum | SplitRecipientScalarFieldEnum[] + select?: ArchivedDisbursementSelect | null } + /** - * Disbursement without action + * Model Disbursement */ - export type DisbursementDefaultArgs = { - /** - * Select specific fields to fetch from the Disbursement - */ - select?: DisbursementSelect | null - /** - * Choose, which related nodes to fetch as well - */ - include?: DisbursementInclude | null - } + export type AggregateDisbursement = { + _count: DisbursementCountAggregateOutputType | null + _avg: DisbursementAvgAggregateOutputType | null + _sum: DisbursementSumAggregateOutputType | null + _min: DisbursementMinAggregateOutputType | null + _max: DisbursementMaxAggregateOutputType | null + } - /** - * Model SplitRecipient - */ + export type DisbursementAvgAggregateOutputType = { + amount: number | null + ledger: number | null + } - export type AggregateSplitRecipient = { - _count: SplitRecipientCountAggregateOutputType | null - _min: SplitRecipientMinAggregateOutputType | null - _max: SplitRecipientMaxAggregateOutputType | null + export type DisbursementSumAggregateOutputType = { + amount: bigint | null + ledger: number | null } - export type SplitRecipientMinAggregateOutputType = { + export type DisbursementMinAggregateOutputType = { id: string | null - disbursementId: string | null - recipientAddress: string | null - amount: string | null - status: $Enums.PayoutStatus | null + streamId: string | null + txHash: string | null + sender: string | null + receiver: string | null + amount: bigint | null + tokenAddress: string | null + status: $Enums.DisbursementStatus | null + createdAt: Date | null + completedAt: Date | null + ledger: number | null } - export type SplitRecipientMaxAggregateOutputType = { + export type DisbursementMaxAggregateOutputType = { id: string | null - disbursementId: string | null - recipientAddress: string | null - amount: string | null - status: $Enums.PayoutStatus | null + streamId: string | null + txHash: string | null + sender: string | null + receiver: string | null + amount: bigint | null + tokenAddress: string | null + status: $Enums.DisbursementStatus | null + createdAt: Date | null + completedAt: Date | null + ledger: number | null } - export type SplitRecipientCountAggregateOutputType = { + export type DisbursementCountAggregateOutputType = { id: number - disbursementId: number - recipientAddress: number + streamId: number + txHash: number + sender: number + receiver: number amount: number + tokenAddress: number status: number + createdAt: number + completedAt: number + ledger: number _all: number } - export type SplitRecipientMinAggregateInputType = { + export type DisbursementAvgAggregateInputType = { + amount?: true + ledger?: true + } + + export type DisbursementSumAggregateInputType = { + amount?: true + ledger?: true + } + + export type DisbursementMinAggregateInputType = { id?: true - disbursementId?: true - recipientAddress?: true + streamId?: true + txHash?: true + sender?: true + receiver?: true amount?: true + tokenAddress?: true status?: true + createdAt?: true + completedAt?: true + ledger?: true } - export type SplitRecipientMaxAggregateInputType = { + export type DisbursementMaxAggregateInputType = { id?: true - disbursementId?: true - recipientAddress?: true + streamId?: true + txHash?: true + sender?: true + receiver?: true amount?: true + tokenAddress?: true status?: true + createdAt?: true + completedAt?: true + ledger?: true } - export type SplitRecipientCountAggregateInputType = { + export type DisbursementCountAggregateInputType = { id?: true - disbursementId?: true - recipientAddress?: true + streamId?: true + txHash?: true + sender?: true + receiver?: true amount?: true + tokenAddress?: true status?: true + createdAt?: true + completedAt?: true + ledger?: true _all?: true } - export type SplitRecipientAggregateArgs = { + export type DisbursementAggregateArgs = { /** - * Filter which SplitRecipient to aggregate. + * Filter which Disbursement to aggregate. */ - where?: SplitRecipientWhereInput + where?: DisbursementWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * - * Determine the order of SplitRecipients to fetch. + * Determine the order of Disbursements to fetch. */ - orderBy?: SplitRecipientOrderByWithRelationInput | SplitRecipientOrderByWithRelationInput[] + orderBy?: DisbursementOrderByWithRelationInput | DisbursementOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the start position */ - cursor?: SplitRecipientWhereUniqueInput + cursor?: DisbursementWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * - * Take `±n` SplitRecipients from the position of the cursor. + * Take `±n` Disbursements from the position of the cursor. */ take?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * - * Skip the first `n` SplitRecipients. + * Skip the first `n` Disbursements. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * - * Count returned SplitRecipients + * Count returned Disbursements + **/ + _count?: true | DisbursementCountAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to average + **/ + _avg?: DisbursementAvgAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to sum **/ - _count?: true | SplitRecipientCountAggregateInputType + _sum?: DisbursementSumAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the minimum value **/ - _min?: SplitRecipientMinAggregateInputType + _min?: DisbursementMinAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the maximum value **/ - _max?: SplitRecipientMaxAggregateInputType + _max?: DisbursementMaxAggregateInputType } - export type GetSplitRecipientAggregateType = { - [P in keyof T & keyof AggregateSplitRecipient]: P extends '_count' | 'count' + export type GetDisbursementAggregateType = { + [P in keyof T & keyof AggregateDisbursement]: P extends '_count' | 'count' ? T[P] extends true ? number - : GetScalarType - : GetScalarType + : GetScalarType + : GetScalarType } - export type SplitRecipientGroupByArgs = { - where?: SplitRecipientWhereInput - orderBy?: SplitRecipientOrderByWithAggregationInput | SplitRecipientOrderByWithAggregationInput[] - by: SplitRecipientScalarFieldEnum[] | SplitRecipientScalarFieldEnum - having?: SplitRecipientScalarWhereWithAggregatesInput + export type DisbursementGroupByArgs = { + where?: DisbursementWhereInput + orderBy?: DisbursementOrderByWithAggregationInput | DisbursementOrderByWithAggregationInput[] + by: DisbursementScalarFieldEnum[] | DisbursementScalarFieldEnum + having?: DisbursementScalarWhereWithAggregatesInput take?: number skip?: number - _count?: SplitRecipientCountAggregateInputType | true - _min?: SplitRecipientMinAggregateInputType - _max?: SplitRecipientMaxAggregateInputType + _count?: DisbursementCountAggregateInputType | true + _avg?: DisbursementAvgAggregateInputType + _sum?: DisbursementSumAggregateInputType + _min?: DisbursementMinAggregateInputType + _max?: DisbursementMaxAggregateInputType } - export type SplitRecipientGroupByOutputType = { + export type DisbursementGroupByOutputType = { id: string - disbursementId: string - recipientAddress: string - amount: string - status: $Enums.PayoutStatus - _count: SplitRecipientCountAggregateOutputType | null - _min: SplitRecipientMinAggregateOutputType | null - _max: SplitRecipientMaxAggregateOutputType | null + streamId: string + txHash: string + sender: string + receiver: string + amount: bigint + tokenAddress: string + status: $Enums.DisbursementStatus + createdAt: Date + completedAt: Date | null + ledger: number + _count: DisbursementCountAggregateOutputType | null + _avg: DisbursementAvgAggregateOutputType | null + _sum: DisbursementSumAggregateOutputType | null + _min: DisbursementMinAggregateOutputType | null + _max: DisbursementMaxAggregateOutputType | null } - type GetSplitRecipientGroupByPayload = Prisma.PrismaPromise< + type GetDisbursementGroupByPayload = Prisma.PrismaPromise< Array< - PickEnumerable & + PickEnumerable & { - [P in ((keyof T) & (keyof SplitRecipientGroupByOutputType))]: P extends '_count' + [P in ((keyof T) & (keyof DisbursementGroupByOutputType))]: P extends '_count' ? T[P] extends boolean ? number - : GetScalarType - : GetScalarType + : GetScalarType + : GetScalarType } > > - export type SplitRecipientSelect = $Extensions.GetSelect<{ + export type DisbursementSelect = $Extensions.GetSelect<{ id?: boolean - disbursementId?: boolean - recipientAddress?: boolean + streamId?: boolean + txHash?: boolean + sender?: boolean + receiver?: boolean amount?: boolean + tokenAddress?: boolean status?: boolean - disbursement?: boolean | DisbursementDefaultArgs - }, ExtArgs["result"]["splitRecipient"]> + createdAt?: boolean + completedAt?: boolean + ledger?: boolean + }, ExtArgs["result"]["disbursement"]> - export type SplitRecipientSelectCreateManyAndReturn = $Extensions.GetSelect<{ + export type DisbursementSelectCreateManyAndReturn = $Extensions.GetSelect<{ id?: boolean - disbursementId?: boolean - recipientAddress?: boolean + streamId?: boolean + txHash?: boolean + sender?: boolean + receiver?: boolean amount?: boolean + tokenAddress?: boolean status?: boolean - disbursement?: boolean | DisbursementDefaultArgs - }, ExtArgs["result"]["splitRecipient"]> + createdAt?: boolean + completedAt?: boolean + ledger?: boolean + }, ExtArgs["result"]["disbursement"]> - export type SplitRecipientSelectScalar = { + export type DisbursementSelectScalar = { id?: boolean - disbursementId?: boolean - recipientAddress?: boolean + streamId?: boolean + txHash?: boolean + sender?: boolean + receiver?: boolean amount?: boolean + tokenAddress?: boolean status?: boolean + createdAt?: boolean + completedAt?: boolean + ledger?: boolean } - export type SplitRecipientInclude = { - disbursement?: boolean | DisbursementDefaultArgs - } - export type SplitRecipientIncludeCreateManyAndReturn = { - disbursement?: boolean | DisbursementDefaultArgs - } - export type $SplitRecipientPayload = { - name: "SplitRecipient" - objects: { - disbursement: Prisma.$DisbursementPayload - } + export type $DisbursementPayload = { + name: "Disbursement" + objects: {} scalars: $Extensions.GetPayloadResult<{ id: string - disbursementId: string - recipientAddress: string - amount: string - status: $Enums.PayoutStatus - }, ExtArgs["result"]["splitRecipient"]> + streamId: string + txHash: string + sender: string + receiver: string + amount: bigint + tokenAddress: string + status: $Enums.DisbursementStatus + createdAt: Date + completedAt: Date | null + ledger: number + }, ExtArgs["result"]["disbursement"]> composites: {} } - type SplitRecipientGetPayload = $Result.GetResult + type DisbursementGetPayload = $Result.GetResult - type SplitRecipientCountArgs = - Omit & { - select?: SplitRecipientCountAggregateInputType | true + type DisbursementCountArgs = + Omit & { + select?: DisbursementCountAggregateInputType | true } - export interface SplitRecipientDelegate { - [K: symbol]: { types: Prisma.TypeMap['model']['SplitRecipient'], meta: { name: 'SplitRecipient' } } + export interface DisbursementDelegate { + [K: symbol]: { types: Prisma.TypeMap['model']['Disbursement'], meta: { name: 'Disbursement' } } /** - * Find zero or one SplitRecipient that matches the filter. - * @param {SplitRecipientFindUniqueArgs} args - Arguments to find a SplitRecipient + * Find zero or one Disbursement that matches the filter. + * @param {DisbursementFindUniqueArgs} args - Arguments to find a Disbursement * @example - * // Get one SplitRecipient - * const splitRecipient = await prisma.splitRecipient.findUnique({ + * // Get one Disbursement + * const disbursement = await prisma.disbursement.findUnique({ * where: { * // ... provide filter here * } * }) */ - findUnique(args: SelectSubset>): Prisma__SplitRecipientClient<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> + findUnique(args: SelectSubset>): Prisma__DisbursementClient<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> /** - * Find one SplitRecipient that matches the filter or throw an error with `error.code='P2025'` + * Find one Disbursement that matches the filter or throw an error with `error.code='P2025'` * if no matches were found. - * @param {SplitRecipientFindUniqueOrThrowArgs} args - Arguments to find a SplitRecipient + * @param {DisbursementFindUniqueOrThrowArgs} args - Arguments to find a Disbursement * @example - * // Get one SplitRecipient - * const splitRecipient = await prisma.splitRecipient.findUniqueOrThrow({ + * // Get one Disbursement + * const disbursement = await prisma.disbursement.findUniqueOrThrow({ * where: { * // ... provide filter here * } * }) */ - findUniqueOrThrow(args: SelectSubset>): Prisma__SplitRecipientClient<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> + findUniqueOrThrow(args: SelectSubset>): Prisma__DisbursementClient<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> /** - * Find the first SplitRecipient that matches the filter. + * Find the first Disbursement that matches the filter. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined - * @param {SplitRecipientFindFirstArgs} args - Arguments to find a SplitRecipient + * @param {DisbursementFindFirstArgs} args - Arguments to find a Disbursement * @example - * // Get one SplitRecipient - * const splitRecipient = await prisma.splitRecipient.findFirst({ + * // Get one Disbursement + * const disbursement = await prisma.disbursement.findFirst({ * where: { * // ... provide filter here * } * }) */ - findFirst(args?: SelectSubset>): Prisma__SplitRecipientClient<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> + findFirst(args?: SelectSubset>): Prisma__DisbursementClient<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> /** - * Find the first SplitRecipient that matches the filter or + * Find the first Disbursement that matches the filter or * throw `PrismaKnownClientError` with `P2025` code if no matches were found. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined - * @param {SplitRecipientFindFirstOrThrowArgs} args - Arguments to find a SplitRecipient + * @param {DisbursementFindFirstOrThrowArgs} args - Arguments to find a Disbursement * @example - * // Get one SplitRecipient - * const splitRecipient = await prisma.splitRecipient.findFirstOrThrow({ + * // Get one Disbursement + * const disbursement = await prisma.disbursement.findFirstOrThrow({ * where: { * // ... provide filter here * } * }) */ - findFirstOrThrow(args?: SelectSubset>): Prisma__SplitRecipientClient<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> + findFirstOrThrow(args?: SelectSubset>): Prisma__DisbursementClient<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> /** - * Find zero or more SplitRecipients that matches the filter. + * Find zero or more Disbursements that matches the filter. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined - * @param {SplitRecipientFindManyArgs} args - Arguments to filter and select certain fields only. + * @param {DisbursementFindManyArgs} args - Arguments to filter and select certain fields only. * @example - * // Get all SplitRecipients - * const splitRecipients = await prisma.splitRecipient.findMany() + * // Get all Disbursements + * const disbursements = await prisma.disbursement.findMany() * - * // Get first 10 SplitRecipients - * const splitRecipients = await prisma.splitRecipient.findMany({ take: 10 }) + * // Get first 10 Disbursements + * const disbursements = await prisma.disbursement.findMany({ take: 10 }) * * // Only select the `id` - * const splitRecipientWithIdOnly = await prisma.splitRecipient.findMany({ select: { id: true } }) + * const disbursementWithIdOnly = await prisma.disbursement.findMany({ select: { id: true } }) * */ - findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> + findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> /** - * Create a SplitRecipient. - * @param {SplitRecipientCreateArgs} args - Arguments to create a SplitRecipient. + * Create a Disbursement. + * @param {DisbursementCreateArgs} args - Arguments to create a Disbursement. * @example - * // Create one SplitRecipient - * const SplitRecipient = await prisma.splitRecipient.create({ + * // Create one Disbursement + * const Disbursement = await prisma.disbursement.create({ * data: { - * // ... data to create a SplitRecipient + * // ... data to create a Disbursement * } * }) * */ - create(args: SelectSubset>): Prisma__SplitRecipientClient<$Result.GetResult, T, "create">, never, ExtArgs> + create(args: SelectSubset>): Prisma__DisbursementClient<$Result.GetResult, T, "create">, never, ExtArgs> /** - * Create many SplitRecipients. - * @param {SplitRecipientCreateManyArgs} args - Arguments to create many SplitRecipients. + * Create many Disbursements. + * @param {DisbursementCreateManyArgs} args - Arguments to create many Disbursements. * @example - * // Create many SplitRecipients - * const splitRecipient = await prisma.splitRecipient.createMany({ + * // Create many Disbursements + * const disbursement = await prisma.disbursement.createMany({ * data: [ * // ... provide data here * ] * }) * */ - createMany(args?: SelectSubset>): Prisma.PrismaPromise + createMany(args?: SelectSubset>): Prisma.PrismaPromise /** - * Create many SplitRecipients and returns the data saved in the database. - * @param {SplitRecipientCreateManyAndReturnArgs} args - Arguments to create many SplitRecipients. + * Create many Disbursements and returns the data saved in the database. + * @param {DisbursementCreateManyAndReturnArgs} args - Arguments to create many Disbursements. * @example - * // Create many SplitRecipients - * const splitRecipient = await prisma.splitRecipient.createManyAndReturn({ + * // Create many Disbursements + * const disbursement = await prisma.disbursement.createManyAndReturn({ * data: [ * // ... provide data here * ] * }) * - * // Create many SplitRecipients and only return the `id` - * const splitRecipientWithIdOnly = await prisma.splitRecipient.createManyAndReturn({ + * // Create many Disbursements and only return the `id` + * const disbursementWithIdOnly = await prisma.disbursement.createManyAndReturn({ * select: { id: true }, * data: [ * // ... provide data here @@ -27280,28 +28417,28 @@ export namespace Prisma { * Read more here: https://pris.ly/d/null-undefined * */ - createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn">> + createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn">> /** - * Delete a SplitRecipient. - * @param {SplitRecipientDeleteArgs} args - Arguments to delete one SplitRecipient. + * Delete a Disbursement. + * @param {DisbursementDeleteArgs} args - Arguments to delete one Disbursement. * @example - * // Delete one SplitRecipient - * const SplitRecipient = await prisma.splitRecipient.delete({ + * // Delete one Disbursement + * const Disbursement = await prisma.disbursement.delete({ * where: { - * // ... filter to delete one SplitRecipient + * // ... filter to delete one Disbursement * } * }) * */ - delete(args: SelectSubset>): Prisma__SplitRecipientClient<$Result.GetResult, T, "delete">, never, ExtArgs> + delete(args: SelectSubset>): Prisma__DisbursementClient<$Result.GetResult, T, "delete">, never, ExtArgs> /** - * Update one SplitRecipient. - * @param {SplitRecipientUpdateArgs} args - Arguments to update one SplitRecipient. + * Update one Disbursement. + * @param {DisbursementUpdateArgs} args - Arguments to update one Disbursement. * @example - * // Update one SplitRecipient - * const splitRecipient = await prisma.splitRecipient.update({ + * // Update one Disbursement + * const disbursement = await prisma.disbursement.update({ * where: { * // ... provide filter here * }, @@ -27311,30 +28448,30 @@ export namespace Prisma { * }) * */ - update(args: SelectSubset>): Prisma__SplitRecipientClient<$Result.GetResult, T, "update">, never, ExtArgs> + update(args: SelectSubset>): Prisma__DisbursementClient<$Result.GetResult, T, "update">, never, ExtArgs> /** - * Delete zero or more SplitRecipients. - * @param {SplitRecipientDeleteManyArgs} args - Arguments to filter SplitRecipients to delete. + * Delete zero or more Disbursements. + * @param {DisbursementDeleteManyArgs} args - Arguments to filter Disbursements to delete. * @example - * // Delete a few SplitRecipients - * const { count } = await prisma.splitRecipient.deleteMany({ + * // Delete a few Disbursements + * const { count } = await prisma.disbursement.deleteMany({ * where: { * // ... provide filter here * } * }) * */ - deleteMany(args?: SelectSubset>): Prisma.PrismaPromise + deleteMany(args?: SelectSubset>): Prisma.PrismaPromise /** - * Update zero or more SplitRecipients. + * Update zero or more Disbursements. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined - * @param {SplitRecipientUpdateManyArgs} args - Arguments to update one or more rows. + * @param {DisbursementUpdateManyArgs} args - Arguments to update one or more rows. * @example - * // Update many SplitRecipients - * const splitRecipient = await prisma.splitRecipient.updateMany({ + * // Update many Disbursements + * const disbursement = await prisma.disbursement.updateMany({ * where: { * // ... provide filter here * }, @@ -27344,56 +28481,56 @@ export namespace Prisma { * }) * */ - updateMany(args: SelectSubset>): Prisma.PrismaPromise + updateMany(args: SelectSubset>): Prisma.PrismaPromise /** - * Create or update one SplitRecipient. - * @param {SplitRecipientUpsertArgs} args - Arguments to update or create a SplitRecipient. + * Create or update one Disbursement. + * @param {DisbursementUpsertArgs} args - Arguments to update or create a Disbursement. * @example - * // Update or create a SplitRecipient - * const splitRecipient = await prisma.splitRecipient.upsert({ + * // Update or create a Disbursement + * const disbursement = await prisma.disbursement.upsert({ * create: { - * // ... data to create a SplitRecipient + * // ... data to create a Disbursement * }, * update: { * // ... in case it already exists, update * }, * where: { - * // ... the filter for the SplitRecipient we want to update + * // ... the filter for the Disbursement we want to update * } * }) */ - upsert(args: SelectSubset>): Prisma__SplitRecipientClient<$Result.GetResult, T, "upsert">, never, ExtArgs> + upsert(args: SelectSubset>): Prisma__DisbursementClient<$Result.GetResult, T, "upsert">, never, ExtArgs> /** - * Count the number of SplitRecipients. + * Count the number of Disbursements. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined - * @param {SplitRecipientCountArgs} args - Arguments to filter SplitRecipients to count. + * @param {DisbursementCountArgs} args - Arguments to filter Disbursements to count. * @example - * // Count the number of SplitRecipients - * const count = await prisma.splitRecipient.count({ + * // Count the number of Disbursements + * const count = await prisma.disbursement.count({ * where: { - * // ... the filter for the SplitRecipients we want to count + * // ... the filter for the Disbursements we want to count * } * }) **/ - count( - args?: Subset, + count( + args?: Subset, ): Prisma.PrismaPromise< T extends $Utils.Record<'select', any> ? T['select'] extends true ? number - : GetScalarType + : GetScalarType : number > /** - * Allows you to perform aggregations operations on a SplitRecipient. + * Allows you to perform aggregations operations on a Disbursement. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined - * @param {SplitRecipientAggregateArgs} args - Select which aggregations you would like to apply and on what fields. + * @param {DisbursementAggregateArgs} args - Select which aggregations you would like to apply and on what fields. * @example * // Ordered by age ascending * // Where email contains prisma.io @@ -27413,13 +28550,13 @@ export namespace Prisma { * take: 10, * }) **/ - aggregate(args: Subset): Prisma.PrismaPromise> + aggregate(args: Subset): Prisma.PrismaPromise> /** - * Group by SplitRecipient. + * Group by Disbursement. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined - * @param {SplitRecipientGroupByArgs} args - Group by arguments. + * @param {DisbursementGroupByArgs} args - Group by arguments. * @example * // Group by city, order by createdAt, get count * const result = await prisma.user.groupBy({ @@ -27434,14 +28571,14 @@ export namespace Prisma { * **/ groupBy< - T extends SplitRecipientGroupByArgs, + T extends DisbursementGroupByArgs, HasSelectOrTake extends Or< Extends<'skip', Keys>, Extends<'take', Keys> >, OrderByArg extends True extends HasSelectOrTake - ? { orderBy: SplitRecipientGroupByArgs['orderBy'] } - : { orderBy?: SplitRecipientGroupByArgs['orderBy'] }, + ? { orderBy: DisbursementGroupByArgs['orderBy'] } + : { orderBy?: DisbursementGroupByArgs['orderBy'] }, OrderFields extends ExcludeUnderscoreKeys>>, ByFields extends MaybeTupleToUnion, ByValid extends Has, @@ -27490,22 +28627,21 @@ export namespace Prisma { ? never : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` }[OrderFields] - >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetSplitRecipientGroupByPayload : Prisma.PrismaPromise + >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetDisbursementGroupByPayload : Prisma.PrismaPromise /** - * Fields of the SplitRecipient model + * Fields of the Disbursement model */ - readonly fields: SplitRecipientFieldRefs; + readonly fields: DisbursementFieldRefs; } /** - * The delegate class that acts as a "Promise-like" for SplitRecipient. + * The delegate class that acts as a "Promise-like" for Disbursement. * Why is this prefixed with `Prisma__`? * Because we want to prevent naming conflicts as mentioned in * https://github.com/prisma/prisma-client-js/issues/707 */ - export interface Prisma__SplitRecipientClient extends Prisma.PrismaPromise { + export interface Prisma__DisbursementClient extends Prisma.PrismaPromise { readonly [Symbol.toStringTag]: "PrismaPromise" - disbursement = {}>(args?: Subset>): Prisma__DisbursementClient<$Result.GetResult, T, "findUniqueOrThrow"> | Null, Null, ExtArgs> /** * Attaches callbacks for the resolution and/or rejection of the Promise. * @param onfulfilled The callback to execute when the Promise is resolved. @@ -27532,343 +28668,305 @@ export namespace Prisma { /** - * Fields of the SplitRecipient model + * Fields of the Disbursement model */ - interface SplitRecipientFieldRefs { - readonly id: FieldRef<"SplitRecipient", 'String'> - readonly disbursementId: FieldRef<"SplitRecipient", 'String'> - readonly recipientAddress: FieldRef<"SplitRecipient", 'String'> - readonly amount: FieldRef<"SplitRecipient", 'String'> - readonly status: FieldRef<"SplitRecipient", 'PayoutStatus'> + interface DisbursementFieldRefs { + readonly id: FieldRef<"Disbursement", 'String'> + readonly streamId: FieldRef<"Disbursement", 'String'> + readonly txHash: FieldRef<"Disbursement", 'String'> + readonly sender: FieldRef<"Disbursement", 'String'> + readonly receiver: FieldRef<"Disbursement", 'String'> + readonly amount: FieldRef<"Disbursement", 'BigInt'> + readonly tokenAddress: FieldRef<"Disbursement", 'String'> + readonly status: FieldRef<"Disbursement", 'DisbursementStatus'> + readonly createdAt: FieldRef<"Disbursement", 'DateTime'> + readonly completedAt: FieldRef<"Disbursement", 'DateTime'> + readonly ledger: FieldRef<"Disbursement", 'Int'> } // Custom InputTypes /** - * SplitRecipient findUnique + * Disbursement findUnique */ - export type SplitRecipientFindUniqueArgs = { - /** - * Select specific fields to fetch from the SplitRecipient - */ - select?: SplitRecipientSelect | null + export type DisbursementFindUniqueArgs = { /** - * Choose, which related nodes to fetch as well + * Select specific fields to fetch from the Disbursement */ - include?: SplitRecipientInclude | null + select?: DisbursementSelect | null /** - * Filter, which SplitRecipient to fetch. + * Filter, which Disbursement to fetch. */ - where: SplitRecipientWhereUniqueInput + where: DisbursementWhereUniqueInput } /** - * SplitRecipient findUniqueOrThrow + * Disbursement findUniqueOrThrow */ - export type SplitRecipientFindUniqueOrThrowArgs = { - /** - * Select specific fields to fetch from the SplitRecipient - */ - select?: SplitRecipientSelect | null + export type DisbursementFindUniqueOrThrowArgs = { /** - * Choose, which related nodes to fetch as well + * Select specific fields to fetch from the Disbursement */ - include?: SplitRecipientInclude | null + select?: DisbursementSelect | null /** - * Filter, which SplitRecipient to fetch. + * Filter, which Disbursement to fetch. */ - where: SplitRecipientWhereUniqueInput + where: DisbursementWhereUniqueInput } /** - * SplitRecipient findFirst + * Disbursement findFirst */ - export type SplitRecipientFindFirstArgs = { - /** - * Select specific fields to fetch from the SplitRecipient - */ - select?: SplitRecipientSelect | null + export type DisbursementFindFirstArgs = { /** - * Choose, which related nodes to fetch as well + * Select specific fields to fetch from the Disbursement */ - include?: SplitRecipientInclude | null + select?: DisbursementSelect | null /** - * Filter, which SplitRecipient to fetch. + * Filter, which Disbursement to fetch. */ - where?: SplitRecipientWhereInput + where?: DisbursementWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * - * Determine the order of SplitRecipients to fetch. + * Determine the order of Disbursements to fetch. */ - orderBy?: SplitRecipientOrderByWithRelationInput | SplitRecipientOrderByWithRelationInput[] + orderBy?: DisbursementOrderByWithRelationInput | DisbursementOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * - * Sets the position for searching for SplitRecipients. + * Sets the position for searching for Disbursements. */ - cursor?: SplitRecipientWhereUniqueInput + cursor?: DisbursementWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * - * Take `±n` SplitRecipients from the position of the cursor. + * Take `±n` Disbursements from the position of the cursor. */ take?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * - * Skip the first `n` SplitRecipients. + * Skip the first `n` Disbursements. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * - * Filter by unique combinations of SplitRecipients. + * Filter by unique combinations of Disbursements. */ - distinct?: SplitRecipientScalarFieldEnum | SplitRecipientScalarFieldEnum[] + distinct?: DisbursementScalarFieldEnum | DisbursementScalarFieldEnum[] } /** - * SplitRecipient findFirstOrThrow + * Disbursement findFirstOrThrow */ - export type SplitRecipientFindFirstOrThrowArgs = { - /** - * Select specific fields to fetch from the SplitRecipient - */ - select?: SplitRecipientSelect | null + export type DisbursementFindFirstOrThrowArgs = { /** - * Choose, which related nodes to fetch as well + * Select specific fields to fetch from the Disbursement */ - include?: SplitRecipientInclude | null + select?: DisbursementSelect | null /** - * Filter, which SplitRecipient to fetch. + * Filter, which Disbursement to fetch. */ - where?: SplitRecipientWhereInput + where?: DisbursementWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * - * Determine the order of SplitRecipients to fetch. + * Determine the order of Disbursements to fetch. */ - orderBy?: SplitRecipientOrderByWithRelationInput | SplitRecipientOrderByWithRelationInput[] + orderBy?: DisbursementOrderByWithRelationInput | DisbursementOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * - * Sets the position for searching for SplitRecipients. + * Sets the position for searching for Disbursements. */ - cursor?: SplitRecipientWhereUniqueInput + cursor?: DisbursementWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * - * Take `±n` SplitRecipients from the position of the cursor. + * Take `±n` Disbursements from the position of the cursor. */ take?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * - * Skip the first `n` SplitRecipients. + * Skip the first `n` Disbursements. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * - * Filter by unique combinations of SplitRecipients. + * Filter by unique combinations of Disbursements. */ - distinct?: SplitRecipientScalarFieldEnum | SplitRecipientScalarFieldEnum[] + distinct?: DisbursementScalarFieldEnum | DisbursementScalarFieldEnum[] } /** - * SplitRecipient findMany + * Disbursement findMany */ - export type SplitRecipientFindManyArgs = { - /** - * Select specific fields to fetch from the SplitRecipient - */ - select?: SplitRecipientSelect | null + export type DisbursementFindManyArgs = { /** - * Choose, which related nodes to fetch as well + * Select specific fields to fetch from the Disbursement */ - include?: SplitRecipientInclude | null + select?: DisbursementSelect | null /** - * Filter, which SplitRecipients to fetch. + * Filter, which Disbursements to fetch. */ - where?: SplitRecipientWhereInput + where?: DisbursementWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * - * Determine the order of SplitRecipients to fetch. + * Determine the order of Disbursements to fetch. */ - orderBy?: SplitRecipientOrderByWithRelationInput | SplitRecipientOrderByWithRelationInput[] + orderBy?: DisbursementOrderByWithRelationInput | DisbursementOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * - * Sets the position for listing SplitRecipients. + * Sets the position for listing Disbursements. */ - cursor?: SplitRecipientWhereUniqueInput + cursor?: DisbursementWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * - * Take `±n` SplitRecipients from the position of the cursor. + * Take `±n` Disbursements from the position of the cursor. */ take?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * - * Skip the first `n` SplitRecipients. + * Skip the first `n` Disbursements. */ skip?: number - distinct?: SplitRecipientScalarFieldEnum | SplitRecipientScalarFieldEnum[] + distinct?: DisbursementScalarFieldEnum | DisbursementScalarFieldEnum[] } /** - * SplitRecipient create + * Disbursement create */ - export type SplitRecipientCreateArgs = { - /** - * Select specific fields to fetch from the SplitRecipient - */ - select?: SplitRecipientSelect | null + export type DisbursementCreateArgs = { /** - * Choose, which related nodes to fetch as well + * Select specific fields to fetch from the Disbursement */ - include?: SplitRecipientInclude | null + select?: DisbursementSelect | null /** - * The data needed to create a SplitRecipient. + * The data needed to create a Disbursement. */ - data: XOR + data: XOR } /** - * SplitRecipient createMany + * Disbursement createMany */ - export type SplitRecipientCreateManyArgs = { + export type DisbursementCreateManyArgs = { /** - * The data used to create many SplitRecipients. + * The data used to create many Disbursements. */ - data: SplitRecipientCreateManyInput | SplitRecipientCreateManyInput[] + data: DisbursementCreateManyInput | DisbursementCreateManyInput[] skipDuplicates?: boolean } /** - * SplitRecipient createManyAndReturn + * Disbursement createManyAndReturn */ - export type SplitRecipientCreateManyAndReturnArgs = { + export type DisbursementCreateManyAndReturnArgs = { /** - * Select specific fields to fetch from the SplitRecipient + * Select specific fields to fetch from the Disbursement */ - select?: SplitRecipientSelectCreateManyAndReturn | null + select?: DisbursementSelectCreateManyAndReturn | null /** - * The data used to create many SplitRecipients. + * The data used to create many Disbursements. */ - data: SplitRecipientCreateManyInput | SplitRecipientCreateManyInput[] + data: DisbursementCreateManyInput | DisbursementCreateManyInput[] skipDuplicates?: boolean - /** - * Choose, which related nodes to fetch as well - */ - include?: SplitRecipientIncludeCreateManyAndReturn | null } /** - * SplitRecipient update + * Disbursement update */ - export type SplitRecipientUpdateArgs = { - /** - * Select specific fields to fetch from the SplitRecipient - */ - select?: SplitRecipientSelect | null + export type DisbursementUpdateArgs = { /** - * Choose, which related nodes to fetch as well + * Select specific fields to fetch from the Disbursement */ - include?: SplitRecipientInclude | null + select?: DisbursementSelect | null /** - * The data needed to update a SplitRecipient. + * The data needed to update a Disbursement. */ - data: XOR + data: XOR /** - * Choose, which SplitRecipient to update. + * Choose, which Disbursement to update. */ - where: SplitRecipientWhereUniqueInput + where: DisbursementWhereUniqueInput } /** - * SplitRecipient updateMany + * Disbursement updateMany */ - export type SplitRecipientUpdateManyArgs = { + export type DisbursementUpdateManyArgs = { /** - * The data used to update SplitRecipients. + * The data used to update Disbursements. */ - data: XOR + data: XOR /** - * Filter which SplitRecipients to update + * Filter which Disbursements to update */ - where?: SplitRecipientWhereInput + where?: DisbursementWhereInput } /** - * SplitRecipient upsert + * Disbursement upsert */ - export type SplitRecipientUpsertArgs = { - /** - * Select specific fields to fetch from the SplitRecipient - */ - select?: SplitRecipientSelect | null + export type DisbursementUpsertArgs = { /** - * Choose, which related nodes to fetch as well + * Select specific fields to fetch from the Disbursement */ - include?: SplitRecipientInclude | null + select?: DisbursementSelect | null /** - * The filter to search for the SplitRecipient to update in case it exists. + * The filter to search for the Disbursement to update in case it exists. */ - where: SplitRecipientWhereUniqueInput + where: DisbursementWhereUniqueInput /** - * In case the SplitRecipient found by the `where` argument doesn't exist, create a new SplitRecipient with this data. + * In case the Disbursement found by the `where` argument doesn't exist, create a new Disbursement with this data. */ - create: XOR + create: XOR /** - * In case the SplitRecipient was found with the provided `where` argument, update it with this data. + * In case the Disbursement was found with the provided `where` argument, update it with this data. */ - update: XOR + update: XOR } /** - * SplitRecipient delete + * Disbursement delete */ - export type SplitRecipientDeleteArgs = { - /** - * Select specific fields to fetch from the SplitRecipient - */ - select?: SplitRecipientSelect | null + export type DisbursementDeleteArgs = { /** - * Choose, which related nodes to fetch as well + * Select specific fields to fetch from the Disbursement */ - include?: SplitRecipientInclude | null + select?: DisbursementSelect | null /** - * Filter which SplitRecipient to delete. + * Filter which Disbursement to delete. */ - where: SplitRecipientWhereUniqueInput + where: DisbursementWhereUniqueInput } /** - * SplitRecipient deleteMany + * Disbursement deleteMany */ - export type SplitRecipientDeleteManyArgs = { + export type DisbursementDeleteManyArgs = { /** - * Filter which SplitRecipients to delete + * Filter which Disbursements to delete */ - where?: SplitRecipientWhereInput + where?: DisbursementWhereInput } /** - * SplitRecipient without action + * Disbursement without action */ - export type SplitRecipientDefaultArgs = { - /** - * Select specific fields to fetch from the SplitRecipient - */ - select?: SplitRecipientSelect | null + export type DisbursementDefaultArgs = { /** - * Choose, which related nodes to fetch as well + * Select specific fields to fetch from the Disbursement */ - include?: SplitRecipientInclude | null + select?: DisbursementSelect | null } @@ -36803,6 +37901,7 @@ export namespace Prisma { fullUrl: string | null payloadHash: string | null creatorAddress: string | null + passwordHash: string | null clickCount: number | null lastClickedAt: Date | null expiresAt: Date | null @@ -36815,6 +37914,7 @@ export namespace Prisma { fullUrl: string | null payloadHash: string | null creatorAddress: string | null + passwordHash: string | null clickCount: number | null lastClickedAt: Date | null expiresAt: Date | null @@ -36827,6 +37927,7 @@ export namespace Prisma { fullUrl: number payloadHash: number creatorAddress: number + passwordHash: number clickCount: number lastClickedAt: number expiresAt: number @@ -36849,6 +37950,7 @@ export namespace Prisma { fullUrl?: true payloadHash?: true creatorAddress?: true + passwordHash?: true clickCount?: true lastClickedAt?: true expiresAt?: true @@ -36861,6 +37963,7 @@ export namespace Prisma { fullUrl?: true payloadHash?: true creatorAddress?: true + passwordHash?: true clickCount?: true lastClickedAt?: true expiresAt?: true @@ -36873,6 +37976,7 @@ export namespace Prisma { fullUrl?: true payloadHash?: true creatorAddress?: true + passwordHash?: true clickCount?: true lastClickedAt?: true expiresAt?: true @@ -36972,6 +38076,7 @@ export namespace Prisma { fullUrl: string payloadHash: string creatorAddress: string + passwordHash: string | null clickCount: number lastClickedAt: Date | null expiresAt: Date | null @@ -37003,6 +38108,7 @@ export namespace Prisma { fullUrl?: boolean payloadHash?: boolean creatorAddress?: boolean + passwordHash?: boolean clickCount?: boolean lastClickedAt?: boolean expiresAt?: boolean @@ -37015,6 +38121,7 @@ export namespace Prisma { fullUrl?: boolean payloadHash?: boolean creatorAddress?: boolean + passwordHash?: boolean clickCount?: boolean lastClickedAt?: boolean expiresAt?: boolean @@ -37027,6 +38134,7 @@ export namespace Prisma { fullUrl?: boolean payloadHash?: boolean creatorAddress?: boolean + passwordHash?: boolean clickCount?: boolean lastClickedAt?: boolean expiresAt?: boolean @@ -37043,6 +38151,7 @@ export namespace Prisma { fullUrl: string payloadHash: string creatorAddress: string + passwordHash: string | null clickCount: number lastClickedAt: Date | null expiresAt: Date | null @@ -37445,6 +38554,7 @@ export namespace Prisma { readonly fullUrl: FieldRef<"SplitLink", 'String'> readonly payloadHash: FieldRef<"SplitLink", 'String'> readonly creatorAddress: FieldRef<"SplitLink", 'String'> + readonly passwordHash: FieldRef<"SplitLink", 'String'> readonly clickCount: FieldRef<"SplitLink", 'Int'> readonly lastClickedAt: FieldRef<"SplitLink", 'DateTime'> readonly expiresAt: FieldRef<"SplitLink", 'DateTime'> @@ -37939,6 +39049,20 @@ export namespace Prisma { export type ProposalScalarFieldEnum = (typeof ProposalScalarFieldEnum)[keyof typeof ProposalScalarFieldEnum] + export const EventScalarFieldEnum: { + id: 'id', + eventId: 'eventId', + streamId: 'streamId', + eventType: 'eventType', + payload: 'payload', + timestamp: 'timestamp', + hash: 'hash', + previousHash: 'previousHash' + }; + + export type EventScalarFieldEnum = (typeof EventScalarFieldEnum)[keyof typeof EventScalarFieldEnum] + + export const OrganizationMemberScalarFieldEnum: { id: 'id', orgAddress: 'orgAddress', @@ -38067,6 +39191,10 @@ export namespace Prisma { imageUrl: 'imageUrl', decimals: 'decimals', isVerified: 'isVerified', + stellarExpertVerified: 'stellarExpertVerified', + tomlUrl: 'tomlUrl', + orgVerified: 'orgVerified', + orgHomeDomain: 'orgHomeDomain', lastFetchedAt: 'lastFetchedAt', createdAt: 'createdAt', updatedAt: 'updatedAt' @@ -38110,27 +39238,38 @@ export namespace Prisma { export type AssetConfigScalarFieldEnum = (typeof AssetConfigScalarFieldEnum)[keyof typeof AssetConfigScalarFieldEnum] - export const DisbursementScalarFieldEnum: { + export const ArchivedDisbursementScalarFieldEnum: { id: 'id', - senderAddress: 'senderAddress', - totalAmount: 'totalAmount', - asset: 'asset', + streamId: 'streamId', txHash: 'txHash', - createdAt: 'createdAt' + sender: 'sender', + receiver: 'receiver', + amount: 'amount', + tokenAddress: 'tokenAddress', + status: 'status', + completedAt: 'completedAt', + archivedAt: 'archivedAt', + originalLedger: 'originalLedger' }; - export type DisbursementScalarFieldEnum = (typeof DisbursementScalarFieldEnum)[keyof typeof DisbursementScalarFieldEnum] + export type ArchivedDisbursementScalarFieldEnum = (typeof ArchivedDisbursementScalarFieldEnum)[keyof typeof ArchivedDisbursementScalarFieldEnum] - export const SplitRecipientScalarFieldEnum: { + export const DisbursementScalarFieldEnum: { id: 'id', - disbursementId: 'disbursementId', - recipientAddress: 'recipientAddress', + streamId: 'streamId', + txHash: 'txHash', + sender: 'sender', + receiver: 'receiver', amount: 'amount', - status: 'status' + tokenAddress: 'tokenAddress', + status: 'status', + createdAt: 'createdAt', + completedAt: 'completedAt', + ledger: 'ledger' }; - export type SplitRecipientScalarFieldEnum = (typeof SplitRecipientScalarFieldEnum)[keyof typeof SplitRecipientScalarFieldEnum] + export type DisbursementScalarFieldEnum = (typeof DisbursementScalarFieldEnum)[keyof typeof DisbursementScalarFieldEnum] export const AssetMappingScalarFieldEnum: { @@ -38285,6 +39424,7 @@ export namespace Prisma { fullUrl: 'fullUrl', payloadHash: 'payloadHash', creatorAddress: 'creatorAddress', + passwordHash: 'passwordHash', clickCount: 'clickCount', lastClickedAt: 'lastClickedAt', expiresAt: 'expiresAt', @@ -38466,16 +39606,16 @@ export namespace Prisma { /** - * Reference to a field of type 'PayoutStatus' + * Reference to a field of type 'DisbursementStatus' */ - export type EnumPayoutStatusFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'PayoutStatus'> + export type EnumDisbursementStatusFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'DisbursementStatus'> /** - * Reference to a field of type 'PayoutStatus[]' + * Reference to a field of type 'DisbursementStatus[]' */ - export type ListEnumPayoutStatusFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'PayoutStatus[]'> + export type ListEnumDisbursementStatusFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'DisbursementStatus[]'> /** * Deep Input Types @@ -39410,6 +40550,73 @@ export namespace Prisma { updatedAt?: DateTimeWithAggregatesFilter<"Proposal"> | Date | string } + export type EventWhereInput = { + AND?: EventWhereInput | EventWhereInput[] + OR?: EventWhereInput[] + NOT?: EventWhereInput | EventWhereInput[] + id?: StringFilter<"Event"> | string + eventId?: StringFilter<"Event"> | string + streamId?: StringFilter<"Event"> | string + eventType?: StringFilter<"Event"> | string + payload?: JsonFilter<"Event"> + timestamp?: DateTimeFilter<"Event"> | Date | string + hash?: StringFilter<"Event"> | string + previousHash?: StringNullableFilter<"Event"> | string | null + } + + export type EventOrderByWithRelationInput = { + id?: SortOrder + eventId?: SortOrder + streamId?: SortOrder + eventType?: SortOrder + payload?: SortOrder + timestamp?: SortOrder + hash?: SortOrder + previousHash?: SortOrderInput | SortOrder + } + + export type EventWhereUniqueInput = Prisma.AtLeast<{ + id?: string + eventId?: string + AND?: EventWhereInput | EventWhereInput[] + OR?: EventWhereInput[] + NOT?: EventWhereInput | EventWhereInput[] + streamId?: StringFilter<"Event"> | string + eventType?: StringFilter<"Event"> | string + payload?: JsonFilter<"Event"> + timestamp?: DateTimeFilter<"Event"> | Date | string + hash?: StringFilter<"Event"> | string + previousHash?: StringNullableFilter<"Event"> | string | null + }, "id" | "eventId"> + + export type EventOrderByWithAggregationInput = { + id?: SortOrder + eventId?: SortOrder + streamId?: SortOrder + eventType?: SortOrder + payload?: SortOrder + timestamp?: SortOrder + hash?: SortOrder + previousHash?: SortOrderInput | SortOrder + _count?: EventCountOrderByAggregateInput + _max?: EventMaxOrderByAggregateInput + _min?: EventMinOrderByAggregateInput + } + + export type EventScalarWhereWithAggregatesInput = { + AND?: EventScalarWhereWithAggregatesInput | EventScalarWhereWithAggregatesInput[] + OR?: EventScalarWhereWithAggregatesInput[] + NOT?: EventScalarWhereWithAggregatesInput | EventScalarWhereWithAggregatesInput[] + id?: StringWithAggregatesFilter<"Event"> | string + eventId?: StringWithAggregatesFilter<"Event"> | string + streamId?: StringWithAggregatesFilter<"Event"> | string + eventType?: StringWithAggregatesFilter<"Event"> | string + payload?: JsonWithAggregatesFilter<"Event"> + timestamp?: DateTimeWithAggregatesFilter<"Event"> | Date | string + hash?: StringWithAggregatesFilter<"Event"> | string + previousHash?: StringNullableWithAggregatesFilter<"Event"> | string | null + } + export type OrganizationMemberWhereInput = { AND?: OrganizationMemberWhereInput | OrganizationMemberWhereInput[] OR?: OrganizationMemberWhereInput[] @@ -40002,6 +41209,10 @@ export namespace Prisma { imageUrl?: StringNullableFilter<"Asset"> | string | null decimals?: IntFilter<"Asset"> | number isVerified?: BoolFilter<"Asset"> | boolean + stellarExpertVerified?: BoolFilter<"Asset"> | boolean + tomlUrl?: StringNullableFilter<"Asset"> | string | null + orgVerified?: BoolFilter<"Asset"> | boolean + orgHomeDomain?: StringNullableFilter<"Asset"> | string | null lastFetchedAt?: DateTimeNullableFilter<"Asset"> | Date | string | null createdAt?: DateTimeFilter<"Asset"> | Date | string updatedAt?: DateTimeFilter<"Asset"> | Date | string @@ -40016,6 +41227,10 @@ export namespace Prisma { imageUrl?: SortOrderInput | SortOrder decimals?: SortOrder isVerified?: SortOrder + stellarExpertVerified?: SortOrder + tomlUrl?: SortOrderInput | SortOrder + orgVerified?: SortOrder + orgHomeDomain?: SortOrderInput | SortOrder lastFetchedAt?: SortOrderInput | SortOrder createdAt?: SortOrder updatedAt?: SortOrder @@ -40033,6 +41248,10 @@ export namespace Prisma { imageUrl?: StringNullableFilter<"Asset"> | string | null decimals?: IntFilter<"Asset"> | number isVerified?: BoolFilter<"Asset"> | boolean + stellarExpertVerified?: BoolFilter<"Asset"> | boolean + tomlUrl?: StringNullableFilter<"Asset"> | string | null + orgVerified?: BoolFilter<"Asset"> | boolean + orgHomeDomain?: StringNullableFilter<"Asset"> | string | null lastFetchedAt?: DateTimeNullableFilter<"Asset"> | Date | string | null createdAt?: DateTimeFilter<"Asset"> | Date | string updatedAt?: DateTimeFilter<"Asset"> | Date | string @@ -40047,6 +41266,10 @@ export namespace Prisma { imageUrl?: SortOrderInput | SortOrder decimals?: SortOrder isVerified?: SortOrder + stellarExpertVerified?: SortOrder + tomlUrl?: SortOrderInput | SortOrder + orgVerified?: SortOrder + orgHomeDomain?: SortOrderInput | SortOrder lastFetchedAt?: SortOrderInput | SortOrder createdAt?: SortOrder updatedAt?: SortOrder @@ -40069,6 +41292,10 @@ export namespace Prisma { imageUrl?: StringNullableWithAggregatesFilter<"Asset"> | string | null decimals?: IntWithAggregatesFilter<"Asset"> | number isVerified?: BoolWithAggregatesFilter<"Asset"> | boolean + stellarExpertVerified?: BoolWithAggregatesFilter<"Asset"> | boolean + tomlUrl?: StringNullableWithAggregatesFilter<"Asset"> | string | null + orgVerified?: BoolWithAggregatesFilter<"Asset"> | boolean + orgHomeDomain?: StringNullableWithAggregatesFilter<"Asset"> | string | null lastFetchedAt?: DateTimeNullableWithAggregatesFilter<"Asset"> | Date | string | null createdAt?: DateTimeWithAggregatesFilter<"Asset"> | Date | string updatedAt?: DateTimeWithAggregatesFilter<"Asset"> | Date | string @@ -40247,27 +41474,119 @@ export namespace Prisma { updatedAt?: DateTimeWithAggregatesFilter<"AssetConfig"> | Date | string } + export type ArchivedDisbursementWhereInput = { + AND?: ArchivedDisbursementWhereInput | ArchivedDisbursementWhereInput[] + OR?: ArchivedDisbursementWhereInput[] + NOT?: ArchivedDisbursementWhereInput | ArchivedDisbursementWhereInput[] + id?: StringFilter<"ArchivedDisbursement"> | string + streamId?: StringFilter<"ArchivedDisbursement"> | string + txHash?: StringFilter<"ArchivedDisbursement"> | string + sender?: StringFilter<"ArchivedDisbursement"> | string + receiver?: StringFilter<"ArchivedDisbursement"> | string + amount?: BigIntFilter<"ArchivedDisbursement"> | bigint | number + tokenAddress?: StringFilter<"ArchivedDisbursement"> | string + status?: StringFilter<"ArchivedDisbursement"> | string + completedAt?: DateTimeFilter<"ArchivedDisbursement"> | Date | string + archivedAt?: DateTimeFilter<"ArchivedDisbursement"> | Date | string + originalLedger?: IntFilter<"ArchivedDisbursement"> | number + } + + export type ArchivedDisbursementOrderByWithRelationInput = { + id?: SortOrder + streamId?: SortOrder + txHash?: SortOrder + sender?: SortOrder + receiver?: SortOrder + amount?: SortOrder + tokenAddress?: SortOrder + status?: SortOrder + completedAt?: SortOrder + archivedAt?: SortOrder + originalLedger?: SortOrder + } + + export type ArchivedDisbursementWhereUniqueInput = Prisma.AtLeast<{ + id?: string + AND?: ArchivedDisbursementWhereInput | ArchivedDisbursementWhereInput[] + OR?: ArchivedDisbursementWhereInput[] + NOT?: ArchivedDisbursementWhereInput | ArchivedDisbursementWhereInput[] + streamId?: StringFilter<"ArchivedDisbursement"> | string + txHash?: StringFilter<"ArchivedDisbursement"> | string + sender?: StringFilter<"ArchivedDisbursement"> | string + receiver?: StringFilter<"ArchivedDisbursement"> | string + amount?: BigIntFilter<"ArchivedDisbursement"> | bigint | number + tokenAddress?: StringFilter<"ArchivedDisbursement"> | string + status?: StringFilter<"ArchivedDisbursement"> | string + completedAt?: DateTimeFilter<"ArchivedDisbursement"> | Date | string + archivedAt?: DateTimeFilter<"ArchivedDisbursement"> | Date | string + originalLedger?: IntFilter<"ArchivedDisbursement"> | number + }, "id"> + + export type ArchivedDisbursementOrderByWithAggregationInput = { + id?: SortOrder + streamId?: SortOrder + txHash?: SortOrder + sender?: SortOrder + receiver?: SortOrder + amount?: SortOrder + tokenAddress?: SortOrder + status?: SortOrder + completedAt?: SortOrder + archivedAt?: SortOrder + originalLedger?: SortOrder + _count?: ArchivedDisbursementCountOrderByAggregateInput + _avg?: ArchivedDisbursementAvgOrderByAggregateInput + _max?: ArchivedDisbursementMaxOrderByAggregateInput + _min?: ArchivedDisbursementMinOrderByAggregateInput + _sum?: ArchivedDisbursementSumOrderByAggregateInput + } + + export type ArchivedDisbursementScalarWhereWithAggregatesInput = { + AND?: ArchivedDisbursementScalarWhereWithAggregatesInput | ArchivedDisbursementScalarWhereWithAggregatesInput[] + OR?: ArchivedDisbursementScalarWhereWithAggregatesInput[] + NOT?: ArchivedDisbursementScalarWhereWithAggregatesInput | ArchivedDisbursementScalarWhereWithAggregatesInput[] + id?: StringWithAggregatesFilter<"ArchivedDisbursement"> | string + streamId?: StringWithAggregatesFilter<"ArchivedDisbursement"> | string + txHash?: StringWithAggregatesFilter<"ArchivedDisbursement"> | string + sender?: StringWithAggregatesFilter<"ArchivedDisbursement"> | string + receiver?: StringWithAggregatesFilter<"ArchivedDisbursement"> | string + amount?: BigIntWithAggregatesFilter<"ArchivedDisbursement"> | bigint | number + tokenAddress?: StringWithAggregatesFilter<"ArchivedDisbursement"> | string + status?: StringWithAggregatesFilter<"ArchivedDisbursement"> | string + completedAt?: DateTimeWithAggregatesFilter<"ArchivedDisbursement"> | Date | string + archivedAt?: DateTimeWithAggregatesFilter<"ArchivedDisbursement"> | Date | string + originalLedger?: IntWithAggregatesFilter<"ArchivedDisbursement"> | number + } + export type DisbursementWhereInput = { AND?: DisbursementWhereInput | DisbursementWhereInput[] OR?: DisbursementWhereInput[] NOT?: DisbursementWhereInput | DisbursementWhereInput[] id?: StringFilter<"Disbursement"> | string - senderAddress?: StringFilter<"Disbursement"> | string - totalAmount?: StringFilter<"Disbursement"> | string - asset?: StringFilter<"Disbursement"> | string + streamId?: StringFilter<"Disbursement"> | string txHash?: StringFilter<"Disbursement"> | string + sender?: StringFilter<"Disbursement"> | string + receiver?: StringFilter<"Disbursement"> | string + amount?: BigIntFilter<"Disbursement"> | bigint | number + tokenAddress?: StringFilter<"Disbursement"> | string + status?: EnumDisbursementStatusFilter<"Disbursement"> | $Enums.DisbursementStatus createdAt?: DateTimeFilter<"Disbursement"> | Date | string - recipients?: SplitRecipientListRelationFilter + completedAt?: DateTimeNullableFilter<"Disbursement"> | Date | string | null + ledger?: IntFilter<"Disbursement"> | number } export type DisbursementOrderByWithRelationInput = { id?: SortOrder - senderAddress?: SortOrder - totalAmount?: SortOrder - asset?: SortOrder + streamId?: SortOrder txHash?: SortOrder + sender?: SortOrder + receiver?: SortOrder + amount?: SortOrder + tokenAddress?: SortOrder + status?: SortOrder createdAt?: SortOrder - recipients?: SplitRecipientOrderByRelationAggregateInput + completedAt?: SortOrderInput | SortOrder + ledger?: SortOrder } export type DisbursementWhereUniqueInput = Prisma.AtLeast<{ @@ -40276,23 +41595,34 @@ export namespace Prisma { AND?: DisbursementWhereInput | DisbursementWhereInput[] OR?: DisbursementWhereInput[] NOT?: DisbursementWhereInput | DisbursementWhereInput[] - senderAddress?: StringFilter<"Disbursement"> | string - totalAmount?: StringFilter<"Disbursement"> | string - asset?: StringFilter<"Disbursement"> | string + streamId?: StringFilter<"Disbursement"> | string + sender?: StringFilter<"Disbursement"> | string + receiver?: StringFilter<"Disbursement"> | string + amount?: BigIntFilter<"Disbursement"> | bigint | number + tokenAddress?: StringFilter<"Disbursement"> | string + status?: EnumDisbursementStatusFilter<"Disbursement"> | $Enums.DisbursementStatus createdAt?: DateTimeFilter<"Disbursement"> | Date | string - recipients?: SplitRecipientListRelationFilter + completedAt?: DateTimeNullableFilter<"Disbursement"> | Date | string | null + ledger?: IntFilter<"Disbursement"> | number }, "id" | "txHash"> export type DisbursementOrderByWithAggregationInput = { id?: SortOrder - senderAddress?: SortOrder - totalAmount?: SortOrder - asset?: SortOrder + streamId?: SortOrder txHash?: SortOrder + sender?: SortOrder + receiver?: SortOrder + amount?: SortOrder + tokenAddress?: SortOrder + status?: SortOrder createdAt?: SortOrder + completedAt?: SortOrderInput | SortOrder + ledger?: SortOrder _count?: DisbursementCountOrderByAggregateInput + _avg?: DisbursementAvgOrderByAggregateInput _max?: DisbursementMaxOrderByAggregateInput _min?: DisbursementMinOrderByAggregateInput + _sum?: DisbursementSumOrderByAggregateInput } export type DisbursementScalarWhereWithAggregatesInput = { @@ -40300,66 +41630,16 @@ export namespace Prisma { OR?: DisbursementScalarWhereWithAggregatesInput[] NOT?: DisbursementScalarWhereWithAggregatesInput | DisbursementScalarWhereWithAggregatesInput[] id?: StringWithAggregatesFilter<"Disbursement"> | string - senderAddress?: StringWithAggregatesFilter<"Disbursement"> | string - totalAmount?: StringWithAggregatesFilter<"Disbursement"> | string - asset?: StringWithAggregatesFilter<"Disbursement"> | string + streamId?: StringWithAggregatesFilter<"Disbursement"> | string txHash?: StringWithAggregatesFilter<"Disbursement"> | string + sender?: StringWithAggregatesFilter<"Disbursement"> | string + receiver?: StringWithAggregatesFilter<"Disbursement"> | string + amount?: BigIntWithAggregatesFilter<"Disbursement"> | bigint | number + tokenAddress?: StringWithAggregatesFilter<"Disbursement"> | string + status?: EnumDisbursementStatusWithAggregatesFilter<"Disbursement"> | $Enums.DisbursementStatus createdAt?: DateTimeWithAggregatesFilter<"Disbursement"> | Date | string - } - - export type SplitRecipientWhereInput = { - AND?: SplitRecipientWhereInput | SplitRecipientWhereInput[] - OR?: SplitRecipientWhereInput[] - NOT?: SplitRecipientWhereInput | SplitRecipientWhereInput[] - id?: StringFilter<"SplitRecipient"> | string - disbursementId?: StringFilter<"SplitRecipient"> | string - recipientAddress?: StringFilter<"SplitRecipient"> | string - amount?: StringFilter<"SplitRecipient"> | string - status?: EnumPayoutStatusFilter<"SplitRecipient"> | $Enums.PayoutStatus - disbursement?: XOR - } - - export type SplitRecipientOrderByWithRelationInput = { - id?: SortOrder - disbursementId?: SortOrder - recipientAddress?: SortOrder - amount?: SortOrder - status?: SortOrder - disbursement?: DisbursementOrderByWithRelationInput - } - - export type SplitRecipientWhereUniqueInput = Prisma.AtLeast<{ - id?: string - AND?: SplitRecipientWhereInput | SplitRecipientWhereInput[] - OR?: SplitRecipientWhereInput[] - NOT?: SplitRecipientWhereInput | SplitRecipientWhereInput[] - disbursementId?: StringFilter<"SplitRecipient"> | string - recipientAddress?: StringFilter<"SplitRecipient"> | string - amount?: StringFilter<"SplitRecipient"> | string - status?: EnumPayoutStatusFilter<"SplitRecipient"> | $Enums.PayoutStatus - disbursement?: XOR - }, "id"> - - export type SplitRecipientOrderByWithAggregationInput = { - id?: SortOrder - disbursementId?: SortOrder - recipientAddress?: SortOrder - amount?: SortOrder - status?: SortOrder - _count?: SplitRecipientCountOrderByAggregateInput - _max?: SplitRecipientMaxOrderByAggregateInput - _min?: SplitRecipientMinOrderByAggregateInput - } - - export type SplitRecipientScalarWhereWithAggregatesInput = { - AND?: SplitRecipientScalarWhereWithAggregatesInput | SplitRecipientScalarWhereWithAggregatesInput[] - OR?: SplitRecipientScalarWhereWithAggregatesInput[] - NOT?: SplitRecipientScalarWhereWithAggregatesInput | SplitRecipientScalarWhereWithAggregatesInput[] - id?: StringWithAggregatesFilter<"SplitRecipient"> | string - disbursementId?: StringWithAggregatesFilter<"SplitRecipient"> | string - recipientAddress?: StringWithAggregatesFilter<"SplitRecipient"> | string - amount?: StringWithAggregatesFilter<"SplitRecipient"> | string - status?: EnumPayoutStatusWithAggregatesFilter<"SplitRecipient"> | $Enums.PayoutStatus + completedAt?: DateTimeNullableWithAggregatesFilter<"Disbursement"> | Date | string | null + ledger?: IntWithAggregatesFilter<"Disbursement"> | number } export type AssetMappingWhereInput = { @@ -41100,6 +42380,7 @@ export namespace Prisma { fullUrl?: StringFilter<"SplitLink"> | string payloadHash?: StringFilter<"SplitLink"> | string creatorAddress?: StringFilter<"SplitLink"> | string + passwordHash?: StringNullableFilter<"SplitLink"> | string | null clickCount?: IntFilter<"SplitLink"> | number lastClickedAt?: DateTimeNullableFilter<"SplitLink"> | Date | string | null expiresAt?: DateTimeNullableFilter<"SplitLink"> | Date | string | null @@ -41112,6 +42393,7 @@ export namespace Prisma { fullUrl?: SortOrder payloadHash?: SortOrder creatorAddress?: SortOrder + passwordHash?: SortOrderInput | SortOrder clickCount?: SortOrder lastClickedAt?: SortOrderInput | SortOrder expiresAt?: SortOrderInput | SortOrder @@ -41127,6 +42409,7 @@ export namespace Prisma { NOT?: SplitLinkWhereInput | SplitLinkWhereInput[] fullUrl?: StringFilter<"SplitLink"> | string creatorAddress?: StringFilter<"SplitLink"> | string + passwordHash?: StringNullableFilter<"SplitLink"> | string | null clickCount?: IntFilter<"SplitLink"> | number lastClickedAt?: DateTimeNullableFilter<"SplitLink"> | Date | string | null expiresAt?: DateTimeNullableFilter<"SplitLink"> | Date | string | null @@ -41139,6 +42422,7 @@ export namespace Prisma { fullUrl?: SortOrder payloadHash?: SortOrder creatorAddress?: SortOrder + passwordHash?: SortOrderInput | SortOrder clickCount?: SortOrder lastClickedAt?: SortOrderInput | SortOrder expiresAt?: SortOrderInput | SortOrder @@ -41159,6 +42443,7 @@ export namespace Prisma { fullUrl?: StringWithAggregatesFilter<"SplitLink"> | string payloadHash?: StringWithAggregatesFilter<"SplitLink"> | string creatorAddress?: StringWithAggregatesFilter<"SplitLink"> | string + passwordHash?: StringNullableWithAggregatesFilter<"SplitLink"> | string | null clickCount?: IntWithAggregatesFilter<"SplitLink"> | number lastClickedAt?: DateTimeNullableWithAggregatesFilter<"SplitLink"> | Date | string | null expiresAt?: DateTimeNullableWithAggregatesFilter<"SplitLink"> | Date | string | null @@ -42250,6 +43535,83 @@ export namespace Prisma { updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } + export type EventCreateInput = { + id?: string + eventId: string + streamId: string + eventType: string + payload: JsonNullValueInput | InputJsonValue + timestamp?: Date | string + hash: string + previousHash?: string | null + } + + export type EventUncheckedCreateInput = { + id?: string + eventId: string + streamId: string + eventType: string + payload: JsonNullValueInput | InputJsonValue + timestamp?: Date | string + hash: string + previousHash?: string | null + } + + export type EventUpdateInput = { + id?: StringFieldUpdateOperationsInput | string + eventId?: StringFieldUpdateOperationsInput | string + streamId?: StringFieldUpdateOperationsInput | string + eventType?: StringFieldUpdateOperationsInput | string + payload?: JsonNullValueInput | InputJsonValue + timestamp?: DateTimeFieldUpdateOperationsInput | Date | string + hash?: StringFieldUpdateOperationsInput | string + previousHash?: NullableStringFieldUpdateOperationsInput | string | null + } + + export type EventUncheckedUpdateInput = { + id?: StringFieldUpdateOperationsInput | string + eventId?: StringFieldUpdateOperationsInput | string + streamId?: StringFieldUpdateOperationsInput | string + eventType?: StringFieldUpdateOperationsInput | string + payload?: JsonNullValueInput | InputJsonValue + timestamp?: DateTimeFieldUpdateOperationsInput | Date | string + hash?: StringFieldUpdateOperationsInput | string + previousHash?: NullableStringFieldUpdateOperationsInput | string | null + } + + export type EventCreateManyInput = { + id?: string + eventId: string + streamId: string + eventType: string + payload: JsonNullValueInput | InputJsonValue + timestamp?: Date | string + hash: string + previousHash?: string | null + } + + export type EventUpdateManyMutationInput = { + id?: StringFieldUpdateOperationsInput | string + eventId?: StringFieldUpdateOperationsInput | string + streamId?: StringFieldUpdateOperationsInput | string + eventType?: StringFieldUpdateOperationsInput | string + payload?: JsonNullValueInput | InputJsonValue + timestamp?: DateTimeFieldUpdateOperationsInput | Date | string + hash?: StringFieldUpdateOperationsInput | string + previousHash?: NullableStringFieldUpdateOperationsInput | string | null + } + + export type EventUncheckedUpdateManyInput = { + id?: StringFieldUpdateOperationsInput | string + eventId?: StringFieldUpdateOperationsInput | string + streamId?: StringFieldUpdateOperationsInput | string + eventType?: StringFieldUpdateOperationsInput | string + payload?: JsonNullValueInput | InputJsonValue + timestamp?: DateTimeFieldUpdateOperationsInput | Date | string + hash?: StringFieldUpdateOperationsInput | string + previousHash?: NullableStringFieldUpdateOperationsInput | string | null + } + export type OrganizationMemberCreateInput = { id?: string orgAddress: string @@ -42903,6 +44265,10 @@ export namespace Prisma { imageUrl?: string | null decimals?: number isVerified?: boolean + stellarExpertVerified?: boolean + tomlUrl?: string | null + orgVerified?: boolean + orgHomeDomain?: string | null lastFetchedAt?: Date | string | null createdAt?: Date | string updatedAt?: Date | string @@ -42917,6 +44283,10 @@ export namespace Prisma { imageUrl?: string | null decimals?: number isVerified?: boolean + stellarExpertVerified?: boolean + tomlUrl?: string | null + orgVerified?: boolean + orgHomeDomain?: string | null lastFetchedAt?: Date | string | null createdAt?: Date | string updatedAt?: Date | string @@ -42931,6 +44301,10 @@ export namespace Prisma { imageUrl?: NullableStringFieldUpdateOperationsInput | string | null decimals?: IntFieldUpdateOperationsInput | number isVerified?: BoolFieldUpdateOperationsInput | boolean + stellarExpertVerified?: BoolFieldUpdateOperationsInput | boolean + tomlUrl?: NullableStringFieldUpdateOperationsInput | string | null + orgVerified?: BoolFieldUpdateOperationsInput | boolean + orgHomeDomain?: NullableStringFieldUpdateOperationsInput | string | null lastFetchedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string @@ -42945,6 +44319,10 @@ export namespace Prisma { imageUrl?: NullableStringFieldUpdateOperationsInput | string | null decimals?: IntFieldUpdateOperationsInput | number isVerified?: BoolFieldUpdateOperationsInput | boolean + stellarExpertVerified?: BoolFieldUpdateOperationsInput | boolean + tomlUrl?: NullableStringFieldUpdateOperationsInput | string | null + orgVerified?: BoolFieldUpdateOperationsInput | boolean + orgHomeDomain?: NullableStringFieldUpdateOperationsInput | string | null lastFetchedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string @@ -42959,6 +44337,10 @@ export namespace Prisma { imageUrl?: string | null decimals?: number isVerified?: boolean + stellarExpertVerified?: boolean + tomlUrl?: string | null + orgVerified?: boolean + orgHomeDomain?: string | null lastFetchedAt?: Date | string | null createdAt?: Date | string updatedAt?: Date | string @@ -42973,6 +44355,10 @@ export namespace Prisma { imageUrl?: NullableStringFieldUpdateOperationsInput | string | null decimals?: IntFieldUpdateOperationsInput | number isVerified?: BoolFieldUpdateOperationsInput | boolean + stellarExpertVerified?: BoolFieldUpdateOperationsInput | boolean + tomlUrl?: NullableStringFieldUpdateOperationsInput | string | null + orgVerified?: BoolFieldUpdateOperationsInput | boolean + orgHomeDomain?: NullableStringFieldUpdateOperationsInput | string | null lastFetchedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string @@ -42987,6 +44373,10 @@ export namespace Prisma { imageUrl?: NullableStringFieldUpdateOperationsInput | string | null decimals?: IntFieldUpdateOperationsInput | number isVerified?: BoolFieldUpdateOperationsInput | boolean + stellarExpertVerified?: BoolFieldUpdateOperationsInput | boolean + tomlUrl?: NullableStringFieldUpdateOperationsInput | string | null + orgVerified?: BoolFieldUpdateOperationsInput | boolean + orgHomeDomain?: NullableStringFieldUpdateOperationsInput | string | null lastFetchedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string @@ -43195,126 +44585,200 @@ export namespace Prisma { updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } - export type DisbursementCreateInput = { + export type ArchivedDisbursementCreateInput = { id?: string - senderAddress: string - totalAmount: string - asset: string + streamId: string txHash: string - createdAt?: Date | string - recipients?: SplitRecipientCreateNestedManyWithoutDisbursementInput + sender: string + receiver: string + amount: bigint | number + tokenAddress: string + status: string + completedAt: Date | string + archivedAt?: Date | string + originalLedger: number } - export type DisbursementUncheckedCreateInput = { + export type ArchivedDisbursementUncheckedCreateInput = { id?: string - senderAddress: string - totalAmount: string - asset: string + streamId: string txHash: string - createdAt?: Date | string - recipients?: SplitRecipientUncheckedCreateNestedManyWithoutDisbursementInput + sender: string + receiver: string + amount: bigint | number + tokenAddress: string + status: string + completedAt: Date | string + archivedAt?: Date | string + originalLedger: number } - export type DisbursementUpdateInput = { + export type ArchivedDisbursementUpdateInput = { id?: StringFieldUpdateOperationsInput | string - senderAddress?: StringFieldUpdateOperationsInput | string - totalAmount?: StringFieldUpdateOperationsInput | string - asset?: StringFieldUpdateOperationsInput | string + streamId?: StringFieldUpdateOperationsInput | string txHash?: StringFieldUpdateOperationsInput | string - createdAt?: DateTimeFieldUpdateOperationsInput | Date | string - recipients?: SplitRecipientUpdateManyWithoutDisbursementNestedInput + sender?: StringFieldUpdateOperationsInput | string + receiver?: StringFieldUpdateOperationsInput | string + amount?: BigIntFieldUpdateOperationsInput | bigint | number + tokenAddress?: StringFieldUpdateOperationsInput | string + status?: StringFieldUpdateOperationsInput | string + completedAt?: DateTimeFieldUpdateOperationsInput | Date | string + archivedAt?: DateTimeFieldUpdateOperationsInput | Date | string + originalLedger?: IntFieldUpdateOperationsInput | number } - export type DisbursementUncheckedUpdateInput = { + export type ArchivedDisbursementUncheckedUpdateInput = { id?: StringFieldUpdateOperationsInput | string - senderAddress?: StringFieldUpdateOperationsInput | string - totalAmount?: StringFieldUpdateOperationsInput | string - asset?: StringFieldUpdateOperationsInput | string + streamId?: StringFieldUpdateOperationsInput | string txHash?: StringFieldUpdateOperationsInput | string - createdAt?: DateTimeFieldUpdateOperationsInput | Date | string - recipients?: SplitRecipientUncheckedUpdateManyWithoutDisbursementNestedInput + sender?: StringFieldUpdateOperationsInput | string + receiver?: StringFieldUpdateOperationsInput | string + amount?: BigIntFieldUpdateOperationsInput | bigint | number + tokenAddress?: StringFieldUpdateOperationsInput | string + status?: StringFieldUpdateOperationsInput | string + completedAt?: DateTimeFieldUpdateOperationsInput | Date | string + archivedAt?: DateTimeFieldUpdateOperationsInput | Date | string + originalLedger?: IntFieldUpdateOperationsInput | number } - export type DisbursementCreateManyInput = { + export type ArchivedDisbursementCreateManyInput = { id?: string - senderAddress: string - totalAmount: string - asset: string + streamId: string txHash: string - createdAt?: Date | string + sender: string + receiver: string + amount: bigint | number + tokenAddress: string + status: string + completedAt: Date | string + archivedAt?: Date | string + originalLedger: number } - export type DisbursementUpdateManyMutationInput = { + export type ArchivedDisbursementUpdateManyMutationInput = { id?: StringFieldUpdateOperationsInput | string - senderAddress?: StringFieldUpdateOperationsInput | string - totalAmount?: StringFieldUpdateOperationsInput | string - asset?: StringFieldUpdateOperationsInput | string + streamId?: StringFieldUpdateOperationsInput | string txHash?: StringFieldUpdateOperationsInput | string - createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + sender?: StringFieldUpdateOperationsInput | string + receiver?: StringFieldUpdateOperationsInput | string + amount?: BigIntFieldUpdateOperationsInput | bigint | number + tokenAddress?: StringFieldUpdateOperationsInput | string + status?: StringFieldUpdateOperationsInput | string + completedAt?: DateTimeFieldUpdateOperationsInput | Date | string + archivedAt?: DateTimeFieldUpdateOperationsInput | Date | string + originalLedger?: IntFieldUpdateOperationsInput | number } - export type DisbursementUncheckedUpdateManyInput = { + export type ArchivedDisbursementUncheckedUpdateManyInput = { id?: StringFieldUpdateOperationsInput | string - senderAddress?: StringFieldUpdateOperationsInput | string - totalAmount?: StringFieldUpdateOperationsInput | string - asset?: StringFieldUpdateOperationsInput | string + streamId?: StringFieldUpdateOperationsInput | string txHash?: StringFieldUpdateOperationsInput | string - createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + sender?: StringFieldUpdateOperationsInput | string + receiver?: StringFieldUpdateOperationsInput | string + amount?: BigIntFieldUpdateOperationsInput | bigint | number + tokenAddress?: StringFieldUpdateOperationsInput | string + status?: StringFieldUpdateOperationsInput | string + completedAt?: DateTimeFieldUpdateOperationsInput | Date | string + archivedAt?: DateTimeFieldUpdateOperationsInput | Date | string + originalLedger?: IntFieldUpdateOperationsInput | number } - export type SplitRecipientCreateInput = { + export type DisbursementCreateInput = { id?: string - recipientAddress: string - amount: string - status?: $Enums.PayoutStatus - disbursement: DisbursementCreateNestedOneWithoutRecipientsInput + streamId: string + txHash: string + sender: string + receiver: string + amount: bigint | number + tokenAddress: string + status?: $Enums.DisbursementStatus + createdAt?: Date | string + completedAt?: Date | string | null + ledger: number } - export type SplitRecipientUncheckedCreateInput = { + export type DisbursementUncheckedCreateInput = { id?: string - disbursementId: string - recipientAddress: string - amount: string - status?: $Enums.PayoutStatus + streamId: string + txHash: string + sender: string + receiver: string + amount: bigint | number + tokenAddress: string + status?: $Enums.DisbursementStatus + createdAt?: Date | string + completedAt?: Date | string | null + ledger: number } - export type SplitRecipientUpdateInput = { + export type DisbursementUpdateInput = { id?: StringFieldUpdateOperationsInput | string - recipientAddress?: StringFieldUpdateOperationsInput | string - amount?: StringFieldUpdateOperationsInput | string - status?: EnumPayoutStatusFieldUpdateOperationsInput | $Enums.PayoutStatus - disbursement?: DisbursementUpdateOneRequiredWithoutRecipientsNestedInput + streamId?: StringFieldUpdateOperationsInput | string + txHash?: StringFieldUpdateOperationsInput | string + sender?: StringFieldUpdateOperationsInput | string + receiver?: StringFieldUpdateOperationsInput | string + amount?: BigIntFieldUpdateOperationsInput | bigint | number + tokenAddress?: StringFieldUpdateOperationsInput | string + status?: EnumDisbursementStatusFieldUpdateOperationsInput | $Enums.DisbursementStatus + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + completedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + ledger?: IntFieldUpdateOperationsInput | number } - export type SplitRecipientUncheckedUpdateInput = { + export type DisbursementUncheckedUpdateInput = { id?: StringFieldUpdateOperationsInput | string - disbursementId?: StringFieldUpdateOperationsInput | string - recipientAddress?: StringFieldUpdateOperationsInput | string - amount?: StringFieldUpdateOperationsInput | string - status?: EnumPayoutStatusFieldUpdateOperationsInput | $Enums.PayoutStatus + streamId?: StringFieldUpdateOperationsInput | string + txHash?: StringFieldUpdateOperationsInput | string + sender?: StringFieldUpdateOperationsInput | string + receiver?: StringFieldUpdateOperationsInput | string + amount?: BigIntFieldUpdateOperationsInput | bigint | number + tokenAddress?: StringFieldUpdateOperationsInput | string + status?: EnumDisbursementStatusFieldUpdateOperationsInput | $Enums.DisbursementStatus + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + completedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + ledger?: IntFieldUpdateOperationsInput | number } - export type SplitRecipientCreateManyInput = { + export type DisbursementCreateManyInput = { id?: string - disbursementId: string - recipientAddress: string - amount: string - status?: $Enums.PayoutStatus + streamId: string + txHash: string + sender: string + receiver: string + amount: bigint | number + tokenAddress: string + status?: $Enums.DisbursementStatus + createdAt?: Date | string + completedAt?: Date | string | null + ledger: number } - export type SplitRecipientUpdateManyMutationInput = { + export type DisbursementUpdateManyMutationInput = { id?: StringFieldUpdateOperationsInput | string - recipientAddress?: StringFieldUpdateOperationsInput | string - amount?: StringFieldUpdateOperationsInput | string - status?: EnumPayoutStatusFieldUpdateOperationsInput | $Enums.PayoutStatus + streamId?: StringFieldUpdateOperationsInput | string + txHash?: StringFieldUpdateOperationsInput | string + sender?: StringFieldUpdateOperationsInput | string + receiver?: StringFieldUpdateOperationsInput | string + amount?: BigIntFieldUpdateOperationsInput | bigint | number + tokenAddress?: StringFieldUpdateOperationsInput | string + status?: EnumDisbursementStatusFieldUpdateOperationsInput | $Enums.DisbursementStatus + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + completedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + ledger?: IntFieldUpdateOperationsInput | number } - export type SplitRecipientUncheckedUpdateManyInput = { + export type DisbursementUncheckedUpdateManyInput = { id?: StringFieldUpdateOperationsInput | string - disbursementId?: StringFieldUpdateOperationsInput | string - recipientAddress?: StringFieldUpdateOperationsInput | string - amount?: StringFieldUpdateOperationsInput | string - status?: EnumPayoutStatusFieldUpdateOperationsInput | $Enums.PayoutStatus + streamId?: StringFieldUpdateOperationsInput | string + txHash?: StringFieldUpdateOperationsInput | string + sender?: StringFieldUpdateOperationsInput | string + receiver?: StringFieldUpdateOperationsInput | string + amount?: BigIntFieldUpdateOperationsInput | bigint | number + tokenAddress?: StringFieldUpdateOperationsInput | string + status?: EnumDisbursementStatusFieldUpdateOperationsInput | $Enums.DisbursementStatus + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + completedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + ledger?: IntFieldUpdateOperationsInput | number } export type AssetMappingCreateInput = { @@ -44159,6 +45623,7 @@ export namespace Prisma { fullUrl: string payloadHash: string creatorAddress: string + passwordHash?: string | null clickCount?: number lastClickedAt?: Date | string | null expiresAt?: Date | string | null @@ -44171,6 +45636,7 @@ export namespace Prisma { fullUrl: string payloadHash: string creatorAddress: string + passwordHash?: string | null clickCount?: number lastClickedAt?: Date | string | null expiresAt?: Date | string | null @@ -44183,6 +45649,7 @@ export namespace Prisma { fullUrl?: StringFieldUpdateOperationsInput | string payloadHash?: StringFieldUpdateOperationsInput | string creatorAddress?: StringFieldUpdateOperationsInput | string + passwordHash?: NullableStringFieldUpdateOperationsInput | string | null clickCount?: IntFieldUpdateOperationsInput | number lastClickedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null expiresAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null @@ -44195,6 +45662,7 @@ export namespace Prisma { fullUrl?: StringFieldUpdateOperationsInput | string payloadHash?: StringFieldUpdateOperationsInput | string creatorAddress?: StringFieldUpdateOperationsInput | string + passwordHash?: NullableStringFieldUpdateOperationsInput | string | null clickCount?: IntFieldUpdateOperationsInput | number lastClickedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null expiresAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null @@ -44207,6 +45675,7 @@ export namespace Prisma { fullUrl: string payloadHash: string creatorAddress: string + passwordHash?: string | null clickCount?: number lastClickedAt?: Date | string | null expiresAt?: Date | string | null @@ -44219,6 +45688,7 @@ export namespace Prisma { fullUrl?: StringFieldUpdateOperationsInput | string payloadHash?: StringFieldUpdateOperationsInput | string creatorAddress?: StringFieldUpdateOperationsInput | string + passwordHash?: NullableStringFieldUpdateOperationsInput | string | null clickCount?: IntFieldUpdateOperationsInput | number lastClickedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null expiresAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null @@ -44231,6 +45701,7 @@ export namespace Prisma { fullUrl?: StringFieldUpdateOperationsInput | string payloadHash?: StringFieldUpdateOperationsInput | string creatorAddress?: StringFieldUpdateOperationsInput | string + passwordHash?: NullableStringFieldUpdateOperationsInput | string | null clickCount?: IntFieldUpdateOperationsInput | number lastClickedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null expiresAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null @@ -45146,6 +46617,37 @@ export namespace Prisma { votesAgainst?: SortOrder } + export type EventCountOrderByAggregateInput = { + id?: SortOrder + eventId?: SortOrder + streamId?: SortOrder + eventType?: SortOrder + payload?: SortOrder + timestamp?: SortOrder + hash?: SortOrder + previousHash?: SortOrder + } + + export type EventMaxOrderByAggregateInput = { + id?: SortOrder + eventId?: SortOrder + streamId?: SortOrder + eventType?: SortOrder + timestamp?: SortOrder + hash?: SortOrder + previousHash?: SortOrder + } + + export type EventMinOrderByAggregateInput = { + id?: SortOrder + eventId?: SortOrder + streamId?: SortOrder + eventType?: SortOrder + timestamp?: SortOrder + hash?: SortOrder + previousHash?: SortOrder + } + export type EnumOrgRoleFilter<$PrismaModel = never> = { equals?: $Enums.OrgRole | EnumOrgRoleFieldRefInput<$PrismaModel> in?: $Enums.OrgRole[] | ListEnumOrgRoleFieldRefInput<$PrismaModel> @@ -45519,6 +47021,10 @@ export namespace Prisma { imageUrl?: SortOrder decimals?: SortOrder isVerified?: SortOrder + stellarExpertVerified?: SortOrder + tomlUrl?: SortOrder + orgVerified?: SortOrder + orgHomeDomain?: SortOrder lastFetchedAt?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder @@ -45537,6 +47043,10 @@ export namespace Prisma { imageUrl?: SortOrder decimals?: SortOrder isVerified?: SortOrder + stellarExpertVerified?: SortOrder + tomlUrl?: SortOrder + orgVerified?: SortOrder + orgHomeDomain?: SortOrder lastFetchedAt?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder @@ -45551,6 +47061,10 @@ export namespace Prisma { imageUrl?: SortOrder decimals?: SortOrder isVerified?: SortOrder + stellarExpertVerified?: SortOrder + tomlUrl?: SortOrder + orgVerified?: SortOrder + orgHomeDomain?: SortOrder lastFetchedAt?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder @@ -45663,87 +47177,125 @@ export namespace Prisma { decimals?: SortOrder } - export type SplitRecipientListRelationFilter = { - every?: SplitRecipientWhereInput - some?: SplitRecipientWhereInput - none?: SplitRecipientWhereInput + export type ArchivedDisbursementCountOrderByAggregateInput = { + id?: SortOrder + streamId?: SortOrder + txHash?: SortOrder + sender?: SortOrder + receiver?: SortOrder + amount?: SortOrder + tokenAddress?: SortOrder + status?: SortOrder + completedAt?: SortOrder + archivedAt?: SortOrder + originalLedger?: SortOrder } - export type SplitRecipientOrderByRelationAggregateInput = { - _count?: SortOrder + export type ArchivedDisbursementAvgOrderByAggregateInput = { + amount?: SortOrder + originalLedger?: SortOrder } - export type DisbursementCountOrderByAggregateInput = { + export type ArchivedDisbursementMaxOrderByAggregateInput = { id?: SortOrder - senderAddress?: SortOrder - totalAmount?: SortOrder - asset?: SortOrder + streamId?: SortOrder txHash?: SortOrder - createdAt?: SortOrder + sender?: SortOrder + receiver?: SortOrder + amount?: SortOrder + tokenAddress?: SortOrder + status?: SortOrder + completedAt?: SortOrder + archivedAt?: SortOrder + originalLedger?: SortOrder } - export type DisbursementMaxOrderByAggregateInput = { + export type ArchivedDisbursementMinOrderByAggregateInput = { id?: SortOrder - senderAddress?: SortOrder - totalAmount?: SortOrder - asset?: SortOrder + streamId?: SortOrder txHash?: SortOrder - createdAt?: SortOrder + sender?: SortOrder + receiver?: SortOrder + amount?: SortOrder + tokenAddress?: SortOrder + status?: SortOrder + completedAt?: SortOrder + archivedAt?: SortOrder + originalLedger?: SortOrder } - export type DisbursementMinOrderByAggregateInput = { + export type ArchivedDisbursementSumOrderByAggregateInput = { + amount?: SortOrder + originalLedger?: SortOrder + } + + export type EnumDisbursementStatusFilter<$PrismaModel = never> = { + equals?: $Enums.DisbursementStatus | EnumDisbursementStatusFieldRefInput<$PrismaModel> + in?: $Enums.DisbursementStatus[] | ListEnumDisbursementStatusFieldRefInput<$PrismaModel> + notIn?: $Enums.DisbursementStatus[] | ListEnumDisbursementStatusFieldRefInput<$PrismaModel> + not?: NestedEnumDisbursementStatusFilter<$PrismaModel> | $Enums.DisbursementStatus + } + + export type DisbursementCountOrderByAggregateInput = { id?: SortOrder - senderAddress?: SortOrder - totalAmount?: SortOrder - asset?: SortOrder + streamId?: SortOrder txHash?: SortOrder + sender?: SortOrder + receiver?: SortOrder + amount?: SortOrder + tokenAddress?: SortOrder + status?: SortOrder createdAt?: SortOrder + completedAt?: SortOrder + ledger?: SortOrder } - export type EnumPayoutStatusFilter<$PrismaModel = never> = { - equals?: $Enums.PayoutStatus | EnumPayoutStatusFieldRefInput<$PrismaModel> - in?: $Enums.PayoutStatus[] | ListEnumPayoutStatusFieldRefInput<$PrismaModel> - notIn?: $Enums.PayoutStatus[] | ListEnumPayoutStatusFieldRefInput<$PrismaModel> - not?: NestedEnumPayoutStatusFilter<$PrismaModel> | $Enums.PayoutStatus - } - - export type DisbursementRelationFilter = { - is?: DisbursementWhereInput - isNot?: DisbursementWhereInput + export type DisbursementAvgOrderByAggregateInput = { + amount?: SortOrder + ledger?: SortOrder } - export type SplitRecipientCountOrderByAggregateInput = { + export type DisbursementMaxOrderByAggregateInput = { id?: SortOrder - disbursementId?: SortOrder - recipientAddress?: SortOrder + streamId?: SortOrder + txHash?: SortOrder + sender?: SortOrder + receiver?: SortOrder amount?: SortOrder + tokenAddress?: SortOrder status?: SortOrder + createdAt?: SortOrder + completedAt?: SortOrder + ledger?: SortOrder } - export type SplitRecipientMaxOrderByAggregateInput = { + export type DisbursementMinOrderByAggregateInput = { id?: SortOrder - disbursementId?: SortOrder - recipientAddress?: SortOrder + streamId?: SortOrder + txHash?: SortOrder + sender?: SortOrder + receiver?: SortOrder amount?: SortOrder + tokenAddress?: SortOrder status?: SortOrder + createdAt?: SortOrder + completedAt?: SortOrder + ledger?: SortOrder } - export type SplitRecipientMinOrderByAggregateInput = { - id?: SortOrder - disbursementId?: SortOrder - recipientAddress?: SortOrder + export type DisbursementSumOrderByAggregateInput = { amount?: SortOrder - status?: SortOrder + ledger?: SortOrder } - export type EnumPayoutStatusWithAggregatesFilter<$PrismaModel = never> = { - equals?: $Enums.PayoutStatus | EnumPayoutStatusFieldRefInput<$PrismaModel> - in?: $Enums.PayoutStatus[] | ListEnumPayoutStatusFieldRefInput<$PrismaModel> - notIn?: $Enums.PayoutStatus[] | ListEnumPayoutStatusFieldRefInput<$PrismaModel> - not?: NestedEnumPayoutStatusWithAggregatesFilter<$PrismaModel> | $Enums.PayoutStatus + export type EnumDisbursementStatusWithAggregatesFilter<$PrismaModel = never> = { + equals?: $Enums.DisbursementStatus | EnumDisbursementStatusFieldRefInput<$PrismaModel> + in?: $Enums.DisbursementStatus[] | ListEnumDisbursementStatusFieldRefInput<$PrismaModel> + notIn?: $Enums.DisbursementStatus[] | ListEnumDisbursementStatusFieldRefInput<$PrismaModel> + not?: NestedEnumDisbursementStatusWithAggregatesFilter<$PrismaModel> | $Enums.DisbursementStatus _count?: NestedIntFilter<$PrismaModel> - _min?: NestedEnumPayoutStatusFilter<$PrismaModel> - _max?: NestedEnumPayoutStatusFilter<$PrismaModel> + _min?: NestedEnumDisbursementStatusFilter<$PrismaModel> + _max?: NestedEnumDisbursementStatusFilter<$PrismaModel> } export type AssetMappingCountOrderByAggregateInput = { @@ -46237,6 +47789,7 @@ export namespace Prisma { fullUrl?: SortOrder payloadHash?: SortOrder creatorAddress?: SortOrder + passwordHash?: SortOrder clickCount?: SortOrder lastClickedAt?: SortOrder expiresAt?: SortOrder @@ -46253,6 +47806,7 @@ export namespace Prisma { fullUrl?: SortOrder payloadHash?: SortOrder creatorAddress?: SortOrder + passwordHash?: SortOrder clickCount?: SortOrder lastClickedAt?: SortOrder expiresAt?: SortOrder @@ -46265,6 +47819,7 @@ export namespace Prisma { fullUrl?: SortOrder payloadHash?: SortOrder creatorAddress?: SortOrder + passwordHash?: SortOrder clickCount?: SortOrder lastClickedAt?: SortOrder expiresAt?: SortOrder @@ -46356,64 +47911,8 @@ export namespace Prisma { set?: $Enums.NotificationPlatform } - export type SplitRecipientCreateNestedManyWithoutDisbursementInput = { - create?: XOR | SplitRecipientCreateWithoutDisbursementInput[] | SplitRecipientUncheckedCreateWithoutDisbursementInput[] - connectOrCreate?: SplitRecipientCreateOrConnectWithoutDisbursementInput | SplitRecipientCreateOrConnectWithoutDisbursementInput[] - createMany?: SplitRecipientCreateManyDisbursementInputEnvelope - connect?: SplitRecipientWhereUniqueInput | SplitRecipientWhereUniqueInput[] - } - - export type SplitRecipientUncheckedCreateNestedManyWithoutDisbursementInput = { - create?: XOR | SplitRecipientCreateWithoutDisbursementInput[] | SplitRecipientUncheckedCreateWithoutDisbursementInput[] - connectOrCreate?: SplitRecipientCreateOrConnectWithoutDisbursementInput | SplitRecipientCreateOrConnectWithoutDisbursementInput[] - createMany?: SplitRecipientCreateManyDisbursementInputEnvelope - connect?: SplitRecipientWhereUniqueInput | SplitRecipientWhereUniqueInput[] - } - - export type SplitRecipientUpdateManyWithoutDisbursementNestedInput = { - create?: XOR | SplitRecipientCreateWithoutDisbursementInput[] | SplitRecipientUncheckedCreateWithoutDisbursementInput[] - connectOrCreate?: SplitRecipientCreateOrConnectWithoutDisbursementInput | SplitRecipientCreateOrConnectWithoutDisbursementInput[] - upsert?: SplitRecipientUpsertWithWhereUniqueWithoutDisbursementInput | SplitRecipientUpsertWithWhereUniqueWithoutDisbursementInput[] - createMany?: SplitRecipientCreateManyDisbursementInputEnvelope - set?: SplitRecipientWhereUniqueInput | SplitRecipientWhereUniqueInput[] - disconnect?: SplitRecipientWhereUniqueInput | SplitRecipientWhereUniqueInput[] - delete?: SplitRecipientWhereUniqueInput | SplitRecipientWhereUniqueInput[] - connect?: SplitRecipientWhereUniqueInput | SplitRecipientWhereUniqueInput[] - update?: SplitRecipientUpdateWithWhereUniqueWithoutDisbursementInput | SplitRecipientUpdateWithWhereUniqueWithoutDisbursementInput[] - updateMany?: SplitRecipientUpdateManyWithWhereWithoutDisbursementInput | SplitRecipientUpdateManyWithWhereWithoutDisbursementInput[] - deleteMany?: SplitRecipientScalarWhereInput | SplitRecipientScalarWhereInput[] - } - - export type SplitRecipientUncheckedUpdateManyWithoutDisbursementNestedInput = { - create?: XOR | SplitRecipientCreateWithoutDisbursementInput[] | SplitRecipientUncheckedCreateWithoutDisbursementInput[] - connectOrCreate?: SplitRecipientCreateOrConnectWithoutDisbursementInput | SplitRecipientCreateOrConnectWithoutDisbursementInput[] - upsert?: SplitRecipientUpsertWithWhereUniqueWithoutDisbursementInput | SplitRecipientUpsertWithWhereUniqueWithoutDisbursementInput[] - createMany?: SplitRecipientCreateManyDisbursementInputEnvelope - set?: SplitRecipientWhereUniqueInput | SplitRecipientWhereUniqueInput[] - disconnect?: SplitRecipientWhereUniqueInput | SplitRecipientWhereUniqueInput[] - delete?: SplitRecipientWhereUniqueInput | SplitRecipientWhereUniqueInput[] - connect?: SplitRecipientWhereUniqueInput | SplitRecipientWhereUniqueInput[] - update?: SplitRecipientUpdateWithWhereUniqueWithoutDisbursementInput | SplitRecipientUpdateWithWhereUniqueWithoutDisbursementInput[] - updateMany?: SplitRecipientUpdateManyWithWhereWithoutDisbursementInput | SplitRecipientUpdateManyWithWhereWithoutDisbursementInput[] - deleteMany?: SplitRecipientScalarWhereInput | SplitRecipientScalarWhereInput[] - } - - export type DisbursementCreateNestedOneWithoutRecipientsInput = { - create?: XOR - connectOrCreate?: DisbursementCreateOrConnectWithoutRecipientsInput - connect?: DisbursementWhereUniqueInput - } - - export type EnumPayoutStatusFieldUpdateOperationsInput = { - set?: $Enums.PayoutStatus - } - - export type DisbursementUpdateOneRequiredWithoutRecipientsNestedInput = { - create?: XOR - connectOrCreate?: DisbursementCreateOrConnectWithoutRecipientsInput - upsert?: DisbursementUpsertWithoutRecipientsInput - connect?: DisbursementWhereUniqueInput - update?: XOR, DisbursementUncheckedUpdateWithoutRecipientsInput> + export type EnumDisbursementStatusFieldUpdateOperationsInput = { + set?: $Enums.DisbursementStatus } export type NullableFloatFieldUpdateOperationsInput = { @@ -46824,21 +48323,21 @@ export namespace Prisma { _max?: NestedEnumNotificationPlatformFilter<$PrismaModel> } - export type NestedEnumPayoutStatusFilter<$PrismaModel = never> = { - equals?: $Enums.PayoutStatus | EnumPayoutStatusFieldRefInput<$PrismaModel> - in?: $Enums.PayoutStatus[] | ListEnumPayoutStatusFieldRefInput<$PrismaModel> - notIn?: $Enums.PayoutStatus[] | ListEnumPayoutStatusFieldRefInput<$PrismaModel> - not?: NestedEnumPayoutStatusFilter<$PrismaModel> | $Enums.PayoutStatus + export type NestedEnumDisbursementStatusFilter<$PrismaModel = never> = { + equals?: $Enums.DisbursementStatus | EnumDisbursementStatusFieldRefInput<$PrismaModel> + in?: $Enums.DisbursementStatus[] | ListEnumDisbursementStatusFieldRefInput<$PrismaModel> + notIn?: $Enums.DisbursementStatus[] | ListEnumDisbursementStatusFieldRefInput<$PrismaModel> + not?: NestedEnumDisbursementStatusFilter<$PrismaModel> | $Enums.DisbursementStatus } - export type NestedEnumPayoutStatusWithAggregatesFilter<$PrismaModel = never> = { - equals?: $Enums.PayoutStatus | EnumPayoutStatusFieldRefInput<$PrismaModel> - in?: $Enums.PayoutStatus[] | ListEnumPayoutStatusFieldRefInput<$PrismaModel> - notIn?: $Enums.PayoutStatus[] | ListEnumPayoutStatusFieldRefInput<$PrismaModel> - not?: NestedEnumPayoutStatusWithAggregatesFilter<$PrismaModel> | $Enums.PayoutStatus + export type NestedEnumDisbursementStatusWithAggregatesFilter<$PrismaModel = never> = { + equals?: $Enums.DisbursementStatus | EnumDisbursementStatusFieldRefInput<$PrismaModel> + in?: $Enums.DisbursementStatus[] | ListEnumDisbursementStatusFieldRefInput<$PrismaModel> + notIn?: $Enums.DisbursementStatus[] | ListEnumDisbursementStatusFieldRefInput<$PrismaModel> + not?: NestedEnumDisbursementStatusWithAggregatesFilter<$PrismaModel> | $Enums.DisbursementStatus _count?: NestedIntFilter<$PrismaModel> - _min?: NestedEnumPayoutStatusFilter<$PrismaModel> - _max?: NestedEnumPayoutStatusFilter<$PrismaModel> + _min?: NestedEnumDisbursementStatusFilter<$PrismaModel> + _max?: NestedEnumDisbursementStatusFilter<$PrismaModel> } export type NestedFloatNullableWithAggregatesFilter<$PrismaModel = never> = { @@ -46857,109 +48356,6 @@ export namespace Prisma { _max?: NestedFloatNullableFilter<$PrismaModel> } - export type SplitRecipientCreateWithoutDisbursementInput = { - id?: string - recipientAddress: string - amount: string - status?: $Enums.PayoutStatus - } - - export type SplitRecipientUncheckedCreateWithoutDisbursementInput = { - id?: string - recipientAddress: string - amount: string - status?: $Enums.PayoutStatus - } - - export type SplitRecipientCreateOrConnectWithoutDisbursementInput = { - where: SplitRecipientWhereUniqueInput - create: XOR - } - - export type SplitRecipientCreateManyDisbursementInputEnvelope = { - data: SplitRecipientCreateManyDisbursementInput | SplitRecipientCreateManyDisbursementInput[] - skipDuplicates?: boolean - } - - export type SplitRecipientUpsertWithWhereUniqueWithoutDisbursementInput = { - where: SplitRecipientWhereUniqueInput - update: XOR - create: XOR - } - - export type SplitRecipientUpdateWithWhereUniqueWithoutDisbursementInput = { - where: SplitRecipientWhereUniqueInput - data: XOR - } - - export type SplitRecipientUpdateManyWithWhereWithoutDisbursementInput = { - where: SplitRecipientScalarWhereInput - data: XOR - } - - export type SplitRecipientScalarWhereInput = { - AND?: SplitRecipientScalarWhereInput | SplitRecipientScalarWhereInput[] - OR?: SplitRecipientScalarWhereInput[] - NOT?: SplitRecipientScalarWhereInput | SplitRecipientScalarWhereInput[] - id?: StringFilter<"SplitRecipient"> | string - disbursementId?: StringFilter<"SplitRecipient"> | string - recipientAddress?: StringFilter<"SplitRecipient"> | string - amount?: StringFilter<"SplitRecipient"> | string - status?: EnumPayoutStatusFilter<"SplitRecipient"> | $Enums.PayoutStatus - } - - export type DisbursementCreateWithoutRecipientsInput = { - id?: string - senderAddress: string - totalAmount: string - asset: string - txHash: string - createdAt?: Date | string - } - - export type DisbursementUncheckedCreateWithoutRecipientsInput = { - id?: string - senderAddress: string - totalAmount: string - asset: string - txHash: string - createdAt?: Date | string - } - - export type DisbursementCreateOrConnectWithoutRecipientsInput = { - where: DisbursementWhereUniqueInput - create: XOR - } - - export type DisbursementUpsertWithoutRecipientsInput = { - update: XOR - create: XOR - where?: DisbursementWhereInput - } - - export type DisbursementUpdateToOneWithWhereWithoutRecipientsInput = { - where?: DisbursementWhereInput - data: XOR - } - - export type DisbursementUpdateWithoutRecipientsInput = { - id?: StringFieldUpdateOperationsInput | string - senderAddress?: StringFieldUpdateOperationsInput | string - totalAmount?: StringFieldUpdateOperationsInput | string - asset?: StringFieldUpdateOperationsInput | string - txHash?: StringFieldUpdateOperationsInput | string - createdAt?: DateTimeFieldUpdateOperationsInput | Date | string - } - - export type DisbursementUncheckedUpdateWithoutRecipientsInput = { - id?: StringFieldUpdateOperationsInput | string - senderAddress?: StringFieldUpdateOperationsInput | string - totalAmount?: StringFieldUpdateOperationsInput | string - asset?: StringFieldUpdateOperationsInput | string - txHash?: StringFieldUpdateOperationsInput | string - createdAt?: DateTimeFieldUpdateOperationsInput | Date | string - } - export type DisbursementDraftVersionCreateWithoutDraftInput = { id?: string version: number @@ -47080,34 +48476,6 @@ export namespace Prisma { updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } - export type SplitRecipientCreateManyDisbursementInput = { - id?: string - recipientAddress: string - amount: string - status?: $Enums.PayoutStatus - } - - export type SplitRecipientUpdateWithoutDisbursementInput = { - id?: StringFieldUpdateOperationsInput | string - recipientAddress?: StringFieldUpdateOperationsInput | string - amount?: StringFieldUpdateOperationsInput | string - status?: EnumPayoutStatusFieldUpdateOperationsInput | $Enums.PayoutStatus - } - - export type SplitRecipientUncheckedUpdateWithoutDisbursementInput = { - id?: StringFieldUpdateOperationsInput | string - recipientAddress?: StringFieldUpdateOperationsInput | string - amount?: StringFieldUpdateOperationsInput | string - status?: EnumPayoutStatusFieldUpdateOperationsInput | $Enums.PayoutStatus - } - - export type SplitRecipientUncheckedUpdateManyWithoutDisbursementInput = { - id?: StringFieldUpdateOperationsInput | string - recipientAddress?: StringFieldUpdateOperationsInput | string - amount?: StringFieldUpdateOperationsInput | string - status?: EnumPayoutStatusFieldUpdateOperationsInput | $Enums.PayoutStatus - } - export type DisbursementDraftVersionCreateManyDraftInput = { id?: string version: number @@ -47153,10 +48521,6 @@ export namespace Prisma { /** * Aliases for legacy arg types */ - /** - * @deprecated Use DisbursementCountOutputTypeDefaultArgs instead - */ - export type DisbursementCountOutputTypeArgs = DisbursementCountOutputTypeDefaultArgs /** * @deprecated Use DisbursementDraftCountOutputTypeDefaultArgs instead */ @@ -47205,6 +48569,10 @@ export namespace Prisma { * @deprecated Use ProposalDefaultArgs instead */ export type ProposalArgs = ProposalDefaultArgs + /** + * @deprecated Use EventDefaultArgs instead + */ + export type EventArgs = EventDefaultArgs /** * @deprecated Use OrganizationMemberDefaultArgs instead */ @@ -47254,13 +48622,13 @@ export namespace Prisma { */ export type AssetConfigArgs = AssetConfigDefaultArgs /** - * @deprecated Use DisbursementDefaultArgs instead + * @deprecated Use ArchivedDisbursementDefaultArgs instead */ - export type DisbursementArgs = DisbursementDefaultArgs + export type ArchivedDisbursementArgs = ArchivedDisbursementDefaultArgs /** - * @deprecated Use SplitRecipientDefaultArgs instead + * @deprecated Use DisbursementDefaultArgs instead */ - export type SplitRecipientArgs = SplitRecipientDefaultArgs + export type DisbursementArgs = DisbursementDefaultArgs /** * @deprecated Use AssetMappingDefaultArgs instead */ diff --git a/backend/src/generated/client/index.js b/backend/src/generated/client/index.js index c3f21e7a..90943e44 100644 --- a/backend/src/generated/client/index.js +++ b/backend/src/generated/client/index.js @@ -246,6 +246,17 @@ exports.Prisma.ProposalScalarFieldEnum = { updatedAt: 'updatedAt' }; +exports.Prisma.EventScalarFieldEnum = { + id: 'id', + eventId: 'eventId', + streamId: 'streamId', + eventType: 'eventType', + payload: 'payload', + timestamp: 'timestamp', + hash: 'hash', + previousHash: 'previousHash' +}; + exports.Prisma.OrganizationMemberScalarFieldEnum = { id: 'id', orgAddress: 'orgAddress', @@ -347,6 +358,10 @@ exports.Prisma.AssetScalarFieldEnum = { imageUrl: 'imageUrl', decimals: 'decimals', isVerified: 'isVerified', + stellarExpertVerified: 'stellarExpertVerified', + tomlUrl: 'tomlUrl', + orgVerified: 'orgVerified', + orgHomeDomain: 'orgHomeDomain', lastFetchedAt: 'lastFetchedAt', createdAt: 'createdAt', updatedAt: 'updatedAt' @@ -381,21 +396,32 @@ exports.Prisma.AssetConfigScalarFieldEnum = { updatedAt: 'updatedAt' }; -exports.Prisma.DisbursementScalarFieldEnum = { +exports.Prisma.ArchivedDisbursementScalarFieldEnum = { id: 'id', - senderAddress: 'senderAddress', - totalAmount: 'totalAmount', - asset: 'asset', + streamId: 'streamId', txHash: 'txHash', - createdAt: 'createdAt' + sender: 'sender', + receiver: 'receiver', + amount: 'amount', + tokenAddress: 'tokenAddress', + status: 'status', + completedAt: 'completedAt', + archivedAt: 'archivedAt', + originalLedger: 'originalLedger' }; -exports.Prisma.SplitRecipientScalarFieldEnum = { +exports.Prisma.DisbursementScalarFieldEnum = { id: 'id', - disbursementId: 'disbursementId', - recipientAddress: 'recipientAddress', + streamId: 'streamId', + txHash: 'txHash', + sender: 'sender', + receiver: 'receiver', amount: 'amount', - status: 'status' + tokenAddress: 'tokenAddress', + status: 'status', + createdAt: 'createdAt', + completedAt: 'completedAt', + ledger: 'ledger' }; exports.Prisma.AssetMappingScalarFieldEnum = { @@ -523,6 +549,7 @@ exports.Prisma.SplitLinkScalarFieldEnum = { fullUrl: 'fullUrl', payloadHash: 'payloadHash', creatorAddress: 'creatorAddress', + passwordHash: 'passwordHash', clickCount: 'clickCount', lastClickedAt: 'lastClickedAt', expiresAt: 'expiresAt', @@ -572,10 +599,12 @@ exports.NotificationPlatform = exports.$Enums.NotificationPlatform = { telegram: 'telegram' }; -exports.PayoutStatus = exports.$Enums.PayoutStatus = { +exports.DisbursementStatus = exports.$Enums.DisbursementStatus = { PENDING: 'PENDING', - SENT: 'SENT', - FAILED: 'FAILED' + PROCESSING: 'PROCESSING', + COMPLETED: 'COMPLETED', + FAILED: 'FAILED', + CANCELLED: 'CANCELLED' }; exports.Prisma.ModelName = { @@ -590,6 +619,7 @@ exports.Prisma.ModelName = { StreamArchive: 'StreamArchive', BridgeLog: 'BridgeLog', Proposal: 'Proposal', + Event: 'Event', OrganizationMember: 'OrganizationMember', ApiKey: 'ApiKey', LedgerHash: 'LedgerHash', @@ -602,8 +632,8 @@ exports.Prisma.ModelName = { Asset: 'Asset', AutopilotSchedule: 'AutopilotSchedule', AssetConfig: 'AssetConfig', + ArchivedDisbursement: 'ArchivedDisbursement', Disbursement: 'Disbursement', - SplitRecipient: 'SplitRecipient', AssetMapping: 'AssetMapping', PriceHistory: 'PriceHistory', ProtocolInefficiencyReport: 'ProtocolInefficiencyReport', @@ -644,7 +674,8 @@ const config = { "isCustomOutput": true }, "relativeEnvPaths": { - "rootEnvPath": null + "rootEnvPath": null, + "schemaEnvPath": "../../../.env" }, "relativePath": "../../../prisma", "clientVersion": "5.22.0", @@ -653,7 +684,7 @@ const config = { "db" ], "activeProvider": "postgresql", - "postinstall": true, + "postinstall": false, "inlineDatasources": { "db": { "url": { @@ -662,8 +693,8 @@ const config = { } } }, - "inlineSchema": "// This is your Prisma schema file,\n// learn more about it in the docs: https://pris.ly/d/prisma-schema\n\ngenerator client {\n provider = \"prisma-client-js\"\n output = \"../src/generated/client\"\n}\n\ndatasource db {\n provider = \"postgresql\"\n url = env(\"DATABASE_URL\")\n}\n\n// Mirrors the Stream state from the Soroban smart contract\nmodel Stream {\n id String @id @default(cuid())\n streamId String? @unique // Contract-level Stream ID\n txHash String @unique\n version Int @default(1)\n sender String\n receiver String\n contractId String? @map(\"contract_id\")\n tokenAddress String?\n amount String // Store as string to handle large numbers safely\n duration Int?\n status StreamStatus @default(ACTIVE)\n withdrawn String? @default(\"0\")\n legacy Boolean @default(false) // true = originated from V1 contract\n migrated Boolean @default(false) // true = V1 stream superseded by V2\n isPrivate Boolean @default(false)\n yieldEnabled Boolean @default(false) @map(\"yield_enabled\")\n vaultContractId String?\n vaultShareBalance String?\n vaultRatioScale String?\n accruedInterest String @default(\"0\")\n lastYieldAccrualAt DateTime?\n isDust Boolean @default(false) // true = below MIN_VALUE_USD threshold\n affiliateId String? // Affiliate who referred this stream (0.5% commission)\n createdAt DateTime @default(now())\n\n @@index([sender])\n @@index([receiver])\n @@index([status])\n @@index([streamId])\n @@index([contractId])\n @@index([legacy])\n @@index([yieldEnabled, status])\n @@index([isDust])\n @@index([affiliateId])\n}\n\nmodel ContractEvent {\n id String @id @default(cuid())\n eventId String @unique @map(\"event_id\")\n contractId String @map(\"contract_id\")\n txHash String @map(\"tx_hash\")\n eventType String @map(\"event_type\")\n eventIndex Int @default(0) @map(\"event_index\")\n ledgerSequence Int @map(\"ledger_sequence\")\n ledgerClosedAt String? @map(\"ledger_closed_at\")\n topicXdr String[] @default([]) @map(\"topic_xdr\")\n valueXdr String @map(\"value_xdr\")\n decodedJson Json @map(\"decoded_json\")\n createdAt DateTime @default(now()) @map(\"created_at\")\n\n @@unique([txHash, eventIndex])\n @@index([contractId, ledgerSequence])\n @@index([eventType])\n @@index([txHash])\n}\n\n// Token prices for leaderboard volume calculations\nmodel TokenPrice {\n tokenAddress String @id\n symbol String\n decimals Int @default(7)\n priceUsd Float @default(0)\n updatedAt DateTime @updatedAt\n}\n\n// Registered Webhooks for external notifications\nmodel Webhook {\n id String @id @default(cuid())\n url String @unique\n description String?\n eventType String @default(\"*\") // \"*\" = all events, or specific: create_stream, withdraw, cancel\n secretKey String // HMAC secret for signing payloads\n isActive Boolean @default(true)\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@index([eventType])\n @@index([isActive])\n}\n\n// Webhook delivery attempts for retry logic\nmodel WebhookDelivery {\n id String @id @default(cuid())\n webhookId String\n eventType String\n payload Json\n status String @default(\"pending\") // pending, success, failed\n attempts Int @default(0)\n maxRetries Int @default(5)\n nextRetryAt DateTime?\n lastError String?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@index([webhookId, status])\n @@index([nextRetryAt])\n @@index([createdAt])\n}\n\n// Tracks the last synced blockchain ledger sequence\nmodel SyncState {\n id Int @id @default(1)\n lastLedgerSequence Int @default(0)\n}\n\n// Audit log for all protocol events\nmodel EventLog {\n id String @id @default(cuid())\n eventType String // create, withdraw, cancel\n streamId String\n txHash String\n eventIndex Int @default(0) // Position of event within the transaction\n ledger Int\n ledgerClosedAt String\n sender String?\n receiver String?\n amount BigInt?\n metadata String? // JSON string\n parentHash String? @map(\"parent_hash\") // SHA-256 hash of the previous log entry\n entryHash String? @map(\"entry_hash\") // SHA-256(canonical(this_entry) + parentHash)\n createdAt DateTime @default(now())\n\n @@unique([txHash, eventIndex])\n @@index([streamId])\n @@index([eventType])\n @@index([createdAt])\n @@index([ledger])\n}\n\n// Monthly snapshots of stream states\nmodel StreamSnapshot {\n id String @id @default(cuid())\n streamId String\n sender String\n receiver String\n tokenAddress String\n amountPerSecond BigInt\n totalAmount BigInt\n status StreamStatus\n snapshotMonth String // YYYY-MM\n createdAt DateTime @default(now())\n\n @@unique([streamId, snapshotMonth])\n @@index([streamId])\n @@index([snapshotMonth])\n}\n\n// Archived event logs (older than 3 months)\nmodel StreamArchive {\n id String @id @default(cuid())\n eventType String\n streamId String\n txHash String\n ledger Int\n ledgerClosedAt String\n sender String?\n receiver String?\n amount BigInt?\n metadata String?\n createdAt DateTime\n archivedAt DateTime @default(now())\n\n @@index([streamId])\n @@index([createdAt])\n}\n\n// Generic bridge activity log for cross-chain operations\nmodel BridgeLog {\n id String @id @default(cuid())\n bridge String\n eventType String\n sourceChain String\n targetChain String\n sourceAsset String\n targetAsset String?\n amount String\n sender String?\n recipient String\n txHash String @unique\n status String\n payload String? // Raw bridge payload (JSON)\n landedAt DateTime?\n createdAt DateTime @default(now())\n\n @@index([eventType])\n @@index([targetChain])\n @@index([recipient])\n @@index([status])\n @@index([createdAt])\n}\n\n// Governance proposal state indexed from DAO contract events\nmodel Proposal {\n id String @id // Contract-level proposal ID\n creator String\n description String\n quorum Int\n votesFor Int @default(0)\n votesAgainst Int @default(0)\n txHash String @unique\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@index([creator])\n @@index([createdAt])\n}\n\nenum StreamStatus {\n ACTIVE\n PAUSED\n COMPLETED\n CANCELED\n ARCHIVED // V1 stream successfully migrated to V2 — hidden from active UI\n}\n\n// RBAC roles for shared G-address organisations\nenum OrgRole {\n DRAFTER // Can create and edit draft splits\n APPROVER // Can approve or reject pending splits\n EXECUTOR // Can submit approved splits to the ledger\n}\n\n// Maps a Stellar address to a role within a shared G-address organisation\nmodel OrganizationMember {\n id String @id @default(cuid())\n /// The shared G-address that represents the organisation\n orgAddress String\n /// The individual member's Stellar G-address\n memberAddress String\n role OrgRole\n /// Who granted this membership\n addedBy String\n isActive Boolean @default(true)\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@unique([orgAddress, memberAddress])\n @@index([orgAddress])\n @@index([memberAddress])\n @@index([role])\n}\n\n// API keys for 3rd-party partner dApps with elevated rate limits\nmodel ApiKey {\n id String @id @default(cuid())\n keyHash String @unique // SHA-256 hash of the raw key (never store plaintext)\n name String // Human-readable label, e.g. \"Acme dApp\"\n owner String // Stellar address or contact identifier\n rateLimit Int @default(1000) // requests per minute\n isActive Boolean @default(true)\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n lastUsedAt DateTime?\n\n @@index([keyHash])\n @@index([owner])\n}\n\n// Stores ledger hashes for integrity verification\nmodel LedgerHash {\n sequence Int @id\n hash String\n createdAt DateTime @default(now())\n}\n\n// Notification subscriptions — maps a Stellar address to a Discord/Telegram endpoint\nmodel NotificationSubscription {\n id String @id @default(cuid())\n stellarAddress String // Receiver address to watch\n platform NotificationPlatform // discord | telegram\n webhookUrl String? // Discord: full webhook URL\n chatId String? // Telegram: chat/user ID\n isActive Boolean @default(true)\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@unique([stellarAddress, platform])\n @@index([stellarAddress])\n @@index([platform])\n}\n\nenum NotificationPlatform {\n discord\n telegram\n}\n\n// Invoice links for Nebula-Pay payment link generator\nmodel InvoiceLink {\n id String @id @default(cuid())\n slug String @unique // Short UUID for shareable URL\n sender String\n receiver String\n amount String // Total amount to stream\n tokenAddress String\n duration Int // Duration in seconds\n description String? // Optional invoice description\n pdfUrl String? // Optional PDF invoice URL\n xdrParams String // Encoded XDR parameters for contract call\n status String @default(\"DRAFT\") // DRAFT, SIGNED, COMPLETED, EXPIRED\n expiresAt DateTime? // Optional expiration time\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@index([slug])\n @@index([sender])\n @@index([status])\n @@index([createdAt])\n}\n\n// Affiliate earnings tracker for 0.5% commission on stream creation\nmodel Affiliate {\n id String @id @default(cuid())\n stellarAddress String @unique\n pendingClaim String @default(\"0\") // Total unclaimed earnings in stroops\n totalEarned String @default(\"0\") // Lifetime earnings\n claimedAt DateTime?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@index([stellarAddress])\n}\n\n// Global protocol statistics for landing page\nmodel GlobalStats {\n id String @id @default(\"global\")\n tvlUsd String @default(\"0\") // Total Value Locked in USD\n volume24hUsd String @default(\"0\") // 24h volume in USD\n activeStreams Int @default(0)\n totalStreams Int @default(0)\n updatedAt DateTime @updatedAt\n}\n\n// V3 Splitter protocol statistics (#649)\nmodel GlobalStats_V3 {\n id String @id @default(\"v3_global\")\n totalVolumeUsd String @default(\"0\") // Cumulative USD volume through V3 splitter\n dailyVolumeUsd String @default(\"0\") // Last 24h volume\n totalSplits Int @default(0) // Total disbursements\n totalRecipients Int @default(0) // Total unique recipients\n updatedAt DateTime @updatedAt\n\n @@map(\"GlobalStats_V3\")\n}\n\n// Daily TVL snapshots for growth charts\nmodel TvlSnapshot {\n id String @id @default(cuid())\n tvlUsd String // Total Value Locked in USD on this day\n date DateTime @unique // Midnight UTC\n createdAt DateTime @default(now())\n\n @@index([date])\n}\n\n// Asset metadata from stellar.toml\nmodel Asset {\n id String @id @default(cuid())\n tokenAddress String @unique\n homeDomain String?\n name String?\n symbol String?\n imageUrl String?\n decimals Int @default(7)\n isVerified Boolean @default(false)\n lastFetchedAt DateTime?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@index([tokenAddress])\n}\n\n// Autopilot periodic split schedules\nmodel AutopilotSchedule {\n id String @id @default(cuid())\n name String\n frequency String // cron expression, e.g. \"0 9 * * 1\" (every Monday 9am)\n splitConfigId String @map(\"split_config_id\")\n operatorAddress String @map(\"operator_address\")\n minGasTankXlm Float @default(1.0) @map(\"min_gas_tank_xlm\")\n isActive Boolean @default(true) @map(\"is_active\")\n lastRun DateTime? @map(\"last_run\")\n lastTxHash String? @map(\"last_tx_hash\")\n lastError String? @map(\"last_error\")\n createdAt DateTime @default(now()) @map(\"created_at\")\n updatedAt DateTime @updatedAt @map(\"updated_at\")\n\n @@index([isActive])\n @@index([lastRun])\n @@map(\"AutopilotSchedule\")\n}\n\n// Whitelisted assets visible in the StellarStream UI\nmodel AssetConfig {\n id String @id @default(cuid())\n assetId String @unique // Stellar asset identifier (e.g. \"USDC:GABC...\")\n symbol String\n name String\n decimals Int @default(7)\n isVerified Boolean @default(false)\n isVisible Boolean @default(true)\n yieldEnabled Boolean @default(false) @map(\"yield_enabled\")\n iconUrl String? @map(\"icon_url\")\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@index([isVerified])\n @@index([isVisible])\n}\n\n// ── V3 Fund-Split Tables ──────────────────────────────────────────────────────\n\n// Header record for a single fund-split disbursement\nmodel Disbursement {\n id String @id @default(cuid())\n senderAddress String @map(\"sender_address\")\n totalAmount String @map(\"total_amount\")\n asset String\n txHash String @unique @map(\"tx_hash\")\n createdAt DateTime @default(now()) @map(\"created_at\")\n\n recipients SplitRecipient[]\n\n @@index([senderAddress])\n @@index([txHash])\n}\n\n// Individual payout row linked to a parent Disbursement\nmodel SplitRecipient {\n id String @id @default(cuid())\n disbursementId String @map(\"disbursement_id\")\n recipientAddress String @map(\"recipient_address\")\n amount String\n status PayoutStatus @default(PENDING)\n\n disbursement Disbursement @relation(fields: [disbursementId], references: [id])\n\n @@index([disbursementId])\n @@index([recipientAddress])\n}\n\nenum PayoutStatus {\n PENDING\n SENT\n FAILED\n}\n\n// Unified registry mapping Stellar Asset IDs to their source-chain equivalents\nmodel AssetMapping {\n id String @id @default(cuid())\n stellarAssetId String @unique // \"SYMBOL:ISSUER\" or contract address\n symbol String\n sourceChain String // \"stellar\" | \"ethereum\" | \"polygon\" | etc.\n sourceContract String? // Origin-chain contract address (null for native Stellar)\n label String // Human-readable e.g. \"USDC (Circle/Stellar)\"\n bridgeProtocol String? // \"wormhole\" | \"squid\" | null for native\n decimals Int @default(7)\n isNative Boolean @default(false)\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@index([symbol])\n @@index([sourceChain])\n}\n\n// Time-series price history for tax and reporting purposes\nmodel PriceHistory {\n id String @id @default(cuid())\n asset String // Asset identifier e.g. \"native\" or \"USDC:ISSUER\"\n symbol String // Human-readable symbol e.g. \"XLM\", \"USDC\"\n priceUsd Float // USD price at the time of recording\n source String // \"coingecko\" | \"dex\"\n recordedAt DateTime @default(now())\n\n @@index([asset, recordedAt])\n @@index([recordedAt])\n}\n\n// Aggregated dust-loss report per asset across all protocol versions (Issue #179)\nmodel ProtocolInefficiencyReport {\n id String @id @default(cuid())\n asset String // Token address / asset identifier\n protocolVersion Int @map(\"protocol_version\") // 1, 2, 3…\n totalDustAmount String @map(\"total_dust_amount\") // Cumulative dust (stroops)\n eventCount Int @default(0) @map(\"event_count\")\n firstSeenLedger Int? @map(\"first_seen_ledger\")\n lastSeenLedger Int? @map(\"last_seen_ledger\")\n generatedAt DateTime @default(now()) @map(\"generated_at\")\n updatedAt DateTime @updatedAt @map(\"updated_at\")\n\n @@unique([asset, protocolVersion])\n @@index([asset])\n @@index([protocolVersion])\n @@map(\"protocol_inefficiency_report\")\n}\n\n// Log of payment splits with linked USD price at time of split\nmodel SplitLog {\n id String @id @default(cuid())\n streamId String\n asset String\n amount String\n sender String\n receiver String\n txHash String @unique\n priceUsd Float? // USD price at time of split\n priceSource String? // Where the price came from\n priceRecordedAt DateTime? // When the price was recorded\n executedAt DateTime @default(now())\n\n @@index([streamId])\n @@index([executedAt])\n @@index([txHash])\n}\n\nmodel MonitoredTransaction {\n id String @id @default(cuid())\n txHash String @unique @map(\"tx_hash\")\n txXdr String @map(\"tx_xdr\")\n sourceAddress String @map(\"source_address\")\n originalFeeSt String @map(\"original_fee_stroops\")\n currentFeeSt String @map(\"current_fee_stroops\")\n bumpCount Int @default(0) @map(\"bump_count\")\n maxBumps Int @default(3) @map(\"max_bumps\")\n status String @default(\"PENDING\")\n submittedAt DateTime @default(now()) @map(\"submitted_at\")\n confirmedAt DateTime? @map(\"confirmed_at\")\n lastBumpAt DateTime? @map(\"last_bump_at\")\n errorMessage String? @map(\"error_message\")\n createdAt DateTime @default(now()) @map(\"created_at\")\n updatedAt DateTime @updatedAt @map(\"updated_at\")\n\n @@index([status])\n @@index([submittedAt])\n @@map(\"MonitoredTransaction\")\n}\n\n// Split-draft version control (#961)\n// Header record for a draft that can have multiple versions\nmodel DisbursementDraft {\n id String @id @default(cuid())\n senderAddress String @map(\"sender_address\")\n name String?\n asset String\n currentVersion Int @default(1) @map(\"current_version\")\n status String @default(\"DRAFT\")\n createdAt DateTime @default(now()) @map(\"created_at\")\n updatedAt DateTime @updatedAt @map(\"updated_at\")\n\n versions DisbursementDraftVersion[]\n\n @@index([senderAddress])\n @@index([status])\n @@map(\"DisbursementDraft\")\n}\n\n// Individual version snapshot of a draft\nmodel DisbursementDraftVersion {\n id String @id @default(cuid())\n draftId String @map(\"draft_id\")\n version Int\n totalAmount String @map(\"total_amount\")\n recipients Json\n changeNote String? @map(\"change_note\")\n changedBy String @map(\"changed_by\")\n createdAt DateTime @default(now()) @map(\"created_at\")\n\n draft DisbursementDraft @relation(fields: [draftId], references: [id], onDelete: Cascade)\n\n @@unique([draftId, version])\n @@index([draftId])\n @@map(\"DisbursementDraftVersion\")\n}\n\n// Multi-sig proposal store for collecting partial signatures (#954)\nmodel MultisigProposal {\n id String @id @default(cuid())\n proposalId String @unique @map(\"proposal_id\")\n organizationId String @map(\"organization_id\")\n transactionXdr String @map(\"transaction_xdr\")\n signatures Json @default(\"[]\") // Array of {signer: String, signature: String}\n requiredSigners Int @map(\"required_signers\")\n status String @default(\"PENDING\") // PENDING, SIGNED, SUBMITTED, FAILED\n submittedTxHash String? @map(\"submitted_tx_hash\")\n errorMessage String? @map(\"error_message\")\n createdAt DateTime @default(now()) @map(\"created_at\")\n updatedAt DateTime @updatedAt @map(\"updated_at\")\n expiresAt DateTime @map(\"expires_at\")\n\n @@index([organizationId])\n @@index([status])\n @@index([createdAt])\n @@map(\"MultisigProposal\")\n}\n\n// Cached Stellar asset metadata from Stellar-Expert (#955)\nmodel CachedAsset {\n id String @id @default(cuid())\n tokenAddress String @unique @map(\"token_address\")\n code String\n issuer String\n name String?\n description String?\n imageUrl String? @map(\"image_url\")\n isVerified Boolean @default(false) @map(\"is_verified\")\n decimals Int @default(7)\n lastSyncedAt DateTime @map(\"last_synced_at\")\n createdAt DateTime @default(now()) @map(\"created_at\")\n updatedAt DateTime @updatedAt @map(\"updated_at\")\n\n @@index([tokenAddress])\n @@index([isVerified])\n @@index([lastSyncedAt])\n @@map(\"CachedAsset\")\n}\n\n// Split-link shortened URLs (#957)\nmodel SplitLink {\n id String @id @default(cuid())\n slug String @unique\n fullUrl String @map(\"full_url\")\n payloadHash String @unique @map(\"payload_hash\")\n creatorAddress String @map(\"creator_address\")\n clickCount Int @default(0) @map(\"click_count\")\n lastClickedAt DateTime? @map(\"last_clicked_at\")\n expiresAt DateTime? @map(\"expires_at\")\n createdAt DateTime @default(now()) @map(\"created_at\")\n\n @@index([slug])\n @@index([creatorAddress])\n @@index([createdAt])\n @@map(\"SplitLink\")\n}\n", - "inlineSchemaHash": "bd3e0b2b99c46684b29e95cfdaed9d0f474d4b77ef12eadac763e8459b709947", + "inlineSchema": "// This is your Prisma schema file,\n// learn more about it in the docs: https://pris.ly/d/prisma-schema\n\ngenerator client {\n provider = \"prisma-client-js\"\n output = \"../src/generated/client\"\n}\n\ndatasource db {\n provider = \"postgresql\"\n url = env(\"DATABASE_URL\")\n}\n\n// Mirrors the Stream state from the Soroban smart contract\nmodel Stream {\n id String @id @default(cuid())\n streamId String? @unique // Contract-level Stream ID\n txHash String @unique\n version Int @default(1)\n sender String\n receiver String\n contractId String? @map(\"contract_id\")\n tokenAddress String?\n amount String // Store as string to handle large numbers safely\n duration Int?\n status StreamStatus @default(ACTIVE)\n withdrawn String? @default(\"0\")\n legacy Boolean @default(false) // true = originated from V1 contract\n migrated Boolean @default(false) // true = V1 stream superseded by V2\n isPrivate Boolean @default(false)\n yieldEnabled Boolean @default(false) @map(\"yield_enabled\")\n vaultContractId String?\n vaultShareBalance String?\n vaultRatioScale String?\n accruedInterest String @default(\"0\")\n lastYieldAccrualAt DateTime?\n isDust Boolean @default(false) // true = below MIN_VALUE_USD threshold\n affiliateId String? // Affiliate who referred this stream (0.5% commission)\n createdAt DateTime @default(now())\n\n @@index([sender])\n @@index([receiver])\n @@index([status])\n @@index([streamId])\n @@index([contractId])\n @@index([legacy])\n @@index([yieldEnabled, status])\n @@index([isDust])\n @@index([affiliateId])\n}\n\nmodel ContractEvent {\n id String @id @default(cuid())\n eventId String @unique @map(\"event_id\")\n contractId String @map(\"contract_id\")\n txHash String @map(\"tx_hash\")\n eventType String @map(\"event_type\")\n eventIndex Int @default(0) @map(\"event_index\")\n ledgerSequence Int @map(\"ledger_sequence\")\n ledgerClosedAt String? @map(\"ledger_closed_at\")\n topicXdr String[] @default([]) @map(\"topic_xdr\")\n valueXdr String @map(\"value_xdr\")\n decodedJson Json @map(\"decoded_json\")\n createdAt DateTime @default(now()) @map(\"created_at\")\n\n @@unique([txHash, eventIndex])\n @@index([contractId, ledgerSequence])\n @@index([eventType])\n @@index([txHash])\n}\n\n// Token prices for leaderboard volume calculations\nmodel TokenPrice {\n tokenAddress String @id\n symbol String\n decimals Int @default(7)\n priceUsd Float @default(0)\n updatedAt DateTime @updatedAt\n}\n\n// Registered Webhooks for external notifications\nmodel Webhook {\n id String @id @default(cuid())\n url String @unique\n description String?\n eventType String @default(\"*\") // \"*\" = all events, or specific: create_stream, withdraw, cancel\n secretKey String // HMAC secret for signing payloads\n isActive Boolean @default(true)\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@index([eventType])\n @@index([isActive])\n}\n\n// Webhook delivery attempts for retry logic\nmodel WebhookDelivery {\n id String @id @default(cuid())\n webhookId String\n eventType String\n payload Json\n status String @default(\"pending\") // pending, success, failed\n attempts Int @default(0)\n maxRetries Int @default(5)\n nextRetryAt DateTime?\n lastError String?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@index([webhookId, status])\n @@index([nextRetryAt])\n @@index([createdAt])\n}\n\n// Tracks the last synced blockchain ledger sequence\nmodel SyncState {\n id Int @id @default(1)\n lastLedgerSequence Int @default(0)\n}\n\n// Audit log for all protocol events\nmodel EventLog {\n id String @id @default(cuid())\n eventType String // create, withdraw, cancel\n streamId String\n txHash String\n eventIndex Int @default(0) // Position of event within the transaction\n ledger Int\n ledgerClosedAt String\n sender String?\n receiver String?\n amount BigInt?\n metadata String? // JSON string\n parentHash String? @map(\"parent_hash\") // SHA-256 hash of the previous log entry\n entryHash String? @map(\"entry_hash\") // SHA-256(canonical(this_entry) + parentHash)\n createdAt DateTime @default(now())\n\n @@unique([txHash, eventIndex])\n @@index([streamId])\n @@index([eventType])\n @@index([createdAt])\n @@index([ledger])\n}\n\n// Monthly snapshots of stream states\nmodel StreamSnapshot {\n id String @id @default(cuid())\n streamId String\n sender String\n receiver String\n tokenAddress String\n amountPerSecond BigInt\n totalAmount BigInt\n status StreamStatus\n snapshotMonth String // YYYY-MM\n createdAt DateTime @default(now())\n\n @@unique([streamId, snapshotMonth])\n @@index([streamId])\n @@index([snapshotMonth])\n}\n\n// Archived event logs (older than 3 months)\nmodel StreamArchive {\n id String @id @default(cuid())\n eventType String\n streamId String\n txHash String\n ledger Int\n ledgerClosedAt String\n sender String?\n receiver String?\n amount BigInt?\n metadata String?\n createdAt DateTime\n archivedAt DateTime @default(now())\n\n @@index([streamId])\n @@index([createdAt])\n}\n\n// Generic bridge activity log for cross-chain operations\nmodel BridgeLog {\n id String @id @default(cuid())\n bridge String\n eventType String\n sourceChain String\n targetChain String\n sourceAsset String\n targetAsset String?\n amount String\n sender String?\n recipient String\n txHash String @unique\n status String\n payload String? // Raw bridge payload (JSON)\n landedAt DateTime?\n createdAt DateTime @default(now())\n\n @@index([eventType])\n @@index([targetChain])\n @@index([recipient])\n @@index([status])\n @@index([createdAt])\n}\n\n// Governance proposal state indexed from DAO contract events\nmodel Proposal {\n id String @id // Contract-level proposal ID\n creator String\n description String\n quorum Int\n votesFor Int @default(0)\n votesAgainst Int @default(0)\n txHash String @unique\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@index([creator])\n @@index([createdAt])\n}\n\n// Event sourcing table for immutable audit trail\nmodel Event {\n id String @id @default(cuid())\n eventId String @unique // Global unique event identifier\n streamId String // Reference to the stream this event relates to\n eventType String // CREATE, WITHDRAW, CANCEL, PAUSE, RESUME\n payload Json // Complete event data as JSON\n timestamp DateTime @default(now())\n hash String // SHA-256 hash of this event\n previousHash String? // Hash of the previous event in the chain\n\n @@index([streamId])\n @@index([eventType])\n @@index([timestamp])\n}\n\nenum StreamStatus {\n ACTIVE\n PAUSED\n COMPLETED\n CANCELED\n ARCHIVED // V1 stream successfully migrated to V2 — hidden from active UI\n}\n\n// RBAC roles for shared G-address organisations\nenum OrgRole {\n DRAFTER // Can create and edit draft splits\n APPROVER // Can approve or reject pending splits\n EXECUTOR // Can submit approved splits to the ledger\n}\n\n// Maps a Stellar address to a role within a shared G-address organisation\nmodel OrganizationMember {\n id String @id @default(cuid())\n /// The shared G-address that represents the organisation\n orgAddress String\n /// The individual member's Stellar G-address\n memberAddress String\n role OrgRole\n /// Who granted this membership\n addedBy String\n isActive Boolean @default(true)\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@unique([orgAddress, memberAddress])\n @@index([orgAddress])\n @@index([memberAddress])\n @@index([role])\n}\n\n// API keys for 3rd-party partner dApps with elevated rate limits\nmodel ApiKey {\n id String @id @default(cuid())\n keyHash String @unique // SHA-256 hash of the raw key (never store plaintext)\n name String // Human-readable label, e.g. \"Acme dApp\"\n owner String // Stellar address or contact identifier\n rateLimit Int @default(1000) // requests per minute\n isActive Boolean @default(true)\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n lastUsedAt DateTime?\n\n @@index([keyHash])\n @@index([owner])\n}\n\n// Stores ledger hashes for integrity verification\nmodel LedgerHash {\n sequence Int @id\n hash String\n createdAt DateTime @default(now())\n}\n\n// Notification subscriptions — maps a Stellar address to a Discord/Telegram endpoint\nmodel NotificationSubscription {\n id String @id @default(cuid())\n stellarAddress String // Receiver address to watch\n platform NotificationPlatform // discord | telegram\n webhookUrl String? // Discord: full webhook URL\n chatId String? // Telegram: chat/user ID\n isActive Boolean @default(true)\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@unique([stellarAddress, platform])\n @@index([stellarAddress])\n @@index([platform])\n}\n\nenum NotificationPlatform {\n discord\n telegram\n}\n\n// Invoice links for Nebula-Pay payment link generator\nmodel InvoiceLink {\n id String @id @default(cuid())\n slug String @unique // Short UUID for shareable URL\n sender String\n receiver String\n amount String // Total amount to stream\n tokenAddress String\n duration Int // Duration in seconds\n description String? // Optional invoice description\n pdfUrl String? // Optional PDF invoice URL\n xdrParams String // Encoded XDR parameters for contract call\n status String @default(\"DRAFT\") // DRAFT, SIGNED, COMPLETED, EXPIRED\n expiresAt DateTime? // Optional expiration time\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@index([slug])\n @@index([sender])\n @@index([status])\n @@index([createdAt])\n}\n\n// Affiliate earnings tracker for 0.5% commission on stream creation\nmodel Affiliate {\n id String @id @default(cuid())\n stellarAddress String @unique\n pendingClaim String @default(\"0\") // Total unclaimed earnings in stroops\n totalEarned String @default(\"0\") // Lifetime earnings\n claimedAt DateTime?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@index([stellarAddress])\n}\n\n// Global protocol statistics for landing page\nmodel GlobalStats {\n id String @id @default(\"global\")\n tvlUsd String @default(\"0\") // Total Value Locked in USD\n volume24hUsd String @default(\"0\") // 24h volume in USD\n activeStreams Int @default(0)\n totalStreams Int @default(0)\n updatedAt DateTime @updatedAt\n}\n\n// V3 Splitter protocol statistics (#649)\nmodel GlobalStats_V3 {\n id String @id @default(\"v3_global\")\n totalVolumeUsd String @default(\"0\") // Cumulative USD volume through V3 splitter\n dailyVolumeUsd String @default(\"0\") // Last 24h volume\n totalSplits Int @default(0) // Total disbursements\n totalRecipients Int @default(0) // Total unique recipients\n updatedAt DateTime @updatedAt\n\n @@map(\"GlobalStats_V3\")\n}\n\n// Daily TVL snapshots for growth charts\nmodel TvlSnapshot {\n id String @id @default(cuid())\n tvlUsd String // Total Value Locked in USD on this day\n date DateTime @unique // Midnight UTC\n createdAt DateTime @default(now())\n\n @@index([date])\n}\n\n// Asset metadata from stellar.toml\nmodel Asset {\n id String @id @default(cuid())\n tokenAddress String @unique\n homeDomain String?\n name String?\n symbol String?\n imageUrl String?\n decimals Int @default(7)\n isVerified Boolean @default(false)\n stellarExpertVerified Boolean @default(false) @map(\"stellar_expert_verified\")\n tomlUrl String?\n orgVerified Boolean @default(false) @map(\"org_verified\")\n orgHomeDomain String? @map(\"org_home_domain\")\n lastFetchedAt DateTime?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@index([tokenAddress])\n @@index([stellarExpertVerified])\n @@index([orgVerified])\n}\n\n// Autopilot periodic split schedules\nmodel AutopilotSchedule {\n id String @id @default(cuid())\n name String\n frequency String // cron expression, e.g. \"0 9 * * 1\" (every Monday 9am)\n splitConfigId String @map(\"split_config_id\")\n operatorAddress String @map(\"operator_address\")\n minGasTankXlm Float @default(1.0) @map(\"min_gas_tank_xlm\")\n isActive Boolean @default(true) @map(\"is_active\")\n lastRun DateTime? @map(\"last_run\")\n lastTxHash String? @map(\"last_tx_hash\")\n lastError String? @map(\"last_error\")\n createdAt DateTime @default(now()) @map(\"created_at\")\n updatedAt DateTime @updatedAt @map(\"updated_at\")\n\n @@index([isActive])\n @@index([lastRun])\n @@map(\"AutopilotSchedule\")\n}\n\n// Whitelisted assets visible in the StellarStream UI\nmodel AssetConfig {\n id String @id @default(cuid())\n assetId String @unique // Stellar asset identifier (e.g. \"USDC:GABC...\")\n symbol String\n name String\n decimals Int @default(7)\n isVerified Boolean @default(false)\n isVisible Boolean @default(true)\n yieldEnabled Boolean @default(false) @map(\"yield_enabled\")\n iconUrl String? @map(\"icon_url\")\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@index([isVerified])\n @@index([isVisible])\n}\n\n// Cold storage for disbursements older than 18 months\nmodel ArchivedDisbursement {\n id String @id @default(cuid())\n streamId String\n txHash String\n sender String\n receiver String\n amount BigInt\n tokenAddress String\n status String\n completedAt DateTime\n archivedAt DateTime @default(now())\n originalLedger Int\n\n @@index([streamId])\n @@index([completedAt])\n @@index([archivedAt])\n @@index([sender])\n @@index([receiver])\n}\n\n// Active disbursements table (keeps primary table lean)\nmodel Disbursement {\n id String @id @default(cuid())\n streamId String\n txHash String @unique\n sender String\n receiver String\n amount BigInt\n tokenAddress String\n status DisbursementStatus @default(PENDING)\n createdAt DateTime @default(now())\n completedAt DateTime?\n ledger Int\n\n @@index([streamId])\n @@index([sender])\n @@index([receiver])\n @@index([status])\n @@index([createdAt])\n}\n\nenum DisbursementStatus {\n PENDING\n PROCESSING\n COMPLETED\n FAILED\n CANCELLED\n}\n\n// ── V3 Fund-Split Tables ──────────────────────────────────────────────────────\n\nenum PayoutStatus {\n PENDING\n SENT\n FAILED\n}\n\n// Unified registry mapping Stellar Asset IDs to their source-chain equivalents\nmodel AssetMapping {\n id String @id @default(cuid())\n stellarAssetId String @unique // \"SYMBOL:ISSUER\" or contract address\n symbol String\n sourceChain String // \"stellar\" | \"ethereum\" | \"polygon\" | etc.\n sourceContract String? // Origin-chain contract address (null for native Stellar)\n label String // Human-readable e.g. \"USDC (Circle/Stellar)\"\n bridgeProtocol String? // \"wormhole\" | \"squid\" | null for native\n decimals Int @default(7)\n isNative Boolean @default(false)\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@index([symbol])\n @@index([sourceChain])\n}\n\n// Time-series price history for tax and reporting purposes\nmodel PriceHistory {\n id String @id @default(cuid())\n asset String // Asset identifier e.g. \"native\" or \"USDC:ISSUER\"\n symbol String // Human-readable symbol e.g. \"XLM\", \"USDC\"\n priceUsd Float // USD price at the time of recording\n source String // \"coingecko\" | \"dex\"\n recordedAt DateTime @default(now())\n\n @@index([asset, recordedAt])\n @@index([recordedAt])\n}\n\n// Aggregated dust-loss report per asset across all protocol versions (Issue #179)\nmodel ProtocolInefficiencyReport {\n id String @id @default(cuid())\n asset String // Token address / asset identifier\n protocolVersion Int @map(\"protocol_version\") // 1, 2, 3…\n totalDustAmount String @map(\"total_dust_amount\") // Cumulative dust (stroops)\n eventCount Int @default(0) @map(\"event_count\")\n firstSeenLedger Int? @map(\"first_seen_ledger\")\n lastSeenLedger Int? @map(\"last_seen_ledger\")\n generatedAt DateTime @default(now()) @map(\"generated_at\")\n updatedAt DateTime @updatedAt @map(\"updated_at\")\n\n @@unique([asset, protocolVersion])\n @@index([asset])\n @@index([protocolVersion])\n @@map(\"protocol_inefficiency_report\")\n}\n\n// Log of payment splits with linked USD price at time of split\nmodel SplitLog {\n id String @id @default(cuid())\n streamId String\n asset String\n amount String\n sender String\n receiver String\n txHash String @unique\n priceUsd Float? // USD price at time of split\n priceSource String? // Where the price came from\n priceRecordedAt DateTime? // When the price was recorded\n executedAt DateTime @default(now())\n\n @@index([streamId])\n @@index([executedAt])\n @@index([txHash])\n}\n\nmodel MonitoredTransaction {\n id String @id @default(cuid())\n txHash String @unique @map(\"tx_hash\")\n txXdr String @map(\"tx_xdr\")\n sourceAddress String @map(\"source_address\")\n originalFeeSt String @map(\"original_fee_stroops\")\n currentFeeSt String @map(\"current_fee_stroops\")\n bumpCount Int @default(0) @map(\"bump_count\")\n maxBumps Int @default(3) @map(\"max_bumps\")\n status String @default(\"PENDING\")\n submittedAt DateTime @default(now()) @map(\"submitted_at\")\n confirmedAt DateTime? @map(\"confirmed_at\")\n lastBumpAt DateTime? @map(\"last_bump_at\")\n errorMessage String? @map(\"error_message\")\n createdAt DateTime @default(now()) @map(\"created_at\")\n updatedAt DateTime @updatedAt @map(\"updated_at\")\n\n @@index([status])\n @@index([submittedAt])\n @@map(\"MonitoredTransaction\")\n}\n\n// Split-draft version control (#961)\n// Header record for a draft that can have multiple versions\nmodel DisbursementDraft {\n id String @id @default(cuid())\n senderAddress String @map(\"sender_address\")\n name String?\n asset String\n currentVersion Int @default(1) @map(\"current_version\")\n status String @default(\"DRAFT\")\n createdAt DateTime @default(now()) @map(\"created_at\")\n updatedAt DateTime @updatedAt @map(\"updated_at\")\n\n versions DisbursementDraftVersion[]\n\n @@index([senderAddress])\n @@index([status])\n @@map(\"DisbursementDraft\")\n}\n\n// Individual version snapshot of a draft\nmodel DisbursementDraftVersion {\n id String @id @default(cuid())\n draftId String @map(\"draft_id\")\n version Int\n totalAmount String @map(\"total_amount\")\n recipients Json\n changeNote String? @map(\"change_note\")\n changedBy String @map(\"changed_by\")\n createdAt DateTime @default(now()) @map(\"created_at\")\n\n draft DisbursementDraft @relation(fields: [draftId], references: [id], onDelete: Cascade)\n\n @@unique([draftId, version])\n @@index([draftId])\n @@map(\"DisbursementDraftVersion\")\n}\n\n// Multi-sig proposal store for collecting partial signatures (#954)\nmodel MultisigProposal {\n id String @id @default(cuid())\n proposalId String @unique @map(\"proposal_id\")\n organizationId String @map(\"organization_id\")\n transactionXdr String @map(\"transaction_xdr\")\n signatures Json @default(\"[]\") // Array of {signer: String, signature: String}\n requiredSigners Int @map(\"required_signers\")\n status String @default(\"PENDING\") // PENDING, SIGNED, SUBMITTED, FAILED\n submittedTxHash String? @map(\"submitted_tx_hash\")\n errorMessage String? @map(\"error_message\")\n createdAt DateTime @default(now()) @map(\"created_at\")\n updatedAt DateTime @updatedAt @map(\"updated_at\")\n expiresAt DateTime @map(\"expires_at\")\n\n @@index([organizationId])\n @@index([status])\n @@index([createdAt])\n @@map(\"MultisigProposal\")\n}\n\n// Cached Stellar asset metadata from Stellar-Expert (#955)\nmodel CachedAsset {\n id String @id @default(cuid())\n tokenAddress String @unique @map(\"token_address\")\n code String\n issuer String\n name String?\n description String?\n imageUrl String? @map(\"image_url\")\n isVerified Boolean @default(false) @map(\"is_verified\")\n decimals Int @default(7)\n lastSyncedAt DateTime @map(\"last_synced_at\")\n createdAt DateTime @default(now()) @map(\"created_at\")\n updatedAt DateTime @updatedAt @map(\"updated_at\")\n\n @@index([tokenAddress])\n @@index([isVerified])\n @@index([lastSyncedAt])\n @@map(\"CachedAsset\")\n}\n\n// Split-link shortened URLs (#957)\nmodel SplitLink {\n id String @id @default(cuid())\n slug String @unique\n fullUrl String @map(\"full_url\")\n payloadHash String @unique @map(\"payload_hash\")\n creatorAddress String @map(\"creator_address\")\n passwordHash String? @map(\"password_hash\") // SHA-256 of the password; null = no protection\n clickCount Int @default(0) @map(\"click_count\")\n lastClickedAt DateTime? @map(\"last_clicked_at\")\n expiresAt DateTime? @map(\"expires_at\")\n createdAt DateTime @default(now()) @map(\"created_at\")\n\n @@index([slug])\n @@index([creatorAddress])\n @@index([createdAt])\n @@map(\"SplitLink\")\n}\n", + "inlineSchemaHash": "4389641f3d77a3ae6ba2b336d69e89f9cde1b97742faa3eaf3c6a753ee41b5d0", "copyEngine": true } @@ -684,7 +715,7 @@ if (!fs.existsSync(path.join(__dirname, 'schema.prisma'))) { config.isBundled = true } -config.runtimeDataModel = JSON.parse("{\"models\":{\"Stream\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"streamId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"txHash\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"version\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":1,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"sender\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"receiver\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contractId\",\"dbName\":\"contract_id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"tokenAddress\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"amount\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"duration\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"status\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"StreamStatus\",\"default\":\"ACTIVE\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"withdrawn\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"0\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"legacy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"migrated\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isPrivate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"yieldEnabled\",\"dbName\":\"yield_enabled\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"vaultContractId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"vaultShareBalance\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"vaultRatioScale\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"accruedInterest\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"0\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"lastYieldAccrualAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isDust\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"affiliateId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"ContractEvent\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"eventId\",\"dbName\":\"event_id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contractId\",\"dbName\":\"contract_id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"txHash\",\"dbName\":\"tx_hash\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"eventType\",\"dbName\":\"event_type\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"eventIndex\",\"dbName\":\"event_index\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"ledgerSequence\",\"dbName\":\"ledger_sequence\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"ledgerClosedAt\",\"dbName\":\"ledger_closed_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"topicXdr\",\"dbName\":\"topic_xdr\",\"kind\":\"scalar\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"valueXdr\",\"dbName\":\"value_xdr\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"decodedJson\",\"dbName\":\"decoded_json\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Json\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"dbName\":\"created_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[[\"txHash\",\"eventIndex\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"txHash\",\"eventIndex\"]}],\"isGenerated\":false},\"TokenPrice\":{\"dbName\":null,\"fields\":[{\"name\":\"tokenAddress\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"symbol\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"decimals\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":7,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"priceUsd\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Float\",\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"Webhook\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"url\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"description\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"eventType\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"*\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"secretKey\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isActive\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":true,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"WebhookDelivery\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"webhookId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"eventType\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"payload\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Json\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"status\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"pending\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"attempts\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"maxRetries\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":5,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"nextRetryAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"lastError\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"SyncState\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":1,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"lastLedgerSequence\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"EventLog\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"eventType\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"streamId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"txHash\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"eventIndex\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"ledger\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"ledgerClosedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"sender\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"receiver\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"amount\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"metadata\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"parentHash\",\"dbName\":\"parent_hash\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"entryHash\",\"dbName\":\"entry_hash\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[[\"txHash\",\"eventIndex\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"txHash\",\"eventIndex\"]}],\"isGenerated\":false},\"StreamSnapshot\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"streamId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"sender\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"receiver\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"tokenAddress\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"amountPerSecond\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"totalAmount\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"status\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"StreamStatus\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"snapshotMonth\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[[\"streamId\",\"snapshotMonth\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"streamId\",\"snapshotMonth\"]}],\"isGenerated\":false},\"StreamArchive\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"eventType\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"streamId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"txHash\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"ledger\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"ledgerClosedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"sender\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"receiver\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"amount\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"metadata\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"archivedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"BridgeLog\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"bridge\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"eventType\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"sourceChain\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"targetChain\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"sourceAsset\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"targetAsset\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"amount\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"sender\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"recipient\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"txHash\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"status\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"payload\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"landedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"Proposal\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"creator\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"description\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"quorum\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"votesFor\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"votesAgainst\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"txHash\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"OrganizationMember\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"orgAddress\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false,\"documentation\":\"The shared G-address that represents the organisation\"},{\"name\":\"memberAddress\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false,\"documentation\":\"The individual member's Stellar G-address\"},{\"name\":\"role\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"OrgRole\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"addedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false,\"documentation\":\"Who granted this membership\"},{\"name\":\"isActive\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":true,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[[\"orgAddress\",\"memberAddress\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"orgAddress\",\"memberAddress\"]}],\"isGenerated\":false},\"ApiKey\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"keyHash\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"owner\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"rateLimit\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":1000,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isActive\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":true,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"lastUsedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"LedgerHash\":{\"dbName\":null,\"fields\":[{\"name\":\"sequence\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"hash\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"NotificationSubscription\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"stellarAddress\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"platform\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"NotificationPlatform\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"webhookUrl\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"chatId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isActive\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":true,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[[\"stellarAddress\",\"platform\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"stellarAddress\",\"platform\"]}],\"isGenerated\":false},\"InvoiceLink\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"slug\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"sender\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"receiver\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"amount\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"tokenAddress\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"duration\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"description\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"pdfUrl\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"xdrParams\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"status\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"DRAFT\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"expiresAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"Affiliate\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"stellarAddress\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"pendingClaim\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"0\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"totalEarned\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"0\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"claimedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"GlobalStats\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"global\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"tvlUsd\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"0\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"volume24hUsd\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"0\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"activeStreams\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"totalStreams\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"GlobalStats_V3\":{\"dbName\":\"GlobalStats_V3\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"v3_global\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"totalVolumeUsd\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"0\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"dailyVolumeUsd\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"0\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"totalSplits\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"totalRecipients\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"TvlSnapshot\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"tvlUsd\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"date\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"Asset\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"tokenAddress\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"homeDomain\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"symbol\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"imageUrl\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"decimals\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":7,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isVerified\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"lastFetchedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"AutopilotSchedule\":{\"dbName\":\"AutopilotSchedule\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"frequency\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"splitConfigId\",\"dbName\":\"split_config_id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"operatorAddress\",\"dbName\":\"operator_address\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"minGasTankXlm\",\"dbName\":\"min_gas_tank_xlm\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Float\",\"default\":1,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isActive\",\"dbName\":\"is_active\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":true,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"lastRun\",\"dbName\":\"last_run\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"lastTxHash\",\"dbName\":\"last_tx_hash\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"lastError\",\"dbName\":\"last_error\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"dbName\":\"created_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"dbName\":\"updated_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"AssetConfig\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"assetId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"symbol\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"decimals\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":7,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isVerified\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isVisible\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":true,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"yieldEnabled\",\"dbName\":\"yield_enabled\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"iconUrl\",\"dbName\":\"icon_url\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"Disbursement\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"senderAddress\",\"dbName\":\"sender_address\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"totalAmount\",\"dbName\":\"total_amount\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"asset\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"txHash\",\"dbName\":\"tx_hash\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"dbName\":\"created_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"recipients\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"SplitRecipient\",\"relationName\":\"DisbursementToSplitRecipient\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"SplitRecipient\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"disbursementId\",\"dbName\":\"disbursement_id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"recipientAddress\",\"dbName\":\"recipient_address\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"amount\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"status\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"PayoutStatus\",\"default\":\"PENDING\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"disbursement\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Disbursement\",\"relationName\":\"DisbursementToSplitRecipient\",\"relationFromFields\":[\"disbursementId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"AssetMapping\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"stellarAssetId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"symbol\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"sourceChain\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"sourceContract\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"label\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"bridgeProtocol\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"decimals\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":7,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isNative\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"PriceHistory\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"asset\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"symbol\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"priceUsd\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"source\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"recordedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"ProtocolInefficiencyReport\":{\"dbName\":\"protocol_inefficiency_report\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"asset\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"protocolVersion\",\"dbName\":\"protocol_version\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"totalDustAmount\",\"dbName\":\"total_dust_amount\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"eventCount\",\"dbName\":\"event_count\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"firstSeenLedger\",\"dbName\":\"first_seen_ledger\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"lastSeenLedger\",\"dbName\":\"last_seen_ledger\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"generatedAt\",\"dbName\":\"generated_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"dbName\":\"updated_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[[\"asset\",\"protocolVersion\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"asset\",\"protocolVersion\"]}],\"isGenerated\":false},\"SplitLog\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"streamId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"asset\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"amount\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"sender\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"receiver\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"txHash\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"priceUsd\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"priceSource\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"priceRecordedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"executedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"MonitoredTransaction\":{\"dbName\":\"MonitoredTransaction\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"txHash\",\"dbName\":\"tx_hash\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"txXdr\",\"dbName\":\"tx_xdr\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"sourceAddress\",\"dbName\":\"source_address\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"originalFeeSt\",\"dbName\":\"original_fee_stroops\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"currentFeeSt\",\"dbName\":\"current_fee_stroops\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"bumpCount\",\"dbName\":\"bump_count\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"maxBumps\",\"dbName\":\"max_bumps\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":3,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"status\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"PENDING\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"submittedAt\",\"dbName\":\"submitted_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"confirmedAt\",\"dbName\":\"confirmed_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"lastBumpAt\",\"dbName\":\"last_bump_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"errorMessage\",\"dbName\":\"error_message\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"dbName\":\"created_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"dbName\":\"updated_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"DisbursementDraft\":{\"dbName\":\"DisbursementDraft\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"senderAddress\",\"dbName\":\"sender_address\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"asset\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"currentVersion\",\"dbName\":\"current_version\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":1,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"status\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"DRAFT\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"dbName\":\"created_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"dbName\":\"updated_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"versions\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DisbursementDraftVersion\",\"relationName\":\"DisbursementDraftToDisbursementDraftVersion\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"DisbursementDraftVersion\":{\"dbName\":\"DisbursementDraftVersion\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"draftId\",\"dbName\":\"draft_id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"version\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"totalAmount\",\"dbName\":\"total_amount\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"recipients\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Json\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"changeNote\",\"dbName\":\"change_note\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"changedBy\",\"dbName\":\"changed_by\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"dbName\":\"created_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"draft\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DisbursementDraft\",\"relationName\":\"DisbursementDraftToDisbursementDraftVersion\",\"relationFromFields\":[\"draftId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[[\"draftId\",\"version\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"draftId\",\"version\"]}],\"isGenerated\":false},\"MultisigProposal\":{\"dbName\":\"MultisigProposal\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"proposalId\",\"dbName\":\"proposal_id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"organizationId\",\"dbName\":\"organization_id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"transactionXdr\",\"dbName\":\"transaction_xdr\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"signatures\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Json\",\"default\":\"[]\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"requiredSigners\",\"dbName\":\"required_signers\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"status\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"PENDING\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"submittedTxHash\",\"dbName\":\"submitted_tx_hash\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"errorMessage\",\"dbName\":\"error_message\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"dbName\":\"created_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"dbName\":\"updated_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"expiresAt\",\"dbName\":\"expires_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"CachedAsset\":{\"dbName\":\"CachedAsset\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"tokenAddress\",\"dbName\":\"token_address\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"code\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"issuer\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"description\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"imageUrl\",\"dbName\":\"image_url\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isVerified\",\"dbName\":\"is_verified\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"decimals\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":7,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"lastSyncedAt\",\"dbName\":\"last_synced_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"dbName\":\"created_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"dbName\":\"updated_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"SplitLink\":{\"dbName\":\"SplitLink\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"slug\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"fullUrl\",\"dbName\":\"full_url\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"payloadHash\",\"dbName\":\"payload_hash\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"creatorAddress\",\"dbName\":\"creator_address\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"clickCount\",\"dbName\":\"click_count\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"lastClickedAt\",\"dbName\":\"last_clicked_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"expiresAt\",\"dbName\":\"expires_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"dbName\":\"created_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false}},\"enums\":{\"StreamStatus\":{\"values\":[{\"name\":\"ACTIVE\",\"dbName\":null},{\"name\":\"PAUSED\",\"dbName\":null},{\"name\":\"COMPLETED\",\"dbName\":null},{\"name\":\"CANCELED\",\"dbName\":null},{\"name\":\"ARCHIVED\",\"dbName\":null}],\"dbName\":null},\"OrgRole\":{\"values\":[{\"name\":\"DRAFTER\",\"dbName\":null},{\"name\":\"APPROVER\",\"dbName\":null},{\"name\":\"EXECUTOR\",\"dbName\":null}],\"dbName\":null},\"NotificationPlatform\":{\"values\":[{\"name\":\"discord\",\"dbName\":null},{\"name\":\"telegram\",\"dbName\":null}],\"dbName\":null},\"PayoutStatus\":{\"values\":[{\"name\":\"PENDING\",\"dbName\":null},{\"name\":\"SENT\",\"dbName\":null},{\"name\":\"FAILED\",\"dbName\":null}],\"dbName\":null}},\"types\":{}}") +config.runtimeDataModel = JSON.parse("{\"models\":{\"Stream\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"streamId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"txHash\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"version\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":1,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"sender\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"receiver\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contractId\",\"dbName\":\"contract_id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"tokenAddress\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"amount\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"duration\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"status\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"StreamStatus\",\"default\":\"ACTIVE\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"withdrawn\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"0\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"legacy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"migrated\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isPrivate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"yieldEnabled\",\"dbName\":\"yield_enabled\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"vaultContractId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"vaultShareBalance\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"vaultRatioScale\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"accruedInterest\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"0\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"lastYieldAccrualAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isDust\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"affiliateId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"ContractEvent\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"eventId\",\"dbName\":\"event_id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contractId\",\"dbName\":\"contract_id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"txHash\",\"dbName\":\"tx_hash\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"eventType\",\"dbName\":\"event_type\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"eventIndex\",\"dbName\":\"event_index\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"ledgerSequence\",\"dbName\":\"ledger_sequence\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"ledgerClosedAt\",\"dbName\":\"ledger_closed_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"topicXdr\",\"dbName\":\"topic_xdr\",\"kind\":\"scalar\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"valueXdr\",\"dbName\":\"value_xdr\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"decodedJson\",\"dbName\":\"decoded_json\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Json\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"dbName\":\"created_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[[\"txHash\",\"eventIndex\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"txHash\",\"eventIndex\"]}],\"isGenerated\":false},\"TokenPrice\":{\"dbName\":null,\"fields\":[{\"name\":\"tokenAddress\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"symbol\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"decimals\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":7,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"priceUsd\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Float\",\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"Webhook\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"url\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"description\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"eventType\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"*\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"secretKey\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isActive\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":true,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"WebhookDelivery\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"webhookId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"eventType\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"payload\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Json\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"status\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"pending\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"attempts\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"maxRetries\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":5,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"nextRetryAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"lastError\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"SyncState\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":1,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"lastLedgerSequence\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"EventLog\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"eventType\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"streamId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"txHash\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"eventIndex\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"ledger\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"ledgerClosedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"sender\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"receiver\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"amount\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"metadata\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"parentHash\",\"dbName\":\"parent_hash\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"entryHash\",\"dbName\":\"entry_hash\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[[\"txHash\",\"eventIndex\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"txHash\",\"eventIndex\"]}],\"isGenerated\":false},\"StreamSnapshot\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"streamId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"sender\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"receiver\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"tokenAddress\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"amountPerSecond\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"totalAmount\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"status\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"StreamStatus\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"snapshotMonth\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[[\"streamId\",\"snapshotMonth\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"streamId\",\"snapshotMonth\"]}],\"isGenerated\":false},\"StreamArchive\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"eventType\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"streamId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"txHash\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"ledger\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"ledgerClosedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"sender\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"receiver\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"amount\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"metadata\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"archivedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"BridgeLog\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"bridge\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"eventType\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"sourceChain\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"targetChain\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"sourceAsset\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"targetAsset\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"amount\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"sender\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"recipient\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"txHash\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"status\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"payload\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"landedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"Proposal\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"creator\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"description\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"quorum\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"votesFor\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"votesAgainst\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"txHash\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"Event\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"eventId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"streamId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"eventType\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"payload\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Json\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"timestamp\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"hash\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"previousHash\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"OrganizationMember\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"orgAddress\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false,\"documentation\":\"The shared G-address that represents the organisation\"},{\"name\":\"memberAddress\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false,\"documentation\":\"The individual member's Stellar G-address\"},{\"name\":\"role\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"OrgRole\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"addedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false,\"documentation\":\"Who granted this membership\"},{\"name\":\"isActive\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":true,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[[\"orgAddress\",\"memberAddress\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"orgAddress\",\"memberAddress\"]}],\"isGenerated\":false},\"ApiKey\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"keyHash\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"owner\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"rateLimit\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":1000,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isActive\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":true,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"lastUsedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"LedgerHash\":{\"dbName\":null,\"fields\":[{\"name\":\"sequence\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"hash\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"NotificationSubscription\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"stellarAddress\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"platform\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"NotificationPlatform\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"webhookUrl\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"chatId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isActive\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":true,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[[\"stellarAddress\",\"platform\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"stellarAddress\",\"platform\"]}],\"isGenerated\":false},\"InvoiceLink\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"slug\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"sender\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"receiver\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"amount\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"tokenAddress\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"duration\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"description\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"pdfUrl\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"xdrParams\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"status\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"DRAFT\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"expiresAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"Affiliate\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"stellarAddress\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"pendingClaim\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"0\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"totalEarned\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"0\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"claimedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"GlobalStats\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"global\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"tvlUsd\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"0\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"volume24hUsd\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"0\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"activeStreams\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"totalStreams\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"GlobalStats_V3\":{\"dbName\":\"GlobalStats_V3\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"v3_global\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"totalVolumeUsd\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"0\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"dailyVolumeUsd\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"0\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"totalSplits\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"totalRecipients\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"TvlSnapshot\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"tvlUsd\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"date\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"Asset\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"tokenAddress\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"homeDomain\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"symbol\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"imageUrl\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"decimals\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":7,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isVerified\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"stellarExpertVerified\",\"dbName\":\"stellar_expert_verified\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"tomlUrl\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"orgVerified\",\"dbName\":\"org_verified\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"orgHomeDomain\",\"dbName\":\"org_home_domain\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"lastFetchedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"AutopilotSchedule\":{\"dbName\":\"AutopilotSchedule\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"frequency\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"splitConfigId\",\"dbName\":\"split_config_id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"operatorAddress\",\"dbName\":\"operator_address\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"minGasTankXlm\",\"dbName\":\"min_gas_tank_xlm\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Float\",\"default\":1,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isActive\",\"dbName\":\"is_active\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":true,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"lastRun\",\"dbName\":\"last_run\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"lastTxHash\",\"dbName\":\"last_tx_hash\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"lastError\",\"dbName\":\"last_error\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"dbName\":\"created_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"dbName\":\"updated_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"AssetConfig\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"assetId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"symbol\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"decimals\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":7,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isVerified\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isVisible\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":true,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"yieldEnabled\",\"dbName\":\"yield_enabled\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"iconUrl\",\"dbName\":\"icon_url\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"ArchivedDisbursement\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"streamId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"txHash\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"sender\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"receiver\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"amount\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"tokenAddress\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"status\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"completedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"archivedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"originalLedger\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"Disbursement\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"streamId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"txHash\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"sender\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"receiver\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"amount\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"tokenAddress\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"status\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DisbursementStatus\",\"default\":\"PENDING\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"completedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"ledger\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"AssetMapping\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"stellarAssetId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"symbol\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"sourceChain\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"sourceContract\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"label\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"bridgeProtocol\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"decimals\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":7,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isNative\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"PriceHistory\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"asset\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"symbol\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"priceUsd\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"source\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"recordedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"ProtocolInefficiencyReport\":{\"dbName\":\"protocol_inefficiency_report\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"asset\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"protocolVersion\",\"dbName\":\"protocol_version\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"totalDustAmount\",\"dbName\":\"total_dust_amount\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"eventCount\",\"dbName\":\"event_count\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"firstSeenLedger\",\"dbName\":\"first_seen_ledger\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"lastSeenLedger\",\"dbName\":\"last_seen_ledger\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"generatedAt\",\"dbName\":\"generated_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"dbName\":\"updated_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[[\"asset\",\"protocolVersion\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"asset\",\"protocolVersion\"]}],\"isGenerated\":false},\"SplitLog\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"streamId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"asset\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"amount\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"sender\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"receiver\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"txHash\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"priceUsd\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"priceSource\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"priceRecordedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"executedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"MonitoredTransaction\":{\"dbName\":\"MonitoredTransaction\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"txHash\",\"dbName\":\"tx_hash\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"txXdr\",\"dbName\":\"tx_xdr\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"sourceAddress\",\"dbName\":\"source_address\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"originalFeeSt\",\"dbName\":\"original_fee_stroops\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"currentFeeSt\",\"dbName\":\"current_fee_stroops\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"bumpCount\",\"dbName\":\"bump_count\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"maxBumps\",\"dbName\":\"max_bumps\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":3,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"status\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"PENDING\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"submittedAt\",\"dbName\":\"submitted_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"confirmedAt\",\"dbName\":\"confirmed_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"lastBumpAt\",\"dbName\":\"last_bump_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"errorMessage\",\"dbName\":\"error_message\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"dbName\":\"created_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"dbName\":\"updated_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"DisbursementDraft\":{\"dbName\":\"DisbursementDraft\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"senderAddress\",\"dbName\":\"sender_address\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"asset\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"currentVersion\",\"dbName\":\"current_version\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":1,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"status\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"DRAFT\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"dbName\":\"created_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"dbName\":\"updated_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"versions\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DisbursementDraftVersion\",\"relationName\":\"DisbursementDraftToDisbursementDraftVersion\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"DisbursementDraftVersion\":{\"dbName\":\"DisbursementDraftVersion\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"draftId\",\"dbName\":\"draft_id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"version\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"totalAmount\",\"dbName\":\"total_amount\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"recipients\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Json\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"changeNote\",\"dbName\":\"change_note\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"changedBy\",\"dbName\":\"changed_by\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"dbName\":\"created_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"draft\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DisbursementDraft\",\"relationName\":\"DisbursementDraftToDisbursementDraftVersion\",\"relationFromFields\":[\"draftId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[[\"draftId\",\"version\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"draftId\",\"version\"]}],\"isGenerated\":false},\"MultisigProposal\":{\"dbName\":\"MultisigProposal\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"proposalId\",\"dbName\":\"proposal_id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"organizationId\",\"dbName\":\"organization_id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"transactionXdr\",\"dbName\":\"transaction_xdr\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"signatures\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Json\",\"default\":\"[]\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"requiredSigners\",\"dbName\":\"required_signers\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"status\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"PENDING\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"submittedTxHash\",\"dbName\":\"submitted_tx_hash\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"errorMessage\",\"dbName\":\"error_message\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"dbName\":\"created_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"dbName\":\"updated_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"expiresAt\",\"dbName\":\"expires_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"CachedAsset\":{\"dbName\":\"CachedAsset\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"tokenAddress\",\"dbName\":\"token_address\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"code\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"issuer\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"description\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"imageUrl\",\"dbName\":\"image_url\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isVerified\",\"dbName\":\"is_verified\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"decimals\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":7,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"lastSyncedAt\",\"dbName\":\"last_synced_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"dbName\":\"created_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"dbName\":\"updated_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"SplitLink\":{\"dbName\":\"SplitLink\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"slug\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"fullUrl\",\"dbName\":\"full_url\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"payloadHash\",\"dbName\":\"payload_hash\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"creatorAddress\",\"dbName\":\"creator_address\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"passwordHash\",\"dbName\":\"password_hash\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"clickCount\",\"dbName\":\"click_count\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"lastClickedAt\",\"dbName\":\"last_clicked_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"expiresAt\",\"dbName\":\"expires_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"dbName\":\"created_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false}},\"enums\":{\"StreamStatus\":{\"values\":[{\"name\":\"ACTIVE\",\"dbName\":null},{\"name\":\"PAUSED\",\"dbName\":null},{\"name\":\"COMPLETED\",\"dbName\":null},{\"name\":\"CANCELED\",\"dbName\":null},{\"name\":\"ARCHIVED\",\"dbName\":null}],\"dbName\":null},\"OrgRole\":{\"values\":[{\"name\":\"DRAFTER\",\"dbName\":null},{\"name\":\"APPROVER\",\"dbName\":null},{\"name\":\"EXECUTOR\",\"dbName\":null}],\"dbName\":null},\"NotificationPlatform\":{\"values\":[{\"name\":\"discord\",\"dbName\":null},{\"name\":\"telegram\",\"dbName\":null}],\"dbName\":null},\"DisbursementStatus\":{\"values\":[{\"name\":\"PENDING\",\"dbName\":null},{\"name\":\"PROCESSING\",\"dbName\":null},{\"name\":\"COMPLETED\",\"dbName\":null},{\"name\":\"FAILED\",\"dbName\":null},{\"name\":\"CANCELLED\",\"dbName\":null}],\"dbName\":null},\"PayoutStatus\":{\"values\":[{\"name\":\"PENDING\",\"dbName\":null},{\"name\":\"SENT\",\"dbName\":null},{\"name\":\"FAILED\",\"dbName\":null}],\"dbName\":null}},\"types\":{}}") defineDmmfProperty(exports.Prisma, config.runtimeDataModel) config.engineWasm = undefined diff --git a/backend/src/generated/client/package.json b/backend/src/generated/client/package.json index bb7dcacd..da82b892 100644 --- a/backend/src/generated/client/package.json +++ b/backend/src/generated/client/package.json @@ -1,5 +1,5 @@ { - "name": "prisma-client-0b4e364e5b6ff98ddd01bea45a0785b7beac2a701dac38a9491bddbc36189cf4", + "name": "prisma-client-6395b3205bf089cd755884dd10280a64bc097b8572bcb2a6b20a1378c3116555", "main": "index.js", "types": "index.d.ts", "browser": "index-browser.js", diff --git a/backend/src/generated/client/schema.prisma b/backend/src/generated/client/schema.prisma index 5bc91718..c08a1b16 100644 --- a/backend/src/generated/client/schema.prisma +++ b/backend/src/generated/client/schema.prisma @@ -220,6 +220,22 @@ model Proposal { @@index([createdAt]) } +// Event sourcing table for immutable audit trail +model Event { + id String @id @default(cuid()) + eventId String @unique // Global unique event identifier + streamId String // Reference to the stream this event relates to + eventType String // CREATE, WITHDRAW, CANCEL, PAUSE, RESUME + payload Json // Complete event data as JSON + timestamp DateTime @default(now()) + hash String // SHA-256 hash of this event + previousHash String? // Hash of the previous event in the chain + + @@index([streamId]) + @@index([eventType]) + @@index([timestamp]) +} + enum StreamStatus { ACTIVE PAUSED @@ -369,19 +385,25 @@ model TvlSnapshot { // Asset metadata from stellar.toml model Asset { - id String @id @default(cuid()) - tokenAddress String @unique - homeDomain String? - name String? - symbol String? - imageUrl String? - decimals Int @default(7) - isVerified Boolean @default(false) - lastFetchedAt DateTime? - createdAt DateTime @default(now()) - updatedAt DateTime @updatedAt + id String @id @default(cuid()) + tokenAddress String @unique + homeDomain String? + name String? + symbol String? + imageUrl String? + decimals Int @default(7) + isVerified Boolean @default(false) + stellarExpertVerified Boolean @default(false) @map("stellar_expert_verified") + tomlUrl String? + orgVerified Boolean @default(false) @map("org_verified") + orgHomeDomain String? @map("org_home_domain") + lastFetchedAt DateTime? + createdAt DateTime @default(now()) + updatedAt DateTime @updatedAt @@index([tokenAddress]) + @@index([stellarExpertVerified]) + @@index([orgVerified]) } // Autopilot periodic split schedules @@ -422,37 +444,58 @@ model AssetConfig { @@index([isVisible]) } -// ── V3 Fund-Split Tables ────────────────────────────────────────────────────── - -// Header record for a single fund-split disbursement -model Disbursement { - id String @id @default(cuid()) - senderAddress String @map("sender_address") - totalAmount String @map("total_amount") - asset String - txHash String @unique @map("tx_hash") - createdAt DateTime @default(now()) @map("created_at") - - recipients SplitRecipient[] +// Cold storage for disbursements older than 18 months +model ArchivedDisbursement { + id String @id @default(cuid()) + streamId String + txHash String + sender String + receiver String + amount BigInt + tokenAddress String + status String + completedAt DateTime + archivedAt DateTime @default(now()) + originalLedger Int - @@index([senderAddress]) - @@index([txHash]) + @@index([streamId]) + @@index([completedAt]) + @@index([archivedAt]) + @@index([sender]) + @@index([receiver]) } -// Individual payout row linked to a parent Disbursement -model SplitRecipient { - id String @id @default(cuid()) - disbursementId String @map("disbursement_id") - recipientAddress String @map("recipient_address") - amount String - status PayoutStatus @default(PENDING) +// Active disbursements table (keeps primary table lean) +model Disbursement { + id String @id @default(cuid()) + streamId String + txHash String @unique + sender String + receiver String + amount BigInt + tokenAddress String + status DisbursementStatus @default(PENDING) + createdAt DateTime @default(now()) + completedAt DateTime? + ledger Int - disbursement Disbursement @relation(fields: [disbursementId], references: [id]) + @@index([streamId]) + @@index([sender]) + @@index([receiver]) + @@index([status]) + @@index([createdAt]) +} - @@index([disbursementId]) - @@index([recipientAddress]) +enum DisbursementStatus { + PENDING + PROCESSING + COMPLETED + FAILED + CANCELLED } +// ── V3 Fund-Split Tables ────────────────────────────────────────────────────── + enum PayoutStatus { PENDING SENT @@ -635,6 +678,7 @@ model SplitLink { fullUrl String @map("full_url") payloadHash String @unique @map("payload_hash") creatorAddress String @map("creator_address") + passwordHash String? @map("password_hash") // SHA-256 of the password; null = no protection clickCount Int @default(0) @map("click_count") lastClickedAt DateTime? @map("last_clicked_at") expiresAt DateTime? @map("expires_at") diff --git a/backend/src/generated/client/wasm.js b/backend/src/generated/client/wasm.js index 95a2e14d..657bc54a 100644 --- a/backend/src/generated/client/wasm.js +++ b/backend/src/generated/client/wasm.js @@ -277,6 +277,17 @@ exports.Prisma.ProposalScalarFieldEnum = { updatedAt: 'updatedAt' }; +exports.Prisma.EventScalarFieldEnum = { + id: 'id', + eventId: 'eventId', + streamId: 'streamId', + eventType: 'eventType', + payload: 'payload', + timestamp: 'timestamp', + hash: 'hash', + previousHash: 'previousHash' +}; + exports.Prisma.OrganizationMemberScalarFieldEnum = { id: 'id', orgAddress: 'orgAddress', @@ -378,6 +389,10 @@ exports.Prisma.AssetScalarFieldEnum = { imageUrl: 'imageUrl', decimals: 'decimals', isVerified: 'isVerified', + stellarExpertVerified: 'stellarExpertVerified', + tomlUrl: 'tomlUrl', + orgVerified: 'orgVerified', + orgHomeDomain: 'orgHomeDomain', lastFetchedAt: 'lastFetchedAt', createdAt: 'createdAt', updatedAt: 'updatedAt' @@ -412,21 +427,32 @@ exports.Prisma.AssetConfigScalarFieldEnum = { updatedAt: 'updatedAt' }; -exports.Prisma.DisbursementScalarFieldEnum = { +exports.Prisma.ArchivedDisbursementScalarFieldEnum = { id: 'id', - senderAddress: 'senderAddress', - totalAmount: 'totalAmount', - asset: 'asset', + streamId: 'streamId', txHash: 'txHash', - createdAt: 'createdAt' + sender: 'sender', + receiver: 'receiver', + amount: 'amount', + tokenAddress: 'tokenAddress', + status: 'status', + completedAt: 'completedAt', + archivedAt: 'archivedAt', + originalLedger: 'originalLedger' }; -exports.Prisma.SplitRecipientScalarFieldEnum = { +exports.Prisma.DisbursementScalarFieldEnum = { id: 'id', - disbursementId: 'disbursementId', - recipientAddress: 'recipientAddress', + streamId: 'streamId', + txHash: 'txHash', + sender: 'sender', + receiver: 'receiver', amount: 'amount', - status: 'status' + tokenAddress: 'tokenAddress', + status: 'status', + createdAt: 'createdAt', + completedAt: 'completedAt', + ledger: 'ledger' }; exports.Prisma.AssetMappingScalarFieldEnum = { @@ -554,6 +580,7 @@ exports.Prisma.SplitLinkScalarFieldEnum = { fullUrl: 'fullUrl', payloadHash: 'payloadHash', creatorAddress: 'creatorAddress', + passwordHash: 'passwordHash', clickCount: 'clickCount', lastClickedAt: 'lastClickedAt', expiresAt: 'expiresAt', @@ -603,10 +630,12 @@ exports.NotificationPlatform = exports.$Enums.NotificationPlatform = { telegram: 'telegram' }; -exports.PayoutStatus = exports.$Enums.PayoutStatus = { +exports.DisbursementStatus = exports.$Enums.DisbursementStatus = { PENDING: 'PENDING', - SENT: 'SENT', - FAILED: 'FAILED' + PROCESSING: 'PROCESSING', + COMPLETED: 'COMPLETED', + FAILED: 'FAILED', + CANCELLED: 'CANCELLED' }; exports.Prisma.ModelName = { @@ -621,6 +650,7 @@ exports.Prisma.ModelName = { StreamArchive: 'StreamArchive', BridgeLog: 'BridgeLog', Proposal: 'Proposal', + Event: 'Event', OrganizationMember: 'OrganizationMember', ApiKey: 'ApiKey', LedgerHash: 'LedgerHash', @@ -633,8 +663,8 @@ exports.Prisma.ModelName = { Asset: 'Asset', AutopilotSchedule: 'AutopilotSchedule', AssetConfig: 'AssetConfig', + ArchivedDisbursement: 'ArchivedDisbursement', Disbursement: 'Disbursement', - SplitRecipient: 'SplitRecipient', AssetMapping: 'AssetMapping', PriceHistory: 'PriceHistory', ProtocolInefficiencyReport: 'ProtocolInefficiencyReport', diff --git a/backend/src/lib/event-hash-chain.ts b/backend/src/lib/event-hash-chain.ts new file mode 100644 index 00000000..94c52edf --- /dev/null +++ b/backend/src/lib/event-hash-chain.ts @@ -0,0 +1,26 @@ +import { createHash } from "crypto"; + +export interface EventHashInput { + eventId: string; + streamId: string; + eventType: string; + payload: Record; + timestamp: string; + previousHash: string | null; +} + +function canonicalizeEvent(input: EventHashInput): string { + return JSON.stringify({ + eventId: input.eventId, + eventType: input.eventType, + payload: input.payload, + previousHash: input.previousHash, + streamId: input.streamId, + timestamp: input.timestamp, + }); +} + +export function computeEventHash(input: EventHashInput): string { + const canonical = canonicalizeEvent(input); + return createHash("sha256").update(canonical, "utf8").digest("hex"); +} diff --git a/backend/src/scripts/migrate-to-event-sourcing.ts b/backend/src/scripts/migrate-to-event-sourcing.ts new file mode 100644 index 00000000..6a7c772b --- /dev/null +++ b/backend/src/scripts/migrate-to-event-sourcing.ts @@ -0,0 +1,51 @@ +#!/usr/bin/env tsx + +import { StreamMigrationService } from "../services/stream-migration.service.js"; +import { HashChainVerificationService } from "../services/hash-chain-verification.service.js"; +import { logger } from "../logger.js"; + +async function main() { + logger.info("Starting event sourcing migration"); + + try { + const migrationService = new StreamMigrationService(); + const verificationService = new HashChainVerificationService(); + + // Step 1: Migrate existing streams + logger.info("Step 1: Migrating existing streams to event sourcing"); + await migrationService.migrateExistingStreams(); + + // Step 2: Migrate existing audit logs + logger.info("Step 2: Migrating existing audit logs to event sourcing"); + await migrationService.migrateAuditLogs(); + + // Step 3: Verify the event chain integrity + logger.info("Step 3: Verifying event chain integrity"); + const verificationResult = await verificationService.verifyEventChain(); + + if (verificationResult.isValid) { + logger.info("✅ Event sourcing migration completed successfully", { + totalEvents: verificationResult.totalEvents, + }); + } else { + logger.error("❌ Event chain verification failed after migration", { + totalEvents: verificationResult.totalEvents, + errors: verificationResult.errors, + }); + process.exit(1); + } + } catch (error) { + logger.error("Event sourcing migration failed", error); + process.exit(1); + } +} + +// Only run if this script is executed directly +if (import.meta.url === `file://${process.argv[1]}`) { + main().catch((error) => { + logger.error("Migration script error", error); + process.exit(1); + }); +} + +export { main as runEventSourcingMigration }; diff --git a/backend/src/services/event-source.service.ts b/backend/src/services/event-source.service.ts new file mode 100644 index 00000000..ff0db99e --- /dev/null +++ b/backend/src/services/event-source.service.ts @@ -0,0 +1,156 @@ +import { prisma } from "../lib/db.js"; +import { computeEventHash } from "../lib/event-hash-chain.js"; +import { logger } from "../logger.js"; + +export interface EventData { + streamId: string; + eventType: string; + payload: Record; + timestamp?: Date; +} + +export interface EventChainEntry { + id: string; + eventId: string; + streamId: string; + eventType: string; + payload: Record; + timestamp: Date; + hash: string; + previousHash: string | null; +} + +export class EventSourceService { + /** + * Append a new event to the immutable event log + */ + async appendEvent(event: EventData): Promise { + try { + // Get the last event to chain from + const lastEvent = await prisma.event.findFirst({ + orderBy: { timestamp: "desc" }, + select: { hash: true }, + }); + + const eventId = `${event.streamId}-${Date.now()}-${Math.random().toString(36).substring(7)}`; + const timestamp = event.timestamp || new Date(); + const previousHash = lastEvent?.hash || null; + + // Compute hash for this event + const hash = computeEventHash({ + eventId, + streamId: event.streamId, + eventType: event.eventType, + payload: event.payload, + timestamp: timestamp.toISOString(), + previousHash, + }); + + // Store the event + await prisma.event.create({ + data: { + eventId, + streamId: event.streamId, + eventType: event.eventType, + payload: event.payload, + timestamp, + hash, + previousHash, + }, + }); + + logger.info("Event appended to event store", { + eventId, + eventType: event.eventType, + streamId: event.streamId, + }); + + return eventId; + } catch (error) { + logger.error("Failed to append event to event store", error, { + streamId: event.streamId, + eventType: event.eventType, + }); + throw error; + } + } + + /** + * Get all events for a specific stream + */ + async getStreamEvents(streamId: string): Promise { + try { + const events = await prisma.event.findMany({ + where: { streamId }, + orderBy: { timestamp: "asc" }, + }); + + return events.map((event) => ({ + id: event.id, + eventId: event.eventId, + streamId: event.streamId, + eventType: event.eventType, + payload: event.payload as Record, + timestamp: event.timestamp, + hash: event.hash, + previousHash: event.previousHash, + })); + } catch (error) { + logger.error("Failed to retrieve stream events", error, { streamId }); + throw error; + } + } + + /** + * Get events by type + */ + async getEventsByType(eventType: string, limit: number = 100): Promise { + try { + const events = await prisma.event.findMany({ + where: { eventType }, + orderBy: { timestamp: "desc" }, + take: limit, + }); + + return events.map((event) => ({ + id: event.id, + eventId: event.eventId, + streamId: event.streamId, + eventType: event.eventType, + payload: event.payload as Record, + timestamp: event.timestamp, + hash: event.hash, + previousHash: event.previousHash, + })); + } catch (error) { + logger.error("Failed to retrieve events by type", error, { eventType }); + throw error; + } + } + + /** + * Get recent events from the event store + */ + async getRecentEvents(limit: number = 50): Promise { + try { + const events = await prisma.event.findMany({ + orderBy: { timestamp: "desc" }, + take: limit, + }); + + return events.map((event) => ({ + id: event.id, + eventId: event.eventId, + streamId: event.streamId, + eventType: event.eventType, + payload: event.payload as Record, + timestamp: event.timestamp, + hash: event.hash, + previousHash: event.previousHash, + })); + } catch (error) { + logger.error("Failed to retrieve recent events", error); + throw error; + } + } +} diff --git a/backend/src/services/hash-chain-verification.service.ts b/backend/src/services/hash-chain-verification.service.ts new file mode 100644 index 00000000..a64c4b06 --- /dev/null +++ b/backend/src/services/hash-chain-verification.service.ts @@ -0,0 +1,157 @@ +import { prisma } from "../lib/db.js"; +import { computeEventHash, EventHashInput } from "../lib/event-hash-chain.js"; +import { logger } from "../logger.js"; + +export interface VerificationResult { + isValid: boolean; + totalEvents: number; + errors: string[]; +} + +export class HashChainVerificationService { + /** + * Verify the integrity of the entire event chain + */ + async verifyEventChain(): Promise { + try { + const events = await prisma.event.findMany({ + orderBy: { timestamp: "asc" }, + select: { + eventId: true, + streamId: true, + eventType: true, + payload: true, + timestamp: true, + hash: true, + previousHash: true, + }, + }); + + const errors: string[] = []; + let previousHash: string | null = null; + + for (const event of events) { + // Verify the previous hash chain + if (event.previousHash !== previousHash) { + errors.push( + `Hash chain broken at event ${event.eventId}: expected previousHash ${previousHash}, got ${event.previousHash}`, + ); + } + + // Recompute the hash and verify it matches + const expectedHash = computeEventHash({ + eventId: event.eventId, + streamId: event.streamId, + eventType: event.eventType, + payload: event.payload as Record, + timestamp: event.timestamp.toISOString(), + previousHash: event.previousHash, + }); + + if (expectedHash !== event.hash) { + errors.push( + `Hash mismatch at event ${event.eventId}: expected ${expectedHash}, got ${event.hash}`, + ); + } + + previousHash = event.hash; + } + + const result: VerificationResult = { + isValid: errors.length === 0, + totalEvents: events.length, + errors, + }; + + if (result.isValid) { + logger.info("Event chain verification successful", { + totalEvents: result.totalEvents, + }); + } else { + logger.warn("Event chain verification failed", { + totalEvents: result.totalEvents, + errorCount: errors.length, + }); + } + + return result; + } catch (error) { + logger.error("Event chain verification error", error); + throw error; + } + } + + /** + * Verify a specific range of events in the chain + */ + async verifyEventRange(startEventId: string, endEventId: string): Promise { + try { + const events = await prisma.event.findMany({ + where: { + AND: [ + { eventId: { gte: startEventId } }, + { eventId: { lte: endEventId } }, + ], + }, + orderBy: { timestamp: "asc" }, + }); + + if (events.length === 0) { + return { + isValid: true, + totalEvents: 0, + errors: [], + }; + } + + const errors: string[] = []; + + // Get the previous hash for the first event in range + let previousHash: string | null = null; + if (events.length > 0) { + const beforeFirst = await prisma.event.findFirst({ + where: { + timestamp: { lt: events[0].timestamp }, + }, + orderBy: { timestamp: "desc" }, + select: { hash: true }, + }); + previousHash = beforeFirst?.hash || null; + } + + for (const event of events) { + if (event.previousHash !== previousHash) { + errors.push( + `Hash chain broken at event ${event.eventId}: expected previousHash ${previousHash}, got ${event.previousHash}`, + ); + } + + const expectedHash = computeEventHash({ + eventId: event.eventId, + streamId: event.streamId, + eventType: event.eventType, + payload: event.payload as Record, + timestamp: event.timestamp.toISOString(), + previousHash: event.previousHash, + }); + + if (expectedHash !== event.hash) { + errors.push( + `Hash mismatch at event ${event.eventId}: expected ${expectedHash}, got ${event.hash}`, + ); + } + + previousHash = event.hash; + } + + return { + isValid: errors.length === 0, + totalEvents: events.length, + errors, + }; + } catch (error) { + logger.error("Event range verification error", error); + throw error; + } + } +} diff --git a/backend/src/services/index.ts b/backend/src/services/index.ts index 3f953a2e..1a9893d1 100644 --- a/backend/src/services/index.ts +++ b/backend/src/services/index.ts @@ -11,6 +11,11 @@ export { LedgerVerificationService } from "./ledger-verification.service.js"; export { AuditLogService } from "./audit-log.service.js"; export { AuditChainVerificationService } from "./audit-chain-verification.service.js"; +// Event sourcing services for immutable audit trail +export { EventSourceService, type EventData, type EventChainEntry } from "./event-source.service.js"; +export { HashChainVerificationService, type VerificationResult } from "./hash-chain-verification.service.js"; +export { StreamMigrationService } from "./stream-migration.service.js"; + export { BatchMetadataService, type BatchMetadataResponse, diff --git a/backend/src/services/stream-migration.service.ts b/backend/src/services/stream-migration.service.ts new file mode 100644 index 00000000..1ca291b6 --- /dev/null +++ b/backend/src/services/stream-migration.service.ts @@ -0,0 +1,146 @@ +import { prisma } from "../lib/db.js"; +import { EventSourceService } from "../services/event-source.service.js"; +import { logger } from "../logger.js"; + +export class StreamMigrationService { + private eventSourceService: EventSourceService; + + constructor() { + this.eventSourceService = new EventSourceService(); + } + + /** + * Migrate existing streams to event sourcing format + */ + async migrateExistingStreams(): Promise { + try { + logger.info("Starting stream migration to event sourcing"); + + // Get all existing streams + const streams = await prisma.stream.findMany({ + orderBy: { createdAt: "asc" }, + }); + + logger.info(`Found ${streams.length} streams to migrate`); + + for (const stream of streams) { + try { + // Create a CREATE event for each existing stream + await this.eventSourceService.appendEvent({ + streamId: stream.streamId || stream.id, + eventType: "CREATE", + payload: { + id: stream.id, + streamId: stream.streamId, + txHash: stream.txHash, + version: stream.version, + sender: stream.sender, + receiver: stream.receiver, + contractId: stream.contractId, + tokenAddress: stream.tokenAddress, + amount: stream.amount, + duration: stream.duration, + status: stream.status, + withdrawn: stream.withdrawn, + legacy: stream.legacy, + migrated: stream.migrated, + isPrivate: stream.isPrivate, + yieldEnabled: stream.yieldEnabled, + vaultContractId: stream.vaultContractId, + vaultShareBalance: stream.vaultShareBalance, + vaultRatioScale: stream.vaultRatioScale, + accruedInterest: stream.accruedInterest, + lastYieldAccrualAt: stream.lastYieldAccrualAt?.toISOString(), + isDust: stream.isDust, + affiliateId: stream.affiliateId, + }, + timestamp: stream.createdAt, + }); + + // If the stream is not active, create appropriate status change events + if (stream.status !== "ACTIVE") { + await this.eventSourceService.appendEvent({ + streamId: stream.streamId || stream.id, + eventType: stream.status, + payload: { + status: stream.status, + reason: "Migrated from existing data", + }, + timestamp: stream.createdAt, + }); + } + + // If there have been withdrawals, create WITHDRAW events + if (stream.withdrawn && stream.withdrawn !== "0") { + await this.eventSourceService.appendEvent({ + streamId: stream.streamId || stream.id, + eventType: "WITHDRAW", + payload: { + amount: stream.withdrawn, + totalWithdrawn: stream.withdrawn, + reason: "Migrated from existing data", + }, + timestamp: stream.createdAt, + }); + } + + logger.info(`Migrated stream ${stream.streamId || stream.id}`); + } catch (error) { + logger.error(`Failed to migrate stream ${stream.streamId || stream.id}`, error); + } + } + + logger.info("Stream migration to event sourcing completed"); + } catch (error) { + logger.error("Stream migration failed", error); + throw error; + } + } + + /** + * Migrate existing EventLog entries to the new event sourcing format + */ + async migrateAuditLogs(): Promise { + try { + logger.info("Starting audit log migration to event sourcing"); + + // Get all existing event logs + const eventLogs = await prisma.eventLog.findMany({ + orderBy: { createdAt: "asc" }, + }); + + logger.info(`Found ${eventLogs.length} audit log entries to migrate`); + + for (const log of eventLogs) { + try { + const metadata = log.metadata ? JSON.parse(log.metadata as string) : {}; + + await this.eventSourceService.appendEvent({ + streamId: log.streamId, + eventType: log.eventType.toUpperCase(), + payload: { + txHash: log.txHash, + eventIndex: log.eventIndex, + ledger: log.ledger, + ledgerClosedAt: log.ledgerClosedAt, + sender: log.sender, + receiver: log.receiver, + amount: log.amount?.toString(), + ...metadata, + }, + timestamp: log.createdAt, + }); + + logger.debug(`Migrated audit log entry ${log.id}`); + } catch (error) { + logger.error(`Failed to migrate audit log entry ${log.id}`, error); + } + } + + logger.info("Audit log migration to event sourcing completed"); + } catch (error) { + logger.error("Audit log migration failed", error); + throw error; + } + } +} diff --git a/frontend/eslint.config.mjs b/frontend/eslint.config.mjs index 97b72ceb..d61a1e3f 100644 --- a/frontend/eslint.config.mjs +++ b/frontend/eslint.config.mjs @@ -1,8 +1,81 @@ import js from "@eslint/js"; +import tseslint from "@typescript-eslint/eslint-plugin"; +import tsparser from "@typescript-eslint/parser"; export default [ js.configs.recommended, { - ignores: [".next/**", "out/**", "build/**", "next-env.d.ts", "node_modules/**"], + files: ["**/*.{js,jsx,ts,tsx}"], + languageOptions: { + parser: tsparser, + parserOptions: { + ecmaVersion: "latest", + sourceType: "module", + ecmaFeatures: { + jsx: true, + }, + }, + globals: { + // Browser globals + fetch: "readonly", + URL: "readonly", + console: "readonly", + window: "readonly", + document: "readonly", + navigator: "readonly", + localStorage: "readonly", + setTimeout: "readonly", + setInterval: "readonly", + clearTimeout: "readonly", + clearInterval: "readonly", + alert: "readonly", + process: "readonly", + __dirname: "readonly", + // Service Worker globals + self: "readonly", + caches: "readonly", + // Test globals + describe: "readonly", + it: "readonly", + expect: "readonly", + beforeEach: "readonly", + vi: "readonly", + // React/Next.js globals + React: "readonly", + JSX: "readonly", + }, + }, + plugins: { + "@typescript-eslint": tseslint, + }, + rules: { + // Allow unused vars for React components (props) + "no-unused-vars": "off", + "@typescript-eslint/no-unused-vars": ["error", { + "argsIgnorePattern": "^_", + "varsIgnorePattern": "^_", + "ignoreRestSiblings": true + }], + // Disable no-undef for TypeScript files (TypeScript handles this) + "no-undef": "off", + }, + }, + { + files: ["**/*.js"], + rules: { + // Re-enable no-undef for JavaScript files + "no-undef": "error", + }, + }, + { + ignores: [ + ".next/**", + "out/**", + "build/**", + "next-env.d.ts", + "node_modules/**", + "Footer FE/**", // Ignore the problematic Footer FE directory + "public/sw.js", // Ignore service worker + ], }, ]; diff --git a/frontend/package-lock.json b/frontend/package-lock.json index 45b8b4cd..72e39569 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -62,6 +62,8 @@ "@types/react": "^19.2.14", "@types/react-calendar-heatmap": "^1.9.0", "@types/react-dom": "^19.2.3", + "@typescript-eslint/eslint-plugin": "^8.61.1", + "@typescript-eslint/parser": "^8.61.1", "@vitejs/plugin-react": "^6.0.1", "@vitest/coverage-v8": "^4.1.1", "eslint": "^9.0.0", @@ -156,6 +158,7 @@ "integrity": "sha512-Aup7aUOfpbAUg2ROOJN6Iw5f9DMBlzu0mIkm/malLQFN/YQgO48wCj0Kxa3sEHJvPVFg7siR+qRInwXd2qhQKw==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@babel/helper-validator-identifier": "^7.29.7", "js-tokens": "^4.0.0", @@ -206,7 +209,6 @@ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.29.2.tgz", "integrity": "sha512-JiDShH45zKHWyGe4ZNVRrCjBz8Nh9TMmZG1kh4QTK8hCBTWBi8Da+i7s1fJw7/lYpM4ccepSNfqzZ/QvABBi5g==", "license": "MIT", - "peer": true, "engines": { "node": ">=6.9.0" } @@ -336,7 +338,6 @@ } ], "license": "MIT", - "peer": true, "engines": { "node": ">=20.19.0" }, @@ -385,7 +386,6 @@ } ], "license": "MIT", - "peer": true, "engines": { "node": ">=20.19.0" } @@ -2209,6 +2209,29 @@ "node": "^20.19.0 || >=22.12.0" } }, + "node_modules/@rolldown/binding-wasm32-wasi/node_modules/@emnapi/core": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.10.0.tgz", + "integrity": "sha512-yq6OkJ4p82CAfPl0u9mQebQHKPJkY7WrIuk205cTYnYe+k2Z8YBh11FrbRG/H6ihirqcacOgl2BIO8oyMQLeXw==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/wasi-threads": "1.2.1", + "tslib": "^2.4.0" + } + }, + "node_modules/@rolldown/binding-wasm32-wasi/node_modules/@emnapi/runtime": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.10.0.tgz", + "integrity": "sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, "node_modules/@rolldown/binding-wasm32-wasi/node_modules/@emnapi/wasi-threads": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.2.1.tgz", @@ -2874,7 +2897,8 @@ "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.4.tgz", "integrity": "sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==", "dev": true, - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/@types/bignumber.js": { "version": "4.0.3", @@ -3064,7 +3088,6 @@ "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.14.tgz", "integrity": "sha512-ilcTH/UniCkMdtexkoCN0bI7pMcJDvmQFPvuPvmEaYA/NSfFTAgdUSLAoVjaRJm7+6PvcM+q1zYOwS4wTYMF9w==", "license": "MIT", - "peer": true, "dependencies": { "csstype": "^3.2.2" } @@ -3085,7 +3108,6 @@ "integrity": "sha512-jp2L/eY6fn+KgVVQAOqYItbF0VY/YApe5Mz2F0aykSO8gx31bYCZyvSeYxCHKvzHG5eZjc+zyaS5BrBWya2+kQ==", "devOptional": true, "license": "MIT", - "peer": true, "peerDependencies": { "@types/react": "^19.2.0" } @@ -3104,20 +3126,20 @@ "license": "MIT" }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "8.57.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.57.2.tgz", - "integrity": "sha512-NZZgp0Fm2IkD+La5PR81sd+g+8oS6JwJje+aRWsDocxHkjyRw0J5L5ZTlN3LI1LlOcGL7ph3eaIUmTXMIjLk0w==", + "version": "8.61.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.61.1.tgz", + "integrity": "sha512-ZPlVl3PB3et/59Ne0fv/sci6ZXz4T4Hp4nTJ56i/Y0gR89ARb+KphojTq6j+56E5PIezmOIOOWyY+aWQFd+IkQ==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/regexpp": "^4.12.2", - "@typescript-eslint/scope-manager": "8.57.2", - "@typescript-eslint/type-utils": "8.57.2", - "@typescript-eslint/utils": "8.57.2", - "@typescript-eslint/visitor-keys": "8.57.2", + "@typescript-eslint/scope-manager": "8.61.1", + "@typescript-eslint/type-utils": "8.61.1", + "@typescript-eslint/utils": "8.61.1", + "@typescript-eslint/visitor-keys": "8.61.1", "ignore": "^7.0.5", "natural-compare": "^1.4.0", - "ts-api-utils": "^2.4.0" + "ts-api-utils": "^2.5.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -3127,9 +3149,9 @@ "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "@typescript-eslint/parser": "^8.57.2", + "@typescript-eslint/parser": "^8.61.1", "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", - "typescript": ">=4.8.4 <6.0.0" + "typescript": ">=4.8.4 <6.1.0" } }, "node_modules/@typescript-eslint/eslint-plugin/node_modules/ignore": { @@ -3143,17 +3165,16 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "8.57.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.57.2.tgz", - "integrity": "sha512-30ScMRHIAD33JJQkgfGW1t8CURZtjc2JpTrq5n2HFhOefbAhb7ucc7xJwdWcrEtqUIYJ73Nybpsggii6GtAHjA==", + "version": "8.61.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.61.1.tgz", + "integrity": "sha512-PJ5vePq5/ognBbrIcoC5+SHO5dfpeLPzP9FpLkzWrguoYQEeeSjlJpVwOpo1JRSTEi7dRcwNy4h4dzV70PqHcg==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "@typescript-eslint/scope-manager": "8.57.2", - "@typescript-eslint/types": "8.57.2", - "@typescript-eslint/typescript-estree": "8.57.2", - "@typescript-eslint/visitor-keys": "8.57.2", + "@typescript-eslint/scope-manager": "8.61.1", + "@typescript-eslint/types": "8.61.1", + "@typescript-eslint/typescript-estree": "8.61.1", + "@typescript-eslint/visitor-keys": "8.61.1", "debug": "^4.4.3" }, "engines": { @@ -3165,18 +3186,18 @@ }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", - "typescript": ">=4.8.4 <6.0.0" + "typescript": ">=4.8.4 <6.1.0" } }, "node_modules/@typescript-eslint/project-service": { - "version": "8.57.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.57.2.tgz", - "integrity": "sha512-FuH0wipFywXRTHf+bTTjNyuNQQsQC3qh/dYzaM4I4W0jrCqjCVuUh99+xd9KamUfmCGPvbO8NDngo/vsnNVqgw==", + "version": "8.61.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.61.1.tgz", + "integrity": "sha512-PrC4JYGmR241lYnfhmKGTXkFqv8+ymbTFgSAY0fVXpY82/QkMw5TZPl+vGzuDDU2QYJk9fIDOBTntF+yDv9LEA==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/tsconfig-utils": "^8.57.2", - "@typescript-eslint/types": "^8.57.2", + "@typescript-eslint/tsconfig-utils": "^8.61.1", + "@typescript-eslint/types": "^8.61.1", "debug": "^4.4.3" }, "engines": { @@ -3187,18 +3208,18 @@ "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "typescript": ">=4.8.4 <6.0.0" + "typescript": ">=4.8.4 <6.1.0" } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "8.57.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.57.2.tgz", - "integrity": "sha512-snZKH+W4WbWkrBqj4gUNRIGb/jipDW3qMqVJ4C9rzdFc+wLwruxk+2a5D+uoFcKPAqyqEnSb4l2ULuZf95eSkw==", + "version": "8.61.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.61.1.tgz", + "integrity": "sha512-L2bdIeoQS8FlKAvONAr20w6OcLXeB+qiDKbAooS9A0Ben+iSIkBef0FxqwKWYqt5sa0i4KJtxVyVmhMylKzF5w==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.57.2", - "@typescript-eslint/visitor-keys": "8.57.2" + "@typescript-eslint/types": "8.61.1", + "@typescript-eslint/visitor-keys": "8.61.1" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -3209,9 +3230,9 @@ } }, "node_modules/@typescript-eslint/tsconfig-utils": { - "version": "8.57.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.57.2.tgz", - "integrity": "sha512-3Lm5DSM+DCowsUOJC+YqHHnKEfFh5CoGkj5Z31NQSNF4l5wdOwqGn99wmwN/LImhfY3KJnmordBq/4+VDe2eKw==", + "version": "8.61.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.61.1.tgz", + "integrity": "sha512-UN/H4di+OO7EWx2ovME+8t31YO+KVnK0RRKEHR3kOt21/Ay8BOq3M1OMvWs5vNiqcFCYGYoxK3MXPZzmMUE+yg==", "dev": true, "license": "MIT", "engines": { @@ -3222,21 +3243,21 @@ "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "typescript": ">=4.8.4 <6.0.0" + "typescript": ">=4.8.4 <6.1.0" } }, "node_modules/@typescript-eslint/type-utils": { - "version": "8.57.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.57.2.tgz", - "integrity": "sha512-Co6ZCShm6kIbAM/s+oYVpKFfW7LBc6FXoPXjTRQ449PPNBY8U0KZXuevz5IFuuUj2H9ss40atTaf9dlGLzbWZg==", + "version": "8.61.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.61.1.tgz", + "integrity": "sha512-GYRicKmVK0C4fsKgaACaknOUAq9Oa2kwsjnpFhFcS/5p4Ht5IP9OVLbgIgcK4SRk92nVHFluurg1lumD9dBcLw==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.57.2", - "@typescript-eslint/typescript-estree": "8.57.2", - "@typescript-eslint/utils": "8.57.2", + "@typescript-eslint/types": "8.61.1", + "@typescript-eslint/typescript-estree": "8.61.1", + "@typescript-eslint/utils": "8.61.1", "debug": "^4.4.3", - "ts-api-utils": "^2.4.0" + "ts-api-utils": "^2.5.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -3247,13 +3268,13 @@ }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", - "typescript": ">=4.8.4 <6.0.0" + "typescript": ">=4.8.4 <6.1.0" } }, "node_modules/@typescript-eslint/types": { - "version": "8.57.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.57.2.tgz", - "integrity": "sha512-/iZM6FnM4tnx9csuTxspMW4BOSegshwX5oBDznJ7S4WggL7Vczz5d2W11ecc4vRrQMQHXRSxzrCsyG5EsPPTbA==", + "version": "8.61.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.61.1.tgz", + "integrity": "sha512-G+CRlPqLv7Bz1IZVs03x5K59F1veqL0EJUROAdGhKsEq8qOiRiZbI+HUojPq5l0fEGOKModD9br6lObhB8zkoA==", "dev": true, "license": "MIT", "engines": { @@ -3265,21 +3286,21 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "8.57.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.57.2.tgz", - "integrity": "sha512-2MKM+I6g8tJxfSmFKOnHv2t8Sk3T6rF20A1Puk0svLK+uVapDZB/4pfAeB7nE83uAZrU6OxW+HmOd5wHVdXwXA==", + "version": "8.61.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.61.1.tgz", + "integrity": "sha512-u+oQD3BqYWPc8YV9Zab4vaJElJuwOLPRc10Jm1o/qS+6Qwen14HCWwx0Seo4LnSn2wxea2Ik8DxPt2/FHmuhrg==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/project-service": "8.57.2", - "@typescript-eslint/tsconfig-utils": "8.57.2", - "@typescript-eslint/types": "8.57.2", - "@typescript-eslint/visitor-keys": "8.57.2", + "@typescript-eslint/project-service": "8.61.1", + "@typescript-eslint/tsconfig-utils": "8.61.1", + "@typescript-eslint/types": "8.61.1", + "@typescript-eslint/visitor-keys": "8.61.1", "debug": "^4.4.3", "minimatch": "^10.2.2", "semver": "^7.7.3", "tinyglobby": "^0.2.15", - "ts-api-utils": "^2.4.0" + "ts-api-utils": "^2.5.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -3289,7 +3310,7 @@ "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "typescript": ">=4.8.4 <6.0.0" + "typescript": ">=4.8.4 <6.1.0" } }, "node_modules/@typescript-eslint/typescript-estree/node_modules/balanced-match": { @@ -3316,13 +3337,13 @@ } }, "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { - "version": "10.2.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.4.tgz", - "integrity": "sha512-oRjTw/97aTBN0RHbYCdtF1MQfvusSIBQM0IZEgzl6426+8jSC0nF1a/GmnVLpfB9yyr6g6FTqWqiZVbxrtaCIg==", + "version": "10.2.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.5.tgz", + "integrity": "sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==", "dev": true, "license": "BlueOak-1.0.0", "dependencies": { - "brace-expansion": "^5.0.2" + "brace-expansion": "^5.0.5" }, "engines": { "node": "18 || 20 || >=22" @@ -3332,9 +3353,9 @@ } }, "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", - "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.4.tgz", + "integrity": "sha512-rUCObTnP32Q08R2uuIrt7r9PlEonuTmtuXYcW6s5kjdlj3xbnwe+21yXptAUYcMAABLkYYTtnmzb3w3EDZfueA==", "dev": true, "license": "ISC", "bin": { @@ -3345,16 +3366,16 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "8.57.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.57.2.tgz", - "integrity": "sha512-krRIbvPK1ju1WBKIefiX+bngPs+odIQUtR7kymzPfo1POVw3jlF+nLkmexdSSd4UCbDcQn+wMBATOOmpBbqgKg==", + "version": "8.61.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.61.1.tgz", + "integrity": "sha512-1+P/3Dj6jvtybE1q0HQ6yBt/gq+oKJyLdEv4HdnqasaEXRSYCAsD59mXEVQnM/ULNdQxbX77tdG4jPRjIS6knA==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.9.1", - "@typescript-eslint/scope-manager": "8.57.2", - "@typescript-eslint/types": "8.57.2", - "@typescript-eslint/typescript-estree": "8.57.2" + "@typescript-eslint/scope-manager": "8.61.1", + "@typescript-eslint/types": "8.61.1", + "@typescript-eslint/typescript-estree": "8.61.1" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -3365,17 +3386,17 @@ }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", - "typescript": ">=4.8.4 <6.0.0" + "typescript": ">=4.8.4 <6.1.0" } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "8.57.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.57.2.tgz", - "integrity": "sha512-zhahknjobV2FiD6Ee9iLbS7OV9zi10rG26odsQdfBO/hjSzUQbkIYgda+iNKK1zNiW2ey+Lf8MU5btN17V3dUw==", + "version": "8.61.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.61.1.tgz", + "integrity": "sha512-6fJ9MHWtK14C1DSkiMlHUSOmrVebL7150xZJBlJiL62jjhIA4JmOq6flwBgDxIdBKKdoiZRel+dfPD5MLfny3w==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.57.2", + "@typescript-eslint/types": "8.61.1", "eslint-visitor-keys": "^5.0.0" }, "engines": { @@ -3858,7 +3879,6 @@ "integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==", "dev": true, "license": "MIT", - "peer": true, "bin": { "acorn": "bin/acorn" }, @@ -4820,7 +4840,6 @@ "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-4.1.0.tgz", "integrity": "sha512-Ukq0owbQXxa/U3EGtsdVBkR1w7KOQ5gIBqdH2hkvknzZPYvBxb/aa6E8L7tmjFtkwZBu3UXBbjIgPo/Ez4xaNg==", "license": "MIT", - "peer": true, "funding": { "type": "github", "url": "https://github.com/sponsors/kossnocorp" @@ -4975,7 +4994,8 @@ "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz", "integrity": "sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==", "dev": true, - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/dompurify": { "version": "3.4.1", @@ -5276,7 +5296,6 @@ "integrity": "sha512-XoMjdBOwe/esVgEvLmNsD3IRHkm7fbKIUGvrleloJXUZgDHig2IPWNniv+GwjyJXzuNqVjlr5+4yVUZjycJwfQ==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@eslint-community/eslint-utils": "^4.8.0", "@eslint-community/regexpp": "^4.12.1", @@ -5450,7 +5469,6 @@ "integrity": "sha512-whOE1HFo/qJDyX4SnXzP4N6zOWn79WhnCUY/iDR0mPfQZO8wcYE4JClzI2oZrhBnnMUCBCHZhO6VQyoBU95mZA==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@rtsao/scc": "^1.1.0", "array-includes": "^3.1.9", @@ -7014,7 +7032,6 @@ "integrity": "sha512-9VnGEBosc/ZpwyOsJBCQ/3I5p7Q5ngOY14a9bf5btenAORmZfDse1ZEheMiWcJ3h81+Fv7HmJFdS0szo/waF2w==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@asamuzakjp/css-color": "^5.1.5", "@asamuzakjp/dom-selector": "^7.0.6", @@ -7194,8 +7211,7 @@ "version": "1.9.4", "resolved": "https://registry.npmjs.org/leaflet/-/leaflet-1.9.4.tgz", "integrity": "sha512-nxS1ynzJOmOlHp+iL3FyWqK89GtNL8U8rvlMOsQdTTssxZwCXh8N2NB3GDQOL+YR3XnWyZAxwQixURb+FA74PA==", - "license": "BSD-2-Clause", - "peer": true + "license": "BSD-2-Clause" }, "node_modules/leaflet.markercluster": { "version": "1.5.3", @@ -7583,6 +7599,7 @@ "integrity": "sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==", "dev": true, "license": "MIT", + "peer": true, "bin": { "lz-string": "bin/bin.js" } @@ -8266,6 +8283,7 @@ "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "ansi-regex": "^5.0.1", "ansi-styles": "^5.0.0", @@ -8281,6 +8299,7 @@ "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": ">=10" }, @@ -8293,7 +8312,8 @@ "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", "dev": true, - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/prop-types": { "version": "15.8.1", @@ -8410,7 +8430,6 @@ "resolved": "https://registry.npmjs.org/react/-/react-19.2.3.tgz", "integrity": "sha512-Ku/hhYbVjOQnXDZFv2+RibmLFGwFdeeKHFcOTlrt7xplBnya5OGn/hIRDsqDiSUcfORsDC7MPxwork8jBwsIWA==", "license": "MIT", - "peer": true, "engines": { "node": ">=0.10.0" } @@ -8433,7 +8452,6 @@ "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.3.tgz", "integrity": "sha512-yELu4WmLPw5Mr/lmeEpox5rw3RETacE++JgHqQzd2dg+YbJuat3jH4ingc+WPZhxaoFzdv9y33G+F7Nl5O0GBg==", "license": "MIT", - "peer": true, "dependencies": { "scheduler": "^0.27.0" }, @@ -8517,7 +8535,6 @@ "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-9.2.0.tgz", "integrity": "sha512-ROY9fvHhwOD9ySfrF0wmvu//bKCQ6AeZZq1nJNtbDC+kk5DuSuNX/n6YWYF/SYy7bSba4D4FSz8DJeKY/S/r+g==", "license": "MIT", - "peer": true, "dependencies": { "@types/use-sync-external-store": "^0.0.6", "use-sync-external-store": "^1.4.0" @@ -8653,8 +8670,7 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/redux/-/redux-5.0.1.tgz", "integrity": "sha512-M9/ELqF6fy8FwmkpnF0S3YKOqMyoWJ4+CS5Efg2ct3oY9daQvd/Pc71FpGZsVsbl3Cpb+IIcjBDUnnyBdQbq4w==", - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/redux-thunk": { "version": "3.1.0", @@ -9670,7 +9686,6 @@ "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">=12" }, @@ -9907,7 +9922,6 @@ "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", "dev": true, "license": "Apache-2.0", - "peer": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -10092,7 +10106,6 @@ "integrity": "sha512-h9bXPmJichP5fLmVQo3PyaGSDE2n3aPuomeAlVRm0JLmt4rY6zmPKd59HYI4LNW8oTK7tlTsuC7l/m7awx9Jcw==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "lightningcss": "^1.32.0", "picomatch": "^4.0.4", @@ -10445,7 +10458,6 @@ "integrity": "sha512-yF+o4POL41rpAzj5KVILUxm1GCjKnELvaqmU9TLLUbMfDzuN0UpUR9uaDs+mCtjPe+uYPksXDRLQGGPvj1cTmA==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@vitest/expect": "4.1.1", "@vitest/mocker": "4.1.1", diff --git a/frontend/package.json b/frontend/package.json index 48d95e2e..95f0a3ed 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -64,6 +64,8 @@ "@types/react": "^19.2.14", "@types/react-calendar-heatmap": "^1.9.0", "@types/react-dom": "^19.2.3", + "@typescript-eslint/eslint-plugin": "^8.61.1", + "@typescript-eslint/parser": "^8.61.1", "@vitejs/plugin-react": "^6.0.1", "@vitest/coverage-v8": "^4.1.1", "eslint": "^9.0.0", diff --git a/frontend/yarn.lock b/frontend/yarn.lock index 59a6b263..feb2026f 100644 --- a/frontend/yarn.lock +++ b/frontend/yarn.lock @@ -1077,100 +1077,100 @@ resolved "https://registry.npmjs.org/@types/use-sync-external-store/-/use-sync-external-store-0.0.6.tgz" integrity sha512-zFDAD+tlpf2r4asuHEj0XH6pY6i0g5NeAHPn+15wk3BV6JA69eERFXC1gyGThDkVa1zCyKr5jox1+2LbV/AMLg== -"@typescript-eslint/eslint-plugin@^5.4.2 || ^6.0.0 || ^7.0.0 || ^8.0.0": - version "8.57.2" - resolved "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.57.2.tgz" - integrity sha512-NZZgp0Fm2IkD+La5PR81sd+g+8oS6JwJje+aRWsDocxHkjyRw0J5L5ZTlN3LI1LlOcGL7ph3eaIUmTXMIjLk0w== +"@typescript-eslint/eslint-plugin@^5.4.2 || ^6.0.0 || ^7.0.0 || ^8.0.0", "@typescript-eslint/eslint-plugin@^8.61.1": + version "8.61.1" + resolved "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.61.1.tgz" + integrity sha512-ZPlVl3PB3et/59Ne0fv/sci6ZXz4T4Hp4nTJ56i/Y0gR89ARb+KphojTq6j+56E5PIezmOIOOWyY+aWQFd+IkQ== dependencies: "@eslint-community/regexpp" "^4.12.2" - "@typescript-eslint/scope-manager" "8.57.2" - "@typescript-eslint/type-utils" "8.57.2" - "@typescript-eslint/utils" "8.57.2" - "@typescript-eslint/visitor-keys" "8.57.2" + "@typescript-eslint/scope-manager" "8.61.1" + "@typescript-eslint/type-utils" "8.61.1" + "@typescript-eslint/utils" "8.61.1" + "@typescript-eslint/visitor-keys" "8.61.1" ignore "^7.0.5" natural-compare "^1.4.0" - ts-api-utils "^2.4.0" + ts-api-utils "^2.5.0" -"@typescript-eslint/parser@^5.4.2 || ^6.0.0 || ^7.0.0 || ^8.0.0", "@typescript-eslint/parser@^8.57.2": - version "8.57.2" - resolved "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.57.2.tgz" - integrity sha512-30ScMRHIAD33JJQkgfGW1t8CURZtjc2JpTrq5n2HFhOefbAhb7ucc7xJwdWcrEtqUIYJ73Nybpsggii6GtAHjA== +"@typescript-eslint/parser@^5.4.2 || ^6.0.0 || ^7.0.0 || ^8.0.0", "@typescript-eslint/parser@^8.61.1": + version "8.61.1" + resolved "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.61.1.tgz" + integrity sha512-PJ5vePq5/ognBbrIcoC5+SHO5dfpeLPzP9FpLkzWrguoYQEeeSjlJpVwOpo1JRSTEi7dRcwNy4h4dzV70PqHcg== dependencies: - "@typescript-eslint/scope-manager" "8.57.2" - "@typescript-eslint/types" "8.57.2" - "@typescript-eslint/typescript-estree" "8.57.2" - "@typescript-eslint/visitor-keys" "8.57.2" + "@typescript-eslint/scope-manager" "8.61.1" + "@typescript-eslint/types" "8.61.1" + "@typescript-eslint/typescript-estree" "8.61.1" + "@typescript-eslint/visitor-keys" "8.61.1" debug "^4.4.3" -"@typescript-eslint/project-service@8.57.2": - version "8.57.2" - resolved "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.57.2.tgz" - integrity sha512-FuH0wipFywXRTHf+bTTjNyuNQQsQC3qh/dYzaM4I4W0jrCqjCVuUh99+xd9KamUfmCGPvbO8NDngo/vsnNVqgw== +"@typescript-eslint/project-service@8.61.1": + version "8.61.1" + resolved "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.61.1.tgz" + integrity sha512-PrC4JYGmR241lYnfhmKGTXkFqv8+ymbTFgSAY0fVXpY82/QkMw5TZPl+vGzuDDU2QYJk9fIDOBTntF+yDv9LEA== dependencies: - "@typescript-eslint/tsconfig-utils" "^8.57.2" - "@typescript-eslint/types" "^8.57.2" + "@typescript-eslint/tsconfig-utils" "^8.61.1" + "@typescript-eslint/types" "^8.61.1" debug "^4.4.3" -"@typescript-eslint/scope-manager@8.57.2": - version "8.57.2" - resolved "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.57.2.tgz" - integrity sha512-snZKH+W4WbWkrBqj4gUNRIGb/jipDW3qMqVJ4C9rzdFc+wLwruxk+2a5D+uoFcKPAqyqEnSb4l2ULuZf95eSkw== +"@typescript-eslint/scope-manager@8.61.1": + version "8.61.1" + resolved "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.61.1.tgz" + integrity sha512-L2bdIeoQS8FlKAvONAr20w6OcLXeB+qiDKbAooS9A0Ben+iSIkBef0FxqwKWYqt5sa0i4KJtxVyVmhMylKzF5w== dependencies: - "@typescript-eslint/types" "8.57.2" - "@typescript-eslint/visitor-keys" "8.57.2" + "@typescript-eslint/types" "8.61.1" + "@typescript-eslint/visitor-keys" "8.61.1" -"@typescript-eslint/tsconfig-utils@^8.57.2", "@typescript-eslint/tsconfig-utils@8.57.2": - version "8.57.2" - resolved "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.57.2.tgz" - integrity sha512-3Lm5DSM+DCowsUOJC+YqHHnKEfFh5CoGkj5Z31NQSNF4l5wdOwqGn99wmwN/LImhfY3KJnmordBq/4+VDe2eKw== +"@typescript-eslint/tsconfig-utils@^8.61.1", "@typescript-eslint/tsconfig-utils@8.61.1": + version "8.61.1" + resolved "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.61.1.tgz" + integrity sha512-UN/H4di+OO7EWx2ovME+8t31YO+KVnK0RRKEHR3kOt21/Ay8BOq3M1OMvWs5vNiqcFCYGYoxK3MXPZzmMUE+yg== -"@typescript-eslint/type-utils@8.57.2": - version "8.57.2" - resolved "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.57.2.tgz" - integrity sha512-Co6ZCShm6kIbAM/s+oYVpKFfW7LBc6FXoPXjTRQ449PPNBY8U0KZXuevz5IFuuUj2H9ss40atTaf9dlGLzbWZg== +"@typescript-eslint/type-utils@8.61.1": + version "8.61.1" + resolved "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.61.1.tgz" + integrity sha512-GYRicKmVK0C4fsKgaACaknOUAq9Oa2kwsjnpFhFcS/5p4Ht5IP9OVLbgIgcK4SRk92nVHFluurg1lumD9dBcLw== dependencies: - "@typescript-eslint/types" "8.57.2" - "@typescript-eslint/typescript-estree" "8.57.2" - "@typescript-eslint/utils" "8.57.2" + "@typescript-eslint/types" "8.61.1" + "@typescript-eslint/typescript-estree" "8.61.1" + "@typescript-eslint/utils" "8.61.1" debug "^4.4.3" - ts-api-utils "^2.4.0" - -"@typescript-eslint/types@^8.57.2", "@typescript-eslint/types@8.57.2": - version "8.57.2" - resolved "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.57.2.tgz" - integrity sha512-/iZM6FnM4tnx9csuTxspMW4BOSegshwX5oBDznJ7S4WggL7Vczz5d2W11ecc4vRrQMQHXRSxzrCsyG5EsPPTbA== - -"@typescript-eslint/typescript-estree@8.57.2": - version "8.57.2" - resolved "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.57.2.tgz" - integrity sha512-2MKM+I6g8tJxfSmFKOnHv2t8Sk3T6rF20A1Puk0svLK+uVapDZB/4pfAeB7nE83uAZrU6OxW+HmOd5wHVdXwXA== - dependencies: - "@typescript-eslint/project-service" "8.57.2" - "@typescript-eslint/tsconfig-utils" "8.57.2" - "@typescript-eslint/types" "8.57.2" - "@typescript-eslint/visitor-keys" "8.57.2" + ts-api-utils "^2.5.0" + +"@typescript-eslint/types@^8.61.1", "@typescript-eslint/types@8.61.1": + version "8.61.1" + resolved "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.61.1.tgz" + integrity sha512-G+CRlPqLv7Bz1IZVs03x5K59F1veqL0EJUROAdGhKsEq8qOiRiZbI+HUojPq5l0fEGOKModD9br6lObhB8zkoA== + +"@typescript-eslint/typescript-estree@8.61.1": + version "8.61.1" + resolved "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.61.1.tgz" + integrity sha512-u+oQD3BqYWPc8YV9Zab4vaJElJuwOLPRc10Jm1o/qS+6Qwen14HCWwx0Seo4LnSn2wxea2Ik8DxPt2/FHmuhrg== + dependencies: + "@typescript-eslint/project-service" "8.61.1" + "@typescript-eslint/tsconfig-utils" "8.61.1" + "@typescript-eslint/types" "8.61.1" + "@typescript-eslint/visitor-keys" "8.61.1" debug "^4.4.3" minimatch "^10.2.2" semver "^7.7.3" tinyglobby "^0.2.15" - ts-api-utils "^2.4.0" + ts-api-utils "^2.5.0" -"@typescript-eslint/utils@8.57.2": - version "8.57.2" - resolved "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.57.2.tgz" - integrity sha512-krRIbvPK1ju1WBKIefiX+bngPs+odIQUtR7kymzPfo1POVw3jlF+nLkmexdSSd4UCbDcQn+wMBATOOmpBbqgKg== +"@typescript-eslint/utils@8.61.1": + version "8.61.1" + resolved "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.61.1.tgz" + integrity sha512-1+P/3Dj6jvtybE1q0HQ6yBt/gq+oKJyLdEv4HdnqasaEXRSYCAsD59mXEVQnM/ULNdQxbX77tdG4jPRjIS6knA== dependencies: "@eslint-community/eslint-utils" "^4.9.1" - "@typescript-eslint/scope-manager" "8.57.2" - "@typescript-eslint/types" "8.57.2" - "@typescript-eslint/typescript-estree" "8.57.2" + "@typescript-eslint/scope-manager" "8.61.1" + "@typescript-eslint/types" "8.61.1" + "@typescript-eslint/typescript-estree" "8.61.1" -"@typescript-eslint/visitor-keys@8.57.2": - version "8.57.2" - resolved "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.57.2.tgz" - integrity sha512-zhahknjobV2FiD6Ee9iLbS7OV9zi10rG26odsQdfBO/hjSzUQbkIYgda+iNKK1zNiW2ey+Lf8MU5btN17V3dUw== +"@typescript-eslint/visitor-keys@8.61.1": + version "8.61.1" + resolved "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.61.1.tgz" + integrity sha512-6fJ9MHWtK14C1DSkiMlHUSOmrVebL7150xZJBlJiL62jjhIA4JmOq6flwBgDxIdBKKdoiZRel+dfPD5MLfny3w== dependencies: - "@typescript-eslint/types" "8.57.2" + "@typescript-eslint/types" "8.61.1" eslint-visitor-keys "^5.0.0" "@uiw/react-json-view@^2.0.0-alpha.43": @@ -1541,7 +1541,7 @@ brace-expansion@^1.1.7: balanced-match "^1.0.0" concat-map "0.0.1" -brace-expansion@^5.0.2: +brace-expansion@^5.0.5: version "5.0.6" resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.6.tgz" integrity sha512-kLpxurY4Z4r9sgMsyG0Z9uzsBlgiU/EFKhj/h91/8yHu0edo7XuixOIH3VcJ8kkxs6/jPzoI6U9Vj3WqbMQ94g== @@ -3409,11 +3409,11 @@ min-indent@^1.0.0: integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== minimatch@^10.2.2: - version "10.2.4" - resolved "https://registry.npmjs.org/minimatch/-/minimatch-10.2.4.tgz" - integrity sha512-oRjTw/97aTBN0RHbYCdtF1MQfvusSIBQM0IZEgzl6426+8jSC0nF1a/GmnVLpfB9yyr6g6FTqWqiZVbxrtaCIg== + version "10.2.5" + resolved "https://registry.npmjs.org/minimatch/-/minimatch-10.2.5.tgz" + integrity sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg== dependencies: - brace-expansion "^5.0.2" + brace-expansion "^5.0.5" minimatch@^3.1.2, minimatch@^3.1.5: version "3.1.5" @@ -4110,9 +4110,9 @@ semver@^7.5.3, semver@^7.5.4, semver@^7.7.1, semver@7.7.1: integrity sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA== semver@^7.7.3: - version "7.7.4" - resolved "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz" - integrity sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA== + version "7.8.4" + resolved "https://registry.npmjs.org/semver/-/semver-7.8.4.tgz" + integrity sha512-rUCObTnP32Q08R2uuIrt7r9PlEonuTmtuXYcW6s5kjdlj3xbnwe+21yXptAUYcMAABLkYYTtnmzb3w3EDZfueA== set-blocking@^2.0.0: version "2.0.0" @@ -4533,7 +4533,7 @@ tr46@^6.0.0: dependencies: punycode "^2.3.1" -ts-api-utils@^2.4.0: +ts-api-utils@^2.5.0: version "2.5.0" resolved "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.5.0.tgz" integrity sha512-OJ/ibxhPlqrMM0UiNHJ/0CKQkoKF243/AEmplt3qpRgkW8VG7IfOS41h7V8TjITqdByHzrjcS/2si+y4lIh8NA== @@ -4610,7 +4610,7 @@ typed-array-length@^1.0.7: possible-typed-array-names "^1.0.0" reflect.getprototypeof "^1.0.6" -typescript@^5, typescript@>=3.3.1, typescript@>=4.8.4, "typescript@>=4.8.4 <6.0.0": +typescript@^5, typescript@>=3.3.1, typescript@>=4.8.4, "typescript@>=4.8.4 <6.1.0": version "5.9.3" resolved "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz" integrity sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==