@morpho-dev/router 0.1.11 → 0.1.15

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.
Files changed (36) hide show
  1. package/README.md +97 -64
  2. package/dist/cli.js +6043 -0
  3. package/dist/cli.js.map +1 -0
  4. package/dist/drizzle/router_v1.4/0000_add_obligation_id.sql +112 -0
  5. package/dist/drizzle/router_v1.4/0001_update-primary-key-on-link.sql +3 -0
  6. package/dist/drizzle/{offers_v1.1/meta/0006_snapshot.json → router_v1.4/meta/0000_snapshot.json} +344 -256
  7. package/dist/drizzle/{offers_v1.1/meta/0007_snapshot.json → router_v1.4/meta/0001_snapshot.json} +306 -266
  8. package/dist/drizzle/router_v1.4/meta/_journal.json +20 -0
  9. package/dist/index.browser.d.cts +1367 -559
  10. package/dist/index.browser.d.ts +1367 -559
  11. package/dist/index.browser.js +1911 -835
  12. package/dist/index.browser.js.map +1 -1
  13. package/dist/index.browser.mjs +1878 -830
  14. package/dist/index.browser.mjs.map +1 -1
  15. package/dist/index.node.d.cts +2827 -1562
  16. package/dist/index.node.d.ts +2827 -1562
  17. package/dist/index.node.js +5964 -2718
  18. package/dist/index.node.js.map +1 -1
  19. package/dist/index.node.mjs +5915 -2710
  20. package/dist/index.node.mjs.map +1 -1
  21. package/package.json +16 -10
  22. package/dist/drizzle/offers_v1.1/0000_init.sql +0 -95
  23. package/dist/drizzle/offers_v1.1/0001_new_table_for_collectors_block_numbers.sql +0 -5
  24. package/dist/drizzle/offers_v1.1/0002_update-liquidity-tables.sql +0 -8
  25. package/dist/drizzle/offers_v1.1/0003_add-not-null-for-queue-id.sql +0 -1
  26. package/dist/drizzle/offers_v1.1/0004_add-callback-id-to-offer.sql +0 -1
  27. package/dist/drizzle/offers_v1.1/0005_add-missing-indices-to-liquidity-tables.sql +0 -2
  28. package/dist/drizzle/offers_v1.1/0006_add-callback-amount-to-queues-table.sql +0 -1
  29. package/dist/drizzle/offers_v1.1/0007_add-index-to-created-at.sql +0 -2
  30. package/dist/drizzle/offers_v1.1/meta/0000_snapshot.json +0 -827
  31. package/dist/drizzle/offers_v1.1/meta/0001_snapshot.json +0 -827
  32. package/dist/drizzle/offers_v1.1/meta/0002_snapshot.json +0 -833
  33. package/dist/drizzle/offers_v1.1/meta/0003_snapshot.json +0 -833
  34. package/dist/drizzle/offers_v1.1/meta/0004_snapshot.json +0 -839
  35. package/dist/drizzle/offers_v1.1/meta/0005_snapshot.json +0 -877
  36. package/dist/drizzle/offers_v1.1/meta/_journal.json +0 -62
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@morpho-dev/router",
3
- "version": "0.1.11",
3
+ "version": "0.1.15",
4
4
  "description": "Router package for Morpho protocol",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -18,6 +18,9 @@
18
18
  "main": "./dist/index.node.js",
19
19
  "module": "./dist/index.node.mjs",
20
20
  "types": "./dist/index.node.d.ts",
21
+ "bin": {
22
+ "router": "./dist/cli.js"
23
+ },
21
24
  "exports": {
22
25
  ".": {
23
26
  "types": "./dist/index.node.d.ts",
@@ -33,13 +36,13 @@
33
36
  }
34
37
  },
35
38
  "imports": {
39
+ "#core": "./src/core/index.ts",
36
40
  "#*": "./src/*"
37
41
  },
