@morpho-dev/router 0.0.12 → 0.0.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +15 -0
- package/dist/drizzle/0000_add-offers-table.sql +37 -0
- package/dist/drizzle/0001_create_offer_status_relation.sql +10 -0
- package/dist/drizzle/0002_add_created_at_in_offer_status_relation.sql +3 -0
- package/dist/drizzle/0003_add-cursor-indices-to-offers.sql +6 -0
- package/dist/drizzle/0004_offer-start.sql +1 -0
- package/dist/drizzle/0005_rename-price-token-buy.sql +8 -0
- package/dist/drizzle/0006_rename-buy.sql +3 -0
- package/dist/drizzle/0007_rename-offering.sql +3 -0
- package/dist/drizzle/meta/0000_snapshot.json +344 -0
- package/dist/drizzle/meta/0001_snapshot.json +426 -0
- package/dist/drizzle/meta/0002_snapshot.json +439 -0
- package/dist/drizzle/meta/0003_snapshot.json +553 -0
- package/dist/drizzle/meta/0004_snapshot.json +559 -0
- package/dist/drizzle/meta/0005_snapshot.json +559 -0
- package/dist/drizzle/meta/0006_snapshot.json +559 -0
- package/dist/drizzle/meta/0007_snapshot.json +559 -0
- package/dist/drizzle/meta/_journal.json +62 -0
- package/dist/index.browser.d.cts +33 -20
- package/dist/index.browser.d.ts +33 -20
- package/dist/index.browser.js +623 -54
- package/dist/index.browser.js.map +1 -1
- package/dist/index.browser.mjs +620 -54
- package/dist/index.browser.mjs.map +1 -1
- package/dist/index.node.d.cts +735 -2
- package/dist/index.node.d.ts +735 -2
- package/dist/index.node.js +2117 -4771
- package/dist/index.node.js.map +1 -1
- package/dist/index.node.mjs +2109 -4772
- package/dist/index.node.mjs.map +1 -1
- package/package.json +17 -3
package/dist/index.node.d.ts
CHANGED
|
@@ -3,6 +3,14 @@ export * from '@morpho-dev/mempool';
|
|
|
3
3
|
import * as viem from 'viem';
|
|
4
4
|
import { Address, Account, Hex, PublicClient } from 'viem';
|
|
5
5
|
import { Chain as Chain$2 } from 'viem/chains';
|
|
6
|
+
import * as node_modules_zod_openapi_dist_components_DkyUTLcs_js from 'node_modules/zod-openapi/dist/components-DkyUTLcs.js';
|
|
7
|
+
import { z } from 'zod/v4';
|
|
8
|
+
import { PGlite } from '@electric-sql/pglite';
|
|
9
|
+
import { drizzle } from 'drizzle-orm/node-postgres';
|
|
10
|
+
import { drizzle as drizzle$1 } from 'drizzle-orm/pglite';
|
|
11
|
+
import { Pool } from 'pg';
|
|
12
|
+
export * from 'drizzle-orm';
|
|
13
|
+
import * as drizzle_orm_pg_core from 'drizzle-orm/pg-core';
|
|
6
14
|
|
|
7
15
|
type Compute<type> = {
|
|
8
16
|
[key in keyof type]: type[key];
|
|
@@ -36,6 +44,82 @@ declare namespace Chain$1 {
|
|
|
36
44
|
export { type Chain$1_Chain as Chain, type Chain$1_ChainId as ChainId, type Chain$1_ChainName as ChainName, Chain$1_chainIds as chainIds, Chain$1_chainNames as chainNames, Chain$1_chains as chains, Chain$1_getChain as getChain };
|
|
37
45
|
}
|
|
38
46
|
|
|
47
|
+
declare const OpenApi: node_modules_zod_openapi_dist_components_DkyUTLcs_js.OpenAPIObject;
|
|
48
|
+
|
|
49
|
+
declare const schemas: {
|
|
50
|
+
readonly get_offers: z.ZodObject<{
|
|
51
|
+
creators: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<string[], string>>>;
|
|
52
|
+
side: z.ZodOptional<z.ZodEnum<{
|
|
53
|
+
buy: "buy";
|
|
54
|
+
sell: "sell";
|
|
55
|
+
}>>;
|
|
56
|
+
chains: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<number[], string>>>;
|
|
57
|
+
loan_tokens: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<string[], string>>>;
|
|
58
|
+
status: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<("valid" | "callback_not_supported" | "callback_error" | "unverified")[], string>>>;
|
|
59
|
+
callback_addresses: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<string[], string>>>;
|
|
60
|
+
min_amount: z.ZodOptional<z.ZodBigInt>;
|
|
61
|
+
max_amount: z.ZodOptional<z.ZodBigInt>;
|
|
62
|
+
min_rate: z.ZodOptional<z.ZodBigInt>;
|
|
63
|
+
max_rate: z.ZodOptional<z.ZodBigInt>;
|
|
64
|
+
min_maturity: z.ZodPipe<z.ZodOptional<z.ZodBigInt>, z.ZodTransform<number | undefined, bigint | undefined>>;
|
|
65
|
+
max_maturity: z.ZodPipe<z.ZodOptional<z.ZodBigInt>, z.ZodTransform<number | undefined, bigint | undefined>>;
|
|
66
|
+
min_expiry: z.ZodPipe<z.ZodOptional<z.ZodBigInt>, z.ZodTransform<number | undefined, bigint | undefined>>;
|
|
67
|
+
max_expiry: z.ZodPipe<z.ZodOptional<z.ZodBigInt>, z.ZodTransform<number | undefined, bigint | undefined>>;
|
|
68
|
+
collateral_assets: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<string[], string>>>;
|
|
69
|
+
collateral_oracles: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<string[], string>>>;
|
|
70
|
+
collateral_tuple: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<{
|
|
71
|
+
asset: string;
|
|
72
|
+
oracle: string | undefined;
|
|
73
|
+
lltv: number | undefined;
|
|
74
|
+
}[], string>>>;
|
|
75
|
+
min_lltv: z.ZodOptional<z.ZodPipe<z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>, z.ZodNumber>>;
|
|
76
|
+
max_lltv: z.ZodOptional<z.ZodPipe<z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>, z.ZodNumber>>;
|
|
77
|
+
sort_by: z.ZodOptional<z.ZodEnum<{
|
|
78
|
+
rate: "rate";
|
|
79
|
+
maturity: "maturity";
|
|
80
|
+
expiry: "expiry";
|
|
81
|
+
amount: "amount";
|
|
82
|
+
}>>;
|
|
83
|
+
sort_order: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
|
|
84
|
+
asc: "asc";
|
|
85
|
+
desc: "desc";
|
|
86
|
+
}>>>;
|
|
87
|
+
cursor: z.ZodOptional<z.ZodString>;
|
|
88
|
+
limit: z.ZodDefault<z.ZodOptional<z.ZodPipe<z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>, z.ZodNumber>>>;
|
|
89
|
+
}, z.core.$strip>;
|
|
90
|
+
readonly match_offers: z.ZodObject<{
|
|
91
|
+
side: z.ZodEnum<{
|
|
92
|
+
buy: "buy";
|
|
93
|
+
sell: "sell";
|
|
94
|
+
}>;
|
|
95
|
+
chain_id: z.ZodPipe<z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>, z.ZodNumber>;
|
|
96
|
+
rate: z.ZodOptional<z.ZodBigInt>;
|
|
97
|
+
collaterals: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<{
|
|
98
|
+
asset: string;
|
|
99
|
+
oracle: string;
|
|
100
|
+
lltv: bigint;
|
|
101
|
+
}[], string>>>;
|
|
102
|
+
maturity: z.ZodPipe<z.ZodOptional<z.ZodBigInt>, z.ZodTransform<number | undefined, bigint | undefined>>;
|
|
103
|
+
min_maturity: z.ZodPipe<z.ZodOptional<z.ZodBigInt>, z.ZodTransform<number | undefined, bigint | undefined>>;
|
|
104
|
+
max_maturity: z.ZodPipe<z.ZodOptional<z.ZodBigInt>, z.ZodTransform<number | undefined, bigint | undefined>>;
|
|
105
|
+
loan_token: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>;
|
|
106
|
+
creator: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>;
|
|
107
|
+
status: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<("valid" | "callback_not_supported" | "callback_error" | "unverified")[], string>>>;
|
|
108
|
+
cursor: z.ZodOptional<z.ZodString>;
|
|
109
|
+
limit: z.ZodDefault<z.ZodOptional<z.ZodPipe<z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>, z.ZodNumber>>>;
|
|
110
|
+
}, z.core.$strip>;
|
|
111
|
+
};
|
|
112
|
+
type Action = keyof typeof schemas;
|
|
113
|
+
declare function parse<A extends Action>(action: A, query: unknown): z.infer<(typeof schemas)[A]>;
|
|
114
|
+
declare function safeParse<A extends Action>(action: A, query: unknown): z.ZodSafeParseResult<z.infer<(typeof schemas)[A]>>;
|
|
115
|
+
|
|
116
|
+
declare const index$1_OpenApi: typeof OpenApi;
|
|
117
|
+
declare const index$1_parse: typeof parse;
|
|
118
|
+
declare const index$1_safeParse: typeof safeParse;
|
|
119
|
+
declare namespace index$1 {
|
|
120
|
+
export { index$1_OpenApi as OpenApi, index$1_parse as parse, index$1_safeParse as safeParse };
|
|
121
|
+
}
|
|
122
|
+
|
|
39
123
|
declare const OfferStatusValues: readonly ["valid", "callback_not_supported", "callback_error", "unverified"];
|
|
40
124
|
type OfferStatus = (typeof OfferStatusValues)[number];
|
|
41
125
|
type OfferMetadata = {
|
|
@@ -203,6 +287,641 @@ declare class HttpGetOffersFailedError extends Errors.BaseError {
|
|
|
203
287
|
});
|
|
204
288
|
}
|
|
205
289
|
|
|
290
|
+
type PgDB = ReturnType<typeof drizzle> & {
|
|
291
|
+
name: "pg";
|
|
292
|
+
pool: Pool;
|
|
293
|
+
};
|
|
294
|
+
type PGLiteDB = ReturnType<typeof drizzle$1> & {
|
|
295
|
+
name: "pglite";
|
|
296
|
+
pool: PGlite;
|
|
297
|
+
};
|
|
298
|
+
type DB = PgDB | PGLiteDB;
|
|
299
|
+
declare function create$1({ type, endpoint, }: {
|
|
300
|
+
type?: "pg" | "pglite";
|
|
301
|
+
endpoint?: string;
|
|
302
|
+
}): DB;
|
|
303
|
+
declare function applyMigrations(db: DB): Promise<void>;
|
|
304
|
+
declare function applyMigrationsPostgres(db: DB): Promise<void>;
|
|
305
|
+
declare function clean(db: DB): Promise<void>;
|
|
306
|
+
|
|
307
|
+
type OfferDB_DB = DB;
|
|
308
|
+
declare const OfferDB_applyMigrations: typeof applyMigrations;
|
|
309
|
+
declare const OfferDB_applyMigrationsPostgres: typeof applyMigrationsPostgres;
|
|
310
|
+
declare const OfferDB_clean: typeof clean;
|
|
311
|
+
declare namespace OfferDB {
|
|
312
|
+
export { type OfferDB_DB as DB, OfferDB_applyMigrations as applyMigrations, OfferDB_applyMigrationsPostgres as applyMigrationsPostgres, OfferDB_clean as clean, create$1 as create };
|
|
313
|
+
}
|
|
314
|
+
|
|
315
|
+
type GetOffersFilters = {
|
|
316
|
+
creators?: string[];
|
|
317
|
+
side?: "buy" | "sell";
|
|
318
|
+
chains?: number[];
|
|
319
|
+
loanTokens?: string[];
|
|
320
|
+
status?: OfferStatus[];
|
|
321
|
+
callbackAddresses?: string[];
|
|
322
|
+
minAmount?: bigint;
|
|
323
|
+
maxAmount?: bigint;
|
|
324
|
+
minRate?: bigint;
|
|
325
|
+
maxRate?: bigint;
|
|
326
|
+
minMaturity?: number;
|
|
327
|
+
maxMaturity?: number;
|
|
328
|
+
minExpiry?: number;
|
|
329
|
+
maxExpiry?: number;
|
|
330
|
+
collateralAssets?: string[];
|
|
331
|
+
collateralOracles?: string[];
|
|
332
|
+
collateralTuple?: Array<{
|
|
333
|
+
asset: string;
|
|
334
|
+
oracle?: string;
|
|
335
|
+
lltv?: number;
|
|
336
|
+
}>;
|
|
337
|
+
minLltv?: number;
|
|
338
|
+
maxLltv?: number;
|
|
339
|
+
sortBy?: "rate" | "maturity" | "expiry" | "amount";
|
|
340
|
+
sortOrder?: "asc" | "desc";
|
|
341
|
+
cursor?: string;
|
|
342
|
+
limit?: number;
|
|
343
|
+
};
|
|
344
|
+
interface FindMatchingOffersParams {
|
|
345
|
+
side: "buy" | "sell";
|
|
346
|
+
chainId: number;
|
|
347
|
+
rate?: bigint;
|
|
348
|
+
collaterals?: Array<{
|
|
349
|
+
asset: string;
|
|
350
|
+
oracle: string;
|
|
351
|
+
lltv: bigint;
|
|
352
|
+
}>;
|
|
353
|
+
maturity?: number;
|
|
354
|
+
minMaturity?: number;
|
|
355
|
+
maxMaturity?: number;
|
|
356
|
+
loanToken?: string;
|
|
357
|
+
creator?: string;
|
|
358
|
+
/** Filter by offer status; if omitted defaults to ["valid"] */
|
|
359
|
+
status?: OfferStatus[];
|
|
360
|
+
/** Cursor string returned by a previous call, for pagination */
|
|
361
|
+
cursor?: string;
|
|
362
|
+
/** Page size; defaults to 20 */
|
|
363
|
+
limit?: number;
|
|
364
|
+
}
|
|
365
|
+
interface GetAllParams {
|
|
366
|
+
query?: GetOffersFilters;
|
|
367
|
+
}
|
|
368
|
+
type OfferRepositoryConfig = {
|
|
369
|
+
/** The database instance to use for operations. */
|
|
370
|
+
db: DB;
|
|
371
|
+
};
|
|
372
|
+
/**
|
|
373
|
+
* The `OfferRepository` is responsible for managing offer data in the database.
|
|
374
|
+
*/
|
|
375
|
+
type OfferRepository = {
|
|
376
|
+
/** Create a single offer in the database. */
|
|
377
|
+
create: (parameters: {
|
|
378
|
+
offer: Offer.Offer;
|
|
379
|
+
status: OfferStatus;
|
|
380
|
+
metadata?: OfferMetadata;
|
|
381
|
+
}) => Promise<string>;
|
|
382
|
+
/** Create multiple offers in the database. */
|
|
383
|
+
createMany: (parameters: {
|
|
384
|
+
offer: Offer.Offer;
|
|
385
|
+
status: OfferStatus;
|
|
386
|
+
metadata?: OfferMetadata;
|
|
387
|
+
}[]) => Promise<string[]>;
|
|
388
|
+
/** Get all offers from the database with optional filtering, sorting, and pagination. */
|
|
389
|
+
getAll: (params?: GetAllParams) => Promise<{
|
|
390
|
+
offers: RouterOffer[];
|
|
391
|
+
nextCursor: string | null;
|
|
392
|
+
}>;
|
|
393
|
+
/** Find offers that match the specified parameters, with cursor pagination. */
|
|
394
|
+
findMatchingOffers: (params: FindMatchingOffersParams) => Promise<{
|
|
395
|
+
offers: RouterOffer[];
|
|
396
|
+
nextCursor: string | null;
|
|
397
|
+
}>;
|
|
398
|
+
/** Delete an offer and its associated collaterals by hash. */
|
|
399
|
+
delete: (hash: Offer.Offer["hash"]) => Promise<boolean>;
|
|
400
|
+
/** Delete multiple offers and their associated collaterals by hashes. */
|
|
401
|
+
deleteMany: (hashes: Offer.Offer["hash"][]) => Promise<number>;
|
|
402
|
+
/** Update the status of an offer. */
|
|
403
|
+
updateStatus: (parameters: {
|
|
404
|
+
offerHash: Offer.Offer["hash"];
|
|
405
|
+
status: OfferStatus;
|
|
406
|
+
metadata?: OfferMetadata;
|
|
407
|
+
}) => Promise<void>;
|
|
408
|
+
};
|
|
409
|
+
/**
|
|
410
|
+
* Creates a new OfferRepository instance.
|
|
411
|
+
*/
|
|
412
|
+
declare function create(config: OfferRepositoryConfig): OfferRepository;
|
|
413
|
+
type TestOfferRepository = OfferRepository;
|
|
414
|
+
declare function createTest(): TestOfferRepository;
|
|
415
|
+
|
|
416
|
+
type OfferRepository$1_FindMatchingOffersParams = FindMatchingOffersParams;
|
|
417
|
+
type OfferRepository$1_GetAllParams = GetAllParams;
|
|
418
|
+
type OfferRepository$1_GetOffersFilters = GetOffersFilters;
|
|
419
|
+
type OfferRepository$1_OfferRepository = OfferRepository;
|
|
420
|
+
type OfferRepository$1_OfferRepositoryConfig = OfferRepositoryConfig;
|
|
421
|
+
type OfferRepository$1_TestOfferRepository = TestOfferRepository;
|
|
422
|
+
declare const OfferRepository$1_create: typeof create;
|
|
423
|
+
declare const OfferRepository$1_createTest: typeof createTest;
|
|
424
|
+
declare namespace OfferRepository$1 {
|
|
425
|
+
export { type OfferRepository$1_FindMatchingOffersParams as FindMatchingOffersParams, type OfferRepository$1_GetAllParams as GetAllParams, type OfferRepository$1_GetOffersFilters as GetOffersFilters, type OfferRepository$1_OfferRepository as OfferRepository, type OfferRepository$1_OfferRepositoryConfig as OfferRepositoryConfig, type OfferRepository$1_TestOfferRepository as TestOfferRepository, OfferRepository$1_create as create, OfferRepository$1_createTest as createTest };
|
|
426
|
+
}
|
|
427
|
+
|
|
428
|
+
declare const offers: drizzle_orm_pg_core.PgTableWithColumns<{
|
|
429
|
+
name: "offers";
|
|
430
|
+
schema: undefined;
|
|
431
|
+
columns: {
|
|
432
|
+
hash: drizzle_orm_pg_core.PgColumn<{
|
|
433
|
+
name: "hash";
|
|
434
|
+
tableName: "offers";
|
|
435
|
+
dataType: "string";
|
|
436
|
+
columnType: "PgVarchar";
|
|
437
|
+
data: string;
|
|
438
|
+
driverParam: string;
|
|
439
|
+
notNull: true;
|
|
440
|
+
hasDefault: false;
|
|
441
|
+
isPrimaryKey: true;
|
|
442
|
+
isAutoincrement: false;
|
|
443
|
+
hasRuntimeDefault: false;
|
|
444
|
+
enumValues: [string, ...string[]];
|
|
445
|
+
baseColumn: never;
|
|
446
|
+
identity: undefined;
|
|
447
|
+
generated: undefined;
|
|
448
|
+
}, {}, {
|
|
449
|
+
length: 66;
|
|
450
|
+
}>;
|
|
451
|
+
offering: drizzle_orm_pg_core.PgColumn<{
|
|
452
|
+
name: "offering";
|
|
453
|
+
tableName: "offers";
|
|
454
|
+
dataType: "string";
|
|
455
|
+
columnType: "PgVarchar";
|
|
456
|
+
data: string;
|
|
457
|
+
driverParam: string;
|
|
458
|
+
notNull: true;
|
|
459
|
+
hasDefault: false;
|
|
460
|
+
isPrimaryKey: false;
|
|
461
|
+
isAutoincrement: false;
|
|
462
|
+
hasRuntimeDefault: false;
|
|
463
|
+
enumValues: [string, ...string[]];
|
|
464
|
+
baseColumn: never;
|
|
465
|
+
identity: undefined;
|
|
466
|
+
generated: undefined;
|
|
467
|
+
}, {}, {
|
|
468
|
+
length: 42;
|
|
469
|
+
}>;
|
|
470
|
+
assets: drizzle_orm_pg_core.PgColumn<{
|
|
471
|
+
name: "assets";
|
|
472
|
+
tableName: "offers";
|
|
473
|
+
dataType: "bigint";
|
|
474
|
+
columnType: "PgBigInt64";
|
|
475
|
+
data: bigint;
|
|
476
|
+
driverParam: string;
|
|
477
|
+
notNull: true;
|
|
478
|
+
hasDefault: false;
|
|
479
|
+
isPrimaryKey: false;
|
|
480
|
+
isAutoincrement: false;
|
|
481
|
+
hasRuntimeDefault: false;
|
|
482
|
+
enumValues: undefined;
|
|
483
|
+
baseColumn: never;
|
|
484
|
+
identity: undefined;
|
|
485
|
+
generated: undefined;
|
|
486
|
+
}, {}, {}>;
|
|
487
|
+
rate: drizzle_orm_pg_core.PgColumn<{
|
|
488
|
+
name: "rate";
|
|
489
|
+
tableName: "offers";
|
|
490
|
+
dataType: "bigint";
|
|
491
|
+
columnType: "PgBigInt64";
|
|
492
|
+
data: bigint;
|
|
493
|
+
driverParam: string;
|
|
494
|
+
notNull: true;
|
|
495
|
+
hasDefault: false;
|
|
496
|
+
isPrimaryKey: false;
|
|
497
|
+
isAutoincrement: false;
|
|
498
|
+
hasRuntimeDefault: false;
|
|
499
|
+
enumValues: undefined;
|
|
500
|
+
baseColumn: never;
|
|
501
|
+
identity: undefined;
|
|
502
|
+
generated: undefined;
|
|
503
|
+
}, {}, {}>;
|
|
504
|
+
maturity: drizzle_orm_pg_core.PgColumn<{
|
|
505
|
+
name: "maturity";
|
|
506
|
+
tableName: "offers";
|
|
507
|
+
dataType: "number";
|
|
508
|
+
columnType: "PgInteger";
|
|
509
|
+
data: number;
|
|
510
|
+
driverParam: string | number;
|
|
511
|
+
notNull: true;
|
|
512
|
+
hasDefault: false;
|
|
513
|
+
isPrimaryKey: false;
|
|
514
|
+
isAutoincrement: false;
|
|
515
|
+
hasRuntimeDefault: false;
|
|
516
|
+
enumValues: undefined;
|
|
517
|
+
baseColumn: never;
|
|
518
|
+
identity: undefined;
|
|
519
|
+
generated: undefined;
|
|
520
|
+
}, {}, {}>;
|
|
521
|
+
expiry: drizzle_orm_pg_core.PgColumn<{
|
|
522
|
+
name: "expiry";
|
|
523
|
+
tableName: "offers";
|
|
524
|
+
dataType: "number";
|
|
525
|
+
columnType: "PgInteger";
|
|
526
|
+
data: number;
|
|
527
|
+
driverParam: string | number;
|
|
528
|
+
notNull: true;
|
|
529
|
+
hasDefault: false;
|
|
530
|
+
isPrimaryKey: false;
|
|
531
|
+
isAutoincrement: false;
|
|
532
|
+
hasRuntimeDefault: false;
|
|
533
|
+
enumValues: undefined;
|
|
534
|
+
baseColumn: never;
|
|
535
|
+
identity: undefined;
|
|
536
|
+
generated: undefined;
|
|
537
|
+
}, {}, {}>;
|
|
538
|
+
start: drizzle_orm_pg_core.PgColumn<{
|
|
539
|
+
name: "start";
|
|
540
|
+
tableName: "offers";
|
|
541
|
+
dataType: "number";
|
|
542
|
+
columnType: "PgInteger";
|
|
543
|
+
data: number;
|
|
544
|
+
driverParam: string | number;
|
|
545
|
+
notNull: true;
|
|
546
|
+
hasDefault: false;
|
|
547
|
+
isPrimaryKey: false;
|
|
548
|
+
isAutoincrement: false;
|
|
549
|
+
hasRuntimeDefault: false;
|
|
550
|
+
enumValues: undefined;
|
|
551
|
+
baseColumn: never;
|
|
552
|
+
identity: undefined;
|
|
553
|
+
generated: undefined;
|
|
554
|
+
}, {}, {}>;
|
|
555
|
+
nonce: drizzle_orm_pg_core.PgColumn<{
|
|
556
|
+
name: "nonce";
|
|
557
|
+
tableName: "offers";
|
|
558
|
+
dataType: "bigint";
|
|
559
|
+
columnType: "PgBigInt64";
|
|
560
|
+
data: bigint;
|
|
561
|
+
driverParam: string;
|
|
562
|
+
notNull: true;
|
|
563
|
+
hasDefault: false;
|
|
564
|
+
isPrimaryKey: false;
|
|
565
|
+
isAutoincrement: false;
|
|
566
|
+
hasRuntimeDefault: false;
|
|
567
|
+
enumValues: undefined;
|
|
568
|
+
baseColumn: never;
|
|
569
|
+
identity: undefined;
|
|
570
|
+
generated: undefined;
|
|
571
|
+
}, {}, {}>;
|
|
572
|
+
buy: drizzle_orm_pg_core.PgColumn<{
|
|
573
|
+
name: "buy";
|
|
574
|
+
tableName: "offers";
|
|
575
|
+
dataType: "boolean";
|
|
576
|
+
columnType: "PgBoolean";
|
|
577
|
+
data: boolean;
|
|
578
|
+
driverParam: boolean;
|
|
579
|
+
notNull: true;
|
|
580
|
+
hasDefault: false;
|
|
581
|
+
isPrimaryKey: false;
|
|
582
|
+
isAutoincrement: false;
|
|
583
|
+
hasRuntimeDefault: false;
|
|
584
|
+
enumValues: undefined;
|
|
585
|
+
baseColumn: never;
|
|
586
|
+
identity: undefined;
|
|
587
|
+
generated: undefined;
|
|
588
|
+
}, {}, {}>;
|
|
589
|
+
chainId: drizzle_orm_pg_core.PgColumn<{
|
|
590
|
+
name: "chain_id";
|
|
591
|
+
tableName: "offers";
|
|
592
|
+
dataType: "bigint";
|
|
593
|
+
columnType: "PgBigInt64";
|
|
594
|
+
data: bigint;
|
|
595
|
+
driverParam: string;
|
|
596
|
+
notNull: true;
|
|
597
|
+
hasDefault: false;
|
|
598
|
+
isPrimaryKey: false;
|
|
599
|
+
isAutoincrement: false;
|
|
600
|
+
hasRuntimeDefault: false;
|
|
601
|
+
enumValues: undefined;
|
|
602
|
+
baseColumn: never;
|
|
603
|
+
identity: undefined;
|
|
604
|
+
generated: undefined;
|
|
605
|
+
}, {}, {}>;
|
|
606
|
+
loanToken: drizzle_orm_pg_core.PgColumn<{
|
|
607
|
+
name: "loan_token";
|
|
608
|
+
tableName: "offers";
|
|
609
|
+
dataType: "string";
|
|
610
|
+
columnType: "PgVarchar";
|
|
611
|
+
data: string;
|
|
612
|
+
driverParam: string;
|
|
613
|
+
notNull: true;
|
|
614
|
+
hasDefault: false;
|
|
615
|
+
isPrimaryKey: false;
|
|
616
|
+
isAutoincrement: false;
|
|
617
|
+
hasRuntimeDefault: false;
|
|
618
|
+
enumValues: [string, ...string[]];
|
|
619
|
+
baseColumn: never;
|
|
620
|
+
identity: undefined;
|
|
621
|
+
generated: undefined;
|
|
622
|
+
}, {}, {
|
|
623
|
+
length: 42;
|
|
624
|
+
}>;
|
|
625
|
+
callbackAddress: drizzle_orm_pg_core.PgColumn<{
|
|
626
|
+
name: "callback_address";
|
|
627
|
+
tableName: "offers";
|
|
628
|
+
dataType: "string";
|
|
629
|
+
columnType: "PgVarchar";
|
|
630
|
+
data: string;
|
|
631
|
+
driverParam: string;
|
|
632
|
+
notNull: true;
|
|
633
|
+
hasDefault: false;
|
|
634
|
+
isPrimaryKey: false;
|
|
635
|
+
isAutoincrement: false;
|
|
636
|
+
hasRuntimeDefault: false;
|
|
637
|
+
enumValues: [string, ...string[]];
|
|
638
|
+
baseColumn: never;
|
|
639
|
+
identity: undefined;
|
|
640
|
+
generated: undefined;
|
|
641
|
+
}, {}, {
|
|
642
|
+
length: 42;
|
|
643
|
+
}>;
|
|
644
|
+
callbackData: drizzle_orm_pg_core.PgColumn<{
|
|
645
|
+
name: "callback_data";
|
|
646
|
+
tableName: "offers";
|
|
647
|
+
dataType: "string";
|
|
648
|
+
columnType: "PgText";
|
|
649
|
+
data: string;
|
|
650
|
+
driverParam: string;
|
|
651
|
+
notNull: true;
|
|
652
|
+
hasDefault: false;
|
|
653
|
+
isPrimaryKey: false;
|
|
654
|
+
isAutoincrement: false;
|
|
655
|
+
hasRuntimeDefault: false;
|
|
656
|
+
enumValues: [string, ...string[]];
|
|
657
|
+
baseColumn: never;
|
|
658
|
+
identity: undefined;
|
|
659
|
+
generated: undefined;
|
|
660
|
+
}, {}, {}>;
|
|
661
|
+
callbackGasLimit: drizzle_orm_pg_core.PgColumn<{
|
|
662
|
+
name: "callback_gas_limit";
|
|
663
|
+
tableName: "offers";
|
|
664
|
+
dataType: "bigint";
|
|
665
|
+
columnType: "PgBigInt64";
|
|
666
|
+
data: bigint;
|
|
667
|
+
driverParam: string;
|
|
668
|
+
notNull: true;
|
|
669
|
+
hasDefault: false;
|
|
670
|
+
isPrimaryKey: false;
|
|
671
|
+
isAutoincrement: false;
|
|
672
|
+
hasRuntimeDefault: false;
|
|
673
|
+
enumValues: undefined;
|
|
674
|
+
baseColumn: never;
|
|
675
|
+
identity: undefined;
|
|
676
|
+
generated: undefined;
|
|
677
|
+
}, {}, {}>;
|
|
678
|
+
signature: drizzle_orm_pg_core.PgColumn<{
|
|
679
|
+
name: "signature";
|
|
680
|
+
tableName: "offers";
|
|
681
|
+
dataType: "string";
|
|
682
|
+
columnType: "PgVarchar";
|
|
683
|
+
data: string;
|
|
684
|
+
driverParam: string;
|
|
685
|
+
notNull: false;
|
|
686
|
+
hasDefault: false;
|
|
687
|
+
isPrimaryKey: false;
|
|
688
|
+
isAutoincrement: false;
|
|
689
|
+
hasRuntimeDefault: false;
|
|
690
|
+
enumValues: [string, ...string[]];
|
|
691
|
+
baseColumn: never;
|
|
692
|
+
identity: undefined;
|
|
693
|
+
generated: undefined;
|
|
694
|
+
}, {}, {
|
|
695
|
+
length: 132;
|
|
696
|
+
}>;
|
|
697
|
+
createdAt: drizzle_orm_pg_core.PgColumn<{
|
|
698
|
+
name: "created_at";
|
|
699
|
+
tableName: "offers";
|
|
700
|
+
dataType: "date";
|
|
701
|
+
columnType: "PgTimestamp";
|
|
702
|
+
data: Date;
|
|
703
|
+
driverParam: string;
|
|
704
|
+
notNull: true;
|
|
705
|
+
hasDefault: true;
|
|
706
|
+
isPrimaryKey: false;
|
|
707
|
+
isAutoincrement: false;
|
|
708
|
+
hasRuntimeDefault: false;
|
|
709
|
+
enumValues: undefined;
|
|
710
|
+
baseColumn: never;
|
|
711
|
+
identity: undefined;
|
|
712
|
+
generated: undefined;
|
|
713
|
+
}, {}, {}>;
|
|
714
|
+
};
|
|
715
|
+
dialect: "pg";
|
|
716
|
+
}>;
|
|
717
|
+
declare const offerCollaterals: drizzle_orm_pg_core.PgTableWithColumns<{
|
|
718
|
+
name: "offer_collaterals";
|
|
719
|
+
schema: undefined;
|
|
720
|
+
columns: {
|
|
721
|
+
id: drizzle_orm_pg_core.PgColumn<{
|
|
722
|
+
name: "id";
|
|
723
|
+
tableName: "offer_collaterals";
|
|
724
|
+
dataType: "number";
|
|
725
|
+
columnType: "PgSerial";
|
|
726
|
+
data: number;
|
|
727
|
+
driverParam: number;
|
|
728
|
+
notNull: true;
|
|
729
|
+
hasDefault: true;
|
|
730
|
+
isPrimaryKey: true;
|
|
731
|
+
isAutoincrement: false;
|
|
732
|
+
hasRuntimeDefault: false;
|
|
733
|
+
enumValues: undefined;
|
|
734
|
+
baseColumn: never;
|
|
735
|
+
identity: undefined;
|
|
736
|
+
generated: undefined;
|
|
737
|
+
}, {}, {}>;
|
|
738
|
+
offerHash: drizzle_orm_pg_core.PgColumn<{
|
|
739
|
+
name: "offer_hash";
|
|
740
|
+
tableName: "offer_collaterals";
|
|
741
|
+
dataType: "string";
|
|
742
|
+
columnType: "PgVarchar";
|
|
743
|
+
data: string;
|
|
744
|
+
driverParam: string;
|
|
745
|
+
notNull: true;
|
|
746
|
+
hasDefault: false;
|
|
747
|
+
isPrimaryKey: false;
|
|
748
|
+
isAutoincrement: false;
|
|
749
|
+
hasRuntimeDefault: false;
|
|
750
|
+
enumValues: [string, ...string[]];
|
|
751
|
+
baseColumn: never;
|
|
752
|
+
identity: undefined;
|
|
753
|
+
generated: undefined;
|
|
754
|
+
}, {}, {
|
|
755
|
+
length: 66;
|
|
756
|
+
}>;
|
|
757
|
+
asset: drizzle_orm_pg_core.PgColumn<{
|
|
758
|
+
name: "asset";
|
|
759
|
+
tableName: "offer_collaterals";
|
|
760
|
+
dataType: "string";
|
|
761
|
+
columnType: "PgVarchar";
|
|
762
|
+
data: string;
|
|
763
|
+
driverParam: string;
|
|
764
|
+
notNull: true;
|
|
765
|
+
hasDefault: false;
|
|
766
|
+
isPrimaryKey: false;
|
|
767
|
+
isAutoincrement: false;
|
|
768
|
+
hasRuntimeDefault: false;
|
|
769
|
+
enumValues: [string, ...string[]];
|
|
770
|
+
baseColumn: never;
|
|
771
|
+
identity: undefined;
|
|
772
|
+
generated: undefined;
|
|
773
|
+
}, {}, {
|
|
774
|
+
length: 42;
|
|
775
|
+
}>;
|
|
776
|
+
oracle: drizzle_orm_pg_core.PgColumn<{
|
|
777
|
+
name: "oracle";
|
|
778
|
+
tableName: "offer_collaterals";
|
|
779
|
+
dataType: "string";
|
|
780
|
+
columnType: "PgVarchar";
|
|
781
|
+
data: string;
|
|
782
|
+
driverParam: string;
|
|
783
|
+
notNull: true;
|
|
784
|
+
hasDefault: false;
|
|
785
|
+
isPrimaryKey: false;
|
|
786
|
+
isAutoincrement: false;
|
|
787
|
+
hasRuntimeDefault: false;
|
|
788
|
+
enumValues: [string, ...string[]];
|
|
789
|
+
baseColumn: never;
|
|
790
|
+
identity: undefined;
|
|
791
|
+
generated: undefined;
|
|
792
|
+
}, {}, {
|
|
793
|
+
length: 42;
|
|
794
|
+
}>;
|
|
795
|
+
lltv: drizzle_orm_pg_core.PgColumn<{
|
|
796
|
+
name: "lltv";
|
|
797
|
+
tableName: "offer_collaterals";
|
|
798
|
+
dataType: "bigint";
|
|
799
|
+
columnType: "PgBigInt64";
|
|
800
|
+
data: bigint;
|
|
801
|
+
driverParam: string;
|
|
802
|
+
notNull: true;
|
|
803
|
+
hasDefault: false;
|
|
804
|
+
isPrimaryKey: false;
|
|
805
|
+
isAutoincrement: false;
|
|
806
|
+
hasRuntimeDefault: false;
|
|
807
|
+
enumValues: undefined;
|
|
808
|
+
baseColumn: never;
|
|
809
|
+
identity: undefined;
|
|
810
|
+
generated: undefined;
|
|
811
|
+
}, {}, {}>;
|
|
812
|
+
};
|
|
813
|
+
dialect: "pg";
|
|
814
|
+
}>;
|
|
815
|
+
declare const offerStatus: drizzle_orm_pg_core.PgTableWithColumns<{
|
|
816
|
+
name: "offer_status";
|
|
817
|
+
schema: undefined;
|
|
818
|
+
columns: {
|
|
819
|
+
id: drizzle_orm_pg_core.PgColumn<{
|
|
820
|
+
name: "id";
|
|
821
|
+
tableName: "offer_status";
|
|
822
|
+
dataType: "number";
|
|
823
|
+
columnType: "PgSerial";
|
|
824
|
+
data: number;
|
|
825
|
+
driverParam: number;
|
|
826
|
+
notNull: true;
|
|
827
|
+
hasDefault: true;
|
|
828
|
+
isPrimaryKey: true;
|
|
829
|
+
isAutoincrement: false;
|
|
830
|
+
hasRuntimeDefault: false;
|
|
831
|
+
enumValues: undefined;
|
|
832
|
+
baseColumn: never;
|
|
833
|
+
identity: undefined;
|
|
834
|
+
generated: undefined;
|
|
835
|
+
}, {}, {}>;
|
|
836
|
+
offerHash: drizzle_orm_pg_core.PgColumn<{
|
|
837
|
+
name: "offer_hash";
|
|
838
|
+
tableName: "offer_status";
|
|
839
|
+
dataType: "string";
|
|
840
|
+
columnType: "PgVarchar";
|
|
841
|
+
data: string;
|
|
842
|
+
driverParam: string;
|
|
843
|
+
notNull: true;
|
|
844
|
+
hasDefault: false;
|
|
845
|
+
isPrimaryKey: false;
|
|
846
|
+
isAutoincrement: false;
|
|
847
|
+
hasRuntimeDefault: false;
|
|
848
|
+
enumValues: [string, ...string[]];
|
|
849
|
+
baseColumn: never;
|
|
850
|
+
identity: undefined;
|
|
851
|
+
generated: undefined;
|
|
852
|
+
}, {}, {
|
|
853
|
+
length: 66;
|
|
854
|
+
}>;
|
|
855
|
+
status: drizzle_orm_pg_core.PgColumn<{
|
|
856
|
+
name: "status";
|
|
857
|
+
tableName: "offer_status";
|
|
858
|
+
dataType: "string";
|
|
859
|
+
columnType: "PgText";
|
|
860
|
+
data: "valid" | "callback_not_supported" | "callback_error" | "unverified";
|
|
861
|
+
driverParam: string;
|
|
862
|
+
notNull: true;
|
|
863
|
+
hasDefault: false;
|
|
864
|
+
isPrimaryKey: false;
|
|
865
|
+
isAutoincrement: false;
|
|
866
|
+
hasRuntimeDefault: false;
|
|
867
|
+
enumValues: [string, ...string[]];
|
|
868
|
+
baseColumn: never;
|
|
869
|
+
identity: undefined;
|
|
870
|
+
generated: undefined;
|
|
871
|
+
}, {}, {
|
|
872
|
+
$type: "valid" | "callback_not_supported" | "callback_error" | "unverified";
|
|
873
|
+
}>;
|
|
874
|
+
metadata: drizzle_orm_pg_core.PgColumn<{
|
|
875
|
+
name: "metadata";
|
|
876
|
+
tableName: "offer_status";
|
|
877
|
+
dataType: "json";
|
|
878
|
+
columnType: "PgJsonb";
|
|
879
|
+
data: unknown;
|
|
880
|
+
driverParam: unknown;
|
|
881
|
+
notNull: false;
|
|
882
|
+
hasDefault: false;
|
|
883
|
+
isPrimaryKey: false;
|
|
884
|
+
isAutoincrement: false;
|
|
885
|
+
hasRuntimeDefault: false;
|
|
886
|
+
enumValues: undefined;
|
|
887
|
+
baseColumn: never;
|
|
888
|
+
identity: undefined;
|
|
889
|
+
generated: undefined;
|
|
890
|
+
}, {}, {}>;
|
|
891
|
+
createdAt: drizzle_orm_pg_core.PgColumn<{
|
|
892
|
+
name: "created_at";
|
|
893
|
+
tableName: "offer_status";
|
|
894
|
+
dataType: "date";
|
|
895
|
+
columnType: "PgTimestamp";
|
|
896
|
+
data: Date;
|
|
897
|
+
driverParam: string;
|
|
898
|
+
notNull: true;
|
|
899
|
+
hasDefault: true;
|
|
900
|
+
isPrimaryKey: false;
|
|
901
|
+
isAutoincrement: false;
|
|
902
|
+
hasRuntimeDefault: false;
|
|
903
|
+
enumValues: undefined;
|
|
904
|
+
baseColumn: never;
|
|
905
|
+
identity: undefined;
|
|
906
|
+
generated: undefined;
|
|
907
|
+
}, {}, {}>;
|
|
908
|
+
};
|
|
909
|
+
dialect: "pg";
|
|
910
|
+
}>;
|
|
911
|
+
|
|
912
|
+
/**
|
|
913
|
+
* Start a local router server.
|
|
914
|
+
* @example
|
|
915
|
+
* ```ts
|
|
916
|
+
* import { Router } from "@morpho-dev/router";
|
|
917
|
+
* await Router.serve(); // local router server running on http://localhost:8081
|
|
918
|
+
* ```
|
|
919
|
+
*/
|
|
920
|
+
declare function serve(parameters: {
|
|
921
|
+
port: number;
|
|
922
|
+
store?: OfferRepository;
|
|
923
|
+
}): Promise<void>;
|
|
924
|
+
|
|
206
925
|
type index_Client = Client;
|
|
207
926
|
type index_GetParameters = GetParameters;
|
|
208
927
|
type index_HttpForbiddenError = HttpForbiddenError;
|
|
@@ -220,8 +939,9 @@ type index_RouterClientConfig = RouterClientConfig;
|
|
|
220
939
|
declare const index_connect: typeof connect;
|
|
221
940
|
declare const index_get: typeof get;
|
|
222
941
|
declare const index_match: typeof match;
|
|
942
|
+
declare const index_serve: typeof serve;
|
|
223
943
|
declare namespace index {
|
|
224
|
-
export { type index_Client as Client, type index_GetParameters as GetParameters, index_HttpForbiddenError as HttpForbiddenError, index_HttpGetOffersFailedError as HttpGetOffersFailedError, index_HttpRateLimitError as HttpRateLimitError, index_HttpUnauthorizedError as HttpUnauthorizedError, index_InvalidUrlError as InvalidUrlError, type index_MatchParameters as MatchParameters, type index_RouterClientConfig as RouterClientConfig, index_connect as connect, index_get as get, index_match as match };
|
|
944
|
+
export { type index_Client as Client, type index_GetParameters as GetParameters, index_HttpForbiddenError as HttpForbiddenError, index_HttpGetOffersFailedError as HttpGetOffersFailedError, index_HttpRateLimitError as HttpRateLimitError, index_HttpUnauthorizedError as HttpUnauthorizedError, index_InvalidUrlError as InvalidUrlError, type index_MatchParameters as MatchParameters, type index_RouterClientConfig as RouterClientConfig, index_connect as connect, index_get as get, index_match as match, index_serve as serve };
|
|
225
945
|
}
|
|
226
946
|
|
|
227
947
|
declare const users: Account[];
|
|
@@ -347,6 +1067,19 @@ declare namespace RouterEvent$1 {
|
|
|
347
1067
|
*/
|
|
348
1068
|
declare function batch$1<T>(array: Array<T>, batchSize: number): Generator<T[], void, unknown>;
|
|
349
1069
|
|
|
1070
|
+
type Cursor = {
|
|
1071
|
+
sort: "rate" | "maturity" | "expiry" | "amount";
|
|
1072
|
+
dir: "asc" | "desc";
|
|
1073
|
+
rate?: string;
|
|
1074
|
+
maturity?: number;
|
|
1075
|
+
expiry?: number;
|
|
1076
|
+
assets?: string;
|
|
1077
|
+
hash: string;
|
|
1078
|
+
};
|
|
1079
|
+
declare function validateCursor(cursor: unknown): cursor is Cursor;
|
|
1080
|
+
declare function encodeCursor(c: Cursor): string;
|
|
1081
|
+
declare function decodeCursor(token?: string): Cursor | null;
|
|
1082
|
+
|
|
350
1083
|
/**
|
|
351
1084
|
* Polls a function at a specified interval.
|
|
352
1085
|
* Inspired by https://github.com/wevm/viem/blob/845994d20275d08ff892018e237a4b599eeefb6a/src/utils/poll.ts
|
|
@@ -606,4 +1339,4 @@ declare namespace Validation {
|
|
|
606
1339
|
export { type Validation_Issue as Issue, type Validation_Result as Result, Validation_run as run };
|
|
607
1340
|
}
|
|
608
1341
|
|
|
609
|
-
export { Chain$1 as Chain, type Compute, EVM, Logger$1 as Logger, index as Router, RouterEvent$1 as RouterEvent, RouterOffer$1 as RouterOffer, Validation, ValidationRule, batch$1 as batch, poll, wait };
|
|
1342
|
+
export { index$1 as ApiSchema, Chain$1 as Chain, type Compute, type Cursor, EVM, Logger$1 as Logger, OfferDB, OfferRepository$1 as OfferRepository, index as Router, RouterEvent$1 as RouterEvent, RouterOffer$1 as RouterOffer, Validation, ValidationRule, batch$1 as batch, decodeCursor, encodeCursor, offerCollaterals, offerStatus, offers, poll, validateCursor, wait };
|