forked from Northgate-Systems/RemitX
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathclass.ts
More file actions
234 lines (202 loc) · 27.3 KB
/
Copy pathclass.ts
File metadata and controls
234 lines (202 loc) · 27.3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
/* !!! This is code generated by Prisma. Do not edit directly. !!! */
/* eslint-disable */
// biome-ignore-all lint: generated file
// @ts-nocheck
/*
* WARNING: This is an internal file that is subject to change!
*
* 🛑 Under no circumstances should you import this file directly! 🛑
*
* Please import the `PrismaClient` class from the `client.ts` file instead.
*/
import * as runtime from "@prisma/client/runtime/client"
import type * as Prisma from "./prismaNamespace"
const config: runtime.GetPrismaClientConfig = {
"previewFeatures": [],
"clientVersion": "7.8.0",
"engineVersion": "3c6e192761c0362d496ed980de936e2f3cebcd3a",
"activeProvider": "postgresql",
"inlineSchema": "// Prisma schema for RemitX\n// Database: Supabase (Postgres)\n//\n// NOTE: This schema targets Supabase's Postgres-compatible backend.\n// - Uses cuid() for IDs (not autoincrement)\n// - All monetary amounts stored as strings to avoid precision loss\n// - Foreign keys are enforced by Postgres (enable them in Supabase project settings)\n\ngenerator client {\n provider = \"prisma-client\"\n output = \"../src/generated/prisma\"\n}\n\ndatasource db {\n provider = \"postgresql\"\n}\n\nenum KycStatus {\n pending\n verified\n rejected\n}\n\nenum TransactionStatus {\n pending\n validating\n confirmed\n failed\n}\n\nenum EscrowStatus {\n locked\n released\n refunded\n expired\n}\n\nmodel User {\n id String @id @default(cuid())\n email String @unique\n passwordHash String\n stellarPublicKey String? @unique\n kycStatus KycStatus @default(pending)\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n transactions Transaction[]\n escrows Escrow[]\n\n @@map(\"users\")\n}\n\nmodel Transaction {\n id String @id @default(cuid())\n userId String\n fromAsset String\n toAsset String\n fromAmount String // stored as string to avoid precision loss with decimals\n toAmount String?\n recipientAddress String\n stellarTxHash String?\n escrowId String? // links to Escrow.id if this transaction uses the escrow contract\n status TransactionStatus @default(pending)\n createdAt DateTime @default(now())\n confirmedAt DateTime?\n updatedAt DateTime @updatedAt\n\n user User @relation(fields: [userId], references: [id])\n\n @@index([userId])\n @@index([status])\n @@map(\"transactions\")\n}\n\nmodel Rate {\n id String @id @default(cuid())\n fromAsset String\n toAsset String\n rate String // stored as string to avoid precision loss\n fetchedAt DateTime @default(now())\n\n @@unique([fromAsset, toAsset])\n @@map(\"rates\")\n}\n\nmodel Escrow {\n id String @id @default(cuid())\n userId String\n transactionId String @unique // one-to-one with Transaction\n contractAddress String // Soroban contract address on Stellar\n senderAddress String // Stellar public key of the sender\n recipientAddress String // Stellar public key of the recipient\n amount String // stored as string to avoid precision loss\n asset String // asset code (e.g. \"USDC\", \"XLM\")\n status EscrowStatus @default(locked)\n depositTxHash String? // Stellar tx hash for the deposit to the contract\n releaseTxHash String? // Stellar tx hash for the release from the contract\n createdAt DateTime @default(now())\n expiresAt DateTime // when the escrow expires and can be refunded\n updatedAt DateTime @updatedAt\n\n user User @relation(fields: [userId], references: [id])\n\n @@index([userId])\n @@index([senderAddress])\n @@index([recipientAddress])\n @@index([status])\n @@map(\"escrows\")\n}\n",
"runtimeDataModel": {
"models": {},
"enums": {},
"types": {}
},
"parameterizationSchema": {
"strings": [],
"graph": ""
}
}
config.runtimeDataModel = JSON.parse("{\"models\":{\"User\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"email\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"passwordHash\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"stellarPublicKey\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"kycStatus\",\"kind\":\"enum\",\"type\":\"KycStatus\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"transactions\",\"kind\":\"object\",\"type\":\"Transaction\",\"relationName\":\"TransactionToUser\"},{\"name\":\"escrows\",\"kind\":\"object\",\"type\":\"Escrow\",\"relationName\":\"EscrowToUser\"}],\"dbName\":\"users\"},\"Transaction\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"fromAsset\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"toAsset\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"fromAmount\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"toAmount\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"recipientAddress\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"stellarTxHash\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"escrowId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"status\",\"kind\":\"enum\",\"type\":\"TransactionStatus\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"confirmedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"TransactionToUser\"}],\"dbName\":\"transactions\"},\"Rate\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"fromAsset\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"toAsset\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"rate\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"fetchedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":\"rates\"},\"Escrow\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"transactionId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"contractAddress\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"senderAddress\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"recipientAddress\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"amount\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"asset\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"status\",\"kind\":\"enum\",\"type\":\"EscrowStatus\"},{\"name\":\"depositTxHash\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"releaseTxHash\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"expiresAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"EscrowToUser\"}],\"dbName\":\"escrows\"}},\"enums\":{},\"types\":{}}")
config.parameterizationSchema = {
strings: JSON.parse("[\"where\",\"orderBy\",\"cursor\",\"user\",\"transactions\",\"escrows\",\"_count\",\"User.findUnique\",\"User.findUniqueOrThrow\",\"User.findFirst\",\"User.findFirstOrThrow\",\"User.findMany\",\"data\",\"User.createOne\",\"User.createMany\",\"User.createManyAndReturn\",\"User.updateOne\",\"User.updateMany\",\"User.updateManyAndReturn\",\"create\",\"update\",\"User.upsertOne\",\"User.deleteOne\",\"User.deleteMany\",\"having\",\"_min\",\"_max\",\"User.groupBy\",\"User.aggregate\",\"Transaction.findUnique\",\"Transaction.findUniqueOrThrow\",\"Transaction.findFirst\",\"Transaction.findFirstOrThrow\",\"Transaction.findMany\",\"Transaction.createOne\",\"Transaction.createMany\",\"Transaction.createManyAndReturn\",\"Transaction.updateOne\",\"Transaction.updateMany\",\"Transaction.updateManyAndReturn\",\"Transaction.upsertOne\",\"Transaction.deleteOne\",\"Transaction.deleteMany\",\"Transaction.groupBy\",\"Transaction.aggregate\",\"Rate.findUnique\",\"Rate.findUniqueOrThrow\",\"Rate.findFirst\",\"Rate.findFirstOrThrow\",\"Rate.findMany\",\"Rate.createOne\",\"Rate.createMany\",\"Rate.createManyAndReturn\",\"Rate.updateOne\",\"Rate.updateMany\",\"Rate.updateManyAndReturn\",\"Rate.upsertOne\",\"Rate.deleteOne\",\"Rate.deleteMany\",\"Rate.groupBy\",\"Rate.aggregate\",\"Escrow.findUnique\",\"Escrow.findUniqueOrThrow\",\"Escrow.findFirst\",\"Escrow.findFirstOrThrow\",\"Escrow.findMany\",\"Escrow.createOne\",\"Escrow.createMany\",\"Escrow.createManyAndReturn\",\"Escrow.updateOne\",\"Escrow.updateMany\",\"Escrow.updateManyAndReturn\",\"Escrow.upsertOne\",\"Escrow.deleteOne\",\"Escrow.deleteMany\",\"Escrow.groupBy\",\"Escrow.aggregate\",\"AND\",\"OR\",\"NOT\",\"id\",\"userId\",\"transactionId\",\"contractAddress\",\"senderAddress\",\"recipientAddress\",\"amount\",\"asset\",\"EscrowStatus\",\"status\",\"depositTxHash\",\"releaseTxHash\",\"createdAt\",\"expiresAt\",\"updatedAt\",\"equals\",\"in\",\"notIn\",\"lt\",\"lte\",\"gt\",\"gte\",\"not\",\"contains\",\"startsWith\",\"endsWith\",\"fromAsset\",\"toAsset\",\"rate\",\"fetchedAt\",\"fromAsset_toAsset\",\"fromAmount\",\"toAmount\",\"stellarTxHash\",\"escrowId\",\"TransactionStatus\",\"confirmedAt\",\"email\",\"passwordHash\",\"stellarPublicKey\",\"KycStatus\",\"kycStatus\",\"every\",\"some\",\"none\",\"is\",\"isNot\",\"connectOrCreate\",\"upsert\",\"createMany\",\"set\",\"disconnect\",\"delete\",\"connect\",\"updateMany\",\"deleteMany\"]"),
graph: "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_ACEHBgAAbwAgGQAAgwEAIBoAAIMBACBfAAAAdAJgAAAAdAhhAAAAdAhmAACCAXQiCwYAAHIAIBkAAIEBACAaAACBAQAgX0AAAAABYEAAAAAFYUAAAAAFYkAAAAABY0AAAAABZEAAAAABZUAAAAABZkAAgAEAIQsGAAByACAZAACBAQAgGgAAgQEAIF9AAAAAAWBAAAAABWFAAAAABWJAAAAAAWNAAAAAAWRAAAAAAWVAAAAAAWZAAIABACEIX0AAAAABYEAAAAAFYUAAAAAFYkAAAAABY0AAAAABZEAAAAABZUAAAAABZkAAgQEAIQcGAABvACAZAACDAQAgGgAAgwEAIF8AAAB0AmAAAAB0CGEAAAB0CGYAAIIBdCIEXwAAAHQCYAAAAHQIYQAAAHQIZgAAgwF0IgpNAACEAQAwTgAAIQAQTwAAhAEAMFABAGoAIVxAAG0AIV5AAG0AIXUBAGoAIXYBAGoAIXcBAGwAIXkAAIUBeSIHBgAAbwAgGQAAhwEAIBoAAIcBACBfAAAAeQJgAAAAeQhhAAAAeQhmAACGAXkiBwYAAG8AIBkAAIcBACAaAACHAQAgXwAAAHkCYAAAAHkIYQAAAHkIZgAAhgF5IgRfAAAAeQJgAAAAeQhhAAAAeQhmAACHAXkiDAQAAIsBACAFAACMAQAgTQAAiAEAME4AAA4AEE8AAIgBADBQAQB6ACFcQAB7ACFeQAB7ACF1AQB6ACF2AQB6ACF3AQCJAQAheQAAigF5IgtfAQAAAAFgAQAAAAVhAQAAAAViAQAAAAFjAQAAAAFkAQAAAAFlAQAAAAFmAQBzACFnAQAAAAFoAQAAAAFpAQAAAAEEXwAAAHkCYAAAAHkIYQAAAHkIZgAAhwF5IgN6AAADACB7AAADACB8AAADACADegAABwAgewAABwAgfAAABwAgEgMAAI8BACBNAACNAQAwTgAABwAQTwAAjQEAMFABAHoAIVEBAHoAIVIBAHoAIVMBAHoAIVQBAHoAIVUBAHoAIVYBAHoAIVcBAHoAIVkAAI4BWSJaAQCJAQAhWwEAiQEAIVxAAHsAIV1AAHsAIV5AAHsAIQRfAAAAWQJgAAAAWQhhAAAAWQhmAAB1WSIOBAAAiwEAIAUAAIwBACBNAACIAQAwTgAADgAQTwAAiAEAMFABAHoAIVxAAHsAIV5AAHsAIXUBAHoAIXYBAHoAIXcBAIkBACF5AACKAXkifQAADgAgfgAADgAgEQMAAI8BACBNAACQAQAwTgAAAwAQTwAAkAEAMFABAHoAIVEBAHoAIVUBAHoAIVkAAJEBdCJcQAB7ACFeQAB7ACFqAQB6ACFrAQB6ACFvAQB6ACFwAQCJAQAhcQEAiQEAIXIBAIkBACF0QACSAQAhBF8AAAB0AmAAAAB0CGEAAAB0CGYAAIMBdCIIX0AAAAABYEAAAAAFYUAAAAAFYkAAAAABY0AAAAABZEAAAAABZUAAAAABZkAAgQEAIQAAAAABggEBAAAAAQGCAQAAAFkCAYIBAQAAAAEBggFAAAAAAQUTAADRAQAgFAAA1AEAIH8AANIBACCAAQAA0wEAIIUBAAABACADEwAA0QEAIH8AANIBACCFAQAAAQAgAAAAAAAAAYIBAAAAdAIBggFAAAAAAQUTAADMAQAgFAAAzwEAIH8AAM0BACCAAQAAzgEAIIUBAAABACADEwAAzAEAIH8AAM0BACCFAQAAAQAgAAAAAYIBAAAAeQILEwAAuQEAMBQAAL4BADB_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_FDBAFDFBFDJDFDNFBTRGFTVIFDZKBTdLFjhMFDlNFDpOBTtRFzxSGz1TAz5UAz9VA0BWA0FXA0JZA0NbBURcHEVeA0ZgBUdhHUhiA0ljA0pkBUtnHkxoIg"
}
async function decodeBase64AsWasm(wasmBase64: string): Promise<WebAssembly.Module> {
const { Buffer } = await import('node:buffer')
const wasmArray = Buffer.from(wasmBase64, 'base64')
return new WebAssembly.Module(wasmArray)
}
config.compilerWasm = {
getRuntime: async () => await import("@prisma/client/runtime/query_compiler_fast_bg.postgresql.mjs"),
getQueryCompilerWasmModule: async () => {
const { wasm } = await import("@prisma/client/runtime/query_compiler_fast_bg.postgresql.wasm-base64.mjs")
return await decodeBase64AsWasm(wasm)
},
importName: "./query_compiler_fast_bg.js"
}
export type LogOptions<ClientOptions extends Prisma.PrismaClientOptions> =
'log' extends keyof ClientOptions ? ClientOptions['log'] extends Array<Prisma.LogLevel | Prisma.LogDefinition> ? Prisma.GetEvents<ClientOptions['log']> : never : never
export interface PrismaClientConstructor {
/**
* ## Prisma Client
*
* Type-safe database client for TypeScript
* @example
* ```
* const prisma = new PrismaClient({
* adapter: new PrismaPg({ connectionString: process.env.DATABASE_URL })
* })
* // Fetch zero or more Users
* const users = await prisma.user.findMany()
* ```
*
* Read more in our [docs](https://pris.ly/d/client).
*/
new <
Options extends Prisma.PrismaClientOptions = Prisma.PrismaClientOptions,
LogOpts extends LogOptions<Options> = LogOptions<Options>,
OmitOpts extends Prisma.PrismaClientOptions['omit'] = Options extends { omit: infer U } ? U : Prisma.PrismaClientOptions['omit'],
ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs
>(options: Prisma.Subset<Options, Prisma.PrismaClientOptions> ): PrismaClient<LogOpts, OmitOpts, ExtArgs>
}
/**
* ## Prisma Client
*
* Type-safe database client for TypeScript
* @example
* ```
* const prisma = new PrismaClient({
* adapter: new PrismaPg({ connectionString: process.env.DATABASE_URL })
* })
* // Fetch zero or more Users
* const users = await prisma.user.findMany()
* ```
*
* Read more in our [docs](https://pris.ly/d/client).
*/
export interface PrismaClient<
in LogOpts extends Prisma.LogLevel = never,
in out OmitOpts extends Prisma.PrismaClientOptions['omit'] = undefined,
in out ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs
> {
[K: symbol]: { types: Prisma.TypeMap<ExtArgs>['other'] }
$on<V extends LogOpts>(eventType: V, callback: (event: V extends 'query' ? Prisma.QueryEvent : Prisma.LogEvent) => void): PrismaClient;
/**
* Connect with the database
*/
$connect(): runtime.Types.Utils.JsPromise<void>;
/**
* Disconnect from the database
*/
$disconnect(): runtime.Types.Utils.JsPromise<void>;
/**
* Executes a prepared raw query and returns the number of affected rows.
* @example
* ```
* const result = await prisma.$executeRaw`UPDATE User SET cool = ${true} WHERE email = ${'user@email.com'};`
* ```
*
* Read more in our [docs](https://pris.ly/d/raw-queries).
*/
$executeRaw<T = unknown>(query: TemplateStringsArray | Prisma.Sql, ...values: any[]): Prisma.PrismaPromise<number>;
/**
* Executes a raw query and returns the number of affected rows.
* Susceptible to SQL injections, see documentation.
* @example
* ```
* const result = await prisma.$executeRawUnsafe('UPDATE User SET cool = $1 WHERE email = $2 ;', true, 'user@email.com')
* ```
*
* Read more in our [docs](https://pris.ly/d/raw-queries).
*/
$executeRawUnsafe<T = unknown>(query: string, ...values: any[]): Prisma.PrismaPromise<number>;
/**
* Performs a prepared raw query and returns the `SELECT` data.
* @example
* ```
* const result = await prisma.$queryRaw`SELECT * FROM User WHERE id = ${1} OR email = ${'user@email.com'};`
* ```
*
* Read more in our [docs](https://pris.ly/d/raw-queries).
*/
$queryRaw<T = unknown>(query: TemplateStringsArray | Prisma.Sql, ...values: any[]): Prisma.PrismaPromise<T>;
/**
* Performs a raw query and returns the `SELECT` data.
* Susceptible to SQL injections, see documentation.
* @example
* ```
* const result = await prisma.$queryRawUnsafe('SELECT * FROM User WHERE id = $1 OR email = $2;', 1, 'user@email.com')
* ```
*
* Read more in our [docs](https://pris.ly/d/raw-queries).
*/
$queryRawUnsafe<T = unknown>(query: string, ...values: any[]): Prisma.PrismaPromise<T>;
/**
* Allows the running of a sequence of read/write operations that are guaranteed to either succeed or fail as a whole.
* @example
* ```
* const [george, bob, alice] = await prisma.$transaction([
* prisma.user.create({ data: { name: 'George' } }),
* prisma.user.create({ data: { name: 'Bob' } }),
* prisma.user.create({ data: { name: 'Alice' } }),
* ])
* ```
*
* Read more in our [docs](https://www.prisma.io/docs/orm/prisma-client/queries/transactions).
*/
$transaction<P extends Prisma.PrismaPromise<any>[]>(arg: [...P], options?: { maxWait?: number, timeout?: number, isolationLevel?: Prisma.TransactionIsolationLevel }): runtime.Types.Utils.JsPromise<runtime.Types.Utils.UnwrapTuple<P>>
$transaction<R>(fn: (prisma: Omit<PrismaClient, runtime.ITXClientDenyList>) => runtime.Types.Utils.JsPromise<R>, options?: { maxWait?: number, timeout?: number, isolationLevel?: Prisma.TransactionIsolationLevel }): runtime.Types.Utils.JsPromise<R>
$extends: runtime.Types.Extensions.ExtendsHook<"extends", Prisma.TypeMapCb<OmitOpts>, ExtArgs, runtime.Types.Utils.Call<Prisma.TypeMapCb<OmitOpts>, {
extArgs: ExtArgs
}>>
/**
* `prisma.user`: Exposes CRUD operations for the **User** model.
* Example usage:
* ```ts
* // Fetch zero or more Users
* const users = await prisma.user.findMany()
* ```
*/
get user(): Prisma.UserDelegate<ExtArgs, { omit: OmitOpts }>;
/**
* `prisma.transaction`: Exposes CRUD operations for the **Transaction** model.
* Example usage:
* ```ts
* // Fetch zero or more Transactions
* const transactions = await prisma.transaction.findMany()
* ```
*/
get transaction(): Prisma.TransactionDelegate<ExtArgs, { omit: OmitOpts }>;
/**
* `prisma.rate`: Exposes CRUD operations for the **Rate** model.
* Example usage:
* ```ts
* // Fetch zero or more Rates
* const rates = await prisma.rate.findMany()
* ```
*/
get rate(): Prisma.RateDelegate<ExtArgs, { omit: OmitOpts }>;
/**
* `prisma.escrow`: Exposes CRUD operations for the **Escrow** model.
* Example usage:
* ```ts
* // Fetch zero or more Escrows
* const escrows = await prisma.escrow.findMany()
* ```
*/
get escrow(): Prisma.EscrowDelegate<ExtArgs, { omit: OmitOpts }>;
}
export function getPrismaClientClass(): PrismaClientConstructor {
return runtime.getPrismaClient(config) as unknown as PrismaClientConstructor
}