38
42
  "devDependencies": {
39
43
  "@types/pg": "^8.15.5",
40
44
  "@vitest/coverage-v8": "^3.1.4",
41
45
  "@vitest/ui": "^3.1.4",
42
- "dotenv": "^17.2.1",
43
46
  "drizzle-kit": "^0.31.1",
44
47
  "tsup": "^8.3.5",
45
48
  "typescript": "^5.8.3",
@@ -49,28 +52,31 @@
49
52
  "dependencies": {
50
53
  "@electric-sql/pglite": "^0.3.1",
51
54
  "@hono/node-server": "^1.17.1",
55
+ "@ngrok/ngrok": "^1.5.2",
56
+ "commander": "^13.1.0",
52
57
  "drizzle-orm": "^0.43.1",
53
58
  "hono": "^4.9.7",
54
59
  "js-base64": "^3.7.8",
55
60
  "pg": "^8.16.0",
56
61
  "prool": "^0.0.24",
62
+ "tevm": "1.0.0-next.147",
63
+ "dotenv": "^17.2.1",
57
64
  "zod": "4.0.10",
58
- "zod-openapi": "^5.3.0",
59
- "@morpho-dev/mempool": "0.0.31"
65
+ "zod-openapi": "^5.3.0"
60
66
  },
61
67
  "peerDependencies": {
62
68
  "viem": "^2.33.1"
63
69
  },
64
70
  "scripts": {
65
- "dev": "tsup src/index.node.ts src/index.browser.ts --watch --format esm,cjs --dts --out-dir dist --target node20,es2020 --onSuccess 'echo \"Router package rebuilt\"'",
66
- "build:node": "tsup src/index.node.ts --format esm,cjs --dts --out-dir dist --target node20 --no-clean",
67
- "build:browser": "tsup src/index.browser.ts --format esm,cjs --dts --out-dir dist --target es2020 --no-clean",
68
- "build": "npm run build:node && npm run build:browser",
71
+ "dev": "tsup --config tsup.config.ts --watch --onSuccess 'echo \"Router package rebuilt\"'",
72
+ "build": "tsup --config tsup.config.ts",
73
+ "cli": "pnpm build && node dist/cli.js",
74
+ "docs:cli": "node ./scripts/generate-readme.mjs",
69
75
  "format": "biome format --write src/",
70
76
  "lint": "biome check src/",
71
77
  "lint:ci": "biome ci src/",
72
- "migrations:create": "drizzle-kit generate --config src/core/OfferStore/drizzle/drizzle.config.ts --name",
73
- "migrations:run": "drizzle-kit migrate --config src/core/OfferStore/drizzle/drizzle.config.ts",
78
+ "migrations:create": "drizzle-kit generate --config src/stores/drizzle/drizzle.config.ts --name",
79
+ "migrations:run": "drizzle-kit migrate --config src/stores/drizzle/drizzle.config.ts",
74
80
  "test": "vitest",
75
81
  "test:api": "vitest --config vitest.api.config.ts run",
76
82
  "test:ui": "vitest --ui",
@@ -1,95 +0,0 @@
1
- CREATE TABLE "offers_v1.1"."available_liquidity_pools" (
2
- "id" varchar(255) PRIMARY KEY NOT NULL,
3
- "amount" numeric(78, 0) NOT NULL,
4
- "updated_at" timestamp DEFAULT now() NOT NULL
5
- );
6
- --> statement-breakpoint
7
- CREATE TABLE "offers_v1.1"."available_liquidity_queues" (
8
- "id" varchar(255) PRIMARY KEY NOT NULL,
9
- "available_liquidity_pool_id" varchar(255) NOT NULL,
10
- "index" integer NOT NULL,
11
- "updated_at" timestamp DEFAULT now() NOT NULL
12
- );
13
- --> statement-breakpoint
14
- CREATE TABLE "offers_v1.1"."consumed_per_user_and_nonce" (
15
- "id" varchar(255) PRIMARY KEY NOT NULL,
16
- "chain_id" bigint NOT NULL,
17
- "offering" varchar(42) NOT NULL,
18
- "nonce" bigint NOT NULL,
19
- "consumed" numeric(78, 0) NOT NULL,
20
- "created_at" timestamp DEFAULT now() NOT NULL
21
- );
22
- --> statement-breakpoint
23
- CREATE TABLE "offers_v1.1"."indexing_progress" (
24
- "chain_id" bigint NOT NULL,
25
- "event_type" text NOT NULL,
26
- "latest_block_number" bigint NOT NULL,
27
- "updated_at" timestamp DEFAULT now() NOT NULL
28
- );
29
- --> statement-breakpoint
30
- CREATE TABLE "offers_v1.1"."offer_collaterals" (
31
- "id" serial PRIMARY KEY NOT NULL,
32
- "offer_hash" varchar(66) NOT NULL,
33
- "asset" varchar(42) NOT NULL,
34
- "oracle" varchar(42) NOT NULL,
35
- "lltv" bigint NOT NULL
36
- );
37
- --> statement-breakpoint
38
- CREATE TABLE "offers_v1.1"."offer_status" (
39
- "id" serial PRIMARY KEY NOT NULL,
40
- "offer_hash" varchar(66) NOT NULL,
41
- "status" text NOT NULL,
42
- "metadata" jsonb,
43
- "created_at" timestamp DEFAULT now() NOT NULL
44
- );
45
- --> statement-breakpoint
46
- CREATE TABLE "offers_v1.1"."offers" (
47
- "hash" varchar(66) PRIMARY KEY NOT NULL,
48
- "offering" varchar(42) NOT NULL,
49
- "assets" numeric(78, 0) NOT NULL,
50
- "rate" bigint NOT NULL,
51
- "maturity" integer NOT NULL,
52
- "expiry" integer NOT NULL,
53
- "start" integer NOT NULL,
54
- "nonce" bigint NOT NULL,
55
- "buy" boolean NOT NULL,
56
- "chain_id" bigint NOT NULL,
57
- "loan_token" varchar(42) NOT NULL,
58
- "callback_address" varchar(42) NOT NULL,
59
- "callback_data" text NOT NULL,
60
- "callback_gas_limit" bigint NOT NULL,
61
- "signature" varchar(132),
62
- "created_at" timestamp DEFAULT now() NOT NULL
63
- );
64
- --> statement-breakpoint
65
- CREATE TABLE "offers_v1.1"."user_positions" (
66
- "id" varchar(255) PRIMARY KEY NOT NULL,
67
- "available_liquidity_queue_id" varchar(255) NOT NULL,
68
- "amount" numeric(78, 0) NOT NULL,
69
- "updated_at" timestamp DEFAULT now() NOT NULL
70
- );
71
- --> statement-breakpoint
72
- ALTER TABLE "offers_v1.1"."available_liquidity_queues" ADD CONSTRAINT "available_liquidity_queues_available_liquidity_pool_id_available_liquidity_pools_id_fk" FOREIGN KEY ("available_liquidity_pool_id") REFERENCES "offers_v1.1"."available_liquidity_pools"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
73
- ALTER TABLE "offers_v1.1"."offer_collaterals" ADD CONSTRAINT "offer_collaterals_offer_hash_offers_hash_fk" FOREIGN KEY ("offer_hash") REFERENCES "offers_v1.1"."offers"("hash") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
74
- ALTER TABLE "offers_v1.1"."offer_status" ADD CONSTRAINT "offer_status_offer_hash_offers_hash_fk" FOREIGN KEY ("offer_hash") REFERENCES "offers_v1.1"."offers"("hash") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
75
- ALTER TABLE "offers_v1.1"."user_positions" ADD CONSTRAINT "user_positions_available_liquidity_queue_id_available_liquidity_queues_id_fk" FOREIGN KEY ("available_liquidity_queue_id") REFERENCES "offers_v1.1"."available_liquidity_queues"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
76
- CREATE INDEX "consumed_per_user_and_nonce_chain_id_offering_nonce_created_at_idx" ON "offers_v1.1"."consumed_per_user_and_nonce" USING btree ("chain_id","offering","nonce","created_at" desc);--> statement-breakpoint
77
- CREATE UNIQUE INDEX "indexing_progress_chain_event_unique" ON "offers_v1.1"."indexing_progress" USING btree ("chain_id","event_type");--> statement-breakpoint
78
- CREATE INDEX "offer_collaterals_offer_hash_idx" ON "offers_v1.1"."offer_collaterals" USING btree ("offer_hash");--> statement-breakpoint
79
- CREATE INDEX "offer_collaterals_asset_idx" ON "offers_v1.1"."offer_collaterals" USING btree ("asset");--> statement-breakpoint
80
- CREATE INDEX "offer_collaterals_oracle_idx" ON "offers_v1.1"."offer_collaterals" USING btree ("oracle");--> statement-breakpoint
81
- CREATE INDEX "offer_collaterals_tuple_idx" ON "offers_v1.1"."offer_collaterals" USING btree ("asset","oracle","lltv");--> statement-breakpoint
82
- CREATE INDEX "offer_status_offer_hash_created_at_idx" ON "offers_v1.1"."offer_status" USING btree ("offer_hash","created_at" desc);--> statement-breakpoint
83
- CREATE INDEX "offer_status_status_idx" ON "offers_v1.1"."offer_status" USING btree ("status");--> statement-breakpoint
84
- CREATE INDEX "offers_offering_idx" ON "offers_v1.1"."offers" USING btree ("offering");--> statement-breakpoint
85
- CREATE INDEX "offers_buy_idx" ON "offers_v1.1"."offers" USING btree ("buy");--> statement-breakpoint
86
- CREATE INDEX "offers_chain_id_idx" ON "offers_v1.1"."offers" USING btree ("chain_id");--> statement-breakpoint
87
- CREATE INDEX "offers_loan_token_idx" ON "offers_v1.1"."offers" USING btree ("loan_token");--> statement-breakpoint
88
- CREATE INDEX "offers_maturity_idx" ON "offers_v1.1"."offers" USING btree ("maturity");--> statement-breakpoint
89
- CREATE INDEX "offers_expiry_idx" ON "offers_v1.1"."offers" USING btree ("expiry");--> statement-breakpoint
90
- CREATE INDEX "offers_rate_idx" ON "offers_v1.1"."offers" USING btree ("rate");--> statement-breakpoint
91
- CREATE INDEX "offers_assets_idx" ON "offers_v1.1"."offers" USING btree ("assets");--> statement-breakpoint
92
- CREATE INDEX "offers_rate_hash_idx" ON "offers_v1.1"."offers" USING btree ("rate","hash");--> statement-breakpoint
93
- CREATE INDEX "offers_maturity_hash_idx" ON "offers_v1.1"."offers" USING btree ("maturity","hash");--> statement-breakpoint
94
- CREATE INDEX "offers_expiry_hash_idx" ON "offers_v1.1"."offers" USING btree ("expiry","hash");--> statement-breakpoint
95
- CREATE INDEX "offers_assets_hash_idx" ON "offers_v1.1"."offers" USING btree ("assets","hash");
@@ -1,5 +0,0 @@
1
- ALTER TABLE "offers_v1.1"."indexing_progress" RENAME TO "collector_block_numbers";--> statement-breakpoint
2
- ALTER TABLE "offers_v1.1"."collector_block_numbers" RENAME COLUMN "event_type" TO "name";--> statement-breakpoint
3
- ALTER TABLE "offers_v1.1"."collector_block_numbers" RENAME COLUMN "latest_block_number" TO "block_number";--> statement-breakpoint
4
- DROP INDEX "offers_v1.1"."indexing_progress_chain_event_unique";--> statement-breakpoint
5
- CREATE UNIQUE INDEX "collector_block_numbers_chain_name_idx" ON "offers_v1.1"."collector_block_numbers" USING btree ("chain_id","name");
@@ -1,8 +0,0 @@
1
- ALTER TABLE "offers_v1.1"."user_positions" DROP CONSTRAINT "user_positions_available_liquidity_queue_id_available_liquidity_queues_id_fk";
2
- --> statement-breakpoint
3
- ALTER TABLE "offers_v1.1"."available_liquidity_queues" DROP CONSTRAINT "available_liquidity_queues_pkey";--> statement-breakpoint
4
- ALTER TABLE "offers_v1.1"."available_liquidity_queues" ALTER COLUMN "id" DROP NOT NULL;--> statement-breakpoint
5
- ALTER TABLE "offers_v1.1"."available_liquidity_queues" RENAME COLUMN "id" TO "queue_id";--> statement-breakpoint
6
- ALTER TABLE "offers_v1.1"."available_liquidity_queues" ADD CONSTRAINT "available_liquidity_queues_pk" PRIMARY KEY("queue_id","available_liquidity_pool_id");--> statement-breakpoint
7
- ALTER TABLE "offers_v1.1"."user_positions" ADD COLUMN "user" varchar(255) NOT NULL;--> statement-breakpoint
8
- ALTER TABLE "offers_v1.1"."user_positions" ADD COLUMN "chain_id" bigint NOT NULL;
@@ -1 +0,0 @@
1
- ALTER TABLE "offers_v1.1"."available_liquidity_queues" ALTER COLUMN "queue_id" SET NOT NULL;
@@ -1 +0,0 @@
1
- ALTER TABLE "offers_v1.1"."offers" ADD COLUMN "callback_id" varchar(256);
@@ -1,2 +0,0 @@
1
- CREATE INDEX "available_liquidity_queues_queue_index_idx" ON "offers_v1.1"."available_liquidity_queues" USING btree ("queue_id","index");--> statement-breakpoint
2
- CREATE INDEX "user_positions_available_liquidity_queue_id_idx" ON "offers_v1.1"."user_positions" USING btree ("available_liquidity_queue_id");
@@ -1 +0,0 @@
1
- ALTER TABLE "offers_v1.1"."available_liquidity_queues" ADD COLUMN "callback_amount" numeric(78, 0) DEFAULT '0' NOT NULL;
@@ -1,2 +0,0 @@
1
- CREATE INDEX "offers_created_at_idx" ON "offers_v1.1"."offers" USING btree ("created_at");--> statement-breakpoint
2
- CREATE INDEX "offers_rate_created_at_assets_hash_idx" ON "offers_v1.1"."offers" USING btree ("rate","created_at" asc,"assets" desc,"hash" asc);